官术网_书友最值得收藏!

1.4 Rational統一過程

UML在很大程度上獨立于過程,因此可以運用許多軟件過程。在眾多的軟件過程中,Rational統一過程是特別適用于UML生命周期的方法之一,是一種重量級過程。

1.4.1 過程的特點

Rational統一過程是一個迭代的過程,迭代方法可以加深對問題的理解,以及通過多個周期的循環,得到一個不斷遞進的、有效的解決方案。這種迭代方法在本質上具有適應新需求或業務目標改變的靈活性,可以及早地認識和消除項目風險。

Rational統一過程的活動主要強調模型的創建和維護,其中模型為開發中的軟件系統提供了豐富的表示語義,并且其表達的信息能夠即時被計算機捕獲和控制。

Rational統一過程的開發是以體系結構為中心的,著重于早期開發以及軟件體系結構的基線,從而使開發更加便利,使重復工作最小化,以及增加構件復用的可能性和最終系統的可維護性。

Rational統一過程的開發活動是用況驅動的,該過程重點強調在透徹地理解如何使用被交付系統的基礎上建造系統。而用況和腳本的觀念用于編排從需求捕獲到測試的過程流,并提供從開發到被交付系統的可跟蹤線索。

Rational統一過程支持面向對象技術,該過程模型支持對象、類以及它們之間的關系等概念,并使用UML作為其公共表示法。

Rational統一過程是一個可配置的過程,該過程是建立在簡單、清晰、提供過程家族共性的過程體系結構基礎上的。并且,Rational統一過程還可以被修改為適用于不同的情況。Rational統一過程中包含了如何配置過程,從而可以適應一個組織的需求指南。

Rational統一過程激勵客觀的、不斷前進的質量控制和風險管理,質量評估內建在過程中,存在于所有活動中,涉及所有的參與者,并使用客觀的度量和標準,并不是把質量控制當成一個事后或一個獨立的活動進行處理。Rational統一過程的風險管理也內建在過程中,這樣就可以在開發過程中及早地發現和防范項目過程中的一些風險。

1.4.2 階段和迭代

Rational統一過程中的階段是指過程中的2個重要里程碑之間的一段時間,在該時間內將會達到一組定義良好的目標,完成一些制品,并做出是否進入下一個階段的決定。Rational統一過程包括初始、細化、構造和移交4個階段。

□ 初始 為項目建立構想、范圍和初始計劃。

□ 細化 用于設計、實現、測試一個健全的體系結構,并完成項目計劃。

□ 構造 用于建造第一個可工作的系統版本。

□ 移交 把系統交付給它的最終用戶。

在上述的4個階段中,初始和細化階段更注重開發生命周期的創造性和工程性的活動,而構造和移交階段則更注重生產活動。

1.階段

在4個階段中都有許多迭代出現,迭代代表一個完整的開發周期,從分析中的需求捕獲到實現和測試,產生一個可執行的發布版本。該發布版本可以不包含商業版本的完整特性,只是為評估和測試提供堅實的基礎,并為下一個開發周期提供統一的基線。

1)初始階段

初始階段的主要活動是為系統建立構想,并限定項目的范圍,包括業務用況、高層需求和初始項目計劃。而項目計劃包括成功準則、風險評估、所需資源評估以及一個顯示主要里程碑進度表的階段計劃。另外,在初始階段還通常需要建立一個用作概念驗證的可執行原型。

初始階段需要的人數通常最少,而在初始階段的最后,則需要檢查項目的生命周期目標,決定是否繼續進行全范圍的開發。

2)細化階段

細化階段的目標是分析問題域,建立一個健全的、合理的體系結構基礎,并精化項目計劃和消除項目的高風險因素。由于體系結構的選定離不開對整個系統的理解,因此在該階段中需要描述大部分系統需求。另外,還需要實現一個用于演示對體系結構的選擇并執行重要用況的系統,以驗證這個體系結構。

細化階段會涉及作為關鍵人員的系統架構師和項目經理,以及分析人員、開發人員、測試和其他人員。相對于初始階段,細化階段需要更龐大的團隊以及更多的時間。

在細化階段的最后,還需要檢查詳細的系統目標和范圍、體系結構的選擇,以及主要風險的解決方法,并確定是否繼續進行構造。

3)構造階段

在構造階段,需要迭代地、增量式地開發一個準備移交給用戶團體的完整產品。在該階段中,需要描述剩余的需求和驗收標準,并充實設計和完成對軟件的實現及測試。

在構造階段需要涉及系統架構師、項目經理和構造團隊的領導,以及全體開發人員和測試人員。

在構造階段的最后,需要決定軟件、場地和用戶是否已經為部署第一個可工作的系統版本做好了相應的準備。

4)移交階段

移交階段主要是為用戶團隊部署軟件,在該過程中的演示、專題討論會及各種發布都需要用戶參與進來。另外,將系統移交到用戶手中時,通常會出現額外的開發和調試系統、更正某些未察覺的問題,以及需要完成一些被推遲的特性等問題。

在移交階段需要涉及項目經理、測試人員、發布專家、市場以及銷售人員。

在移交階段的最后,還需要判定該項目的生命周期是否達標,并確定是否開始另一個開發周期。

2.迭代

Rational統一過程的每個階段都包含了多個迭代,一個迭代是一個完整的開發循環,并產生一個可執行產品的發布版。該發布版可構成開發中的最終產品的一個子集,并能通過迭代增量式地成長,變成最終系統。

雖然每個迭代按照不同的階段都具有不同的重點,但是每個迭代都會經歷各種任務。在初始階段,迭代的重點是需求捕獲;在細化階段,迭代的重點是轉移到分析、設計和體系結構的實現;在構造階段,迭代的重點是詳細的設計、實現以及測試;在移交階段,迭代的重點是部署。

3.開發周期

經過4個階段的過程被稱為一個開發周期,在一個完整的開發周期中會產生一個軟件。第一個開發周期被稱為初始開發周期,一個現存的產品會以相同的順序重復開發周期(重復初始、細化、構造和移交4個階段),從而演化到下一代產品。這種過程是系統的演化過程,因此在初始開發周期后面的開發周期是它的演化周期。

1.4.3 任務和制品

在了解了Rational統一過程中的階段和迭代之后,還需要了解過程的任務。

Rational統一過程包含業務建模、需求、分析和設計、實現、測試、部署、配置管理、項目管理和環境9個任務。

□ 業務建模 用于描述用戶組織的結構和動態特性。

□ 需求 用于獲取需求,可以使用多種方法來獲取。

□ 分析和設計 用于描述多種體系結構視圖。

□ 實現 用于考慮軟件開發、單元測試和集成。

□ 測試 用于描述腳本、測試執行和缺陷追蹤指標。

□ 部署 用于確定材料清單、版本說明、培訓以及交付一個應用系統的其他方面。

□ 配置管理 用于控制和維護項目制品和管理活動的完整性。

□ 項目管理 用于描述一個迭代過程的不同的工作策略。

□ 環境 用于確定開發一個系統所需要的基礎設施。

Rational統一過程中的每個任務會捕獲一組相關的制品和活動,制品是一些可被產生、操作或消耗的文檔、報告或可執行程序。而活動主要描述了工作人員為創建或修改制品所需要完成的任務(思考步驟、執行步驟和重復步驟),以及用來執行這些任務的技術和準則。

1.4.4 制品

Rational統一過程的每個活動都會產生相關的制品,這些制品既可以被要求作為輸入,又可以被產生作為輸出。

制品之間的重要連接與某些任務有關,它既可以用來直接輸入到后續活動中,又可以在項目中作為引用資源保存,除此之外,還可以作為合約要求交付的產品。

1.模型

模型是Rational統一過程中最重要的一種制品,一個模型可以實現一個簡化,而創建模型是為了更好地理解將要創建的系統。

在Rational統一過程中,一些模型用于可視化、詳述、構造和文檔化一個軟件的密集系統,并可以覆蓋所有重要的決策,這些模型如下所述。

□ 業務用況模型 用于建立組織的抽象。

□ 業務分析模型 用于建立系統的語境。

□ 用況模型 用于建立系統的功能需求。

□ 分析模型(可選) 用于建立概念設計。

□ 設計模型 用于建立問題的詞匯及解決方案。

□ 數據模型(可選) 用于建立數據庫和其他庫的數據表示法。

□ 部署模型 用于建立執行的硬件拓撲結構以及系統的并發和同步機制。

□ 實現模型 用于建立裝配和發布物理系統的各部件。

在Rational統一過程中,一個系統的體系結構是在設計視圖、交互視圖、部署視圖、實現視圖和用況視圖這5種視圖中進行捕獲的。

2.其他模型

Rational統一過程的制品被歸類為管理制品和技術制品,而技術制品被分為5個集合。

1)需求集合

需求集合用于描述系統必須做什么,這個集合聚集了描述系統必須做什么的所有信息。這些信息包括用況模型、非功能需求模型、領域模型、分析模型以及用戶需求的其他形式,而其他形式則包括試驗模型、接口原型、規則約束等。

2)設計集合

設計集合用于描述系統是如何被構造的,這個集合聚集了描述系統如何被構造的信息,捕獲一些關于系統如何被構造的決定,并考慮到時間、預算、遺產系統、復用、質量目標等所有約束。該集合包括設計模型、測試模型以及系統特性的其他形式,而其他形式則包括原型和可執行的體系結構。

3)測試集合

測試集合用于描述確認和驗證系統的方法,這個集合聚集了測試系統的信息,包括腳本、測試用例、缺陷追蹤指標以及驗收標準。

4)實現集合

實現集合用于描述被開發的軟件構件的裝配,這個集合聚集了構成系統的軟件元素的所有信息,包括源代碼、配置文件、數據文件、軟件構件等。除此之外,還包括描述如何裝配這個系統的信息。

5)部署集合

部署集合提供用于可交付配置的所有數據,這個集合聚集軟件被實際包裝、運載、安裝以及在目標環境中運行的所有信息。

主站蜘蛛池模板: 宁津县| 什邡市| 新宾| 土默特右旗| 泰和县| 六盘水市| 西充县| 岳阳县| 本溪| 贵阳市| 丽水市| 神池县| 阳山县| 垦利县| 冕宁县| 岫岩| 蓬溪县| 渑池县| 绥滨县| 洞头县| 南丹县| 五峰| 瓦房店市| 丽水市| 加查县| 梨树县| 白城市| 松江区| 申扎县| 汉寿县| 瓦房店市| 河南省| 锡林浩特市| 阳曲县| 民丰县| 财经| 金堂县| 无棣县| 莫力| 万山特区| 中方县|