- 軟件工程概述(老版)
軟件開發生命周期:
- 軟件定義時期:包括 可行性研究和詳細需求分析過程,任務是軟件工程必需完成的目標,具有可行問題分析、可行性研究、需求分析等。
- 軟件開發時期:軟件的 設計與實現,可分為概要設計、詳細設計、編碼、測試等。
- 軟件運行和維護:把軟件產品交給用戶使用。
軟件系統的文檔:
分為 用戶文檔 和系統文檔,用戶文檔主要描述 系統功能和使用方法,并不關心這些系統怎么實現,系統文檔 描述 系統設計、實現和測試等各方面內容。
軟件工程過程指為獲得軟件產品包括以下4個方面活動:
- P(plan):軟件規格說明。
- D(do):軟件開發。
- C(check):軟件確認校驗。
- A(action):軟件演進。
軟件系統工具?可按軟件過程活動分為:
軟件開發工具:需求分析工具、設計工具、編碼與排錯工具和測試工具等。
軟件維護工具:版本控制工具、文檔分析工具、開發信息庫工具、逆向工程工具和再工程工具。
軟件管理和軟件支持工具:項目管理工具、配置管理工具、軟件評價工具、軟件開發工具的評價和選擇。
軟件設計四個活動:
數據設計、架構(體系結構)設計、人機設計(接口)和過程設計。
- 能力成熟度模型
能力成熟度模型CMM:
初始級(Initial):雜亂無章,有時甚至混亂,項目完全依靠個人努力或者核心人物完成。
可重復級(Repeatable):建立基本的項目管理過程和實踐來跟蹤項目,有必要的過程準則來重復同類項目成功。(不依賴個人成功,而是成功可以重復復制)
已定義級(Defined):軟件過程已經文檔化、標準化,并綜合成標準軟件過程。(已經在行業定義成標準)
已管理級(Managed):產品質量的詳細度量標準,對軟件過程有定量理解和控制。
優化級(Optimized):持續不斷優化。
能力成熟度模型集成CMMI:
cmm能力成熟度模型指軟件,CMMI則是 若干過程模型的綜合改進,不僅僅軟件,而是支持多個工程學科和領域的、系統、一致過程改進框架,能適應現在工程特點,提高質量和效率。
CMMI兩個表示方法,一種是類似前面CMM階段式的成熟度。
初始級:過程不可以預測。
已管理級:過程為項目服務。(之前是可重復)
已定義:標準化。
定量管理:已度量。(之前叫可管理)
優化級:可優化。
?
- 真題實戰
- ()是系統分析階段結束后得到的工作產品,()是系統測試階段完成后的工作產品。
- 系統設計規格說明
- 系統方案建議書
- 程序規格說明
- 單元測試數據
- 驗收測試計劃
- 測試標準
- 系統測試計劃
- 操作手冊
答案:B D
解析:
系統設計肯定不是系統分析,程序規格肯定是開發階段,所以選擇B
- 軟件過程模型
瀑布模型(SDLC):經典的軟件生命周期模型。
軟件開發從上往下分為:可行性分析(計劃)、需求分析、軟件設計(概要設計)、編碼、測試和運行維護等幾個階段。
螺旋模型:原型模型 和 結構化(瀑布)模型相結合的模型。
專門解決瀑布模型弊端。
他和瀑布一樣有線性計劃:制定計劃、風險分析、實施工程和客戶評價。
是一個演化軟件過程模型,先制定 一個原型。
但他又不會和瀑布一樣不可以回頭,還可以重復線性。
他特別適合龐大復雜高風險系統。
V模型:
強調測試,測試貫穿整個項目過程。
編碼對應單元測試,詳細設計對應集成測試,概要設計對應系統測試,需求分析對應驗收測試。
使用需求變更不頻繁的需求。
原型模型:
實際可行,構造方便,快速,造價低,適合需求不明確。
增量模型:
首先 開發核心功能。然后和用戶確認開發次核心模塊。
噴泉模型:
以用戶需求為動力,面向對象。
基于構建CBSD:
強調復用性,有一個構建庫,比如直接拉取組織結構畫頁面。