來(lái)源: http://flexjson.com.cn/uml.html
RUP(Rational Unified Process,統(tǒng)一軟件開(kāi)發(fā)過(guò)程,統(tǒng)一軟件過(guò)程)是一個(gè)面向?qū)ο笄一诰W(wǎng)絡(luò)的程序開(kāi)發(fā)方法論。根據(jù)Rational(Rational Rose和統(tǒng)一建模語(yǔ)言的開(kāi)發(fā)者)的說(shuō)法,好像一個(gè)在線的指導(dǎo)者,它可以為所有方面和層次的程序開(kāi)發(fā)提供指導(dǎo)方針,模版以及事例支持。 RUP和類似的產(chǎn)品--例如面向?qū)ο蟮能浖^(guò)程(OOSP),以及OPEN Process都是理解性的軟件工程工具--把開(kāi)發(fā)中面向過(guò)程的方面(例如定義的階段,技術(shù)和實(shí)踐)和其他開(kāi)發(fā)的組件(例如文檔,模型,手冊(cè)以及代碼等等)整合在一個(gè)統(tǒng)一的框架內(nèi)。
一、六大經(jīng)驗(yàn)
迭代式開(kāi)發(fā)。在軟件開(kāi)發(fā)的早期階段就想完全、準(zhǔn)確的捕獲用戶的需求幾乎是不
可能的。實(shí)際上,我們經(jīng)常遇到的問(wèn)題是需求在整個(gè)軟件開(kāi)發(fā)工程中經(jīng)常會(huì)改變。迭代式開(kāi)發(fā)允許在每次迭代過(guò)程中需求可能有變化,通過(guò)不斷細(xì)化來(lái)加深對(duì)問(wèn)題的
理解。迭代式開(kāi)發(fā)不僅可以降低項(xiàng)目的風(fēng)險(xiǎn),而且每個(gè)迭代過(guò)程以可以執(zhí)行版本結(jié)束,可以鼓舞開(kāi)發(fā)人員。
管理需求。確定系統(tǒng)的需求是一個(gè)連續(xù)的過(guò)程,開(kāi)發(fā)人員在開(kāi)發(fā)系統(tǒng)之前不可能完全詳細(xì)的說(shuō)明一個(gè)系統(tǒng)的真正需求。RUP描述了如何提取、組織系統(tǒng)的功能和約束條件并將其文檔化,用例和腳本的使用以被證明是捕獲功能性需求的有效方法。
基于組件的體系結(jié)構(gòu)。組件使重用成為可能,系統(tǒng)可以由組件組成?;讵?dú)立的、可替換的、模塊化組件的體系結(jié)構(gòu)有助于管理復(fù)雜性,提高重用率。RUP描述了如何設(shè)計(jì)一個(gè)有彈性的、能適應(yīng)變化的、易于理解的、有助于重用的軟件體系結(jié)構(gòu)。
可視化建模。RUP往往和UML聯(lián)系在一起,對(duì)軟件系統(tǒng)建立可視化模型幫助人們提供管理軟件復(fù)雜性的能力。RUP告訴我們?nèi)绾慰梢暬膶?duì)軟件系統(tǒng)建模,獲取有關(guān)體系結(jié)構(gòu)于組件的結(jié)構(gòu)和行為信息。
驗(yàn)證軟件質(zhì)量。在RUP中軟件質(zhì)量評(píng)估不再是事后進(jìn)行或單獨(dú)小組進(jìn)行的分離活動(dòng),而是內(nèi)建于過(guò)程中的所有活動(dòng),這樣可以及早發(fā)現(xiàn)軟件中的缺陷。
控制軟件變更。迭代式開(kāi)發(fā)中如果沒(méi)有嚴(yán)格的控制和協(xié)調(diào),整個(gè)軟件開(kāi)發(fā)過(guò)程很快就陷入混亂之中,RUP描述了如何控制、跟蹤、監(jiān)控、修改以確保成功的迭代開(kāi) 發(fā)。RUP通過(guò)軟件開(kāi)發(fā)過(guò)程中的制品,隔離來(lái)自其他工作空間的變更,以此為每個(gè)開(kāi)發(fā)人員建立安全的工作空間。
二、統(tǒng)一軟件開(kāi)發(fā)過(guò)程RUP的二維開(kāi)發(fā)模型
RUP軟件開(kāi)發(fā)生命周期是一個(gè)二維的軟件開(kāi)發(fā)模型。 橫軸通過(guò)時(shí)間組織,是過(guò)程展開(kāi)的生命周期特征,體現(xiàn)開(kāi)發(fā)過(guò)程的動(dòng)態(tài)結(jié)構(gòu),用來(lái)描述它的術(shù)語(yǔ)主要包括周期(Cycle)、階段(Phase)、迭代 (Iteration)和里程碑(Milestone);縱軸以內(nèi)容來(lái)組織為自然的邏輯活動(dòng),體現(xiàn)開(kāi)發(fā)過(guò)程的靜態(tài)結(jié)構(gòu),用來(lái)描述它的術(shù)語(yǔ)主要包括活動(dòng) (Activity)、產(chǎn)物(Artifact)、工作者(Worker)和工作流(Workflow)。如圖1:

三、統(tǒng)一軟件開(kāi)發(fā)過(guò)程RUP核心概念
RUP中定義了一些核心概念,如下圖:

角色:描述某個(gè)人或者一個(gè)小組的行為與職責(zé)。RUP預(yù)先定義了很多角色。
活動(dòng):是一個(gè)有明確目的的獨(dú)立工作單元。
工件:是活動(dòng)生成、創(chuàng)建或修改的一段信息。