軟件工程軟件過程模型



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