軟體開發模式

來源:互聯網
上載者:User

標籤:style   使用   sp   on   問題   工作   bs   line   size   

對於軟體系統的開發與管理,由於它們的要求各異,所 處的環境不同。因而可能採用上述不同的開發與管理方式,使用不同的程式設計語言,運用不同的開發工具與開發平台。但是一般來說,它們都遵循以下幾種具體開發 模式
   1.瀑布模型
   W. Royce在1974年最早提出這一軟體開發模型,它將軟體開發過程中的各項目活動規定為依固定順序串連的若干階段工作,形如瀑布流水,最終得到軟體系統軟體產品。
   在瀑布模型(waterfall model)中,軟體開發過程被劃分成若干個互相區別而又彼此聯絡的階段,每一個階段中的工作都以上一階段工作的結果為依據,同時也為下一個階段的工作提供了前提,並且本階段的工作結果也可反饋給上一個階段,修改與重新進行上一階段的工作。
   多年來,瀑布模型廣泛流行,一是由於它在支援開發結構化軟體、控制軟體開發複雜度、促進軟體開發工程化方面起了顯著作用;二是由於它為軟體開發和維護提供了一種在當時較為有效管理 模式 。根據這一 模式 制訂開發計劃.進行成本預算,組織開發人員以階段評審和文檔控製為手段,有效地對軟體開發過程進行指導,從而對軟體的品質有一定程度的保證。
  瀑布模型在大量的實踐中也暴露了它的不足和問題。以往的工作經驗表明,由於固定的工作順序,前期階段工作中 造成的差錯越到後斯階段, 造成的損失和影響也就越大,為了糾正它而花費的代價也就越高。
   2.漸增模型
   漸增模型(incremental model)也稱為有計劃的產品改進模型。它從一組給定的需求開始,通過構造一系列可執行中間版本來實施開發活動。第一個中間版本納人一部分需求,下一個中間版本納人更多的需求,依此類推,直到系統完成。每一個中間版本都要執行必要的過程、活動和任務。例如,需求分析和體繫結構設計需要執行一次,而軟體的詳細設計、軟體的編程和測試、軟體整合和軟體驗收測試,在每個中間版本構造過程中都要執行。
  在這種模型下開發每一個中間版本時,開發過程中的活動和任務順序地或部分平行地使用。當相繼中間版本在部分並行開發時,開發過程中的活動和任務可以在各中間版本間平行地採用。
   3.演化模型
   演化模型主要針對事先不能完整定義需求的軟體項目開發,許多軟體開發項目由於人們對軟體需求的認識模糊,很難一次開發成功,返工再開發難以避免。為此人們對需開發的軟體給出 基本 需求,作第一次實驗開發,其目標僅在於探索可行性和明確項目的需求,取得有效反饋資訊,以支援軟體的最終設計和實現。這種開發模型可以減少由於需求不明給開發工作帶來的風險。演化模型的例子如 示。
   演化模型也是通過構造系統的各個可執行檔中間版本來開發系統的。但與漸增型的區別是,承認需求不能被完全瞭解,且不能在初始時就確定,在該模型中,需求一部分被預先定義,然後在每一個相繼的中間版本中逐步完善。並且,每個中間版本在開發時,開發過程中的活動和任務順序地或 部分重疊平行地被採用。對 有的中間版本,開發過程中的活動和任務通常按同一順序被重複使用,維護過程和運作過程可以與開發過程平行地進行。整個軟體的生命過程—擷取過程、供應過程、支援過程和組織過程通常與開發過程平行地進行。
   4.螺旋模型
   1988年TRW公司的B.Boehm綜合瀑布模型與演化模型的特點,提出了螺旋模型(spiral model)。與前述幾種開放模型相比,螺旋模型強調了軟體開發過程中的風險分析與控制。該模型通常被運用於指導大型軟體項目的開發,它將開放過程分為以下的四個環節:制訂計劃、風險分析、實施開發和 客戶評估。在軟體開發過程,這四個環節每完成一次,就完成了軟體的一個新版本;下一個版本的進行,將在新的基礎之上重複這四個環節。
   在圖a中,沿著螺旋線旋轉,座標的四個象限分別表示了四個環節活動:
   (1)制訂計劃:確定軟體目標,選定實施方案,弄清項目開發的限制條件;
   (2)風險分析:分析 選方案,考慮如何識別和消除風險;
   (3)實施開發:實施軟體的開發;
   (4)客戶評估:評價軟體功能和效能,提供修正建議。
   沿著螺旋線每轉一圈,表示開發出一個更完善的新的軟體版本,如果開發風險過大,開發機構或客戶無法接受,項目有可能就此終止;在多數情況下,會沿著螺旋線繼續下去,自內向外逐步延伸,最終得到滿意的軟體產品。使用該模型需要具有相當豐富的風險評估經驗和專門知識。軟體風險是任何軟體開發項目中普遍存在的問題,可以說任何軟體項目的開發都存在一定的風險,它們的區別只是程度大小的區別而已。在項目的開發過程中,系統分析人員必須回答 需求是什麼、要投人多少資源、如何安排進度等一系列問題後才能制訂計劃, 以判斷的關鍵是分析人員的經驗。項目越大,問題越複雜,資源、進度、成本等因素的不確定性就越大。風險分析就在於風險的識別,風險的衡量,並採取對策,從而消除或減少可能浩成的損失。 

軟體開發模式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.