一.交互图概述
● 用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。
● 交互用于描述协作的动态行为方面。
● 当对交互建模时,通常包括对象,又包括消息。
● 其中包括顺序图和合作图两种。
二.顺序图概述
1.定义
序列图描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图。
简单来说,就是按照时间顺序,来描述对象间是如何传递、完成消息的。
2.组成
(1)对象:类的实例。
● 符号:显示在单独的列里。
● 左右排列位置:把交互频繁的尽量靠拢,把初始化整个交互活动的对象放置在最左边。
(2)生命线:表示对象的生存时间。
● 两种状态:休眠与激活状态。
(3)消息:对象间的交互是通过互发消息实现的,一个对象可以请求或要求另一个对象做某件事。
● 表示:从源对象指向目标对象。
● 阅读顺序:严格按照自上而下。
● 类型:
简单消息:不区分是同步或是异步的消息。
同步消息:消息的发送者将消息传递给消息的接收者,然后停止活动,等待对方的回应消息。
异步消息:消息的发送者将消息传递给消息的接收者,不用停止活动,即可开始另一个活动。
返回消息:从消息接受对象返回信息。
3.如何绘制
● 从用例中识别交互过程;
● 识别参与交互过程的对象;
● 为每一个对象设置生命线,并确定对象的存在期限;
● 从引发交互的初始消息开始,在对象生命线上依次画出交互的消息;
● 如果需要,可以给消息增加时间约束,前置条件或后置条件。
4.实例:用户登录机房收费系统的顺序图
用例:登录系统
参与者:所有用户
基本事件流:
① 用户输入用户号和用户密码;
② 系统检查用户输入信息的合法性;
③ 系统进入主界面;
④ 系统记录该用户登录信息。
扩展事件流:
① 没有该用户号,则提示,登录失败;
② 用户号与用户密码不一致,则提示,登录失败。
按下F5,同时生成合作图。
三.合作图概述
1.定义
用来描述为了完成确定事务,各对象之间消息联系的结构关系。
2.组成
(1)对象
● 类型:
主动对象:有一方法可以自动主动执行。
多对象:同属于一个类的多个对象的集合。
(2)链和消息
连接对象的线段,以及对象之间传输的信息。
3.实例:用户登录机房收费系统的合作图
四.顺序图与合作图的异同
● 都属于交互图,用来描述对象之间的动态关系。
● 顺序图强调消息的时间顺序;合作图强调参与交互的对象的组织结构关系。
● 顺序图和合作图在语义上是等价的,两者可以相互转换。
五.顺序图与用例图、类图间的关系
类图和时序图是在软件系统设计中直接和程序代码相关联的图。
准确地说,程序代码是由类图直接产生,而时序图可以定义类图的方法。
用例图用来描述系统功能,和类图与时序图没有直接关系。
1、 用例图的每一个用例应有一张时序图来表述;
2、 时序图要将所有类图中类的连线表示出来,如做得好,每一个连线用一个时序图表述;
3、 时序图中的每一个消息,要和类图中各个类的方法一一对应。
六.学习心得
每次想到自己的学习,都是不敢往前想,因为感觉前面的路都是未知的。
而每次看到自己写完的总结的博客,总会感觉轻松了许多,也对前方的路有了一分把握。
学习,还是自己的事儿,想着自己可以,就只要去做。去做,一个个问题都可以迎刃而解的。