為了有效的利用UML,我們需要首先獲得一個(gè)UML工具軟件。
當(dāng)前,業(yè)界使用最廣泛的UML建模工具為Rational Rose。Rational Rose中可實(shí)現(xiàn)正向(為模型產(chǎn)生相應(yīng)的代碼)、逆向(從用戶原來的軟件系統(tǒng)導(dǎo)出該系統(tǒng)的模型)和雙向工程(實(shí)現(xiàn)模型和代碼之間的循環(huán)工程),從而保證模型與代碼的高度一致。
Rational Rose支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic、PowerBuilder等語言和開發(fā)工具,并能為CORBA 應(yīng)用生成接口定義語言(IDL),為數(shù)據(jù)庫應(yīng)用生成數(shù)據(jù)庫描述語言(DDL)等。另外,Rational Rose為團(tuán)隊(duì)開發(fā)和規(guī)范的開發(fā)過程管理提供了良好的支持。
對(duì)于小規(guī)模應(yīng)用,我們可以使用微軟公司Office套件中的Visio,其中提供了對(duì)UML各種圖的繪制支持。
從應(yīng)用的角度上來講,面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)一般需要完成如下工作:
(1)描述需求;
(2)根據(jù)需求建立系統(tǒng)的靜態(tài)模型;
(3)描述系統(tǒng)的行為。
(1)和(2)中所建立的模型是靜態(tài)的(采用用例圖、類圖、對(duì)象圖、組件圖和部署圖等),是標(biāo)準(zhǔn)建模語言UML中的靜態(tài)建模機(jī)制;而(3)中所建立的模型則表示執(zhí)行時(shí)的序列、狀態(tài)或交互關(guān)系(以狀態(tài)圖、活動(dòng)圖、順序圖和協(xié)作圖描述),是標(biāo)準(zhǔn)建模語言UML中的動(dòng)態(tài)建模機(jī)制。
由此可以看出,標(biāo)準(zhǔn)建模語言UML的主要內(nèi)容也可以歸納為靜態(tài)建模機(jī)制和動(dòng)態(tài)建模機(jī)制兩大類。
此外,需要說明的是,UML只是一種建模語言,它獨(dú)立于具體的建模過程。因此,利于它建模時(shí),可遵循任何類型的建模過程。盡管如此,UML的作者們?yōu)槲覀兺扑]了RUP(Rational Unified Process)。RUP由Rational軟件公司首創(chuàng),其最重要的特點(diǎn)有三:
(1)軟件開發(fā)是由用例驅(qū)動(dòng)的;
(2)軟件開發(fā)是以體系結(jié)構(gòu)設(shè)計(jì)(Architectural Design)為中心;
(3)軟件開發(fā)是個(gè)迭代過程。
RUP包括四個(gè)階段,每個(gè)階段又分為若干次迭代,每次迭代都有一個(gè)核心工作流,如圖1所示。

圖1 RUP的流程
新聞熱點(diǎn)
疑難解答