欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)(五篇)

      時間:2019-05-11 23:05:23下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)》。

      第一篇:《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)

      《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié) 第一章

      1、梅里愛被后人稱為“第一個電影導(dǎo)演”

      2、火車大劫案“話分兩頭”的平行蒙太奇方法

      3、導(dǎo)演的工作程序: 1)選定文學(xué)劇本

      2)組成主創(chuàng)人員班子,選演員,外景,商定內(nèi)景,確定人物造型,商定音樂音響構(gòu)成; 3)寫出分鏡頭劇本;

      4)擬定拍攝計劃,宣講《導(dǎo)演闡述》; 5)實拍;

      6)剪輯和后期配音; 7)混合錄音。

      (前4為前期,5為中期,67為后期)

      第二章

      1、導(dǎo)演的基本素質(zhì):

      1)熟諳電影藝術(shù)專門規(guī)律和導(dǎo)演專門技能 2)具有領(lǐng)導(dǎo)組織和創(chuàng)作合作的才干

      3)較深厚的生活閱歷和全面的文化藝術(shù)修養(yǎng) 4)獨特的藝術(shù)創(chuàng)作思維個性

      2、導(dǎo)演與攝制組成員的關(guān)系,首要是真誠與信任

      3、導(dǎo)演的品格:自信心,明確的主張和判斷力,堅持到底,絕不半途而廢的品格

      第三章

      1、文學(xué)劇本提供給導(dǎo)演的三個基本東西:意念、人物、情境。

      2、意念是每部影片構(gòu)思的藝術(shù)起點

      3、人物是意念的依托,電影劇本的中心是人物

      第四章

      1、導(dǎo)演和觀眾之間的唯一媒介是畫面和聲音組合的視聽綜合影像

      2、導(dǎo)演創(chuàng)作真正開始于對畫面和聲音的構(gòu)思

      3、視聽影像的構(gòu)成因素:景、人物造型,動作的造型形象,相對獨立的造型因素

      4、景:1動作環(huán)境(劇情的依托)2生存空間(性格生成的典型環(huán)境)3意念形象

      5、動作最基本的任務(wù)是塑造性格

      6、試聽影像的構(gòu)成規(guī)律:1色調(diào)和影調(diào)2構(gòu)圖(鏡頭規(guī)范)3全片造型形式

      7、鏡頭規(guī)范是指景別角度鏡頭運動方式以及鏡頭光學(xué)性能在每一個鏡頭中的確定形態(tài)。

      8、電影畫面構(gòu)圖的明顯特點: 1)畫幅比例不變 2)畫面的運動性

      3)由鏡頭組接形成的畫面整體關(guān)系

      第五章

      1、聲音的作用:劇情表達(dá),性格展示,鏡頭組接,節(jié)奏產(chǎn)生,畫內(nèi)畫外空間形成,場面情景的氣氛營造

      2、電影聲音的基本構(gòu)成:人聲,音響,音樂

      3、人聲,主要指人物的對白,畫外人聲,和那些未成詞成句的情緒語態(tài)

      4、人物語言最基本的要求:準(zhǔn)確,精煉,性格化,口語化

      5、音響構(gòu)成:簡單地說,包括除了對話和音樂之外的一切聲音,一般分為動作音響,環(huán)境音響自然音響,特殊音響等若干類

      6、音樂的作用:抒發(fā)感情,渲染氣氛,概括主題思想,描繪事物,加強(qiáng)戲劇性,加強(qiáng)連貫性和整體性

      7、視覺規(guī)范的三個方面: 1)聲音和畫面組合的基本方式 2)在聲音自身屬性上的音響總譜

      3)和影片美學(xué)傾向相一致的聲音藝術(shù)風(fēng)格

      8、聲音和畫面組合的基本方式:同步,對位(畫面中沒有聲源)

      第六章

      1、熒幕形象的形成:扮演者相貌,形體,表情,聲音,畫面,音響,鏡頭語言中各種組合表演和補充表演的成分

      2、影視表演的特征:

      1)演員的適應(yīng)性,不斷擴(kuò)充表演風(fēng)格; 2)演員面對攝像機(jī),不是觀眾和生活;

      3)演員表演的單元性,不同分寸,非連續(xù)性。

      3、如何選演員:形象氣質(zhì)演技

      4、演員成功與否所有角色的搭配是否和諧

      5、導(dǎo)演與演員的關(guān)系:準(zhǔn)備。拍攝,后期

      6、所有演員的創(chuàng)作都以認(rèn)識角色為起點。認(rèn)識角色最終是文化的認(rèn)識

      7、演員創(chuàng)造人物的資本:知識結(jié)構(gòu),思維方式,行為邏輯,成長經(jīng)歷等

      第七章

      1、單個鏡頭的形態(tài)是蒙太奇最基本的元素。

      2、鏡頭形態(tài)的特征:1敘事方式的原始性和完整性2拍攝角度的區(qū)別

      3、鏡頭形態(tài)的構(gòu)成:景別,角度,運動形式,長度

      4、鏡頭組接的技巧是蒙太奇的基本形式

      5、鏡頭組接的功能:構(gòu)成銀幕所特有的組合空間和時間流程,敘述的感染力,表達(dá)涵義

      6、蒙太奇的作用: 1),敘事意義上的組織銀幕空間和時間流程 2)表現(xiàn)意義:創(chuàng)造富有感染力的視聽效果

      3)表達(dá)內(nèi)在涵義,并暗示敘述者的思想情感傾向

      7、構(gòu)成影片開端的要素:時間地點,人物事件

      8、鏡頭組接常用技巧: “切”鏡頭間的直接切換

      “劃”以直線或各種圖形使下一個鏡頭出現(xiàn)在上一個鏡頭的最后一幅畫面中,漸漸取代 “疊化”亦稱“化出化入” “漸隱漸顯”亦稱“淡入淡出”

      9、蒙太奇的章法構(gòu)成:時空流程(全片結(jié)構(gòu)的時空配置),敘述角度,鏡頭風(fēng)格(一部影片敘述魚臺的總括)

      10、鏡頭風(fēng)格形成:1導(dǎo)演以心靈中的視像來構(gòu)成影片的藝術(shù)過程2影片對蒙太奇規(guī)律的選擇

      第二篇:《軟件工程導(dǎo)論》第五版 張海藩 編著 總結(jié)

      《軟件工程導(dǎo)論》第五版 張海藩 編著 總結(jié)

      分類: Computer System2011-01-04 10:14 6417人閱讀 評論(10)收藏 舉報

      測試數(shù)據(jù)結(jié)構(gòu)工具任務(wù)文檔軟件測試

      總結(jié)重點: ??Unit1

      ??軟件危機(jī)包含兩方面的問題:一是如何開發(fā)軟件,怎樣滿足人們對軟件日益增長的需求?二是如何維護(hù)軟件,使它們持久地滿足人們的要求。

      ??軟件工程學(xué)定義:把軟件當(dāng)作一種工業(yè)產(chǎn)品,采用工程學(xué)的原理來管理和組織軟件的開發(fā)和維護(hù),稱為軟件工程。

      ??軟件是指程序、數(shù)據(jù)和文檔三者共同構(gòu)成的配臵。

      ??包含與數(shù)據(jù)處理系統(tǒng)操作有關(guān)的程序、規(guī)程、規(guī)則以及相關(guān)文檔的智力創(chuàng)作稱為軟件。文檔是描述程序開發(fā)過程的,是智力創(chuàng)作的真實記錄,是創(chuàng)作活動的歷史檔案和結(jié)晶。??軟件的描述性定義:軟件由計算機(jī)程序,數(shù)據(jù)結(jié)構(gòu)和文檔組成。

      ??軟件質(zhì)量定義為“與軟件產(chǎn)品滿足規(guī)定的和隱含的需求能力有關(guān)的特征和特性的全體” 具體來說: 1)軟件產(chǎn)品中能滿足給定需求的性質(zhì)和特性的總體; 2)軟件具有所期望的各種屬性的組合程度。

      ??將軟件質(zhì)量屬性劃分為六個特性(功能性、可靠性、易用性、效率、維護(hù)性和可移植性),這六個屬性是面向用戶的觀點——面向管理的觀點,且是定性描述的。

      ??軟件質(zhì)量度量體系:內(nèi)部度量可用于開發(fā)階段的非執(zhí)行軟件產(chǎn)品,外部度量只能在生存周期過程中的測試階段和任何運行階段使用。

      ??軟件工程項目的基本目標(biāo):(1)低成本;(2)滿足功能要求;(3)高性能;(4)易移植;(5)易維護(hù)。??軟件工程方法學(xué)就是要從技術(shù)和管理上提供如何去設(shè)計和維護(hù)軟件。

      ??軟件開發(fā)方法:面向數(shù)據(jù)流(約旦)方法、面向數(shù)據(jù)結(jié)構(gòu)方法、面向?qū)ο蠓椒ā?/p>

      ??結(jié)構(gòu)程序設(shè)計是進(jìn)行以模塊功能和處理過程設(shè)計為主的詳細(xì)設(shè)計的基本原則。它的主要觀點是采用自頂向下、逐步求精的程序設(shè)計方法;使用三種基本控制結(jié)構(gòu)構(gòu)造程序,任何程序都可由順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)構(gòu)造。

      ??用來輔助軟件開發(fā)、運行、維護(hù)、管理、支持等過程中活動的軟件稱為軟件工具(CASE)。

      ??軟件生存周期定義:軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護(hù),直到最后不再使用的整個過程。各階段的任務(wù)彼此間盡可能的相對獨立,同一階段內(nèi)各項任務(wù)的性質(zhì)盡可能的相同。軟件的開發(fā)就是“按軟件順時間發(fā)展的過程分階段進(jìn)行”的。??軟件生存周期模型:

      瀑布模型(階段間具有順序型和依賴性,清楚地區(qū)分邏輯設(shè)計與物理設(shè)計、盡可能推遲程序的物理實現(xiàn),是文檔驅(qū)動模型,遵循結(jié)構(gòu)化設(shè)計);

      原型模型(軟件產(chǎn)品的開發(fā)是線性順序進(jìn)行的,本質(zhì)是快速,用途是獲知用戶的真正需求,一旦需求確定,原型將被拋棄)。其核心都是將軟件開發(fā)劃分為:分析、設(shè)計、編碼、測試和維護(hù)。

      ??軟件生存周期劃分為以下幾個階段:可行性研究與計劃、需求分析、總體設(shè)計、詳細(xì)設(shè)計、實現(xiàn)、組裝測試、確認(rèn)測試、使用和維護(hù)。

      ??軟件過程:是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項任務(wù)的工作步驟 ??軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱范型 ??軟件工程過程是軟件生存周期中各個可能的過程,這些過程可進(jìn)一步劃分成為了提供或獲得軟件產(chǎn)品或服務(wù),或是為了完成軟件工程項目需要完成的有關(guān)軟件工程活動,每一項活動又可分解為一些軟件工程任務(wù)。標(biāo)準(zhǔn)定義了21個過程分屬三類:基本過程(include獲取、供應(yīng)、開發(fā)、運作、維護(hù)過程)、支持過程和組織過程。??軟件工程三要素:方法、工具和過程。??軟件工程管理

      目的:為了按照進(jìn)度及預(yù)算完成軟件計劃,實現(xiàn)預(yù)期的經(jīng)濟(jì)和社會效益。內(nèi)容:成本估算、進(jìn)度安排、人員組織、質(zhì)量保證、配臵管理等等。怎么強(qiáng)調(diào)軟件工程管理的極其重要性都不會過分

      ??Unit2 ??可行性研究

      任務(wù)和目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠在一定規(guī)模之內(nèi)解決。(確定這一問題是否存在值得去做的解)

      過程和步驟:

      實質(zhì):進(jìn)行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計過程,也就是在較高層次上以抽象方式進(jìn)行的系統(tǒng)分析和設(shè)計過程。

      技術(shù)和工具:DFD+DD

      ??主要內(nèi)容

      (1)澄清問題定義 ——規(guī)模、約束和限制

      (2)導(dǎo)出新系統(tǒng)的邏輯模型

      (3)導(dǎo)出若干個供選擇的物理解法(物理模型),并分別研究它們的可能行:

      ??數(shù)據(jù)流圖符號

      Example:

      ??數(shù)據(jù)流圖的基本目的是 利用它作為交流信息的工具,另一個主要目的是作為分析和設(shè)計的工具。

      ??數(shù)據(jù)字典是關(guān)于數(shù)據(jù)信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合,它是通過對數(shù)據(jù)元素和數(shù)據(jù)結(jié)構(gòu)的定義,來描述數(shù)據(jù)流和數(shù)據(jù)存儲的邏輯內(nèi)容的。??數(shù)據(jù)流和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。??數(shù)據(jù)字典的內(nèi)容:

      數(shù)據(jù)流、數(shù)據(jù)元素、數(shù)據(jù)存儲、處理

      ??數(shù)據(jù)字典最重要的用途是作為分析階段的工具。

      ??Unit3 ??需求分析:

      目的:精確地定義系統(tǒng)必須做什么,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。——為目標(biāo)系統(tǒng)提出精確的邏輯模型。

      任務(wù):確定對系統(tǒng)的綜合要求,包括功能需求、性能需求、可靠性和可用性需求、運行要求、將來可能提出的要求。過程:處理邏輯的分解:自頂向下逐步分解直到每個處理邏輯已是不可再分的“功能單元”為止。書寫文檔:軟件需求規(guī)格說明

      工具:狀態(tài)圖、IPO圖、層次方框圖、Warnier圖

      ??結(jié)構(gòu)化分析設(shè)計技術(shù)是70年代中期由E.Yourdon等人提出來的一種面向數(shù)據(jù)流的方法;要求系統(tǒng)的開發(fā)工作在結(jié)構(gòu)化和模塊化的基礎(chǔ)上進(jìn)行,它系統(tǒng)的運用了描述模型的概念,按照軟件內(nèi)部數(shù)據(jù)傳遞和變換的關(guān)系,自頂向下逐層分解,直到找出滿足要求的可實現(xiàn)的軟件。

      在這個方法里,“抽象”,“分解”,“模塊化”,“結(jié)構(gòu)化”是它的主要手段;面向數(shù)據(jù)傳遞、變換所形成的數(shù)據(jù)流(Dataflow)和數(shù)據(jù)流程圖(DFD)是它的主要依據(jù)。

      這個方法的關(guān)鍵工作是:畫分層的DFD和確定數(shù)據(jù)定義與加工策略。??Yourdon方法(對應(yīng)的瀑布模型)的缺陷: 其實Yourdon方法是建立在三個假設(shè)之上的:

      假設(shè)1:所有的需求都是可以預(yù)先定義的;

      假設(shè)2:需求在較長一段時間內(nèi)是不變的(相對穩(wěn)定的);

      假設(shè)3:運用所提供的工具可以做到項目參與者之間清晰、準(zhǔn)確、有效的溝通。這三個假設(shè)往往是很難成立的:

      “邏輯模型”的精確描述依賴于“自頂向下的求精過程”,而“自頂向下的求精過程”的順利進(jìn)行又依賴于精確的“邏輯模型”,這二個問題互相纏繞依賴而構(gòu)成方法學(xué)上的“死鎖”。??原型法(原型模型):

      原型就是模型的意思(原型=模型),它指的是模擬某種產(chǎn)品的原始模型。運用原型的策略:拋棄策略&附加策略 對原型的逐步求精過程是一個迭代過程

      相對于Yourdon方法來說原型法是一個非線性的系統(tǒng)開發(fā)方法。不再強(qiáng)調(diào)高質(zhì)量的階段性文檔。

      ??螺旋模型:沿螺線自內(nèi)向外每旋轉(zhuǎn)一圈便開發(fā)出一個更為完善的軟件版本 ??Yourdon方法適合于“預(yù)先指定的系統(tǒng)”; ??原型法適合于“用戶驅(qū)動的系統(tǒng)”。

      ??通常用“范式”定義消除數(shù)據(jù)冗余程度。第一范式數(shù)據(jù)冗余程度最大,第五范式數(shù)據(jù)冗余程度最小。??狀態(tài)轉(zhuǎn)換圖:

      狀態(tài)時可以被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式,它規(guī)定了系統(tǒng)對事件的響應(yīng)方式。一張狀態(tài)圖有一個初態(tài)和0至多個終態(tài)。

      事件:在某個特定時刻引起系統(tǒng)做動作和(或)狀態(tài)轉(zhuǎn)換的控制信息。

      ??驗證軟件需求的正確性:

      一致性、完整性、現(xiàn)實性、有效性

      ??Unit4 ??總體設(shè)計:

      目的:確定系統(tǒng)的具體物理實現(xiàn)方案(系統(tǒng)結(jié)構(gòu)設(shè)計),確定組成每一個程序的模塊,以及模塊間的關(guān)系(軟件結(jié)構(gòu)設(shè)計)。任務(wù):軟件結(jié)構(gòu)設(shè)計(過程設(shè)計是詳細(xì)設(shè)計階段的任務(wù))過程:

      設(shè)想供選擇的方案

      選取合理方案(每份方案有 系統(tǒng)流程圖、組成系統(tǒng)的物理元素清單、成本/效益分析、實現(xiàn)這個系統(tǒng)的進(jìn)度計劃 4份資料)等9步(P92)

      ??在軟件開發(fā)早期階段考慮測試問題,能促使軟件設(shè)計人員在設(shè)計時注意提高軟件的可測試性。??總體設(shè)計階段書寫的文檔:系統(tǒng)說明、用戶手冊、測試計劃、詳細(xì)的實現(xiàn)計劃、數(shù)據(jù)庫設(shè)計結(jié)果。

      ??總體設(shè)計過程中,推薦最佳方案后進(jìn)入“軟件結(jié)構(gòu)”設(shè)計:設(shè)計出組成這個系統(tǒng)的所有程序、文件和數(shù)據(jù)庫,以及它們之間的聯(lián)系。軟件結(jié)構(gòu):由模塊組成的層次系統(tǒng)。模塊:數(shù)據(jù)說明、可執(zhí)行語句等程序。??C/S(Client/Server)結(jié)構(gòu)是軟件系統(tǒng)體系結(jié)構(gòu)

      ??“結(jié)構(gòu)化設(shè)計”概括地說就是:用一組標(biāo)準(zhǔn)的工具和準(zhǔn)則來確定系統(tǒng)應(yīng)該由哪些模塊、用什么方式聯(lián)結(jié)在一起,才能構(gòu)成一個最好的軟件結(jié)構(gòu)。

      ??模塊化就是把程序劃分成若干個模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。

      ??模塊: 具有四種屬性的一組程序語句稱為一個模塊,這四種屬性分別是:輸入和輸出、邏輯功能、運行程序、內(nèi)部數(shù)據(jù)。(前兩個是模塊外部屬性,后兩個是內(nèi)部屬性,總體設(shè)計完成外部屬性設(shè)計、詳細(xì)設(shè)計完成內(nèi)部屬性設(shè)計)

      ??軟件結(jié)構(gòu)圖中,模塊用一矩形表示。??模塊間調(diào)用:用→連接

      ??開發(fā)具有獨立功能而且和其它模塊之間沒有過多相互作用的模塊,可以做到模塊獨立。??影響模塊獨立的因素:

      耦合(不同模塊間互聯(lián)程度)內(nèi)聚(同一模塊內(nèi)各元素緊密程度)

      ??力爭高內(nèi)聚、低耦合。??5種耦合形式:

      數(shù)據(jù)耦合、控制耦合、特征耦合、公共耦合、內(nèi)容耦合(從左到右耦合程度遞增)最弱的耦合是非直接耦合

      ??7種內(nèi)聚形式:

      功能內(nèi)聚、順序內(nèi)聚、通信內(nèi)聚、過程內(nèi)聚、時間內(nèi)聚、邏輯內(nèi)聚、偶然內(nèi)聚(從左到右程度依次遞減)??模塊的扇出與扇入:

      模塊的扇出是指一個模塊擁有的直接下級模塊的個數(shù)。模塊的扇入是指一個模塊的直接上級模塊的個數(shù)。

      模塊的扇出系數(shù)應(yīng)控制在7以內(nèi),盡可能的加大模塊的扇入系數(shù)。

      ??作用域應(yīng)該是控制域的子集;

      ??模塊的控制域和作用域:

      模塊的控制域(控制范圍):是指這個模塊本身以及所有直接或間接從屬于它的模塊的集合。

      模塊的作用域(判斷作用范圍):是指受該模塊內(nèi)一個判斷影響的所有模塊的集合。(也就是該模塊內(nèi)存在著判斷調(diào)用語句,而所有受到該判斷邏輯影響的模塊,就是該模塊的作用域。)作用域應(yīng)該是控制域的子集;理想的是作用域都是直接下屬模塊。??數(shù)據(jù)流類型——數(shù)據(jù)在DFD中流徑特征

      變換流:進(jìn)入系統(tǒng)中的數(shù)據(jù)所流經(jīng)的路徑幾乎是一樣的。事務(wù)流:進(jìn)入系統(tǒng)中的數(shù)據(jù)所流經(jīng)的路徑不完全是一樣的。

      ??

      ??事務(wù)中心往往包含多個處理邏輯。

      ??

      ??“事務(wù)”是指一組輸入數(shù)據(jù)。

      ??Unit5 ??詳細(xì)設(shè)計:

      目的:完成模塊的過程設(shè)計(為SC中每個模塊確定采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具給出詳細(xì)清晰的描述。)

      模塊的邏輯設(shè)計(模塊的過程描述)主要內(nèi)容:

      1)為每個模塊確定采用的算法 2)確定每個模塊使用的內(nèi)部數(shù)據(jù)結(jié)構(gòu) 3)確定模塊的接口細(xì)節(jié) 4)制定模塊的測試計劃

      完成模塊的“內(nèi)部屬性”設(shè)計,即給出系統(tǒng)中各個模塊的“運行程序”和“內(nèi)部數(shù)據(jù)”;由此可見詳細(xì)設(shè)計的結(jié)果基本上決定了最終軟件的質(zhì)量。

      詳細(xì)設(shè)計的目標(biāo)更重要的是便于維護(hù)。工具:

      1.程序流程圖(流程圖)2.N-S圖(盒圖)

      3.PAD圖(問題分析圖)

      4.偽代碼和PDL語言

      ??邏輯設(shè)計應(yīng)遵循的理念:

      1.從效率第一到清晰第一

      2.結(jié)構(gòu)化的控制結(jié)構(gòu):結(jié)構(gòu)化程序設(shè)計=僅使用單入口單出口的三種基本控制結(jié)構(gòu) 3.逐步細(xì)化的實現(xiàn)方法

      [例] 在一組數(shù)中找出其中的最大數(shù) 分別用程序流程圖、N-S圖和PAD圖描述 用“結(jié)構(gòu)化”保證程序的清晰易讀,用“逐步細(xì)化”實現(xiàn)程序的正確可靠,它們導(dǎo)致了一條自然的結(jié)論:模塊的邏輯設(shè)計必須用結(jié)構(gòu)化程序設(shè)計的原理來指導(dǎo)。(結(jié)構(gòu)化分析設(shè)計在詳細(xì)設(shè)計階段)??Yourdon方法的技術(shù)途徑:DFD→DFD+DD→SC→PDL

      ??Yourdon方法在分析階段,我們用DFD來表示軟件的邏輯模型;在設(shè)計階段,又按照數(shù)據(jù)流類型,分別用變換分析或事務(wù)分析將它們轉(zhuǎn)換成相應(yīng)的軟件結(jié)構(gòu)。??面向數(shù)據(jù)結(jié)構(gòu)設(shè)計方法的根據(jù)和基本思想:

      算法和數(shù)據(jù)結(jié)構(gòu)是程序設(shè)計中不可分割的側(cè)面,算法的結(jié)構(gòu)依賴于它要處理的數(shù)據(jù)結(jié)構(gòu)。只要事先知道一個問題的數(shù)據(jù)結(jié)構(gòu),就可以由此導(dǎo)出它的程序結(jié)構(gòu)。

      ??基于數(shù)據(jù)流還是基于數(shù)據(jù)結(jié)構(gòu)的出發(fā)點不同,最終目標(biāo)也不同。SADT(結(jié)構(gòu)化分析設(shè)計工具)方法的目標(biāo)是得出軟件的最終SC圖,它把注意力集中在模塊的合理劃分上;面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計則要求得出程序的過程性描述,并不明確也提出軟件應(yīng)該先分成模塊等概念。

      ??SADT方法:DFD->SC(軟件結(jié)構(gòu)圖)->模塊的過程性描述(PDL等)|<-------總體設(shè)計-------> | |<--------詳細(xì)設(shè)計------->|

      Jackson方法(面向數(shù)據(jù)結(jié)構(gòu)):數(shù)據(jù)結(jié)構(gòu)->程序結(jié)構(gòu)->程序的過程性描述(偽代碼等)|<-----總體設(shè)計-----> | |<----------詳細(xì)設(shè)計--------->| ??程序復(fù)雜程度的定量度量:

      1.程序圖(流圖)(用任何方法表示的詳細(xì)設(shè)計結(jié)果都可以變換成程序圖)

      流程圖中的各種處理框均簡化成一個結(jié)點

      2.環(huán)域復(fù)雜度

      程序的結(jié)構(gòu)復(fù)雜度可用強(qiáng)連通的有向圖中線性無關(guān)環(huán)的個數(shù)來度量 V(G)= 判定結(jié)點數(shù) + ??Unit6

      ??編碼(也稱實現(xiàn))

      任務(wù):把模塊的過程性描述翻譯為用該語言書寫的源程序(或源代碼)。??編碼的風(fēng)格

      1.程序要清晰直觀,不要過于巧妙

      2.用一定的原則指導(dǎo)控制結(jié)構(gòu)的使用(避免使用容易引起混淆的結(jié)構(gòu)和語句)3.有規(guī)律地使用GOTO語句

      不得不把效率的考慮放在首位的時候,而結(jié)構(gòu)化程序又不能滿足時間要求時,就可用GOTO語句來減少重復(fù)的代碼段;

      4.實現(xiàn)源程序的文檔化(軟件=程序+文檔)<有意義的變量名稱、適當(dāng)注釋、標(biāo)準(zhǔn)的書寫格式>

      ??Unit7: ??軟件測試:

      定義:程序測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。糾錯(調(diào)試)是為了確定錯誤的性質(zhì),并且加以糾正。

      ??軟件測試包括機(jī)器測試(動態(tài)測試)(黑盒測試&白盒測試)和人工測試(代碼復(fù)審)(代碼走查+會審+辦公桌檢查)程序編譯通過后,應(yīng)該先人工測試(發(fā)現(xiàn)邏輯錯誤)后機(jī)器測試(在設(shè)定的測試數(shù)據(jù)上執(zhí)行被測程序).??動態(tài)測試是一個包括:①設(shè)計“測試用例”→②執(zhí)行被測程序→③分析測試結(jié)果并發(fā)現(xiàn)錯誤的過程。(①設(shè)計“測試用例”是最關(guān)鍵)

      測試用例={ 輸入數(shù)據(jù) + 期望結(jié)果 }

      按照在設(shè)計“測試用例”時,是否涉及程序的內(nèi)部結(jié)構(gòu),把動態(tài)測試分為: 白盒測試:從程序的內(nèi)部邏輯入手,按照一定原則設(shè)計測試用例。

      黑盒測試:僅以程序外部功能為依據(jù)來設(shè)計測試用例。檢查程序是否完成應(yīng)做的和是否做了不該做的。(按規(guī)格說明書的規(guī)定)

      ??軟件測試的的步驟:[見筆記本上圖]

      單元測試:在編碼階段完成;以模塊為單位,(主要白盒)發(fā)現(xiàn)的往往是編碼和詳細(xì)設(shè)計的錯誤

      綜合測試:(模塊組裝測試、集成測試)以軟件的設(shè)計信息為依據(jù),主要用黑盒,發(fā)現(xiàn)設(shè)計錯誤,也可能發(fā)現(xiàn)需求說明錯誤。

      確認(rèn)測試(驗收測試):以軟件的需求信息為依據(jù),用黑盒,發(fā)現(xiàn)需求說明書中的錯誤,驗證軟件的有效性 系統(tǒng)測試:指整個計算機(jī)系統(tǒng)(包括軟件與硬件)的測試。??代碼復(fù)審

      1.代碼會審:開會逐句朗讀和講解程序,精力集中于發(fā)現(xiàn)錯誤,會后改正錯誤 2.走查:與會者扮演“計算機(jī)”的角色 3.辦公桌檢查:一個人參加的代碼會審 ??黑盒測試方法:

      ??等價分類法:

      按測試結(jié)果“等價”把被測程序的輸入域劃分為若干個等價類,每一個等價類都選擇一例“測試用例”,與“應(yīng)做的事情”相對應(yīng)的是“有效等價類”,而與“不應(yīng)該做的事情”相對應(yīng)的稱之為“無效等價類”。

      設(shè)計等價類的測試用例分為兩步: 1.劃分等價類并給出定義;

      2.選擇測試用例的原則:有效等價類的測試用例盡量公用;無效等價類必須每類一例。[例]某城市的電話號碼……[看筆記] ??邊界值分析法(邊值法)??錯誤猜測法(猜錯法)??因果圖法

      ??白盒測試方法:[見筆記]

      合理的白盒測試,就是要選取足夠的測試用例,以實現(xiàn)對源程序比較充分的覆蓋。??邏輯覆蓋法:(按照由低到高對程序邏輯覆蓋程度的順序)

      語句覆蓋:每條語句至少執(zhí)行一次;

      判定覆蓋:不僅每條語句至少執(zhí)行一次,而且每一分支至少執(zhí)行一次;

      條件覆蓋:不僅語句覆蓋,而且每個條件均按“真”、“假”兩種結(jié)果至少執(zhí)行一次; 條件組合覆蓋:不僅語句覆蓋,而且每個條件的所有可能組合都至少執(zhí)行一次。

      ??路徑覆蓋法:(按照由低到高對程序邏輯覆蓋程度)

      結(jié)點覆蓋:每個結(jié)點走一次;相當(dāng)于語句覆蓋 邊覆蓋:每條邊走一次;相當(dāng)于判定覆蓋

      路徑覆蓋:每條路徑走一次;(不需要考慮程序的循環(huán))

      ??Unit8

      ??面向?qū)ο蠡驹恚菏姑枋鰡栴}的問題空間和在計算機(jī)上解決問題的解空間在結(jié)構(gòu)上盡可能一致。??基本概念:

      (1)對象:由數(shù)據(jù)以及可以施加在這些數(shù)據(jù)上的操作(或服務(wù)、方法、處理)所構(gòu)成的統(tǒng)一體,它是面向?qū)ο筌浖幕灸K。

      (2)類:對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義(抽象)。(3)不同的對象彼此之間只能通過消息相互作用、相互聯(lián)系

      (4)繼承:處于下一層次上的派生類自動繼承了位于上一層次基類的屬性(數(shù)據(jù))和行為(操作)??面向?qū)ο缶褪羌仁褂脤ο笥质褂妙惡屠^承等機(jī)制,而對象之間僅能通過傳遞消息實現(xiàn)彼此間的通信。??UML 用視圖來表示被建模系統(tǒng)的各個方面,它把軟件模型分成5個視圖,每一個視圖代表完整系統(tǒng)的一個特定方面。每一個視圖又由一種或多種模型圖構(gòu)成。

      1. 用例視圖:用來支持需求分析,也就是說系統(tǒng)將提供的功能是在用例視圖中描述的。

      2. 邏輯視圖:定義系統(tǒng)的實現(xiàn)邏輯,重點關(guān)注的是系統(tǒng)的靜態(tài)結(jié)構(gòu)(類、對象及它們之間的關(guān)系),也描述系統(tǒng)內(nèi)部的動態(tài)協(xié)作關(guān)系。它的模型圖包括類圖、對象圖、狀態(tài)圖、順序圖、協(xié)作圖及活動圖等。3. 組件視圖:描述系統(tǒng)的實現(xiàn)模塊及它們之間的依賴關(guān)系。組件是不同類型的代碼模塊,通過代碼模塊的結(jié)構(gòu)和依賴關(guān)系來表示。

      4. 部署視圖:描述軟件系統(tǒng)在計算機(jī)硬件系統(tǒng)和網(wǎng)絡(luò)上的安裝、分發(fā)和分布情況。5. 實現(xiàn)視圖:描述組成軟件系統(tǒng)的各個物理部件。??UML由三部分組成:基本構(gòu)造塊、規(guī)則和公用機(jī)制

      ??UML 定義了二類模型元素的圖形表示:一類模型元素用于表示模型中的某個概念,一類模型元素用于表示模型元素之間的關(guān)系 ?? 面向?qū)ο蠼#?/p>

      對象模型——“誰做?”(類圖)動態(tài)模型——“什么時候做?”(狀態(tài)圖)功能模型——“做什么?”(用例圖)

      這三種模型都是必不可少的,對象模型是最核心的。

      在面向?qū)ο蠓治鲋?,?gòu)造出完全獨立于實現(xiàn)的應(yīng)用域模型;在面向?qū)ο笤O(shè)計中,把求解域的結(jié)構(gòu)逐漸加入到模型中;在實現(xiàn)階段,把應(yīng)用域和求解域的結(jié)構(gòu)進(jìn)行編碼和驗證。

      ??OO方法:OOA→OOD→OOP→OOT 是一個逐漸擴(kuò)充模型的過程,其間無需轉(zhuǎn)換概念和表示,開發(fā)活動之間基本做到了平滑無縫過渡; ??對象模型:

      類與類之間一般有四種關(guān)系:關(guān)聯(lián)、泛化(繼承)、依賴和細(xì)化。1.關(guān)聯(lián):表示兩個類的“對象”之間存在某種語義上的聯(lián)系。

      2.聚集:聚集是關(guān)聯(lián)的特例,它表示類與類之間的關(guān)系是整體與部分的關(guān)系。3.泛化(繼承):泛化關(guān)系指的是類與類之間是“一般---特殊”的關(guān)系。4.依賴和細(xì)化:依賴關(guān)系是指一個模型元素依賴于另一個獨立的模型元素,細(xì)化關(guān)系是指一個模型元素細(xì)化成了另一個模型元素。??動態(tài)模型:

      描述了對象模型中對象的生命周期過程,即對象的狀態(tài),我們把一個觸發(fā)行為稱為一個事件。動態(tài)模型就是通過描述對象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件、以及對象的行為來描述軟件系統(tǒng)的動態(tài)行為(行為模型)。??功能模型:

      UML提供用例圖來表示功能模型,并稱之為用例模型。

      功能模型也可用SADT中的一組DFD來表示。(也是需求分析階段)一幅用例圖包含的模型元素有:系統(tǒng)、行為者、用例和用例之間的關(guān)系。

      一個用例是系統(tǒng)的一個完整的功能,通過關(guān)聯(lián)與行為者連接,關(guān)聯(lián)指出一個用例與哪些行為者交互,這種交互是雙向的。

      用例是一個類,用例的實例是系統(tǒng)的一種實際使用方法,我們稱之為腳本。用例之間的關(guān)系主要有二種:擴(kuò)展關(guān)系和使用關(guān)系。

      創(chuàng)建用例模型的工作包括:定義系統(tǒng)、尋找行為者和用例、描述用例、定義用例之間的關(guān)系,并確認(rèn)用例模型。

      ??Unit9:

      ??面向?qū)ο蠓治觯∣bject-Oriented Analysis,簡稱OOA)的關(guān)鍵就是識別出對象與類,并分析它們之間的關(guān)系,最終建立對象模型、動態(tài)模型和功能模型。

      圖: 參照當(dāng)前系統(tǒng)建立目標(biāo)系統(tǒng)

      ??通過劃分“主題”把一個復(fù)雜系統(tǒng)的對象模型分解成幾個不同的概念范疇。??

      ??軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。??維護(hù)過程本質(zhì)上是修改和壓縮了的軟件定義和開發(fā)過程,而且事實上遠(yuǎn)在提出一項維護(hù)要求之前,與軟件維護(hù)有關(guān)的工作已經(jīng)開始了。

      ??進(jìn)行維護(hù)的原因:改正程序中的錯誤和缺陷;改進(jìn)設(shè)計以適應(yīng)新的軟、硬件環(huán)境;增加新的應(yīng)用范圍;為了將來的維護(hù)工作。

      ??維護(hù)分為以下幾類:改正性維護(hù);適應(yīng)性維護(hù);完善性維護(hù);預(yù)防性維護(hù)

      ----------

      ??未涵蓋進(jìn)來的內(nèi)容:

      ??需求分析目的:確定目標(biāo)系統(tǒng)必須具備哪些功能

      ??總體設(shè)計的主要任務(wù):一.制定幾種可能的實現(xiàn)方案;二.設(shè)計程序的體系結(jié)構(gòu) ??詳細(xì)設(shè)計(模塊設(shè)計)任務(wù):設(shè)計出程序的詳細(xì)規(guī)格說明 ??集成測試和驗收測試:

      集成測試(組裝測試):根據(jù)設(shè)計的軟件結(jié)構(gòu)

      驗收測試:按照規(guī)格說明書的規(guī)定,由用戶參與下對目標(biāo)系統(tǒng)進(jìn)行驗收的測試

      ??通過對軟件測試結(jié)果的分析可以預(yù)測軟件的可靠性。??傳統(tǒng)軟件工程方法學(xué)的軟件過程,可以用瀑布模型來描述 ??瀑布模型的特點:階段間具有順序性和依賴性、推遲實現(xiàn)的觀點

      清楚地區(qū)分邏輯設(shè)計與物理設(shè)計,盡可能推遲程序的物理實現(xiàn)。

      ??瀑布模型帶反饋環(huán),發(fā)現(xiàn)前面階段的錯誤時,沿反饋線回頭修改

      ??快速原型模型不帶反饋環(huán),軟件產(chǎn)品開發(fā)是線性順序進(jìn)行的,用途是獲知用戶的需求

      ??增量模型(漸增模型):把軟件產(chǎn)品分解成增量構(gòu)件。原則:當(dāng)把新構(gòu)件集成到原有構(gòu)件時,所形成的產(chǎn)品必須是可測試的。它能在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。要求開始實現(xiàn)各個構(gòu)件前就全部完成的需求分析、規(guī)格說明、總體設(shè)計。

      ??螺旋模型的基本思想:使用原形及其他方法來盡量降低風(fēng)險??梢钥醋髅總€階段前都加了風(fēng)險分析的快速原型模型。螺旋模型是風(fēng)險驅(qū)動型的。

      ??噴泉模型體現(xiàn)了面向?qū)ο箝_發(fā)過程迭代和無縫的特性。

      ??采用先行順序的開發(fā)方法不可能開發(fā)出當(dāng)今客戶需要的大型復(fù)雜系統(tǒng)。

      構(gòu)件:功能清晰的模塊或子系統(tǒng)。模型:對事物的無歧義的書面描述。

      RUP強(qiáng)調(diào)采用迭代和漸增的方式來開發(fā)軟件,重復(fù)一系列組成軟件生命周期的循環(huán)。??面向?qū)ο蠓椒?對象+類+繼承+用消息通信

      ??可行性分析中導(dǎo)出供選擇的解法的最簡單途徑,是從技術(shù)角度出發(fā)考慮解決問題的不同方案。

      ??系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的工具,表達(dá)數(shù)據(jù)在系統(tǒng)各部件之間的流動情況,而非對數(shù)據(jù)加工處理。??數(shù)據(jù)流圖(DFD)描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。(描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程),設(shè)計時只考慮系統(tǒng)必須完成的基本邏輯功能。

      畫數(shù)據(jù)流圖的基本目的:利用它作為交流信息的工具;作為分析和設(shè)計的工具。符號:數(shù)據(jù)源點/終點,變換數(shù)據(jù)的處理,數(shù)據(jù)存儲,數(shù)據(jù)流 ??數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的數(shù)據(jù)流,數(shù)據(jù)流是處于運動中的數(shù)據(jù)。

      ??數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,即對數(shù)據(jù)流圖中包含的所有元素的定義的集合。

      數(shù)據(jù)字典包含內(nèi)容:數(shù)據(jù)流,數(shù)據(jù)流分量,數(shù)據(jù)存儲,處理 數(shù)據(jù)字典用途:分析階段的工具。

      ??逆向需求說明軟件系統(tǒng)不應(yīng)該做什么

      ??分析系統(tǒng)常用圖形工具:層次方框圖、Warnier圖 ??需求分析時要把數(shù)據(jù)結(jié)構(gòu)規(guī)范化。

      ??結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法。

      把分析過程中得到的有關(guān)數(shù)據(jù)元素記錄在數(shù)據(jù)字典中,對算法的簡明描述記錄在IPO圖中??焖俳④浖褪亲詈玫男枨蠓治黾夹g(shù)。為快速構(gòu)建和修改原型,使用三種工具和方法: 第四代技術(shù) 可重用的軟件構(gòu)件 形式化規(guī)格說明和原型環(huán)境

      ??概念性數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型。??數(shù)據(jù)對象是軟件必須理解的復(fù)合信息的抽象。

      ??用“范式”定義消除數(shù)據(jù)冗余的程度,第一范式冗余最大。

      ??狀態(tài)是任何可被觀察到的系統(tǒng)行為模式,一個狀態(tài)代表系統(tǒng)的一種行為模式。??狀態(tài)圖的活動表中經(jīng)常使用entry,exit,do三種標(biāo)準(zhǔn)事件。

      ??IPO圖是輸入、處理、輸出圖,處理框中列出處理的次序暗示了執(zhí)行的順序。??驗證軟件需求的正確性:一致性、完整性、現(xiàn)實性、有效性 ??結(jié)構(gòu)設(shè)計是總體設(shè)計階段的任務(wù),過程設(shè)計是詳細(xì)設(shè)計階段的任務(wù) ??軟件結(jié)構(gòu)(即由模塊組成的層次系統(tǒng))可以用層次圖或結(jié)構(gòu)圖描繪。

      ??在軟件開發(fā)的早期階段考慮測試問題,可以促使軟件開發(fā)者設(shè)計時注意提高軟件的可測試性。??隨著模塊數(shù)增加,設(shè)計模塊間接口所需工作量也增加。??逐步求精是規(guī)格說明技術(shù)、設(shè)計和實現(xiàn)技術(shù)的基礎(chǔ)。

      逐步求精定義:為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮。

      ??模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。

      ??耦合強(qiáng)弱取決于模塊接口的復(fù)雜程度,進(jìn)入或訪問一個模塊的點,以及通過接口的數(shù)據(jù)。??模塊間的耦合程度影響系統(tǒng)的可理解性、可測試性、可靠性和可維護(hù)性 ??內(nèi)聚比耦合更重要。

      ??深度表示軟件結(jié)構(gòu)中控制的層數(shù),能粗略標(biāo)識系統(tǒng)大小。

      寬度是軟件結(jié)構(gòu)內(nèi)同一層次上的模塊總數(shù)的最大值。

      扇出過大意味著模塊過分復(fù)雜,扇入越大則共享該模塊的上級模塊越多(好)。好的軟件結(jié)構(gòu)通常頂層扇出高,中層扇出較少,底層模塊有高扇入。

      ??面向數(shù)據(jù)流的設(shè)計方法把信息流映射成軟件結(jié)構(gòu),信息流的類型(變換流、事務(wù)流)決定映射方法。??經(jīng)典程序設(shè)計:只允許使用順序、IF_THEN_ELSE、DO_WHILE

      擴(kuò)展的結(jié)構(gòu)程序設(shè)計:外加DO_CASE、DO_UNTIL 修改的結(jié)構(gòu)程序設(shè)計:外加BREAK ??系統(tǒng)響應(yīng)時間的兩個屬性:長度、易變性 ??用戶界面設(shè)計是一個迭代過程。

      ??過程涉及工具:程序流程圖、盒圖、PAD圖、判定表、判定樹、過程設(shè)計語言PDL ??程序復(fù)雜度定量度量:

      1.McCabe方法(流圖,也叫程序圖):流圖中的區(qū)域數(shù)=環(huán)形復(fù)雜度=判定節(jié)點數(shù)+1

      程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程度,即取決于程序結(jié)構(gòu)的復(fù)雜程度。所以它是對測試難度的定量度量,也能對軟件可靠性預(yù)測。

      2.Halstead方法(根據(jù)程序中運算符和操作數(shù)總數(shù)來度量)??編碼和測試統(tǒng)稱為實現(xiàn)。

      ??程序的質(zhì)量主要取決于軟件設(shè)計的質(zhì)量。

      ??測試的目的:發(fā)現(xiàn)軟件中的錯誤,根本任務(wù):保證軟件質(zhì)量 ??調(diào)試的目的:診斷并改正測試中發(fā)現(xiàn)的錯誤 ??效率主要指處理機(jī)時間和存儲器容量兩方面。

      ??用戶角度:最嚴(yán)重的錯誤是導(dǎo)致程序不能滿足用戶需求的錯誤。

      ??一旦完成了需求模型就可以著手制定測試計劃,建立了設(shè)計模型之后就可以立即開始設(shè)計詳細(xì)的測試方案。??最佳測試效果:有最大可能性發(fā)現(xiàn)錯誤的測試

      ??模塊組裝測試兩種方法:非漸增式測試(分別測試每個模塊)&漸增式測試(把下一個要測試的同已經(jīng)測好的結(jié)合起來測試)

      ??漸增方式分 自頂向下集成和自底向上集成

      ??為了保證加入模塊沒有引進(jìn)新的錯誤,可能需要進(jìn)行回歸測試

      ??自頂向下測試方法主要優(yōu)點:不需要測試驅(qū)動程序,能夠在測試階段的早期發(fā)現(xiàn)接口錯誤。

      ??回歸測試:重新執(zhí)行已經(jīng)做過的測試的某個子集。它用于保證由于調(diào)試或其他原因引起的變化,不會導(dǎo)致非預(yù)期的軟件行為或額外錯誤。

      ??確認(rèn)測試的目的:驗證軟件的有效性。

      ??如果軟件的功能和性能如同用戶期望的,就是有效的 ??確認(rèn)測試以用戶為主,重要內(nèi)容是復(fù)查軟件配臵。

      ??條件測試的目的不僅是檢測程序條件中的錯誤,而且是檢測程序中的其他錯誤。??在一段程序中已經(jīng)發(fā)現(xiàn)的錯誤數(shù)往往和尚未發(fā)現(xiàn)的錯誤數(shù)成正比。

      ??等價劃分法和邊界值分析法都只孤立地考慮各個輸入數(shù)據(jù)的測試功效,而未考慮多個輸入數(shù)據(jù)的組合效應(yīng)。??軟件可靠性:程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功運行的概率 ??錯誤:由開發(fā)人員造成的bug;故障:由錯誤引起的軟件的不正確行為

      ??軟件可用性:程序在給定的時間點,按照規(guī)格說明書上的規(guī)定,成功地運行的概率。??預(yù)防性維護(hù):為了改進(jìn)未來的可維護(hù)性或可靠性…… ??軟件維護(hù)分為 非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)

      ??維護(hù)事件流的最后一個事件是復(fù)審,它再次檢驗軟件配臵的有效性,并保證事實上滿足了維護(hù)要求表中的要求。??軟件的可維護(hù)性:維護(hù)人員理解、改正、改動或改進(jìn)這個軟件的難易程度。提高軟件維護(hù)性是支配軟件工程方法學(xué)所有步驟的關(guān)鍵目標(biāo)。

      ??決定軟件可維護(hù)性因素:可理解性、可測試性、可修改性、可移植性、可重用性 ??用戶文檔包括:功能描述、安裝文檔、使用手冊、參考手冊、操作員指南 ??面向?qū)ο蠓椒ㄓ脤ο蠓纸馊〈藗鹘y(tǒng)方法的功能分解。??對象彼此之間僅通過消息傳遞相互聯(lián)系。??面向?qū)ο?對象+類+繼承+消息傳遞通信

      如果僅用對象和消息,則稱為基于對象的方法,而非面向?qū)ο蟮姆椒ā?/p>

      如果進(jìn)一步要求把所有對象都劃分成類,則稱為基于類的方法,仍非面向?qū)ο蟮姆椒?。只有同時使用以上4點,才是面向?qū)ο蟮摹?/p>

      ??OOD不同于面向過程設(shè)計,其思想是:使用現(xiàn)實世界的概念抽象地思考問題而自然的解決問題。(重要的是應(yīng)用模型)

      ??人在認(rèn)識和解決復(fù)雜問題時最有力的思維工具是抽象。

      ??傳統(tǒng)的軟件開發(fā)方法以算法為核心,開發(fā)過程基于功能分析和分解。

      面向?qū)ο蠓椒ɑ跇?gòu)造問題領(lǐng)域的對象模型,以對象為中心構(gòu)造軟件系統(tǒng)。??對象=描述屬性的數(shù)據(jù)+對數(shù)據(jù)施加的操作

      ??對象是具有相同狀態(tài)的一組操作的集合。(從OOD看對象)

      對象是對問題域中某個東西的抽象,這種抽象反映了系統(tǒng)保存有關(guān)這個東西的能力與他交互的能力。(從信息模擬看對象)

      ??對象:以數(shù)據(jù)為中心的、主動的、實現(xiàn)了數(shù)據(jù)封裝、本質(zhì)上具有并行性、模塊獨立性好 ??一個對象類型也可以看成是一種抽象數(shù)據(jù)類型

      ??類:對具有相同數(shù)據(jù)和相同操作的一組相似對象的定義。??消息具有:接受消息的對象、消息選擇符(消息名)、變元。??屬性是對客觀世界實體所具有的性質(zhì)的抽象

      ??繼承分但繼承和多重繼承(多個父類),使用多重繼承是要注意避免二義性。繼承中,底層的性質(zhì)將屏蔽高層的同名性質(zhì)。

      ??多態(tài)性通過虛函數(shù)實現(xiàn)。??虛函數(shù)->實現(xiàn)動態(tài)聯(lián)編 ??函數(shù)重載通過靜態(tài)聯(lián)編實現(xiàn)。??OO 3models:

      ??描述 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)——對象模型 ??描述 系統(tǒng)控制結(jié)構(gòu)——動態(tài)模型 ??描述 系統(tǒng)功能計算——功能模型

      ??典型的軟件系統(tǒng)使用數(shù)據(jù)結(jié)構(gòu)(對象模型),執(zhí)行操作(動態(tài)模型)并且完成數(shù)據(jù)值的變化(功能模型)??聚集表示類與類之間的關(guān)系是整體與部分的關(guān)系。??泛化即繼承。

      ??動態(tài)模型表示瞬時的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對象模型中的對象的合法變化序列。??所有對象都具有自己的生命周期,狀態(tài)是對對象屬性值的一種抽象。一個觸發(fā)行為稱作一個事件。??用狀態(tài)圖描繪對象的狀態(tài)、觸發(fā)狀態(tài)轉(zhuǎn)換的事件以及對象的行為(對事件的響應(yīng))。

      ??每個類的動態(tài)行為用一張狀態(tài)圖來描繪,各個類的狀態(tài)圖通過共享事件合并,從而構(gòu)成系統(tǒng)的動態(tài)模型。動態(tài)模型是基于事件共享而相互關(guān)聯(lián)的一組狀態(tài)圖的集合。??用例模型描述的是外部行為者所理解的系統(tǒng)功能。

      ??用例是一個類,他代表一類功能而不是使用該功能的某個具體實例。用例的實例稱腳本。??一個用例模型的創(chuàng)建包括:定義系統(tǒng)、尋找行為者和用例、描述用力、定義用力之間的關(guān)系、確認(rèn)模型。??針對每個類建立的動態(tài)模型,描述了類實例的生命周期或運行周期。

      ??狀態(tài)轉(zhuǎn)換趨勢行為發(fā)生,這些行為在數(shù)據(jù)流圖中->處理,在用例圖中->用例,同時與類圖中的服務(wù)對應(yīng) ??數(shù)據(jù)流圖的對應(yīng):

      數(shù)據(jù)存儲,原點/終點:對象 數(shù)據(jù)流:對象的屬性值或?qū)ο?/p>

      對象模型描述了數(shù)據(jù)流圖中的數(shù)據(jù)流、數(shù)據(jù)存儲以及數(shù)據(jù)原點/終點的結(jié)構(gòu)。

      ??分析過程總是提取系統(tǒng)需求的過程。

      ??需求陳述的內(nèi)容:問題范圍、功能需求、性能需求、應(yīng)用環(huán)境、假設(shè)條件 ??面向?qū)ο蠓治鍪滓墓ぷ鳎航栴}域的對象模型。??對象模型的建立:

      確定對象類和關(guān)聯(lián) 給類增添屬性

      用適當(dāng)?shù)睦^承關(guān)系合并組織類

      建立了動態(tài)模型和功能模型后,再定義類中的操作

      ??應(yīng)該按問題領(lǐng)域而不是功能分解方法來確定主題。??腳本描述事件序列

      ??從OOA到OOD,是一個逐漸擴(kuò)充模型的過程,OOD即是用OO的觀點建立求解域模型的過程。??OO中,對象是最基本的模塊。

      ??對象之間,應(yīng)降低交互耦合,提高繼承耦合。??對象間存在 服務(wù)內(nèi)聚、雷內(nèi)聚、一般-特殊內(nèi)聚。

      ??OOD準(zhǔn)則:模塊化、抽象、信息隱藏、若耦合、強(qiáng)內(nèi)聚、可重用。

      ??類構(gòu)件的三種重用方式:實例重用(最基本的重用)、繼承重用和多態(tài)重用。??系統(tǒng)的總框架是基于問題域的。

      ??設(shè)計實現(xiàn)服務(wù)的算法:算法復(fù)雜度、易理解、易實現(xiàn)、容易修改 ??程序設(shè)計風(fēng)格中從所完成的功能看,有兩類不同類型的方法:

      策略方法:檢查系統(tǒng)運行狀態(tài),處理出錯情況,并不直接完成計算或?qū)崿F(xiàn)復(fù)雜算法。實現(xiàn)方法:僅針對具體數(shù)據(jù)完成特定處理,用于實現(xiàn)復(fù)雜算法。

      ??OO測試:單元測試、集成測試、確認(rèn)測試

      ——授課教師:寧波大學(xué) 錢旭明老師

      ——總結(jié)人:寧波大學(xué)

      張睿卿

      第三篇:[ASP.net教程]DevExpress控件開發(fā)常用要點(項目總結(jié)版)

      [ASP.net教程]DevExpress控件開發(fā)常用要點(項目總結(jié)版)

      使用DevExpress控件來做項目開發(fā)已經(jīng)有很長一段時間了,在摸索開發(fā)到客戶苛刻要求的過程中,其中碰到過很多問題需要解決的,隨著一個個問題的解決,也留下很多對DevExpress控件的使用經(jīng)驗及教訓(xùn),綜合設(shè)計到的多個項目的問題,對這些開發(fā)常用的要點進(jìn)行總結(jié),方便別人也方便自己。提供這些解決方法,一個可以快速應(yīng)用到項目中,二個也可以作為對界面開發(fā)的更高要求對待自己的項目,使得自己的東西更加完美,更加受歡迎。

      1、GridControl控件的數(shù)據(jù)顯示的樣式控制

      如上兩圖所示,我們有時候需要控制列表訪問過的顏色變化,或者是時間顯示格式等內(nèi)容,這個時候設(shè)置GridView的RowCellStyle即可實現(xiàn),如下所示。this.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle);

      void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)

      {

      if(e.Column.FieldName == “PublishType”)

      {

      if(e.CellValue!= null && e.CellValue.ToString()== “中介”)

      {

      e.Appearance.BackColor = Color.DeepSkyBlue;

      e.Appearance.BackColor2 = Color.LightCyan;

      }

      }

      if(e.Column.FieldName == “PublishTime”)

      {

      e.Column.DisplayFormat.FormatString = “yyyy-MM-dd HH:mm:ss”;

      }

      if(e.Column.FieldName == “Title”)

      {

      string id = this.winGridViewPager1.gridView1.GetRowCellDisplayText(e.RowHandle, “Id”);

      if(historyDict.ContainsKey(id))

      {

      e.Appearance.BackColor = Color.DeepSkyBlue;

      e.Appearance.BackColor2 = Color.LightCyan;

      }

      }

      }

      2、在LayoutControl布局中固定控件寬度 固定寬度后的真實效果。

      為了使得界面統(tǒng)一性及更好的控制性,我們一般使用LayoutControl布局控件作為我們添加控件的布局容器,但是這個控件默認(rèn)是對其中的控件進(jìn)行按窗口比例進(jìn)行縮放的,有些客戶就不喜歡這些特點,因為他們的顯示器可能是30寸的(夸張一點點,不過很多寬屏的),這樣很多輸入框就會被拉得很長,這樣小小一個輸入框,可能有很長的一段空白的距離,那樣可能真的不好看,如下圖所示。

      設(shè)置固定寬度,其實不是很麻煩,需要設(shè)置幾個屬性即可 1)設(shè)置控件的SizeConstraintsType為DevExpress.XtraLayout.SizeConstraintsType.Custom;2)設(shè)置控件的FillControlToClientArea 為False 3)設(shè)置控件的ControlMaxSize的大?。ū匾獣r也可以設(shè)置ControlMinSize),設(shè)置例子如下所示。

      3、GridControl中的GridView內(nèi)容打印

      由于GridView的良好封裝性,實現(xiàn)打印的代碼很簡單。

      private void menu_Print_Click(object sender, EventArgs e)

      {

      PrintableComponentLink link = new PrintableComponentLink(new PrintingSystem());

      link.Component = this.gridControl1;

      link.Landscape = true;

      link.PaperKind = System.Drawing.Printing.PaperKind.A3;

      link.CreateMarginalHeaderArea += new CreateAreaEventHandler(Link_CreateMarginalHeaderArea);

      link.CreateDocument();

      link.ShowPreview();

      }

      private void Link_CreateMarginalHeaderArea(object sender, CreateAreaEventArgs e)

      {

      string title = string.Format(“大體檢-({0})”, this.txtYear.Text);

      PageInfoBrick brick = e.Graph.DrawPageInfo(PageInfo.None, title, Color.DarkBlue,new RectangleF(0, 0, 100, 21), BorderSide.None);

      brick.LineAlignment = BrickAlignment.Center;

      brick.Alignment = BrickAlignment.Center;

      brick.AutoWidth = true;

      brick.Font = new System.Drawing.Font(“宋體”, 11f, FontStyle.Bold);

      }

      4、設(shè)置GridView的行指示器(行頭)顯示行號

      在我的分頁控件以及Winform開發(fā)框架很多項目介紹里面,很多都顯示了行號,其實這個在DevExpress中的實現(xiàn)很簡單,如果需要,可以實現(xiàn)在自己的代碼里面。

      1)先實現(xiàn)GridView的CustomDrawRowIndicator事件,實現(xiàn)代碼如下所示。

      private void advBandedGridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)

      {

      e.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;

      if(e.Info.IsRowIndicator)

      {

      if(e.RowHandle >= 0)

      {

      e.Info.DisplayText =(e.RowHandle + 1).ToString();

      }

      else if(e.RowHandle < 0 && e.RowHandle >-1000)

      {

      e.Info.Appearance.BackColor = System.Drawing.Color.AntiqueWhite;

      e.Info.DisplayText = “G” + e.RowHandle.ToString();

      }

      }

      } 2)然后設(shè)置GridView控件的IndicatorWidth為合適的寬度,如40左右則比較好。這樣設(shè)置后,就能順利顯示行號了,是不是很方便呢。

      5、GridView表頭多行顯示(折行),表頭及行內(nèi)容居中操作

      在一些自定義的列表中,我們?yōu)榱撕侠盹@示表頭的內(nèi)容,可能會要求表頭顯示的文字可以折行顯示,然后還需要內(nèi)容居中顯示,那么在DevExpress該如何操作呢,代碼設(shè)置如下所示。

      //表頭折行設(shè)置

      this.gridView1.ColumnPanelRowHeight = 40;

      this.gridView1.OptionsView.AllowHtmlDrawHeaders = true;

      this.gridView1.Appearance.HeaderPanel.TextOptions.WordWrap = DevExpress.Utils.WordWrap.Wrap;

      //表頭及行內(nèi)容居中顯示

      this.gridView1.Appearance.Row.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;

      this.gridView1.Appearance.HeaderPanel.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;然后設(shè)置表頭的時候,設(shè)置內(nèi)容使用rn來進(jìn)行換行,如:體重rn(kg)下面是我分頁控件里面的例子設(shè)置,供參考。

      this.winGridViewPager1.AddColumnAlias(“Weight”, “體重rn(kg)”);

      this.winGridViewPager1.AddColumnAlias(“Pulse”, “脈搏rn(次)”);

      this.winGridViewPager1.AddColumnAlias(“BloodSystolic”, “收縮壓”);

      this.winGridViewPager1.AddColumnAlias(“BloodDiastolic”, “舒張壓”);

      this.winGridViewPager1.AddColumnAlias(“SightLeft”, “視力rn(左)”);

      this.winGridViewPager1.AddColumnAlias(“SightRight”, “視力rn(右)”);

      6、控件內(nèi)容輸入問題

      在客戶使用軟件的時候,反饋說有一些數(shù)字輸入框、日期輸入框,不支持鍵盤輸入內(nèi)容,經(jīng)測試,確實是存在這個問題,默認(rèn)的數(shù)字、日期等輸入,都要切換輸入法才可以輸入,不能默認(rèn)就支持?jǐn)?shù)字的輸入,那么是否有辦法解決呢,當(dāng)然辦法總是有的。

      其實只需要設(shè)置 ImeMode=Off 即可解決問題,關(guān)于這個屬性,大家可以參考下面的介紹。(就開發(fā)而言,記得逢數(shù)字,日期的控件,必須設(shè)置 ImeMode=Off,否則你的軟件使用客戶會罵娘。

      ImeMode 枚舉:指定一個值,該值是用來確定在選定了對象時該對象的輸入法編輯器(IME)的狀態(tài)。以下是微軟的解釋:

      成員名稱 說明

      Alpha 字母數(shù)字單字節(jié)字符(SBC)。此設(shè)置僅對朝鮮語和日語 IME 有效。

      AlphaFull 字母數(shù)字雙字節(jié)字符。此設(shè)置僅對朝鮮語和日語 IME 有效。

      Close Disable IME 被禁用。如果使用此設(shè)置,則用戶無法從鍵盤打開 IME,而且 IME 浮動窗口處于隱藏狀態(tài)。

      Hangul 朝鮮文 SBC。此設(shè)置僅對朝鮮語 IME 有效。

      HangulFull 朝鮮文 DBC。此設(shè)置僅對朝鮮語 IME 有效。

      Hiragana平假名 DBC。此設(shè)置僅對日語 IME 有效。

      Inherit 繼承父控件的 IME 模式。

      Katakana 片假名 DBC。此設(shè)置僅對日語 IME 有效。

      KatakanaHalf 片假名 SBC。此設(shè)置僅對日語 IME 有效。

      NoControl 無(默認(rèn))。

      Off IME 已關(guān)閉。此模式指示 IME 已關(guān)閉,這意味著該對象的行為方式與英語輸入模式相同。此設(shè)置僅對日語、簡體中文和繁體中文 IME 有效。

      On IME 已打開。此值指示 IME 已打開,可以輸入中文或日語特定的字符。此設(shè)置僅對日語、簡體中文和繁體中文 IME 有效。

      下載《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)(五篇)word格式文檔
      下載《影視導(dǎo)演實用教程——張樂平編著》要點總結(jié)(五篇).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦