互聯(lián)網(wǎng)信息化咨詢/技術開發(fā)/整合營銷
請通過以下方式免費咨詢
提交
瀑布式開發(fā)
瀑布式開發(fā)是一種相對傳統(tǒng)的計算機軟件開發(fā)方法,1970年,著名的“瀑布模型”由Winston Royce明確提出,一直到八十年代還被人們廣泛采用。
瀑布模型將軟件的生命周期劃分為六個階段:制定計劃、需求分析、軟件設計、程序編寫、軟件測試、運行維護。并且規(guī)定它們的順序是自上而下、相互銜接的,如同瀑布流水一般,“飛流直下三千尺”,快速達成客戶的期望。
在這種模型中,軟件開發(fā)的各種活動需嚴格按照線性的方式來進行,各項活動需要根據(jù)上一個活動的工作結果,實施完成所需的工作內容。當前活動在完成工作內容后,將結果進行驗證,若驗證通過,再將工作結果輸入給下一項活動,然后繼續(xù)下一項活動的工作內容,否則返回修改。
那么重點來了
瀑布式開發(fā)的優(yōu)點是軟件開發(fā)嚴格按照預先計劃進行,需求明確,工作量可控。
隨著時代的發(fā)展,瀑布式開發(fā)模式已經(jīng)不適合現(xiàn)代軟件開發(fā),主要是因為以下幾點:
1.各階段劃分明確,但階段之間產(chǎn)生大量文檔,加重了工作量。
2.由于計劃嚴格按照線性方式進行,用戶只有在軟件開發(fā)末期才能看到成果,開發(fā)風險較高。
3.早期出現(xiàn)錯誤不能及時發(fā)現(xiàn),可能導致嚴重后果。
4.各個階段銜接過程時間成本較高,團隊人員溝通交流困難。
邊做邊改模型
現(xiàn)實中許多小公司采用的都是這種開發(fā)模式中,在“邊做邊改”開發(fā)模式中,沒有嚴格的規(guī)格說明,產(chǎn)品也沒有經(jīng)過精心的設計,只是根據(jù)客戶的需求一次又一次地修改。
軟件開發(fā)人員拿到項目后,立即根據(jù)客戶的需求編寫程序,調試成功后生成軟件的第一個版本。將其提供給客戶,如果程序發(fā)生錯誤或客戶有新的需求,技術人員再修改程序代碼,直到通過測試并且讓客戶滿意。
那么重點來了
這樣的開發(fā)方式前期出成效快,但只適合一些對于編寫邏輯不太嚴謹?shù)男〕绦虻龋瑢τ谡R?guī)模的開發(fā)來說,是不太適用的,主要原因在于:
1.缺乏設計和規(guī)劃等重要環(huán)節(jié),使得軟件的結構混亂,導致最終無法修改。
2.開發(fā)過程忽略軟件測試和程序的可維護性,也沒有具體的文檔,維護起來十分困難。
快速原型
快速原型模型首先要創(chuàng)建一個快速原型,實現(xiàn)客戶或者未來用戶與系統(tǒng)的交互,根據(jù)客戶或用戶對軟件原型的評價,來進一步明確待開發(fā)軟件的需求。軟件開發(fā)人員先了解客戶的真實需求,然后不斷調整原型,使其滿足客戶的要求,其次則在模型的基礎上開發(fā)客戶所需的軟件。
快速原型可以降低瀑布式開發(fā)模式中由于需求不明確帶來的風險。而快速原型的關鍵在于盡快建造出軟件模型,原型系統(tǒng)的內部結構并不重要,一旦確定了客戶需求,原有模型將不再需要而將其迅速修改。
那么重點來了
快速原型開發(fā)模式生命周期短,并且有點整合“邊做邊改模式”和“瀑布式開發(fā)模式”的意味,但這種模式可能會導致系統(tǒng)設計差和難以維護等問題。
迭代開發(fā)
迭代模型也可稱為迭代進化式開發(fā)或迭代增量式開發(fā),是一種可以彌補瀑布式模式缺點的軟件開發(fā)過程,它具有更高的生產(chǎn)率以及成功率。
在迭代開發(fā)模式中,整個開發(fā)工作可分為一系列固定長度的、短小的小項目,被稱為一系列的迭代。每一次的迭代過程都包括了需求分析、軟件設計和軟件測試等基本活動,采用這種開發(fā)模式,軟件開發(fā)項目可以在客戶需求完全確定之前啟動,并在每一次迭代中完成系統(tǒng)的一部分功能和業(yè)務邏輯的開發(fā)工作。然后再根據(jù)客戶的反饋來進一步細化需求,并開始新一輪的迭代過程。
那么重點來了
這種開發(fā)模式的優(yōu)點有:
1.降低在一個增量上的開支風險
2.提早發(fā)現(xiàn)問題,降低產(chǎn)品不能按照預期進入市場的風險。
3.明確問題焦點,提高工作效率,加快工作進度。
4.迭代過程適應需求變化,復用性高。
螺旋式開發(fā)
螺旋模型是一種演化軟件定制開發(fā)過程的模型,它既具有快速原型的迭代特征,又有瀑布式開發(fā)的系統(tǒng)化。它引入了其他開發(fā)模式所不具備的風險分析,使軟件在面臨風險時能及時停止,減少損失,非常適合大型復雜的軟件應用開發(fā)。
螺旋模型沿著螺線進行若干次迭代,活動的過程可分為四個階段。第一階段:制定計劃。確定軟件開發(fā)的方案和目標,弄清限制條件。第二階段:風險分析。分析評估所選方案,考慮如何規(guī)避風險。第三階段:計劃實施。進行軟件開發(fā)和驗證等。第四階段:客戶評價。評價開發(fā)工作,提出反饋或修改建議,進行下一步工作。
在螺旋模型中,第一個發(fā)布的模型可能是沒有任何產(chǎn)出的,也許只是紙上談兵的一個目標,但隨著一次又一次的交付,每一個版本都會朝著同一個方向邁進,最終將得到一個更加完善的版本。可以說它是一個由風險驅動的方法體系,因為在每個階段進行之前,都要先進行風險評估。