項目管理基礎:項目的生存周期模型

? ? ? ? ? ? ?

?

1、概念介紹

軟件生命周期模型是一個包含軟件產品開發、運行和維護中有關過程、活動和任務的框架,它覆蓋了系統從需求定義到系統使用的結束階段。

特點:

  • 描述了開發的主要階段

  • 定義了每個階段需要完成的任務和過程

  • 規范了每個階段的輸入輸出

  • 提供了一個標準框架,可以把必要的活動映射到該框架中去。

2、項目生命周期模型分類

比較常用的有瀑布模型、演化模型、螺旋模型、噴泉模型。

2.1 瀑布模型(Waterfall Model)

瀑布模型將項目的生存周期各個活動規定為按照線性順序連接成若干個階段的模型。包括需求分析、設計、編碼工作、測試、項目運維。依照由前至后、相互銜接的固定順序,類似瀑布流水,逐級下落。

? ? ? ? ? ? ?

?

適用范圍:文檔型為驅動、適合那些項目需求十分明確的軟件項目。

優點:

容易理解、管理成本較低、強調開發階段性早期計劃及需求調研和產品測試。

缺點:

  1. 客戶需要完整、準確的表達自己的需求

  2. 在開始的前三個階段很難評估真正的進度狀態

  3. 項目收尾階段可能會出現大量的集成測試工作

  4. 對項目的風險控制能力較弱

2.2 增量模型(Incremental Model)

增量模型融合了瀑布模型的基本成分和原型實現的迭代特征,它假設可以將需求分為一系列增量產品,每個增量可以分別開發。增量模型強調每一個增量都是一個可操作的階段產品。

? ? ? ? ? ? ?

?

優點:融合了瀑布模型的優點。另外還有以下幾個優點

  1. 第一個可交付版本所需的成本和時間很少

  2. 開發由增量表示小系統所承擔的風險會小很多

  3. 因為較快時間發布了第一個版本,可以減少客戶對需求的變更。

運行增量投資,也就是項目開始時,可以僅對一個或兩個增量投入成本。

缺點:

  1. 如果對客戶的變更要求規劃不得當,產生的初始增量可能會造成后來的增量不穩定

  2. 前期需求沒有思考全面可能會造成一些增量需要重新開發、發布。

  3. 管理發生的成本、進度和配置的復雜性會增加項目的成本。

2.3、演化模型(Evonlutionary Model)

演化模型主要針對事先不能完整定義需求的項目開發,是在一個比較初期的原型基礎上,根據客戶在確認原型的過程中提出意見和建議,從而逐漸改進原型,直到客戶滿意。

優點:

任何功能一旦開發后,就可以進入測試環節,以便驗證是否符合產品需求,可以幫助引導出高質量的產品要求。

缺點:

如果控制不當讓客戶接觸到開發當中不穩定的功能,可能會對客戶以及開發人員帶來負面影響。

2.4、螺旋模型(Spiral Model)

螺旋模型可以看作是瀑布模型和演化模型的結合體,并加入了風險分析。

? ? ? ? ? ? ?

?

螺旋周期:

  1. 制定計劃:確定項目的目標,選定實施方案,明確項目開發的限制條件。

  2. 風險分析:分析所選方案、識別風險、消除風險。

  3. 實施工程:開發階段、階段驗證產品的質量。

  4. 客戶評估:客戶評估開發產品的質量,提出改進建議,建立下一個周期的開發計劃。

螺旋模型強調風險分析、讓每個開發人員和客戶對每個演化層出現的風險有所了解,然后做出應有的反應。特別適合龐大、復雜且有高風險的項目。

優點:

  1. 支持客戶需求的動態變化,為客戶參與軟件開發的所有關鍵決策提供了方便,有助于提高軟件的適應能力。

  2. 也為項目經理及時調整管理決策提供了很好的支持,從而降低了軟件開發的風險。

缺點:

  1. 需要開發人員具備相當豐富的風險評估經驗和專門知識

  2. 過多的迭代可能會增加開發成本、延遲交付時間。

2.5、噴泉模型(Water Foundtain Model)

噴泉模型以客戶需求為動力,以對象作為驅動模型,適合面向對象的開發方法。

? ? ? ? ? ? ?

?

優點:

噴泉模型各個階段沒有明顯的界限,開發人員可以同步進行,從而提高了軟件的開發效率。

缺點:

噴泉模型各個開發階段是重疊的,開發過程會需要大量開發人員、不利于項目的管理。

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/271190.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/271190.shtml
英文地址,請注明出處:http://en.pswp.cn/news/271190.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jps顯示當前所有java進程pid

很多Java命令都在jdk的JAVA_HOME/bin/目錄下面,jps也不例外,他就在bin目錄下,所以,他是java自帶的一個命令。 jps(Java Virtual Machine Process Status Tool) 是java提供的一個顯示當前所有java進程pid的命令,適合在…

jvm內存結構_淺談JVM內存結構

JVM 可以分為 5 個部分,分別是:類加載器(Class Loader):加載字節碼文件到內存。運行時數據區(Runtime Data Area):JVM 核心內存空間結構模型。執行引擎(Execution Engine…

java annotation應用_java Annotation的應用

一、Annotation 示例Override Annotation1 Override2 public void onCreate(Bundle savedInstanceState);二、Annotation 概念及作用1 概念An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and package…

鴻蒙和安卓,到底有什么區別?

對于開發者來說兩個最關鍵的點值得關注:一個是 Beta 版的開發工具,一個是開源網站。開源網站在開發者大會上宣布將 HarmonyOS源代碼捐贈給中國開放原子開源基金會,并在大會上公布了鴻蒙系統的開源路線。OpenHarmony 官方源碼地址:…

錯題集03

(選擇一項) 3A: B: C: D: 正確答案是 B解析:LinkedList是實現List,Collection接口,是鏈表方式進行構建的,根據開發要求不同,可以使用LinkedList實現棧(先進先出)和堆(先進后出)這樣的數據結構。(選擇一項) 4A: B: C: D: 正確答案是 C解析:由于Hashtable是線程…

從零開始學python人工智能課程_從零開始如何學習人工智能?

想要學習人工智能?這里有一條完整路徑資源在本文中,《Analytics India》雜志給出了學習AI的最佳途徑。...科技領域的天平正在向人工智能傾斜,IT領域的技術人員正在將AI應用到現有產品中。但是對于企業來說, AI人才才是關鍵。企業培…

項目管理基礎:軟件開發的方法介紹

軟件開發方法主要有結構化方法、原型化方法、面向對象開發方法、敏捷方法。1、結構化方法結構化方法由結構化分析、結構化設計、結構化程序設計組成,它是一種面向數據流的開發方法。結構化分析:依據分解與抽象的原則,按照系統中數據處理的流程…

類加載器子系統的作用

類加載器子系統的作用

Magento Block設計分析(深入分析)

Magento中Block是一個很重要的組件,它在Block中充當非常重要的角色,下面我們來分析一下Magento中Block是怎樣設計的,我們應該怎樣使用這個重要的角色。1、Magento Block類圖: 圖1: 繼承Varien_Object的對象都有一個_data類變量,用…

JAVA輸出x和y和z_JAVA實例:輸入三個整數x,y,z,請把這三個數由小到大輸出-吾愛編程網...

今天為大家分享一個java經典實例輸入三個整數x,y,z,請把這三個數由小到大輸出,相信很多初學者都會學到這道題目,接下來吾愛編程為大家介紹一下程序的相關寫法,有需要的小伙伴可以參考一下:1、題目:輸入三個整數x,y,z,請…

軟件項目管理相關概念介紹筆記

1、成本估算由于軟件項目具有可見性差、難定量化的特點,一般情況下很難在項目完成前準確的評估軟件項目開發的工作量和費用。通常會根據以往開發類似項目的經驗來進行成本估算。也可以將整個項目劃分為若干個子系統或按照軟件的生命周期的各個階段分別進行費用估算&…

python爬取微博熱搜_Python 超簡單爬取微博熱搜榜數據

微博的熱搜榜對于研究大眾的流量有非常大的價值。今天的教程就來說說如何爬取微博的熱搜榜。 熱搜榜的鏈接是:用瀏覽器瀏覽,發現在不登錄的情況下也可以正常查看,那就簡單多了。使用開發者工具(F12)查看頁面邏輯,并拿到每條熱搜的…

LeetCode14 Longest Common Prefix

題意: Write a function to find the longest common prefix string amongst an array of strings. (Easy) 這兩天實驗室項目太忙了, 老板各種活,只能挑著先水幾道easy題,這兩個題是昨天做的沒來得及寫總結。 分析: 暴…

類加載器ClassLoader的角色

類加載器ClassLoader的角色

軟件項目管理:進度管理相關概念介紹

軟件項目管理當中,項目進度的合理安排是如期完成軟件項目的重要基礎,也是合理分配資源的重要依據。項目進度安排是項目管理工作當中非常重要的組成部分。軟件開發項目進度安排的方式:1、系統最終交付日期已經確定,軟件開發部門必須…

ios開發 多人語音聊天_手游語音市場的現狀、機遇與挑戰

文/手游那點事小魚原創2014年持續火熱的手游市場成就了一大批企業的上市夢,同時也在大環境下產生了對系列手游增值服務的需求。基于玩家對手游社交性的需求,以及借鑒傳統端游,頁游中成功的社交體系,手游市場逐步出現了對手游語音的…

linux 下運行 tomcat

一開始找不到表名,原來mysql 表名區分大小寫。 修改參數 lower_case_table_names1 成功運行后不能通過瀏覽器訪問! 開啟8080端口 一、關閉防火墻 firewall-cmd --state 查看狀態 [rootVM_7_88_centos /]# firewall-cmd --state running [rootVM_7_88…

軟件項目管理:軟件工具與開發環境相關知識介紹

1、軟件工具相關名詞概念軟件工具:用來輔助軟件開發、運行、維護、管理等過程中的活動軟件。軟件開發環境:是指支持軟件產品開發的軟件系統,它由軟件工具集和環境集成機制構成。軟件工具集:包括支持軟件開發相關過程、活動、任務的…

apollo java客戶端_攜程配置中心Apollo的Java客戶端API的使用

一、SpringBoot集成1.發布配置信息設置本機為DEV環境:Linux在/opt/settings/server.properties增加配置envDEV,windows在c:\opt\settings\server.properties圖1 在apollo portal上新建項目后,默認就有了application命名空間。在DEV環境下新建…

JNI----Native本地方法接口

Native本地方法接口 JNI:Java Native Interface 本地接口的作用是融合不同的編程語言為Java所用,它的初衷是融合C/C程序 native:凡是帶native關鍵字的,說明java的作用范圍達不到了,會去調用底層c語言的庫&#xff01…