第11讲 状态图和活动图

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 状态
2.状态的表示和要素 2.状态的表示和要素 状态的表示:用圆角的矩形框表示状态。 ● 状态的表示:用圆角的矩形框表示状态。 状态的要素:包括状态名,进入、退出、 ● 状态的要素:包括状态名,进入、退出、 内部转移的动作,子状态等。 内部转移的动作,子状态等。
状态名 进入动作
内部转移 动作
退出动作
2. 事件的描述 事件名称[参数表 事件名称 参数表] 参数表
字符串, 字符串,常为接收对象类中 的一个操作。 的一个操作。 事件的形式参数 ,可以省略
3. 事件的类型 ① 调用事件:是表示对操作的调度。 调用事件:是表示对操作的调度。
事件
变化事件:因满足某种条件而引起的事件,变化条件用 ② 变化事件:因满足某种条件而引起的事件 变化条件用 when表示。 表示。 表示
实例1 图书馆中“图书” 实例1:图书馆中“图书”的状态图
教学进程
实例2 实例2:一个电子钟的状态图
教学进程

11讲
动态模型和实现模型
11.2 活动图
11.2.1 什么是活动图 11.2.2 活动图的要素 11.2.3 活动图的用途
11.2.4 状态图与活动图的比较
11.2.1 什么是活动图
超时消息
3. 消息 ⑥消息的语法格式 [警戒条件 消息序号 返回值:=]消息名([参数列表 ) 警戒条件][消息序号 返回值: 消息名 参数列表 消息名( 参数列表]) 警戒条件 消息序号][返回值 例如: 例如:
2:display(x,y) : 1.2.1:p:=find(specs) : [x<0]4:invert(x,color) 3.1 *update() 简单消息 嵌套消息, 嵌套消息,消息带返回值 条件消息 循环消息
消息 对象
生命线
控制焦点
2. 顺序图样式和元素 ① 对象及命名
:类名 :对象名 对象名: 对象名:类名
② 生命线: 表示对象存在的时间,对象下面一条虚 生命线 表示对象存在的时间, 线表示。 线表示。
对象生命线
2. 顺序图样式和元素 控制焦点:小矩形 表示这个时间对象将执行操作。 小矩形, ③ 控制焦点 小矩形,表示这个时间对象将执行操作。
控制焦点
消息: 带箭头的连线,表示对象之间传输的信息。 ④ 消息 带箭头的连线,表示对象之间传输的信息。
消息
3. 消息 消息:对象之间传输的信息。 消息:对象之间传输的信息。 消息有以下类型: 消息有以下类型: ① 调用消息
调用消息(也称为同步消息 的发送者把控制传递给接收者 调用消息 也称为同步消息)的发送者把控制传递给接收者,然 也称为同步消息 的发送者把控制传递给接收者, 后停止活动,等到消息接收者放弃或返回控制。 后停止活动,等到消息接收者放弃或返回控制。

11讲
动态模型和实现模型
11.1 状态图 11.2 活动图 11.3 顺序图 11.4 协作图 11.5 构件图 11.6 配置图

11讲
动态模型和实现模型
11.1 状态图
11.1.1 什么是状态图 11.1.2 状态图的要素 11.1.3 状态图的作用
11.1.1 什么是状态图
1. 状态图的概念 状态图(statechart diagram): 用来描述 状态图 一个特定的对象所有可能的状态,以及由 一个特定的对象所有可能的状态 以及由 于各种事件的发生而引起的状态之间的转 移和变化。 移和变化。
2 转移
1. 转移的概念 转移(transition): 是一个状态向另外一个状态的转换。 是一个状态向另外一个状态的转换。 转移 对象处在源状态时,发生一个事件 如果条件满足,则执行 发生一个事件,如果条件满足 对象处在源状态时 发生一个事件 如果条件满足 则执行 相应的动作,对象由源状态转移到目标状态 对象由源状态转移到目标状态。 相应的动作 对象由源状态转移到目标状态。 转移用箭头表示,如果没有标注事件,则本转移为 转移用箭头表示,如果没有标注事件, 自动转移。 自动转移。
1 状态
3. 状态的类型 ① 初始状态 ② 原子状态 ③ 结束状态
④ 组合状态和子状态 子状态:被嵌套在另外一个状态中的状态。 子状态:被嵌套在另外一个状态中的状态。 组合状态:含有子状态的状态。 组合状态:含有子状态的状态。组合状态也可以有初 态和终态。 态和终态。
组合 状态
子状态
⑤ 并发状态 并发状态:指一个对象在同一时刻可以处在多种状态。 并发状态:指一个对象在同一时刻可以处在多种状态。
1. 活动图的概念 活动图(activity diagram)是UML的动态视图之一,用 的动态视图之一, 活动图 是 的动态视图之一 来描述事物或对象的活动变化流程。 来描述事物或对象的活动变化流程。
11.2.2 活动图的要素
活动
活动流 泳道
分劈
汇合
1 活动
活动(Action): 是活动图主要结点 用两边为弧的条形 是活动图主要结点,用两边为弧的条形 活动 框表示,中间填活动名 框表示 中间填活动名 。 活动分为简单活动和复合活动。 活动分为简单活动和复合活动。 简单活动:不能再分解的活动; 简单活动:不能再分解的活动; 复合活动:可以再分解的复杂活动。 复合活动:可以再分解的复杂活动。
1. 描述工作流
订货处理活动图
2. 描述工程组织过程
建筑工程过程活动图
3. 描述算法流程
实例1 实例1:找饮料的活动图
教学进程
实例2 实例2:销售处理过程的活动图
教学进程
11.2.4 状态图与活动图的比较
● 描述对象不同 状态图:描述对象状态及状态之间的转移; 状态图:描述对象状态及状态之间的转移; 活动图:描述从活动到活动的控制流。 活动图:描述从活动到活动的控制流。 ● 使用场合不同 状态图:描述对象在其生命期中的行为状态变化; 状态图:描述对象在其生命期中的行为状态变化; 活动图:描述过程的流程变化。 活动图:描述过程的流程变化。
简单 活动
复合 活动
2 活动流
活动流(ActionFlow): 描述活动之间的有向关系,反 描述活动之间的有向关系, 活动流 映一个活动向另外一个活动之间的转移。 映一个活动向另外一个活动之间的转移。用带箭头的实 线表示。 线表示。
活动流
3 分支
分支: 表示活动流的分叉和合并。 分支 表示活动流的分叉和合并。表示从一个活动 按照某种条件转移到几个不同的活动。 按照某种条件转移到几个不同的活动。
事件
③ 时间事件:满足某一时间表达式而引起的 时间事件:
事件,时间事件用 表示。 事件 时间事件用after,when表示。 时间事件用 表示
事件
11.1.3 状态图的作用
状态图: 状态图 用来描述一个对象在其生命周期中所 表现出来的状态和行为。 表现出来的状态和行为。 当在系统建模过程中需要描述某个事物或对 象的不同状态,以及状态之间转移的事件和动 象的不同状态, 作时,用状态图。 作时,用状态图。 但状态图并不是对每一个对象都需要的。 但状态图并不是对每一个对象都需要的。
调用消息
3. 消息类型 ②异步消息 异步消息的发送者通过消息把信号传递给接收者, 异步消息的发送者通过消息把信号传递给接收者, 的发送者通过消息把信号传递给接收者 然后继续自己活动,不等待接收者返回消息或控制。 然后继续自己活动,不等待接收者返回消息或控制。
异步消息
3. 消息类型 ③返回消息
返回消息表示从过程调用返回。如果是从过程调用返回, 返回消息表示从过程调用返回。如果是从过程调用返回,则返 表示从过程调用返回 回消息是隐含的,可以不画出来。 回消息是隐含的,可以不画出来。 对于非过程调用,如果有返回消息,必须画出来。 对于非过程调用,如果有返回消息,必须画出来。
Байду номын сангаас分叉
合并
4 分劈和汇合
分劈和汇合: 表示并发的同步行为,用同步杆表示。 分劈和汇合 表示并发的同步行为,用同步杆表示。
分劈
汇合
5 泳道
泳道(swimlane): 是活动图中的区域划分,每一个泳 是活动图中的区域划分, 泳道 道代表一个责任区域。一个泳道中包括一组相关活动。 道代表一个责任区域。一个泳道中包括一组相关活动。
状态图的例子: 状态图的例子
一个机器 的状态图: 的状态图
一个发货单 的状态图: 的状态图
11.1.2 状态图的要素
事件
开始 状态
转移
状态
货品发货的状态图
结束 状态
1 状态
1. 状态的概念 状态(state): 是指对象在其生命周期中 满足某些条 是指对象在其生命周期中,满足某些条 状态 执行某些活动、或等待某些事件时的一个状况。 件、执行某些活动、或等待某些事件时的一个状况。 状态指的是对象的状态。例如: 状态指的是对象的状态。例如 发票(对象 被支付(状态 对象)被支付 状态) ● 发票 对象 被支付 状态 小车(对象 正在停着(状态 对象)正在停着 状态) ● 小车 对象 正在停着 状态 发动机(对象 正在工作(状态 对象)正在工作 状态) ● 发动机 对象 正在工作 状态 电灯(对象 开着(状态 对象)开着 状态) ● 电灯 对象 开着 状态
返回消息
3. 消息类型 ④阻止消息 阻止消息指消息发送者发出消息给接收者, 阻止消息指消息发送者发出消息给接收者,如果接 消息指消息发送者发出消息给接收者 收者无法立即接收这个消息,则发送者放弃这个消息。 收者无法立即接收这个消息,则发送者放弃这个消息。
阻止消息
3. 消息类型 ⑤超时消息 超时消息指消息发送者发出消息给接收者, 超时消息指消息发送者发出消息给接收者,并按指 消息指消息发送者发出消息给接收者 定时间等待, 定时间等待,如果接收者无法在指定时间内接收这个消 则发送者放弃这个消息。 息,则发送者放弃这个消息。

11讲
动态模型和实现模型
11.2 顺序图
11.2.1 顺序图的概念 11.2.2 顺序图的样式和元素 11.2.3 消息
11.2.4 建立顺序图
1. 顺序图的概念 顺序图(sequence diagram): 用来描述为了完成确定事 顺序图 对象之间按照时间消息交互的顺序关系。 务,对象之间按照时间消息交互的顺序关系。 2. 顺序图样式和元素
自动转移
条件转移: 通过分支判断所确定的转移。 ③ 条件转移 通过分支判断所确定的转移。
条件转移
3 事件
1. 事件的概念 事件(event): 是指在确定的时间和位置所发 事件 生的对对象起作用的事情。 生的对对象起作用的事情。事件的发生将引起一 些动作,使对象发生状态的转移。 些动作,使对象发生状态的转移。 动作:动作是对象类中一个操作的执行, 动作:动作是对象类中一个操作的执行,动 作具有原子和不可中断特性。 作具有原子和不可中断特性。
泳道
6 对象流
对象流: 反映活动与对象之间的依赖关系, 对象流 反映活动与对象之间的依赖关系,表示对 象对活动的作用或活动对对象的影响,用依赖关系表示。 象对活动的作用或活动对对象的影响,用依赖关系表示。
对象流
例子:表现软件开发过程的活动图 例子:
11.2.3 活动图的用途
活动图具有广泛地用途,在软件建模中 活动图可以用来 活动图具有广泛地用途 在软件建模中,活动图可以用来 在软件建模中 活动图可以用来: 1. 描述工作流 工作流:也被称为业务流程 属于业务活动的过程 可以 工作流 也被称为业务流程, 属于业务活动的过程,可以 也被称为业务流程 用活动图来描述。 用活动图来描述。 2. 描述工程组织过程 各种工程组织过程,管理过程均可以用活动来描述。 各种工程组织过程 管理过程均可以用活动来描述。 管理过程均可以用活动来描述 3. 描述算法流程
付款确认
已确认
并发中的同步:并发状态之间需要通信,或具有确定的 并发中的同步:并发状态之间需要通信, 时序关系,称为并发中的同步。 时序关系,称为并发中的同步。
⑥ 历史状态
记录组合状态退出时所处的子状态, 记录组合状态退出时所处的子状态,以便再次进入 从这个状态开始工作。 从这个状态开始工作。
历史 状态
转移
2 转移
2. 转移的类型 自转移: 源状态和目标状态为同一状态的转移。 ① 自转移 源状态和目标状态为同一状态的转移。
自转移
自动转移: 状态根据本状态的有关情况, ② 自动转移 一个 状态根据本状态的有关情况,自 动触发进入目标状态,在转移上没有事件。 动触发进入目标状态,在转移上没有事件。
相关文档
最新文档