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

下載本文檔

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

文檔簡介

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

2、 軟件工程:是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。它采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護軟件,目的是為了實現(xiàn)按照預(yù)期的進度和經(jīng)費完成軟件生產(chǎn)計劃,同時提高軟件的生產(chǎn)率和可靠性。7. 軟件的發(fā)展:大體經(jīng)歷了 程序、軟件、軟件產(chǎn)品 3個階段。8. 工具 和 方法 是軟件開發(fā)技術(shù)的2大支柱。9. 3種編程泛型:過程式編程泛型、面向?qū)ο缶幊谭盒汀⒒跇?gòu)件技術(shù)的編程泛型10. 面向?qū)ο蟪绦蛟O(shè)計中,數(shù)據(jù)和操作被封裝在一個對象中,對象之間則是通過消息相互聯(lián)系。11. 構(gòu)件:標準化/規(guī)格化的對象類。12. 常用變成力度的大小來比較3種編程泛型的差異。粒度由小到大依次是:過程式編程范式、面向?qū)ο缶幊谭妒?/p>

3、、基于構(gòu)件的編程泛型。13. 軟件工程的分化:傳統(tǒng)軟件工程:結(jié)構(gòu)化分析-結(jié)構(gòu)化設(shè)計-面向過程編碼-軟件測試面向?qū)ο筌浖こ蹋篛O分析與對象抽取-對象詳細設(shè)計-面向?qū)ο蟮木幋a與測試基于構(gòu)件的軟件工程(以可復(fù)用構(gòu)件和測試工具為后盾):領(lǐng)域分析和測試計劃定制-領(lǐng)域設(shè)計-建立可復(fù)用構(gòu)件庫-按構(gòu)件集成模型查找與集成構(gòu)件14. 分析先于設(shè)計,設(shè)計先于編碼,使程序(的結(jié)構(gòu))適合于問題(的結(jié)構(gòu))。第二章 軟件生存周期與軟件過程1. 軟件生存周期:計劃、開發(fā)、運行3個時期。需求分析-軟件分析-軟件設(shè)計-編碼測試-軟件測試-運行維護2. 需求分析(用戶視角):功能需求、性能需求、環(huán)境約束、外部接口描述。3. 軟件

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

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

6、型:是將形式化軟件開發(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ā)模型。力求在分析和設(shè)計階段消除錯誤。18. 統(tǒng)一過程RUP 包括 4 個階段:初始、細化、構(gòu)造、遷移。以用例為驅(qū)動, 以系統(tǒng)架構(gòu)為中心的迭代與增量過程。每個階段又分為若干次迭代,每次迭代都有一個核心工作流,有5 個活動(需求、分析、設(shè)計

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

8、件測試計劃、文檔編制計劃、用戶培訓(xùn)計劃、綜合支持計劃、軟件分發(fā)計劃。第三章 結(jié)構(gòu)化分析與設(shè)計1. 結(jié)構(gòu)化設(shè)計 SD ; 結(jié)構(gòu)化分析 SA ; 軟件需求規(guī)格說明書 SAS ; 結(jié)構(gòu)圖 SC ;數(shù)據(jù)字典 DD ; 狀態(tài)轉(zhuǎn)換圖 STD ; 數(shù)據(jù)流圖 DFD2. 瀑布模型的生命周期:需求定義與分析-總體設(shè)計-詳細設(shè)計-編碼-測試-維護3. 系統(tǒng)的開發(fā)流程(SA和SD流程):結(jié)構(gòu)化分析(工具:DFD,PSPEC) -分析模型(分層DFD圖)+SRS結(jié)構(gòu)化設(shè)計(工具:SC圖) (映射)-初始設(shè)計模型(初始SC圖)初始設(shè)計模型(初始SC圖) (優(yōu)化)-最終設(shè)計模型(最終SC圖)4. 結(jié)構(gòu)化分析的基本步驟:自

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

10、,完成模塊的說明)。11. 需求分析的步驟:需求獲取、需求提煉、需求描述、需求驗證。12. SA模型的組成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))。 18. SD模型是由SA模型映射而來的。SA模型的數(shù)據(jù)字典可轉(zhuǎn)換為待開發(fā)系統(tǒng)的數(shù)據(jù)設(shè)計數(shù)據(jù)

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

12、型、事務(wù)型)轉(zhuǎn)換為相應(yīng)的軟件結(jié)構(gòu)。25. 結(jié)構(gòu)化設(shè)計通常從DFD圖到SC圖的映射開始。26. 面向數(shù)據(jù)流的設(shè)計方法:從DFD圖到SC圖的映射的4個步驟 :復(fù)審DFD圖,必要時可再次進行修改或細化;鑒別DFD圖的結(jié)構(gòu)特征:事務(wù)?變換?;按照規(guī)則,把DFD圖為初始的SC圖 ;改進初始的SC圖 。27. 變換型結(jié)構(gòu):由輸入、變換中心和輸出三部分組成。事務(wù)型結(jié)構(gòu):具有在多種事務(wù)中選擇執(zhí)行某類事物的能力。28. 變換映射的步驟:劃分DFD圖的邊界、建立初始SC圖的框架、分解SC圖的各個分支。事務(wù)映射的步驟:在DFD圖上確定邊界、畫出SC圖框架、分解和細化接受分支和發(fā)送分支。29. 優(yōu)化結(jié)構(gòu)設(shè)計的指導(dǎo)規(guī)則

13、:對模塊分割、合并和變動調(diào)用關(guān)系的指導(dǎo)規(guī)則、保持高扇入/低扇出的原則、作用域/控制域規(guī)則。30. 模塊設(shè)計(詳細設(shè)計)的主要任務(wù)是編寫軟件的模塊設(shè)計說明書。目的是確定模塊采用的算法和塊內(nèi)數(shù)據(jù)結(jié)構(gòu)。31. 模塊設(shè)計的原則:清晰第一的設(shè)計風(fēng)格、結(jié)構(gòu)化的控制結(jié)構(gòu)、逐步細化的實現(xiàn)方法。32. “結(jié)構(gòu)化”保證程序的清晰、易讀,“逐步細化”實現(xiàn)程序的正確、可靠。33. 結(jié)構(gòu)化程序設(shè)計原理和逐步細化的實現(xiàn)方法是完成模塊設(shè)計的基礎(chǔ)。第四章 面向?qū)ο蠛蚒ML1. 面向?qū)ο蟮幕咎卣鳎撼橄?、封裝、集成、多態(tài)。2. 面向?qū)ο箝_發(fā)的優(yōu)點:提高軟件系統(tǒng)的可復(fù)用性、可擴展性、可維護性。-3. 元素之間的聯(lián)系有:關(guān)聯(lián)、泛化

14、、依賴、實現(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)件圖、部署圖。用例圖有:系統(tǒng)邊界、用例、參與者、關(guān)聯(lián)等。用例之間存在的關(guān)系:擴展關(guān)系、包含關(guān)系。包與包

15、之間的關(guān)系有:依賴、泛化。9. UML動態(tài)建模機制包括:狀態(tài)圖、時序圖、協(xié)作圖、活動圖。10. 消息:簡單消息、同步消息、異步消息。狀態(tài)圖有:初態(tài)、終態(tài)、中間態(tài)。11. 時序圖中的消息可以是信號或操作調(diào)用。12. 時序圖著重體現(xiàn)交互的時間順序;協(xié)作圖著重體現(xiàn)交互對象間的靜態(tài)鏈接。13. 時序圖和協(xié)作圖適合描述單個用例中幾個對象的行為;活動圖適合表現(xiàn)跨越多用例或多線程的復(fù)雜行為。14. 構(gòu)件圖可以用來表現(xiàn)、編譯、鏈接、執(zhí)行時構(gòu)件間的依賴關(guān)系。15. UML用圖表示語法,用元模型表示語義,采用模型來描述系統(tǒng)的結(jié)構(gòu)(靜態(tài)特征)以及行為(動態(tài)特征)。第五章 需求工程和需求分析1. 軟件需求的3個層次:

16、業(yè)務(wù)需求、用戶需求、功能需求。軟件項目中40%60%的問題源自軟件需求階段。2. 軟件需求的6個特性:功能性、可用性、可靠性、性能、可支持性、設(shè)計約束。3. 功能性:普通功能、全局性功能。4. 軟件需求工程:是一門應(yīng)用有效的技術(shù)和方法,合適的工具和符號來確定、管理和描述目標系統(tǒng)及其外部行為特征的學(xué)科。-5. 需求分析的步驟:需求獲取、需求建模、需求描述(編寫SRS)、需求驗證。6. 需求分析的主要任務(wù):建立需求模型。需求分析是迭代過程。常見模型有:用例圖、數(shù)據(jù)流圖、實體聯(lián)系圖、控制流圖、狀態(tài)轉(zhuǎn)換圖。7. 需求建模方法:結(jié)構(gòu)化分析建模方法、面向?qū)ο蠓治鼋!?. 結(jié)構(gòu)化需求模型由3部分組成:功能

17、模型(數(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個特定實踐:17. 基線(Baseline) 是軟件文檔或源碼(或其它產(chǎn)出物)的一個穩(wěn)定版本,它是進一步開發(fā)的基礎(chǔ)。第六章 面向?qū)ο蠓治?. 面向?qū)ο蠓治鯫OA的建模步驟:需求理解、定義類和對象、標識對象的屬性和操作、標識類的結(jié)構(gòu)和層次、建立對象-關(guān)系模型、建立對象-行為模型、評審OOA模型。2. OOA的優(yōu)點:同時加強了對問題空間和軟件系統(tǒng)的理解;改進包括用戶在內(nèi)的軟件分析有關(guān)的各類人

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

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

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

22、構(gòu),產(chǎn)生描述各模塊程序過程的詳細文檔。每個階段完成的文檔都必須經(jīng)過復(fù)審。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. 一個模塊,一個功能 是模塊化設(shè)計的一條準則。11. OO設(shè)計模型由系統(tǒng)架構(gòu)層、類和對象層、消息層、責(zé)任層4個層次組成。12. 面向?qū)ο笤O(shè)計中,數(shù)據(jù)和過程被封裝為類/對象的屬性和操作;接口被封裝為

23、對象間的消息,而體系結(jié)構(gòu)的設(shè)計則體現(xiàn)為系統(tǒng)的技術(shù)基礎(chǔ)設(shè)施和具有控制流程的對象間的協(xié)作。13. OOD的軟件設(shè)計可劃分為2個層次:系統(tǒng)架構(gòu)設(shè)計、系統(tǒng)元素設(shè)計。14. 系統(tǒng)架構(gòu)設(shè)計的內(nèi)容:系統(tǒng)高層結(jié)構(gòu)設(shè)計、確定設(shè)計元素、確定任務(wù)管理策略、實現(xiàn)分布式機制、設(shè)計數(shù)據(jù)存儲方案、人機界面設(shè)計。系統(tǒng)元素設(shè)計的內(nèi)容:子系統(tǒng)設(shè)計、分包設(shè)計、類/對象設(shè)計。15. 軟件模式分類(按抽象級別):架構(gòu)模式、設(shè)計模式、習(xí)慣用法。16. 常用的架構(gòu)模式有:層次架構(gòu)、模型-視圖-控制架構(gòu)、管道-過濾器架構(gòu)、黑板架構(gòu)。17. 層次架構(gòu)的基本原則:將系統(tǒng)劃分不同的層次。確定設(shè)計元素的主要工作是:確定設(shè)計類、子系統(tǒng)、子系統(tǒng)接口。1

24、8. 面向并行需求的技術(shù):引進任務(wù)管理部件、基于進程和線程的控制。19. 任務(wù)管理策略:多處理機方案、操作系統(tǒng)方案、應(yīng)用程序方案。20. 設(shè)計管理并發(fā)任務(wù)對象的策略:確定任務(wù)的特征、定義一個協(xié)調(diào)者任務(wù)和與之關(guān)聯(lián)的對象、集成其它任務(wù)和協(xié)調(diào)者。21. 任務(wù)管理部件的設(shè)計步驟:識別由事件驅(qū)動和時間驅(qū)動的任務(wù)、識別關(guān)鍵性任務(wù),任務(wù)優(yōu)先級和任務(wù)管理類、定義任務(wù)、必要時擴充有關(guān)任務(wù)的類和對象。22.23. 分包的原則:將邊界類打包、將功能相關(guān)的類打包。高內(nèi)聚-低耦合的原則,包之間的耦合表現(xiàn)為依賴關(guān)系。24. 類設(shè)計的步驟:創(chuàng)建初始設(shè)計類、定義操作、定義方法、定義狀態(tài)、定義屬性、定義依賴關(guān)系、定義關(guān)聯(lián)關(guān)系、

25、定義泛化關(guān)系、處理非功能性需求。第八章 編碼和測試1. 選擇編碼語言的標準:應(yīng)用領(lǐng)域、算法與設(shè)計復(fù)雜性、數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性、效率的考慮。2. 測試和糾錯:測試(testing)的目的與任務(wù):目的:發(fā)現(xiàn)程序的錯誤;任務(wù):通過執(zhí)行程序,暴露潛在的錯誤。糾錯(debugging)的目的與任務(wù):目的:定位和糾正錯誤;任務(wù):消除軟件故障,保證程序的可靠運行。3. 軟件:待測軟件,包括軟件需求規(guī)格說明書、設(shè)計說明書和源程序代碼等文檔資料。測試配置:包括測試計劃、測試用例和測試期望結(jié)果。評價:將測試結(jié)果和期望的結(jié)果相比較,如果不符就意味著錯誤,需要糾正(糾錯)??煽啃?對測試結(jié)果進行收集和評價,得到可靠性的相

26、關(guān)指標。 1. 如果出現(xiàn)規(guī)律性、嚴重性的錯誤,軟件質(zhì)量可靠性值得懷疑,需進一步測試; 2. 如果軟件功能完成較好,出現(xiàn)的錯誤也易糾正,那么:或者軟件質(zhì)量和可靠性是可以接受的;或者未發(fā)現(xiàn)錯誤,不排除測試配置考慮不周,可能潛伏著的錯誤。4. 模塊邏輯中采用單入口、單出口標準結(jié)構(gòu)、避免使用容易引起混淆的結(jié)構(gòu)和語句、嵌套深度不超過34層。5. 測試的特性:挑剔型、復(fù)雜性、不徹底性、經(jīng)濟型。6. 測試分類:靜態(tài)分析(靜態(tài)分析器分析、代碼評審(代碼會審、走查、辦公桌檢查); 動態(tài)測試(黑盒測試(功能測試)、白盒測試(結(jié)構(gòu)測試)。7. 測試文檔內(nèi)容:測試計劃、測試報告。測試計劃的主體是測試內(nèi)容說明:測試項目

27、名稱、測試目的、步驟和進度、測試用例設(shè)計。測試報告的主題是測試結(jié)果:測試項目名稱、實測結(jié)果和期望結(jié)果的比較、發(fā)現(xiàn)問題、測試效果。8. 黑盒測試分類:等價類法、邊界值法、錯誤猜測法。9. 白盒測試分類:路經(jīng)測試(點覆蓋、邊覆蓋、路徑覆蓋)、邏輯覆蓋測試(語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、條件組合覆蓋)。10. 路經(jīng)測試的特征:滿足結(jié)構(gòu)測試的最低要求、有利于安排循環(huán)測試。11. 2種OO集成測試策略:基于線程的測試、基于使用的測試。第九章 軟件維護1. 決定軟件可維護性的因2. 軟件副作用的類型:修改編碼的副作用、修改數(shù)據(jù)的副作用、修改文檔的副作用。3. 軟件配置管理能夠系統(tǒng)的處理變更

28、從而使得軟件系統(tǒng)可以隨時保持其完整性。主要內(nèi)容包括:配置管理數(shù)據(jù)庫、版本控制、變動控制。4. 什么是再工程:將新技術(shù)和新工具應(yīng)用于老的軟件的一種較“徹底”的預(yù)防性維護。第十章 軟件復(fù)用1. 軟件復(fù)用的定義: (SR)定義為利用工程知識或方法,由一已存在的系統(tǒng),來建造一新系統(tǒng)。目的:這種技術(shù),可改進軟件產(chǎn)品質(zhì)量和生產(chǎn)率。還有軟件檢查、軟件計量、軟件可靠性、軟件可維修性、軟件工具評估和選擇等。2. 軟件復(fù)用的目的是能更快、更好、成本更低地生產(chǎn)軟件制品。3. 按照可復(fù)用的粒度,軟件制品從小到大分為以下幾類:源代碼復(fù)用(高級語言編寫的源代碼)、軟件體系結(jié)構(gòu)復(fù)用(已有軟件的體系結(jié)構(gòu))、應(yīng)用程序生成器(對

29、整個軟件體系結(jié)構(gòu)、相應(yīng)的子系統(tǒng)、特定的數(shù)據(jù)結(jié)構(gòu)和算法)、領(lǐng)域特定的軟件體系結(jié)構(gòu)的復(fù)用(特定領(lǐng)域中存在的公共體系結(jié)構(gòu)及其構(gòu)件)。4. 領(lǐng)域:指的是一組具有相似或相近軟件需求的應(yīng)用系統(tǒng)所覆蓋的功能區(qū)域。領(lǐng)域工程:通過領(lǐng)域分析(domain analysis)找出最優(yōu)復(fù)用,對它們進行設(shè)計和構(gòu)造,形成為可復(fù)用構(gòu)件,進而建立大規(guī)模的軟件構(gòu)件倉庫的過程。5. 橫向復(fù)用:是指復(fù)用不同應(yīng)用領(lǐng)域中的軟件元素。縱向復(fù)用:是指在一類具有較多公共性的應(yīng)用領(lǐng)域之間進行軟件構(gòu)件進行復(fù)用。6. 領(lǐng)域分析:領(lǐng)域分析是在特定應(yīng)用領(lǐng)域?qū)ふ易顑?yōu)復(fù)用,以公共對象、類、子集合和框架等形式進行標識、分析和規(guī)約。目標:是獲得領(lǐng)域分析模型。

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

31、步驟:獲取需求(建立用例模型)、分析(用用例模型輸入來組裝和特化分析構(gòu)件)、設(shè)計應(yīng)用系統(tǒng)(用分析模型輸入來組裝和特化設(shè)計構(gòu)件)、實現(xiàn)應(yīng)用系統(tǒng)(用設(shè)計模型輸入來組裝和特化實現(xiàn)構(gòu)件)、測試應(yīng)用系統(tǒng)(組裝和特化測試構(gòu)件,測試應(yīng)用系統(tǒng))、應(yīng)用系統(tǒng)打包。13. OO方法對軟件復(fù)用的支持:OOA模型、OOA與OOD的分工、對象的表示、一般-特殊結(jié)構(gòu)、整體-部分結(jié)構(gòu)、實例連接、類描述模板、用例。14. 復(fù)用技術(shù)對OO方法的支持:類庫、構(gòu)件庫、構(gòu)架庫、工具、OOA過程。題目1:多模塊程序的測試有哪些層次?各層測試主要解決什么問題?解答:多模塊測試的層次所處時段解決的問題涉及測試方法成果單元測試/模塊測試編碼階

32、段1. 對模塊代碼進行編譯,發(fā)現(xiàn)并糾正其語法錯誤;2. 進行靜態(tài)分析,驗證模塊結(jié)構(gòu)及其內(nèi)部調(diào)用序列是否正確;3. 確定模塊的測試策略,并據(jù)此設(shè)計一組測試用例和必要的測試軟件;4. 用選定的測試用例對模塊進行測試,直至滿足測試終止標準為止;5. 注重執(zhí)行路徑、出錯處理路徑、局部數(shù)據(jù)結(jié)構(gòu)、模塊的對外接口的測試6. 編制單元測試報告。黑盒測試程序外部測試、功能性測試測試報告白盒測試程序內(nèi)部測試、覆蓋測試集成測試集成測試階段1. 制訂集成測試實施策略 2. 確定集成測試的實施步驟,設(shè)計測試用例 3. 逐一地添加模塊,進行測試模塊(子系統(tǒng)或小系統(tǒng))集成測試;訓(xùn)練驅(qū)動與樁的設(shè)計、組合及集成測試。已組裝軟件

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

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

35、號碼前三位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、110123258888

36、8地區(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號碼后四位輸入無效2、6、15閱讀下列程序: PROCEDURE SAMPAL (A,B:REAL; VAR X:REAL); BEGIN IF (A>3) AND (B=2) THEN X:=X/A IF (A=6) OR (X>4) THEN X:=X+1 END; 為上述程序設(shè)計測試

溫馨提示

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

評論

0/150

提交評論