学习笔记 解析UML序列图中符号和生命线

本文和大家重点讨论一下UML序列图的相关内容,UML序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图,开发者一般认为UML序列图只对他们有意义。

UML序列图的目的

UML序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。很象类图,开发者一般认为UML序列图只对他们有意义。然而,一个组织的业务人员会发现,UML序列图显示不同的业务对象如何交互,对于交流当前业务如何进行很有用。除记录组织的当前事件外,一个业务级的UML序列图能被当作一个需求文件使用,为实现一个未来系统传递需求。在项目的需求阶段,分析师能通过提供一个更加正式层次的表达,把用例带入下一层次。那种情况下,用例常常被细化为一个或者更多的UML序列图。

组织的技术人员能发现,UML序列图在记录一个未来系统的行为应该如何表现中,非常有用。在设计阶段,架构师和开发者能使用图,挖掘出系统对象间的交互,这样充实整个系统设计。
UML序列图的主要用途之一,是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的UML序列图。UML序列图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互。当把这个系统移交给另一个人或组织时,这个文档很有用。

符号

既然这是我基于UML2的UML图系列文章的第一篇,我们需要首先讨论对UML2图符号的一个补充,即一个叫做框架的符号元件。在UML2中,框架元件用于作为许多其他的图元件的一个基础,但是大多数人第一次接触框架元件的情况,是作为图的图形化边界。当为图提供图形化边界时,一个框架元件为图的标签提供一致的位置。在UML图中框架元件是可选择的;就如你能在图1和2中见到的,图的标签被放在左上角,在我将调用框架的“namebox”中,一种卷角长方形,而且实际的UML图在较大的封闭长方形内部定义。

学习笔记 解析UML序列图中符号和生命线

图1:空的UML2框架元件

除了提供一个图形化边框之外,用于图中的框架元件也有描述交互的重要的功能,例如UML序列图。在UML序列图上一个序列接收和发送消息(又称交互),能通过连接消息和框架元件边界,建立模型(如图2所见到)。这将会在后面“超越基础”的段落中被更详细地介绍。

学习笔记 解析UML序列图中符号和生命线

图2:一个接收和发送消息的UML序列图

注意在图2中,对于UML序列图,图的标签由文字“sd”开始。当使用一个框架元件封闭一个图时,图的标签需要按照以下的格式:
图类型图名称
UML规范给图类型提供特定的文本值。(举例来说,sd代表UML序列图,activity代表活动图,usecase代表用例图)。

基础

UML序列图的主要目的是定义事件序列,产生一些希望的输出。重点不是消息本身,而是消息产生的顺序;不过,大多数UML序列图会表示一个系统的对象之间传递的什么消息,以及它们发生的顺序。图按照水平和垂直的维度传递信息:垂直维度从上而下表示消息/调用发生的时间序列,而且水平维度从左到右表示消息发送到的对象实例。

生命线

当画一个UML序列图的时候,放置生命线符号元件,横跨图的顶部。生命线表示序列中,建模的角色或对象实例。1生命线画作一个方格,一条虚线从上而下,通过底部边界的中心(图3)。生命线名字放置在方格里。

学习笔记 解析UML序列图中符号和生命线

图3:用于一个实体名为freshman的生命线的Student类的一个例子

UML的生命线命名标准按照如下格式:
实体名:类名

相关推荐