中文字幕综合一区,伊人av网,欧美中日韩在线,亚洲国产香蕉视频,黄视频在线免费,天天操天天爱天天爽,狠狠躁天天躁

軟題庫(kù) 培訓(xùn)課程
當(dāng)前位置:信管網(wǎng) >> 其它資料 >> 文章內(nèi)容
軟件開發(fā)如何選擇合適的生命周期模式
來(lái)源:信管網(wǎng) 2012年03月16日 【所有評(píng)論 分享到微信

  隨著用戶需求的多樣化,軟件系統(tǒng)開始越來(lái)越復(fù)雜了,而復(fù)雜性帶來(lái)的結(jié)果是軟件開發(fā)管理越來(lái)越困難。然而,許多軟件開發(fā)團(tuán)隊(duì)卻沒有適時(shí)地改變其管理模式。因此,越來(lái)越多的軟件開發(fā)項(xiàng)目呈現(xiàn)出管理失控和混亂的跡象,軟件開發(fā)的整個(gè)生命周期已經(jīng)越來(lái)越成為人們關(guān)注的焦點(diǎn)。

  為什么軟件開發(fā)項(xiàng)目的管理是這么困難呢?原因在于許多軟件開發(fā)團(tuán)隊(duì)沒有選擇合適的管理工具。一般來(lái)說(shuō),在軟件開發(fā)過程中會(huì)有許多不確定的、經(jīng)常變化的因素,如果在軟件開發(fā)過程中缺乏合適的管理工具,這將會(huì)導(dǎo)致開發(fā)人員無(wú)法統(tǒng)一開發(fā)行為和思路。例如,在實(shí)現(xiàn)項(xiàng)目的各階段和各種角色(架構(gòu)師、項(xiàng)目經(jīng)理、開發(fā)人員、測(cè)試人員等)的方法和思路并不一致,不但會(huì)對(duì)設(shè)計(jì)、質(zhì)量、代碼管理和部署產(chǎn)生負(fù)面影響,而且還會(huì)導(dǎo)致開發(fā)成本增加。

  那么,我們應(yīng)該怎樣管理好軟件開發(fā)的各種因素呢?就像教科書上經(jīng)常所說(shuō)的一樣,如果我們能夠很好的管理軟件生命周期每一個(gè)階段的質(zhì)量,也就很好的管理了整個(gè)軟件開發(fā)的整個(gè)過程。因此,如何最大程度地管理好開發(fā)過程成為目前業(yè)界討論的焦點(diǎn)。本文介紹了在軟件開發(fā)過程中一種常用的管理工具:軟件生命周期模式,以及其概念和選擇方法。

  什么是軟件開發(fā)生命周期模式?

  軟件開發(fā)工作本身是需要一個(gè)周期來(lái)完成的,而在周期的內(nèi)部則包含了很多因素。一個(gè)因素的不穩(wěn)定,在周期推移的過程中都很可能會(huì)造成類似生物學(xué)領(lǐng)域的蝴蝶效應(yīng)----非洲的一只蝴蝶扇動(dòng)翅膀可能會(huì)造成美洲大陸的一場(chǎng)龍卷風(fēng)。這說(shuō)明每一個(gè)事情都可能會(huì)對(duì)其它的事情產(chǎn)生連鎖反應(yīng)。因此,任何軟件開發(fā)項(xiàng)目都必須進(jìn)行適當(dāng)?shù)慕M織和管理,然后才能按預(yù)期計(jì)劃成功地執(zhí)行項(xiàng)目。也說(shuō)是說(shuō),規(guī)劃良好的軟件開發(fā)生命周期將能夠?qū)崿F(xiàn)在更短的開發(fā)周期內(nèi)構(gòu)建軟件的愿景。

 ?。?)什么是軟件開發(fā)生命周期?

  同任何事物一樣,一個(gè)軟件產(chǎn)品或軟件系統(tǒng)也要經(jīng)歷孕育、誕生、成長(zhǎng)、成熟、衰亡等階段,這一般稱為軟件生命周期。軟件開發(fā)生命周期(SDLC)是指軟件開發(fā)的全部過程、活動(dòng)和任務(wù)的結(jié)構(gòu)框架。許多軟件開發(fā)工具廠商都提出過各種軟件生命周期方法論,它們有人將SDLC解釋為一組步驟或者里程標(biāo)(Milestone)。但無(wú)論是誰(shuí)的解釋,SDLC的一般步驟包括:確定問題、可行性分析與開發(fā)計(jì)劃、收集需求、分析與設(shè)計(jì)、編碼開發(fā)、測(cè)試、安裝、維護(hù)。

  生命周期法也稱結(jié)構(gòu)化系統(tǒng)開發(fā)方法,是目前國(guó)內(nèi)外較流行的軟件系統(tǒng)開發(fā)方法。尤其在開發(fā)復(fù)雜的大系統(tǒng)時(shí),顯示出無(wú)比的優(yōu)越性。它的基本思想是:將軟件工程學(xué)和系統(tǒng)工程的理論和方法引入到軟件系統(tǒng)的開發(fā)中,按照用戶至上的原則,采用結(jié)構(gòu)化、模塊化自頂向下對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)。具體的說(shuō),是通過把整個(gè)軟件生命周期劃分為若干階段,使得每個(gè)階段有明確的任務(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è)計(jì)問題,即自頂向下的觀點(diǎn)。它從時(shí)間角度把軟件開發(fā)和維護(hù)分解為若干階段,每個(gè)階段有各自相對(duì)獨(dú)立的任務(wù)和目標(biāo),從而降低了系統(tǒng)開發(fā)的復(fù)雜性,提高了可操作性。

 ?。?)軟件生命周期模式

  對(duì)于不同的軟件系統(tǒng),可以采用不同的開發(fā)方法、以及運(yùn)用不同的管理方法和手段。實(shí)際上,軟件生命周期法在開始的時(shí)候只是一個(gè)概念。因此,在應(yīng)用軟件開發(fā)生命周期法時(shí),許多開發(fā)團(tuán)隊(duì)會(huì)把這一個(gè)概念進(jìn)行工具化,這一個(gè)工具化就是軟件開發(fā)生命周期模式。通過軟件開發(fā)生命周期模式,我們能清晰、直觀地看到軟件開發(fā)的全過程。

  在過去的10年中,軟件生命周期模式及其許多變體獲得了廣泛的認(rèn)可。在各種軟件開發(fā)方法和過程改進(jìn)模式中的技術(shù)革新也得到了承認(rèn),如Rational Unified Process(RUP)、Capability Maturity Model(CMM)、ISO 9000-3 等。典型的幾種生命周期模式包括:瀑布模式、演化模式、螺旋模式、快速原型模式、噴泉模式和混合模式等。在這里只介紹其中最常用的幾種模式:

 ?、倨俨寄J剑核紫仁怯蒖oyce提出,該模式由于酷似瀑布聞名。在該模式中首先確定需求,然后擬定規(guī)格說(shuō)明,在通過驗(yàn)證后方可進(jìn)入計(jì)劃階段。因此,瀑布模式中至關(guān)重要的一點(diǎn)是只有當(dāng)一個(gè)階段的文檔獲得認(rèn)可才可以進(jìn)入下一個(gè)階段。瀑布模式通過強(qiáng)制性規(guī)約來(lái)確保每個(gè)階段都能很好的完成任務(wù),但是實(shí)際上卻往往難以辦到。因?yàn)檎麄€(gè)瀑布模式幾乎都是以文檔驅(qū)動(dòng)的,這對(duì)于非專業(yè)的用戶來(lái)說(shuō)是難以閱讀和理解的。雖然瀑布模式有很多很好的思想可以借鑒,但是在過程能力上有天生的缺陷。

 ?、谘莼J剑核饕轻槍?duì)事先不能完整定義需求的軟件開發(fā)。它的方法是用戶先給出待開發(fā)系統(tǒng)的核心需求,并且在核心需求實(shí)現(xiàn)后,再提出反饋以支持系統(tǒng)的最終設(shè)計(jì)和實(shí)現(xiàn)。也就是說(shuō):開發(fā)人員首先會(huì)根據(jù)用戶的需求開發(fā)核心系統(tǒng),然后提供給用戶試用;用戶試用后再提出增強(qiáng)系統(tǒng)能力的需求;最后開發(fā)人員再根據(jù)用戶的反饋,實(shí)施迭代開發(fā)。實(shí)際上,這個(gè)模式可看作是重復(fù)執(zhí)行的多個(gè)瀑布模式。演化模式要求開發(fā)人員把項(xiàng)目的產(chǎn)品需求分解為不同組,以便分批循環(huán)開發(fā)。但這種分組并不是隨意性的,而是要根據(jù)功能的重要性及對(duì)總體設(shè)計(jì)的基礎(chǔ)結(jié)構(gòu)的影響而作出判斷。

 ?、勐菪J剑核瞧俨寄J脚c演化模式相結(jié)合,并加入兩者所忽略的風(fēng)險(xiǎn)分析所建立的一種軟件開發(fā)模式。螺旋模式基本的做法是在瀑布模式的每一個(gè)開發(fā)階段之前,引入非常嚴(yán)格的風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)分析和風(fēng)險(xiǎn)控制。直到采取了消除風(fēng)險(xiǎn)的措施之后,才開始計(jì)劃下一階段的開發(fā)工作。否則,項(xiàng)目就很可能被暫停。另外,如果有充足的把握判斷遺留的風(fēng)險(xiǎn)已降低到一定的程度,項(xiàng)目管理人員還可作出決定讓余下的開發(fā)工作采用另外的生命周期模式,如演化模式,瀑布模式或自定的混合模式。

 ?、苓^程開發(fā)模式:它又叫混合模式或元模式,是指把幾種不同模式組合成一種混合模式,它允許一個(gè)項(xiàng)目能沿著最有效的路徑發(fā)展。因?yàn)樯鲜龅哪J街卸加凶约邯?dú)特的思想,現(xiàn)在的軟件開發(fā)團(tuán)隊(duì)中很少說(shuō)標(biāo)準(zhǔn)的采用那一種模式的,因?yàn)槟J胶蛯?shí)際應(yīng)用還是有很大的區(qū)別的。實(shí)際上,許多軟件開發(fā)團(tuán)隊(duì)都是在使用幾種不同的開發(fā)方法組成他們自己的混合模式。

  最后,我們來(lái)總結(jié)一下。螺旋模式是典型的迭代式生命周期模式,而RUP則是近代迭代式生命周期的代表。與螺旋模式相比,RUP將風(fēng)險(xiǎn)管理放在更重要的地位。最新的迭代式生命周期模式的代表是模式驅(qū)動(dòng)架構(gòu)(MDA)和敏捷(Agile)軟件開發(fā)。MDA模式是基于可執(zhí)行規(guī)格說(shuō)明的思想,是現(xiàn)代轉(zhuǎn)換模式的代表,其核心技術(shù)是組件技術(shù)。而敏捷開發(fā)生命周期的典型代表是XP編程,是把傳統(tǒng)的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)由敏捷軟件開發(fā)過程中的驗(yàn)收測(cè)試、重構(gòu)和測(cè)試驅(qū)動(dòng)所取代;把傳統(tǒng)的集成和部署由敏捷軟件開發(fā)中的持續(xù)集成和短周期所取代。

  其實(shí)上,無(wú)論是瀑布開發(fā)模式還是螺旋開發(fā)模式,軟件生命周期模式的發(fā)展實(shí)際上是體現(xiàn)了軟件工程理論的發(fā)展。在最早的時(shí)候,軟件的生命周期處于無(wú)序、混亂的情況。一些人為了能夠管理和控制軟件的開發(fā)過程,就把軟件開發(fā)嚴(yán)格的區(qū)分為多個(gè)不同的階段,并在階段間加上嚴(yán)格的審查,這就是軟件開發(fā)模式產(chǎn)生的起因。它們體現(xiàn)了人們對(duì)軟件過程的一個(gè)希望:嚴(yán)格控制、確保質(zhì)量。

  如何選擇合適的生命周期模式?

  眾所周知,在軟件開發(fā)過程中如果缺乏適當(dāng)?shù)墓芾?,最終開發(fā)出來(lái)的軟件產(chǎn)品質(zhì)量是難以保證的。那么,在軟件開發(fā)管理過程中,應(yīng)該如何選擇合適的軟件開發(fā)生命模式工具呢?建議可參考以下幾個(gè)步驟:

 ?。?)評(píng)估軟件開發(fā)范圍和需求

  當(dāng)軟件所有參與人員都能理解軟件開發(fā)的范圍和需求時(shí),就能為軟件開發(fā)可能遇到的突發(fā)事情和未來(lái)變化建立一個(gè)技術(shù)基線。這個(gè)技術(shù)基線、基礎(chǔ)規(guī)則和假設(shè)應(yīng)該包含識(shí)別和評(píng)估軟件的功能性。一般來(lái)說(shuō),在前期需求明確的情況下可盡量采用瀑布模式或改進(jìn)型的瀑布模式。而在不確定性因素很多時(shí)或很多需求無(wú)法計(jì)劃的情況下,應(yīng)該盡量采用增量迭代模式或螺旋模式。

 ?。?)確定軟件開發(fā)規(guī)模和階段劃分

  確定軟件的開發(fā)規(guī)模是決定開發(fā)管理工具的重要一步,也是最為關(guān)鍵的步驟。因?yàn)榇_定開發(fā)規(guī)模和階段劃分是明確軟件開發(fā)生命周期的驅(qū)動(dòng)動(dòng)力,它可用來(lái)約束在開發(fā)過程中所采用的行動(dòng)和資源,以及限制可以提供的選項(xiàng)。例如,對(duì)于規(guī)模小的建議采用瀑布模式;而在資金和成本無(wú)法一次到位情況下可以采用增量模式;而對(duì)于完全多個(gè)獨(dú)立功能的開發(fā)可以在需求階段就分功能并行,但每個(gè)功能內(nèi)可以遵循瀑布模式原則;而其他項(xiàng)目一般可采用迭代模式。

 ?。?)選擇合適的軟件生命周期模式

  一個(gè)定義良好的軟件生命周期模式,可以很好的指導(dǎo)我們的開發(fā)工作,使漫長(zhǎng)的開發(fā)工作易于控制。事實(shí)上,我們也可以任意定義自己喜歡的軟件生命周期模式。但是,如果生命周期模式定義不合理,卻會(huì)制約我們的開發(fā)過程。因此,選擇一個(gè)軟件開發(fā)模式不應(yīng)當(dāng)將其作為一次性的活動(dòng)來(lái)考慮。因?yàn)殡S著開發(fā)項(xiàng)目的進(jìn)展,未知內(nèi)容會(huì)逐漸變?yōu)橐阎獌?nèi)容,并且新的和意料之外的問題和風(fēng)險(xiǎn)都會(huì)隨之出現(xiàn)。所以,選擇開發(fā)模式應(yīng)該要根據(jù)實(shí)際情況來(lái)進(jìn)行,然后在此基礎(chǔ)上再加以裁減以作出適當(dāng)?shù)男薷暮透牧肌?/p>

 ?。?)跟蹤和度量開發(fā)模式的效率

  在軟件開發(fā)模式選定后,應(yīng)該要定時(shí)跟蹤和度量開發(fā)模式的效率。例如,記錄那些相關(guān)的信息和得到的經(jīng)驗(yàn)教訓(xùn)。通過這樣做的目的是為了記錄一個(gè)“最佳開發(fā)模式”的選擇過程,以獲得選擇開發(fā)模式的經(jīng)驗(yàn)性。因此,跟蹤信息應(yīng)當(dāng)被不斷的收集起來(lái),并且同原始模式和基線進(jìn)行比較。如果執(zhí)行情況出現(xiàn)效率低下或者明顯的不同,那么校正開發(fā)模式就應(yīng)當(dāng)被考慮進(jìn)來(lái)并加以實(shí)施,從而將項(xiàng)目開發(fā)拉回到正確的軌道上來(lái)。

掃碼關(guān)注公眾號(hào)

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。

相關(guān)內(nèi)容

發(fā)表評(píng)論  查看完整評(píng)論  

推薦文章