UML,交互图

一.交互图概述

● 用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。

● 交互用于描述协作的动态行为方面。

● 当对交互建模时,通常包括对象,又包括消息。

● 其中包括顺序图和合作图两种。

二.顺序图概述

1.定义

序列图描述了对象之间传递消息的时间顺序,用来表示用例中的行为顺序,是强调消息时间顺序的交互图。

简单来说,就是按照时间顺序,来描述对象间是如何传递、完成消息的。

2.组成

(1)对象:类的实例。

 符号:显示在单独的列里。

 左右排列位置:把交互频繁的尽量靠拢,把初始化整个交互活动的对象放置在最左边。

(2)生命线:表示对象的生存时间。

● 两种状态:休眠与激活状态。

(3)消息:对象间的交互是通过互发消息实现的,一个对象可以请求或要求另一个对象做某件事。

● 表示:从源对象指向目标对象。

● 阅读顺序:严格按照自上而下。

● 类型:

简单消息:不区分是同步或是异步的消息。

同步消息:消息的发送者将消息传递给消息的接收者,然后停止活动,等待对方的回应消息。

异步消息:消息的发送者将消息传递给消息的接收者,不用停止活动,即可开始另一个活动。

返回消息:从消息接受对象返回信息。

3.如何绘制

● 从用例中识别交互过程;

● 识别参与交互过程的对象;

● 为每一个对象设置生命线,并确定对象的存在期限;

● 从引发交互的初始消息开始,在对象生命线上依次画出交互的消息;

● 如果需要,可以给消息增加时间约束,前置条件或后置条件。

4.实例:用户登录机房收费系统的顺序图

用例:登录系统

参与者:所有用户

基本事件流:

 用户输入用户号和用户密码;

 系统检查用户输入信息的合法性;

 系统进入主界面;

 系统记录该用户登录信息。

扩展事件流:

 没有该用户号,则提示,登录失败;

 用户号与用户密码不一致,则提示,登录失败。

UML,交互图

按下F5,同时生成合作图。

三.合作图概述

1.定义

用来描述为了完成确定事务,各对象之间消息联系的结构关系。

2.组成

(1)对象

● 类型:

主动对象:有一方法可以自动主动执行。

多对象:同属于一个类的多个对象的集合。

(2)链和消息

连接对象的线段,以及对象之间传输的信息。

3.实例:用户登录机房收费系统的合作图

UML,交互图

四.顺序图与合作图的异同

● 都属于交互图,用来描述对象之间的动态关系。

● 顺序图强调消息的时间顺序;合作图强调参与交互的对象的组织结构关系。

● 顺序图和合作图在语义上是等价的,两者可以相互转换。

五.顺序图与用例图、类图间的关系

类图和时序图是在软件系统设计中直接和程序代码相关联的图。

准确地说,程序代码是由类图直接产生,而时序图可以定义类图的方法。

用例图用来描述系统功能,和类图与时序图没有直接关系。

1、 用例图的每一个用例应有一张时序图来表述;
2、 时序图要将所有类图中类的连线表示出来,如做得好,每一个连线用一个时序图表述;
3、 时序图中的每一个消息,要和类图中各个类的方法一一对应。

六.学习心得

每次想到自己的学习,都是不敢往前想,因为感觉前面的路都是未知的。

而每次看到自己写完的总结的博客,总会感觉轻松了许多,也对前方的路有了一分把握。

学习,还是自己的事儿,想着自己可以,就只要去做。去做,一个个问题都可以迎刃而解的。

上一篇:机房收费系统之组合查询


下一篇:用NSCalendar和UICollectionView自定义日历,并实现签到显示