构建顺序图是以图形方式记录情景(scenarios)的方式。每当要记录一系列动作时,就可以构建顺序图,而不是编写情景。什么时候要这么做呢?由用例图部分可知,用例由一系列任务(情景)构成,可通过构建顺序图将它记录下来。假如有图4-8中的文本记录的情景,为什么要构建一个顺序图呢?原因有三个:
要记录支持对象:可记录通常不在情景中描述的所有辅助对象。由图4-8中的情景可知,可能需要一个订单表,可从中提取列表,选择用哪些订单构建清单。如果用顺序图记录,则比在情景中用普通文本描述更容易。
要记录技术问题:随着项目的发展,可能要记录一些关于顺序图的技术问题。例如,可记录所需要的参数类型和默认值等。如果这个阶段了解这些信息,则确实应该记录下来,开发人员和测试者将用到这些信息。如果将这些信息记录在顺序图中,则更容易理解要实现的内容。
一幅图片能抵得上千言万语:图形更容易记录问题,如果用普通文字描述的话,可能需要很多话语才能说清楚。
顺序图与后面介绍的协作图属于同一系列。二者的区别在于:顺序图基于时间显示情景,而协作图显示对象之间的关联方式。所谓基于时间,即一件事情先发生,接着发生另一件事情,事情完全按描述的顺序发生。
上面提到过,顺序图常与用例(情景)相关。不过,顺序图也可用于其他许多目的。用例一节曾介绍过,如果不了解正处理的业务,或任务非常复杂,需要了解业务过程的更多信息,则可执行业务分析。在执行业务分析时,可用顺序图记下所有过程(这很可能是业务用例)。实际上,顺序图可能是记录要实现内容的最强大工具。
顺序图包含以下一些元素:
- 对象(objects)
- 激活(activations)
- 消息(messages)
- 注解(notes)
下面几节将描述这些顺序图元素。
4.2.1 对象
解决方案中对象的表示符号是矩形,如图4-16所示。顺序图中的对象是解决方案中的持久元素。它们可能是表、物理窗体或类。一般情况下,对象表示解决方案中的类,也可表示节点、行动者和表等。构建顺序图的一个主要原因是:可了解顺序图中可能作为对象的候选对象。
图4-16 包含类生命线的顺序图
练习4-8显示如何将对象插入顺序图。
练习4-8
(1) 在VEA中新建UML模型。
注意:
在新模型中执行本练习时,将自动显示顺序图。或者,可右击需要插入顺序图的包,并选择New | Sequence Diagram插入顺序图。
(2) 从Shapes窗口中的UML Sequence选项卡中将Object Lifeline(对象生命线)拖入图中。
(3) 双击对象生命线,将对象生命线的名称改为Class1,该名称必须惟一。
注意:
当UML模型不包含任何类时(如本例),在打开UML Classifier Role Properties对话框(如双击Object Lifeline形状)时,将自动打开UML Class Properties对话框。这是因为每个对象必须与分类器(类)相关。如果UML模型中已有类,则当双击Object Lifeline形状时,UML Class Properties对话框不会自动打开。此时,可通过选择UML Classifier Role Properties对话框中的Classifier列表,来设置分类器。如果不存在,可单击New按钮创建,并指定设置。
(4) 在自动打开的UML Class Properties对话框中,可接受新建类(分类器)的默认名Class1。单击OK。顺序图如图4-16所示。
提示: