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

2.2 使用Rational Rose建模

Rational Rose是Rational公司出品的一種面向對象的統一建模語言的可視化建模工具,用于可視化建模和公司級水平軟件應用的組件構造。

2.2.1 Rational Rose概述

Rational Rose包括UML、OOSE和OMT。其中UML由Rational公司的3位世界級面向對象技術專家Grady Booch、Ivar Jacobson和James Rumbaugh通過對早期面向對象研究和設計方法的進一步擴展而得來,為可視化建模軟件奠定了堅實的理論基礎。

1.Rational Rose簡介

Rational Rose是一個完全的、具有能滿足所有建模環境(Web開發、數據建模、Visual Studio和C++)靈活性需求的一套解決方案。Rational Rose允許開發人員、項目經理、系統工程師和分析人員在軟件開發周期內將需求和系統的體系架構轉換成代碼,對需求和系統的體系架構進行可視化,以易于理解。在軟件開發周期內使用同一種建模工具可以確保更快更好地創建滿足客戶需求的可擴展、靈活且可靠的應用系統。

在Rational Rose中,可以使用拖放符號的方法,將有用的元素、目標、消息/關系設計成各種類,并通過類來創建一個應用的模型框架。在創建模型的過程中,Rational Rose會進行記錄并選擇C++、Visual Basic、Java、Oracle、CORBA或者數據定義語言(Data Definition Language)來產生代碼。

2.Rational Rose特征

Rational Rose的兩個受歡迎的特征是它提供反復式發展和來回旅程工程的能力。Rational Rose允許設計師利用反復發展(有時也叫進化式發展),因而在各個進程中新的應用能夠被創建,把一個反復的輸出變成下一個反復的輸入。然后,當開發者開始理解組件之間是如何相互作用并在設計中進行調整時,Rational Rose能夠通過回溯和更新模型的其余部分來保證代碼的一致性,從而展現出被稱為“來回旅程工程”的能力。Rational Rose是可擴展的,可以使用可下載附加項和第三方應用軟件,它支持COM/DCOM (ActiveX)、JavaBeans和Corba組件標準。

3.Rational Rose功能

Rational Rose是基于UML的可視化建模工具。UML是一種語言、一種表示方法、一種交流溝通的工具,特別適用于軟件密集型系統的表示。

目前版本的Rational Rose可以實現下列功能:

□ 對業務進行建模(工作流)。

□ 建立對象模型(表達信息系統內有哪些對象,它們之間是如何協作完成系統功能的)。

□ 對數據庫進行建模,并可以在對象模型和數據模型之間進行正、逆向工程,相互同步。

□ 建立構件模型(表達信息系統的物理組成,如有什么文件、進程、線程、如何分布等)。

□ 生成目標語言的框架代碼,如VB、Java、Delphi等。

除此之外,Rational Rose并不是單純的繪圖工具,它專門支持UML建模,具有很強的校驗功能;并且還支持多種語言的雙向項目。Rational Rose早期不具備對數據庫端建模的功能,但當前版本已經加入了數據庫建模功能,也就是Rational Rose中的“Data Modeler”工具。利用它可將對象模型轉換成數據模型,也可以將現有的數據模型轉換成對象模型,從而實現兩者間的同步。

具體來說,Data Modeler可以實現下列功能:

□ 將對象模型轉換成數據模型,即將類映射到數據庫的表,構成傳統的E-R圖(Data Modeler | Transform to Data Model)。

□ 將數據模型轉換成對象模型(Data Modeler | Transform to Object Model)。

□ 利用數據模型生成數據庫DDL,也可以直接連接到數據庫里,對數據庫產生結果(Data Modeler | Forward Engineer)。

□ 從現有數據庫或DDL文件里生成數據模型(Data Modeler | Reverse Engineer)。

□ 將數據模型同DDL文件或現有數據庫進行比較(Data Modeler | Compare to…)。

注意

一個類能被轉換為一個數據庫表,它的persistence屬性必須是transient。

4.Rational Rose特點

作為一種建模工具,Rational Rose易于使用,支持使用多種構件和多種語言的復雜系統建模,并且可以利用雙向項目支持實現迭代開發,而團隊管理功能則可以支持大型、復雜的項目和大型且隊員分散在各地的開發團隊。

Rational Rose在建模方面具有下面6個特點。

1)保證模型和代碼高度一致

Rational Rose可以實現真正意義上的正向、逆向和雙向工程;在正向工程中,Rational Rose可以為建模生成相應的代碼;在逆向工程中,Rational Rose可以從原來的軟件系統中導出系統模型;在雙向工程中,Rational Rose可以真正實現模型和代碼之間的循環工程,從而保證模型與代碼的高度一致性,并通過保護開關使得在雙向工程中不會丟失或覆蓋已經開放的任何代碼。

2)支持多種語言

Rational Rose本身可以支持C++、Visual C++、Java、Smalltalk、Ada、Visual Basic和PowerBuilder,除此之外還可以為CORBA應用產生接口定義語言(IDL)和為數據庫應用產生數據庫描述語言(DDL)。

3)為團隊開發提供強有力的支持

Rational Rose提供了兩種團隊開發方式,一種是采用SCM(軟件配置管理)的團隊開發方式;另一種是不采用SCM的團隊開發方式。這兩種開發方式為用戶提供了極大的靈活性,用戶可以根據開發模式、團隊人員數目和資金情況來選擇開發方式。

Rational Rose與ClearCase和SourceSafe(微軟公司產品)等SCM工具實現了內部集成,在遵循微軟版本控制系統的標準API-SCC(源代碼控制)時,便可以將API的任何版本控制系統集成到Rational Rose中作為配置管理工具。

4)支持模型的Internet發布

Rational Rose的Internet Web Publisher能夠創建一個基于Web的Rational Rose模型的HTML版本,使得其他人員能夠通過標準的瀏覽器或IE來瀏覽該模型。

5)生成使用簡單且定制靈活的文檔

Rational Rose本身提供了直接產生模型文檔功能,用戶可以利用Rational文檔生成工具SoDA提供的模型文檔模板,輕松自如地自動生成OOA和OOD階段所需要的各種重要文檔。

值得注意的是,無論是Rational Rose自身還是SoDA所產生的文檔均為Word文檔,并且在Rational Rose中可以直接啟動SoDA,而SoDA可以無縫集成Word。

6)支持關系數據庫的建模

Rose增加了數據庫建模功能,可以為ANSI、Oracle、SQL Server、Sybase和Watcom等支持標準DDL的數據庫自動生成數據描述語言。

除上述特點之外,Rational Rose還可以與微軟Visual Studio系列工具中的GUI進行完美結合,在為建模帶來方便的同時也獲得了大量用戶的青睞,目前Rational Rose已成為大多數開發人員的首選建模工具。

Rational Rose是市場上第一個提供支持基于UML的數據建模和Web建模的工具,在開發過程中對各種語義、模塊、對象以及流程、狀態等描述,能夠從各個方面和角度來分析和設計,使軟件的開發藍圖更加清晰,內部結構更加明朗;但Rational Rose對數據庫的迭代開發并不是很理想。RationalRose現在已經退出市場,不過仍有一些公司在使用,因而IBM推出了Rational Software Architect來替代Rational Rose。

2.2.2 Rational Rose工作環境

啟動Rational Rose進入到主界面,Rational Rose的主界面由“瀏覽器窗口”“文檔窗口”“工具箱”“模型圖窗口”和“日志窗口”組成。

通過上圖可以詳細了解5種窗口的具體位置。下面詳細介紹各種窗口的作用。

1.瀏覽器窗口

瀏覽器是層次結構,組成樹形視圖樣式,用于在Rational Rose模型中迅速定位。瀏覽器可以顯示模型中的所有元素,包括用例、關系、類和組件等。每個模型元素可能又包含其他元素。利用瀏覽器可以實現增加模型元素(如參與者、用例、類、組件、圖等)、瀏覽器現有的模型元素、瀏覽器現有的模型元素之間的關系,移動模型元素,重命名模型元素,將模型元素添加到圖中,將模型元素組成包,訪問模型元素的詳細規范等功能。

右擊“瀏覽器窗口”,執行【Hide】命令即可隱藏該窗口。除此之外,還可以執行【View】|【Browser】命令,隱藏該窗口。隱藏該窗口之后,再次執行【View】|【Browser】命令,顯示該窗口。

2.文檔窗口

“文檔窗口”用于建立、查看或更新模型元素的文檔,如對瀏覽器中的每一個參與者寫一個簡要定義,只要在“文檔窗口”中輸入這個定義即可。將文檔加入到類中時,從“文檔窗口”輸入的所有內容都將顯示為代碼的注釋。而當在“瀏覽器窗口”或“模型圖窗口”中選擇不同的模型元素時,“文檔窗口”會自動更新顯示所選元素的文檔。

3.工具箱

工具箱中包括適用于當前模型圖的工具。工具箱中的工具并不是一成不變的,每個模型圖都有各自對應的工具箱。例如,下圖從左到右依次為協作圖、順序圖、狀態圖和用例圖模型的工具箱。

另外,Rational Rose還提供了定制工具箱功能。右擊工具箱空白區域,執行【Customize】命令,可在彈出的【自定義工具欄】對話框中自定義工具箱中的工具。

4.模型圖窗口

“模型圖窗口”主要用于顯示和編輯一個或幾個UML框圖,在該窗口中可以打開任意一個模型,并利用左邊的工具箱對模型圖進行瀏覽和修改。

當用戶在“模型圖窗口”中修改模型圖中的元素時,Rational Rose會自動更新瀏覽器。同樣,通過“瀏覽器窗口”修改模型圖中的元素時,Rational Rose也會自動更新相應的圖,從而保證模型的一致性。

5.日志窗口

“日志窗口”主要用于查看錯誤信息和報告各個命令的結果,在動作記錄區中記錄了用戶對模型所做的所有重要動作。

2.2.3 Rational Rose中的視圖

在了解Rational Rose中的視圖之前,需要先了解一下模型、視圖和圖的概念。其中,“模型”是包含軟件模式信息的元素,“視圖”是模型中信息的可視化表達方法,而“圖”則是表示用戶特定設計思想的可視元素的集合。

Rational Rose模型中包含了用例視圖(Use Case View)、邏輯視圖(Logical View)、組件視圖(Component View)和部署視圖(Deployment View)4種視圖,每種視圖針對不同的對象,具有不同的作用。

1.用例視圖

用例視圖包含了系統中的所有參與者、用例和用例圖,以及一些時序圖和協作圖。用例視圖主要展示了系統的參與者和用例是如何相互作用的,它是系統中與現實無關的視圖,只關注系統功能的高層形狀,不關注系統的具體實現方法。

用例視圖包含包(Package)、用例(Use Case)、參與者(Actor)、類(Class)、用例圖(Use Case Diagram)、類圖(Class Diagram)、順序圖(Sequence Diagram)、協作圖(Collaboration Diagram)、活動圖(Activity Diagram)和狀態機圖(Statechart Diagram)模型元素。

每個系統都會擁有一個主(Main)用例圖,以及表示邊界(參與者)和提供的大部分功能的元素。

2.邏輯視圖

邏輯視圖又稱為設計視圖,主要關注系統如何實現用例中提供的功能,并提供系統的詳細圖形和描述組件間如何關聯。

邏輯視圖中包含了類(Class)、類的效用(Class Utility)、用例(Use Case)、接口(Interface)、包(Package)、類圖(Class Diagram)、用例圖(Use Case Diagram)、順序圖(Sequence Diagram)、協作圖(Collaboration Diagram)、活動圖(Activity Diagram)和狀態機圖(Statechart Diagram)模型元素,利用這些細節元素,開發人員可以構造系統的詳細信息。

系統中只有一個邏輯視圖,它以圖形的方式說明了關鍵的用例實現、子系統、包和類。

3.組件視圖

組件視圖顯示代碼模塊間的關系,包含模型代碼庫、可執行文件、運行庫和其他組件信息,組件是代碼的實際模塊。

組件圖中包含了包(Package)、組件(Component)、組件圖(Component Diagram)模型元素。

4.部署視圖

部署視圖顯示進程和設備及其相互間的實際連接,它關注系統的實際部署,可能與系統的邏輯結構有所不同。例如,系統的邏輯結構可能為三層,但部署可能為兩層。

部署圖中包含了進程(Process)、處理器(Processor)和設備(Device)模型元素,除此之外,部署視圖還需要處理一些容錯、網絡帶寬、故障恢復和響應時間等其他問題。

主站蜘蛛池模板: 阿图什市| 汉沽区| 边坝县| 丹寨县| 克拉玛依市| 武功县| 文水县| 汉源县| 桃园县| 宁武县| 汉寿县| 酒泉市| 井冈山市| 三原县| 锡林浩特市| 东兰县| 卓尼县| 晋中市| 彩票| 侯马市| 视频| 永年县| 南溪县| 内丘县| 梧州市| 琼海市| 包头市| 临城县| 泰宁县| 曲水县| 三穗县| 荆州市| 鄂尔多斯市| 德兴市| 丰原市| 鹤峰县| 深圳市| 万载县| 镇平县| 岳阳县| 瑞金市|