您的位置:首页 > 其它

【UML学习】顺序图和协作图

2016-11-21 15:31 204 查看
1.顺序图(Sequence Diagram)
是用来显示对象之间的关系,强调对象之间消息的时间顺序,同时显示了对象之间的交互。顺序图是一个表其中显示对象沿X轴排列,而消息沿Y轴按时间顺序排列。顺序图主要包括以下元素:类角色、生命线、激活期、消息等。
 
顺序图中的结构化控制:常用Frame操作符说明 

类型
名称
含义
Opt
可选执行
监护条件使用一个方括号括起来的布尔表达式,如果操作符的监护条件为成立,那么控制操作符的主体就会得到控制。即满足条件时执行全部控制操作符。有判断的共同执行
alt
条件执行
控制操作符的主体用水平虚线分割成几个分区,每个分区表示一个条件,如果一个分区的监护条件为真,就执行该分区;如果多个监护条件为真,选择哪个分区是不确定的;如果都不为真,跳过这个控制操作继续执行。在警戒中表达互斥的条件判断,与If……else语句类似。有判断的选择执行
par
并发执行
表示没有判断条件的共同执行。
loop
循环执行
有判断条件的可重复循环的全部执行。与opt的区别是:可以重复执行,只要满足条件便执行。
 
疑问:
在rational rose中不知道如何画Frame交互框?
机房收费系统关于上机的顺序图:


 
 
2.协作图(合作图/通信图)(CollaborationDiagram)
描述一个交互的对象之间的链接,他强调发送和接受对象之间的结构组织关系。协作图只对相互间的有交互作用的对象和这些对象间的关系建模,而忽略其他对象和关联。协作图可以被视为对象图的扩展,但除了对象间的关联外还有消息传递。协作图主要包括以下元素:对象(包括参与者实例和多对象)、消息、链等。

协作图与类图的关系:协作图中的对象是类图中的实例,若去掉协作图中的交互部分,则协作图与类图很相似。通信图通常不包含所有类的实例,知识包含与协作图中相关的类的实例;协作图上可能包含同一类的多个不同的实例
机房收费系统关于上机的协作图:



Rational rose中提供了顺序图和协作图之间的自动转换功能,快捷键F5。说明了它们之间高度的相似性,但是它们也有各自的特点和优势。

区别:
顺序图更关注消息调用的时间顺序,协作图更关注系统成分如何协同工作,强调对象间的结构关系,交互参与者间的链接。
特点:
顺序图:生命线、控制焦点            在表达算法、对象的生命期、具有多线程特征的对象等方面相对来说更容易。
协作图:路径、序号                       对象与对象之间的链,多对象和主动对象的表示。少量对象间的简单交互,易于表示对象间如何连接到一起,但很难看出消息的发生顺序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: