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