读书笔记:软件工程(8) - 软件过程模型:喷泉模型、其他模型
噴泉模型
噴泉模型是一種比較典型的面向對象軟件開發模型,以用戶需求為動力,以對象作為驅動的模型,適合面向對象的開發方法。這克服了瀑布模型不支持軟件重用和多項開發活動集成的局限性,噴泉模型使開發過程具有迭代性和無間隙性,如圖1.6所示。
圖2.6所示的噴泉模型是典型的面向對象生命周期模型。
圖中代表不同階段的圓圈相互重疊,這明確表示兩個活動之間存在交迭;圖中在一個階段內的向下箭頭代表該階段內的迭代(或求精)。圖中較小的圓圈代表維護,圓圈較小象征著采用了面向對象范型之后維護時間縮短了。
系統某些部分常常重復工作多次,相關功能在每次迭代中隨之加入演進的系統。無間隙性是指在開發活動,即分析、設計和實現之間不存在明顯的邊界。
噴泉模型認為軟件開發過程自下而上周期的各階段是相互迭代和無間隙,體現了面向對象方法的迭代和無間隙特性。迭代是指開發活動需要多次重復。軟件的某個部分常常被重復工作多次,相關對象在每次迭代中隨之加入漸進的軟件成分。無間隙實質開發活動之間不存在明顯的邊界。如分析和設計活動之間沒有明顯的界限,由于對象概念的引入,表達分析、設計、實現等活動只用對象類和關系,從而可以較為容易地實現活動的迭代和無間隙,使其開發自然地包括復用。正是因為噴泉模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。其優點是可以提高軟件項目開發效率,節省開發時間。由于噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利于項目的管理。此外這種模型要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。
噴泉模型主要有以下的一些特點:
(1)模型規定軟件開發過程有5個階段,即分析、設計、實現、測試與集成。
(2)模型從高層返回低層無資源消耗,反映了軟件過程迭代的自然特性。
(3)以分析為基礎,資源消耗呈塔型,在分析階段消耗的資源最多。
(4)各階段相互重疊反映了軟件過程并行性。
(5)模型強調增量開發,它依據分析一點,設計一點的原則,并不要求一個階段的徹底完成,整個過程是一個迭代的逐步提煉的過程。
(6)模型是對象驅動的過程,對象是所有活動作用的主體和項目管理的基本內容。
(7)模型在實現時,由于活動不同,可分為系統實現和對象實現,這既反映了全系統的開發過程,也反映了對象的開發和重用過程。
噴泉模型使用的面向對象技術導致其局限性,這種模型在除面向對象的開發方法之外其它開發方法中都不適用。
專用過程模型
基于構件的開發
商業現貨軟件構件由廠家作為產品供應,通過良好定義的接口提供特定的功能,這些構件能夠集成到正在構建額軟件中。基于構件的開發模型具有許多螺旋模型的特點。它本質上是演化模型,需要以迭代方式構建軟件。不同之處在于,基于構件的開發模型采用預先打包的軟件構件來開發應用系統。建模和構建活動開始于識別可選構件。這些構件有些設計成傳統的軟件模塊,有些設計成面向對象的類或類包。若不考慮構件的開發技術,則基于構件開發模型由以下步驟組成(采用演化方法):
1.對于該問題的應用領域研究和評估可用的基于構件的產品。
2.考慮構件集成的問題。
3.設計軟件架構以容納這些構件。
4.將構件集成到架構中。
5.進行充分的測試以保證功能正常。
形式化方法模型
形式化方法模型的主要活動是生成計算機軟件形式化的數學規格說明。形式化方法使軟件開發人員可以應用嚴格的數學符號來說明,開發和驗證基于計算機的系統。這種方法的一個變形是凈室軟件工程。
傳統軟件工程和面向對象軟件工程的分析方法對比
面向對象開發方法不再是以功能劃分為導向,而是以對象作為整個問題分析的中心,圍繞對象展開系統的分析與設計工作。
在開發過程方面,面向對象軟件工程和傳統軟件工程一樣也是把軟件開發劃分為分析、設計、編碼和測試等幾個階段,但各個階段的具體工作不同,除了在編碼階段使用的語言不同外,面向對象軟件工程為待開發軟件確定“類與對象”一般在需求分析階段進行,設計階段則主要完成對象內部的詳細設計;而在傳統軟件工程中,將軟件設計劃分為“總體設計”和“詳細設計”,分別完成軟件的總體結構圖的設計和各個模塊內部算法的詳細設計。即:傳統軟件工程開發過程包括需求分析、總體設計、詳細設計、面向過程的編碼和測試;面向對象軟件工程開發過程包括需求分析與對象抽取、對象詳細設計、面向對象的編碼和測試。
總結
以上是生活随笔為你收集整理的读书笔记:软件工程(8) - 软件过程模型:喷泉模型、其他模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POS远程更新
- 下一篇: 电脑病毒木马怎么彻底清除