RUP模型與XP模型
上一篇文章中大致介紹了軟件開發過程模型和一些傳統的過程模型,接下來分享一下學習新型軟件開發過程模型RUP的心得體會。
RUP模型
RUP(Rational Unified Process),統一軟件開發過程,是一個面向對象的且基於網絡的程序開發方法論。因為RUP相當於一個計劃,主要是為開發提供一個步驟,所以說RUP是面向過程的。
每種軟件開發過程模型都有一個軟件生命周期。如瀑布模型的軟件生命周期是從可行性分析、需求分析、系統設計等到最後的系統測試與部署。而RUP軟件開發過程模型的軟件生命周期則分為初始、細化、構造、移交四個過程,稍後會對這四個階段進行闡述。接下來跟大家分享一下RUP的三大特征。
1.RUP特征
(1)用例驅動。即RUP 使用用例模型描述系統的功能需求, 並將用例模型作為系統的核心,。用例是用戶與系統之間的交互, 我的理解就是相當於瀑布模型中進行概要設計時所畫的用戶用例圖,主要描述相關功能是被什麽角色用戶使用。開發人員通過用例模型可以詳細地知道每個用戶角色具有哪些功能模塊。因此所有的設計開發都是以用例模型為中心的。
(2)以構架為中心。以構架為核心是指在開發系統之前首先根據需求確定系統的體系結構, 也就是軟件產品表現形式和構建方式,。這就相當於修一座房子,我們首先要搭一個框架,接下來所有的磚瓦水泥都圍繞這個框架展開。因此,構架設計師主要關註的是系統的總體框架模型和核心功能的分析設計,後期系統所有的分析設計工作都圍繞這個基本構架來擴展。
(3)叠代的、增量式開發。顧名思義,就是一個不斷叠代增強的過程。可以是增加系統功能,或者修改某些功能。叠代增量式開發的特征能快速的發布產品,同時叠代可以在原來已經開發好的產品上進行增強修改,加強了與客戶之間的需溝通,降低了軟件開發的風險。
2.軟件生命周期
RUP模型的軟件生命周期中,每個階段開始時都有一個特定的目標,結束時有裏程碑。每個階段結束前都有一個裏程碑評估該階段的工作,只有通過裏程碑評估才可進入下一階段。並且每個階段有一個或多個叠代,而每一次叠代都包括了需求分析、設計、實現與測試,又都是一個完整的開發過程。如圖所示。
RUP軟件開發的生命周期是一個二維的軟件開發模型。橫軸為時間組織,主要體現開發過程的動態結構,可以理解為階段或者周期。縱軸為內容組織,主要體現開發過程的靜態結構,可以理解為工作流。如圖所示。
RUP軟件生命周期主要分為以下四個階段:(參考:https://wenku.baidu.com/view/8021e7779b6648d7c0c74601.html)
(1)初始階段
· 確定項目的軟件範圍和邊界條件
· 識別系統給關鍵用例(是確定該項目的軟件範圍和邊界條件的重要條件)
· 展示系統的候選架構
· 預估整個項目的費用、時間安排和風險
(2)細化階段
· 細化初始化階段模型
· 為項目建立支持環境(創建開發按理、創建模板、準則等)
· 建立健全的體系結構,制定詳細的項目計劃
· 精化風險評估
(3)構造階段
· 資源管理、資源控制和過程優化
· 完成組件開發並進行測試
· 利用構想制定的準則對發布的產品進行評估
(4)交付階段
交付階段主要是確保軟件對用戶是可用的,可以跨越幾次叠代。
· 產品測試並修復系統bug
· 制作用戶手冊並完善相關文檔
· 培訓用戶和維護人員
RUP模型在開發過程中,為每個開發人員提供了必要的模板、準則和指導。所有開發人員都嚴格按照制定好的模板和準則進行開發,極大程度降低了軟件開發過程中管理不一致的風險,提高了團隊生產力。同時,其叠代和增量式開發的思想也能快速發布產品,提高了工作效率。
XP模型將在下一篇博文中介紹。
RUP模型與XP模型