版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件開發(fā)如何選擇合適的生命周期模式
隨著用戶需求的多樣化,軟件系統(tǒng)開始越來越復(fù)雜了,而復(fù)雜性帶來的結(jié)果是軟件開發(fā)管理越來越困難。然而,許多軟件開發(fā)團(tuán)隊(duì)卻沒有適時地改變其管理模式。因此,越來越多的軟件開發(fā)項(xiàng)目呈現(xiàn)出管理失控和混亂的跡象,軟件開發(fā)的整個生命周期已經(jīng)越來越成為人們關(guān)注的焦點(diǎn)。為什么軟件開發(fā)項(xiàng)目的管理是這么困難呢?原因在于許多軟件開發(fā)團(tuán)隊(duì)沒有選擇合適的管理工具。一般來說,在軟件開發(fā)過程中會有許多不確定的、經(jīng)常變化的因素,如果在軟件開發(fā)過程中缺乏合適的管理工具,這將會導(dǎo)致開發(fā)人員無法統(tǒng)一開發(fā)行為和思路。例如,在實(shí)現(xiàn)項(xiàng)目的各階段和各種角色(架構(gòu)師、項(xiàng)目經(jīng)理、開發(fā)人員、測試人員等)的方法和思路并不一致,不但會對設(shè)計、質(zhì)量、代碼管理和部署產(chǎn)生負(fù)面影響,而且還會導(dǎo)致開發(fā)成本增加。那么,我們應(yīng)該怎樣管理好軟件開發(fā)的各種因素呢?就像教科書上經(jīng)常所說的一樣,如果我們能夠很好的管理軟件生命周期每一個階段的質(zhì)量,也就很好的管理了整個軟件開發(fā)的整個過程。因此,如何最大程度地管理好開發(fā)過程成為目前業(yè)界討論的焦點(diǎn)。本文介紹了在軟件開發(fā)過程中一種常用的管理工具:軟件生命周期模式,以及其概念和選擇方法。什么是軟件開發(fā)生命周期模式?軟件開發(fā)工作本身是需要一個周期來完成的,而在周期的內(nèi)部則包含了很多因素。一個因素的不穩(wěn)定,在周期推移的過程中都很可能會造成類似生物學(xué)領(lǐng)域的蝴蝶效應(yīng)----非洲的一只蝴蝶扇動翅膀可能會造成美洲大陸的一場龍卷風(fēng)。這說明每一個事情都可能會對其它的事情產(chǎn)生連鎖反應(yīng)。因此,任何軟件開發(fā)項(xiàng)目都必須進(jìn)行適當(dāng)?shù)慕M織和管理,然后才能按預(yù)期計劃成功地執(zhí)行項(xiàng)目。也說是說,規(guī)劃良好的軟件開發(fā)生命周期將能夠?qū)崿F(xiàn)在更短的開發(fā)周期內(nèi)構(gòu)建軟件的愿景。(1)什么是軟件開發(fā)生命周期?同任何事物一樣,一個軟件產(chǎn)品或軟件系統(tǒng)也要經(jīng)歷孕育、誕生、成長、成熟、衰亡等階段,這一般稱為軟件生命周期。軟件開發(fā)生命周期(SDLC)是指軟件開發(fā)的全部過程、活動和任務(wù)的結(jié)構(gòu)框架。許多軟件開發(fā)工具廠商都提出過各種軟件生命周期方法論,它們有人將SDLC解釋為一組步驟或者里程標(biāo)(Milestone)。但無論是誰的解釋,SDLC的一般步驟包括:確定問題、可行性分析與開發(fā)計劃、收集需求、分析與設(shè)計、編碼開發(fā)、測試、安裝、維護(hù)。生命周期法也稱結(jié)構(gòu)化系統(tǒng)開發(fā)方法,是目前國內(nèi)外較流行的軟件系統(tǒng)開發(fā)方法。尤其在開發(fā)復(fù)雜的大系統(tǒng)時,顯示出無比的優(yōu)越性。它的基本思想是:將軟件工程學(xué)和系統(tǒng)工程的理論和方法引入到軟件系統(tǒng)的開發(fā)中,按照用戶至上的原則,采用結(jié)構(gòu)化、模塊化自頂向下對系統(tǒng)進(jìn)行分析和設(shè)計。具體的說,是通過把整個軟件生命周期劃分為若干階段,使得每個階段有明確的任務(wù),使規(guī)模大、結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開發(fā)變的容易控制和管理。它的優(yōu)點(diǎn)是強(qiáng)調(diào)系統(tǒng)開發(fā)過程的整體性和全局性,強(qiáng)調(diào)在整體優(yōu)化的前提下考慮具體的分析設(shè)計問題,即自頂向下的觀點(diǎn)。它從時間角度把軟件開發(fā)和維護(hù)分解為若干階段,每個階段有各自相對獨(dú)立的任務(wù)和目標(biāo),從而降低了系統(tǒng)開發(fā)的復(fù)雜性,提高了可操作性。(2)軟件生命周期模式對于不同的軟件系統(tǒng),可以采用不同的開發(fā)方法、以及運(yùn)用不同的管理方法和手段。實(shí)際上,軟件生命周期法在開始的時候只是一個概念。因此,在應(yīng)用軟件開發(fā)生命周期法時,許多開發(fā)團(tuán)隊(duì)會把這一個概念進(jìn)行工具化,這一個工具化就是軟件開發(fā)生命周期模式。通過軟件開發(fā)生命周期模式,我們能清晰、直觀地看到軟件開發(fā)的全過程。在過去的10年中,軟件生命周期模式及其許多變體獲得了廣泛的認(rèn)可。在各種軟件開發(fā)方法和過程改進(jìn)模式中的技術(shù)革新也得到了承認(rèn),如RationalUnifiedProcess(RUP)、CapabilityMaturityModel(CMM)、ISO9000-3等。典型的幾種生命周期模式包括:瀑布模式、演化模式、螺旋模式、快速原型模式、噴泉模式和混合模式等。在這里只介紹其中最常用的幾種模式:①瀑布模式:它首先是由Royce提出,該模式由于酷似瀑布聞名。在該模式中首先確定需求,然后擬定規(guī)格說明,在通過驗(yàn)證后方可進(jìn)入計劃階段。因此,瀑布模式中至關(guān)重要的一點(diǎn)是只有當(dāng)一個階段的文檔獲得認(rèn)可才可以進(jìn)入下一個階段。瀑布模式通過強(qiáng)制性規(guī)約來確保每個階段都能很好的完成任務(wù),但是實(shí)際上卻往往難以辦到。因?yàn)檎麄€瀑布模式幾乎都是以文檔驅(qū)動的,這對于非專業(yè)的用戶來說是難以閱讀和理解的。雖然瀑布模式有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷。②演化模式:它主要是針對事先不能完整定義需求的軟件開發(fā)。它的方法是用戶先給出待開發(fā)系統(tǒng)的核心需求,并且在核心需求實(shí)現(xiàn)后,再提出反饋以支持系統(tǒng)的最終設(shè)計和實(shí)現(xiàn)。也就是說:開發(fā)人員首先會根據(jù)用戶的需求開發(fā)核心系統(tǒng),然后提供給用戶試用;用戶試用后再提出增強(qiáng)系統(tǒng)能力的需求;最后開發(fā)人員再根據(jù)用戶的反饋,實(shí)施迭代開發(fā)。實(shí)際上,這個模式可看作是重復(fù)執(zhí)行的多個瀑布模式。演化模式要求開發(fā)人員把項(xiàng)目的產(chǎn)品需求分解為不同組,以便分批循環(huán)開發(fā)。但這種分組并不是隨意性的,而是要根據(jù)功能的重要性及對總體設(shè)計的基礎(chǔ)結(jié)構(gòu)的影響而作出判斷。③螺旋模式:它是瀑布模式與演化模式相結(jié)合,并加入兩者所忽略的風(fēng)險分析所建立的一種軟件開發(fā)模式。螺旋模式基本的做法是在瀑布模式的每一個開發(fā)階段之前,引入非常嚴(yán)格的風(fēng)險識別、風(fēng)險分析和風(fēng)險控制。直到采取了消除風(fēng)險的措施之后,才開始計劃下一階段的開發(fā)工作。否則,項(xiàng)目就很可能被暫停。另外,如果有充足的把握判斷遺留的風(fēng)險已降低到一定的程度,項(xiàng)目管理人員還可作出決定讓余下的開發(fā)工作采用另外的生命周期模式,如演化模式,瀑布模式或自定的混合模式。④過程開發(fā)模式:它又叫混合模式或元模式,是指把幾種不同模式組合成一種混合模式,它允許一個項(xiàng)目能沿著最有效的路徑發(fā)展。因?yàn)樯鲜龅哪J街卸加凶约邯?dú)特的思想,現(xiàn)在的軟件開發(fā)團(tuán)隊(duì)中很少說標(biāo)準(zhǔn)的采用那一種模式的,因?yàn)槟J胶蛯?shí)際應(yīng)用還是有很大的區(qū)別的。實(shí)際上,許多軟件開發(fā)團(tuán)隊(duì)都是在使用幾種不同的開發(fā)方法組成他們自己的混合模式。最后,我們來總結(jié)一下。螺旋模式是典型的迭代式生命周期模式,而RUP則是近代迭代式生命周期的代表。與螺旋模式相比,RUP將風(fēng)險管理放在更重要的地位。最新的迭代式生命周期模式的代表是模式驅(qū)動架構(gòu)(MDA)和敏捷(Agile)軟件開發(fā)。MDA模式是基于可執(zhí)行規(guī)格說明的思想,是現(xiàn)代轉(zhuǎn)換模式的代表,其核心技術(shù)是組件技術(shù)。而敏捷開發(fā)生命周期的典型代表是XP編程,是把傳統(tǒng)的系統(tǒng)設(shè)計和實(shí)現(xiàn)由敏捷軟件開發(fā)過程中的驗(yàn)收測試、重構(gòu)和測試驅(qū)動所取代;把傳統(tǒng)的集成和部署由敏捷軟件開發(fā)中的持續(xù)集成和短周期所取代。其實(shí)上,無論是瀑布開發(fā)模式還是螺旋開發(fā)模式,軟件生命周期模式的發(fā)展實(shí)際上是體現(xiàn)了軟件工程理論的發(fā)展。在最早的時候,軟件的生命周期處于無序、混亂的情況。一些人為了能夠管理和控制軟件的開發(fā)過程,就把軟件開發(fā)嚴(yán)格的區(qū)分為多個不同的階段,并在階段間加上嚴(yán)格的審查,這就是軟件開發(fā)模式產(chǎn)生的起因。它們體現(xiàn)了人們對軟件過程的一個希望:嚴(yán)格控制、確保質(zhì)量。如何選擇合適的生命周期模式?眾所周知,在軟件開發(fā)過程中如果缺乏適當(dāng)?shù)墓芾?,最終開發(fā)出來的軟件產(chǎn)品質(zhì)量是難以保證的。那么,在軟件開發(fā)管理過程中,應(yīng)該如何選擇合適的軟件開發(fā)生命模式工具呢?建議可參考以下幾個步驟:(1)評估軟件開發(fā)范圍和需求當(dāng)軟件所有參與人員都能理解軟件開發(fā)的范圍和需求時,就能為軟件開發(fā)可能遇到的突發(fā)事情和未來變化建立一個技術(shù)基線。這個技術(shù)基線、基礎(chǔ)規(guī)則和假設(shè)應(yīng)該包含識別和評估軟件的功能性。一般來說,在前期需求明確的情況下可盡量采用瀑布模式或改進(jìn)型的瀑布模式。而在不確定性因素很多時或很多需求無法計劃的情況下,應(yīng)該盡量采用增量迭代模式或螺旋模式。(2)確定軟件開發(fā)規(guī)模和階段劃分確定軟件的開發(fā)規(guī)模是決定開發(fā)管理工具的重要一步,也是最為關(guān)鍵的步驟。因?yàn)榇_定開發(fā)規(guī)模和階段劃分是明確軟件開發(fā)生命周期的驅(qū)動動力,它可用來約束在開發(fā)過程中所采用的行動和資源,以及限制可以提供的選項(xiàng)。例如,對于規(guī)模小的建議采用瀑布模式;而在資金和成本無法一次到位情況下可以采用增量模式;而對于完全多個獨(dú)立功能的開發(fā)可以在需求階段就分功能并行,但每個功能內(nèi)可以遵循瀑布模式原則;而其他項(xiàng)目一般可采用迭代模式。(3)選擇合適的軟件生命周期模式一個定義良好的軟件生命周期模式,可以很好的指導(dǎo)我們的開發(fā)工作,使漫長的開發(fā)工作易于控制。事實(shí)上,我們也可以任意定義自己喜歡的軟件生命周期模式。但是,如果生命周期模式定義不合理,卻會制約我們的開發(fā)過程。因此,選擇一個軟件開發(fā)模式不應(yīng)當(dāng)將其作為一次性的活動來考慮。因?yàn)殡S著開發(fā)項(xiàng)目的進(jìn)展,未知內(nèi)容會逐漸變?yōu)橐阎獌?nèi)容,并且新的和意料之外的問題和風(fēng)險都會隨之出現(xiàn)。所以,選擇開發(fā)模式應(yīng)該要根據(jù)實(shí)際情況來進(jìn)行,然后在此基礎(chǔ)上再加以裁減以作出適當(dāng)?shù)男薷暮透牧肌?4)跟蹤和度量開發(fā)模式的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025振動沉管灌注樁整體機(jī)械出租合同
- 2025不動產(chǎn)權(quán)籍調(diào)查技術(shù)咨詢服務(wù)合同
- 課題申報參考:凌家灘史前玉器藝術(shù)價值挖掘與傳承創(chuàng)新路徑研究
- 學(xué)科交叉融合與創(chuàng)新能力提升
- 會展合同管理與風(fēng)險防范考核試卷
- 二零二五年度森林碳匯樹木種植項(xiàng)目合同4篇
- 2025年滬教版選擇性必修1歷史下冊階段測試試卷
- 2025年新世紀(jì)版九年級地理上冊階段測試試卷
- 2025年冀教版九年級地理上冊月考試卷
- 2025年華師大版選擇性必修1化學(xué)下冊月考試卷
- 2024-2025學(xué)年北京石景山區(qū)九年級初三(上)期末語文試卷(含答案)
- 第一章 整式的乘除 單元測試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級下冊
- 春節(jié)聯(lián)歡晚會節(jié)目單課件模板
- 中國高血壓防治指南(2024年修訂版)
- 糖尿病眼病患者血糖管理
- 抖音音樂推廣代運(yùn)營合同樣本
- 教育促進(jìn)會會長總結(jié)發(fā)言稿
- 北師大版(2024新版)七年級上冊數(shù)學(xué)第四章《基本平面圖形》測試卷(含答案解析)
- 心理調(diào)適教案調(diào)整心態(tài)積極應(yīng)對挑戰(zhàn)
- 噴漆外包服務(wù)合同范本
- JT-T-390-1999突起路標(biāo)行業(yè)標(biāo)準(zhǔn)
評論
0/150
提交評論