软件建模分析与设计 学习日志(4)序列图 (Sequence)

序列图(Sequence)

  1. concept

何为序列图?
。。。。。。。。。。。。。。

  • 序列图将交互关系(interaction)表示为一个二维图纵向==时间轴 横向==协作中的相互独立的对象所对应的角色

  • 角色使用生命线表示。角色对应对象存在且不处于**状态时,生命线是一条虚线。角色对应对象存在且处于**状态时,生命线是双刀线(当对象拥有控制线程时,对象被**,作为线程的根)

  • 消息使用(Messages Use),从一个对象的生命线到另一个对象的生命线的箭头表示,箭头根据时间顺序 在图中从上到下排列

作用

  • 确认和丰富使用情境的逻辑表达,所谓使用语境指系统潜在的使用方式的描述。使用情境的逻辑可能是用例的一部分或者是控制流
  • 细化用力的表达。此为序列图的主要用途之一,将用例表达的需求,转化为进一步、更加正式层次的精细表达。所以用例常被细化成1/N个序列图
  • 有效地描述如何分配各个类的职责以及各类具有相应职责的原因。可以根据对象之间的交互关系来定义类的职责,各个类间的交互关系构成一个特定的用例
  1. component(构成要素)
  • 对象:系统的参与者/任何有效的系统对象(系统对象:系统的排序对象,用于将数组排序后返回)
    对象的表现形式如下:

软件建模分析与设计 学习日志(4)序列图 (Sequence)
软件建模分析与设计 学习日志(4)序列图 (Sequence)
软件建模分析与设计 学习日志(4)序列图 (Sequence)

  • 生命线 :垂直的虚线,表示序列图对象一段时间内的存在,生命线表现了对象存在的时段对象与生命线结合在一起称为对象的生命线
    ps:对象存在的时段:对象拥有控制线程时/被动对象在控制线程通过时存在。
  • 对象的**(Activation)
    **是对象操作的执行,表示为一个对象直接或通过从属操作 完成操作的过程。是对操作的持续时间操作与调用者之间的控制关系的建模。
    **在序列图中用 细长的矩形框表示,顶端与**时间对齐,底端与完成时间对齐
    软件建模分析与设计 学习日志(4)序列图 (Sequence)
  1. relation(关系)
  • 消息(Messages)
    从发送者(对象)向另1/N个接收者(其他对象)发送信号(调用接收者的操作)。
    其有多种实现方式
    CALL:调用
    SEND:发送
    RETURN:返回结果
    CREATE:发送者发送实例化消息后进行实例化对象
    DESTROY:将对象销毁并回收其拥有的资源
    软件建模分析与设计 学习日志(4)序列图 (Sequence)

  • 顺序图的结构控制
    opt:Optional Execution 可选执行
    alt:Conditional Execution 条件执行
    par:Parallel Execution 并行执行
    loop:Loop/Iterative Execution 循环执行