Rose建模實踐指南ppt課件_第1頁
Rose建模實踐指南ppt課件_第2頁
Rose建模實踐指南ppt課件_第3頁
Rose建模實踐指南ppt課件_第4頁
Rose建模實踐指南ppt課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第第2 2章章Rational RoseRational Rose建模實際指南建模實際指南 2本章導讀本章導讀 nRational RoseRational Rose是面向對象分析與設計建模最好的是面向對象分析與設計建模最好的工具,它的運用領域寬,運用時間長,也較為成工具,它的運用領域寬,運用時間長,也較為成熟,但是在國內普及面不廣。當前,它是熟,但是在國內普及面不廣。當前,它是ITIT企業企業常用的常用的CASECASE工具之一,計算機及軟件專業方向的工具之一,計算機及軟件專業方向的大學生、研討生和軟件工程師必需學會它,掌握大學生、研討生和軟件工程師必需學會它,掌握它,并用它來處理面向對象

2、分析與設計建模的實它,并用它來處理面向對象分析與設計建模的實踐問題。踐問題。nRational RoseRational Rose的實際根底是一致建模言語的實際根底是一致建模言語UMLUML,在學習在學習Rational RoseRational Rose之前,必需對之前,必需對UMLUML有所了解。有所了解。由于由于UMLUML本身也較為復雜,所以學習本身也較為復雜,所以學習Rational Rational RoseRose比學習比學習PowerDesignePowerDesigne要困難得多。但是,天要困難得多。但是,天下無難事,只需肯攀爬!下無難事,只需肯攀爬!3本章對讀者的要求本章對

3、讀者的要求 要要 求求具具 體體 內內 容容了了 解解1Rational Rose的開展歷史的開展歷史2Rational Rose的安裝與啟動的安裝與啟動3Rational Rose的任務界面及圖標的任務界面及圖標理理 解解1Rational Rose與與UML之間的關系之間的關系2Rational Rose逆向工程逆向工程3Java代碼逆向工程代碼逆向工程掌掌 握握1用用Rational Rose設計用況模型設計用況模型2用用Rational Rose設計領域模型設計領域模型3用用Rational Rose設計類模型和包圖設計類模型和包圖4用用Rational Rose設計系統動態模型設計系

4、統動態模型5用用Rational Rose進展數據建模進展數據建模4Rational Rose概述概述n處理面向對象問題的中心是建模,即建處理面向對象問題的中心是建模,即建立系統的立系統的Rose模型。軟件系統內部的高模型。軟件系統內部的高內聚、低耦合程度以及維護本錢是軟件內聚、低耦合程度以及維護本錢是軟件設計的所關注的問題,設計的所關注的問題,Rational Rose是基于是基于UML而產生的,是軟件開發過程而產生的,是軟件開發過程中的不可或缺的一個建模工具。中的不可或缺的一個建模工具。 5Rational Rose主要特點主要特點n支持多種言語支持多種言語,如如Ada、CORBA、Vis

5、ual Basic、Java等;等; n支持模型的支持模型的Internet發布;發布;n可以生成簡單、明晰且定制靈敏的文檔;可以生成簡單、明晰且定制靈敏的文檔;n雙向工程保證了模型和代碼高度一致;雙向工程保證了模型和代碼高度一致;n支持逆向工程,建立代碼框架;支持逆向工程,建立代碼框架;n支持多種關系型數據庫的建模;支持多種關系型數據庫的建模;n從需求分析到測試,在整個軟件生命周期從需求分析到測試,在整個軟件生命周期中,都為團隊開發提供強有力的支持。中,都為團隊開發提供強有力的支持。6Rational Rose的作用的作用n整個開發團隊可以運用用況圖,來獲得一個系統高整個開發團隊可以運用用況

6、圖,來獲得一個系統高層次的視圖,并且可以協商工程的范疇;層次的視圖,并且可以協商工程的范疇;n工程經理可以運用用況圖和文檔,把工程分解成便工程經理可以運用用況圖和文檔,把工程分解成便于管理的多個模塊;于管理的多個模塊;n系統分析員和客戶在看到用況規格描畫文檔的時候,系統分析員和客戶在看到用況規格描畫文檔的時候,就可以明白系統將會提供什么樣的功能;就可以明白系統將會提供什么樣的功能;n技術編寫者在看到用況規格描畫文檔時,就可以著技術編寫者在看到用況規格描畫文檔時,就可以著手編寫用戶手冊和培訓方案;手編寫用戶手冊和培訓方案;n系統分析員和軟件開發者在看到時序圖和協作圖時,系統分析員和軟件開發者在看

7、到時序圖和協作圖時,就可以明白整個系統的邏輯流程、對象以及對象之就可以明白整個系統的邏輯流程、對象以及對象之間的音訊;間的音訊;7Rational Rose的作用的作用n質量檢測員可以運用用況文檔、時序圖、協作圖獲質量檢測員可以運用用況文檔、時序圖、協作圖獲得測試腳本所需求的信息;得測試腳本所需求的信息;n軟件開發人員運用類圖和形狀圖,可以獲得系統模軟件開發人員運用類圖和形狀圖,可以獲得系統模塊的詳細視圖以及模塊之間的關系;塊的詳細視圖以及模塊之間的關系;n部署人員在運用組件圖和部署圖時,就可以明白哪部署人員在運用組件圖和部署圖時,就可以明白哪些是可執行文件或些是可執行文件或DLL文件,以及其

8、他的一些組件文件,以及其他的一些組件是如何創建的,這些組件該部署在網絡中哪些地方;是如何創建的,這些組件該部署在網絡中哪些地方;n整個團隊運用整個團隊運用Rose模型,就可以確定從需求到編模型,就可以確定從需求到編碼的整個過程,并且從編碼到需求這個逆過程也是碼的整個過程,并且從編碼到需求這個逆過程也是可以追蹤的。可以追蹤的。8安裝安裝Rational Rose Rational Rose n(1) (1) 雙擊雙擊Rational Rose 2019Rational Rose 2019的安裝程序,進入安裝界面,如圖的安裝程序,進入安裝界面,如圖2-12-1所示;所示;n(2) (2) 單擊【下

9、一步】按鈕,進入如圖單擊【下一步】按鈕,進入如圖2-22-2所示界面,此時用戶可以選擇要安裝所示界面,此時用戶可以選擇要安裝的產品,普通選擇的產品,普通選擇“Rational Rose Enterprise Edition“Rational Rose Enterprise Edition ;n(3) (3) 單擊【下一步】按鈕,進入如圖單擊【下一步】按鈕,進入如圖2-32-3所示界面,在圖所示界面,在圖2-32-3中選擇中選擇“Desktop “Desktop installation from CDinstallation from CD選項,表示創建一個本地的運用程序而不是網絡的;選項,表

10、示創建一個本地的運用程序而不是網絡的;n(4) (4) 單擊【下一步】按鈕,進入安裝導游界面,如圖單擊【下一步】按鈕,進入安裝導游界面,如圖2-42-4所示;所示;n(5) (5) 單擊【單擊【NextNext】按鈕,進入產品聲明界面,如圖】按鈕,進入產品聲明界面,如圖2-52-5所示;所示;n(6) (6) 單擊【單擊【NextNext】按鈕,進入協議答應界面,如圖】按鈕,進入協議答應界面,如圖2-62-6所示;所示; n(7) (7) 單擊【單擊【NextNext】按鈕,進入安裝途徑設置界面,如圖】按鈕,進入安裝途徑設置界面,如圖2-72-7所示,單擊所示,單擊“Change“Change

11、按鈕設置安裝途徑;按鈕設置安裝途徑;n(8) (8) 單擊【單擊【NextNext】按鈕,進入安裝設置界面,如圖】按鈕,進入安裝設置界面,如圖2-82-8所示;所示; n(9) (9) 單擊【單擊【NextNext】按鈕,進入開場安裝界面,如圖】按鈕,進入開場安裝界面,如圖2-92-9所示;所示;n(10) (10) 單擊【單擊【InstallInstall】按鈕,開場拷貝文件到安裝目錄,如圖】按鈕,開場拷貝文件到安裝目錄,如圖2-102-10所示;所示; n(11) (11) 安裝終了,將自動彈出如圖安裝終了,將自動彈出如圖2-112-11所示對話框,用戶必需對該軟件進展注所示對話框,用戶必

12、需對該軟件進展注冊方能運用該軟件;冊方能運用該軟件;n(12) (12) 安裝勝利,進入安裝勝利,進入Rational RoseRational Rose界面,如圖界面,如圖2-122-12所示。所示。 9安裝界面安裝界面 10Rational RoseRational Rose的運用的運用 nRose Rose 是菜單驅動式的是菜單驅動式的CASECASE工具,可以經過工具工具,可以經過工具欄運用其常用功能,如圖欄運用其常用功能,如圖2-132-13所示。所示。nRoseRose支持支持8 8種不同類型的種不同類型的UMLUML圖:圖:n用況圖用況圖Use Case DiagramUse C

13、ase Diagramn活動圖活動圖(Activity Diagram)(Activity Diagram)n時序圖時序圖Sequence DiagramSequence Diagramn協作圖協作圖(Collaboration Diagram)(Collaboration Diagram)n類圖類圖(Class Diagram)(Class Diagram)n形狀圖形狀圖(Statechart Diagram)(Statechart Diagram)n組件圖組件圖Component DiagramComponent Diagramn部署圖部署圖(Deployment Diagram)(Dep

14、loyment Diagram)。 11RoseRose界面簡介界面簡介 nRoseRose主界面如圖主界面如圖2-132-13所示,它由所示,它由5 5個部分組成:個部分組成:n(1) Browser(1) Browser窗口窗口: : 閱讀器窗口,用于快速啟閱讀器窗口,用于快速啟動模型;動模型;n(2) Documentation(2) Documentation窗口:文檔窗口,用于快窗口:文檔窗口,用于快速訪問通用命令;速訪問通用命令;n(3) Diagram(3) Diagram窗口:編輯區,用于顯示和編輯窗口:編輯區,用于顯示和編輯多個多個UMLUML圖;圖;n(4) (4) 日志窗

15、口:用于觀看錯誤和各種各樣命日志窗口:用于觀看錯誤和各種各樣命令的結果報告;令的結果報告;n(5) (5) 工具欄窗口:顯示有關工具圖標。工具欄窗口:顯示有關工具圖標。 12圖圖2-13 Rose2-13 Rose的主界面的主界面 13RoseRose建模簡介建模簡介 nRoseRose創建的模型文件后綴名為創建的模型文件后綴名為.mdl.mdl,模型的創建的普通步驟,模型的創建的普通步驟: :n(1) (1) 創建模型創建模型n點擊菜單欄中【點擊菜單欄中【FileFile】項,選擇【】項,選擇【NewNew】選項,或者直接點擊規范菜單欄】選項,或者直接點擊規范菜單欄中的【中的【Create

16、New Model or FileCreate New Model or File】按鈕;】按鈕;n彈出如圖彈出如圖2-132-13所示的對話框,選擇要用到的框架,單擊【所示的對話框,選擇要用到的框架,單擊【OKOK】按鈕,或】按鈕,或者【者【CancelCancel】按鈕。】按鈕。n(2) (2) 保管模型保管模型n保管模型是創建模型的逆過程,點擊菜單欄中【保管模型是創建模型的逆過程,點擊菜單欄中【FileFile】項,選擇【】項,選擇【SaveSave】選項,或者直接點擊規范菜單欄中的【選項,或者直接點擊規范菜單欄中的【Save Model,File,or ScriptSave Model

17、,File,or Script】按】按鈕;鈕;n(3) (3) 發布模型發布模型n點擊菜單欄中的【點擊菜單欄中的【ToolsTools】項,選擇【】項,選擇【Web Publisher.Web Publisher.】項,跳出如圖】項,跳出如圖2-142-14所示對話框;所示對話框;n在圖在圖2-142-14中,選擇要發布到中,選擇要發布到webweb頁面上的內容和頁面上的內容和HTMLHTML頁面要保管的位置,頁面要保管的位置,單擊【單擊【PublishPublish】按鈕,】按鈕,RoseRose模型就發布到模型就發布到webweb頁面上,翻開所保管頁面上,翻開所保管的的.html.html

18、文件,就可以看到文件,就可以看到RoseRose模型,如圖模型,如圖2-152-15所示。所示。 14發布模型和保管發布模型和保管.html.html文件的窗口文件的窗口 15用用Rational RoseRational Rose設計用況模型設計用況模型 n用況模型用況模型(Use Case Model)(Use Case Model)又稱為用例模型,又稱為用例模型,它是一切用況、參與者以及相關關系的集合,它是一切用況、參與者以及相關關系的集合,是關于系統功能和環境的模型。一個用況就是是關于系統功能和環境的模型。一個用況就是系統要實現的一項功能,即使用用況來描畫系系統要實現的一項功能,即使用

19、用況來描畫系統要做什么。用況模型是軟件需求分析結果的統要做什么。用況模型是軟件需求分析結果的可視化表示。可視化表示。n另外,參考文獻另外,參考文獻1 1中所講的中所講的“業務模型、功業務模型、功能模型、數據模型這三個模型的建模思想與能模型、數據模型這三個模型的建模思想與建模方法論,也可以用建模工具建模方法論,也可以用建模工具Rational RoseRational Rose來加以實現。來加以實現。 16了解用況模型中的元素了解用況模型中的元素 n1用況圖(Use Case Diagram) n確定系統中所包含的參與者、用況和兩者之間或其本身的關系,用況圖是基于系統要實現的功能的一個可視化描畫

20、。n(1) 參與者(Actor)n(2) 用況(Use Case)n用況是用來描畫參與者運用系統,以到達某個目的時所涉及到的一系列的場景的集合。一個用況的中心并不是上述的圖標,而是一個規格化的表達型文檔,它描畫了參與者要實現某項功能的事件流程,展現和表達了其所描畫的過程中的需求情況。用況稱號普通以“做什么即“動賓詞組方式來命名。 n(3) 用況和參與者及本身的關系n泛化關系(generalization) n包含關系(include) n擴展關系(extend) 17了解用況模型中的元素了解用況模型中的元素n2. 2. 用況規約用況規約(Use Case Specification)(Use

21、Case Specification)n所謂規約,就是業務規那么的規格闡明。針對每一個用況,都應該有一個用況所謂規約,就是業務規那么的規格闡明。針對每一個用況,都應該有一個用況規約文檔與之相對應,以描畫該用況的細節內容。每一個用況的用況規約,都規約文檔與之相對應,以描畫該用況的細節內容。每一個用況的用況規約,都應該包含以下內容:應該包含以下內容:n(1) (1) 用況稱號用況稱號(Use Case Name).(Use Case Name).用況的稱號普通由用況的稱號普通由“動詞動詞+ +名詞構成,簡單名詞構成,簡單闡明闡明“做什么。做什么。n(2) (2) 簡要闡明簡要闡明(Brief De

22、scription).(Brief Description).簡要引見該用況的作用和目的。簡要引見該用況的作用和目的。n(3) (3) 前置條件前置條件(Previous Condition).(Previous Condition).系統在執行該用況前必需處在的形狀。系統在執行該用況前必需處在的形狀。n(4) (4) 事件流事件流(Flow of Event) (Flow of Event) n(5) (5) 用況場景用況場景(Use Case Scenario).(Use Case Scenario).包括勝利場景和失敗場景,場景主要由包括勝利場景和失敗場景,場景主要由根本流和備選流組合而

23、成。根本流和備選流組合而成。n(6) (6) 特殊需求特殊需求(Special Requirement).(Special Requirement).描畫與該用況相關的非功能性需求描畫與該用況相關的非功能性需求( (性性能、可靠性、可用性和可擴展性等能、可靠性、可用性和可擴展性等) )以及涉及約束以及涉及約束( (所運用的操作系統、開發工所運用的操作系統、開發工具等具等) )。n(7) (7) 后置條件后置條件(Post Condition).(Post Condition).系統在執行完該用況之后應該處在的形狀系統在執行完該用況之后應該處在的形狀 。 18用況建模用況建模 n1創建用況圖創建

24、用況圖n(1) 選定閱讀器窗口中的【選定閱讀器窗口中的【Use Case View】;n(2) 單擊鼠標右鍵,在彈出的快捷菜單中選擇單擊鼠標右鍵,在彈出的快捷菜單中選擇【New】;n(3) 在菜單【在菜單【New】產生的下級菜單中選擇要】產生的下級菜單中選擇要新建的圖新建的圖【Use Case Diagram】。】。n以上步驟如圖以上步驟如圖2-19所示,生成的用況圖,如所示,生成的用況圖,如圖圖2-20所示。所示。 19用況圖用況圖 20用況建模用況建模n2 2設定編輯區工具欄設定編輯區工具欄n用戶可以根據本人的需求,往當前編輯區工具欄中添加按鈕,用用戶可以根據本人的需求,往當前編輯區工具欄

25、中添加按鈕,用戶可以根據以下兩種方法翻開戶可以根據以下兩種方法翻開“自定義工具欄:自定義工具欄:n(1) (1) 選定編輯區工具欄,單擊鼠標右鍵,選擇【選定編輯區工具欄,單擊鼠標右鍵,選擇【Customize.Customize.】, ,即跳出如圖即跳出如圖2-212-21的對話框;的對話框;n(2) (2) 選擇菜單【選擇菜單【ViewView】, ,單擊【單擊【ToolbarsToolbars】, ,在出現的下級菜單中在出現的下級菜單中選擇【選擇【Configure.Configure.】, , 彈出如圖彈出如圖2-212-21所示對話框。所示對話框。n3 3創建參與者、用況創建參與者、用

26、況n參與者、用況、以及兩者的關系,是用況圖的主要組成元素。參與者、用況、以及兩者的關系,是用況圖的主要組成元素。n下面有兩種方式創建用況圖所需的元素:下面有兩種方式創建用況圖所需的元素:n(1) (1) 單擊編輯區工具欄的圖標,然后在編輯區單擊鼠標左鍵;單擊編輯區工具欄的圖標,然后在編輯區單擊鼠標左鍵;n(2) (2) 在閱讀器窗口中創建所需求的元素,將閱讀器中的元素拖動在閱讀器窗口中創建所需求的元素,將閱讀器中的元素拖動編輯區編輯區 21圖圖2-21 2-21 定義工具欄定義工具欄 22網上求職招聘系統用況建模案例分析網上求職招聘系統用況建模案例分析1.1.對系統的求職者模塊進展用況建模對系

27、統的求職者模塊進展用況建模 232.對系統的招聘者模塊進展用況建模對系統的招聘者模塊進展用況建模 243.對系統的管理員模塊進展用況建模對系統的管理員模塊進展用況建模 254.對系統總體功能進展建模對系統總體功能進展建模 265.建立用況規約建立用況規約(Use Case Specification) n下面以求職者模塊中的下面以求職者模塊中的“修正密碼用況為例,創建它的用修正密碼用況為例,創建它的用況規約:況規約:n在用況在用況“修正密碼上單擊鼠標右鍵,選擇菜單【修正密碼上單擊鼠標右鍵,選擇菜單【Open Open Specification.Specification.】, ,從而翻開如圖

28、從而翻開如圖2-262-26所示對話框。用戶可所示對話框。用戶可以在用況屬性設置標簽中對一些屬性進展設置。以在用況屬性設置標簽中對一些屬性進展設置。nName(Name(稱號稱號) ):設置用況的稱號;:設置用況的稱號;nStereotype(Stereotype(類型類型) ):用況的類型;:用況的類型;nRank(Rank(級別級別) ):對用況進展層次劃分;:對用況進展層次劃分;n在圖在圖2-262-26所示的用況屬性設置窗口中,我們通常將用況規約所示的用況屬性設置窗口中,我們通常將用況規約寫在【寫在【DocumentationDocumentation】對象窗口中,用況】對象窗口中,用

29、況“修正密碼修正密碼的用況規約如表的用況規約如表2-32-3所示。所示。 27圖圖2-262-26用況屬性設置窗口用況屬性設置窗口 286.創建活動圖描畫用況創建活動圖描畫用況 29用用Rational RoseRational Rose設計領域模型設計領域模型 n領域模型是什么?它是某行業領域內現實世界概念類的一種表示,領域模型是什么?它是某行業領域內現實世界概念類的一種表示,而不是軟件組件的一種表示。領域模型不是描畫軟件類的圖集,而不是軟件組件的一種表示。領域模型不是描畫軟件類的圖集,也不是有著職責的軟件對象。通俗地說,領域模型是某行業領域也不是有著職責的軟件對象。通俗地說,領域模型是某行

30、業領域相關的實體的集合,是某行業領域中的任何事物或者是人的可視相關的實體的集合,是某行業領域中的任何事物或者是人的可視化的表示,它關注的是實體本身,而不在于它們的屬性和操作。化的表示,它關注的是實體本身,而不在于它們的屬性和操作。n領域模型是概念類或者系統相關的對象的可視化表示。領域模型領域模型是概念類或者系統相關的對象的可視化表示。領域模型普通包含的元素有:概念類、概念類之間的關聯、概念類的根本普通包含的元素有:概念類、概念類之間的關聯、概念類的根本屬性。屬性。n由此可見,領域模型有點類似于概念數據模型,即有點類似于實由此可見,領域模型有點類似于概念數據模型,即有點類似于實體關系圖體關系圖(

31、 (或或E-RE-R模型模型) )。n創建領域模型,實踐上就是在建立類圖創建領域模型,實踐上就是在建立類圖(Class Diagram)(Class Diagram),操作,操作方法如下:方法如下:n選定閱讀器窗口中的用況視圖,單擊鼠標右鍵,選擇菜單選定閱讀器窗口中的用況視圖,單擊鼠標右鍵,選擇菜單【NewNew】, ,在下級菜單中選擇【在下級菜單中選擇【Class DiagramClass Diagram】菜單項】菜單項 30運用運用Rational RoseRational Rose建立領域模型建立領域模型 n翻開新建的領域模型,即類圖,在編輯區工具翻開新建的領域模型,即類圖,在編輯區工具

32、欄中單擊【欄中單擊【ClassClass】按鈕,在編輯區單擊任何】按鈕,在編輯區單擊任何位置。假設要對類進展劃分,可以在閱讀器窗位置。假設要對類進展劃分,可以在閱讀器窗口中創建類所在的包,然后在包中創建相關的口中創建類所在的包,然后在包中創建相關的類。類圖如圖類。類圖如圖2-282-28所示。所示。 n類之間的最為常見的關系有類之間的最為常見的關系有4 4種:關聯、泛化、種:關聯、泛化、聚合、依賴。關聯是描畫相關的兩個事物之間聚合、依賴。關聯是描畫相關的兩個事物之間進展通訊的一種關系。類之間的關聯進展通訊的一種關系。類之間的關聯(Association)(Association)關系具有一些屬

33、性,用戶可以關系具有一些屬性,用戶可以根據需求,在圖根據需求,在圖2-292-29所示的關聯關系屬性設置所示的關聯關系屬性設置對話框中進展設置。對話框中進展設置。 31領域模型窗口領域模型窗口 32網上求職招聘系統的領域模型案例分析網上求職招聘系統的領域模型案例分析 1 1創建求職者領域模型創建求職者領域模型 332 2添加屬性,完好的求職者領域模型如圖添加屬性,完好的求職者領域模型如圖2-312-31所示所示 34用用Rational RoseRational Rose設計類模型和包圖設計類模型和包圖 n建立類模型和包圖,是靜態角度來分析系統的。因此,類圖和包建立類模型和包圖,是靜態角度來分

34、析系統的。因此,類圖和包圖實踐上都屬于系統的靜態模型。這一節我們將討論如何在圖實踐上都屬于系統的靜態模型。這一節我們將討論如何在Rational RoseRational Rose的邏輯視圖中,創建類以及如何將類組織成包。的邏輯視圖中,創建類以及如何將類組織成包。n類圖類圖(Class Diagram)(Class Diagram)是面向對象系統的中心,它的主要元素包是面向對象系統的中心,它的主要元素包括類、對象、接口以及它們之間的關系。括類、對象、接口以及它們之間的關系。 n對一個復雜的面向對象的系統進展建模,我們需求建立大量的類、對一個復雜的面向對象的系統進展建模,我們需求建立大量的類、接

35、口、關聯以及接口、關聯以及UMLUML圖,以到達確定系統需求以及系統設計的目圖,以到達確定系統需求以及系統設計的目的。假設將這些元素混亂、分散地放在用況視圖的。假設將這些元素混亂、分散地放在用況視圖(Use Case (Use Case View)View)、邏輯視圖、邏輯視圖(Logical View)(Logical View)、組件視圖、組件視圖(Component View)(Component View)中,就會對維護和控制系統的需求和總體構造呵斥很大的費事。中,就會對維護和控制系統的需求和總體構造呵斥很大的費事。設計一些良好的包,將建模過程中的元素有效地組織起來,就可設計一些良好的

36、包,將建模過程中的元素有效地組織起來,就可以保證高內聚和低耦合。同時經過控制包的可見性,就能有效地以保證高內聚和低耦合。同時經過控制包的可見性,就能有效地控制對包中的內容的訪問。控制對包中的內容的訪問。n包圖的元素包括包、包與包之間的聯絡,包圖實踐上是經過類圖包圖的元素包括包、包與包之間的聯絡,包圖實踐上是經過類圖(Class Diagram)(Class Diagram)來實現。來實現。 35創建類圖創建類圖 36創建包圖創建包圖 Entity PackageBoundary PackageController Package37網上求職招聘系統類圖和包圖案例分析網上求職招聘系統類圖和包圖案

37、例分析 n該類圖有該類圖有7 7個實體類:個實體類:nUserBean(UserBean(用戶實體用戶實體) )nPersonBean(PersonBean(求職者實體求職者實體) )nCompanyBean(CompanyBean(企業實體企業實體) )nAdminBean(AdminBean(管理員實體管理員實體) )nApplyInfoBean(ApplyInfoBean(求職信息實體求職信息實體) )nNewsBean(NewsBean(新聞實體新聞實體) )nJobInfoBean(JobInfoBean(招聘信息實體招聘信息實體) )n圖中只展現了它們之間存在的主要關系:對于圖中只

38、展現了它們之間存在的主要關系:對于PersonBeanPersonBean、CompanyBeanCompanyBean、AdminBeanAdminBean而言,他們首先都是用戶,因此他而言,他們首先都是用戶,因此他們與們與UserBeanUserBean之間存在泛化關系。之間存在泛化關系。PersonBeanPersonBean與與ApplyInfoBeanApplyInfoBean之間存在之間存在“(release)“(release)發布關聯關系;發布關聯關系;AdminBeanAdminBean與與NewBeanNewBean之間存在之間存在“manage(“manage(管理管理)

39、 )關聯關系;關聯關系;CompanyBeanCompanyBean與與JobInfoBeanJobInfoBean之間存在之間存在“發布發布(putout)(putout)關聯關聯關系。關系。 3839類與代碼的對應關系類與代碼的對應關系n在在Rational RoseRational Rose中,上述的實體類可以運用正向工程生成與之對中,上述的實體類可以運用正向工程生成與之對應的代碼。操作過程如下:應的代碼。操作過程如下:n(1) (1) 選擇類框圖中需求生成代碼的類;選擇類框圖中需求生成代碼的類;n(2) (2) 單擊【單擊【ToolsTools】菜單,選擇【】菜單,選擇【Java/J2

40、EEJava/J2EE】菜單項,在其下級】菜單項,在其下級菜單中選擇【菜單中選擇【Generate CodeGenerate Code】, ,可以看到如圖可以看到如圖2-352-35所示對話框;所示對話框;n(3) (3) 單擊【單擊【AssignAssign】按鈕,將】按鈕,將RoseRose中的類部署到類途徑中的類部署到類途徑( (該途徑可該途徑可以經過單擊【以經過單擊【Edit.Edit.】按鈕來設置】按鈕來設置) );n(4) (4) 單擊【單擊【OKOK】按鈕,生成代碼框架;】按鈕,生成代碼框架;n(5) (5) 代碼生成終了。代碼生成終了。n網上求職招聘系統分為三個模塊:求職者模塊

41、、招聘者模塊、管網上求職招聘系統分為三個模塊:求職者模塊、招聘者模塊、管理員模塊。每個模塊的設計都是按照理員模塊。每個模塊的設計都是按照MVCMVC架構設計的:邊境類包集架構設計的:邊境類包集合了表現層的一切類合了表現層的一切類( (邊境類邊境類) );控制包集合了控制層的一切類;控制包集合了控制層的一切類( (控控制類制類) );實體包集合了一切業務邏輯層和數據的類;實體包集合了一切業務邏輯層和數據的類( (實體類實體類) )。 40圖圖 2-35 2-35 生成代碼生成代碼 41用用Rational RoseRational Rose設計系統動態模型設計系統動態模型 n系統的動態模型有點類

42、似于系統的動態模型有點類似于“業務模型,它描畫業務模型,它描畫了系統隨時間變化的行為,這些行為是用從靜態模了系統隨時間變化的行為,這些行為是用從靜態模型中抽取的系統的瞬間值的變化來描畫的。型中抽取的系統的瞬間值的變化來描畫的。n在在UMLUML的表現上,動態模型主要是建立系統的交互的表現上,動態模型主要是建立系統的交互圖圖(Interaction Diagram)(Interaction Diagram)和行為圖。和行為圖。n交互圖包括時序圖和協作圖;交互圖包括時序圖和協作圖;n行為圖包括形狀圖和活動圖。行為圖包括形狀圖和活動圖。n交互圖描畫了一個交互,它由一組對象和它們之間交互圖描畫了一個交

43、互,它由一組對象和它們之間的關系組成,并且還包括在對象之間傳送的音訊。的關系組成,并且還包括在對象之間傳送的音訊。 42動態模型動態模型n系統的動態模型有點類似于系統的動態模型有點類似于“業務模型,它業務模型,它描畫了系統隨時間變化的行為,這些行為是用描畫了系統隨時間變化的行為,這些行為是用從靜態模型中抽取的系統的瞬間值的變化來描從靜態模型中抽取的系統的瞬間值的變化來描畫的。畫的。n在在UML的表現上,動態模型主要是建立系統的的表現上,動態模型主要是建立系統的交互圖交互圖(Interaction Diagram)和行為圖。和行為圖。n交互圖包括時序圖和協作圖;行為圖包括形狀交互圖包括時序圖和協

44、作圖;行為圖包括形狀圖和活動圖。交互圖描畫了一個交互,它由一圖和活動圖。交互圖描畫了一個交互,它由一組對象和它們之間的關系組成,并且還包括在組對象和它們之間的關系組成,并且還包括在對象之間傳送的音訊。對象之間傳送的音訊。 43了解時序圖了解時序圖 n時序圖又叫順序圖,它是強調音訊時間順序的交互圖,描畫了類時序圖又叫順序圖,它是強調音訊時間順序的交互圖,描畫了類以及類間相互交換以完成期望行為的音訊。時序圖普通包括如下以及類間相互交換以完成期望行為的音訊。時序圖普通包括如下元素:類角色、生命線、激活期和音訊。元素:類角色、生命線、激活期和音訊。n(1) 類角色類角色(Class Role). 類角

45、色代表時序圖中的對象在交互中類角色代表時序圖中的對象在交互中所扮演的角色。類角色普通代表實踐的對象。所扮演的角色。類角色普通代表實踐的對象。n(2) 生命線生命線(Lifeline). 生命線代表時序圖中的對象在一段時期內生命線代表時序圖中的對象在一段時期內的存在。每個對象底部中心都有一條垂直的虛線,這就是對象的的存在。每個對象底部中心都有一條垂直的虛線,這就是對象的生命線,對象間的音訊存在于兩條虛線間。生命線,對象間的音訊存在于兩條虛線間。n(3) 激活期激活期(Actiation). 激活期代表時序圖中的對象執行一項操激活期代表時序圖中的對象執行一項操作的時期。每條生命線上的窄的矩形代表活

46、動期。作的時期。每條生命線上的窄的矩形代表活動期。n(4) 音訊音訊(Message). 音訊是定義交互和協作中交換信息的類,音訊是定義交互和協作中交換信息的類,用于對實體間的通訊內容建模。信息用于在實體間傳送信息,允用于對實體間的通訊內容建模。信息用于在實體間傳送信息,允許實體懇求其他的效力,類角色經過發送和接納信息進展通訊。許實體懇求其他的效力,類角色經過發送和接納信息進展通訊。 44網上求職招聘系統的登錄操作時序圖網上求職招聘系統的登錄操作時序圖 45時序圖建模要點時序圖建模要點 n(1) (1) 設置交互的語境,這些語境可以是系統、子系統、操作、設置交互的語境,這些語境可以是系統、子系

47、統、操作、類、用況和協作的一個腳本。類、用況和協作的一個腳本。n(2) (2) 經過識別對象在交互中扮演的角色,根據對象的重要性,經過識別對象在交互中扮演的角色,根據對象的重要性,將其從左向右的方向放在時序圖中。將其從左向右的方向放在時序圖中。n(3) (3) 設置每個對象的生命線。普通情況下,對象存在于交互設置每個對象的生命線。普通情況下,對象存在于交互的整個過程,但它也可以在交互過程中創建和撤銷。的整個過程,但它也可以在交互過程中創建和撤銷。n(4) (4) 從引發某個交互的音訊開場,在生命線之間按自上而下從引發某個交互的音訊開場,在生命線之間按自上而下的順序畫出隨后的音訊。的順序畫出隨后

48、的音訊。n(5) (5) 設置對象的激活期,這可以可視化實踐計算發生時的時設置對象的激活期,這可以可視化實踐計算發生時的時間點、可視化音訊的嵌套。間點、可視化音訊的嵌套。n(6) (6) 假設需求設置時間或者空間的約束,可以為每個音訊附假設需求設置時間或者空間的約束,可以為每個音訊附上適宜的時間和空間的約束。上適宜的時間和空間的約束。n(7) (7) 給某控制流的每個音訊附上前置條件或者后置條件,這給某控制流的每個音訊附上前置條件或者后置條件,這可以更詳細地闡明這個控制流。可以更詳細地闡明這個控制流。 46了解協作圖了解協作圖 n。協作圖只對相互間有交互作用的對象和這些對象間。協作圖只對相互間

49、有交互作用的對象和這些對象間的關系建模,而忽略了其他對象和關聯。的關系建模,而忽略了其他對象和關聯。n協作圖普通包括如下元素:類角色、關聯角色和音訊協作圖普通包括如下元素:類角色、關聯角色和音訊流。流。n(1) (1) 類角色類角色(Class Role)(Class Role)n類角色代表協作圖中對象在交互中所扮演的角色,矩類角色代表協作圖中對象在交互中所扮演的角色,矩形中的對象代表類角色。類角色的代表參與交互的對形中的對象代表類角色。類角色的代表參與交互的對象,它的命名方式和對象的命名方式一樣。象,它的命名方式和對象的命名方式一樣。n(2) (2) 關聯角色關聯角色(Association

50、 Role)(Association Role)n關聯角色代表協作圖中銜接在交互中所扮演的角色。關聯角色代表協作圖中銜接在交互中所扮演的角色。銜接銜接( (即連線或途徑即連線或途徑) )代表關聯角色。代表關聯角色。n(3) (3) 音訊流音訊流(Message Flow)(Message Flow)n音訊流代表協作圖中對象間經過銜接發送的音訊。音訊流代表協作圖中對象間經過銜接發送的音訊。 47網上求職招聘系統的登錄操作協作圖網上求職招聘系統的登錄操作協作圖 : User : input.jsp : VerifyServlet : UserBean : UserDataBean 1: input

51、Info2: verify()3: newUser()5: findUser()6: returnFindResult()4: returnUser()48協作圖建模要點協作圖建模要點n(1) (1) 設置交互的語境,語境可以是系統、子系統、操作、類、用況或設置交互的語境,語境可以是系統、子系統、操作、類、用況或用況的腳本。用況的腳本。n(2) (2) 經過識別對象在交互中所扮演的角色,開場繪制協作圖,把這些經過識別對象在交互中所扮演的角色,開場繪制協作圖,把這些對象作為圖的頂點放在協作圖中。對象作為圖的頂點放在協作圖中。n(3) (3) 在識別了協作圖對象之后,為每個對象設置初始值,假設某對

52、象在識別了協作圖對象之后,為每個對象設置初始值,假設某對象的屬性值、標志值、形狀或角色在交互期發生變化,那么在圖中放置的屬性值、標志值、形狀或角色在交互期發生變化,那么在圖中放置一個復制對象,并用變化后的值更新它,然后經過構外型一個復制對象,并用變化后的值更新它,然后經過構外型或或的音訊將兩者銜接。的音訊將兩者銜接。n(4) (4) 設置了對象的初始值后,根據對象間的關系開場確定對象間鏈接。設置了對象的初始值后,根據對象間的關系開場確定對象間鏈接。普通先確定關聯的鏈接,由于這是最主要的,它代表了構造的鏈接。普通先確定關聯的鏈接,由于這是最主要的,它代表了構造的鏈接。n(5) (5) 從引起交互

53、的音訊開場,按音訊的順序,把隨后的音訊附到適當從引起交互的音訊開場,按音訊的順序,把隨后的音訊附到適當的鏈接上,這描畫了對象之間音訊傳送,可以用帶小數點的編號來表的鏈接上,這描畫了對象之間音訊傳送,可以用帶小數點的編號來表達嵌套。達嵌套。n(6) (6) 假設需求闡明時間或空間的約束,可以用適當的時間或空間約束假設需求闡明時間或空間的約束,可以用適當的時間或空間約束來修飾每個音訊。來修飾每個音訊。n(7) (7) 在建模中,假設想更詳細地描畫這個控制流,可以為交互過程的在建模中,假設想更詳細地描畫這個控制流,可以為交互過程的每個音訊附上前置條件和后置條件。每個音訊附上前置條件和后置條件。 49

54、了解形狀圖了解形狀圖n形狀圖是形狀圖是UMLUML中對系統動態方面建模的圖之一。形狀圖是經過類中對系統動態方面建模的圖之一。形狀圖是經過類對象的生命周期模型,來描畫對象隨時間變化的動態行為。形對象的生命周期模型,來描畫對象隨時間變化的動態行為。形狀圖顯示了一個形狀機,它根本上是一個形狀機中的元素的一狀圖顯示了一個形狀機,它根本上是一個形狀機中的元素的一個投影,這就意味著形狀圖包括形狀機的一切特性。形狀圖和個投影,這就意味著形狀圖包括形狀機的一切特性。形狀圖和其他圖的區別在于它的內容。形狀圖通常包括如下內容:形狀、其他圖的區別在于它的內容。形狀圖通常包括如下內容:形狀、轉換轉換 。n(1) (1

55、) 形狀形狀n形狀定義對象在其生命周期中的條件或情況,在此期間,對象形狀定義對象在其生命周期中的條件或情況,在此期間,對象滿足某些條件,執行某些操作或等待某些事件。形狀用于對實滿足某些條件,執行某些操作或等待某些事件。形狀用于對實體在其生命周期中的情況建模。體在其生命周期中的情況建模。n(2) (2) 轉換轉換n轉換包括事件和動作。事件是發生在時間空間上的一點值得留轉換包括事件和動作。事件是發生在時間空間上的一點值得留意的事情。動作是原子性的,它通常表示一個簡短的計算處置意的事情。動作是原子性的,它通常表示一個簡短的計算處置過程過程( (如賦值操作或算術計算如賦值操作或算術計算) )。 50運

56、用運用Rational RoseRational Rose建立用戶登陸形狀圖建立用戶登陸形狀圖 51形狀圖建模要點形狀圖建模要點 n(1) (1) 識別一個要對其生命周期進展描畫識別一個要對其生命周期進展描畫的參與行為的類;的參與行為的類;n(2) (2) 對形狀建模,即確定對象能夠存在對形狀建模,即確定對象能夠存在的形狀;的形狀;n(3) (3) 對事件建模,即確定對象能夠存在對事件建模,即確定對象能夠存在的事件;的事件;n(4) (4) 對動作建模,即確定當轉變被激活對動作建模,即確定當轉變被激活時,相應被執行的動作;時,相應被執行的動作;n(5) (5) 對建模結果進展精化和細化。對建模

57、結果進展精化和細化。 52了解活動圖了解活動圖 n活動圖活動圖(Activity Diagram)(Activity Diagram)主要描畫操作主要描畫操作( (方法方法) )實現中所完實現中所完成的任務及用況實例或對象中的活動。它是形狀圖的一個變種,成的任務及用況實例或對象中的活動。它是形狀圖的一個變種,與形狀圖的區別是:活動圖的主要目的是描畫動作與形狀圖的區別是:活動圖的主要目的是描畫動作( (執行的動執行的動作和活動作和活動) )及對象改動的結果;活動圖中的動作可以放在泳道及對象改動的結果;活動圖中的動作可以放在泳道中,泳道聚合一組活動,并指定擔任人和所屬組織。中,泳道聚合一組活動,并

58、指定擔任人和所屬組織。n主要元素有:主要元素有:n(1) (1) 泳道泳道(Swimlane) (Swimlane) n(2) (2) 活動活動(Activity) (Activity) n(3) (3) 形狀轉移形狀轉移(State Transition) (State Transition) n(4) (4) 決議決議(Decision) (Decision) 53用用Rational RoseRational Rose建立求職者模塊中的建立求職者模塊中的“搜索任務活動搜索任務活動圖圖 54活動圖建模要點活動圖建模要點 n在建模的過程中,我們通常經過以下步驟實現:在建模的過程中,我們通常經

59、過以下步驟實現:n(1) (1) 識別要對其任務流進展描畫的類;識別要對其任務流進展描畫的類;n(2) (2) 對動態形狀建模;對動態形狀建模;n(3) (3) 對動作流建模;對動作流建模;n(4) (4) 對對象建模;對對象建模;n(5) (5) 對建模結果進展細化。對建模結果進展細化。n系統的動態模型建模,有點類似于系統的動態模型建模,有點類似于“業務模型業務模型建模。在建模。在“功能模型、業務方式、數據模型中,功能模型、業務方式、數據模型中,我們曾經引見了兩個,剩下的數據模型建模,將我們曾經引見了兩個,剩下的數據模型建模,將在下一節中引見。在下一節中引見。 55用用Rational Ro

60、seRational Rose進展數據建模進展數據建模 nRational RoseRational Rose不僅支持需求階段對系統進展功能不僅支持需求階段對系統進展功能建模,支持設計階段對系統進展詳細設計,而且還建模,支持設計階段對系統進展詳細設計,而且還支持耐久層數據庫建模,即支持耐久層數據庫建模,即“數據模型數據模型 建模。建模。利用利用Rational RoseRational Rose中的中的 Data Modeler Data Modeler,可以進,可以進展數據庫建模,它允許將展數據庫建模,它允許將UMLUML對象模型用作邏輯模對象模型用作邏輯模型,將數據模型用作物理模型,并協助

溫馨提示

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

評論

0/150

提交評論