Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

第四章

动态模型

ACCP V4.0
回顾 2-1
关键抽象是一个类或一个对象,可组成问题域词
汇的一部分
在派生关键抽象时,一定要记住抽象的层次不应
过高或过低
可通过以下方面标识类:
需求说明
用例
应用程序专家
研究系统

2 ACCP V4.0
回顾 2-2
对象是类的实例,因此对象图与类图相似
类之间的各种类型的关系包括:
关联
泛化
依赖
聚合
组合
继承

3 ACCP V4.0
目标
列出动态模型的优点
理解动态模型的组件
用 XDE 制作时序图
用 XDE 制作状态图
用 XDE 制作活动图

4 ACCP V4.0
简介

模型表示系统静态和动态的行为。这种表示形式可为
同一系统提供不同的视角

静态模型展示了构思中 动态模型是系统的表示形式,也
的系统结构方面 就是过程和行为的集合

5 ACCP V4.0
动态模型的优越性 2-1
动态模型描述系统与操作时间和顺序有关的系统方面、影响更改的
图示是通过列表和图 模型可按数据实际存储的方式表示数据,
事件、事件的序列、事件的环境以及事件的组织
指明错误的简单方法 这有助于开发人员熟悉将要使用的数据




采用动态
建模的优点

简易性

使用高级表示层通常可导致使用更少但更广泛的结构

6 ACCP V4.0
动态模型的优越性 2-2
操作和维护模型比操作和
维护实际系统容易得多

使用户和开发人员
都能更容易地理解
构思中的系统
动态模型
的优越性
可监视构思中的
系统是否存在任
何类型的缺陷 可助于解释状态的
改变和降低复杂度

7 ACCP V4.0
动态模型的组件 5-1

状态图

时序图

动态模型
的组件

协作图
活动图

8 ACCP V4.0
动态模型的组件 5-2

状态图描述了单个事物如何为响应发生的事件而更改状态
和生成响应,并通过此方式与其环境进行交互

状态图示例如下所示:

如果无效 如果有效
则重复状态 1 则转换状态 2
初始状态 最终状态

状态1 状态2

9 ACCP V4.0
动态模型的组件 5-3

时序图用于按时间顺序模拟控制流程。它显示了在对象生命线上各点之
间的对象传递的消息,演示了在时间序列中对象之间的交互

时序图示例如下所示:
对象 1 对象 2 对象 3

method1() method1()

Message1 Message2

同步消息 异步消息

生命线表示对象存在的时间

时序图示例
10 ACCP V4.0
动态模型的组件 5-4

协作图用于按组织模拟控制流程。消息在对象之间传递,
但重点应在于演示或检测对象间结构样式的协作

对象 1
1.1 进行交易 ()

对象 2 1.1.1 进行交易 ()

1.1.1.2 1.1.1.2.1
checkMoneyLine() gotoMarket()

对象 3 对象 4 对象 5

协作图示例
11 ACCP V4.0
动态模型的组件 5-5

活动图显示活动与活动之间的流程。活动是状态机中
当前执行的活动,由作用于系统状态的操作组成

操作活动1 操作活动2 操作活动3

初始状态

结束状态 操作活动4

活动图示例
12 ACCP V4.0
时序图 6-1
时序图演示按时间序列安排的交互,用于显示特定用例
或特定用例某部分的详细流程

13 时序图 ACCP V4.0


时序图 6-2
在显示递归时,事件箭头会回到从其开始的同一对象处 ,
“validateCoin”方法调用就是一个递归调用,其目的为验证硬币。
可通过验证硬币的重量及其尺寸来执行硬币的验证

递规

14
递归
ACCP V4.0
时序图 6-3

在Rational XDE中单击“文件”->“Open Rational…”


打开第二章创建的“在线拍卖”系统的工程。

创建一个类图

15 演示:创建时序图的步骤。 ACCP V4.0


时序图 6-4
在 Model Explorer 中,右击要在其中添加新图
的模型,然后选择“Add Diagram”,再从不同的
图类型中选择“Sequence :Role”,创建一个时序图。
从 Model Explorer 中拖出参与者“买主” 和 步骤2创
建的所有分析类,放置到时序图上 。

16 ACCP V4.0
时序图 6-5
创建对象之间的消息传递

17 演示:创建时序图的步骤。
ACCP V4.0
时序图 6-6
竞拍用例的时序图

演示:创建时序图的步骤。
18 ACCP V4.0
状态图 4-1

状态图显示对象在生命周期内响应外部事件和消息时所经历的状态序列。

支票存款
支票结算

未结算的余额 更新余额

状态图

19 ACCP V4.0
状态图 4-2
创建一个工程后,再创建状态图
在 Model Explorer 中,右击然后并单击
“Add Diagram”>“Statechart”。

演示:创建状态图的步骤。
20 ACCP V4.0
状态图 4-3
创建状态图符号

状态图中的用户帐户的各种状态

演示:创建状态图的步骤。
21 ACCP V4.0
状态图 4-4
创建转换

状态图中的转换
演示:创建状态图的步骤。
22 ACCP V4.0
活动图 4-1
活动图通过显示已执行活动的序列描述活动的状态。
活动图描述系统的工作流行为

接到订单

订单填写 发送发票
紧急定货 否则

第二天到货 常规交付 收到付款

结束订单

23 活动图 ACCP V4.0


活动图 4-2

创建一个工程,再右击 Model Explorer ,然


后单击“Add Diagram”>“Activity”。在模型中
添加一个新的活动图 。

新建一个活动图
24 ACCP V4.0
活动图 4-3
创建活动及连接

25
活动图中的活动与连接
ACCP V4.0
活动图 4-4
创建分支

活动图中的分支
26 ACCP V4.0
总结
明确性、可视性和简易性是促使动态建模得以接
受的几个优点
时序图用纵轴表示对象,用横轴表示对象间传递
的消息
协作图是时序图的备选视图
状态图着重于响应消息时在对象中发生的事件
可用活动图表示整个业务流程

27 ACCP V4.0

You might also like