
迭代模型是RUP(Rational Unified Process,統(tǒng)一軟件開發(fā)過程,統(tǒng)一軟件過程)推薦的周期模型。
迭代類似小型的瀑布式項(xiàng)目。RUP認(rèn)為,所有的階段(需求及其它)都可以細(xì)分為迭代。每一次的迭代都會(huì)產(chǎn)生一個(gè)可以發(fā)布的產(chǎn)品,這個(gè)產(chǎn)品是最終產(chǎn)品的一個(gè)子集。
RUP
RUP是嚴(yán)格按照行業(yè)標(biāo)準(zhǔn)UML開發(fā)的,其主要特點(diǎn)表現(xiàn)在:
1)開發(fā)復(fù)用,減少開發(fā)人員的工作量,并保證軟件質(zhì)量,項(xiàng)目初期可降低風(fēng)險(xiǎn);
2)對需求進(jìn)行有效管理;
3)可視化建模;
4)使用組件體系結(jié)構(gòu),使軟件體系架構(gòu)更具彈性;
5)貫穿整個(gè)開發(fā)周期的質(zhì)量核查;
6)對軟件開發(fā)的變更控制。
RUP提出了迭代的方法,意味著在整個(gè)項(xiàng)目中進(jìn)行測試,從而盡可能早地發(fā)現(xiàn)缺陷,從根本上降低了修改缺陷的成本。測試類似于三維模型,分別從可靠性、功能性和系統(tǒng)性能來進(jìn)行。
軟件生命周期被分解為周期,每一個(gè)周期都工作在產(chǎn)品的一個(gè)新版本上。RUP將周期又劃分為4個(gè)連續(xù)的階段,即初始階段、細(xì)化階段、構(gòu)造階段和交付階段。每個(gè)階段終結(jié)于良好定義的里程碑——某些關(guān)鍵決策必須做出的時(shí)間點(diǎn),因此關(guān)系的目標(biāo)必須被達(dá)到。
RUP的6個(gè)基本的最佳實(shí)踐經(jīng)驗(yàn)如下:
1)迭代式開發(fā)
2)需求管理
3)使用以組件為中心的軟件架構(gòu)
4)可視化軟件建模
5)驗(yàn)證軟件質(zhì)量
6)控制軟件變更
迭代模型特點(diǎn)
1. 初始階段
系統(tǒng)的闡述項(xiàng)目范圍,選擇可行的系統(tǒng)構(gòu)架,計(jì)劃和準(zhǔn)備業(yè)務(wù)案例
2. 細(xì)化階段
細(xì)化構(gòu)想,細(xì)化過程和基礎(chǔ)設(shè)施,細(xì)化構(gòu)架并選擇構(gòu)件
3. 構(gòu)造階段
資源管理、控制和過程最優(yōu)化,完成構(gòu)件的開發(fā)并根據(jù)評價(jià)標(biāo)準(zhǔn)進(jìn)行測試。
4. 交付階段
同步并使開發(fā)的構(gòu)造增量集成到一致的實(shí)施基線中。
迭代模型適用的條件
1、在項(xiàng)目開發(fā)早期需求可能有所變化。
2、分析設(shè)計(jì)人員對應(yīng)用領(lǐng)域很熟悉。
3、高風(fēng)險(xiǎn)項(xiàng)目。
4、用戶可不同程度地參與整個(gè)項(xiàng)目的開發(fā)過程。
5、使用面向?qū)ο蟮恼Z言或統(tǒng)一建模語言(Unified Modeling Language,UML)。
6、使用CASE(Computer Aided Software Engineering,計(jì)算機(jī)輔助軟件工程)工具,如Rose(Rose是非常受歡迎的物件軟體開發(fā)工具。)。
7、具有高素質(zhì)的項(xiàng)目管理者和軟件研發(fā)團(tuán)隊(duì)。