--确定链接顺序: 先确定关联链接,哪些对象相互链接; 在确定消息链接, 路径构造型等 表示对象间如何连接;
--消息顺序: 从引起交互的消息开始编号, 将编号信息 和 描述信息 附到链接上, 描述了对象之间的传递次序;
--时间空间约束: 可以为每个消息附加 时间 和 空间 上的约束;
--前置后置条件: 可以为每个消息附加 前置 和 后置 条件;
5. Rational Rose 绘制 协作图
(1) 创建协作图
创建流程: 视图浏览器 -> Logical View (逻辑视图) -> New (新建) -> Collaboration Diagram (协作图);

(2) 添加对象
协作图中添加对象: 与时序图基本类;
--添加参与者对象: 在类图中创建好类, 然后将类型设置为Actor, 然后在视图浏览器中将Actor拖到协作图中;
--添加普通对象: 直接点击工具栏中的图标设置即可;

(3) 添加消息
添加对象间消息: 在两个对象之间添加消息;
--建立通信路径: 使用连接两个对象, 建立两个对象间的通信路径;
--添加消息: 使用或在通信路径上添加消息;
--设置消息名称: 双击消息箭头, 可以在弹出的对话框中修改消息名称;
添加反身消息: 选择点击 对象, 就会出现指向对象本身的路径, 选择点击这个指向本身的路径, 可以为该对象添加消息;

(4) 添加数据流
数据流概念: 数据流是一个对象向另一个对象发送消息返回的消息;
--使用场景: 没必要在每个消息上都加上数据流, 只要在中药消息上附加数据流即可;
数据流添加方法: 选择或按钮, 单击要返回的数据消息, 数据流箭头就会被添加到这个消息上;

.
6. 时序图 与 协作图 转换
各自侧重点: 时序图 和 协作图 是等价的, 可以任意转换, 而不丢失信息;
--时序图: 描述交互过程中的时间顺序, 没有明确表达对象间关系;
--协作图: 描述了对象间的关系, 但是时间顺序必须从消息的序号中获取;
转换示例:
--场景介绍: 学生毕业管理;
--对象介绍: 教务人员, 学位评价, 成绩管理, 奖惩管理, 信息打印;
--控制流介绍: ① 教务人员 输入学号 进入学位评价模块, ② 学位评价模块 会向 成绩管理模块查询成绩, ③ 向奖惩管理模块 查询 奖惩记录, ④ 学位评价模块 会将结果打印到 信息打印模块, ⑤ 信息打印模块 将结果返回给教务人员;
时序图:

协作图:

7. 时序图 和 协作图 对比
时序图 和 协作图 共同点: 都是有 消息 和 类角色组成;
--规定责任: 时序图 和 协作图 都规定了 消息发送对象 和 消息接收对象 的责任, 每个接收对象都有消息对应的接口, 这个接口方法由消息发送对象触发;
--支持消息: 时序图 和 协作图 都支持消息;
--衡量工具: 时序图 和 协作图 可以作为衡量系统耦合性的工具, 耦合性就是 系统中模型之间的依赖性, 两个模型之间的依赖关系通过查看两个模型之间的消息数量 和 类型就可以看出, 消息交互少的 耦合性高;
时序图 和 协作 不同点:
--对象创建撤销侧重点:时序图侧重描述对象的创建 和 撤销, 新创建的对象放在对象生命线上对应的时间点, 撤销的对象在结束的地方放一个 X 表示该对象不能再继续使用;协作图中 创建 撤销的概念不存在, 对象时始终存在的, 只能通过消息描述 或 约束 来说明对象的创建和撤销;
--链接侧重点:时序图中的链 没有表示出来, 可以随意绘制消息, 有些逻辑交互可能不会发生;协作图的消息 是映射在链 上的, 消息 和 链 平行放置, 如果想要通过消息 查看 对象之间的关联 使用协作图最好;
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29553-4.html
台湾人应该明白了
晚安