軟件工程-原理、方法與應用【第三版】復習總結(jié)_第1頁
軟件工程-原理、方法與應用【第三版】復習總結(jié)_第2頁
軟件工程-原理、方法與應用【第三版】復習總結(jié)_第3頁
軟件工程-原理、方法與應用【第三版】復習總結(jié)_第4頁
軟件工程-原理、方法與應用【第三版】復習總結(jié)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一章緒論1,每18個月芯片的性能和速度均提升一倍,每隔12年軟件生產(chǎn)大約提升一倍.2 .軟件:是能夠完成預定功能和性能的可執(zhí)行的計算機誠信度.包括使程序正常執(zhí)行所需的數(shù)據(jù),以及有關(guān)描述程序操作和使用的文檔.即:軟件=程序+文檔3 .軟件的特征:軟件的開發(fā)不同于硬件設計、不同于硬件制造、不同于硬件維修.4 .軟件危機出現(xiàn)的原因:軟件維護費用的急劇上升,直接威脅計算機應用的擴大;軟件生產(chǎn)技術(shù)進步緩慢,是家居軟件危機的重要原因.5 .軟件工程學的范疇:軟件開發(fā)技術(shù)軟件開發(fā)方法學、軟件工具、軟件工程環(huán)境、軟件工程治理軟件治理學、軟件經(jīng)濟學、度量學.6 .軟件工程:是指導計算機軟件開發(fā)和維護的工程學科

2、.它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,目的是為了實現(xiàn)根據(jù)預期的進度和經(jīng)費完成軟件生產(chǎn)方案,同時提升軟件的生產(chǎn)率和可靠性.7 .軟件的開展:大體經(jīng)歷了程序、軟件、軟件產(chǎn)品3個階段.8 .工具和方法是軟件開發(fā)技術(shù)的2大支柱.9 .3種編程泛型:過程式編程泛型、面向?qū)ο缶幊谭盒?、基于?gòu)件技術(shù)的編程泛型10 .面向?qū)ο蟪绦蛟O計中,數(shù)據(jù)和操作被封裝在一個對象中,對象之間那么是通過消息相互聯(lián)系.11 .構(gòu)件:標準化/規(guī)格化的對象類.12 .常用變成力度的大小來比擬3種編程泛型的差異.粒度由小到大依次是:過程式編程范式、面向?qū)ο缶幊谭妒?、基于?gòu)件的編程泛型.13 .軟件工程的分化:傳統(tǒng)軟件工

3、程:結(jié)構(gòu)化分析-»結(jié)構(gòu)化設計-»面向過程編碼-»軟件測試面向?qū)ο筌浖こ蹋篛O分析與對象抽取-?對象詳細設計-?面向?qū)ο蟮木幋a與測試基于構(gòu)件的軟件工程以可復用構(gòu)件和測試工具為后盾:領(lǐng)域分析和測試方案定制-?領(lǐng)域設計-»建立可復用構(gòu)件庫-»按構(gòu)件集成模型查找與集成構(gòu)件14 .分析先于設計,設計先于編碼,使程序的結(jié)構(gòu)適合于問題的結(jié)構(gòu).第二章軟件生存周期與軟件過程1 .軟件生存周期:方案、開發(fā)、運行3個時期.需求分析-»軟件分析-»軟件設計-»編碼測試-»軟件測試-»運行維護2 .需求分析用戶視角:功

4、能需求、性能需求、環(huán)境約束、外部接口描述.3 .軟件分析開發(fā)人員視角:建立與需求模型一致的,與實現(xiàn)無關(guān)的軟件分析模型.4 .軟件設計:總體設計/概要設計、詳細設計確定軟件的數(shù)據(jù)結(jié)構(gòu)和操作.5 .單元測試通常與編碼同時進行.6 .軟件測試:單元測試、集成測試、系統(tǒng)測試.7 .Boehm軟件生存周期的劃分:系統(tǒng)需求、軟件需求、概要設計、詳細設計、編碼糾錯、測試和預運行、系統(tǒng)維護.8,瀑布模型特點:階段間的順序性和依賴性、推遲實現(xiàn)的觀點、保證質(zhì)量的觀點.9,瀑布模型存在的問題:只有在需求分析準確的前提下,才能得到預期的結(jié)果.快速原型模型:原型系統(tǒng)只包括對未來系統(tǒng)的主要功能以及系統(tǒng)的重要接口.特點:快

5、速開發(fā)工具、循環(huán)、低成本.種類:漸進型、拋棄型.10 .常見的演化模型漸增式、迭代式:增量模型、螺旋模型.11 .增量模型:結(jié)合瀑布模型的順序特征與快速原型法的迭代特征.增量:小而可用的軟件一般情況下,第一個增量是軟件的核心局部.如增量一:需求-設計-實現(xiàn)和集成-交付客戶12 .螺旋模型目前最常用:當工程根據(jù)順時針方向沿螺旋線移動時,每輪螺旋包含:方案、風險分析、建立原型、用戶評審4種活動.高風險的大型軟件采用此方法13 .構(gòu)件集成模型:適應于面向?qū)ο蟮能浖_發(fā).利用預先封裝好的構(gòu)件來構(gòu)造應用軟件系統(tǒng).14 .軟件開發(fā)方法可區(qū)分:形式化方法、非形式化方法.15 .形式化開發(fā)模型:轉(zhuǎn)換模型、凈室

6、模型16 .轉(zhuǎn)換模型:是將形式化軟件開發(fā)和程序自動生成技術(shù)相結(jié)合的一種軟件開發(fā)模型.轉(zhuǎn)換模型的開發(fā)過程:確定性實話的需求規(guī)格說明書、進行自動化的程序變換、對形式化開發(fā)記錄進行測試.轉(zhuǎn)換模型的常用技術(shù):基于模型的需求規(guī)格說明書及其變換技術(shù);基于代數(shù)結(jié)構(gòu)的需求規(guī)格說明書及其變換技術(shù);基于時序邏輯的需求規(guī)格說明書及其驗證技術(shù)以及基于可視化的技術(shù).17 .凈室模型:是一種形式化的增量開發(fā)模型.力求在分析和設計階段消除錯誤.吉結(jié)構(gòu)花式由正始性規(guī)約I|設計|證實測試方案統(tǒng)訃性使用測試認證18 .統(tǒng)一過程RUP包才4個階段:初始、細化、構(gòu)造、遷移.以用例為驅(qū)動,以系統(tǒng)架構(gòu)為中央的迭代與增量過程.每個階段又分

7、為假設干次迭代,每次迭代都有一個核心工作流,有5個活動需求、分析、設計、實現(xiàn)、測試.19 .敏捷開發(fā)是一種以人為核心、迭代、循序漸進的開發(fā)方法.20 .敏捷開發(fā)的價值觀:個體和交互勝過過程和工具、可以工作的軟件勝過面面俱到的文檔、客戶合作勝過合同談判、響應變化勝過遵循方案.21 .軟件可行性研究:經(jīng)濟可行性、技術(shù)可行性、運行可行性、法律可行性.22 .可行性研究的步驟:對當前系統(tǒng)進行調(diào)查研究、導出新系統(tǒng)的解決方案、提出推薦方案、編寫可行性論證報告.23 .可行性論證報告的內(nèi)容:系統(tǒng)概述、可行性分析、結(jié)論意見.24 .軟件風險分析包括:風險識別工程風險、技術(shù)風險、商業(yè)風險、風險預測、風險的駕馭和

8、監(jiān)控.25 .軟件方案的7種類型:工程實施方案、質(zhì)量保證方案、軟件測試方案、文檔編制方案、用戶培訓方案、綜合支持方案、軟件分發(fā)方案.第三章結(jié)構(gòu)化分析與設計1 .結(jié)構(gòu)化設計SD;結(jié)構(gòu)化分析SA;軟件需求規(guī)格說明書SAS;結(jié)構(gòu)圖SC;數(shù)據(jù)字典DD;狀態(tài)轉(zhuǎn)換圖STD;數(shù)據(jù)流圖DFD2 .瀑布模型的生命周期:需求定義與分析-»總體設計-»詳細設計-»編碼-»測試-»維護3 .系統(tǒng)的開發(fā)流程SA和SD流程:結(jié)構(gòu)化分析工具:DFD,PSPEC-»分析模型分層DFD圖+SRS結(jié)構(gòu)化設計工具:SC圖映射-»初始設計模型初始SC圖初始設計模型

9、初始SC圖優(yōu)化-»最終設計模型最終SC圖4 .結(jié)構(gòu)化分析的根本步驟:自頂向下,功能分解分層DFD、由后向前,定義數(shù)據(jù)和加工DD,PSPEC、根據(jù)需要,分析復雜數(shù)據(jù)和動態(tài)模型E-R圖,CFD,CSPEC,STD編寫軟件需求規(guī)格說明書SRS5 .SA需求分析的兩項根本任務:建立系統(tǒng)分析模型、編寫SRS6 .分析模型組成:功能模型、數(shù)據(jù)模型、行為模型3種.7 .抽象和分解是結(jié)構(gòu)化分析的主要指導思想,細化的實質(zhì)是分解.分解和細化是軟件設計的策略.8 .SD階段把分析模型中的DFD圖轉(zhuǎn)換為最終SC圖.9 .傳統(tǒng)軟件的開發(fā)技術(shù):結(jié)構(gòu)化設計、模塊設計.10 .軟件設計:總體設計/概要設計初始SC圖

10、、最終SC圖、詳細設計用逐步細化的方法,完成模塊的說明.11 .需求分析的步驟:需求獲取、需求提煉、需求描述、需求驗證.12 .SA模型的組成/數(shù)如、明狀態(tài)變遷圖STDffl建幽用13 .SA模型同時覆蓋了信息模型、功能模型、行為模型3種模型.14 .DFD圖不能表示程序的限制結(jié)構(gòu)如選擇、循環(huán)結(jié)構(gòu).15 .加工規(guī)格說明通常用結(jié)構(gòu)化語言、判定表、判定樹作為描述工具.16 .軟件中的數(shù)據(jù)分為3類:數(shù)據(jù)項數(shù)據(jù)元素、數(shù)據(jù)流多個相關(guān)數(shù)據(jù)項、數(shù)據(jù)文件和數(shù)據(jù)庫.17 .數(shù)據(jù)字典的組成:數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲文件或數(shù)據(jù)庫卜加工處理邏輯卜外部項人、物或其它軟件系統(tǒng).輸出數(shù)據(jù)數(shù)據(jù)條件控初輸入18 .SD模型是由

11、SA模型映射而來的.SA模型的數(shù)據(jù)字典可轉(zhuǎn)換為待開發(fā)系統(tǒng)的數(shù)據(jù)設計數(shù)據(jù)流圖可轉(zhuǎn)換為體系結(jié)構(gòu)設計SC圖與接口設計加工規(guī)格說明可轉(zhuǎn)換為模塊內(nèi)部的詳細過程設計19 .SD模型的組成:從上到下依次是:過程設計、接口設計、體系結(jié)構(gòu)設計、數(shù)據(jù)設計.20 .結(jié)構(gòu)化分析的根本步驟:自頂向下對系統(tǒng)進行功能分解,畫出DFD圖;由后向前定義系統(tǒng)的數(shù)據(jù)和加工;編制DD和PEPES寫出SRS21 .把不需要分解的加工成為根本加工.把逐步分解成為“自頂向下,逐步細化.22 .DFD的優(yōu)點:便于實現(xiàn),便于使用.23 .傳統(tǒng)的軟件設計可細分為:面向數(shù)據(jù)流設計SD方法、面向數(shù)據(jù)結(jié)構(gòu)設計Jackson方法.24 .用數(shù)據(jù)流圖表示

12、邏輯模型,在設計階段,根據(jù)數(shù)據(jù)流圖的不同類型變換型、事務型轉(zhuǎn)換為相應的軟件結(jié)構(gòu).25 .結(jié)構(gòu)化設計通常從DFD圖到SC圖的映射開始.26 .面向數(shù)據(jù)流的設計方法:從DFD圖到SC圖的映射的4個步驟:復審DFD圖,必要時可再次進行修改或細化;鑒別DFD圖的結(jié)構(gòu)特征:事務?變換?;根據(jù)規(guī)那么,把DFD圖為初始的SC圖;受型DFD盤寸一祈給SC事務型DF口事.分_奶始SC改良初始的SC圖.27 .變換型結(jié)構(gòu):由輸入、變換中央和輸出三局部組成.事務型結(jié)構(gòu):具有在多種事務中選擇執(zhí)行某類事物的水平.28 .變換映射的步驟:劃分DFD圖的邊界、建立初始SC圖的框架、分解SC圖的各個分支.事務映射的步驟:在D

13、FD圖上確定邊界、畫出SC圖框架、分解和細化接受分支和發(fā)送分支.29 .優(yōu)化結(jié)構(gòu)設計的指導規(guī)那么:對模塊分割、合并和變動調(diào)用關(guān)系的指導規(guī)那么、保持高扇入/低扇出的原那么、作用域限制域規(guī)那么.30 .模塊設計詳細設計的主要任務是編寫軟件的模塊設計說明書.目的是確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu).31 .模塊設計的原那么:清楚第一的設計風格、結(jié)構(gòu)化的限制結(jié)構(gòu)、逐步細化的實現(xiàn)方法.32 .“結(jié)構(gòu)化保證程序的清楚、易讀,“逐步細化實現(xiàn)程序的正確、可靠.33 .結(jié)構(gòu)化程序設計原理和逐步細化的實現(xiàn)方法是完成模塊設計的根底.第四章面向?qū)ο蠛蚒ML1 .面向?qū)ο蟮母咎卣鳎撼橄?、封裝、集成、多態(tài).2 .面向?qū)ο?/p>

14、開發(fā)的優(yōu)點:提升軟件系統(tǒng)的可復用性、可擴展性、可維護性.3 .元素之間的聯(lián)系有:關(guān)聯(lián)、泛化、依賴、實現(xiàn)、聚集、組合.4 .UML的4個抽象層次:用戶模型、模型、元模型、元元模型.5 .UML的2類圖:靜態(tài)圖用例圖、類圖、對象圖、構(gòu)件圖、部署圖;動態(tài)圖狀態(tài)圖、時序圖、協(xié)作圖、活動圖5種視圖:用例視圖、邏輯視圖、進程視圖、構(gòu)件視圖、部署視圖.6 .UML的特點:同意標準、面向?qū)ο?、表達水平強,可視化.7 .UML模型作為測試階段的依據(jù):單元測試使用類圖和類規(guī)格說明;集成測試使用構(gòu)件圖和協(xié)作圖;系統(tǒng)測試使用用例圖來驗證系統(tǒng)行為.8 .UML靜態(tài)建模機制包括:用例圖、類圖、對象圖構(gòu)件圖、部署圖.用例圖

15、有:系統(tǒng)邊界、用例、參與者、關(guān)聯(lián)等.用例之間存在的關(guān)系:擴展關(guān)系、包含關(guān)系.包與包之間的關(guān)系有:依賴、泛化.9 .UML動態(tài)建模機制包括:狀態(tài)圖、時序圖、協(xié)作圖、活動圖.10 .消息:簡單消息、同步消息、異步消息.狀態(tài)圖有:初態(tài)、終態(tài)、中間態(tài).11 .時序圖中的消息可以是信號或操作調(diào)用.12 .時序圖著重表達交互的時間順序;協(xié)作圖著重表達交互對象間的靜態(tài)鏈接.13 .時序圖和協(xié)作圖適合描述單個用例中幾個對象的行為;活動圖適合表現(xiàn)跨越多用例或多線程的復雜行為.14 .構(gòu)件圖可以用來表現(xiàn)、編譯、鏈接、執(zhí)行時構(gòu)件間的依賴關(guān)系.15 .UML用圖表示語法,用元模型表示語義,采用模型來描述系統(tǒng)的結(jié)構(gòu)靜態(tài)

16、特征以及行為動態(tài)特征第五章需求工程和需求分析1 .軟件需求的3個層次:業(yè)務需求、用戶需求、功能需求.軟件工程中40%60%的問題源自軟件需求階段.2 .軟件需求的6個特性:功能性、可用性、可靠性、性能、可支持性、設計約束.3 .功能性:普通功能、全局性功能.4 .軟件需求工程:是一門應用有效的技術(shù)和方法,適宜的工具和符號來確定、治理和描述目標系統(tǒng)及其外部行為特征的學科.SRS、需求驗證.6 .需求分析的主要任務:建立需求模型.需求分析是迭代過程.常見模型有:用例圖、數(shù)據(jù)流圖、實體聯(lián)系圖、限制流圖、狀態(tài)轉(zhuǎn)換圖.精品資料推薦7 .需求建模方法:結(jié)構(gòu)化分析建模方法、面向?qū)ο蠓治鼋?行為模8 .結(jié)構(gòu)

17、化需求模型由3局部組成:功能模型數(shù)據(jù)流圖、加工規(guī)格說明書、數(shù)據(jù)模型數(shù)據(jù)字典、ER圖、型狀態(tài)轉(zhuǎn)換圖、限制流圖、限制規(guī)格說明書.9 .面向?qū)ο笮枨竽P停河美P陀美龍D、用例規(guī)約、補充規(guī)約、術(shù)語表.10 .面向?qū)ο笮枨蠼5牟襟E:畫用例圖、寫用例規(guī)約、描述補充規(guī)約、編寫術(shù)語表.11 .用例規(guī)約文檔的內(nèi)容:簡要說明、事件流、特殊需求、前置條件和后置條件.12 .用例規(guī)約的檢查:功能需求的完備性、模型是否易于理解、是否存在不一致性、防止二義性.13 .軟件需求規(guī)格說明書SRS的內(nèi)容:引言、信息描述、功能描述、行為描述、質(zhì)量保證、接口描述、其他描述.14 .質(zhì)量保證說明軟件交付前進行功能測試、性能測試.接

18、口描述包括系統(tǒng)用戶界面、硬件接口、軟件接口、通信接口.15 .需求治理的流程:需求確認、需求跟蹤、需求變更.需求跟蹤有兩種方式,正向跟蹤與逆向跟蹤.需求變更的流程:變更申請、審批、更改、更新確認.16 .需求治理的5個特定實踐:圖5.12需求實踐示意圖17 .基線Baseline是軟件文本或源碼或其它產(chǎn)出物的一個穩(wěn)定版本,它是進一步開發(fā)的根底.第六章面向?qū)ο蠓治? .面向?qū)ο蠓治鯫OA的建模步驟:需求理解、定義類和對象、標識對象的屬性和操作、標識類的結(jié)構(gòu)和層次、建立對象-關(guān)系模型、建立對象-行為模型、評審OOA模型.2 .OOA的優(yōu)點:同時增強了對問題空間和軟件系統(tǒng)的理解;改良包括用戶在內(nèi)的軟

19、件分析有關(guān)的各類人員之間的交流;對需求的變化具有較強的適應性;很好的支持軟件復用;保證從需求模型到設計模型的一致性.3 .分析模型是一種概念模型的特點:全面覆蓋軟件的功能需求;分析模型與軟件的實現(xiàn)無關(guān);分析模型的表述方法與所采用的分析技術(shù)有關(guān).定義4 .典型的五層次模型:建立類/對象層抽象出類和對象、建立屬性層設計靜態(tài)屬性和關(guān)系、建立效勞層動態(tài)屬性和消息通信、建立結(jié)構(gòu)層定義層次結(jié)構(gòu)關(guān)系、建立主題層每個主題構(gòu)成一個子系統(tǒng).5 .OOA方法的共同特征:類和類層次的表示、建立對象-關(guān)系模型、建立對象行為模型.6 .面向?qū)ο箝_發(fā)的全過程:OOA分析、OOD設計、OOP編碼、OOT測試.7 .從建立需求

20、到開發(fā)軟件成品先后要生成分析、設計、實現(xiàn)3種模型.8 .用例模型是面向?qū)ο蠓治鲎畛S玫囊环N模型.9 .用例分析的步驟:補充用例規(guī)約、研究用例的事件流,將用例的責任分配給假設干分析類、分析類之間的協(xié)作.10 .分析類的類型:邊界類、限制類、實體類.11 .邊界類包括:用戶界面類、系統(tǒng)接口類、設備接口類.如事務治理器、資源協(xié)調(diào)器、錯誤處理器都可為限制類.12 .為分析類分配責任是OOD的重點.實體類具有持久性.13 .對象-關(guān)系模型的內(nèi)容:分析類的屬性、分析類的關(guān)聯(lián)、分析類圖、分析類的合并.14 .時序圖中的元素有:對象、對象生命線、消息.協(xié)作圖中的元素有:對象、鏈接、消息流.15 .面向?qū)ο蠓治?/p>

21、的任務是:將需求階段產(chǎn)生的需求模型轉(zhuǎn)換為軟件分析模型.面向?qū)ο笤O計的任務是:將分析階段建立的分析模型轉(zhuǎn)換為軟件設計模型.第七章面向?qū)ο笤O計1 .軟件設計的根本概念:模塊定義輸入、輸出和特性的程序?qū)嶓w與構(gòu)件、抽象與細化、信息隱藏、軟件復用.2 .軟件設計的根底:分析階段對目標系統(tǒng)的數(shù)據(jù)、功能、行為建模.3 .軟件設計包括:數(shù)據(jù)設計、體系結(jié)構(gòu)設計、接口設計、過程設計.4 .分解和模塊獨立性是實現(xiàn)模塊設計的重要指導思想.5 .模塊數(shù)與開發(fā)工作量的關(guān)系:就件開發(fā)工作量總本錢6 .概要設計總體設計:包括軟件的結(jié)構(gòu)和接口設計,并編寫概要設計文檔.詳細設計,確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu),產(chǎn)生描述各模塊程序過

22、程的詳細文檔.每個階段完成的文檔都必須經(jīng)過復審.7 .模塊的獨立性從2個方面度量:模塊本身的內(nèi)聚、模塊之間的耦合.8 .內(nèi)聚分類:低內(nèi)聚偶然性內(nèi)聚、邏輯性內(nèi)聚、時間性內(nèi)聚、中內(nèi)聚過程性內(nèi)聚、通訊性內(nèi)聚、高內(nèi)聚順序性內(nèi)聚、功能性內(nèi)聚.9 .耦合分類:弱耦合非直接耦合、數(shù)據(jù)耦合、特征耦合、中耦合限制耦合、較強耦合外部耦合、公共耦合強耦合內(nèi)容耦合.10 .一個模塊,一個功能是模塊化設計的一條準那么.11 .OO設計模型由系統(tǒng)架構(gòu)層、類和對象層、消息層、責任層4個層次組成.12 .面向?qū)ο笤O計中,數(shù)據(jù)和過程被封裝為類/對象的屬性和操作;接口被封裝為對象間的消息,而體系結(jié)構(gòu)的設計那么表達為系統(tǒng)的技術(shù)根底

23、設施和具有限制流程的對象間的協(xié)作.13 .OOD的軟件設計可劃分為2個層次:系統(tǒng)架構(gòu)設計、系統(tǒng)元素設計.十度類型含K弱耦占非直性科含兩個模坡都施依.住而不需另一個模塊的存在.數(shù)據(jù)耦合兩個模覲之間通過琴題傳遍島本美重的數(shù)據(jù).標記福合持把耦合兩個模塊至少有一個通過界而傳遞的公共參量,包含內(nèi)部結(jié)“如二字符串或記錄.+林告限制出件一個模塊在界面上傳遞一個信號限制另一個球捶收信號的裁決的幼柞根據(jù)信號值進行調(diào)整.十強耦自外部將考糊個喂多個橫塊共同引用一個全腐變顯一公共耦合兩個或3個模塊共同引用,個市局砂據(jù)結(jié)構(gòu).個模塊口隹除的業(yè)排批另十枚塊.幃稿告向善相令一個模塊諱河或修直另一個模塊的內(nèi)急整據(jù);1一個糧堤不

24、通過正常人口而跳將到另面宜近家分析槿型司向?qū)菰O計模型14 .系統(tǒng)架構(gòu)設計的內(nèi)容:系統(tǒng)高層結(jié)構(gòu)設計、確定設計元素、確定任務治理策略、實現(xiàn)分布式機制、設計數(shù)據(jù)存儲方案、人機界面設計.系統(tǒng)元素設計的內(nèi)容:子系統(tǒng)設計、分包設計、類/對象設計.15 .軟件模式分類按抽象級別:架構(gòu)模式、設計模式、習慣用法.16 .常用的架構(gòu)模式有:層次架構(gòu)、模型領(lǐng)圖-限制架構(gòu)、管道-過濾器架構(gòu)、黑板架構(gòu).17 .層次架構(gòu)的根本原那么:將系統(tǒng)劃分不同的層次.確定設計元素的主要工作是:確定設計類、子系統(tǒng)、子系統(tǒng)接口.18 .面向并行需求的技術(shù):引進任務治理部件、基于進程和線程的限制.19 .任務治理策略:多處理機方案、操作

25、系統(tǒng)方案、應用程序方案.20 .設計治理并發(fā)任務對象的策略:確定任務的特征、定義一個協(xié)調(diào)者任務和與之關(guān)聯(lián)的對象、集成其它任務和協(xié)調(diào)者.21 .任務治理部件的設計步驟:識別由事件驅(qū)動和時間驅(qū)動的任務、識別關(guān)鍵性任務,任務優(yōu)先級和任務治理類、定義任務、必要時擴充有關(guān)任務的類和對象.22 .23 .分包的原那么:將邊界類打包、將功能相關(guān)的類打包.高內(nèi)聚-低耦合的原那么,包之間的耦合表現(xiàn)為依賴關(guān)系.24 .類設計的步驟:創(chuàng)立初始設計類、定義操作、定義方法、定義狀態(tài)、定義屬性、定義依賴關(guān)系、定義關(guān)聯(lián)關(guān)系、定義泛化關(guān)系、處理非功能性需求.精品資料推薦第八章編碼和測試1 .選擇編碼語言的標準:應用領(lǐng)域、算法

26、與設計復雜性、數(shù)據(jù)結(jié)構(gòu)的復雜性、效率的考慮.2 .測試和糾錯:測試testing的目的與任務:目的:發(fā)現(xiàn)程序的錯誤;任務:通過執(zhí)行程序,暴露潛在的錯誤.糾錯debugging的目的與任務:目的:定位和糾正錯誤;任務:消除軟件故障,保證程序的可靠運行.3 .軟彳:待測軟件,包括軟件需求規(guī)格說明書、設計說明書和源程序代碼等文檔資料.測試配置:包括測試方案、測試用例和測試期望結(jié)果.評彳:將測試結(jié)果和期望的結(jié)果相比擬,如果不符就意味著錯誤,需要糾正糾錯.可靠性:對測試結(jié)果進行收集和評價,得到可靠性的相關(guān)指標.1 .如果出現(xiàn)規(guī)律性、嚴重性的錯誤,軟件質(zhì)量可靠性值得疑心,需進一步測試;2 .如果軟件功能完

27、成較好,出現(xiàn)的錯誤也易糾正,那么:或者軟件質(zhì)量和可靠性是可以接受的;或者未發(fā)現(xiàn)錯誤,不排除測試配置考慮不周,可能潛伏著的錯誤.4 .模塊邏輯中采用單入口、單出口標準結(jié)構(gòu)、防止使用容易引起混淆的結(jié)構(gòu)和語句、嵌套深度不超過3-4層.5 .測試的特性:挑剔型、復雜性、不徹底性、經(jīng)濟型.6 .測試分類:靜態(tài)分析靜態(tài)分析器分析、代碼評審代碼會審、走查、辦公桌檢查;動態(tài)測試黑盒測試功能測試、白盒測試結(jié)構(gòu)測試.7 .測試文檔內(nèi)容:測試方案、測試報告.測試方案的主體是測試內(nèi)容說明:測試工程名稱、測試目的、步驟和進度、測試用例設計.測試報告的主題是測試結(jié)果:測試工程名稱、實測結(jié)果和期望結(jié)果的比擬、發(fā)現(xiàn)問題、測試

28、效果.8 .黑盒測試分類:等價類法、邊界值法、錯誤猜想法.9 .白盒測試分類:路經(jīng)測試點覆蓋、邊覆蓋、路徑覆蓋、邏輯覆蓋測試語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋.10 .路經(jīng)測試的特征:滿足結(jié)構(gòu)測試的最低要求、有利于安排循環(huán)測試.11 .2種.集成測試策略:基于線程的測試、基于使用的測試.問題維護目的第九章軟件維護滿定用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境不斷提升的要求,進而到達箕長軟件壽命的耳的.噓護種類糾鎧性適他性完善性封程序使用期間發(fā)現(xiàn)的程序錯端講燈饞斷和改正的過程方配合更優(yōu)了的環(huán)境進行修改軟件的造動:滿足用戶在使用過程中提出增加新的功能或修改已有功能的建議而講行的工作工

29、洵防性為改善未來的可維臚性或可靠性而修改軟件的工作.恢件維護的工作小率大,不同應用較域的維技本錢差異也很大.一般大量被件的推護本錢平均高達開發(fā)本錢的四倍左右.刎蠟性21X25X完善性50,硬防性4$左右1 .決定軟件可維護性的因因素內(nèi)容可理解性軟件的結(jié)構(gòu)、樓口.功艙和內(nèi)部過程的難易程度:模塊化.詳細設計文檔.結(jié)構(gòu)化設計、源代碼內(nèi)部的文檔:程序設計語言口可希試性啰斷角1測試的難易程度取決于軟件容易理第的程度:1良好的文檔對診斷前劇試是至關(guān)效要的診斷和惻武:軟件結(jié)構(gòu)、可用的測試工具和蠲試工具,以往的疆試過程是很鼠要的在設計階窿放盡力把軟怦設計成容易診斷種涮試的.可修改性與設計原理.娓那么直揍相關(guān):

30、與稻含、內(nèi)聚.局部化,辟制域、作用域等等都有關(guān)系.2 .軟件副作用的類型:修改編碼的副作用、修改數(shù)據(jù)的副作用、修改文檔的副作用.3 .軟件配置治理能夠系統(tǒng)的處理變更從而使得軟件系統(tǒng)可以隨時保持其完整性.主要內(nèi)容包括:配置治理數(shù)據(jù)庫、版本限制、變動限制.4 .什么是再工程:將新技術(shù)和新工具應用于老的軟件的一種較徹底的預防性維護.第十章軟件復用1 .軟件復用的定義:SR定義為利用工程知識或方法,由一已存在的系統(tǒng),來建造一新系統(tǒng).目的:這種技術(shù),可改進軟件產(chǎn)品質(zhì)量和生產(chǎn)率.還有軟件檢查、軟件計量、軟件可靠性、軟件可維修性、軟件工具評估和選擇等.2 .軟件復用的目的是能更快、更好、本錢更低地生產(chǎn)軟件制

31、品.3 .根據(jù)可復用的粒度,軟件制品從小到大分為以下幾類:源代碼復用高級語言編寫的源代碼、軟件體系結(jié)構(gòu)復用已有軟件的體系結(jié)構(gòu)、應用程序生成器對整個軟件體系結(jié)構(gòu)、相應的子系統(tǒng)、特定的數(shù)據(jù)結(jié)構(gòu)和算法、4域特定的軟件體系結(jié)構(gòu)的復用特定領(lǐng)域中存在的公共體系結(jié)構(gòu)及其構(gòu)件.4 .領(lǐng)域:指的是一組具有相似或相近軟件需求的應用系統(tǒng)所覆蓋的功能區(qū)域.領(lǐng)域工程:通過領(lǐng)域分析domainanalysis成出最優(yōu)復用,對它們進行設計和構(gòu)造,形成為可復用構(gòu)件,進而建立大規(guī)模的軟件構(gòu)件倉庫的過程.5 .橫向復用:是指復用不同應用領(lǐng)域中的軟件元素.縱向復用:是指在一類具有較多公共性的應用領(lǐng)域之間進行軟件構(gòu)件進行復用.6 .

32、領(lǐng)域分析:領(lǐng)域分析是在特定應用領(lǐng)域?qū)ふ易顑?yōu)復用,以公共對象、類、子集合和框架等形式進行標識、分析和規(guī)約.目標:是獲得領(lǐng)域分析模型.7 .構(gòu)件應具有的特征:通用性、可變性、易組裝性;基于面向?qū)ο蠹夹g(shù)的復用通用構(gòu)件.8 .領(lǐng)域構(gòu)件的設計框架:標準數(shù)據(jù):標識標準的全局數(shù)據(jù)結(jié)構(gòu);標準接口協(xié)議:三個層次構(gòu)件內(nèi)、外、人機接口程序模板:成形的結(jié)構(gòu)模型作為新程序的體系結(jié)構(gòu)設計的模板9 .幾種流行的構(gòu)件技術(shù):組件對象模型技術(shù)COM、公共對象請求代理體系結(jié)構(gòu)CORBA、開放式文檔接口.10 .建立可復用構(gòu)件庫目前最常用的有三種分類模式:枚舉分類、呈面分類呈面<=8、屬性-值分類.11 .應用系統(tǒng)工程ASEE

33、:定義:在基于構(gòu)件的軟件開發(fā)中,通過復用構(gòu)件系統(tǒng)開發(fā)某個特定應用系統(tǒng)的構(gòu)件工程.12 .ASE過程的根本步驟:獲取需求建立用例模型、分析用用例模型輸入來組裝和特化分析構(gòu)件精品資料推薦設計應用系統(tǒng)用分析模型輸入來組裝和特化設計構(gòu)件、實現(xiàn)應用系統(tǒng)用設計模型輸入來組裝和特化實現(xiàn)構(gòu)件測試應用系統(tǒng)組裝和特化測試構(gòu)件,測試應用系統(tǒng)、應用系統(tǒng)打包.13 .OO方法對軟件復用的支持:OOA模型、OOA與OOD的分工、對象的表示、一般-特殊結(jié)構(gòu)、整體-局部結(jié)構(gòu)、實例連接、類描述模板、用例.14 .復用技術(shù)對OO方法的支持:類庫、構(gòu)件庫、構(gòu)架庫、工具、OOA過程.題目1:多模塊程序的測試有哪些層次?各層測試主要解

34、決什么問題?解答:多模塊測試的層次所處時段解決的問題涉及測試方法成果單元測試/模塊測試編碼階段1 .對模塊代碼進行編譯,發(fā)現(xiàn)并糾正其語法錯誤;2 .進行靜態(tài)分析,驗證模塊結(jié)構(gòu)及其內(nèi)部調(diào)用序列是否正確;3 .確定模塊的測試策略,并據(jù)此設一組測試用例和必要的測試軟件;4 .用選定的測試用例對模塊進行測試,直至滿足測試終止標準為止;5 .注重執(zhí)行路徑、出錯處理路徑、局部數(shù)據(jù)結(jié)構(gòu)、模塊的對外接口的測試6 .編制單元測試報告.黑盒測試一一程序外部測試、功能性測試白盒測試一一程序內(nèi)部測試、覆蓋測試測試報告集成測試集成測試階段1 .制訂集成測試實施策略2 .確定集成測試的實施步驟,設計測試用例3 .逐一地添

35、加模塊,進行測試模塊子系統(tǒng)或小系統(tǒng)集成測試;練習驅(qū)動與樁的設計、組合及集成測試.已組裝軟件高級測試確認測試集成測試階段1.進一步驗證軟件的有效性,即驗證軟件的功能和性能是否與用戶的要求T已確認軟件系統(tǒng)測試驗收階段1 .測試是否與硬件協(xié)調(diào)運行2 .測試是否和原來就有的其它軟件協(xié)調(diào)運行3 .測試是否完成SRS對它的要求系統(tǒng)的性能檢驗和軟件系統(tǒng)實時運行狀況的測試可運行的系統(tǒng)題目1:軟件維護有哪些種類?他們的目標分別是什么?解答:軟件維護的種類以及對應目標依次是:a完善性維護在軟件漫長的運行時期中,用戶往往會對軟件提出新的功能要求與性能要求.為了適應這些變化,應用軟件原來的功能和性能需要擴充和增強.這

36、種增加軟件功能、增強軟件性能、提升軟件運行效率而進行的維護活動稱為完善性維護.b適應性維護讓軟件適應運行環(huán)境的改變而進行的一種維護.c糾錯性維護糾正在開發(fā)期間未能發(fā)現(xiàn)的遺留錯誤.d預防性維護為了提升軟件的可維護性和可靠性而對軟件進行的修改稱為預防性維護.題目2:軟件配置治理的主要功能是什么?解答:系統(tǒng)的治理軟件系統(tǒng)中的多重版本;全面記載系統(tǒng)開發(fā)的歷史過程,包括為什么修改,誰做了修改,修改了什么;治理和追蹤開發(fā)過程中危害軟件質(zhì)量以及影響開發(fā)周期的缺陷和變化;對開發(fā)過程進行有效的治理和限制.精品資料推薦表7.1“號的等價分類輸入數(shù)據(jù)有效等價類無效等價類地區(qū)碼1、空2、3位數(shù)字3、非空,但有非數(shù)字字

37、符4、非空,位數(shù)小于3位數(shù)字5、非空,位數(shù)多于3位數(shù)字號前二位6、非000'且非111'的3位數(shù)字7、空8、非空,但有非數(shù)字字符9、非空,位數(shù)小于3位數(shù)字10、非空,位數(shù)多于3位數(shù)字號后四位11、任意4位數(shù)字12、空13、非空,但有非數(shù)字字符14、非空,位數(shù)小于4位數(shù)字15、非空,位數(shù)多于4位數(shù)字表7.2有效等價類的測試用例測試數(shù)據(jù)期望結(jié)果測試范圍地區(qū)碼號前二位號后四位NULL1234567輸入后效1、6、110102345678輸入后效2、6、11表7.3無效等價類的測試用例測試數(shù)據(jù)期望結(jié)果測試范圍地區(qū)碼號前二位號后四位#1*1234567地區(qū)碼輸入無效3、6、11012345678地區(qū)碼輸入無效4、6、1101232588888地區(qū)碼輸入無效5、6、11NULLNULL8888號前二位輸入無效1、7、11010#1*6666號前二位輸入無效1、8、11020456688號前二位輸入無效1、9、11NULL7898866號前二位輸入無效1、10、11NULL666NULL號后四位輸入無效2、6、12010888*02#號后四位輸入無效2、6、1302068823號后四位輸入無效2、6、14NULL86645678號后四

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論