顺序图

UML笔记 专栏收录该内容
14 篇文章 7 订阅

一:定义

1,UML顺序图一般用于确认和丰富一个使用情境的逻辑
2,一个使用情境的逻辑或是一个用例的一部分;或是一条扩展路径;或是一个贯穿单个用例的完整路径,例如动作基本过程的逻辑描述;或是动作的基本过程的一部分再加上一个或多个的备用情境的逻辑描述;或是包含在几个用例中的路径

3,顺序图将交互关系表现为一个二维图,纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色,类元角色的活动用生命线表示。




二:顺序图示例




三:顺序图的组成元素

1,生命线用一条纵向虚线表示。

2,在UML中,对象表示为一个矩形,其中对象名称标有下划线。

3,激活是过程的执行,包括等待过程执行的时间。在顺序图中激活部分替换生命线使用长条的矩形表示

4,消息是对象之间的通信,是两个对象之间的单路通信,是从发送者到接收者之间的控制信息流。消息在顺序图中由有标记的箭头表示,箭头从一个对象的生命线指向另一个对象的生命线,消息按时间顺序在图中从上到下排列。

5,在顺序图中,对象安排在X轴。启动交互的对象放在最左边,随后放入消息的对象放在启动交互对象的右边。交互中对象发送和接收的消息沿着Y轴以时间增加的次序放置。在顺序图中,有的消息对应于激活,表示它将会激活一个对象,这种消息称为调用消息(Call Message);如果消息没有对应激活框,表示它不是一个调用消息,不会引发其他对象的活动,这种消息称为发送消息(Send Message)

6,消息

>调用消息

>返回消息

>自身消息




>调用消息

>发送消息



>创建消息

>销毁消息



>同步消息:发送消息的对象要等到接收消息的对象执行完所有操作后,发送消息的对象才能继续执行自己的操作。

>异步消息:发送消息的对象发送消息后,不用等待接收对象是否执行,继续执行自己的操作。



7,交互片段

一个复杂的顺序图可以划分为几个小块,每一个小块称为一个交互片段。每个交互片段由一个大方框包围,其名称显示在方框左上角的间隔区内,表示该顺序图的信息。常用操作符如下:
>alt:多条路径,条件为真时执行。
>opt:任选,仅当条件为真时执行。
>par:并行,每一片段都并发执行。
>loop:循环,片段可多次执行。
>critical:临界区,只能有一个线程对它立即执行。






四:顺序图的作用

1,对于业务人员,顺序图可显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的顺序图能被当作一个需求文件使用,为实现一个未来系统传递需求。

2,对于需求分析人员,顺序图能通过提供一个深层次的表达,把用例带入下一层次。通常用例被细化为一个或者更多的顺序图。顺序图的主要用途之一,是把用例表达的需求,转化为进一步、更深层次的精细表达。
3,对于技术人员,顺序图在记录一个未来系统的行为应该如何表现时非常有用。在设计阶段,架构师和开发者能使用顺序图挖掘出系统对象间的交互,进一步完善整个系统的设计。




五:顺序图绘制技巧

1,以用例为单位创建顺序图,针对每个用例,考察为完成它所描述的功能需要哪些对象的操作参与执行,并且进一步考察这些操作的执行需要通过消息而引起其他哪些对象操作的执行。把这些对象以及参与交互的执行者组织到一个顺序图中。

2,理论上需要为每一个用例创建一个顺序图,但是如果一个用例的交互对象很简单可以不需要创建顺序图。

3,顺序图绘制步骤:
>确定参与交互的执行者
>确定与执行者直接交互的对象
>确定与交互相关的全部对象(顺藤摸瓜)

4,

>如果需要考察单个用例内部多个对象的行为可以使用顺序图
>如果需要考察单个对象的行为就需要使用状态图
>如果需要考察跨用例或者跨线程的行为就需要考虑使用活动图

5,

>需求分析阶段的顺序图:主要用于描述用例中对象之间的交互,可以使用自然语言来绘制,用于细化需求。从业务的角度进行建模,用描述性的文字叙述消息的内容。


>系统设计阶段的顺序图:确切表示系统设计中对象之间的交互,考虑到具体的系统实现,对象之间通过方法调用传递消息。




六:实例

>绘制图书管理系统“借书”用例的顺序图(业务模型)。
图书管理员打开借书界面,输入借书信息并提交借书请求;系统验证借书卡状态,如果借书卡未借书则记录借书信息且修改图书状态和借书卡状态,并提示借书成功;否则提示借书失败。


>绘制图书管理系统“还书”用例的顺序图(业务模型)。
图书管理员打开还书界面,输入还书信息并提交还书请求;系统返回借书详细信息及所需金额;图书管理员输入金额;系统修改借书记录并修改图书状态和借书卡状态;提示还书成功。








©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值