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

2.9 Rational統(tǒng)一過程

Rational統(tǒng)一過程(RUP)是新的混成過程模型的一個很好的實例,該過程模型來自UML上的工作及相關(guān)的統(tǒng)一軟件開發(fā)過程,它集合了所有一般過程模型的要素,并給出了在描述和設(shè)計上的好的實踐,還支持原型構(gòu)造和增量交付方法。

RUP過程認識到傳統(tǒng)過程模型只是展現(xiàn)過程的一個視角。相比之下,RUP一般從3個視角來描述過程。

1)動態(tài)視角,給出模型中隨時間所經(jīng)歷的各個階段。

2)靜態(tài)視角,給出所進行的過程活動。

3)實踐視角,提出在過程中可以采用的良好實踐的建議。

絕大多數(shù)關(guān)于RUP的描述都試圖將靜態(tài)視角和動態(tài)視角結(jié)合在一個圖中,但這會使過程十分難以理解,所以對每一個視角給出單獨的描述。

RUP是一個階段化的模型,識別出軟件過程當中的4個獨立階段。然而,與瀑布模型的各個階段不同,RUP中的階段是緊密與業(yè)務(wù)關(guān)聯(lián)的,而不是與技術(shù)層面關(guān)聯(lián)的。圖2-15給出了RUP中的階段。它們分別如下。

978-7-111-52634-6-Chapter02-15.jpg

圖2-15 Rational統(tǒng)一過程的各階段

1)開端。開端階段的目標是建立系統(tǒng)的一個業(yè)務(wù)案例。要識別所有與系統(tǒng)交互的外部實體(人和系統(tǒng))并定義這些交互。然后使用這些信息評估系統(tǒng)對業(yè)務(wù)的貢獻。如果這個貢獻是微小的,那么項目就要在此階段結(jié)束時被取消了。

2)細化。細化階段的目標是增進對問題域的理解,建立系統(tǒng)的體系框架,給出項目計劃并識別關(guān)鍵項目風險。在這個階段完成時,就得到了系統(tǒng)的需求模型,可能是一組用UML描述的用例、體系結(jié)構(gòu)描述和開發(fā)計劃。

3)構(gòu)造。構(gòu)造階段主要關(guān)心的是系統(tǒng)設(shè)計、編程和測試。系統(tǒng)的各個部分并行開發(fā),然后集成在一起。在這個階段完成時,就得到了一個能工作的軟件系統(tǒng),還有能交付給用戶的相關(guān)文檔。

4)轉(zhuǎn)換。這是RUP的最后階段,關(guān)注如何將系統(tǒng)從開發(fā)單位轉(zhuǎn)移到用戶單位,并使之在真實環(huán)境中工作。這是被絕大多數(shù)軟件過程模型所忽視的東西,而事實上這是一個代價很高且有時問題很大的活動。在此階段完成時,就有了一個在運行環(huán)境下能正常工作的文檔完備的軟件系統(tǒng)了。

RUP中對迭代的支持有兩種方式。每一個階段可能被迭代地執(zhí)行,其結(jié)果一次次增量式地得到改善。另外,所有階段作為一個整體也會增量式地執(zhí)行,如圖2-15中從轉(zhuǎn)換到開端的循環(huán)箭頭所示。

RUP的靜態(tài)視角聚焦在開發(fā)過程中所發(fā)生的活動上。這些在RUP描述中被稱為工作流。在此過程中找出了6個核心過程工作流,3個核心支持工作流。在對RUP的設(shè)計中采用了面向?qū)ο蠼UZ言UML,所以工作流描述是圍繞著相關(guān)的UML模型給出的,這些UML模型包括時序模型、對象模型等。核心工程和支持工作流的描述如表2-1所示。

表2-1 Rational統(tǒng)一過程中的靜態(tài)工作流

978-7-111-52634-6-Chapter02-16.jpg

分別表現(xiàn)動態(tài)視角和靜態(tài)視角的好處在于,開發(fā)過程中的階段是不與特定工作流相關(guān)聯(lián)的。至少從原理上講,各種RUP工作流在整個過程的所有階段中都是可能存在的。當然,在過程的初期階段,絕大多數(shù)工作量可能是花在如業(yè)務(wù)建模和需求這樣的工作流上了,而在后期階段中,工作量主要都花在了測試和部署上了。

RUP的實踐視角描述了在系統(tǒng)開發(fā)中所需要的好的軟件工程實踐。6個基本的且最好的實踐如下。

1)迭代地開發(fā)軟件。根據(jù)客戶需求的輕重緩急來規(guī)劃系統(tǒng)的增量,在開發(fā)過程中先開發(fā)和交付最高優(yōu)先權(quán)的系統(tǒng)特性。

2)對需求的管理明確地記錄客戶的需求并跟蹤這些需求的變更。在接受之前分析系統(tǒng)變更所帶來的影響。

3)使用基于組件的體系結(jié)構(gòu)將系統(tǒng)體系結(jié)構(gòu)組織成組件的形態(tài)。

4)可視化地建模軟件使用圖形UML模型表現(xiàn)軟件的靜態(tài)和動態(tài)視圖。

5)檢驗軟件質(zhì)量,保證軟件滿足機構(gòu)質(zhì)量標準。

6)控制對軟件的變更。使用變更管理系統(tǒng)、配置管理程序和工具來管理軟件的變更。

RUP并不是一種適合所有開發(fā)類型的過程,比如嵌入式軟件開發(fā)。但是它確實代表了一種潛在地結(jié)合了3種基本過程模型(瀑布模型、增量式交付和面向復(fù)用)的方法。RUP最為重要的創(chuàng)新在于把階段和工作流相分離,以及對將軟件部署到用戶環(huán)境的重視。階段是動態(tài)的而且是有目標的。工作流是靜態(tài)的技術(shù)活動,且不與單個階段相關(guān),但可以在整個開發(fā)過程中使用以達到每個階段的目標。

主站蜘蛛池模板: 全南县| 饶阳县| 昌宁县| 宁都县| 丰都县| 离岛区| 修水县| 马尔康县| 措勤县| 侯马市| 高密市| 炎陵县| 台南县| 呼和浩特市| 宁远县| 来宾市| 湖南省| 德州市| 庆云县| 迁安市| 屏东市| 孟州市| 五大连池市| 高密市| 安乡县| 二连浩特市| 玛多县| 五家渠市| 吉隆县| 长宁区| 遵义县| 长春市| 巴青县| 新干县| 陆良县| 城步| 萝北县| 洪雅县| 宁夏| 海宁市| 梧州市|