软件建模分析与设计 学习日志(4)序列图 (Sequence)
序列图(Sequence)
- concept
何为序列图?
。。。。。。。。。。。。。。
-
序列图将交互关系(interaction)表示为一个二维图,纵向==时间轴 横向==协作中的相互独立的对象所对应的角色
-
角色使用生命线表示。角色对应对象存在且不处于**状态时,生命线是一条虚线。角色对应对象存在且处于**状态时,生命线是双刀线(当对象拥有控制线程时,对象被**,作为线程的根)
-
消息使用(Messages Use),从一个对象的生命线到另一个对象的生命线的箭头表示,箭头根据时间顺序 在图中从上到下排列
作用
- 确认和丰富使用情境的逻辑表达,所谓使用语境指系统潜在的使用方式的描述。使用情境的逻辑可能是用例的一部分或者是控制流
- 细化用力的表达。此为序列图的主要用途之一,将用例表达的需求,转化为进一步、更加正式层次的精细表达。所以用例常被细化成1/N个序列图
- 有效地描述如何分配各个类的职责以及各类具有相应职责的原因。可以根据对象之间的交互关系来定义类的职责,各个类间的交互关系构成一个特定的用例。
- component(构成要素)
- 对象:系统的参与者/任何有效的系统对象(系统对象:系统的排序对象,用于将数组排序后返回)
对象的表现形式如下:
- 生命线 :垂直的虚线,表示序列图对象一段时间内的存在,生命线表现了对象存在的时段。 对象与生命线结合在一起称为对象的生命线
ps:对象存在的时段:对象拥有控制线程时/被动对象在控制线程通过时存在。 - 对象的**(Activation)
**是对象操作的执行,表示为一个对象直接或通过从属操作 完成操作的过程。是对操作的持续时间和操作与调用者之间的控制关系的建模。
**在序列图中用 细长的矩形框表示,顶端与**时间对齐,底端与完成时间对齐
- relation(关系)
-
消息(Messages)
从发送者(对象)向另1/N个接收者(其他对象)发送信号(调用接收者的操作)。
其有多种实现方式:
CALL:调用
SEND:发送
RETURN:返回结果
CREATE:发送者发送实例化消息后进行实例化对象
DESTROY:将对象销毁并回收其拥有的资源 -
顺序图的结构控制
opt:Optional Execution 可选执行
alt:Conditional Execution 条件执行
par:Parallel Execution 并行执行
loop:Loop/Iterative Execution 循环执行