軟件生存周期及開(kāi)發(fā)模型_第1頁(yè)
軟件生存周期及開(kāi)發(fā)模型_第2頁(yè)
軟件生存周期及開(kāi)發(fā)模型_第3頁(yè)
軟件生存周期及開(kāi)發(fā)模型_第4頁(yè)
軟件生存周期及開(kāi)發(fā)模型_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件生存周期及開(kāi)發(fā)模型

本章導(dǎo)讀軟件的生存周期與選擇的開(kāi)發(fā)模型有關(guān),不同的開(kāi)發(fā)模型,對(duì)應(yīng)不同的生存周期。本章介紹IT企業(yè)中常用的4種軟件開(kāi)發(fā)模型:瀑布模型、增量模型、迭代模型和原型模型,以及開(kāi)發(fā)模型的選取方法。本章對(duì)讀者的要求

了解:

(1)生存周期的概念

(2)開(kāi)發(fā)模型的概念

(3)生存周期模型裁剪指南理解:

(1)生存周期與開(kāi)發(fā)模型有關(guān)

(2)迭代模型的具體迭代過(guò)程掌握:

(1)瀑布模型的本意、特點(diǎn)、選用條件

(2)增量模型的本意、特點(diǎn)、選用條件

(3)原型模型的本意、特點(diǎn)、選用條件2.1軟件生存周期概論

任何有生命的動(dòng)物、植物和人,都有一個(gè)生存周期(LifeCycle),例如人的生存周期為胎兒、嬰兒、幼兒、兒童、少年、青年、中年、老年、死亡。沒(méi)有生命的事物或?qū)嶓w,例如PC機(jī)、路由器、家具、房子、汽車,它們也有一個(gè)生存周期,這個(gè)生存周期就是使用壽命,即生產(chǎn)周期加上使用周期。生存周期與開(kāi)發(fā)模型有關(guān)。周期序號(hào)周期名稱周期序號(hào)周期名稱1立項(xiàng)/簽合同6軟件測(cè)試2需求分析7軟件發(fā)布與實(shí)施3概要設(shè)計(jì)8軟件維護(hù)4詳細(xì)設(shè)計(jì)9版本更新或退役5編碼實(shí)現(xiàn)2.2瀑布模型

定義:瀑布模型(WaterfallModel)又稱流水式過(guò)程模型,它將軟件開(kāi)發(fā)過(guò)程模仿旅游景點(diǎn)的階梯瀑布,由上向下一個(gè)階梯一個(gè)階梯地傾瀉下來(lái),最后進(jìn)入一個(gè)風(fēng)平浪盡的大湖,這個(gè)大湖就是軟件企業(yè)的產(chǎn)品庫(kù)。瀑布模型

本意:根據(jù)軟件生存周期由立項(xiàng)、需求、策劃、設(shè)計(jì)、編程、測(cè)試、發(fā)布、維護(hù)、退役等階段組成,把每個(gè)階段當(dāng)作瀑布中的一個(gè)臺(tái)階,把軟件生存過(guò)程比喻成瀑布中的流水。開(kāi)發(fā)人員按照階段開(kāi)發(fā),管理人員按照階段管理。瀑布模型

特點(diǎn):

(1)里程碑或基線驅(qū)動(dòng),或者說(shuō)文檔驅(qū)動(dòng);

(2)過(guò)程逆轉(zhuǎn)性很差,或者說(shuō)不可逆轉(zhuǎn)。瀑布模型

選擇模型的條件:

不是任何軟件都可以采用瀑布模型的,選擇瀑布模型,必須滿足下列條件:(1)在開(kāi)發(fā)時(shí)間內(nèi)需求沒(méi)有或很少變化。(2)分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域很熟悉。(3)低風(fēng)險(xiǎn)項(xiàng)目(對(duì)目標(biāo)、環(huán)境很熟悉)。(4)用戶使用環(huán)境很穩(wěn)定。(5)用戶除提出需求以外,很少參與開(kāi)發(fā)。瀑布模型

模型的缺點(diǎn):可維護(hù)性差,表現(xiàn)在

(1)由于逆轉(zhuǎn)性很差,所以返工會(huì)造成重大損失。

(2)由于文檔驅(qū)動(dòng),錯(cuò)誤的傳遞,會(huì)采取發(fā)散擴(kuò)大的方式。2.3增量模型

定義:增量模型將軟件產(chǎn)品看作一組增量構(gòu)件,每次設(shè)計(jì)、實(shí)現(xiàn)、集成、測(cè)試和交付一塊構(gòu)件,直到所有構(gòu)件全部實(shí)現(xiàn)為止。增量模型

本意:要開(kāi)發(fā)一個(gè)大的軟件系統(tǒng),先開(kāi)發(fā)其中的一個(gè)核心模塊,后再開(kāi)發(fā)其他模塊,這樣一個(gè)個(gè)模塊地增加上去,直至整個(gè)系統(tǒng)開(kāi)發(fā)完畢為止。增量模型

特點(diǎn):

(1)任務(wù)或功能模塊驅(qū)動(dòng),可以分階段提交產(chǎn)品;

(2)有多個(gè)任務(wù)單,這些多個(gè)任務(wù)單的集合,構(gòu)成項(xiàng)目的一個(gè)總?cè)蝿?wù)書(shū)(總用戶需求報(bào)告)。增量模型

選擇模型的條件:(1)在開(kāi)發(fā)過(guò)程中,客戶接受分階段交付。(2)開(kāi)發(fā)人員對(duì)應(yīng)用領(lǐng)域不熟悉,難以一步到位。(3)工期過(guò)緊的中等或高風(fēng)險(xiǎn)項(xiàng)目。(4)用戶可參與到整個(gè)軟件開(kāi)發(fā)過(guò)程中。(5)使用面向?qū)ο笳Z(yǔ)言或第四代語(yǔ)言。(6)軟件公司自己有較好的類庫(kù)、構(gòu)件庫(kù)。增量模型

模型的缺點(diǎn):

---若軟件系統(tǒng)的組裝和拆卸性不強(qiáng),

---或開(kāi)發(fā)人員全局把握水平不高(沒(méi)有數(shù)據(jù)庫(kù)設(shè)計(jì)專家進(jìn)行系統(tǒng)集成),

---或者客戶不同意分階段提交產(chǎn)品,

---或者開(kāi)發(fā)人員過(guò)剩,都不宜采用這種模型。2.4迭代模型

針對(duì)瀑布模型的缺陷,人們提出了迭代模型。模型的本意:迭代是產(chǎn)生可執(zhí)行的產(chǎn)品發(fā)布的完整開(kāi)發(fā)循環(huán),所發(fā)布的產(chǎn)品是開(kāi)發(fā)過(guò)程最終產(chǎn)品的子集,它將通過(guò)一次又一次的迭代遞增成長(zhǎng),最后形成最終軟件系統(tǒng)或產(chǎn)品。迭代模型

模型的特點(diǎn):

(1)迭代或迭代循環(huán)驅(qū)動(dòng),每一次迭代或迭代循環(huán),均要走完初始、精化、構(gòu)建、移交4個(gè)階段。

(2)面向?qū)ο蠓椒ê徒y(tǒng)一建模語(yǔ)言UML,尤其是面向?qū)ο蟮腃ASE工具Rose,適合于迭代模型?;蛘哒f(shuō),迭代模型很適合于面向?qū)ο蟮腞ose工具。迭代模型(*)迭代模型

迭代式生存周期分為以下4個(gè)階段:(1)初始階段。本階段是確定系統(tǒng)的業(yè)務(wù)用況(UseCase)和定義項(xiàng)目的范圍。(2)精化階段。本階段是分析問(wèn)題域、細(xì)化產(chǎn)品定義,定義系統(tǒng)的構(gòu)架并建立基線,為構(gòu)建階段的設(shè)計(jì)和實(shí)施工作提供一個(gè)穩(wěn)定的基礎(chǔ)。為驗(yàn)證構(gòu)架,可能要實(shí)現(xiàn)系統(tǒng)的原型,執(zhí)行重要的用況。迭代模型(3)構(gòu)建階段。本階段是反復(fù)地開(kāi)發(fā),以完善產(chǎn)品,達(dá)到用戶的要求。這包括了用況的描述、完成設(shè)計(jì)、完成實(shí)現(xiàn)和對(duì)軟件進(jìn)行測(cè)試等工作。(4)移交階段。本階段是將產(chǎn)品交付給用戶,包括安裝、培訓(xùn)、交付、維護(hù)等工作。迭代模型

選擇模型的條件:(1)在項(xiàng)目開(kāi)發(fā)早期需求可能有所變化。(2)分析設(shè)計(jì)人員對(duì)應(yīng)用領(lǐng)域很熟悉。(3)高風(fēng)險(xiǎn)項(xiàng)目。(4)用戶可不同程度地參與整個(gè)項(xiàng)目的開(kāi)發(fā)。(5)使用面向?qū)ο蟮恼Z(yǔ)言或UML語(yǔ)言。(6)使用CASE工具,如Rose。(7)具有高素質(zhì)的項(xiàng)目管理者和軟件研發(fā)團(tuán)隊(duì)。迭代模型

模型的缺點(diǎn):

(1)對(duì)項(xiàng)目組成員要求很高。

(2)必須掌握先進(jìn)的開(kāi)發(fā)工具。2.5原型模型

定義:以某個(gè)軟件原型為參照模型的開(kāi)發(fā)方法,叫做原型法。本意:在初步需求分析之后,馬上向客戶展示一個(gè)軟件產(chǎn)品原型,對(duì)客戶進(jìn)行培訓(xùn),讓客戶試用,在試用中收集客戶意見(jiàn),修改原型,再讓客戶試用,反復(fù)循環(huán)幾次,直到客戶確認(rèn)為止。原型模型

特點(diǎn):原型驅(qū)動(dòng)。因此,開(kāi)發(fā)者必須先有一個(gè)原型,至少要有一個(gè)原型的核心。

與迭代模型比較:相同點(diǎn)是反復(fù)循環(huán)幾次,直到客戶確認(rèn)為止。不同點(diǎn)是原型模型事先有一個(gè)展示性的產(chǎn)品原型,而迭代模型可能沒(méi)有。原型模型

選擇模型的條件:(1)已有產(chǎn)品/產(chǎn)品原型,只需客戶化的項(xiàng)目。(2)簡(jiǎn)單而熟悉的行業(yè)或領(lǐng)域。(3)有快速原型開(kāi)發(fā)工具。(4)進(jìn)行產(chǎn)品移植或升級(jí)。由于上述條件不太苛刻,所以凡是有軟件產(chǎn)品的IT企業(yè),在他們熟悉的業(yè)務(wù)領(lǐng)域內(nèi),當(dāng)客戶招標(biāo)時(shí),他們都會(huì)以原型模型作為軟件開(kāi)發(fā)模型,去制作投標(biāo)書(shū),去講標(biāo)投標(biāo)。一旦中標(biāo),就對(duì)軟件產(chǎn)品進(jìn)行客戶化工作,或?qū)浖a(chǎn)品進(jìn)行二次開(kāi)發(fā)。原型模型

模型的缺點(diǎn):因?yàn)槭孪扔幸粋€(gè)展示性的產(chǎn)品原型,所以在一定程度上,不利于開(kāi)發(fā)人員的創(chuàng)新??焖僭头?沒(méi)有原型的原型法)

基本思路:采用以面向數(shù)據(jù)為主的方法,在需求分析的基礎(chǔ)上,利用PowerDesigner等數(shù)據(jù)庫(kù)分析和設(shè)計(jì)工具,快速建立信息系統(tǒng)的CDM和PDM,利用面向?qū)ο蟮木幊坦ぞ?,在軟件企業(yè)強(qiáng)大的類庫(kù)、構(gòu)件庫(kù)的支撐下,快速地實(shí)現(xiàn)需求分析中確認(rèn)的流程、功能、性能和接口,然后交付給用戶試用,反復(fù)循環(huán)幾次,直到客戶確認(rèn)滿意為止??焖僭头ㄟx擇條件:項(xiàng)目組中有數(shù)據(jù)庫(kù)分析和設(shè)計(jì)專家,有面向?qū)ο蟮木幊虒<?,文檔制作有成熟的模板,而且系統(tǒng)或項(xiàng)目又不是非常大。2.6本章小結(jié)1.除了上述四種常用的模型之外,另外還有四種模型:螺旋模型、演化模型、漸增模型和噴泉模型,這四種模型只具備理論上的研究?jī)r(jià)值,在IT企業(yè)中很少得到應(yīng)用。

2.進(jìn)入IT企業(yè)參與軟件開(kāi)發(fā)或軟件管理時(shí),首先要明確:當(dāng)前的項(xiàng)目或產(chǎn)品開(kāi)發(fā)到底采用什么開(kāi)發(fā)模型,由此確定軟件的生存周期和當(dāng)前的軟件開(kāi)發(fā)狀態(tài);合理安排項(xiàng)目組成員的工作。迅速適應(yīng)IT企業(yè)文化,并很快進(jìn)入角色。這就是研究開(kāi)發(fā)模型的好處。本章小結(jié)

3.瀑布模型、增量模型、迭代模型和原型模型。因?yàn)?個(gè)模型各有所長(zhǎng),所以它們有各自的生存空間。因?yàn)樗鼈兏饔兴?,所示才?huì)產(chǎn)生相互競(jìng)爭(zhēng),共同構(gòu)成一個(gè)豐富多彩的多個(gè)模型競(jìng)爭(zhēng)的世界。本章小結(jié)4.一個(gè)成熟的軟件組織,根據(jù)上述通用的4個(gè)軟件開(kāi)發(fā)模型,結(jié)合本單位的開(kāi)發(fā)經(jīng)驗(yàn)和行業(yè)特點(diǎn),還需要定制適合本單位的“生存周期模型裁剪指南”,有針對(duì)性地對(duì)選定的軟件開(kāi)發(fā)模型中定義的生存周期

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論