確保軟體產品質量和開發效率的原理的最小集合。
1.用分階段的生命週期計畫嚴格管理
在軟體的整個生存週期中應該制定並嚴格執行6類計畫:專案概要計畫、里程碑計畫、專案控制計畫、產品控制計畫、驗證計畫和執行維護計畫。
2.堅持進行階段評審。
3.實現嚴格的產品控制。
4.採用現代程式設計技術。
5.結果應能清楚的審查。
6.開發小組的人員應少而精
7.承認不斷改進軟體工程實踐的必要性。
把整個軟體生存週期劃分為若干階段,使得每個階段有明確的任務,使規模大、結構負責和管理複雜的軟體的開發變的容易控制和管理。
1.可行性分析與專案開發計畫
確定軟體的開發目標及其可行性。可行性分析與專案計畫階段的參加人員有使用者、專案負責人和系統分析師。該階段產生的主要文件有可行性分析報告和專案開發計畫。
2.需求分析
需求分析階段的任務不是具體解決問題,而是準確的確定軟體系統必須做什麼,確定軟體系統的功能、效能、資料、和介面等要求,從而確定系統的邏輯模型。該階段的參加人員有使用者,專案負責人和系統分析師。該階段產生的主要文件有軟體需求說明書。
3.概要設計
在概要設計階段,開發人員要把確定的各項功能需求轉換成需要的體系結構。在該體系結構中,每個成分都是意義明確的模組,即每個模組都和某些功能需求相對應,因此,概要設計就是設計軟體的結構,明確軟體由哪些模組組成,這些模組的層次結構是怎樣的,這些模組的呼叫關係是怎樣的,每個模組的功能是什麼。同事,還要設計該項目的應用系統的總體資料結構和資料庫結構,即應用系統要儲存什麼資料,這些資料是什麼樣的結構,他們之間有什麼關係。
概要設計階段的參加人員有系統分析師和軟體設計師。該階段產生的主要文件有概要設計說明書。
4.詳細設計
詳細設計階段的主要任務是對每個模組完成的功能進行具體描述,要把功能描述轉變為精確的、結構話的過程描述。即該模組的控制結構是怎樣的,先做什麼,後做什麼,有什麼樣的條件判斷,有些什麼重複處理等,並用相應的表示工具把這些控制結構表示出來。
詳細設計階段的參加人員有軟體設計師和程式設計師。該階段產生的主要文件有詳細設計文件。
5.編碼
6.測試
7.維護
能力成熟度模型(cnm)
1.初始級(initial)
軟體過程的特點是雜亂無章,幾乎沒有明確定義的步驟,專案的成功完全依賴個人的努力和英雄式核心人物的作用。
2.可重複級(repeatable)
建立了基本的專案管理過程和時間來跟蹤專案費用、進度和功能特性,有必要的過程準則來重複在同類專案中的成功。
3.已定義級(defined)
管理和工程兩方面的軟體過程已**檔化、標準化,並綜合成整個軟體開發組織的標準軟體過程。所有專案都採用實際情況修改後得到的標準軟體過程來開發和維護軟體。
4.已管理級(managed)
制定了軟體過程和產品質量的詳細度量標準。軟體過程的產品質量都被開發組織的成員所理解和控制
5.優化級(optimized)
加強了定量分析,通過來自過程質量反饋和來自新觀念,新技術的反饋使過程能不斷持續地改進。
能力成熟度模型(cmmi)
兩種表示方法:階段式模型和連續式模型。
階段式模型
關注組織的成熟度。
初始的:過程不可**且缺乏控制。
已管理的:過程為專案服務。
已定義的:過程為組織服務。
定量管理的:過程已度量和控制。
優化的:集中於過程改進。
連續式模型
統一過程(up)
1 起始階段
2精化階段
3構建階段
4移交階段
也稱為軟體開發模型
瀑布模型(wate***ll model)
瀑布模型是將軟體生存週期中的各個活動規定為依線性順序連線的若干階段的模型,包括需求分析、設計、編碼、測試、執行與維護。它規定了由前至後、相互鏈結的固定次序,如同瀑布流水逐級下落。
優點:容易理解,管理成本低;強調開發的階段性早期計畫及需求調查和產品測試。
缺點:客戶必須能夠完整、正確和清晰地表達他們的需要;在開始的兩個或三個階段中,很難評估真正的進度狀態;當接近專案結束時,出現大量的整合和測試工作;直到專案結束之前
專案風險的控制能力較弱
軟體工程基礎知識
1.軟體需求 功能需求 非功能需求 設計約束 業務需求 使用者需求 系統需求 2.需求規格化的工作就是編制srs 軟體需求規格說明書 3.需求捕獲技術 使用者訪談 使用者調查 現場觀摩 文件考古 聯合討論會 4.可行性研究工作的任務 技術可行性 經濟可行性 社會可行性 5.資料流圖dfd 6.資料字...
軟體工程基礎知識 軟體維護
軟體維護的概念 在軟體執行 維護階段對軟體產品進行的修改就是所謂的維護 型別 1 改正性維護 佔維護量 20 目的是改正在開發周期間未能發現的遺留錯誤,並加以改正 2 適應性維護 指軟體適應執行環境的改變而進行的一類維護,包括 因硬體或支援軟體改變引起的變化 將軟體移植到新機器上 軟體使用物件的較少...
軟體工程基礎知識 筆試特供
軟體工程的生命週期 軟體定義 軟體開發和軟體維護 軟體定義 確定軟體開發工程必須完成的總目標,確定工程的可行性,估計需要的資源和成本,制定進度表等。通常又稱為系統分析。包括問題定義 可行性研究和需求分析。軟體開發 具體設計和實現在前乙個時期定義的軟體。包括總體設計 詳細設計 編碼和單元測試 綜合測試...