生命线(Lifeline)

生命线元素代表模块中的一个部件(或系统中的一个执行者)的实例,这个模块是生命线所在的序列图代表的交互元素所属的模块。

生命线用一个下面有一条虚线的矩形框表示,矩形框称作它的“头”。这个虚线代表了生命线表示的部件中发生的事件的顺序,它总是从上到下的顺序(除非覆盖生命线的节点有表示操作顺序的复合节点)。

生命线的语法说明

           英文说明:

<lifelineident> ::= ([<connectable-element-name>[‘[‘ <selector> ‘]’]] [: <connectable-element-type>][<decomposition>]) |‘self’

<selector> ::= <expression>

<decomposition> ::= ‘ref’ <interactionident> [‘strict’]

 

中文说明:

在生命线的“头部”方框中,一般的显示格式是:

 

 “元素名称”:代表的属性元素的名称(代表元素见后面“选择代表元素”说明);

“选择器”:一个标记具体生命线实例的名称、索引号等任何字符串。

“类型”:代表的属性元素的类型;也可以直接选择生命线元素的类型。序列图中,这个生命线元素上发生的行为、动作,指的都是这个“类型”元素包含的行为、行为中的动作。生命线代表的实例,就是这个类型的实例。所以,这个类型是生命线不可缺的信息。如果整个生命线头部框中只显示“self”,表示这个生命线是交互图所属的那个类型元素。

“分解交互元素”:表示这个生命线上发生的行为,可以在一个更具体的交互元素表示的序列图中显示,这个交互元素代表的行为属于生命线类型元素。在这个分解的交互元素的序列图中,当前生命线类型元素将分解为它的组成部分代表的子生命线。用关键字 “引用”(或ref)+“交互元素名称”表示。“strict”说明“分解交互元素”序列图中的子生命线的都是“严格”顺序(严格顺序参见“严格”交互数的说明)。

 

对生命线的操作

通过以下右键菜单,可以对生命线元素进行如下操作:

 选择代表元素:在弹出的元素选择窗口中选择生命线代表的元素。在这个窗口中,根节点是序列图代表的交互元素(Interaction)所在的模块元素(或者其它各种可以包含行为的行为类目元素,包括用例,即UML的元素类型是BehavioredClassifier的元素)。根节点下面的子节点是这个模块元素包含的各种属性。选择一个属性子节点,然后“确定”,绑定生命线和属性元素的关系。在这个窗口中,也可以“清除元素值”,取消生命线和以选择属性元素的关系。

 选择类型:如果上一步中选择了生命线代表元素,则不能再选择生命线的类型。这时候生命线的类型就是上一步中选择的代表的属性元素的类型。如果没有选择过代表元素,可以通过“选择类型”右键菜单,设置生命线的类型。生命线的类型可以是一个模块(Block),或其它Type类型的元素。因为生命线代表的是一个可以发生行为的元素,所以应该是一个拥有行为的元素类型。

直接选择一个生命线的类型,一般是选择当前的序列图代表的那个交互元素所在的那个模块。上一步中选择代表元素,只能选择这个模块的属性,也就是它的一个部件。通过“选择类型”菜单,可以选择这个模块,这样可以在序列图中表示部分和整体之间的交互情况。另外一种表示交互元素所在模块的方法是直接在生命线的方框中输入“self”,那么这个生命线就是表示交互元素所在的模块。

选择分解的交互元素:在弹出的选择窗口中选择一个交互元素。它表示在这个交互元素的序列图中,这个生命线会进一步的分解。在这个分解的交互元素的序列图中,当前图中覆盖这个生命线的交互片段,应该在这个分解的交互图中相应的覆盖这个生命线分解的所有子生命线。即在分解的交互图中,当前这个生命线发生的行为会被更详细的分解说明,而且和上一层图一一对应。

MBSES用户使用说明书