顺序图和协作图
用顺序图强调消息的时间顺序,用协作图强调对象链接及协作关系。
复习要点
- 顺序图关注时间轴:对象、生命线和消息自上而下排列。
- 协作图关注空间结构:对象先建立 Link,再在链接上添加有编号的消息。
- 类拖入交互图后形成对象;可通过 Open Specification 给匿名对象命名。
- 两种图描述同一交互信息;Rose 中按 F5 可在顺序图与协作图间转换。
操作主线
定义类 → 新建交互图 → 拖入对象 → 建消息/链接 → 命名消息 → F5 对照转换
完整实验指南点击展开或收起
一.顺序图
实验内容
请绘制下面的顺序图:
图1-1 顺序图
实验步骤
2.1 定义类
在Logic View视图下创建4个类,它们是:客户、ATM端口、钱币记录仪、分类器,如图1-2所示。
图1-2 创建类
2.2 创建顺序图
右击Logic View,选择New→Sequence Diagram,系统自动增加了一个项目:New Diagram。我们在此处输入:顺序图,如图1-3所示。
图1-3 创建顺序图
2.3 往顺序图中添加对象
在浏览器窗口中,双击”顺序图”文本,系统就在模型图窗口打开“顺序图”,如图1-4所示。
图1-4 打开顺序图
分别将浏览器窗口中的4个类(客户、ATM端口、钱币记录仪、分类器)拖入顺序图。当把类拖入顺序图中时,系统自动创建匿名对象。如图1-5所示。
图1-5 对象拖入顺序图
给匿名对象命名步骤如下:
右击匿名对象”:客户”图标,选择Open Specification,打开对象的规范窗口,输入姓名:邓小贫。如图1-6所示。
图1-6 给匿名对象取名
点击”OK”按钮,完成对象命名。
2.4 给对象添加消息
添加消息的步骤:
1)在工具箱中单击Object Message按钮,
2)在”邓小贫”对象的生命线上按下鼠标左键(不要松手),拖动鼠标到对象”:ATM端口”后,松开鼠标,就建立了一条消息。如图1-7所示。
图1-7 添加消息
3)右击消息,打开快捷菜单,选择Open Specification,打开消息的规范窗口,并输入消息名:请求接收钱币,如图,1-8所示。
图1-7 消息命名
4)点击”OK”按钮,完成消息命名。
同理,重复以上1~4步,给其它消息。添加完所有消息后的图1-8所示。
图1-8 顺序图
作业
请绘制某客户Joe取20美元的顺序图1-9
图1-9 作业
二.协作图
1.实验内容
协作图的创建与顺序图类似。只不过对象之间关系是链接。请绘制图1-10
图1-10 协作图
2.实验步骤
2.1 定义类
在Logic View视图下添加3个类,它们是:管理员、课程管理器、课程,如图1-11所示。
图1-11
2.2 创建协作图
右击Logic View,选择New→Collaboration Diagram,系统自动增加了一个项目:New Diagram。我们把项目名改为:协作图,如图1-12所示。
图1-12 创建协作图
2.3 往协作图中添加对象
在浏览器窗口中,双击”协作图”文本,系统就在模型图窗口打开“协作图”,如图1-13所示。
图1-13 在模型窗口中打开协作图
分别将浏览器窗口中的3个类(管理员、课程管理器、课程)拖入协作图中。当把类拖入协作图中时,系统自动为类创建匿名对象。如图1-14所示。
图1-14 往协作图中添加对象
2.4 在对象之间添加链接
在对象之间添加链接的步骤如下:
1)在工具箱中单击Object Link按钮;
2)在”:管理员”对象图标上按下鼠标左键(不要松手),拖动鼠标到”:课程管理器”图标上后松开鼠标,系统就建立了一条链接。如图1-15所示。
图1-15 给对象添加链接
同理,重复以上1~2步骤,给”:课程管理器”和”:课程”之间添加一条链接。
为”:课程管理器”添加一个自反链接的步骤如下:
1)在工具箱中,单击Link to Self按钮。
2) 单击”:课程管理器”,就增加了一个自反链接。
2.5 给链接添加消息
给链接添加消息的步骤如下:
1)在工具箱中单击Link Message或Reverse Link Message按钮;
2)在”:管理员”与”:课程管理器”之间的链接上单击,这样,就为链接添加了一条消息。
3)双击消息,打开消息规范窗口,输入消息名:printCourse(),如图1-16所示。
图1-16 消息规范窗口
4) 点击”OK”按钮,完成消息命名。如图1-17所示
图1-17 给链接添加消息
同理,重复以上1~4步,给其它链接添加消息。添加完所有消息后,如图1-18所示。
图1-18 给所有链接添加消息
现在,按F5键,这个协作图,就转换为顺序图了,如图1-19所示。
图1-19 顺序图
再按F5键,顺序图又转换成协作图。
顺序图和协作图是同构的,也就是说两张图之间的转换没有任何信息的损失。
3.作业
请绘制客户Joe取20美元的协作图1-20所示。
图1-20