【软件工程】软件过程各种模型的理解[ 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 ]
-
什么是軟件過程?
軟件過程是為了獲得高質量軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。
-
軟件生命周期
瀑布模型
-
瀑布模型優點 :
1.為項目提供了按階段劃分的檢查點
2.當前活動完成后,只需要去關注后續活動。
3.它提供了一個模板,這個模板使得分析、設計、編碼、測試和支持的方法可以在該模板下有一個共同的指導。 -
瀑布模型缺點 :
對于絕大多數人來說,剛接手一個新項目的時候都會不自覺的選擇“瀑布模型.”我們跟客戶交談后指定需求分析,之后進行簡單的設計,之后編寫代碼,提交,完成。新手會不自覺的選擇這種方案,因為它直白,想到哪一步做到哪一步,需要做什么就做什么。但是,因為瀑布模型延遲實現的觀點,即所有步驟完成之后才能看到結果,這在有些時候是要付出慘重的代價的.
1.由于開發模型是線性的,用戶只能等到整個過程的未期才能見到開發成果,從而增加了開發的風險。
2.各個階段的劃分完全固定,階段之間產生大量的文檔,極大地增加了工作量
3.只有在項目生命周期的后期才能看到結果,早期的錯誤可能要等到開發后期的測試階段才能發現,進而帶來嚴重的后果。
-
應用場景 :
1.功能和性能明確、完整、無重大變化的軟件開發,
2.分析設計人員對應用領域很熟悉,
3.項目風險低,用戶很少參與開發工作的項目。拿蘋果手機來舉例子 .
喬布斯說的「消費者并不知道自己需要什么,直到我們拿出自己的產品,他們就發現,這是我要的東西.老喬從來不重視用戶調查,他認為如果你不停的問消費者想要什么,他們只會告訴你一匹更快的馬,直到你拿出一輛汽車。那么如果你品味最高,清楚自己想要什么,只為自己開發產品,自己就是消費者,那么就可以考慮用瀑布模型。就像喬布斯一樣,因為喬布斯就是這樣一個高傲的人,但他也是世界上最成功的產品經理!也是因為有了喬布斯,才有了今天的蘋果手機
同樣適合瀑布模型的還有
國家反詐騙中心 ,學習強國這種國家開發的軟件,還有航空航天火箭啥的這些不用消費者的意見,就清楚自己想要什么的產品!
快速原型模型
-
快速原型模型的基本思想:
快速分析,快速實現,及時反饋,反復評價和改進,適應變化最終實現系統。 -
快速原型模型方法步驟:
1.雙方通過溝通,明確已知的需求。
2.迅速策劃一個原型并進行建模,主要集中于那些最終用戶所能夠看到的方面,如人機接口布局或者輸出顯示格式等。
3.快速設計產生原型,對原型進行部署,由客戶和用戶進行評價;
4.根據反饋,進一步細化需求并調整原型;
5.原型系統不斷調整以逼近用戶需求。
-
優點:
克服了瀑布模型的缺點
1.及早提供有用產品;
2.及早發現問題,及時改錯;
3.降低風險,減少開發時間,提高開發效率;
4.用戶參與,增加溝通,減少誤解;
5.適應需求的變化 -
缺點:
1.缺少有力的工具支持;
2.尚未建立完整的開發標準;
3.對設計人員和開發環境要求高;
4.易變性給測試帶來了困難.
增量模型
-
什么是增量模型?
使用增量模型開發軟件時,把軟件產品作為一系列的增量構件來設計、編碼、集成和測試。每個構件由多個相互作用的模塊構成,并且能夠完成特定的功能。增量模型的本質是以迭代的方式運用瀑布模型
-
增量模型方法步驟:
第一個增量往往是核心產品:滿足了基本的需求,但是缺少附加的特性;
對上一個增量的提交物進行評價,制定下一個增量計劃,說明需要增加的特性和功能;
重復上述過程,直到最終產品產生為止。 -
增量模型優點
1.各個階段交付的是滿足客戶需求的一個子集的可運行產品,有問題,可及時改正。
2.因為首先交付具有較高優先權的模塊,增量不斷被集成進來,使得最重要的功能接受了最多的測試,從而降低風險。
3.合理的規劃開發人員。 -
增量模型缺點
1.每個附加的增量并入現有的軟件時,必須不破壞原來已構造好的東西。
2.管理人員須有足夠的技術能力來協調好各增量之間的關系。
3.開發期間,開發者和用戶必須始終在一起,直到系統的安全版本出來。
螺旋模型
-
什么是是螺旋模型 ?
螺旋模型是瀑布模型與快速原型模型的聯合體,
具有原型的迭代性與瀑布模型的系統性和可控性,是一種演進式風險驅動型軟件過程模型.強調了風險控制,適合于大型復雜系統的開發。
-
螺旋模型的基本思想
通過建立原型、劃分開發階段來降低風險,一旦在開發過程中風險過大就停止繼續開發,不適合作為合同項目的開發 -
螺旋模型的方法步驟:
-
螺旋模型優點 :
對于大型系統及軟件的開發,具有很好的風險控制,開發者和客戶能夠較好地對待和理解每一級迭代的風險。
-
螺旋模型缺點 :
需要具有較高的風險評估技術,應用比較復雜。
噴泉模型
- 什么是噴泉模型:
噴泉模型主要用于采用對象技術的軟件開發項目。
該模型認為軟件開發過程自下而上周期的各階段是相互迭代和無間隙的特性。
軟件的某個部分常常被重復工作多次,相關對象在每次迭代中隨之加入漸進的軟件成分。
無間隙指在各項活動之間無明顯邊界,如分析和設計活動之間沒有明顯的界限,由于對象概念的引入,表達分析、設計、實現等活動只用對象類和關系,從而可以較為容易地實現活動的迭代和無間隙,使其開發自然地包括復用。
-
噴泉模型優點:
噴泉模型不像瀑布模型那樣,需要分析活動結束后才開始設計活動,設計活動結束后才開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。其優點是可以提高軟件項目開發效率,節省開發時間,適應于面向對象的軟件開發過程。
-
噴泉模型缺點:
由于噴泉模型在各個開發階段是重疊的,因此在開發過程中需要大量的開發人員,因此不利于項目的管理。此外這種模型要求嚴格管理文檔,使得審核的難度加大,尤其是面對可能隨時加入各種信息、需求與資料的情況。
各種模型的比較:
總結
以上是生活随笔為你收集整理的【软件工程】软件过程各种模型的理解[ 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 ]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平板升级android版本号,App版本
- 下一篇: 汇编语言(1)- 计算机基础