RationalRose-詳細介紹和例子詳細操作.doc_第1頁
RationalRose-詳細介紹和例子詳細操作.doc_第2頁
RationalRose-詳細介紹和例子詳細操作.doc_第3頁
RationalRose-詳細介紹和例子詳細操作.doc_第4頁
RationalRose-詳細介紹和例子詳細操作.doc_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

使用Rational Rose 進行UML可視化建模 本課程以某所大學的在線選修課程管理系統為例來介紹怎樣使用Rational Rose 進行UML可視化建模。最終遞交三個文件:regist.mdl, regist.sql, VB的代碼或Java的代碼。內容:一、系統描述2二、用例圖(Use Case View)2三、活動圖(Activity Diagram)(建立選修課程目錄表)5四、相關的包和類以及簡單類圖11五、用例實現圖(Use Case Realization Diagram)13六、順序圖(Sequence Diagram)與合作圖(Collaboration Diagram)15七、類圖中的關系(Relationships)18八、類圖中的操作與屬性20九、類圖中的泛化22十、狀態圖(Statechart Diagram)26十一、構件圖(Component Diagram)31十二、部署圖(Deployment Diagram)34十三、生成程序代碼35十四、創建數據庫設計40十五、附件1:轉換后的Visual Basic程序44十六、附件2:轉換后的Java程序45十七、附件3:生成的SQL語句46一、 系統描述1 大學教師選擇本學期要教授的課程,每位教師最多只能上報4門課程。2 教師選課結束后,教務管理人員進行協調和確認教師的課程,并創建本學期的課程目錄表,向學生公布。2學生填寫課程選修表,每個學生最多選修4門課程;每門選修課程的學生數最多為10人,最少為3人。人數達到10人時,停止學生登記注冊此門課程;3 學生選課結束后,系統自動取消人數少于三人的課程。4 學生按最終的課程表到財務處辦理收費手續(billing system)。5 教師可查詢所教課程的學生花名冊(roster)。6 教務管理人員維護學生、教師和課程的信息。二、 用例圖(Use Case View) 1在線選修課程管理系統中的執行者(Actors)l 注冊選修課程的學生;l 教授選修課程的教師;l 教務管理人員必須匯總選修課程情況,制作課程表;l 教務管理人員必須維護關于課程、教師和學生的所有信息; l 財務管理系統從本系統中取出收費信息。2使用Rational Rose 創建執行者(Actors)圖11) 右擊browser框中的Use Case View包,彈出快捷菜單;2) 選擇NewActor項;3) 輸入執行者的名字;(如出錯,可用Rename命令更改)4) 如果文檔窗口不可見,選擇屏幕上方的ViewDocumentation菜單;5) 在browser框中選中所需執行者;6) 將光標置于文檔框中,輸入相應文檔。3在線選修課程管理系統中的用例(Use Case)l 注冊選修課程(學生);l 選擇教授的選修課程(教師);l 索取課程花名冊(Roster)(教師);l 維護課程信息(教務管理人員);l 維護教師信息(教務管理人員);l 維護學生信息(教務管理人員);l 創建課程目錄(教務管理人員);4使用Rational Rose 創建用例(Use Case)圖21) 右擊browser框中的Use Case View包,彈出快捷菜單;2) 選擇NewUse Case項;3) 輸入用例的名字;(如出錯,可用Rename命令更改)4) 如果文檔窗口不可見,選擇屏幕上方的View Documentation菜單;5) 在browser框中選中所需用例;6) 將光標置于文檔框中,輸入相應文檔。5使用Rational Rose 創建主用例圖(Main Use Case Diagram)1) 雙擊browser框中的Use Case View包中的Main條目,打開主用例圖;2) 單擊選中browser框中的執行者,并將其拖到主用例圖中;3) 重復第2)步,直到完成所需的工作為止;4) 單擊選中browser框中的用例,并將其拖到主用例圖中;5) 重復第4)步,直到完成所需的工作為止;6) 在工具條中選擇單向關聯(Unidirectional Association)圖標;7) 單擊一個執行者,并拖到相應的用例上;或單擊一個用例,并拖到相應的執行者上。圖3三、 活動圖(Activity Diagram)(建立選修課程目錄表)圖41使用Rational Rose 創建活動圖(Activity Diagram)1) 右擊browser框中的Use Case View包,彈出快捷菜單;2) 選擇NewActivity Diagram項;3) 輸入活動圖的名字;(如出錯,可用Rename命令更改)4) 雙擊browser框中的Activity Diagram名稱,打開該圖。2使用Rational Rose 創建活動(Activity)1) 在工具條中選擇Activity圖標;2) 在活動圖(Activity Diagram)中單擊要放置活動(Activity)的位置;3) 輸入活動名字;(如出錯,可用Rename命令更改)4) 在工具條中選擇State Transition圖標;5) 單擊一個活動,并將其拖到相應的活動上。圖53使用Rational Rose 創建決策點(Decision Points)1) 在工具條中選擇Decision圖標;2) 在活動圖(Activity Diagram)中單擊要放置決策點的位置;3) 輸入決策的名字;(如出錯,可用Rename命令更改)4) 在工具條中選擇State Transition圖標;5) 單擊一個活動,并將其拖到相應的決策點上;6) 在工具條中選擇State Transition圖標;7) 單擊一個決策點,拖至拐角處單擊左鍵,再將其拖到相應的活動上;8) 雙擊此條轉換線,打開規格設定框;9) 選擇Detail 標簽頁;10) 在Guard Condition框中輸入條件No;11) 點按OK按扭,關閉規格設定框;12) 在此條轉換線上單擊左鍵,選中此條轉換線;13) 點按屏幕上方的Format:Line Style:Rectilinear菜單;14) 調整這條線,使其美觀。圖64使用Rational Rose 創建同步條(Synchronization Bar)1) 在工具條中選擇Horizontal Synchronization圖標;2) 在活動圖(Activity Diagram)中單擊要放置同步條的位置;3) 在工具條中選擇State Transition圖標;4) 完成下圖。圖75使用Rational Rose 創建泳道(Swim lanes)1) 在工具條中選擇Swim lanes圖標;2) 在活動圖(Activity Diagram)中單擊要放置泳道的位置;3) 雙擊泳道,打開規格說明框;4) 在Name框中輸入泳道的名字;5) 點按OK按扭,關閉規格設定框;6) 對泳道的大小位置進行調整;7) 將所需的活動和變換線拖至新泳道中。圖86使用Rational Rose 創建起始活動和終止活動1) 在工具條中選擇起始活動或終止活動圖標;2) 在活動圖(Activity Diagram)中單擊要放置起始活動或終止活動的位置;3) 在工具條中選擇State Transition圖標;4) 單擊起始活動,拖到相應的活動上,或者單擊一個活動,拖至終止活動上。圖9四、 相關的包和類以及簡單類圖1在Rational Rose的Browser框中創建類(Class)圖101) 右擊browser框中的Logica View,彈出快捷菜單;2) 選擇NewClass項;3) 輸入類的名字;(如出錯,可用Rename命令更改)4) 在所建類上單擊右鍵,彈出快捷菜單;5) 選擇Open Specification項,選擇General標簽頁;6) 在Stereotype框中選擇entity類;7) 單擊OK按扭關閉規格說明框。邊界類Boundary Classes:l 可用來塑造操作者與系統之間的交互;l 可用來理清用戶在系統邊界上的需求;l 可設計抽象的用戶界面對象。控制類Control Classes:l 可協調對象之間的交易;l 可將使用案例的細節部分封裝起來;l 可將復雜的計算或商務邏輯封裝起來。實體類Entity Classes:l 代表永久保存的信息;l 代表E-R模型之中人、事、時、地、物或概念的信息及行為。2在Rational Rose的Browser框中創建包(Packages)1) 右擊browser框中的Logica View,彈出快捷菜單;2) 選擇New Package項;3) 輸入包的名字;(PeopleInfo包用來存放與人員有關的內容;Interfaces包用來存放與界面有關的內容;UniversityArtifacts用來存放與學校工件有關的內容。)4) 新建圖中的相關類,并設置其相應的類別;5) 單擊Browser框中的類,將其拖至相應的包中。圖113Rational Rose中的主類圖(Main Class Diagram)1) 雙擊browser框Logica View中的Main類圖以打開之;2) 單擊Browser框中的包,將其拖到Main類圖上;3) 重復第2)步,完成下圖。圖124在Rational Rose中創建包中的主類圖(Package Main Class Diagram)1) 雙擊Main類圖中的University Artifacts包,rose將打開這個包,并創建這個包的主類圖(Package Main Class Diagram);2) 單擊Browser框中的類,將其拖到類圖上;3) 重復第2)步,完成下圖。圖13五、 用例實現圖(Use Case Realization Diagram)1使用Rational Rose 創建邏輯視圖中的用例圖(Use Case Diagram)圖141) 右擊browser框中的Logica View,彈出快捷菜單;2) 選擇NewUse Case Diagram項;3) 輸入用例圖的名字“Realizations”;(如出錯,可用Rename命令更改)4) 右擊browser框中的Logica View,彈出快捷菜單;5) 選擇New Use Case項;6) 輸入用例的名字;(如出錯,可用Rename命令更改)7) 雙擊新建的用例,打開用例的規格設定框;8) 單擊Stereotype框,選擇use case realization選項;9) 關閉用例的規格設定框;10) 重復49步,雙擊“Realizations”,打開實現用例圖;11) 將新建的實現用例拖入圖中,如下圖。圖15六、 順序圖(Sequence Diagram)與合作圖(Collaboration Diagram)1使用Rational Rose 創建順序圖(Sequence Diagram)圖161) 右擊browser框中的Logica View中的“Maintain course information”實現用例,彈出快捷菜單;2) 選擇New Sequence Diagram項;3) 輸入順序圖的名字“Creat a course”;2在順序圖中創建對象和信息1) 雙擊順序圖名稱,打開順序圖;2) 將browser框Use CaseView包中的執行者“Registrar”拖入圖中;3) 選擇工具條中的“Object”圖標;4) 單擊圖中放置對象的位置,并輸入相應的名字;5) 重復34步;6) 選擇工具條中的“Object Message”圖標;7) 從信息發出者拖至信息接收者;8) 輸入信息的名字;9) 重復68步。圖173給順序圖中的對象分配類1) 單擊選中Browser框中所需的類;2) 將此類拖至順序圖相應的對象上。圖183將順序圖轉換為合作圖圖191) 雙擊順序圖名稱,打開順序圖;2) 選擇屏幕上方的菜單BrowserCreate Collaboration Diagram,或者點按F5鍵;3) 調整圖中的對象和信息,使其美觀。七、 類圖中的關系(Relationships)1使用Rational Rose 創建關系(Relationship)圖201) 打開University Artifacts包中的Main類圖;2) 選擇工具條中的“Association”圖標(若此圖標不存在,則右擊工具條,選擇Customize項將其加入);3) 點按類圖中的一個類,拖至另一個類,輸入關系的名稱;4) 選擇工具條中的“Aggregation”圖標(若此圖標不存在,則右擊工具條,選擇Customize項將其加入);5) 點按類圖中的一個整體類,拖至另一個部分類,輸入關系的名稱。2使用Rational Rose 創建角色(Role)圖211) 新建一個People Info包的Main類圖;2) 右擊關系線(靠近需要創建角色的類的一端),彈出快捷菜單;3) 選擇Role Name項,輸入角色的名字。3增加多重度圖221) 雙擊關系線,使其彈出規格設定框;2) 選擇Detail標簽頁(Role A Detail 或者 Role B Detail);3) 在Multiplicity框中輸入或選擇相應的多重度;4) 點按OK按扭,關閉規格設定框。4創建包之間的關系圖231) 打開Logica View中的Main類圖;2) 選擇工具條中的“dependency”圖標;3) 點按類圖中的一個客戶包,拖至另一個供應包。八、 類圖中的操作與屬性圖241使用Rational Rose 創建屬性和方法1) 右擊browser框Logica View中UniversityArtifacts包中的類,彈出快捷菜單;2) 選擇NewAttribute項,輸入相應的名字;3) 重復12步,完成添加屬性;4) 右擊browser框Logica View中UniversityArtifacts包中的類,彈出快捷菜單;5) 選擇NewOperation項,輸入相應的名字;6) 重復45步,完成添加操作;2在類中增加了屬性和操作后對類圖的影響1) 打開University Artifacts包中的Main類圖;2) 將圖中相關類的顯示改為label(右擊每一個類,選擇Options: Stereotype Display: Label菜單);3) 類圖中相應的屬性與操作自動變化為下圖。圖25九、 類圖中的泛化1使用Rational Rose 創建一個有泛化關系的類圖1) 在People Info包中創建一個空類圖Generalization;2) 創建類圖中相關的類,并將相關的類拖入圖中;3) 選擇工具條中的“Generalization”圖標;4) 點按類圖中的一個子類,拖至一個父類;5) 重復第4步完成下圖;圖266) 將左邊的泛化箭頭拖至右邊的泛化線上;7) 調整圖形。圖272將有泛化關系的類圖進行擴展1) 將Course Offering類拖入圖中,并創建對應的關聯線、角色、多重度;2) 為相關的類創建屬性。圖283將有泛化關系的類圖進行優化1) 在Browser框中將子類中的公共屬性拖入父類中;2) 將子類中多余的屬性刪去。圖294將有泛化關系的類圖進行多層泛化1) 在People Info包中創建相關的類,并拖入圖中;2) 創建關系線、泛化線和多重度。圖30十、 狀態圖(Statechart Diagram)1使用Rational Rose 創建狀態圖(Statechart Diagrams)圖311) 右擊browser框中的CourseOffering類,彈出快捷菜單;2) 選擇NewStatechart Diagrams項;3) 輸入狀態圖的名字“CourseOffering States”。2使用Rational Rose 創建狀態(States)圖321) 在工具條中選擇State圖標;2) 在狀態圖中單擊要放置狀態的位置;3) 輸入狀態的名字。(如出錯,可用Rename命令更改)3使用Rational Rose 創建狀態轉換(State Transitions)圖331) 在工具條中選擇State Transitions圖標;2) 單擊起始狀態,并拖至下一個狀態;3) 輸入狀態轉換的名字。(如出錯,可用Rename命令更改)4使用Rational Rose 創建起始狀態1) 在工具條中選擇Start圖標;2) 在狀態圖中單擊要放置起始狀態的位置;3) 用狀態轉換線進行連接。圖345使用Rational Rose 創建結束狀態圖351) 在工具條中選擇Stop圖標;2) 在狀態圖中單擊要放置結束狀態的位置;3) 用狀態轉換線進行連接。6使用Rational Rose 增加狀態轉換的細節部分1) 雙擊某條轉換線,打開規格設定框;2) 選擇Detail 標簽頁;3) 在相應的框中輸入action(/后的內容)、guard condition( 里的內容)以及發出的send(后的內容);4) 點按OK按扭,關閉規格設定框。圖367使用Rational Rose 增加狀態的Actions部分1) 雙擊某個狀態,打開規格設定框;2) 選擇Actions標簽頁;3) 右擊Actions框中的任一位置,彈出快捷菜單;4) 選擇Insert項,將創建一個類型為entry的action;5) 雙擊這個action,彈出action的規格設定框;圖376) 在when框中設定相應的類型;7) 在type框中設定:action或者send event(用表示);8) 輸入action的名字,或event的信息;9) 點按OK按扭,關閉Action規格設定框。10) 點按OK按扭,關閉狀態規格設定框。圖38十一、 構件圖(Component Diagram)1 使用Rational Rose 創建Main構件圖(Component Diagram)1) 在Browser框中的Component View中創建圖中的各個構件包;2) 雙擊Browser框中的Component View中的Main構件圖;3) 將Browser框中的Component View中的構件包拖入圖中;4) 創建包之間的依賴線。圖392創建University構件包中的構件1) 雙擊Main構件圖中的University包,打開圖形;2) 在工具條中選擇Component圖標;3) 單擊圖中某一位置,放置構件;4) 輸入構件名稱。圖403將類映射到構件上圖411) 右擊Browser框中的CourseOffering構件,彈出快捷菜單;2) 選擇Open Specification項;3) 選擇Realizes標簽;4) 右擊所需的類,彈出快捷菜單;5) 選擇Assign項;(分配)6) 點按OK按扭,關閉規格設定框。十二、 部署圖(Deployment Diagram)1使用Rational Rose 創建部署圖(Deployment Diagram)1) 雙擊Browser框中的部署圖(Deployment Diagram);2) 選擇工具條中的Processor圖標,并單擊圖中某一位置;3) 輸入結點的名字;4) 選擇工具條中的Connection圖標;5) 點擊某一結點,拖至另一結點;6) 選擇工具條中的Text圖標;7) 在相應結點下寫上文字。圖42十三、 生成程序代碼 1使用Rational Rose為構件設定程序設計語言圖431) 右擊Browser框Component View中University包中的CourseOffering構件,彈出快捷菜單;2) 選擇Open Specification項,打開構件Course Offering的規格設定框;3) 在Language框中選擇相應的語言;4) 點按OK按扭關閉對話框。2建模輔助工具(如需要設定,則可進入,一般情況下可省略) 1) 右擊Browser框Logica View中University包中的Course Offering類,彈出快捷菜單,選擇Model Assistant項;2) 如需要設定,則可更改選項,一般情況下可省略此步操作;3) 編程語言為Visual Basic時,見圖44,前提是系統必須安裝了VB;編程語言為Java時,見圖45,前提是系統必須安裝了JDK。圖44:編程語言為Visual Basic時圖45:編程語言為Java時3生成代碼 1) 右擊Browser框Component View中University包中的CourseOffering構件,彈出快捷菜單;2) 選擇Update Code項;圖463) 選中相應的check框,點擊Next按扭;圖474) 點擊Finish按扭;圖485) 如有錯誤,則顯示相應錯誤;6) 點按Close按扭,關閉窗口。十四、 創建數據庫設計1將實體類的persistence屬性設為persistent本系統有四個實體類:Student、Professor、Course、CourseOffering,分別將它們的persistence屬性設為persistent。以Course為例,雙擊Browser框Logical View中UniversityArtifacts中Course類,彈出class specification對話框,選擇detail tab,將persistence屬性設為persistent。圖492生成數據模型 將UniversityArtifacts包和PeopleInfo包轉成數據庫的數據模型。以UniversityArtifacts為例。右擊Browser框Logical View中UniversityArtifacts包,彈出快捷菜單,選擇Data Modeler/ Transform to Data Model。彈出對話框,在Destination Schema中鍵入”db”,點擊”OK”。在Browser框Logical View中將生成”Schemas”包和“db”子包。子包中生成了T_Course和T_CourseOffering兩個table。對PeopleInfo包進行相同操作,生成T_Student, T_Professor, T_RegistrationUser三個table.圖503創建Data Model Diagram右擊Browser框中Logical View/”Schemas”/“db”,彈出快捷菜單,選擇Data Modeler/ New/ Data Model Diagram,生成一個Data Model Diagram, 取名為Main。圖51雙擊Main,打開進行編輯,將五個table拖進diagram,生成ER圖。圖524生成SQL語句右擊Browser框中Logical View/”Schemas”/“db”,彈出快捷菜單,選擇Data Modeler/ Forward Engineer,跟wizard進行操作,將生成的SQL語句保存在文件中。參見附件3。你可以選擇生成表格create或drop的SQL語句。圖53十五、 附件1:轉換后的Visual Basic程序Option Explicit#ModelId=3E2A1E9D0148Implements Course#ModelId=3E2E13980177Private mCourseObject As New UniversityArtifacts.Course /*由Course 泛化而來*/#ModelId=3E2A980002EEPublic Teacher As Professor /*由設置角色而來*/#ModelId=3E2A9DAE0261Public NewProperty2(3 To 10) As Student/*由限定條件而來*/#ModelId=3E2A7BEB035DPublic NewProperty As Course#ModelId=3E2A826C0109Public Sub getOffering()/*由getOffering操作而來*/End Sub#ModelId=3E2A827B0280Public Sub addProfessor()/*由addProfessor操作而來*/End Sub#ModelId=3E2E139801F4Private Sub Course_getOfferings()/*由泛化繼承而來*/End Sub#ModelId=3E2E13980203Private Sub Course_setProfessor()/*由泛化繼承而來*/End Sub#ModelId=3E2E13980213Private Property Set Course_(ByVal RHS As CourseOffering)End Property#ModelId=3E2E13980261Private Property Get Course_() As CourseOfferingEnd Property#ModelId=3E2E1F55030DPublic Sub CourseOffering()End Sub#ModelId=3E2E3247038APrivate Property Set Course_theProfessorCourseManager(ByVal RHS As ProfessorCourseManager)End Property#ModelId=3E2E32480000Private Property Get Course_theProfessorCourseManager() As ProfessorCourseManagerEnd Property#ModelId=3E2E3248003EPrivate Property Set Course_theCourseOffering(ByVal RHS As CourseOffering)End Property#ModelId=3E2E3248009CPrivate Property Get Course_theCourseOffering() As CourseOfferingEnd Property十六、 附件2:轉換后的Java程序/Source file: C:Program FilesRationalRUPBuilderUniversityCourseOffering.javapackage University;public class CourseOffering extends Course /*由Course 泛化而來*/ private Course mCourseObject; public Professor Teacher; /*由設置角色而來*/ public Student NewProperty2; public Course NewProperty; /* roseuid 3E2E1F55030D */ public CourseOffering() /* * roseuid 3E2A826C0109 */ public void getOffering()/*由getOffering操作而來*/ /* * roseuid 3E2A827B0280 */ public void addProfessor()/*由addProfessor操作而來*/ /* * roseuid 3E2E139801F4 */ private void Course_getOfferings()/*由泛化繼承而來*/ /* * roseuid 3E2E13980203 */ private void Course_setProfessor()/*由泛化繼承而來*/ /* * param RHS * roseuid 3E2E13980213 */ private void Course_(CourseOffering RHS) /* * return CourseOffering * roseuid 3E2E13980261 */ private CourseOffering Course_() return null; 十七、 附件3:生成的SQL語句CREATE TABLE T_Course (name SMALLINT NOT NULL,description SMALLINT NOT NULL,creditHours SMALLINT NOT NULL,T_Course_ID INTEGER NOT NULL,CONSTRAINT PK_T_Course7 PRIMARY KEY (T_Course_ID);CREATE TABLE T_CourseOffering (T_CourseOffering_ID INTEGER NOT NULL,T_Course_ID INTEGER,T_RegistrationUser_ID INTEGER NOT NULL,COL_2 INTEGER NOT NULL,CONSTRAINT PK_T_CourseOffering8 PRIMARY KEY (T_CourseOffering_ID);CREATE TABLE T_RegistrationUser (realname VARCHAR ( 255 ) NOT NULL,username VARCHAR ( 255 ) NOT NULL,password VARCHAR ( 255 ) NOT NULL,birthday DATE NOT NULL,gender SMALLINT NOT NULL,T_RegistrationUser_ID INTEGER NOT NULL,depar

溫馨提示

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

評論

0/150

提交評論