1、顺序图概述
强调消息时间顺序的交互图,描述了对象之间传送消息的时间顺序,用于表示用例中的行为顺序
顺序图将交互关系表示为一个二维图,横向轴代表协作中各独立对象的类元角色,纵向轴是时间轴,时间沿竖线向下延伸。
顺序图就是用来描述类与类之间的方法调用过程(或消息发送过程)是如何实现的。
2、顺序图的基本内容
角色
对象
生命线
激活
消息
1、角色
人祸其他的系统或者子系统
2、对象
和类图中的对象是一致的。使用矩形框表示,对象名带有下划线。
对象包括三种命名方式
a、包括对象名和它所属类名,中间用冒号隔开
b、只显示对象名不显示类名
c、匿名对象,只显示类名
3、生命线
代表对象在一段时间内的存在。是一套虚线,对象与生命线结合在一起成为对象的生命线
对象在生命线上的两种状态:休眠和激活状态
4、激活器
称为控制焦点,代表熟悉怒图中的对象执行一项操作的时期。
uml中用小巨星表示被称为激活条或控制器,对象就是在激活条的顶部被激活的,完成工作后回到生命线
激活矩形的长度表示出激活的持续时间,持续时间是示意不用精确比例
5、消息
是对象之间某种形式的通信,在垂直生命线之间,用带有箭头的线并附以消息表达式方式表示。
消息可以激发某个操作,唤起信号或导致目标对象的创建或撤销
uml用从一条生命线开始到另一条生命线结束的箭头来表示一个消息,消息再途中生命线的上下位置决定了他的传递时间。消息可以用消息名及参数来表示,也可带有顺序号
对象间的交互是通过互发消息来实现的。一个对象可以请求或要求另一个对象做某件事件,消息从源对象指向目标对象,消息一旦发送便将控制从源对象转移到目标对象
消息的类型分为同步消息,异步消息,同步且立即返回消息
a、同步消息
发送者要发送,且接收者要接受就是同步消息
uml带实心箭头的实线来表示
b、异步消息
发送者不管接收者是否做好接受准备都可以发哦是哪个的消息称之为异步消息。发送者发送之后可以继续自己的活动。
uml用带有一个两条线箭头的实现来表示这种类型的消息。
c、同步且立即返回消息
同步且立即返回消息表示从过程调用返回
uml用一个带开放箭头的徐晓表示这种消息
消息再创建的过程中还存在一些其他的内容,比如创建对象、撤销对象、自关联对象
a、创建对象
一个对象可以通过发送消息来创建另一个对象。下图,对象在创建消息发生后才能存在,对象的生命线也是在创建消息后才存在
b、撤销对象
当一个对象被删除或自我删除时,该对象用‘X’标记,即撤销对象
c、自关联消息
表示方法的自身调用以及一个对象内的一个方法调用另外一个方法(同一个对象中A方法调用该对象的B方法)
3、约束
当对象的交互建模时,有时需要在某种条件满足时消息才会传递个对象。
uml中需要在消息名前加入约束条件,并放入【】中,约束条件用于描述代码中if语句结构
也可以实现循环约束,在使用 * [],* 代表循环,[]代表循环条件
以上这种约束被称为组合片段,有12种类型。
实际创建需要将组合片段组件放在顺序图中
多个组合片段还可以复合在一起
画顺序图的一般步骤是:
- 确定交互的范围
- 确定参与交互过程的活动者与对象
- 确定活动者,对象的生存周期
- 确定交互中产生的消息
- 细化消息的内容
4、给汽车钥匙按锁车并上锁并闪灯的uml图
1、顺序图的初始
2、汽车和车钥匙顺序图
5、atm机取钱的uml图
6、图书馆借书、还书的uml图
1、借书
2、还书
3、查询书籍顺序图
4、添加图书顺序图
5、删除图书顺序图
6、添加节约着账户的顺序图
7、通信图概述
也叫合作图,是一种交互图,强调的事发送和接收消息的对象之间的组织结构。
通信图可以显示对象角色之间的关系。如为实现某个操作或达到某种结果而在对象间交换的一组消息。如果强调时间和序列,最好选择序列图,如果强调上下文相关,最好选择通信图。
8、通信图的基本内容
1、活动者(actor)
发出主动操作的对象
2、对象
类的实例
3、链接
表示两个对象共享一个消息,
4、消息
与顺序图中的消息很类似
利用消息可以完成很多任务,可以顺序执行(序列化),添加条件限制发送,创建带有消息的对象实例和执行迭代
a、在消息前添加序列号
b、控制点条件
根据消息表达式的计算结果来限制消息的发送。控制点包含在消息中,在序列id号和消息文本之间。
c、创建实例
消息也可以用来在通信图中创建对象实例
d、发送给多对象的消息
有时按书序发送消息是很重要的,可以用while条件表达出消息的顺序
e、返回结果
消息可能是要求某个对象进行计算并返回结果的值
uml使用:=来操作返回值
f、构造型
可以在现有的uml元素的基础上创造新的元素,使用两队尖括号括起来的名称表示
9、汽车与汽车钥匙的通信图
10、atm取款通信图
11、图书款借书、还书通信图