摘要:本文介紹了Rational統一過程(RUP)的主要內容,包括開發階段、迭代過程和核心工作流等,並簡要評述了其在軟件項目開發中的優越及不足之處。
關鍵詞:統一過程 裡程碑 迭代 核心工作流
Abstract: This paper discuss the important contents of the Rational Unified Process, including Development Phase, Iteration Process, Core Workflows and so on. Additionally, giving some comments about its advantages and weaknesses in the software projects development.
Key Words: Unified Process, Milestone, Iteration ,Core Workflows
一前言
軟件過程是指實施於軟件開發和維護中的階段、方法、技術、實踐及相關產物(計劃、文檔、模型、代碼、測試用例和手冊等)的集合。行之有效的軟件過程可以提高開發軟件組織的生產效率、提高軟件質量、降低成本並減少風險。目前市場上領先的軟件過程主要有RUP(Rational Unified Process)、OPEN Process和OOSP(Object-Oriented Software Process)。
RUP具有較高認知度的原因之一恐怕是因為其提出者Rational軟件公司聚集了面向對象領域三位傑出專家Booch、Rumbaugh和Jacobson,同時它又是面向對象開發的行業標准語言??標准建模語言(UML)的創立者。RUP是由Objectory過程演化而來,其初始版本為5.0,先後經歷了5.1、5.11、5.5等版本直到最新的Rational Unified Process2000版本。本文主要討論RUP的主要內容和特點。
二 RUP的二維開發模型
RUP可以用二維坐標來描述。橫軸通過時間組織,是過程展開的生命周期特征,體現開發過程的動態結構,用來描述它的術語主要包括周期(Cycle)、階段(Phase)、迭代(Iteration)和裡程碑(Milestone);縱軸以內容來組織為自然的邏輯活動,體現開發過程的靜態結構,用來描述它的術語主要包括活動(Activity)、產物(Artifact)、工作者(Worker)和工作流(Workflow)。如圖1:
圖1 RUP的二維開發模型
三開發過程中的各個階段和裡程碑
RUP中的軟件生命周期在時間上被分解為四個順序的階段,分別是:初始階段(Inception)、細化階段(Elaboration)、構造階段(Construction)和交付階段(Transition)。每個階段結束於一個主要的裡程碑(Major Milestones);每個階段本質上是兩個裡程碑之間的時間跨度。在每個階段的結尾執行一次評估以確定這個階段的目標是否已經滿足。如果評估結果令人滿意的話,可以允許項目進入下一個階段。
1. 初始階段
初始階段有時也稱先啟階段。初始階段的目標是為系統建立商業案例並確定項目的邊界。為了達到該目的必須識別所有與系統交互的外部實體,在較高層次上定義交互的特性。本階段具有非常重要的意義,在這個階段中所關注的是整個項目進行中的業務和需求方面的主要風險。對於建立在原有系統基礎上的開發項目來講,初始階段可能很短。
初始階段結束時是第一個重要的裡程碑:生命周期目標(Lifecycle Objective)裡程碑。生命周期目標裡程碑評價項目基本的生存能力。
2. 細化階段
細化階段的目標是分析問題領域,建立健全的體系結構基礎,編制項目計劃,淘汰項目中最高風險的元素。為了達到該目的,必須在理解整個系統的基礎上,對體系結構作出決策,包括其范圍、主要功能和諸如性能等非功能需求。同時為項目建立支持環境,包括創建開發案例,創建模板、准則並准備工具。
細化階段結束時第二個重要的裡程碑:生命周期結構(Lifecycle Architecture)裡程碑。生命周期結構裡程碑為系統的結構建立了管理基准並使項目小組能夠在構建階段中進行衡量。此刻,要檢驗詳細的系統目標和范圍、結構的選擇以及主要風險的解決方案。
3. 構造階段
在構建階段,所有剩余的構件和應用程序功能被開發並集成為產品,所有的功能被詳細測試。從某種意義上說,構建階段是一個制造過程,其重點放在管理資源及控制運作以優化成本、進度和質量。
構建階段結束時是第三個重要的裡程碑:初始功能(Initial Operational)裡程碑。初始功能裡程碑決定了產品是否可以在測試環境中進行部署。此刻,要確定軟件、環境、用戶是否可以開始系統的運作。此時的產品版本也常被稱為“beta”版。