https://www.cnblogs.com/perfei/p/7881752.html
Rose模型(包括所有框图、对象和其他模型元素)都保存在一个扩展名为.mdl的文件中。
1.环境简介
1.1 Rational Rose可视化环境组成
Rose界面的五大部分是浏览器、文档工具、工具栏、框图窗口和日志。
1、浏览器:用于在模型中迅速漫游。
2、文档工具:用于查看或更新模型元素的文档。
3、工具栏:用于迅速访问常用命令。
4、框图窗口:用于显示和编辑一个或几个UML框图。
5、日志:用于查看错误信息和报告各个命令的结果。
1.2浏览器和视图
浏览器是层次结构,用于在Rose模型中迅速漫游。在浏览器中显示了模型中增加的一切,如参与者、用例、类、组件等等。Rose浏览器见图1-2。
浏览器中包含四个视图:Use Case视图、Logical视图、Component视图和Deployment视图。点击每个视图的右键,选择new就可以看到这个视图所包含的一些模型元素。
1.3框图窗口
我们可以浏览模型中的一个或几个UML框图。改变框图中的元素时,Rose自动更新浏览器。同样用浏览器改变元素时,Rose自动更新相应框图。这样,Rose就可以保证模型的一致性。
2.3建立类图class diagram
类图显示系统之中类和类之间的交互。
2.3.1创建类(图2-3-1)
在Rational Rose中可以通过几种途径来创建类。最简单的方法是利用模型的Logic视图中的类图标和绘图工具,在图中创建一个类。或者,在浏览器中选择一个包并使用快捷菜单的new→class。一旦创建了一个类,就可以通过双击打开它的对话框并在Documentation字段中添加文本来对这个类进行说明。
2.3.2创建方法(图2-3-2)
(1) 选择浏览器中或类图上的类。
(2) 使用快捷菜单的new→Operation
(3) 输入方法的名字,可在Documentation字段中为该方法输入描述其目的的简要说明。
2.3.3创建属性(图2-3-2)
(1) 选择浏览器中或类图上的类。
(2) 使用快捷菜单的new→Attribute。
(3) 输入属性的名字,可在Documentation字段中为该属性输入描述其目的的简要说明。
2.3.4创建类图(图2-3-3)
右击浏览器内的Logical视图,选择new→class diagram。把浏览器内的类拉到类图中即可。
2.3.5创建类之间的关系
类之间的关系:
继承、关联、聚合、依赖
(1) 类之间的关系在工具栏中显示。
(2) 对于关联关系来说,双击关联关系,就可以在弹出的对话框中对关联的名称和角色进行编辑(图2-3-4)。
(3) 编辑关联关系的多重性:右单击所要编辑的关联的一端,从弹出的菜单中选择Multiplicity,然后选择所要的基数
理解:类图显示了取款这个用例中各个类之间的关系,由四个类完成:读卡机、账目、ATM屏幕和取钱机。
类图中每个类都是用方框表示的,分成三个部分。第一部分是类名;第二部分是类包含的属性,属性是类和相关的一些信息,如账目类包含了三个属性:账号、PIN(密码)和结余;最后一部分包含类的方法,方法是类提供的一些功能,例如帐目类包含了四个方法:打开、取钱、扣钱和验钱数。
类之间的连线表示了类之间的通信关系。例如,账目类连接了ATM屏幕,因为两者之间要直接相互通信;取钱机和读卡机不相连,因为两者之间不进行通信。
有些属性和方法的左边有一个小锁的图标,表示这个属性和方法是private的(UML中用’-’表示),该属性和方法只在本类中可访问。
没有小锁的,表示public(UML中用’+’表示),即该属性和方法在所有类中可访问。
若是一个钥匙图标,表示protected(UML中用’#’表示),即属性和方法在该类及其子类中可访问。
2.4建立交互图interaction diagram
2.4.1序列图sequence diagram
序列图显示用例中的功能流程。
创建序列图(图2-4-1)
1、在浏览器内的Logic 视图中单击鼠标右键,选择new→sequence diagram就新建了一张序列图。
2、也可以在浏览器中use case视图中选择某个用例,然后右击这个用例,选择new→sequence diagram。
在序列图中放置参与者和对象(图2-4-2)
在序列图中的主要元素之一就是对象,相似的对象可以被抽象为一个类。序列图中的每个对象代表了某个类的某一实例。
说明对象之间的消息(图2-4-3)
(1) 选择message工具栏按钮。
(2) 单击启动消息的参与者或对象,把消息拖到目标对象和参与者。
(3) 命名消息。双击消息,在对话框中“General”里的“name” 中输入消息名称。
★练习:画某客户Joe取20美元的序列图
理解:序列图显示了用例中的功能流程。我们对取款这个用例分析,
它有很多可能的程序,如想取钱而没钱,想取钱而PIN错等等,正常的情况是取到了钱,下面的序列图就对某客户Joe取20美元,分析它的序列图。
序列图的顶部一般先放置的是取款这个用例涉及的参与者,然后放置系统完成取款用例所需的对象,每个箭头表示参与者和对象或对象之间为了完成特定功能而要传递的消息。
取款这个用例从客户把卡插入读卡机开始,然后读卡机读卡号,初始化ATM屏幕,并打开Joe的账目对象。屏幕提示输入PIN,Joe输入PIN(1234),然后屏幕验证PIN与账目对象,发出相符的信息。屏幕向Joe提供选项,Joe选择取钱,然后屏幕提示Joe输入金额,它选择20美元。然后屏幕从账目中取钱,启动一系列账目对象要完成的过程。首先,验证Joe账目中至少有20美元;然后,它从中扣掉20美元,再让取钱机提供20美元的现金。Joe的账目还让取钱机提供收据,最后它让读卡机退卡。