软件开发之螺旋模型
螺旋模型采用一種周期性的方法來進(jìn)行系統(tǒng)開發(fā)。這會(huì)導(dǎo)致開發(fā)出眾多的中間版本。使用它,項(xiàng)目經(jīng)理在早期就能夠?yàn)榭蛻魧?shí)證某些概念。該模型是快速原型法,以進(jìn)化的開發(fā)方式為中心,在每個(gè)項(xiàng)目階段使用瀑布模型法。這種模型的每一個(gè)周期都包括需求定義、風(fēng)險(xiǎn)分析、工程實(shí)現(xiàn)和評(píng)審4個(gè)階段,由這4個(gè)階段進(jìn)行迭代。軟件開發(fā)過程每迭代一次,軟件開發(fā)又前進(jìn)一個(gè)層次。采用螺旋模型的軟件過程如下圖所示:
螺旋模型的優(yōu)勢(shì)包括:
1)設(shè)計(jì)上的靈活性,可以在項(xiàng)目的各個(gè)階段進(jìn)行變更。
2)以小的分段來構(gòu)建大型系統(tǒng),使成本計(jì)算變得簡(jiǎn)單容易。
3)客戶始終參與每個(gè)階段的開發(fā),保證了項(xiàng)目不偏離正確方向以及項(xiàng)目的可控性。
4)隨著項(xiàng)目推進(jìn),客戶始終掌握項(xiàng)目的最新信息 , 從而他或她能夠和管理層有效地交互。
5)客戶認(rèn)可這種公司內(nèi)部的開發(fā)方式帶來的良好的溝通和高質(zhì)量的產(chǎn)品。
螺旋模型很大程度上是一種風(fēng)險(xiǎn)驅(qū)動(dòng)的方法體系,因?yàn)樵诿總€(gè)階段之前及經(jīng)常發(fā)生的循環(huán)之前,都必須首先進(jìn)行風(fēng)險(xiǎn)評(píng)估。在實(shí)踐中,螺旋法技術(shù)和流程變得更為簡(jiǎn)單。迭代方法體系更傾向于按照開發(fā)/設(shè)計(jì)人員的方式工作,而不是項(xiàng)目經(jīng)理的方式。螺旋模型中存在眾多變量,并且在將來會(huì)有更大幅度的增長(zhǎng),該方法體系正良好運(yùn)作著。下表是螺旋法能夠解決的各種問題:
| 用戶需求不夠充分 | 允許并鼓勵(lì)用戶反饋信息 |
| 溝通不明 | 在項(xiàng)目早期就消除嚴(yán)重的曲解 |
| 剛性的體系 | 開發(fā)首先關(guān)注重要的業(yè)務(wù)和問題 |
| 主觀臆斷 | 通過測(cè)試和質(zhì)量保證,作出客觀的評(píng)估 |
| 潛在的不一致 | 在項(xiàng)目早期就發(fā)現(xiàn)不一致問題 |
| 糟糕的測(cè)試和質(zhì)量保證 | 從第一次迭代就開始測(cè)試 |
| 采用瀑布法開發(fā) | 在早期就找出并關(guān)注風(fēng)險(xiǎn) |
缺點(diǎn)。
1)采用螺旋模型需要具有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),在風(fēng)險(xiǎn)較大的項(xiàng)目開發(fā)中,如果未能夠及時(shí)標(biāo)識(shí)風(fēng)險(xiǎn),勢(shì)必造成重大損失。
2)過多的迭代次數(shù)會(huì)增加開發(fā)成本,延遲提交時(shí)間。
總結(jié)
- 上一篇: 国外出差见闻之印度
- 下一篇: C语言 ,嵌入式 ,数据结构 面试题目(