《軟件工程》學習輔導1(3)

字號:

第三節(jié) 軟件生存周期模型,方法和工具
    生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。對軟件開發(fā)提供強有力的支持,為開發(fā)過程中的活動提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導,是軟件生存周期模型化技術的基礎,也是建立軟件開發(fā)環(huán)境的核心。
    生存周期模型作用:確立了軟件開發(fā)中各階段的次序限制,活動準則,所要遵守的規(guī)定和限制,便于各種活動的協(xié)調,人員之間的有效通信,有利于活動重用和活動管理。
    生存周期模型準則:模型能表示各種活動的實際工作方式,能隨情況變化而演化能表示各種活動間同步和制約關系,能表示活動的動態(tài)特性。容易為開發(fā)人員理解,能適應不同軟件項目,具有較強靈活性,能支持軟件開發(fā)環(huán)境的建立。
    目前有:
    1 瀑布模型:將軟件生存周期中各活動規(guī)定為依線性順序連接的若干階段。包括可行性分析,項目開發(fā)計劃,需求分析,概要設計,詳細設計,編碼,測試和維護。它是一種理想的線性開發(fā)模式,缺乏靈活,特別是無法解決軟件需求不明確的問題。適合于需求不明確,設計方案有一定風險的軟件項目。
    2 增量模型:軟件在模型中是"逐漸"開發(fā)出來的,開發(fā)一部分,展示一部分,能及早發(fā)現(xiàn)問題?;蛘呦乳_發(fā)一"原型"軟件,完成主要功能,然后逐步完善,最終獲得滿意的軟件產(chǎn)品。
    3 螺旋模型:將瀑布模型與增量模型結合起來,加入風險分析,彌補了這兩種模型的不足。開發(fā)分四步:制定計劃,風險分析,開發(fā)實施,用戶評估。
    4 噴泉模型:以用戶需求為動力,以對象為驅運動模型,適合于面向對象開發(fā)方法,使開發(fā)過程具有迭代性和無間隙性。
     迭代性:系統(tǒng)有些部分常常重復工作多次,相關功能在每次迭代中隨之加入演化的系統(tǒng)。
     無間隙:在分析,設計,實現(xiàn)等開發(fā)活動之間不存在明顯邊界。
    5 基于知識的模型:瀑布模型與專家模型的結合。開發(fā)各階段都有利用相應專家系統(tǒng)來輔助設計,使維護在系統(tǒng)需求一級進行。
    6 變換模型:適合于形式化開發(fā)方法的模型。
    軟件開發(fā)方法:使用早已定義好的技術集及符號表示習慣來組織軟件生產(chǎn)的過程。
    軟件開發(fā)開發(fā)的目標:通過使用成功的軟件開發(fā)方法,在規(guī)定的投資和時間內,開發(fā)出符合用戶需求的高質量的軟件。
     軟件開發(fā)方法是克服軟件危機的重要方面之一,對軟件工程及軟件包產(chǎn)業(yè)的發(fā)展起了不可估量的作用。
    已使用的成功方法有:
    1、結構化方法:一種面向數(shù)據(jù)流的開發(fā)方法,適合數(shù)據(jù)處理領域。指導指導思想是自頂向下,逐步求精。用數(shù)據(jù)流圖建立系統(tǒng)功能模型,完成需求分析工作。用軟件結構圖建立系統(tǒng)物理模型,實現(xiàn)概要設計。最后將每個模塊的功能用相應標準控制結構表示出來,從而實現(xiàn)詳細設計。
    2、 jackson方法:一種面向數(shù)據(jù)結構的開發(fā)方法,適合小規(guī)模項目。首先描述問題的輸入,輸出數(shù)據(jù)結構,分析其對應性,然后推出相應程序結構,從而給出問題的軟件過程描述。當輸入與輸出數(shù)據(jù)結構無對應關系時,難于應用此方法,jsd(一完整的系統(tǒng)開發(fā)方法)對jsp進行了擴充
    3、維也納開發(fā)方法(vdm):一種形式化開發(fā)方法,軟件的需求用嚴格的形式語言描述,然后把模型逐步變換成目標系統(tǒng)。
    4、面向對象的開發(fā)方法:基本出發(fā)點是盡可能按人類認識世界的方法和思維方式來分析和解決問題。以對象作為最基本的元素,客觀世界中具體的事物,事件,概念和規(guī)則都有可看成對象,它也是分析問題,解決問題的核心。開發(fā)方法包括面向對象分析,面向對象設計,面向對象實現(xiàn)。主要有booch方法,coad方法和 omt方法。為統(tǒng)一這些方法的術語,概念和模型,(1997年)推出統(tǒng)一建模型語言uml。