Skip to content
AI总结

笔记总结与重点分析

笔记总结

本笔记系统梳理了UML动态模型的四类核心图表及其应用。重点包含交互图(顺序图/协作图)、状态图、活动图的概念区分方法,详细解析了顺序图的消息类型(调用/返回/发送/创建/销毁)、协作图的三要素(对象/消息/链)、状态图的子状态分类(顺序/并发/嵌套)以及活动图的流程控制特性。最后阐述了动态模型构建中边界类、实体类、控制类的功能定位。

重点/易考点分析 (名词解释)

什么是交互图(Interaction Diagram)?

交互图描述对象间以及对象与参与者间动态交互过程的次序,通常对应一个用例。包括顺序图(强调消息交互时序)和协作图(强调对象收发消息的组织结构,UML2.0称为通信图)。

顺序图中的消息分为哪五种类型?

调用某个对象操作)、返回(执行操作后返回结果)、发送(发送消息给其他对象)、创建(创建另一个对象)、销毁(销毁另一个对象)。

协作图由哪些核心元素构成?

由对象(类的实例,可充当多个角色)、消息(描述系统动态行为,包含发送者/接收者/活动三部分)、链(表示对象间独立连接,是关联的实例)构成。

状态图中的子状态包括哪些类型?

顺序子状态、并发子状态、嵌套子状态。

活动图的主要作用是什么?

描述系统的工作流程和并发行为,特别能较好地表示并发流程,帮助理解涉及多个用户的工作流程;同时可描述具体操作算法,作用与程序框图相同。

实体类的核心功能是什么?

存储和管理系统内部的信息(持久存储体的信息)。

控制类在动态模型中承担什么职责?

描述一个用例所具有的事件流控制行为,控制用例中的事件顺序。

生命线在顺序图中表示什么?

每个对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在。

链在协作图中表示什么?

表示两个或多个对象间的独立连接,是关联的实例。

边界类的主要作用是什么?

描述外部参与者与系统之间的交互。 (我还没有掌握有关知识,此回答为大模型自动生成)

动态模型

  • 交互图Interaction Diagram
    • 描述对象间以及对象与参与者间动态交互过程的次序,通常对应一个用例。
    • 包括:
      • 顺序图---强调消息交互的时序
      • 协作图---强调对象收发消息的组织结构
      • (UML2.0称为通信图)
  • 状态图Statechart Diagram
    • 描述一个对象在其生存期中的状态序列,表现引起状态变换的事件和状态变化的动作。
  • 活动图 Activity Diagram
    • 描述系统的工作流程并发行为

顺序图

  • 顺序图Sequence Diagram 作用:
    • 在给定的语境中,通过对象之间的消息通信,展现对象的行为;用以发现对象的操作。
    • 顺序图可协助发现主动对象
  • 顺序图Sequence Diagram 元素:
    • 表示:对象(与参与者)之间的交互
    • 元素:一组协作的对象(与参与者)和之间发送的消息
    • 强调:消息之间的顺序

主要元素

  • 对象与角色:最顶上一排矩形框。
    • 参与交互的对象既可以是具体的事物,又可以是原型化的事物。
    • 例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order的任何一个实例。
  • 生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在。
  • 消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。当传送一个消息时,它所引起的动用是一个通过对计算过程的抽象而得到的可执行语句。
  • 消息分为五种:调用、返回、发送、创建和销毁
    • 调用:表示调用某个对象一个操作
    • 返回:表示对象执行操作后返回结果
    • 发送:表示对象发送消息给其他对象
    • 创建:表示对象创建另一个对象
    • 销毁:表示对象销毁另一个对象

建立过程

  1. 根据具体用况中的对象或参与者的交互语境,设置交互;
  2. 在顺序图上部列出所选的一组对象参与者
  3. 为每个对象和参与者设置生命线
  4. 用消息箭线显式地标出交互中将被创建撤消的对象;
  5. 在对象之间,标出消息进行传递序列
  6. 在对象生命线上,按对象操作的次序,排列各操作的激活区间,若两个对象的操作执行属于同一控制线程,则接收者操作的执行应在发送者发出消息之后开始,并在发送者结束之前结束;
  7. 描述对象执行的操作功能、时间、范围约束;
  8. 可显式地表示消息的迭代或分支。

协作图

协作图Collaboration Diagram表示协同完成某行为对象之间的交互,强调对象的消息结构,而忽略时间顺序。

协作图由对象消息等构成。

  • 对象:类的实例。对象是角色所属类的直接或间接实例,在协作图中,一个类的对象可能充当多个角色。
  • 消息:消息用来描述系统动态行为,它是从一个对象向另一个或几个对象发送信息,或由一个对象调用另一个对象的操作。
    • 由三部分组成:发送者,接收者,活动。
  • :表示两个或多个对象间的独立连接,是关联的实例。

状态图

状态图State Transition:表示对象事物的行为,描述了一个对象其生命期内响应事件所经历的状态序列以及对这些事件所做出的反应

状态图的结构表示

状态图可以用组合状态表示其组织结构,表明由两个或多个子状态构成的状态。

子状态包括:

  • 顺序子状态
  • 并发子状态
  • 嵌套子状态

建立过程

  1. 考虑某对象在特定语境中的交互行为
  2. 建立初始状态和终止状态;
  3. 从属性值的范围和条件考虑对象所在的稳定状态
  4. 从对象的生命期开始,确定状态转换
  5. 决定对象可能响应的事件
  6. 用事件连接状态,给出事件名称、条件和动作。
  7. 描绘各状态进入或退出的动作及保持状态的动作。
  8. 从对象的高层状态描绘可能的子状态(必要的时候)

活动图

活动图Activity Diagram:

  • 描述系统的工作流程和并发行为,与状态图相比,它强调流程的控制而不是状态在事件下的变化。

活动图的作用:

  • 描述业务过程,特别能较好地表示并发流程,帮助理解涉及多个用户的工作流程
  • 描述具体操作算法,与程序框图有相同的作用

活动图的概念接近结构化方法的流程图思想

建立动态模型

  • 将应用边界类、控制类和实体类
    • 边界类:描述外部参与者与系统之间的交互
    • 实体类:存储和管理系统内部的信息(持久存储体的信息)
    • 控制类:描述一个用例所具有的事件流控制行为,控制一个用例中的事件顺序