Rose使用教程_第1頁
Rose使用教程_第2頁
Rose使用教程_第3頁
Rose使用教程_第4頁
Rose使用教程_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 廣東藥學(xué)院廣東藥學(xué)院醫(yī)藥信息工程學(xué)院醫(yī)藥信息工程學(xué)院1Rational Rose建模實(shí)踐指南 2導(dǎo)讀 v Rational Rose是面向?qū)ο蠓治雠c設(shè)計(jì)建模最好的工具,它的應(yīng)用領(lǐng)域?qū)?,?yīng)用時(shí)間長(zhǎng),也較為成熟。當(dāng)前,它是IT企業(yè)常用的CASE工具之一,計(jì)算機(jī)及軟件專業(yè)方向的大學(xué)生、研究生和軟件工程師必須學(xué)會(huì)它,掌握它,并用它來解決面向?qū)ο蠓治雠c設(shè)計(jì)建模的實(shí)際問題。v Rational Rose的理論基礎(chǔ)是統(tǒng)一建模語言UML,在學(xué)習(xí)Rational Rose之前,必須對(duì)UML有所了解。3學(xué)習(xí)要求 要要 求求具具 體體 內(nèi)內(nèi) 容容了了 解解1)Rational RoseRational Rose的

2、發(fā)展歷史的發(fā)展歷史2)Rational RoseRational Rose的安裝與啟動(dòng)的安裝與啟動(dòng)3)Rational RoseRational Rose的工作界面及圖標(biāo)的工作界面及圖標(biāo)理理 解解1)Rational RoseRational Rose與與UMLUML之間的關(guān)系之間的關(guān)系2)Rational RoseRational Rose逆向工程逆向工程3 3)JavaJava代碼逆向工程代碼逆向工程掌掌 握握1)用用Rational RoseRational Rose設(shè)計(jì)用況模型設(shè)計(jì)用況模型2)用用Rational RoseRational Rose設(shè)計(jì)領(lǐng)域模型設(shè)計(jì)領(lǐng)域模型3 3)用)用

3、Rational RoseRational Rose設(shè)計(jì)類模型和包圖設(shè)計(jì)類模型和包圖4 4)用)用Rational RoseRational Rose設(shè)計(jì)系統(tǒng)動(dòng)態(tài)模型設(shè)計(jì)系統(tǒng)動(dòng)態(tài)模型5 5)用)用Rational RoseRational Rose進(jìn)行數(shù)據(jù)建模進(jìn)行數(shù)據(jù)建模4Rational Rose概述v解決面向?qū)ο髥栴}的核心是建模,即建立系統(tǒng)的Rose模型。軟件系統(tǒng)內(nèi)部的高內(nèi)聚、低耦合程度以及維護(hù)成本是軟件設(shè)計(jì)的所關(guān)注的問題,Rational Rose是基于UML而產(chǎn)生的,是軟件開發(fā)過程中的不可或缺的一個(gè)建模工具。 5Rational Rose主要特點(diǎn)v 支持多種語言,如Ada、CORBA、

4、Visual Basic、Java等; 支持模型的支持模型的Internet發(fā)布;發(fā)布; 可以生成簡(jiǎn)單、清晰且定制靈活的文檔;可以生成簡(jiǎn)單、清晰且定制靈活的文檔; 雙向工程保證了模型和代碼高度一致;雙向工程保證了模型和代碼高度一致; 支持逆向工程,建立代碼框架;支持逆向工程,建立代碼框架; 支持多種關(guān)系型數(shù)據(jù)庫的建模;支持多種關(guān)系型數(shù)據(jù)庫的建模; 從需求分析到測(cè)試,在整個(gè)軟件生命周期中,都為從需求分析到測(cè)試,在整個(gè)軟件生命周期中,都為團(tuán)隊(duì)開發(fā)提供強(qiáng)有力的支持。團(tuán)隊(duì)開發(fā)提供強(qiáng)有力的支持。6Rational Rose的作用v 整個(gè)開發(fā)團(tuán)隊(duì)可以使用用況圖,來獲得一個(gè)系統(tǒng)高層次的視圖,并且可以協(xié)商項(xiàng)目

5、的范疇; 項(xiàng)目經(jīng)理可以使用用況圖和文檔,把項(xiàng)目分解成便于管理的多項(xiàng)目經(jīng)理可以使用用況圖和文檔,把項(xiàng)目分解成便于管理的多個(gè)模塊;個(gè)模塊; 系統(tǒng)分析員和客戶在看到用況規(guī)格描述文檔的時(shí)候,就可以明系統(tǒng)分析員和客戶在看到用況規(guī)格描述文檔的時(shí)候,就可以明白系統(tǒng)將會(huì)提供什么樣的功能;白系統(tǒng)將會(huì)提供什么樣的功能; 技術(shù)編寫者在看到用況規(guī)格描述文檔時(shí),就可以著手編寫用戶技術(shù)編寫者在看到用況規(guī)格描述文檔時(shí),就可以著手編寫用戶手冊(cè)和培訓(xùn)計(jì)劃;手冊(cè)和培訓(xùn)計(jì)劃; 系統(tǒng)分析員和軟件開發(fā)者在看到時(shí)序圖和協(xié)作圖時(shí),就可以明系統(tǒng)分析員和軟件開發(fā)者在看到時(shí)序圖和協(xié)作圖時(shí),就可以明白整個(gè)系統(tǒng)的邏輯流程、對(duì)象以及對(duì)象之間的消息;白

6、整個(gè)系統(tǒng)的邏輯流程、對(duì)象以及對(duì)象之間的消息;7Rational Rose的作用v 質(zhì)量檢測(cè)員可以使用用況文檔、時(shí)序圖、協(xié)作圖獲得測(cè)試腳本所需要的信息; 軟件開發(fā)人員使用類圖和狀態(tài)圖,可以獲得系統(tǒng)模塊的詳細(xì)軟件開發(fā)人員使用類圖和狀態(tài)圖,可以獲得系統(tǒng)模塊的詳細(xì)視圖以及模塊之間的關(guān)系;視圖以及模塊之間的關(guān)系; 部署人員在使用組件圖和部署圖時(shí),就可以明白哪些是可執(zhí)部署人員在使用組件圖和部署圖時(shí),就可以明白哪些是可執(zhí)行文件或行文件或DLL文件,以及其他的一些組件是如何創(chuàng)建的,這些文件,以及其他的一些組件是如何創(chuàng)建的,這些組件該部署在網(wǎng)絡(luò)中哪些地方;組件該部署在網(wǎng)絡(luò)中哪些地方; 整個(gè)團(tuán)隊(duì)使用整個(gè)團(tuán)隊(duì)使用R

7、ose模型,就可以確定從需求到編碼的整個(gè)過模型,就可以確定從需求到編碼的整個(gè)過程,并且從編碼到需求這個(gè)逆過程也是可以追蹤的。程,并且從編碼到需求這個(gè)逆過程也是可以追蹤的。8安裝Rational Rose v(1) 雙擊Rational Rose 2003的安裝程序,進(jìn)入安裝界面,如圖2-1所示;v(2) 單擊【下一步】按鈕,進(jìn)入如圖2-2所示界面,此時(shí)用戶可以選擇要安裝的產(chǎn)品,一般選擇“Rational Rose Enterprise Edition” ;v(3) 單擊【下一步】按鈕,進(jìn)入如圖2-3所示界面,在圖2-3中選擇“Desktop installation from CD”選項(xiàng),表示

8、創(chuàng)建一個(gè)本地的應(yīng)用程序而不是網(wǎng)絡(luò)的;v(4) 單擊【下一步】按鈕,進(jìn)入安裝向?qū)Ы缑?,如圖2-4所示;v(5) 單擊【Next】按鈕,進(jìn)入產(chǎn)品聲明界面,如圖2-5所示;v(6) 單擊【Next】按鈕,進(jìn)入?yún)f(xié)議許可界面,如圖2-6所示; v(7) 單擊【Next】按鈕,進(jìn)入安裝路徑設(shè)置界面,如圖2-7所示,單擊“Change”按鈕設(shè)置安裝路徑;v(8) 單擊【Next】按鈕,進(jìn)入安裝設(shè)置界面,如圖2-8所示; v(9) 單擊【Next】按鈕,進(jìn)入開始安裝界面,如圖2-9所示;v(10) 單擊【Install】按鈕,開始拷貝文件到安裝目錄,如圖2-10所示; v(11) 安裝完畢,將自動(dòng)彈出如圖2-

9、11所示對(duì)話框,用戶必須對(duì)該軟件進(jìn)行注冊(cè)方能使用該軟件;v(12) 安裝成功,進(jìn)入Rational Rose界面,如圖2-12所示。 9安裝界面 10Rational Rose的使用 v Rose 是菜單驅(qū)動(dòng)式的CASE工具,可以通過工具欄使用其常用功能,如圖2-13所示。v Rose支持8種不同類型的UML圖:v 用況圖(Use Case Diagram)v 活動(dòng)圖(Activity Diagram)v 時(shí)序圖(Sequence Diagram)v 協(xié)作圖(Collaboration Diagram)v 類圖(Class Diagram)v 狀態(tài)圖(Statechart Diagram)v

10、組件圖(Component Diagram)v 部署圖(Deployment Diagram)。 11Rose界面簡(jiǎn)介 v Rose主界面如圖2-13所示,它由5個(gè)部分組成:v (1) Browser窗口: 瀏覽器窗口,用于快速啟動(dòng)模型;v (2) Documentation窗口:文檔窗口,用于快速訪問通用命令;v (3) Diagram窗口:編輯區(qū),用于顯示和編輯多個(gè)UML圖;v (4) 日志窗口:用于觀看錯(cuò)誤和各種各樣命令的結(jié)果報(bào)告;v (5) 工具欄窗口:顯示有關(guān)工具圖標(biāo)。 12圖2-13 Rose的主界面 13Rose建模簡(jiǎn)介 v Rose創(chuàng)建的模型文件后綴名為.mdl,模型的創(chuàng)建的一

11、般步驟:v (1) 創(chuàng)建模型v 點(diǎn)擊菜單欄中【File】項(xiàng),選擇【New】選項(xiàng),或者直接點(diǎn)擊標(biāo)準(zhǔn)菜單欄中的【Create New Model or File】按鈕;v 彈出如圖2-13所示的對(duì)話框,選擇要用到的框架,單擊【OK】按鈕,或者【Cancel】按鈕。v (2) 保存模型v 保存模型是創(chuàng)建模型的逆過程,點(diǎn)擊菜單欄中【File】項(xiàng),選擇【Save】選項(xiàng),或者直接點(diǎn)擊標(biāo)準(zhǔn)菜單欄中的【Save Model,File,or Script】按鈕;v (3) 發(fā)布模型v 點(diǎn)擊菜單欄中的【Tools】項(xiàng),選擇【W(wǎng)eb Publisher.】項(xiàng),跳出如圖2-14所示對(duì)話框;v 在圖2-14中,選擇要發(fā)

12、布到web頁面上的內(nèi)容和HTML頁面要保存的位置,單擊【Publish】按鈕,Rose模型就發(fā)布到web頁面上,打開所保存的.html文件,就可以看到Rose模型,如圖2-15所示。 14發(fā)布模型和保存.html文件的窗口 15用Rational Rose設(shè)計(jì)用況模型 v 用況模型(Use Case Model)又稱為用例模型,它是所有用況、參與者以及相關(guān)關(guān)系的集合,是關(guān)于系統(tǒng)功能和環(huán)境的模型。一個(gè)用況就是系統(tǒng)要實(shí)現(xiàn)的一項(xiàng)功能,即使用用況來描述系統(tǒng)要做什么。用況模型是軟件需求分析結(jié)果的可視化表示。v 另外,業(yè)務(wù)模型、功能模型、數(shù)據(jù)模型”這三個(gè)模型的建模思想與建模方法論,也可以用建模工具Rati

13、onal Rose來加以實(shí)現(xiàn)。 16理解用況模型中的元素 v 1 1用況圖用況圖( (Use Case Diagram) Use Case Diagram) v 確定系統(tǒng)中所包含的參與者、用況和兩者之間或其自身的關(guān)系,用況圖是基確定系統(tǒng)中所包含的參與者、用況和兩者之間或其自身的關(guān)系,用況圖是基于系統(tǒng)要實(shí)現(xiàn)的功能的一個(gè)可視化描述。于系統(tǒng)要實(shí)現(xiàn)的功能的一個(gè)可視化描述。v (1) (1) 參與者參與者( (Actor)Actor)v (2) (2) 用況用況( (Use Case)Use Case)v 用況是用來描述參與者使用系統(tǒng),以達(dá)到某個(gè)目標(biāo)時(shí)所涉及到的一系列的場(chǎng)用況是用來描述參與者使用系統(tǒng),以

14、達(dá)到某個(gè)目標(biāo)時(shí)所涉及到的一系列的場(chǎng)景的集合。一個(gè)用況的核心并不是上述的圖標(biāo),而是一個(gè)規(guī)格化的敘述型文景的集合。一個(gè)用況的核心并不是上述的圖標(biāo),而是一個(gè)規(guī)格化的敘述型文檔,它描述了參與者要實(shí)現(xiàn)某項(xiàng)功能的事件流程,展示和體現(xiàn)了其所描述的檔,它描述了參與者要實(shí)現(xiàn)某項(xiàng)功能的事件流程,展示和體現(xiàn)了其所描述的過程中的需求情況。用況名稱一般以過程中的需求情況。用況名稱一般以“做什么做什么”即即“動(dòng)賓詞組動(dòng)賓詞組”形式來命名。形式來命名。 v (3) (3) 用況和參與者及自身的關(guān)系用況和參與者及自身的關(guān)系v 泛化關(guān)系泛化關(guān)系( (generalization) generalization) v 包含關(guān)系包

15、含關(guān)系( (include) include) v 擴(kuò)展關(guān)系擴(kuò)展關(guān)系( (extend)extend) 17理解用況模型中的元素v2. 用況規(guī)約(Use Case Specification)v所謂規(guī)約,就是業(yè)務(wù)規(guī)則的規(guī)格說明。針對(duì)每一個(gè)用況,都應(yīng)該有一個(gè)用況規(guī)約文檔與之相對(duì)應(yīng),以描述該用況的細(xì)節(jié)內(nèi)容。每一個(gè)用況的用況規(guī)約,都應(yīng)該包含以下內(nèi)容:v(1) 用況名稱(Use Case Name).用況的名稱一般由“動(dòng)詞+名詞”構(gòu)成,簡(jiǎn)單說明“做什么”。v(2) 簡(jiǎn)要說明(Brief Description).簡(jiǎn)要介紹該用況的作用和目的。v(3) 前置條件(Previous Condition).系

16、統(tǒng)在執(zhí)行該用況前必須處在的狀態(tài)。v(4) 事件流(Flow of Event) v(5) 用況場(chǎng)景(Use Case Scenario).包括成功場(chǎng)景和失敗場(chǎng)景,場(chǎng)景主要由基本流和備選流組合而成。v(6) 特殊需求(Special Requirement).描述與該用況相關(guān)的非功能性需求(性能、可靠性、可用性和可擴(kuò)展性等)以及涉及約束(所使用的操作系統(tǒng)、開發(fā)工具等)。v(7) 后置條件(Post Condition).系統(tǒng)在執(zhí)行完該用況之后應(yīng)該處在的狀態(tài) 。 18用況建模 v 1創(chuàng)建用況圖v (1) 選定瀏覽器窗口中的【Use Case View】;v (2) 單擊鼠標(biāo)右鍵,在彈出的快捷菜單中

17、選擇【New】;v (3) 在菜單【New】產(chǎn)生的下級(jí)菜單中選擇要新建的圖【Use Case Diagram】。v 以上步驟如圖2-19所示,生成的用況圖,如圖2-20所示。 19用況圖 20用況建模v 2設(shè)定編輯區(qū)工具欄v 用戶可以根據(jù)自己的需要,往當(dāng)前編輯區(qū)工具欄中添加按鈕,用戶可以根據(jù)以下兩種方法打開“自定義工具欄”:v (1) 選定編輯區(qū)工具欄,單擊鼠標(biāo)右鍵,選擇【Customize.】,即跳出如圖2-21的對(duì)話框;v (2) 選擇菜單【View】,單擊【Toolbars】,在出現(xiàn)的下級(jí)菜單中選擇【Configure.】, 彈出如圖2-21所示對(duì)話框。v 3創(chuàng)建參與者、用況v 參與者、

18、用況、以及兩者的關(guān)系,是用況圖的主要組成元素。v 下面有兩種方式創(chuàng)建用況圖所需的元素:v (1) 單擊編輯區(qū)工具欄的圖標(biāo),然后在編輯區(qū)單擊鼠標(biāo)左鍵;v (2) 在瀏覽器窗口中創(chuàng)建所需要的元素,將瀏覽器中的元素拖動(dòng)編輯區(qū) 21圖2-21 定義工具欄 22網(wǎng)上求職招聘系統(tǒng)用況建模案例分析1.對(duì)系統(tǒng)的求職者模塊進(jìn)行用況建模 232.對(duì)系統(tǒng)的招聘者模塊進(jìn)行用況建模 243.對(duì)系統(tǒng)的管理員模塊進(jìn)行用況建模 254.對(duì)系統(tǒng)總體功能進(jìn)行建模 265.建立用況規(guī)約(Use Case Specification) v 下面以求職者模塊中的“修改密碼”用況為例,創(chuàng)建它的用況規(guī)約:v 在用況“修改密碼”上單擊鼠標(biāo)右

19、鍵,選擇菜單【Open Specification.】,從而打開如圖2-26所示對(duì)話框。用戶可以在用況屬性設(shè)置標(biāo)簽中對(duì)一些屬性進(jìn)行設(shè)置。v Name(名稱):設(shè)置用況的名稱;v Stereotype(類型):用況的類型;v Rank(級(jí)別):對(duì)用況進(jìn)行層次劃分;v 在圖2-26所示的用況屬性設(shè)置窗口中,我們通常將用況規(guī)約寫在【Documentation】對(duì)象窗口中,用況“修改密碼”的用況規(guī)約如表2-3所示。 27圖2-26用況屬性設(shè)置窗口 286.創(chuàng)建活動(dòng)圖描述用況 29用Rational Rose設(shè)計(jì)領(lǐng)域模型 v 領(lǐng)域模型是什么?它是某行業(yè)領(lǐng)域內(nèi)現(xiàn)實(shí)世界概念類的一種表示,而不是軟件組件的一種

20、表示。領(lǐng)域模型不是描述軟件類的圖集,也不是有著職責(zé)的軟件對(duì)象。通俗地說,領(lǐng)域模型是某行業(yè)領(lǐng)域相關(guān)的實(shí)體的集合,是某行業(yè)領(lǐng)域中的任何事物或者是人的可視化的表示,它關(guān)注的是實(shí)體本身,而不在于它們的屬性和操作。v 領(lǐng)域模型是概念類或者系統(tǒng)相關(guān)的對(duì)象的可視化表示。領(lǐng)域模型一般包含的元素有:概念類、概念類之間的關(guān)聯(lián)、概念類的基本屬性。v 由此可見,領(lǐng)域模型有點(diǎn)類似于概念數(shù)據(jù)模型,即有點(diǎn)類似于實(shí)體關(guān)系圖(或E-R模型)。v 創(chuàng)建領(lǐng)域模型,實(shí)際上就是在建立類圖(Class Diagram),操作方法如下:v 選定瀏覽器窗口中的用況視圖,單擊鼠標(biāo)右鍵,選擇菜單【New】,在下級(jí)菜單中選擇【Class Diag

21、ram】菜單項(xiàng) 30使用Rational Rose建立領(lǐng)域模型 v 打開新建的領(lǐng)域模型,即類圖,在編輯區(qū)工具欄中單擊【Class】按鈕,在編輯區(qū)單擊任何位置。如果要對(duì)類進(jìn)行劃分,可以在瀏覽器窗口中創(chuàng)建類所在的包,然后在包中創(chuàng)建相關(guān)的類。類圖如圖2-28所示。 v 類之間的最為常見的關(guān)系有4種:關(guān)聯(lián)、泛化、聚合、依賴。關(guān)聯(lián)是描述相關(guān)的兩個(gè)事物之間進(jìn)行通信的一種關(guān)系。類之間的關(guān)聯(lián)(Association)關(guān)系具有一些屬性,用戶可以根據(jù)需要,在圖2-29所示的關(guān)聯(lián)關(guān)系屬性設(shè)置對(duì)話框中進(jìn)行設(shè)置。 31領(lǐng)域模型窗口 32網(wǎng)上求職招聘系統(tǒng)的領(lǐng)域模型案例分析 1創(chuàng)建求職者領(lǐng)域模型 332添加屬性,完整的求職

22、者領(lǐng)域模型如圖2-31所示 34用Rational Rose設(shè)計(jì)類模型和包圖 v 建立類模型和包圖,是靜態(tài)角度來分析系統(tǒng)的。因此,類圖和包圖實(shí)際上都屬于系統(tǒng)的靜態(tài)模型。這一節(jié)我們將討論如何在Rational Rose的邏輯視圖中,創(chuàng)建類以及如何將類組織成包。v 類圖(Class Diagram)是面向?qū)ο笙到y(tǒng)的核心,它的主要元素包括類、對(duì)象、接口以及它們之間的關(guān)系。 v 對(duì)一個(gè)復(fù)雜的面向?qū)ο蟮南到y(tǒng)進(jìn)行建模,我們需要建立大量的類、接口、關(guān)聯(lián)以及UML圖,以達(dá)到確定系統(tǒng)需求以及系統(tǒng)設(shè)計(jì)的目的。如果將這些元素凌亂、分散地放在用況視圖(Use Case View)、邏輯視圖(Logical View)

23、、組件視圖(Component View)中,就會(huì)對(duì)維護(hù)和控制系統(tǒng)的需求和總體結(jié)構(gòu)造成很大的麻煩。設(shè)計(jì)一些良好的包,將建模過程中的元素有效地組織起來,就可以保證高內(nèi)聚和低耦合。同時(shí)通過控制包的可見性,就能有效地控制對(duì)包中的內(nèi)容的訪問。v 包圖的元素包括包、包與包之間的聯(lián)系,包圖實(shí)際上是通過類圖(Class Diagram)來實(shí)現(xiàn)。 35創(chuàng)建類圖 36創(chuàng)建包圖 Entity PackageBoundary PackageController Package37網(wǎng)上求職招聘系統(tǒng)類圖和包圖案例分析 v 該類圖有7個(gè)實(shí)體類:v UserBean(用戶實(shí)體)v PersonBean(求職者實(shí)體)v Co

24、mpanyBean(企業(yè)實(shí)體)v AdminBean(管理員實(shí)體)v ApplyInfoBean(求職信息實(shí)體)v NewsBean(新聞實(shí)體)v JobInfoBean(招聘信息實(shí)體)v 圖中只展示了它們之間存在的主要關(guān)系:對(duì)于PersonBean、CompanyBean、AdminBean而言,他們首先都是用戶,因此他們與UserBean之間存在泛化關(guān)系。PersonBean與ApplyInfoBean之間存在“(release)發(fā)布”關(guān)聯(lián)關(guān)系;AdminBean與NewBean之間存在“manage(管理)”關(guān)聯(lián)關(guān)系;CompanyBean與JobInfoBean之間存在“發(fā)布(puto

25、ut)”關(guān)聯(lián)關(guān)系。 3839類與代碼的對(duì)應(yīng)關(guān)系v 在Rational Rose中,上述的實(shí)體類可以使用正向工程生成與之對(duì)應(yīng)的代碼。操作過程如下:v (1) 選擇類框圖中需要生成代碼的類;v (2) 單擊【Tools】菜單,選擇【Java/J2EE】菜單項(xiàng),在其下級(jí)菜單中選擇【Generate Code】,可以看到如圖2-35所示對(duì)話框;v (3) 單擊【Assign】按鈕,將Rose中的類部署到類路徑(該路徑可以通過單擊【Edit.】按鈕來設(shè)置);v (4) 單擊【OK】按鈕,生成代碼框架;v (5) 代碼生成完畢。v 網(wǎng)上求職招聘系統(tǒng)分為三個(gè)模塊:求職者模塊、招聘者模塊、管理員模塊。每個(gè)模塊

26、的設(shè)計(jì)都是按照MVC架構(gòu)設(shè)計(jì)的:邊界類包集合了表現(xiàn)層的所有類(邊界類);控制包集合了控制層的所有類(控制類);實(shí)體包集合了所有業(yè)務(wù)邏輯層和數(shù)據(jù)的類(實(shí)體類)。 40圖 2-35 生成代碼 41用Rational Rose設(shè)計(jì)系統(tǒng)動(dòng)態(tài)模型 v 系統(tǒng)的動(dòng)態(tài)模型有點(diǎn)類似于“業(yè)務(wù)模型”,它描述了系統(tǒng)隨時(shí)間變化的行為,這些行為是用從靜態(tài)模型中抽取的系統(tǒng)的瞬間值的變化來描述的。v 在UML的表現(xiàn)上,動(dòng)態(tài)模型主要是建立系統(tǒng)的交互圖(Interaction Diagram)和行為圖。v 交互圖包括時(shí)序圖和協(xié)作圖;v 行為圖包括狀態(tài)圖和活動(dòng)圖。v 交互圖描述了一個(gè)交互,它由一組對(duì)象和它們之間的關(guān)系組成,并且還包

27、括在對(duì)象之間傳遞的消息。 42動(dòng)態(tài)模型v 系統(tǒng)的動(dòng)態(tài)模型有點(diǎn)類似于“業(yè)務(wù)模型”,它描述了系統(tǒng)隨時(shí)間變化的行為,這些行為是用從靜態(tài)模型中抽取的系統(tǒng)的瞬間值的變化來描述的。v 在UML的表現(xiàn)上,動(dòng)態(tài)模型主要是建立系統(tǒng)的交互圖(Interaction Diagram)和行為圖。v 交互圖包括時(shí)序圖和協(xié)作圖;行為圖包括狀態(tài)圖和活動(dòng)圖。交互圖描述了一個(gè)交互,它由一組對(duì)象和它們之間的關(guān)系組成,并且還包括在對(duì)象之間傳遞的消息。 43理解時(shí)序圖 v 時(shí)序圖又叫順序圖,它是強(qiáng)調(diào)消息時(shí)間順序的交互圖,描述了類以及類間相互交換以完成期望行為的消息。時(shí)序圖一般包括如下元素:類角色、生命線、激活期和消息。v (1) 類

28、角色(Class Role). 類角色代表時(shí)序圖中的對(duì)象在交互中所扮演的角色。類角色一般代表實(shí)際的對(duì)象。v (2) 生命線(Lifeline). 生命線代表時(shí)序圖中的對(duì)象在一段時(shí)期內(nèi)的存在。每個(gè)對(duì)象底部中心都有一條垂直的虛線,這就是對(duì)象的生命線,對(duì)象間的消息存在于兩條虛線間。v (3) 激活期(Actiation). 激活期代表時(shí)序圖中的對(duì)象執(zhí)行一項(xiàng)操作的時(shí)期。每條生命線上的窄的矩形代表活動(dòng)期。v (4) 消息(Message). 消息是定義交互和協(xié)作中交換信息的類,用于對(duì)實(shí)體間的通信內(nèi)容建模。信息用于在實(shí)體間傳遞信息,允許實(shí)體請(qǐng)求其他的服務(wù),類角色通過發(fā)送和接收信息進(jìn)行通信。 44網(wǎng)上求職招

29、聘系統(tǒng)的登錄操作時(shí)序圖 45時(shí)序圖建模要點(diǎn) v (1) 設(shè)置交互的語境,這些語境可以是系統(tǒng)、子系統(tǒng)、操作、類、用況和協(xié)作的一個(gè)腳本。v (2) 通過識(shí)別對(duì)象在交互中扮演的角色,根據(jù)對(duì)象的重要性,將其從左向右的方向放在時(shí)序圖中。v (3) 設(shè)置每個(gè)對(duì)象的生命線。一般情況下,對(duì)象存在于交互的整個(gè)過程,但它也可以在交互過程中創(chuàng)建和撤銷。v (4) 從引發(fā)某個(gè)交互的消息開始,在生命線之間按自上而下的順序畫出隨后的消息。v (5) 設(shè)置對(duì)象的激活期,這可以可視化實(shí)際計(jì)算發(fā)生時(shí)的時(shí)間點(diǎn)、可視化消息的嵌套。v (6) 如果需要設(shè)置時(shí)間或者空間的約束,可以為每個(gè)消息附上合適的時(shí)間和空間的約束。v (7) 給某

30、控制流的每個(gè)消息附上前置條件或者后置條件,這可以更詳細(xì)地說明這個(gè)控制流。 46理解協(xié)作圖 v 。協(xié)作圖只對(duì)相互間有交互作用的對(duì)象和這些對(duì)象間的關(guān)系建模,而忽略了其他對(duì)象和關(guān)聯(lián)。v 協(xié)作圖一般包括如下元素:類角色、關(guān)聯(lián)角色和消息流。v (1) 類角色(Class Role)v 類角色代表協(xié)作圖中對(duì)象在交互中所扮演的角色,矩形中的對(duì)象代表類角色。類角色的代表參與交互的對(duì)象,它的命名方式和對(duì)象的命名方式一樣。v (2) 關(guān)聯(lián)角色(Association Role)v 關(guān)聯(lián)角色代表協(xié)作圖中連接在交互中所扮演的角色。連接(即連線或路徑)代表關(guān)聯(lián)角色。v (3) 消息流(Message Flow)v 消息

31、流代表協(xié)作圖中對(duì)象間通過連接發(fā)送的消息。 47網(wǎng)上求職招聘系統(tǒng)的登錄操作協(xié)作圖 : User : input.jsp : VerifyServlet : UserBean : UserDataBean 1: inputInfo2: verify()3: newUser()5: findUser()6: returnFindResult()4: returnUser()48協(xié)作圖建模要點(diǎn)v (1) 設(shè)置交互的語境,語境可以是系統(tǒng)、子系統(tǒng)、操作、類、用況或用況的腳本。v (2) 通過識(shí)別對(duì)象在交互中所扮演的角色,開始繪制協(xié)作圖,把這些對(duì)象作為圖的頂點(diǎn)放在協(xié)作圖中。v (3) 在識(shí)別了協(xié)作圖對(duì)象之后

32、,為每個(gè)對(duì)象設(shè)置初始值,如果某對(duì)象的屬性值、標(biāo)記值、狀態(tài)或角色在交互期發(fā)生變化,則在圖中放置一個(gè)復(fù)制對(duì)象,并用變化后的值更新它,然后通過構(gòu)造型或的消息將兩者連接。v (4) 設(shè)置了對(duì)象的初始值后,根據(jù)對(duì)象間的關(guān)系開始確定對(duì)象間鏈接。一般先確定關(guān)聯(lián)的鏈接,因?yàn)檫@是最主要的,它代表了結(jié)構(gòu)的鏈接。v (5) 從引起交互的消息開始,按消息的順序,把隨后的消息附到適當(dāng)?shù)逆溄由?,這描述了對(duì)象之間消息傳遞,可以用帶小數(shù)點(diǎn)的編號(hào)來表達(dá)嵌套。v (6) 如果需要說明時(shí)間或空間的約束,可以用適當(dāng)?shù)臅r(shí)間或空間約束來修飾每個(gè)消息。v (7) 在建模中,如果想更詳細(xì)地描述這個(gè)控制流,可以為交互過程的每個(gè)消息附上前置條件

33、和后置條件。 49理解狀態(tài)圖v 狀態(tài)圖是UML中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的圖之一。狀態(tài)圖是通過類對(duì)象的生命周期模型,來描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為。狀態(tài)圖顯示了一個(gè)狀態(tài)機(jī),它基本上是一個(gè)狀態(tài)機(jī)中的元素的一個(gè)投影,這就意味著狀態(tài)圖包括狀態(tài)機(jī)的所有特性。狀態(tài)圖和其他圖的區(qū)別在于它的內(nèi)容。狀態(tài)圖通常包括如下內(nèi)容:狀態(tài)、轉(zhuǎn)換 。v (1) 狀態(tài)v 狀態(tài)定義對(duì)象在其生命周期中的條件或狀況,在此期間,對(duì)象滿足某些條件,執(zhí)行某些操作或等待某些事件。狀態(tài)用于對(duì)實(shí)體在其生命周期中的狀況建模。v (2) 轉(zhuǎn)換v 轉(zhuǎn)換包括事件和動(dòng)作。事件是發(fā)生在時(shí)間空間上的一點(diǎn)值得注意的事情。動(dòng)作是原子性的,它通常表示一個(gè)簡(jiǎn)短的計(jì)算處理

34、過程(如賦值操作或算術(shù)計(jì)算)。 50使用Rational Rose建立用戶登陸狀態(tài)圖 51狀態(tài)圖建模要點(diǎn) v (1) 識(shí)別一個(gè)要對(duì)其生命周期進(jìn)行描述的參與行為的類;v (2) 對(duì)狀態(tài)建模,即確定對(duì)象可能存在的狀態(tài);v (3) 對(duì)事件建模,即確定對(duì)象可能存在的事件;v (4) 對(duì)動(dòng)作建模,即確定當(dāng)轉(zhuǎn)變被激活時(shí),相應(yīng)被執(zhí)行的動(dòng)作;v (5) 對(duì)建模結(jié)果進(jìn)行精化和細(xì)化。 52理解活動(dòng)圖 v 活動(dòng)圖(Activity Diagram)主要描述操作(方法)實(shí)現(xiàn)中所完成的工作及用況實(shí)例或?qū)ο笾械幕顒?dòng)。它是狀態(tài)圖的一個(gè)變種,與狀態(tài)圖的區(qū)別是:活動(dòng)圖的主要目的是描述動(dòng)作(執(zhí)行的動(dòng)作和活動(dòng))及對(duì)象改變的結(jié)果;活

35、動(dòng)圖中的動(dòng)作可以放在泳道中,泳道聚合一組活動(dòng),并指定負(fù)責(zé)人和所屬組織。v 主要元素有:v (1) 泳道(Swimlane) v (2) 活動(dòng)(Activity) v (3) 狀態(tài)轉(zhuǎn)移(State Transition) v (4) 決定(Decision) 53用Rational Rose建立求職者模塊中的“搜索工作”活動(dòng)圖 54活動(dòng)圖建模要點(diǎn) v 在建模的過程中,我們通常通過以下步驟實(shí)現(xiàn):v (1) 識(shí)別要對(duì)其工作流進(jìn)行描述的類;v (2) 對(duì)動(dòng)態(tài)狀態(tài)建模;v (3) 對(duì)動(dòng)作流建模;v (4) 對(duì)對(duì)象建模;v (5) 對(duì)建模結(jié)果進(jìn)行細(xì)化。v 系統(tǒng)的動(dòng)態(tài)模型建模,有點(diǎn)類似于“業(yè)務(wù)模型”建模。在

36、“功能模型、業(yè)務(wù)模式、數(shù)據(jù)模型”中,我們已經(jīng)介紹了兩個(gè),剩下的數(shù)據(jù)模型建模,將在下一節(jié)中介紹。 55用Rational Rose進(jìn)行數(shù)據(jù)建模 v Rational Rose不僅支持需求階段對(duì)系統(tǒng)進(jìn)行功能建模,支持設(shè)計(jì)階段對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),而且還支持持久層數(shù)據(jù)庫建模,即“數(shù)據(jù)模型” 建模。利用Rational Rose中的 Data Modeler,可以進(jìn)行數(shù)據(jù)庫建模,它允許將UML對(duì)象模型用作邏輯模型,將數(shù)據(jù)模型用作物理模型,并協(xié)助用戶保持這兩者之間的同步。 56創(chuàng)建數(shù)據(jù)模型的主要步驟 v (1) 創(chuàng)建一個(gè)數(shù)據(jù)庫;v (2) 創(chuàng)建一個(gè)支持?jǐn)?shù)據(jù)建模的schema,并且將該計(jì)劃指派給數(shù)據(jù)庫;v

37、(3) 創(chuàng)建域包和域;v (4) 創(chuàng)建表;v (5) 在表中創(chuàng)建一些詳細(xì)的要素(約束、觸發(fā)器、索引、主鍵);v (6) 添加表之間的關(guān)系和外鍵;v (7) 創(chuàng)建視圖(view);v (8) 基于數(shù)據(jù)模型生成對(duì)象模型;v (9) 生成數(shù)據(jù)庫;v (10) 在更新一些元素過程中保持?jǐn)?shù)據(jù)庫和數(shù)據(jù)模型的同步。 v 上述步驟不是都是必須的,但創(chuàng)建數(shù)據(jù)庫和計(jì)劃是必須要做的。 57對(duì)網(wǎng)上招聘系統(tǒng)的用戶進(jìn)行數(shù)據(jù)建模 58數(shù)據(jù)模型和對(duì)象模型的轉(zhuǎn)換 v Rational Rose可以由一個(gè)數(shù)據(jù)模型自動(dòng)生成一個(gè)對(duì)象模型,同時(shí)也可以由一個(gè)對(duì)象模型自動(dòng)生成一個(gè)數(shù)據(jù)模型。Rational Rose的這一特性保證了數(shù)據(jù)的一

38、致性。v 由數(shù)據(jù)模型生成對(duì)象模型的一步驟如下:v (1) 展開瀏覽器窗口中的邏輯視圖,打開【Schemas】包,選定要進(jìn)行轉(zhuǎn)化的數(shù)據(jù)模型所在的計(jì)劃(schema);v (2) 單擊鼠標(biāo)右鍵,選擇【Data Modeler】選項(xiàng),在下級(jí)菜單中選擇【Transform to Object Model】選項(xiàng),出現(xiàn)如圖2-52所示對(duì)話框;v (3) 在對(duì)話框中輸入目標(biāo)對(duì)象模型包的名字以及它的前綴; v (4) 單擊【OK】按鈕,生成對(duì)象模型,如圖2-53所示;v 由對(duì)象模型生成數(shù)據(jù)模型,是數(shù)據(jù)模型生成對(duì)象模型的逆過程,請(qǐng)讀者自行練習(xí)一下。 59圖2-52 數(shù)據(jù)模型生成對(duì)象模型 60由數(shù)據(jù)模型生成數(shù)據(jù)庫 v 使用Rational Rose,可以在任何時(shí)候從數(shù)據(jù)模型中導(dǎo)出數(shù)據(jù)庫或者是數(shù)據(jù)庫定義語言DDL的腳本。由數(shù)據(jù)模型生成數(shù)據(jù)庫的一般過程為:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論