认识顺序图
1254字,阅读需时5分钟
来自专栏
课程/专栏

在前面的课程中,我们建立了类图模型,类图模型描述了系统的类及类之间的关系。类图模型也称为系统的静态结构,因此从类图模型中我们还看不到业务的处理过程以及类与类交互的信息,在UML建模语言中,这些信息是通过顺序图来描述的。

顺序图用于描述在业务处理过程中类之间的交互顺序,这些交互顺序是在场景或用例的信息流中发生的。由于描述的是动态行为,顺序图中类被称为对象,也就是实例化后的类。

在顺序图中共有四个基本符号:(1)参与者符号,由一个方框加一个小人图形表示,小人图形在方框之上,方框内写入参与者的名称;(2)对象符号,由一个方框表示,方框内写入对象的名称;(3)生命线符号,由虚线或狭窄的竖直方框表示;(4)消息符号,由带消息描述的方向箭头表示。下图是一个典型的顺序图,表明了顺序图要使用的通用格式和符号。

image.png  

                                            

图 1 顺序图的符号


在上面的顺序图中,参与者是一个外部、物理的人,它扮演用户的角色,代表物理的人。对象是系统中被实例化的类,例如人脉系统的用户类在系统运行过程中,会创建多个对象,每个对象就是类的一个实例,一个实例对应一个外部参与者。

竖直的虚线称为生命线,每一个参与者和对象都有生命线,它用于描述场景内的参与者和对象的生命周期,时间是从上到下,生命线显示了消息的顺序,消息沿生命线从上到下依次发生。

对象生命线上的长条矩形框表示对象处于激活状态,当一条消息传递给对象的时候,对象响应该消息并触发对象的某个行为,这时该对象就处于激活状态。当对象没有被激活时,对象处于休眠状态,等待接收消息被激活。

在顺序图中,对象之间的交互是通过发送和接收消息来实现的。一个对象向另一个对象发送消息并希望得到回应时,会有两种情况,一种情况是暂停活动并等待消息的回应,直至收到消息回应后再开启活动,这是同步消息;另外一种情况是不管是否收到消息的回应,活动照样执行,即不需要暂停活动来等待消息的回应,这是异步消息

在顺序图中,还有一种消息就是自关联消息,自关联消息就是对象向自己发送消息。例如,对象在活动中调用内部的方法或函数。

下图是各种消息的表示方法。

image.png

图 2 顺序图中消息的表示方法

在绘制顺序图模型时,可能需要绘制一些流程控制,例如循环和条件流程控制,消息机制无法绘制这些流程控制。顺序图另外提供了“片段”机制用于描述比较复杂的动作序列,支持的片段有循环片段、可选片段、备用片段和其他片段。

image.png


图 3 用户登录顺序图

上图是用户登录顺序图。用户在登录系统的过程中,可能会输错账号或密码,系统允许用户重新输入账号或密码再次登录。因此用户的登录过程是一个循环流程,在顺序图用循环片段来表示。

前面我们讨论了什么是顺序图以及顺序图的表示方法,了解了顺序图是描述系统业务执行过程中对象之间的交互顺序。下节课我们将利用这些知识,为人脉项目V1.0系统建立顺序图模型。

我要评论
全部评论