前言 |
正文 |
序列图又称顺序图、时序图,是对对象之间传送消息的时间顺序的可视化表示。描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
序列图的主要用途是把用例表达的需求,进一步转化为更加正式、层次明确的精细表达。用例常常被细化为一个或者更多的序列图。
绘制序列图
序列图包含的元素:参与者/角色、对象、消息、生命线、激活、约束、注释、组合
序列图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向代表了在协作中各个独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象是处于激活状态的过程中,生命线是一个双道线。
生命线: 生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。每个对象的底部中心位置都有生命线。生命线就是这个对象的时间线,这个时间取决于交互持续的时间。 生命线名称可带下划线。当使用下划线时,意味着序列图中的生命线代表一个类的特定实例。
对象: 和对象图中的对象所用的符号一样,都是使用矩形将对象名称包起来,并且对象名称下面有下划线。将对象置于时序图的顶部意味着在交互开始的时候对象就存在了,如果对象的位置 不在顶部,表示对象是在交互的过程中被创建的。
消息: 消息就是交互过程中交换信息的类,给对象之间的通信进行建模。消息是两个对象之间的单路通信。消息可以在对象之间传递参数。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。消息可分为简单消息、同步消息(需要等待)、异步消息(异步发送消息,不需要等待)
注释: 过程执行完毕后,给予状态变化的提示。
约束: 判断是否满足条件,给予反馈信息。
组合: 组合片段用来解决交互执行的条件以及方式。它允许在序列图中直接表示逻辑组件,用于通过指定条件或子进程的应用领域,为任何生命线的任何部分定义特殊条件和子进程。常用的组合片段有抉择、选项、循环、并行。
以机房收费系统中【注册】为例举例说明:
七、协作图
协作图又称为合作图,是交互图中的一种,它用来描述相互合作对象之间的关系,更侧重于说明发送和接受消息的对象的组织结构。
UML协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计人员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。
与序列图不同,协作图显示了对象之间的关系。序列图和协作图表述的是相似的信息,但表述形式不同,协作图显示对象之间的关系,它更有利于理解给定对象的所有影响,也更适合于过程设计。协作图的格式决定了它们更适合在分析活动中使用。协作图非常适合描述少量对象之间的简单交互。随着对象和消息数量的增多,使用协作图理解起来会越来越困难;协作图很难显示补充的说明性信息,例如时间、判定点或其他非结构化的信息,而这些信息在序列图中可以添加到注释中。
序列图常用来表示设计的方案;协作图用于软件设计过程中的详细设计。序列图和协作图可以相互转化。
绘制协作图
协作图包含的元素:角色、对象、链、消息。
协作图和时序图的互换: 协作图和时序图都是表示对象间的交互作用,只是它们侧重点不同。时序图描述了交互过程中的时间顺序,但没有明确表达对象间的关系;协作图描述了对象间的关系,但时间顺序必须从序列号获得。协作图和时序图都是来自UML元模型的相同信息,因此它们语义是等价的,它们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。转换的快捷键为F5.
以机房收费系统中【注册】为例举例说明:
结语 |
*感谢您的阅读,希望对您能有所帮助*