时序图教程
甲序列图描述了一组对象之间的相互作用参与协作(或情况),布置成按时间顺序; 它通过它们的“生命线”和它们发送给对方的消息来显示参与交互的对象。
什么是UML中的序列图?
UML序列图是详细说明如何执行操作的交互图。由于序列图可用于捕获协作环境中对象之间的交互,因此序列图的主要用途之一就是从用例所表达的需求过渡到下一个更正式的精化级别。用例通常被细化为一个或多个序列图。
序列图是时间焦点,它们通过使用图的垂直轴来可视化地显示交互的顺序,以表示什么消息被发送以及何时发送。
序列图捕获不同粒度级别的交互:
- 系统用户与系统之间,系统与其他系统之间或子系统之间的高级别交互(有时称为系统顺序图)
- 在实现用例或操作的协作中发生的交互(实例图或通用图)
- 表示对象在(Model,View / Controller)MVC模式中交互的软件框架
尝试一下!
查找在线序列图工具?只需点击下面的绘图按钮即可在线创建序列图。Visual Paradigm Online是免费*且直观的。在开始之前,您也可以通过此序列图教程了解序列图。
现在画序列图符号
生命线
生命线代表互动中的个人参与者。
演员
演员一种与主体交互的实体所扮演的角色类型(例如,通过交换信号和数据)。演员也可以是主体的外部(即,演员的实例不是其相应主体的实例的一部分)。它们通常代表人类用户,外部硬件或其他主题扮演的角色。
注意:
- 演员并不一定代表一个特定的物理实体,而只是某个实体的特殊角色
- 一个人可以扮演几个不同的角色,相反,一个给定的演员可以由多个不同的人扮演。
激活
激活由生命线上的薄矩形表示)表示元素正在执行操作的时段。矩形的顶部和底部分别与开始时间和完成时间对齐
消息
通话信息
呼叫消息定义了交互的生命线之间的特定通信,其表示调用目标生命线的操作。
返回消息
返回消息定义了交互的生命线之间的特定通信,该通信表示将信息传递给对应的先前消息的调用者。
自我信息
自我消息定义了交互的生命线之间的特定通信,其表示对同一生命线的消息的调用。
递归消息
递归消息定义了交互的生命线之间的特定通信,它表示对同一生命线的消息的调用。它是激活消息被调用的激活之上的目标点。
创建消息
创建消息定义了交互的生命线之间的特定通信,其表示(目标)生命线的实例化。
销毁消息
摧毁消息定义了交互的生命线之间的特定通信,这代表了摧毁目标生命线生命周期的请求。
时间消息
持续时间消息定义了交互的生命线之间的特定通信,其显示消息调用的两个时刻之间的距离。
注意
注释(注释)赋予将各种注释附加到元素的能力。评论不带有语义力,但可能包含对建模者有用的信息。
何时绘制序列图?
- 模拟系统中活动对象之间的高级交互
- 在实现用例的协作中对对象实例之间的交互进行建模
- 对实现操作的协作中的对象之间的交互进行建模
- 无论是对泛型交互进行建模(显示通过交互的所有可能路径)或交互的特定实例(仅显示通过交互的一条路径)
如何绘制序列图?
- 确定将参与一般协作(或用例场景)的一组对象
- 如果您根据用例的场景推导序列图,请首先选择正常场景
- 您应该知道激活用例的主要角色
- 考虑场景的第一点(或者如果从用例事件流的第一个点开始)
- 考虑当系统将消息发送给系统时,系统需要做些什么才能响应该角色
- 系统返回消息响应之前需要处理哪些系统?
- 例如,一位顾客将ATM卡插入机器,系统将在正常情况下显示“输入PIN码”,对吗?
- 猜猜,ADM内部由系统“后面”的一组对象处理什么?类似的,读取并验证ATM卡(读卡器),读取持卡人(银行)的卡信息并询问密码,或者返回“无效卡类型,插入另一张卡”等。
- 通过这种方式,您将识别该特定场景的目标应用程序的候选对象和操作,并且还可以使用这些信息作为基础来逐步推导类图。
- 重复场景中的每一点(或事件流),直到完成场景中的所有点。
你也可以:
- 为例外或替代方案绘制一组相应的序列图。
序列图示例
下面的序列图示例显示了预订座位时用户和订票系统之间的交互。它主要由四部分组成:角色,用户,边界对象'接口',控制器对象'mainController'和两个实体对象的路由和路由。
下面的序列图示例显示了患者入院过程。它显示了使用时间和持续时间的限制。
序列图示例显示如何在交互建模中使用递归消息。