首頁  >  文章  >  後端開發  >  統一軟體開發過程—RUP

統一軟體開發過程—RUP

黄舟
黄舟原創
2017-02-23 10:17:431936瀏覽

  RUP(rational unified process)是一個物件導向且基於網路的程式開發方法論。它是以物件導向方法為基礎的方法,RUP堅持以用例驅動,以架構為中心,迭代和增量的開發方法。

  以下以心智圖簡單介紹RUP:

 

 1.六大經驗

#  1)迭代式發展

##  RUP中的每一個階段可進一步分解為迭代,一個迭代是一個完整的開發循環,每一次循環都可以產生一個執行文件,每一次循環都是一次增量開發直到形成最終產品。迭代式開發允許在每次迭代過程中需求變化,透過不斷細化對問題加深理解。迭代式開發不僅可以降低風險,而且每次迭代過程都可以執行版本結束,一次鼓舞團隊士氣。   2)管理需求  RUP描述如何擷取、組織系統的功能和限制條件並將其文件化,使用案例和腳本的使用證明了是捕獲需求的有效方法。   3)基於元件的體系結構#  基於獨立的、可替代的、模組化元件的體系結構有助於管理複雜性,提高使用率。 RUP描述如何設計一個有彈性的、能適應變化的、易於理解的、有助於重複使用的軟體體系結構。   4)視覺化建模

# RUP往往與

# UML連結在一起,對軟體系統

###建立視覺化模型幫助人們提升管理軟體複雜性的能力。 RUP告訴我們如何視覺化的對######軟體系統######建模,獲取有關######體系結構#######於元件的結構和行為資訊。 ############  5)驗證軟體品質################### 在RUP中############軟體######品質評估不再是事後進行或單獨小組進行的分離活動,而是內建於過程中的所有活動,這樣可以及早發現軟體中的缺陷,提高軟體品質節約軟體成本。 ############  6)控制軟體變更#############  迭代式開發中如果沒有嚴格的控制與協調,整個軟體開發過程很快就陷入混亂之中,RUP描述如何控制、追蹤、監控、修改以??品,隔離來自其他工作空間的變更,以此為每個開發人員建立安全的工作空間。 ################## ###2.二維發展模型###############

 RUP軟體開發生命週期#是二維的軟體開發模型。橫軸透過時間組織,是過程展開的生命週期特徵,體現開發過程的動態結構,用來描述它的術語主要包括週期、階段、迭代里程碑;縱軸以內容來組織為自然的邏輯活動,體現開發過程的靜態結構,用來描述它的術語主要包括活動、產物、工作者和工作流程。如圖:

 

 3.核心概念

3.核心概念



  RUP中定義的核心概念主要有角色、活動和工作:

  角色:描述某個人或一個小組的行為與職責。 RUP預先定義了很多角色。

  活動:是一個有明確目的的獨立工作單元。   工件:是活動產生、建立或修改的一段資訊。  

4.裁切  RUP是一個通用的過程模板,包含了許多開發指南、製品、開發過程所涉及到的角色說明,由於它非常龐大所以對具體的開發機構和項目,用RUP時還要做裁剪,也就是要對RUP進行配置。 RUP就像一個元過程,透過對RUP進行裁剪可以得到很多不同的開發過程,這些

軟體開發過程可以看作RUP的具體實例。 RUP裁切可分為五個步驟:

  1) 決定本專案需要哪些工作流程

  2) 決定每個工作流程需要哪些製品。

  3) 決定4個階段之間如何演進。確定階段間演進要以風險控制為原則,決定每個階段要哪些工作流程#,每個工作流程執行到什麼程度,製品有哪些,每個製品完成到什麼程度。

#########  4) 決定每個階段內的迭代計劃。規劃RUP的4個階段中每次######迭代######開發的內容。 ######

  5) 規劃工作流程內部結構。 工作流程涉及角色、活動及製品,他的複雜程度與專案規模即角色多少有關。最後規劃工作流程的內部結構,通常以活動圖的形式給出。

 5.開發過程

#  RUP中的軟體生命週期在時間上被分解為四個順序的階段,分別是:初始階段、細化階段、建構階段、交付階段。 在每個階段的結尾執行一次評估以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許專案進入下一個階段。

  1)初始階段

 初始階段的目標是為系統建立商業案例並確定專案的邊界。為了達到該目的必須辨識所有與系統互動的外部實體,在較高層次上定義互動的特性。本階段具有非常重要的意義,在這個階段中所關注的是整個專案進行中的業務和#方面的主要風險。對於建立在原有系統基礎上的開發項目來講,初始階段可能很短。

  2)細化階段

 細化階段的目標是分析問題領域,建立健全的#體系結構基礎,編製專案計畫,淘汰專案中最高風險的元素。為了達到該目的,必須在理解整個系統的基礎上,對體系結構作出決策,包括其範圍、主要功能和諸如性能等非功能#需求。同時為專案建立支援環境,包括建立開發案例,建立範本、準則並準備工具。

  3)建構階段

 在建置階段,所有剩餘的構件應用程式功能被開發並集成為產品,所有的功能都被詳細測試。從某種意義上說,建造階段是一個製造過程,其重點放在管理資源及控制運作以優化成本、進度和品質。

  4)交付階段

 交付階段的重點是確保軟體對最終用戶是可用的。交付階段可以跨越幾次迭代,包括為發布做準備的產品測試,基於使用者回饋的少量的調整。在生命週期的這一點上,使用者回饋應主要集中在產品調整,設定、安裝和可用性問題,所有主要的結構問題應該已經在#專案生命週期的早期階段解決了。

 6.核心工作流程

  RUP中有9個核心工作流程,分為6個核心流程工作流程和3個核心支援工作流程。 這些工作流程在整個生命##中被多次存取。 9個核心工作流程在專案中輪流被使用,在每一次迭代中以不同的重點和強度重複。

  1)商業建模

商業建模工作流程描述如何為新的目標組織開發一個構想,並基於這個構想在商業##用例模型和商業物件模型中定義組織的過程,角色和責任。

  2)需求

 需求工作流程的目標是描述系統應該做什麼,並使開發人員和使用者就這項描述達成共識。為了達到該目標,要對所需的功能和限制進行提取、組織、文件化;最重要的是理解系統所解決問題的定義和範圍。

  3)分析與設計

 分析與設計#工作流程轉化成未來系統的設計,為系統開發一個健壯的結構並調整設計使其與實現環境相匹配,優化其性能。分析設計的結果是一個設計模型和一個可選的分析模型。設計模型是原始碼的抽象,由設計類別和一些描述組成。設計類別被組織成具有良好介面的設計套件和設計子系統,而描述則體現了類別的物件如何#協同工作實作使用案例 的功能。設計活動以體系結構設計為中心,體系結構由若干結構視圖來表達,結構視圖是整個設計的抽象和簡化,該視圖中省略了一些細節,使重要的特點體現得更加清晰。體系結構不僅是良好設計模型的承載媒介,而且在系統的開發上能提升被創建模型的品質。

  4)實作

 實作工作流程#的目的包括以層次化的子系統形式定義程式碼的組織結構,以元件的形式實作類別和物件將開發出的元件作為單元進行測試以及集成由單一開發者(或小組)所產生的結果,使其成為可執行的系統。

  5)測試

 測試工作流程要驗證物件間的交互作用,驗證軟體中所有元件的正確集成,檢驗所有的需求#已被正確的實現,識別並確認缺陷在軟體部署之前被提出並處理。 RUP提出了迭代的方法,意味著在整個專案中進行測試,從而盡可能早地發現缺陷,從根本上降低了修改缺陷的成本。測試類似於三維模型,分別從可靠性、功能性和系統性能來進行。

  6)部署

#

 部署#工作流程的目的是成功的生成版本並將軟體分發給最終用戶。部署工作流程描述了那些與確保軟體產品對最終用戶具有可用性相關的活動,包括:軟體打包、生成軟體本身以外的產品、安裝軟體、提供使用者協助。

  7)設定與變更管理

## 配置與變更管理工作流程描繪瞭如何在多個成員組成的專案中控制大量的產物。配置和變更管理工作流程提供了準則來管理演化系統中的多個變體,追蹤軟體建立過程中的版本。工作流程描述如何管理平行開發、分散式開發、如何自動化建立工程。同時也闡述了對產品修改原因、時間、人員保持審計記錄。

  8)專案管理

 軟體專案管理平衡各種可能產生衝突的目標,管理風險,克服各種限制並成功交付使用戶滿意的產品。

  9)環境

## 環境工作流程的目的是向軟體開發組織提供軟體開發環境

,包括過程和工具。環境工作流程集中於配置專案過程中所需的活動,同樣也支援開發專案規格的活動,提供了逐步的指導手冊並介紹如何在組織中實現流程。


 

 以上就是統一軟體開發過程-RUP的內容,更多相關內容請關注PHP中文網(www .php.cn)!

#### ############  ##### #
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:ASP.NET總結下一篇:ASP.NET總結