軟體過程有3層含義:
cmm將軟體過程改進分為以下5個成熟度級別:
初始級(initial)
可重複級(repeatable)
已定義級(defined)
已管理級(managed)
優化級(optimized)
cmmi提供了兩種表示方法:階段式模型和連續式模型。
1) 階段式模型
階段式模型地結構類似於cmm,它關注組織的成熟度。cmmi-se/sw?ippd 1.1版中有5個人成熟度等級。
2) 連續十模型
連續式模型關注每個過程域的能力,乙個組織對不同的過程域可以達到不同的過程域能力等級(capacity level,cl)。cmmi中包括6個過程域能力等級,等級號為0~5。能力包括共性目標及相關的共性實踐,這些實踐在過程域內被新增到特定目標和實踐中。當組織滿足過程域的特定目標和共性目標時,就說組織達到了那個過程域的能力等級。能力等級可以獨立地應用於任何單獨的過程域,任何乙個能力等級都必須滿足比它等級低的能力等級的所有準則。
對各能力等級的含義簡述如下:
統一過程模型是一種「用例和風險驅動,以架構為中學你,迭代並且增量」的開發過程,由uml方法和工具支援。迭代的意思是將整個軟體開發專案劃分為許多小的「袖珍」專案,每個「袖珍專案」都包含爭產軟體專案的所有元素:計畫、分析和設計、構造、繼承和測試,以及內部和外部發布。
統一過程定義了4個技術階段及其製品。
1) 起始階段(inception phase)
其實階段專注於專案的櫥窗活動,產生的主要工作產品有構想文件(vision document)、初始用例模型、初始專案術語表、初始業務用例、初始風險評估、專案計畫(階段及迭代)、業務模型以及乙個或多個原型(需要時)。
2) 精華階段(elaboration phase)
精華階段在理解了最初的領域範圍之後進行需求分析和架構演進,產生的主要工作產品有用力模型、補充需求(包括非功能需求)、分析模型、軟體體系街鬥描述、可執行的軟體體系結構原型、初步的設計模型、修訂的風險列表、專案計畫(包括迭代計畫、調整的工作流、里程碑和技術工作產品)以及初始使用者手冊。
3) 構建階段(construction phase)
構建階段關注系統的構建,產生實現模型,產生的主要工作產品有設計模型、軟體構件、繼承的軟體增量、測試計畫及步驟、測試用例以及支援文件(使用者軸測、安裝手冊和對於兵法增量的描述)。
4) 移交階段(transition phase)
移交階段關於與軟體提交方面的工作,產生軟體增量,產生的主要工作產品有提交的軟體增量、β測試報告和綜合使用者反饋。
每次迭代產生包括最終系統的部分完成的版本和任何相關的專案文件的基線,通過逐步迭代基線之間相互構建,知道完成最終系統。在每個迭代中有5個核心工作流:
隨著up的的階段進展,每個核心工作流的工作量發生了變化。4個技術階段由主要里程碑所終止。
統一過程的典型代表是rup(rational unified process)。rup是up的商業擴充套件,完全相容up,但比up更完整、更詳細。
軟體工程學習筆記
1 軟體工程的基本概念 軟體的概念 軟體 程式 文件 軟體是能夠完成預定義功能的可執行的電腦程式和使程式正常執行所需要的資料,加讓描述程式的操作和文件。程式 適合計算機處理的語句序列 它的目的是啥呢?是為了解決某個特殊的問題 文件 開發活動的記錄 用於通訊和交流,開發過程的管理和執行階段的維護 軟體...
軟體工程學習(八)軟體過程模型
常見的軟體過程模型有瀑布模型 原型模型 增量模型 噴泉模型 rup 統一軟體過程 敏捷過程等。不同的軟體過程模型將軟體生命週期劃分的工作階段是不相同的,再加上所開發的軟體的型別及專案特點也各不相同。1 瀑布模型 瀑布模型的做法很形象,軟體開發過程像瀑布一樣,一層接著一層,完成上層步驟之後,接著開展下...
軟體工程學習筆記一
軟體工程學習筆記一 我很小的時候就有夢想,想要當乙個極為優秀的程式設計師,因為覺得程式設計師非常的酷 非常帥,能操縱虛擬的世界,執行如此完美的邏輯,並造福他人,是一種高尚有趣的職業。現在這種嚮往,並沒有因為外界的許多因素而改變。最近開始學習軟體工程,其實較早的時候就自學過,有許多知識都忘了,現在再正...