統(tǒng)一建模語(yǔ)言UML_第1頁(yè)
統(tǒng)一建模語(yǔ)言UML_第2頁(yè)
統(tǒng)一建模語(yǔ)言UML_第3頁(yè)
統(tǒng)一建模語(yǔ)言UML_第4頁(yè)
統(tǒng)一建模語(yǔ)言UML_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Rational Rose 統(tǒng)一建模語(yǔ)言 UML就像一個(gè)戲劇導(dǎo)演設(shè)計(jì)一個(gè)劇本一樣,一個(gè)軟件設(shè)計(jì)師使用Rational Rose,以演員(數(shù)字)、使用拖放式符號(hào)的程序表中的有用的案例元素 (橢圓)、目標(biāo)(矩形)和消 息/關(guān)系(箭頭)設(shè)計(jì)個(gè)種類,來(lái)創(chuàng)造(模型)一個(gè)應(yīng)用的框架。當(dāng)程序表被創(chuàng)建時(shí), Rational Rose 記錄下這個(gè)程序表然后以設(shè)計(jì)師選擇的C+, Visual Basic ,Java,Oracle8,CORB或者數(shù)據(jù)定義語(yǔ)言(Data Definition Language)來(lái)產(chǎn)生代碼。編輯本段內(nèi)容Rational Rose 包括了統(tǒng)一建模語(yǔ)言(UML), OOSE以及OMT其中統(tǒng)

2、一建模語(yǔ)言 (UML)由Rational公司3位世界級(jí)面向?qū)ο蠹夹g(shù)專家 Grady Booch、Ivar Jacobson、和Jim Rumbaugh通過(guò)對(duì)早期面向?qū)ο笱芯亢驮O(shè)計(jì)方法的進(jìn)一步擴(kuò)展而 得來(lái)的,它為可視化建模軟件奠定了堅(jiān)實(shí)的理論基礎(chǔ)。同時(shí)這樣的淵源也使 Rational Rose力挫當(dāng)前市場(chǎng)上很多基于UML可視化建模的工具,例如有 Microsoft 的 Visio2002 ,Oracle 的 Designer2000,還有 PlayCase、CA BPWin CA ERWin Sybase PowerDesigner 等等。Rational Rose 是一個(gè)完全的,具有能滿 足所

3、有建模環(huán)境(Web開(kāi)發(fā),數(shù)據(jù)建模,Visual Studio 和C+)需求能力和靈活性 的一套解決方案。Rose允許開(kāi)發(fā)人員,項(xiàng)目經(jīng)理,系統(tǒng)工程師和分析人員在軟件 開(kāi)發(fā)周期內(nèi)在將需求和系統(tǒng)的體系架構(gòu)轉(zhuǎn)換成代碼,消除浪費(fèi)的消耗,對(duì)需求和系 統(tǒng)的體系架構(gòu)進(jìn)行可視化,理解和精練。通過(guò)在軟件開(kāi)發(fā)周期內(nèi)使用同一種建模工 具可以確保更快更好的創(chuàng)建滿足客戶需求的可擴(kuò)展的、靈活的并且可靠的應(yīng)用系 統(tǒng)。編輯本段特征Ratio nal Rose的兩個(gè)受歡迎的特征是它的提供反復(fù)式發(fā)展和來(lái)回旅程工程的能 力。Rational Rose允許設(shè)計(jì)師利用反復(fù)發(fā)展(有時(shí)也叫進(jìn)化式發(fā)展),因?yàn)樵诟鱾€(gè) 進(jìn)程中新的應(yīng)用能夠被創(chuàng)建,

4、通過(guò)把一個(gè)反復(fù)的輸出變成下一個(gè)反復(fù)的輸入。(這和瀑布式發(fā)展形成對(duì)比,在瀑布式發(fā)展中,在一個(gè)用戶開(kāi)始嘗試之前整個(gè)工程被從 頭到尾的完成。)然后,當(dāng)開(kāi)發(fā)者開(kāi)始理解組件之間是如何相互作用和在設(shè)計(jì)中進(jìn)行 調(diào)整時(shí),Rational Rose 能夠通過(guò)回溯和更新模型的其余部分來(lái)保證代碼的一致 性,從而展現(xiàn)出被稱為來(lái)回旅程工程的能力,Rational Rose是可擴(kuò)展的,可以 使用刻下載附加項(xiàng)和第三方應(yīng)用軟件,它支持 COM/DCOM(ActiveX) JavaBeans和 Corba組件標(biāo)準(zhǔn).編輯本段用途前面已經(jīng)說(shuō)過(guò)了,Rational Rose是基于UML的可視化建模工具,那首先要看看 UML有什么用了

5、。UML全稱叫 Unfied Modeling Language ,顧名思義,UML是一種語(yǔ)言,一種表示法,就是一種交流溝通的工具,特別適用于軟件密集型系統(tǒng)的表 示。UM啲統(tǒng)一性(Unified)表現(xiàn)為以下幾點(diǎn):、UML是人類思想和計(jì)算機(jī)代碼 的一個(gè)連接橋梁大家都知道,計(jì)算機(jī)能直接識(shí)別的語(yǔ)言就是二進(jìn)制的CPU旨令,早期工程師門(mén)都是直接寫(xiě)這些指令輸入給計(jì)算機(jī)直接執(zhí)行的,非常痛苦;后來(lái)就出現(xiàn) 了更好理解的匯編語(yǔ)言,之后就出現(xiàn)了各種各樣更加容易理解和編寫(xiě),更加接近人 類語(yǔ)言的計(jì)算機(jī)高級(jí)語(yǔ)言,什么 VB啊、DELPHI JAVA等等。所以從一個(gè)角度來(lái) 看,其實(shí)計(jì)算機(jī)軟件的發(fā)展史,可以算是一個(gè)解決計(jì)算機(jī)

6、語(yǔ)言和人類語(yǔ)句差異性問(wèn) 題的歷史,就是說(shuō)如何讓開(kāi)發(fā)語(yǔ)言更加接近人類語(yǔ)言。(2)、UMI所定義的概念和符號(hào)可用于軟件開(kāi)發(fā)的分析、設(shè)計(jì)和實(shí)現(xiàn)的全過(guò)程,軟件開(kāi)發(fā)人員不必在開(kāi)發(fā)過(guò)程 的不同階段進(jìn)行概念和符號(hào)的轉(zhuǎn)換。(3)、UML所用的語(yǔ)言元素基本都是圖形化 的,便于理解和溝通,不但開(kāi)發(fā)人員之間可以用來(lái)交流,客戶和開(kāi)發(fā)人員之間也可 以用它作為交流的工具。目前版本的Rational Rose可以用來(lái)做以下一些工作:1、對(duì)業(yè)務(wù)進(jìn)行建模(工作流);2、建立對(duì)象模型(表達(dá)信息系統(tǒng)內(nèi)有哪些對(duì)象,它 們之間是如何協(xié)作完成系統(tǒng)功能的);3、對(duì)數(shù)據(jù)庫(kù)進(jìn)行建模,并可以在對(duì)象模型和 數(shù)據(jù)模型之間進(jìn)行正、逆向工程,相互同步;

7、4、建立構(gòu)件模型(表達(dá)信息系統(tǒng)的物理組成,如有什么文件、進(jìn)程、線程、分布如何等等)5、生成目標(biāo)語(yǔ)言的框架代碼,VB JAVA DELPHI編輯本段核心uml、uml的發(fā)展歷程umlø ;公認(rèn)的面向?qū)ο蠼UZ(yǔ)言出現(xiàn)于 70年代中期。ø ;多種建模語(yǔ) 言的出現(xiàn):booch 1993、oose、omt _2、ooa/ood。ø ; uml 建模語(yǔ)言的形 成,成為工業(yè)界的標(biāo)準(zhǔn)(1996年)。其發(fā)展歷程可用下圖形象表示:(2)、 uml(u nified modeli ng Ian guage)的具體內(nèi)容客觀世界是一個(gè)復(fù)雜的巨系統(tǒng),需要從不同的角度來(lái)考察,才能真正理解

8、這個(gè)系統(tǒng)。為了能支持從不同角度來(lái)考察系 統(tǒng),標(biāo)準(zhǔn)建模語(yǔ)言u(píng)ml定義了下列5類、共9種模型圖,下面圖表作了基本的描 述:類型圖名描述用例圖用例圖從用戶角度描述系統(tǒng)的功能,并指出各功能的操作者。靜態(tài)圖類圖用于定義系統(tǒng)的類,包括描述類之間的聯(lián)系(如關(guān)聯(lián)、依賴、聚合等)以及類的內(nèi)部結(jié)構(gòu),即類的屬性和操作。因此類圖是描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu),即它 描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。包圖包或類組成,主要表示包與包、或包與類之間的關(guān)系。包圖用于描述系統(tǒng)的分 層結(jié)構(gòu)。行為圖狀態(tài)圖描述一類對(duì)象的所有可能狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常 狀態(tài)圖是對(duì)類圖的補(bǔ)充。活動(dòng)圖描述為滿足用例要求所要進(jìn)

9、行的活動(dòng)以及活動(dòng)間的約束關(guān)系。使用活動(dòng)圖可 以很方便地表示并行活動(dòng)。交互圖序列圖用以顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系。它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順 序,同時(shí)也顯示對(duì)象之間的交互過(guò)程。協(xié)作圖同序列圖是等價(jià)的,但著重描述對(duì)象間的協(xié)作關(guān)系。實(shí)現(xiàn)圖構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個(gè)部件可能是 一個(gè)資源代碼部件、一個(gè)二進(jìn)制部件或一個(gè)可執(zhí)行部件。它包含邏輯類或?qū)崿F(xiàn)類的 有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實(shí)際的計(jì)算機(jī)和設(shè)備(用節(jié)點(diǎn)表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在 節(jié)?行軟件單元的對(duì)應(yīng)關(guān)系

10、。1、用例圖以訂單管理系統(tǒng)的用例模型部分為例進(jìn)行說(shuō)明。例圖由于他們具有略微不同的特征,因此將普通客戶從In ternet客戶中分離開(kāi)來(lái)是非常有用的。然而,因?yàn)镮n ternet客戶的確顯示了一個(gè)客戶具有的所有特征, 所以您可以說(shuō)In ternet客戶是客戶的一個(gè)特例,并且能夠通過(guò)主角泛化關(guān)系來(lái)指 示。在本圖中,具體用例分別是電話訂購(gòu)(由客戶主角發(fā)出)和Internet訂購(gòu) (由In ternet客戶發(fā)出)。這些用例都是更普通的訂購(gòu)用例的變形。在本示例 中,訂購(gòu)用例是一個(gè)抽象用例。請(qǐng)求目錄用例代表一個(gè)可選行為段,它不是 訂購(gòu)用例主要目標(biāo)的組成部分。它已經(jīng)被分離出來(lái),形成了一個(gè)抽象用例,用于 簡(jiǎn)化

11、訂購(gòu)用例。提供客戶數(shù)據(jù)用例是一個(gè)已分離出的行為段。它之所以被分離 出來(lái),是因?yàn)樗且粋€(gè)獨(dú)立功能,只有它的結(jié)果才能影響訂購(gòu)用例。供給客戶數(shù)據(jù)用例還可以在其他用例中復(fù)用。請(qǐng)求目錄用例和供給客戶數(shù)據(jù)用例在本 示例中都屬于抽象用例。Rational Rose包含用例的行為插入到基本用例中的一個(gè)位置。當(dāng)執(zhí)行基本用例的 用例實(shí)例達(dá)到基本用例中定義擴(kuò)展點(diǎn)的位置時(shí),將對(duì)相應(yīng)擴(kuò)展關(guān)系的條件進(jìn)行評(píng) 估。如果條件成立,或者如果沒(méi)有條件,用例實(shí)例將遵循擴(kuò)展用例(或者擴(kuò)展用例中與擴(kuò)展點(diǎn)相對(duì)應(yīng)的插入段)。如果擴(kuò)展關(guān)系的條件不成立,就不執(zhí)行擴(kuò)展。Rational Rose擴(kuò)展表示一種可選行為用例實(shí)例 2、類圖3、包圖4、序

12、列圖在序列 圖中可以有對(duì)象和序列圖主角實(shí)例,以及說(shuō)明它們?nèi)绾谓换サ南ⅰP蛄袌D描述了在參與交互的對(duì)象 中所發(fā)生的事件(從激活的角度來(lái)說(shuō)明),以及這些對(duì)象如何通過(guò)相互發(fā)送消息進(jìn)行 通信。您可以為用例事件流的各種不同形式制作序列圖。5、協(xié)作圖協(xié)作圖協(xié)作圖中可以有對(duì)象和主角實(shí)例,以及描述它們之間關(guān)系和交互的連接和消 息。通過(guò)說(shuō)明對(duì)象間如何通過(guò)互相發(fā)送消息來(lái)實(shí)現(xiàn)通信,協(xié)作圖描述了參與對(duì)象中 發(fā)生的情況。您可以為用例事件流的每一個(gè)變化形式制作一個(gè)協(xié)作圖。狀態(tài)圖6、狀態(tài)圖狀態(tài)機(jī)用于對(duì)模型元素的動(dòng)態(tài)行為進(jìn)行建模,更具體地說(shuō),就是 對(duì)系統(tǒng)行為中受事件驅(qū)動(dòng)的方面進(jìn)行建模。狀態(tài)機(jī)專門(mén)用于定義依賴于狀態(tài)的行為 (即

13、根據(jù)模型元素所處的狀態(tài)而有所變化的行為)。其行為不會(huì)隨著其元素狀態(tài)發(fā)生 變化的模型元素不需要用狀態(tài)機(jī)來(lái)描述其行為(這些元素通常是主要負(fù)載管理數(shù)據(jù) 的被動(dòng)類)。狀態(tài)機(jī)由狀態(tài)組成,各狀態(tài)由轉(zhuǎn)移鏈接在一起。狀態(tài)是對(duì)象執(zhí)行某項(xiàng) 活動(dòng)或等待某個(gè)事件時(shí)的條件。轉(zhuǎn)移是兩個(gè)狀態(tài)之間的關(guān)系,它由某個(gè)事件觸發(fā), 然后執(zhí)行特定的操作或評(píng)估并導(dǎo)致特定的結(jié)束狀態(tài)。圖1描繪了狀態(tài)機(jī)的各種元素。7、活動(dòng)圖活動(dòng)圖一個(gè)活動(dòng)圖可能包括以下元素:活動(dòng)狀態(tài)表示在工作流程中執(zhí)行某個(gè)活動(dòng) 或步驟。轉(zhuǎn)移表示各種活動(dòng)狀態(tài)的先后順序。這種轉(zhuǎn)移可稱為完成轉(zhuǎn)移。它不同 于一般的轉(zhuǎn)移,因?yàn)樗恍枰黠@的觸發(fā)器事件,而是通過(guò)完成活動(dòng)(用活動(dòng)狀態(tài)表示)

14、來(lái)觸發(fā)。決策,為其定義了一組警戒條件。這些警戒條件決定在活動(dòng)完成 后將執(zhí)行一組備選轉(zhuǎn)移中的哪一個(gè)轉(zhuǎn)移。您也可以使用判定圖標(biāo)來(lái)表示線程重新合 并的位置。決策和警戒條件使您能夠顯示業(yè)務(wù)用例的工作流程中的備選線程。同 步示意條用于顯示平行分支流。同步示意條使您能夠顯示業(yè)務(wù)用例的工作流程中的 并行線程。8、構(gòu)件圖由下圖可以看出系統(tǒng)的源代碼和運(yùn)行組件。利用該圖,負(fù)責(zé) 編譯和部署系統(tǒng)的人員知道有哪些代碼庫(kù),編譯代碼時(shí)生成哪些執(zhí)行文件;開(kāi)發(fā)人 員知道有哪些代碼庫(kù),相互間有什么關(guān)系;組件的依賴性使編譯人員知道正確的編 譯順序部署圖9、部署圖部署圖考慮應(yīng)用程序的實(shí)際部署,包括網(wǎng)絡(luò)部署和組件在網(wǎng)?含處理器、設(shè)備、

15、進(jìn)程和處理器與設(shè)備之間的連接。部署圖顯示網(wǎng)絡(luò)上的所有節(jié)點(diǎn)、 節(jié)點(diǎn)間的連接和每個(gè)節(jié)點(diǎn)上運(yùn)行的進(jìn)程。編輯本段數(shù)據(jù)庫(kù)建模Rose提供了一個(gè)叫Data Modeler的工具,利用它可用將對(duì)象模型轉(zhuǎn)換成數(shù)據(jù)模 型,也可以將現(xiàn)有的數(shù)據(jù)模型轉(zhuǎn)換成對(duì)象模型,從而實(shí)現(xiàn)兩者之間的同步。具體來(lái) 說(shuō),Data Modeler可以:1、將對(duì)象模型轉(zhuǎn)換成數(shù)據(jù)模型,即將類映射到數(shù)據(jù)庫(kù)的 表,構(gòu)成傳統(tǒng)的 ER圖;(Data Modeler|Transform to Data Model)2、將數(shù)據(jù)模型轉(zhuǎn)換成對(duì)象模型;(Data Modeler|Tra nsform to Object Model)3、利用數(shù)據(jù)模型生成數(shù)據(jù)庫(kù)D

16、DL也可以直接連接到數(shù)據(jù)庫(kù)里,對(duì)數(shù)據(jù)庫(kù)產(chǎn)生結(jié)果;(DataModeler|Forward Engineer)4 、從現(xiàn)有數(shù)據(jù)庫(kù)或DDL文件里生成數(shù)據(jù)模型;(DataModeler|Reverse Engineer)5 、將數(shù)據(jù)模型同DDL文件或現(xiàn)有數(shù)據(jù)庫(kù)進(jìn)行比較; (Data Modeler|Compare to 。)注意:一個(gè)類能被轉(zhuǎn)化為一個(gè)數(shù)據(jù)庫(kù)表,它的 persistenee 屬性必須是 transient編輯本段建模特點(diǎn)1保證模型和代碼高度一致。2.支持多種語(yǔ)言。3.為團(tuán)隊(duì)開(kāi)發(fā)提供強(qiáng)有力的支持。4.支持模型的In ternet發(fā)布。5.生成使用簡(jiǎn)單且定制靈活的文檔。6.支持關(guān)系型 數(shù)據(jù)

17、庫(kù)的建模。編輯本段使用技巧1、unitscontrol rational rose單元控制用來(lái)把一個(gè)包,在多人協(xié)作分析設(shè)計(jì)的時(shí)候特別有用。例如當(dāng)一個(gè)包需要另外一個(gè)同事a進(jìn)行完善的時(shí)候,可以把單元處于控制中,保存到另外一個(gè)單獨(dú)的文件里,然后同事a完善這個(gè)包,同時(shí)自己也可以進(jìn)行其他包的設(shè)計(jì)工作,等完善完畢后,把文件重新load進(jìn)去就可以繼續(xù)使用了,這樣就不會(huì)影響到其他人的同步工作了。菜單含義:load :從一個(gè)文件里導(dǎo)入一個(gè)單元包,常用來(lái)作為同步刷新save:保存對(duì)單元包所做的更改 save as :把單元包保存到另外的一個(gè)路徑 unloa ratio nal rosed:把單元包卸下來(lái),在ros

18、e里就看不到單元包里面的內(nèi)容了,用load可以把單元包重新導(dǎo)進(jìn)來(lái)write protection :寫(xiě)保護(hù),在rose里就不能對(duì)這個(gè)單元包進(jìn)行更改了 2、import, export導(dǎo)進(jìn),導(dǎo)出package,對(duì)利用現(xiàn)成的建模成果很有用,例如我們可以導(dǎo)進(jìn)一 個(gè)現(xiàn)成的java模型,這樣就可以直接利用java標(biāo)準(zhǔn)的對(duì)象了。3、add-in manager很多外部的產(chǎn)品都對(duì)rose發(fā)布了 add-in支持,以對(duì)rose的功能做進(jìn)一 步的擴(kuò)展,如java、oracle、delphi,有了這些add-in,rose就可以做更多的深 層次的工作了。例rational rose 如裝了 delphi link

19、 之后,rose就可以直接可以生成 delphi的框 架代碼,也可以從delphi代碼轉(zhuǎn)化成rose模型,并進(jìn)行兩者的同步。選中 framework wizard 之后,執(zhí)行file|new 命令時(shí),會(huì)出現(xiàn)現(xiàn)成的框架模型,供你選 擇,例如你想用delphi開(kāi)發(fā)系統(tǒng),就可以選擇delphi framework,它已經(jīng)內(nèi)置 了 delphi大部分標(biāo)準(zhǔn)類的支持,方便你的分析和設(shè)計(jì)工作。4、workspaceworkspace是用來(lái)記憶當(dāng)前你的工作環(huán)境,即你所打開(kāi)的單元包和圖,到下次打開(kāi) workspace 的時(shí)候,rose 會(huì)根據(jù) workspa rational rosece的信息,還原至U上次的

20、工作界面。5、常用快捷鍵fl :任何時(shí)候都可以按fl獲得相關(guān)幫助,把鼠標(biāo)放在 某條菜單上按fl可以獲得這條菜單的相關(guān)幫助。f2 :刷新browser和diagram f3 :兩幅圖進(jìn)行切換f5 :順序圖和協(xié)作圖等價(jià)切換 6、autosize all 使圖的內(nèi)容 顯示得更加整齊,當(dāng)發(fā)現(xiàn)圖有些內(nèi)容顯示得不全時(shí),使用這個(gè)菜單很有用。7、options 的設(shè)置 編輯本段XML DTD造型 很多開(kāi)發(fā)人員都熟悉面向?qū)ο蟮姆治龊驮O(shè)計(jì)工具。這些工具常常都被用來(lái)輔助數(shù)據(jù) 和組件模型的開(kāi)發(fā),而這些模型要被用來(lái)搭建大型的軟件系統(tǒng)。對(duì)于使用Rational Rose開(kāi)發(fā)工具的開(kāi)發(fā)人員來(lái)說(shuō),他們會(huì)驚奇地發(fā)現(xiàn),你可以以給

21、自己組 件和模塊同樣的造型方式來(lái)給 XML文檔造型?;靖拍钜赗ational Rose里開(kāi)始創(chuàng)建XML模型,你就需要了解一些基本的概念。首先, 你文檔里的每個(gè)節(jié)點(diǎn)都會(huì)成為一個(gè)類。你可以使用的XML類一共有四種類型:元素、實(shí)體、組和符號(hào)。在本文里,我們只會(huì)用到元素和組。元素是具有某些特性的 基本類,它們由你在Rational Rose所指定的類型來(lái)定義。對(duì)于元素而言,你可以 選擇ANY任意)、Content Model(內(nèi)容模型)、PCDATA(P數(shù)據(jù))或者EMPTY空)。 EMPTYS素顯然是空的,而PCDATA!型是一個(gè)字符數(shù)據(jù)容器。對(duì)于模式復(fù)雜的類 型,你要使用內(nèi)容模型。內(nèi)容模型和組對(duì)

22、于包含有字符數(shù)據(jù)的簡(jiǎn)單元素,你要使用PCDATA型。但是,你的很多元素都會(huì)包含一個(gè)或者多個(gè)子元素。對(duì)于這樣的復(fù)雜元素,你必須使用內(nèi)容模型類型。為 了向Rational Rose指明元素之間的關(guān)系,你還要使用組類型。從本質(zhì)上講,每個(gè) 內(nèi)容模型元素都會(huì)擁有一個(gè)相關(guān)聯(lián)的組元素。該組元素應(yīng)該被作為Rati onal Rose里的一個(gè)嵌套類被創(chuàng)建。內(nèi)容模型元素的每個(gè)子元素都會(huì)通過(guò)將其與內(nèi)容模型元素 的組元素相關(guān)聯(lián)而被定義??焖傺菥毈F(xiàn)在讓我們來(lái)演練一個(gè)小例子。我們就從在Rational Rose創(chuàng)建一個(gè)新的Rational統(tǒng)一進(jìn)程(Rational Unified Process, RUP項(xiàng)目開(kāi)始吧。你應(yīng)

23、該會(huì)在邏輯視圖(Logical View) 里看到歡迎類圖表(Welcome Class Diagram)。你可以在這 個(gè)圖表內(nèi)刪除節(jié)點(diǎn);不過(guò)這沒(méi)有必要。點(diǎn)擊工具條上的類(Class)圖標(biāo),再點(diǎn)擊圖表創(chuàng)建一個(gè)新的類。將這類命名為 Order。雙擊Order類,并選擇DTDElement 框。在類規(guī)格(Class Specification)對(duì)話框里選擇內(nèi)容模型類型。在樹(shù)型視圖里右擊Order類,并選擇新建|嵌套類(New|Nested Class)將這個(gè)新的類命名為 Order_grp。點(diǎn)擊并將Order_grp類拖放到類圖表里。雙擊 Order_grp類并選擇 DTDGroup框。放在一組的

24、類應(yīng)該是 Sequenee(順序),其出現(xiàn)次數(shù)應(yīng)該是 One(一 次)。然后,展開(kāi)樹(shù)型視圖里的關(guān)聯(lián)(Associations)項(xiàng)目,并將Order_grp關(guān)聯(lián)拖 放到類圖表里。分別創(chuàng)建兩個(gè)新的類-Item和Customer。這兩個(gè)類都應(yīng)該是被定 義為內(nèi)容模型類型的DTDElemen。創(chuàng)建Order_grp組元素同Item類的新關(guān)聯(lián),并 對(duì)Customer類進(jìn)行同樣的操作。雙擊Item類的新關(guān)聯(lián),并將它命名為Item。然 后點(diǎn)擊角色A的細(xì)節(jié)(Role ADetail)選項(xiàng)卡,并在多重下拉框里選擇1.n。這一步 會(huì)指明Order元素會(huì)有一個(gè)或者多個(gè)Item元素作為其子元素。雙擊 Customer類

25、的 關(guān)聯(lián),并將它命名為Customer。點(diǎn)擊角色A的細(xì)節(jié)選項(xiàng)卡,在多重下拉框里選擇1。這一步會(huì)指明Order元素只會(huì)有一個(gè)Customer元素作為其子元素。如果有必要 的話,你可以重復(fù)這一過(guò)程,以完成你的 XML DTD對(duì)于每個(gè)復(fù)雜的元素,只用簡(jiǎn) 單地指定內(nèi)容模型類型,然后創(chuàng)建同 DTDGroup匡相關(guān)聯(lián)的嵌套類就行了。你的子 元素然后就應(yīng)該同組元素關(guān)聯(lián)在一起了。當(dāng)你完成了自己的模型之后,你就可以右 擊這些類,并選擇 XML_DTD生成DTD(XML_DTD|Generate DTD來(lái)生成DTD的信息。 你還可以從這個(gè)菜單里瀏覽DTD的源代碼。逆向工程你也可以通過(guò)選擇工具|XML_DTD逆向工

26、程XML_DTD(Tools|XML_DTD|Reverse Engineer XML_DTD)將你的DTD逆向轉(zhuǎn)換進(jìn) Rational Rose 里。在這個(gè)過(guò)程完成之 后,你的Rational Rose模型會(huì)包含有用于你DTD類的新工具包。編輯本段安裝準(zhǔn)備1.安裝Rose需要 Windows 2000/Windows XP及其以上版本。如果是 Windows 2000 則要確認(rèn)已經(jīng)安裝了 Sever Pack 2.2.安裝Rose,必須先得到Rose安裝包。建議 購(gòu)買Rational公司的正版軟件,Rational現(xiàn)在已被IBM收購(gòu),讀者可以從網(wǎng)上獲 取相關(guān)信息。編輯本段Rose Power

27、Design、Visio 建模工具比較ROS是直接從UML發(fā)展而誕生的設(shè)計(jì)工具,它的出現(xiàn)就是為了對(duì)UML建模的支持,ROSE-開(kāi)始沒(méi)有對(duì)數(shù)據(jù)庫(kù)端建模的支持,但是在現(xiàn)在的版本中已經(jīng)加入數(shù)據(jù) 庫(kù)建模的功能。ROS主要是在開(kāi)發(fā)過(guò)程中的各種語(yǔ)義、模塊、對(duì)象以及流程,狀 態(tài)等描述比較好,主要體現(xiàn)在能夠從各個(gè)方面和角度來(lái)分析和設(shè)計(jì),使軟件的開(kāi)發(fā) 藍(lán)圖更清晰,內(nèi)部結(jié)構(gòu)更加明朗(但是它的結(jié)構(gòu)僅僅對(duì)那些對(duì)掌握 UML的開(kāi)發(fā)人 員,也就是說(shuō)對(duì)客戶了解系統(tǒng)的功能和流程等并不一定很有效),對(duì)系統(tǒng)的代碼框架生成有很好的支持。但對(duì)數(shù)據(jù)庫(kù)的開(kāi)發(fā)管理和數(shù)據(jù)庫(kù)端的迭代不是很好。PowerDesigner原來(lái)是對(duì)數(shù)據(jù)庫(kù)建模而發(fā)展

28、起來(lái)的一種數(shù)據(jù)庫(kù)建模工具。直到7.0版才開(kāi)始對(duì)面向?qū)ο蟮拈_(kāi)發(fā)的支持,后來(lái)又引入了對(duì)UML的支持。但是由于PowerDesigner側(cè)重不一樣,所以它對(duì)數(shù)據(jù)庫(kù)建模的支持很好,支持了能夠看到的 90%左右的數(shù)據(jù)庫(kù),對(duì)UML的建模使用到的各種圖的支持比較滯后。但是在最近得 到加強(qiáng)。所以使用它來(lái)進(jìn)行 UML開(kāi)發(fā)的并不多,很多人都是用它來(lái)作為數(shù)據(jù)庫(kù)的建 模。如果使用UML分析,它的優(yōu)點(diǎn)是生成代碼時(shí)對(duì) Sybase的產(chǎn)品PowerBuilder的 支持很好(其它UML建模工具則沒(méi)有或者需要一定的插件),其他面向?qū)ο笳Z(yǔ)言如 C+, Java,VB,C#等支持也不錯(cuò)。但是它好像繼承了 Sybase公司的一貫傳統(tǒng),對(duì) 中國(guó)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論