軟件工程軟件過程模型



單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第二章 軟件過程模型,軟件生存周期,軟件開發(fā)模型,瀑布模型,進(jìn)化式模型,演化模型,形式化開發(fā),第一節(jié) 軟件生存周期,軟件生存周期的概念:,一個軟件從計劃起,到廢棄不用止軟件生存周期包括:計劃、開發(fā)、運(yùn)行第二節(jié) 軟件開發(fā)模型概念,軟件開發(fā)模型的概念:,為整個軟件生存期建立的模型軟件開發(fā)模型,分類:,瀑布模型,進(jìn)化式開發(fā)模型,演化模型,形式化開發(fā)模型,第三節(jié) 軟件開發(fā)模型,1,瀑布模型,The waterfall model,Requirements,definition,System and software design,Implementation,And unit test,Integration,System testing,Operation,maintenance,需求定義,系統(tǒng)和軟件設(shè)計,實現(xiàn)和單元測試,集成和系統(tǒng)測試,運(yùn)行和維護(hù),軟件生存周期,瀑布模型的優(yōu)點,階段間的順序性和依賴性,推遲實現(xiàn)的觀點,質(zhì)量保證的觀點,瀑布模型的問題,Waterfall model problems,將項目生硬地分解成確切的階段。
Inflexible partitioning of the project into distinct stages,對用戶需求變更的相應(yīng)困難This makes it difficult to respond to changing customer requirements,需求了解的好的時候,采用瀑布模型This model is only appropriate when the requirements are well-understood,2,快速原型開發(fā)模型,Prototype Model,基本思想:,先開發(fā)出一個原型系統(tǒng)給用戶使用,通過用戶反饋意見來不斷修改系統(tǒng)直到最后成熟讓描述、開發(fā)、有效性驗證活動并行執(zhí)行原型模型,原型模型的優(yōu)點,原型化模型突出一個“快”字軟件開發(fā)人員向用戶提供一個“樣品”,用戶向開發(fā)人員迅速作出“反饋”建立原型系統(tǒng)的方法,原型系統(tǒng)僅包括未來系統(tǒng)的主要功能,以及系統(tǒng)重要的接口開發(fā)原型系統(tǒng)盡可能使用能縮短開發(fā)周期的語言和工具3,演化模型,-,增量模型,Evolutionary Model,增量模型的基本思想,每個增量提供系統(tǒng)功能的一個子集,一個增量完成并交付,部分系統(tǒng)功能可以提前交付使用。
對增量中服務(wù)的分配取決于服務(wù)優(yōu)先次序最高優(yōu)先權(quán)的服務(wù)首先被交付第一個增量往往是核心的產(chǎn)品開發(fā)者能通過對系統(tǒng)的經(jīng)驗幫助理解后面的增量需求和目前增量后續(xù)版本的需求變更Incremental development advantages,增量式開發(fā)過程的優(yōu)點,客戶無需等到整個系統(tǒng)的實現(xiàn)客戶可以將早期的增量作為原型,從中獲得對后面系統(tǒng)增量的需求經(jīng)驗項目總體性失敗的風(fēng)險比較低最高優(yōu)先權(quán)的服務(wù)接受最多的測試Example,使用增量式開發(fā)的字處理軟件,在第一個增量中發(fā)布基本的文件管理、編輯和文檔生成功能;,在第二個增量中發(fā)布更加完善的編輯和文檔生成能力;,第三個增量中實現(xiàn)拼寫和文法檢查功能;,第四個增量完成高級的頁面布局功能4,演化模型,-,螺旋模型,Evolutionary Model,螺旋模型的基本思想,每一個螺旋周期(,Spiral model sectors,)包含四個部分:,(1)確定目標(biāo),選擇方案,設(shè)定約束條件,選定完成本周期所定目標(biāo)的策略2)分析該策略可能存在的風(fēng)險3)在排除風(fēng)險后,實現(xiàn)本螺旋周期的目標(biāo)4)評價前一步的結(jié)果,并且計劃下一輪的工作螺旋模型的特點,每一階段考慮技術(shù)風(fēng)險依賴于風(fēng)險評估。
5,形式化方法模型,轉(zhuǎn)換模型(,Transformational Model,),-,是結(jié)合形式化軟件開發(fā)方法和程序自動生成技術(shù)的一種軟件開發(fā)模型轉(zhuǎn)換模型,凈室模型,Cleanroom Model,是一種形式化的增量開發(fā)模型基本思想:,力求在分析階段就消除錯誤,確保正確,然后在無缺陷或“潔凈”的狀態(tài)下實現(xiàn)軟件的制作盒”(,Box,),-,每一增量是一個形式化方式表示凈室模型,6,基于組件的開發(fā)過程,Advantages,優(yōu)勢,減少需要開發(fā)的軟件數(shù)量,降低軟件開發(fā)成本,降低風(fēng)險,軟件快速交付,小結(jié),軟件過程模型,瀑布模型,原型模型,增量模型,螺旋模型,形式化開發(fā)模型,組件開發(fā)模型,新的開發(fā)模型,RUP,統(tǒng)一開發(fā)過程,敏捷開發(fā),極限編程,RAD,快速的應(yīng)用開發(fā),設(shè)計模式,思考題,為以下各系統(tǒng)提出合適的軟件過程模型,闡述理由:,(,1,)汽車防鎖死剎車控制系統(tǒng),(,2,)一個支持軟件維護(hù)的虛擬現(xiàn)實系統(tǒng),(,3,)大學(xué)記賬系統(tǒng),準(zhǔn)備替換一個已存在的系統(tǒng),(,4,)一個位于火車站的交互式火車車次查詢系統(tǒng),。
