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