建立动态模型-状态图共33页文档

合集下载

Rational-Rose建模讲解(共102张)

Rational-Rose建模讲解(共102张)
第6页,共102页。
Rose的基本操作
• 自定义工具栏
第7页,共102页。
Rose的基本操作
• 系统弹出自定义工具栏窗口,在左面窗口中选中当前工具栏中没 有(méi yǒu)的按钮,点击“添加(A)”按钮即可。
第8页,共102页。
Rose的基本操作
• 保存(bǎocún)模型
右键点击浏览器窗口中的“untitled”,在弹出的快捷菜单中选择 “save”,或者选择主菜单“File”下的“save”子菜单,系统弹 出文件保存对话框,如图所示。
学生(Student)
教师(Teacher) 系统管理员(Administrator) 学籍档案系统(Archive System)
第20页,共102页。
2. 确定业务(yèwù)需求用例
• 以下问题可以帮助我们更好地标识系统的用 例:
每个参与者的特定任务是什么? 是否每个参与者都要从系统中创建、存储、改变、移动或
• 主事件流表示正常情况下执行者与系统之间的信息交 互及动作(dòngzuò)序列,备选事件流则表示特殊情况或异 常情况下的信息交互及动作序列。
• 应给出每个用例的规格说明。
第25页,共102页。
用例“选择课程”的规格(guīgé)说明
第26页,共102页。
• 用例“选择课程”的规格(guīgé)说明
• 通常是围绕参与者创建用例图。
第28页,共102页。
使用Rose创建(chuàngjiàn)用例模型
1. 在Rose中创建参与者(actors)
创建的角色应放在Use-Case Model包中的Actors包中 比较好,如果模型结构中没有这样的包,可以先创建 Actors包,之后按下面的步骤创建角色: (1) 在浏览器窗口中的Actors包上单击鼠标右键,显示 弹出菜单;

类图、时序图、状态图-ATM系统

类图、时序图、状态图-ATM系统
(2) 误把关联类旳属性看成对象旳属性 假如某个性质依赖于某个关联链旳存在,则该性质是 关联类旳属性,不应该把它作为一般对象旳属性。 例如,带宽是体现关联旳属性而不是ATM旳
10.3 建立对象模型
10.3.4 拟定属性
➢ 分析
(3) 把限定误当成属性 正确使用限定词往往能够降低关联旳重数。假如把某 个属性值固定下来后来能降低关联旳重数,则应该考 虑把这个属性重新表述成一种限定词。 在ATM系统旳例子中,“分行代码”、“账号”、 “雇员号”、“站号”等都是限定词。 (4) 误把内部状态当成了属性 假如某个性质是对象旳非公开旳内部状态,则应该从 对象模型中删掉这个属性。
对象模型最基本、最主要、最关键。
10.1 面对对象分析旳基本过程
▪ 3个子模型
对所处理问题旳描述角度进行划分:
3个子模型
静态构造(对象模型) 交互顺序(动态模型) 数据变换(功能模型)
处理问题不同,三个子模型旳主要程度也不同。
10.1 面对对象分析旳基本过程
▪ 5个层次
主题指读者了解大型、 复杂模型旳一种机制 (记忆旳7+2原则)
10.3 建立对象模型
10.3.1找出候选类与对象
1.找出候选旳类与对象(续)
名词解析法 从陈说中找出全部名词,作为类和对象旳初步候选者 银行,自动取款机(ATM),系统,中央计算机, 分行计算机,柜员终端,网络,总行,分行,软件, 成本,市,街道,营业厅,储蓄所,柜员,储户, 现金,支票,账户,事物,现金兑换卡,余额, 磁卡,分行代码,卡号,顾客,副本,信息,密码, 类型,取款额,账单,访问。 通信链路 事务日志
A T M 系 统 正 常
和 异 常 脚 本
10.4.2 设想顾客界面

UML状态图的画法

UML状态图的画法
当发生一个转移时,该转移进入的状态为活动状态,它将执行相应 的动作。当发生一个转移离开一个状态时,该状态变为非活动状态。
转移类型:简单转移、自转移、自动转移、复合转移等。
14
事件
事件(event是指某个时刻发生的事情 事件中最常见的是:
信号事件(signal event):从一个对象到另一个对象 的明确的单向信息流动。
购入项目 在店内
entry/ 令store = theStore本店)
弃置项目
租出项目 归还项目
已租出
租出项目
正常 entry/ 令store = null空值) 已出租do/ 每天检查到期时间
超过到期日子
过期 entry/ 通知会员
25
3.4.2 顺序子状态
顺序子状态:子状态是一个一个顺序转移的不是并发存在 的
源状态
目标状态1
源状态1
目标状态2
源状态2
目标状态
30
3.4.4 并发子状态—同步
在并发状态图中一个子状态图中 的子状态常常需要与另一个子 状态图中的子状态的行为同步 在UML中使示(伪状态,放 在分隔子状态的虚线上。
例:建筑住宅的并发状态图。 其中有二个子状态图,分别 代表主体工程施工和水电工程 施工,它们是并行进行的。
历史状态是一个伪状态的图形标记,只能作为组合状态中 的子状态,不能在顶层状态图中使用。
32
3.4.5 历史状态2
活动 停止
恢复
H
暂停
播发
中断
选择
影碟机对象工作的部分状态图
33
3.5 状态图的应用
状态图为一个对象的生命周期建立模型状态图可以表示一 个对象的历史引起一个状态向另一个状态转移的事件,以 及由于状态的转移而引发的动作。

系统动态建模状态模型

系统动态建模状态模型
第5页/共122页
主要内容
• 6.1 状态图的基本组成成分 • 6.2 状态的分类与描述 • 6.3 状态迁移的触发与描述 • 6.4 活动图与状态图的比较 • 6.5 动态状态模型建模案例-信贷管理子系统 • 补充: 使用rose画状态图
第6页/共122页
• 6.1 状态图的基本组成成分 • 6.1.1 对象状态的基本描述图符 • 6.1.2 状态的迁移 • 6.1.3 一个无人职守电梯升降的状态图
第17页/共122页
第18页/共122页
6.1.2 状态的迁移
• 一个对象从一个状态改变成另一个状态称为状态迁移 • 状态的迁移用连接这两个状态的实箭线表示。在状态的迁移箭线上写上引起该迁
移的事件、条件和动作。 • 当事件发生时,动作发生,执行从一个状态到另一个状态的迁移,称为迁移点火
或状态触发。
• 6.3 状态迁移的触发与描述 • 6.3.1 状态的迁移触发
第27页/共122页
• 6.1 状态图的基本组成成分 • 6.1.1 对象状态的基本描述图符 • 6.1.2 状态的迁移 • 6.1.3 一个无人职守电梯升降的状态图
• 6.2 状态的分类与描述 • 6.2.1 对象的状态属性 • 6.2.2 简单状态与嵌套状态 • 6.2.3 状态的顺序迁移-顺序状态 • 6.2.4 状态的并发迁移与同步-并发状态与同步 • 6.2.5 嵌套状态中的历史状态指示器
第42页/共122页
子状态的关系
• 与关系说明复合状态中在某一时刻可同时到达多个子状态(称为并发子状态)。 具有并发子状态的状态图称为并发状态图。
前进和低速 前进和高速 后退和低速 后退和高速
第43页/共122页
6-6 描述设备(车床)状况的嵌套状态图

建立动态模型-状态图 PPT

建立动态模型-状态图 PPT

状态图
状态是状态图的重要组成部分。包括:
状态名:在状态图中状态名必须是唯一的。 入口和出口动作:进入和退出一个状态时所执行的
边界动作。
一个状态可以有或者没有入口和出口动作。
内部转换:是不导致状态改变的转换。
内部转换只有源状态而没有目标状态。
组合状态:内部嵌套有子状态的状态。
本节课内容
第九章 面向对象方法学引论 9.5、动态模型
第十章 面向对象分析 10.1、面向对象分析的基本过程 10.2、需求陈述 10.3、建立对象模型 10.4、建立动态模型 10.5、建立功能模型 10.6、定义服务
动态模型
动态模型表示瞬时的、行为化的系统的“控制”性 质,它规定了对象模型中的对象的合法变化序列。
教材P73页第6题。
终止状态:是模型元素的最后状态,是一个状态 图的终止点。终止状态只能作为转换的目标,而 不能作为转换的源。
终止状态在一个状态图中可以有0个或多个,它用一 个套有一个实心圆的空心圆表示。
状态图
判定:
用来表示一个事件依据不同的监护条件产生不同的影 响,即工作流在此处按监护条件的取值而发生分支。
状态图
转换:用带箭头的直线表示,一端连接源状态即转 出的状态,箭头一端连接目标状态即转入的状态。
转换可以标注与此转换相关的选项如事件、动作和 监护条件。
状态图
初始状态:代表状态图的起始位置,只能作为转 换的源,而不能作为转换的目标。
初始状态在一个状态图中只允许有一个,它用一个 实心的圆表示。
判定用空心小菱形表示。 因为监护条件为布尔表达式,所以通常条件下的判定
只有一个入转换和两个出转换。 根据监护条件的真假可以触发不同的分支转换。

活动图与状态图

活动图与状态图

系统分析 在系统分析系统阶段用状 态图和活动图为对象动态模型 中的状态模型建模。 系统设计 在系统设计阶段阶段对已 经建立的对象动态模型(状态 实现 图、活动图、顺序图和协作图) 采用迭代式的方式进一步细化 测试 和完善。
部署
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
2. 状态 状态是指在对象的生命期中的一个条件或状况, 在此期间对象将满足某些条件、执行某些活动或等待 某些事件。
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.2.2 状态图组成
UML U ML 系统建模基础教程 建模实例教程
第10章 状态图与活动图
10.1 动态建模概述
5.状态图做什么?
状态图(State Diagram)主要用来描述对象、子系统、系 统的生命周期。通过状态图可以表现系统中一个对象所具有的 各种状态和这个对象从一种状态到另一种状态的转换(迁移), 以及影响对象这些状态的事件(如收到消息、时间已到、报错、 条件为真)等。它主要描述某个对象从一个状态到另一个状态 变化迁移的控制流。
第10章 状态图与活动图
10.2.2 状态图组成
理解状态的特征: (1)进入/退出动作:对象本身的一个操作。如果在电梯里是一个 状态的话,那员工进电梯和出电梯就是状态“在电梯里”的进 入/退出动作。 (2)内部转换:例如员工在去等电梯的时候发现钥匙没带,此时 我们不用在“等电梯”以后,而是在“准备回家”的状态中就 去拿钥匙了。虽然整体的状态没有发生变化,但对于对象本身 来说,前后是不一样的,一个是有钥匙,一个是没有钥匙。 (3)子状态:如果需要进一步描述员工对象在电梯里聊天、打电 话等状态时,这些状态就是该对象的“在电梯里”状态的子状 态。 (4)延迟事件:现在不立即产生的事件,该事件是在一段时间以 后才产生的事件。员工必须等待到达17:50的时候,才能下班。

第四章 动态模型

第四章 动态模型

2、分支与合并:条件行为。分支包括一个入转换和两个或多个带 条件的出转换,出转换的条件应当是互斥的,保证只有一条出转换 能够被触发。合并包括两个或多个带条件的入转换和一个出转换。 合并表示从对应的分支开始的条件行为的结束。 例1
注: ①从◇可出来多个分支,每个分支上使用一个监护条件作 标记,或用其它标记。
3、分叉与汇合 分叉:描述并发线程,每个分叉可以有一个输入转换和两个或多个 输出转换,每个转换都是独立的控制流。
汇合:两个或多个并发控制流同步发生,当所有的控制流都达到汇 合点后,控制才能继续往下进行,每个汇合可以有两个或多个输入 转换和一个输出转换。
例1
例2
4、泳道:泳道将活动图中的活动划分为若干组,并将每一组指定 给负责这组活动的业务组织,即父对象。泳道区分负责活动的对象, 明确表示哪些活动是由哪些类的对象进行的。
例2:在线拍卖系统中竞拍用例的顺序图
4.3 状态图
一、状态图的作用 描述一个类的对象在其生命周期中所有的状态序列及对象接收到事 件后进行的状态变迁情况(最主要作用)。 二、概念
描述单程生命期
描述系统循环运行过程
(一)状态 1、简单状态 ①表示法
名称(可选)
名称 内部转换(可选)
内部转换(可选)
5、对象流:表示对象值的流动,代表了活动中输入或输出的对象。
例1
注:对象节点:一种活动节点,表示存在一个对象,它 被某个活动使用,是该活动中输入或输出的对象。
表示法:
Classname[statename]
Classname [statename]
例2
6、活动的分解:一个活动可以分为若干个动作,这些动作又可以 组成一个局部活动图,不含内嵌动作的活动称之为简单活动,嵌套 了若干动作的活动称之为组合活动,组合活动有自己的名称和相应 的子活动图。

uml建模-状态图和活动图

uml建模-状态图和活动图
l 状态图表示某个类所处的不同状态和该类的状态转换信息。 虽然每个类都有状态,但在系统活动期间仅对具有三个或 更多潜在状态的类才画一个状态图,进行状态图描述。用 状态图对一个对象按事件排序的方法建模,状态图是强调 从状态到状态的控制流的状态机的简单表示。
l 使用状态图的最常见的是对反应型对象、尤其是对类、 用例或整个系统的实例的行为建模。反应型对象是指 这个对象可能处于的稳定状态、从一个状态到另一个 状态之间的转换所需的触发事件,以及每个状态改变 时发生的动作。反应型对象具有如下的特点:
活动图的符号集与状态图中使用的符号集类似。像状态图 一样,活动图也从一个连接到初始活动的实心圆开始。 活动是通过一个圆角矩形(活动的名称包含在其内)来 表示的。活动可以通过转换线段连接到其他活动,或者 连接到判断点,这些判断点连接到由判断点的条件所保 护的不同活动。结束过程的活动连接到一个终止点(就 像在状态图中一样)。活动图中的基本要素包括状态、 转移、分支、分叉和汇合、泳道、对象流等。
l ⑹把动作附加到这些转换上,并且附加到这些状态上; l ⑺考虑通过使用子状态、分支、汇合和历史状态,来简化状态图; l ⑻核实所有的状态都是在事件的某种组合下可达的; l ⑼核实不存在死角状态,即不存在那种不能转换出来的状态; l ⑽通过手工或通过使用工具跟踪状态机,核对所期望的事件序列以及它
们的响应。
::new book 借书
::availห้องสมุดไป่ตู้ble 还书
::delete
一个图书对象从它的起始点 开始,首先是“新书”状态
(new book),然后是“可 以借阅”(available)的状 ::borrowed 态,如果有读者将书借走, 则该书的状态为“已借出”
状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于

第7章 状态图和活动图

第7章 状态图和活动图

图7.1 图书馆书籍的状态图
一个图书对象从它的起始点 开始,首先是“新书”状态 (new book),然后是“可 以借阅”(available)的状 态,如果有读者将书借走, 则该书的状态为“已借出” 状态(borrowed),如果图 书被归还图书馆,图书的状 态又变为“可以借阅”状态 。图书馆如果放弃该图书对 象的收藏,则图书对象处于 “删除”状态(delete),最 后到达“终止”状态。
7.2.1 活动图概述
在用例模型中,可以利用文本来描述用例的业务流程, 但如果业务流程较为复杂的话,则可能会难以阅读和 理解,这时需要用更加容易理解的方式(图形)来描 述业务过程的工作流,在UML中将这类描述活动流程 的图形称为活动图(Activity Diagram)。 活动图被设计用于简化描述一个过程或者操作的工作步 骤。活动用圆角矩形表示,接近椭圆。一个活动中的 处理一旦完成,则自动引起下一个活动的发生。箭头 表示从一个活动转移到下一个活动。和状态图类似, 活动图中的起点用一个实心圆表示,终点用一个实心 圆外加一个圆圈表示。在一个活动图中,只有一个起 始状态,可以有零个或多个终止状态。
第7章 状态图和活动图
7.1状态图
状态图,用于UML中建立动态模型,主要描述系
统随时间变化的行为,这些行为是用从静态视图中抽 取的系统的瞬间值的变化来描述的。在对象的生命期 建模中,状态图显示了一个状态机,展示的是单个对 象内从状态到状态的控制流。状态图通过对类的对象
的生存周期建立模型来描述对象随时间变化的动态行
7.2.7分叉和汇合
对象在运行时可能会存在两个或多个并发运行的控制流, 为了对并发的控制流建模,UML中引入了分叉与汇合的概 念。分叉用于将动作流分为两个或多个并发运行的分支, 而汇合则用于同步这些并发分支,以达到共同完成一项事 务的目的。 在UML中使用分叉和汇合表示并行发生的事件流。分叉表 示把一个单独的控制流分成两个或多个并发的控制流。一 个分叉可以有一个进入转移和两个或多个输出转移,每一 个转移表示一个独立的控制流。 汇合表示两个或多个并发 控制流的同步发生,一个汇合可以有两个或多个进入转移 和一个输出转移。分叉和汇合应该是平衡的。分叉和汇合 在图形上都使用同步条来表示,同步条通常用一条粗的水 平线表示。

动态模型

动态模型
软件建模技术
1
第一部分 基 础 篇
2
第二部分 实 践 篇
3
第三部分 工 具 篇
第6章 动态模型
❖6.1 动态模型概述
❖6.2 活动图
▪ 6.2.1 定义活动图 ▪ 6.2.2 如何建模活动图 ▪ 6.2.3 实例——活动图在用例模型中的作用 ▪ 6.2.4 活动图与其它模型
❖6.3 顺序图
▪ 6.3.1 定义顺序图 ▪ 6.3.2 关于消息 ▪ 6.3.3 对象的创建和销毁 ▪ 6.3.4 顺序图的主要用途 ▪ 6.3.5 顺序图实例
▪ 掌握:动态建模的方法。
6.1 动态模型概述
❖ 一个完整的模型必然描述系统的静态和动态两个方面 ❖ 静态模型重在描绘系统的组成结构 ❖ 动态模型描述系统的行为
❖ UML提供如下动态模型:交互图(顺序图和协作图)、状态图、活动图
▪ 状态图用来描述某一特定对象所有可能的状态及状态间的转移, 是对类图的补充
6.3 顺序图
❖6.3.2 关于消息
❖ 2.消息的传入和传出
消息传入某个对象,表示该对象是消息的承担者;消息 由某个对象传出,表示该对象是消息的发起者、调用者
6.3 顺序图
❖6.3.2 关于消息 消息的传入和传出
6.3 顺序图
单个处理
6.2 活动图
❖6.2.1 定义活动图 ❖ ATM机“登录”用例的活动 图
6.2 活动图
❖6.2.1 定义活动图
❖ 游泳道将活动图的活动状态分组,每一组表示负 责那些活动的业务组织,直接显示动作在哪一个 业务组织中执行
❖ 每一个活动都只能明确地属于一个泳道
6.2 活动图
❖6.2.2 如何建模活动图
1.接待员输入要预约的日期 2.系统显示该日的预约 3.有一张合适的餐桌可以使用,接待员输入顾客的姓名和电话号码、

UML第5章 动态模型

UML第5章 动态模型

对象模型描述系统中的对象、属性和链接的合 对象模型描述系统中的对象、 理的模式。 理的模式。 对象所拥有的属性值和链接称为对象的状态. 对象所拥有的属性值和链接称为对象的状态. 从一个对象到另一个对象的单个触发称为事件 。
5.1.1 事件
事件不具有持续性,当然没有一个事件是真正 事件不具有持续性, 瞬间的;事件是一个简单的当前值, 瞬间的;事件是一个简单的当前值,此值的发 生比给定抽象的短的时间区间还要快。 生比给定抽象的短的时间区间还要快。 一个事件是单方向地从一个对象到另一个对象 的信息传送, 的信息传送,它不像子程序调用那样返回一个 值。
第5 章
动态模型
5.1 5.2 5.3 5.4 5.5 5.6 5.7
事件和状态 操作 嵌套状态图 并发性 动态模型的实例 对象模型和动态模型的关系 实践技巧
我们更需要了解所有时间内对象的变化和对象 之间关系的变迁, 之间关系的变迁,这也正是系统所关注的时序 关系(时序关系理解起来比较困难)。 )。这就产 关系(时序关系理解起来比较困难)。这就产 生了一种与静态结构(对象模型)相对应的、 生了一种与静态结构(对象模型)相对应的、 与时间有关的和与变化有关的内容, 与时间有关的和与变化有关的内容,把这种结 构称为动态模型。 构称为动态模型。
状态:闹铃响 状态 描述:闹铃响表示设定时间到 描述 产生该状态的事件序列: set alarm(target time)—设定铃响时间不包含清除闹铃(clear alarm)的任何后续操作 当前时间=设定时间 该状态的特征条件: 闹铃=开关,从设定时间起在没有按键的情况下,设定时间≤当前时间≤设定时间+20" 该状态接受的各种事件: 事件 当前时间=设定时间+20" 按下按钮(任何按钮) 动作 重设闹铃 重设闹铃 下一个状态 正常 正常

6-状态模型

6-状态模型

13
2)警戒条件(condition)
是指为了要让迁移发生而必须为真的布尔表达式。
例如:
当你早上出门的时候(事件),如果温度在零度以下(警戒条件), 那你就要带手套(下一个状态)。
因此,警戒条件是在事件发生时被触发,检查一次条件,然后在条 件为真时,迁移才触发,进入下一个状态。
条件是一个由方括号围起的关系或逻辑表达式。
6.4活动图的基本概念与组成成分
活动图用来表示完成一个操作所需要的活动, 或是一个实例(场景)的活动。 活动图可以对多种不同类型的工作流建模。
活动图被设计用于简化描述一个过程或操作 的工作步骤。
例如,软件公司可以用活动图对一个软件的开 发过程建模;会计师事务所可以用活动图对任意 数目的财务往来进行建模;
2.活动状态
拥有一组不可中断的动作或操作,表达一个非原子的运 行。
2022/1/21
UML系第统29页建,模共4与8页分。析设计
29
3.动作流
表达不可中断的动作或操作的执行。
6-13 描述一个打印所有履约合同信息的活动图
2022/1/21
UML系第统30页建,模共4与8页分。析设计
30
4.泳道 泳道代表对象对活动的责任。
2022/1/21
UML第系2统2页建,模共与48页分。析设计
22
复杂状态图:状态的并发迁移与同步
2022/1/21
UML第系2统3页建,模共与48页分。析设计
23
状态的并发迁移与同步
6-7 采用同步并发迁移图符描述的并发子状态图
2022/1/21
UML系第统24页建,模共4与8页分。析设计
24
2022/1/21
UML系第统8页建,模共4与8页分。析设计

简述建立动态模型的步骤。

简述建立动态模型的步骤。

简述建立动态模型的步骤。

建立动态模型的步骤是指根据现实生活中具体问题的要求和特点,将其抽象为模型,并通过模型来描述问题的演化过程和动态变化。

建立动态模型的过程一般包括确定系统边界、识别角色和关系、明确状态和状态转移、分析动态行为等步骤。

一、确定系统边界确定系统边界是建立动态模型的第一步。

在确定系统边界时,需要明确系统的范围和界限,并确定系统和外部环境之间的交互。

边界确定可以通过分析问题需求、参考业务流程、考虑系统使用者的需求等方式进行。

确定系统边界有助于理清问题的整体框架,帮助梳理问题的核心部分。

二、识别角色和关系角色是指与系统交互的实体或者外部对象。

在建立动态模型时,需要识别系统的角色并明确它们之间的关系。

角色识别可以通过考虑系统的用户、系统的外部依赖、系统的内部组成等方式进行。

角色的识别有助于分析系统的交互关系,明确系统的功能和责任。

三、明确状态和状态转移状态是指系统在某一时刻的某种特定情况,是描述系统动态变化的关键要素。

在建立动态模型时,需要明确系统的各个角色在不同状态下的行为和属性,并定义它们之间的状态转移规则。

明确状态和状态转移可以通过分析业务流程、制定状态转移规则等方式进行。

明确状态和状态转移有助于描述系统的变化过程,帮助理解系统的动态行为。

四、分析动态行为动态行为是指系统中各个角色在不同状态下的行为和活动。

在建立动态模型时,需要分析系统中的动态行为,并将其用合适的方式进行描述。

分析动态行为可以通过制定活动图、时序图、状态图等方式进行。

分析动态行为有助于理解系统的运行过程,揭示系统的功能逻辑和交互规则。

在实际操作中,建立动态模型的步骤并不是一成不变的,可以根据具体问题和需求进行灵活调整。

此外,建立动态模型还需要运用合适的建模工具和方法,比如UML建模语言、系统仿真工具等。

通过建立动态模型,可以更好地理解和分析问题,帮助提取问题的本质特征,为问题的解决提供参考和支持。

第12章 动态建模

第12章 动态建模

[item empty]
Do:test item and compute change
[change = 0] [change > 0]
Do:dispense item
Do:make change
12/68
自动售货机状态机图
状态迁移
1. 状态迁移 引起状态迁移的原因通常有两种:
• 当标在迁移箭头上的事件出现时会引起状态的迁 移。此时,首先执行引起迁移的事件中的动作, 然后迁移到新的状态,执行新状态中的内部动作 (包括entry、exit、do以及用户定义的动作)。 在执行do或用户定义的动作时,可以被外部的事 件(将导致该状态的迁移)中断,但entry动作 和exit动作是不能被中断的,并且它们总是要执 行完的。
inc/minutes := minutes + 1
mode_button
Set hours do/display hours
mode_button
Set minutes do/display minutes
mode_button
数字手表类及其状态机图
19/68
事件的种类
事件类型 调用事件 call event 改变事件 change event 信号事件 signal event 时间事件 time event 描述 收到一条被一个对象外部同步调用的请求 布尔表达式值的改变 收到供对象间异步通信用的一个外部的、 被命名的信号(实体) 到达一个绝对时间或经过一段相对的时间 量
A win
vulnerable
A win
A wins rubber
B Vulnerability Not vulnerable B win vulnerable B win B wins rubber

动态模型

动态模型

新建一个活动图
24
活动图 4-3
创建活动及连接
25
活动图中的活动与连接
活动图 4-4
创建分支
活动图中的分支
26
总结
明确性、可视性和简易性是促使动态建模得以接 受的几个优点 时序图用纵轴表示对象,用横轴表示对象间传递 的消息 协作图是时序图的备选视图 状态图着重于响应消息时在对象中发生的事件 可用活动图表示整个业务流程
操作和维护模型比操作和 维护实际系统容易得多 使用户和开发人员 都能更容易地理解 构思中的系统
动态模型 的优越性
可监视构思中的 系统是否存在任 何类型的缺陷
可助于解释状态的 改变和降低复杂度
7
动态模型的组件 5-1
状态图 时序图 动态模型 的组件 协作图
活动图
8
动态模型的组件 5-2
状态图描述了单个事物如何为响应发生的事件而更改状态 和生成响应,并通过此方式与其环境进行交互
27
动态模型描述系统与操作时间和顺序有关的系统方面、影响更改的 图示是通过列表和图 模型可按数据实际存储的方式表示数据, 事件、事件的序列、事件的环境以及事件的组织
指明错误的简单方法 这有助于开发人员熟悉将要使用的数据
采用动态 建模的优点
简易性 使用高级表示层通常可导致使用更少但更广泛的结构
6
动态模型的优越性 2-2
状态图示例如下所示:
如果无效 则重复状态 1
如果有效 则转换状态 2
初始状态
状态1 状态2
最终状态
9
动态模型的组件 5-3
时序图用于按时间顺序模拟控制流程。它显示了在对象生命线上各点之 间的对象传递的消息,演示了在时间序列中对象之间的交互 时序图示例如下所示: 时序图示例如下所示:

软件工程ppt(5)

软件工程ppt(5)

建立动态模型-编写脚本
• 例如 ATM系统非正常情况脚本: • ATM请储户插卡;例如储户插一张信用卡 • ATM接受卡并读取卡上分行代码及卡号 • ATM要求用户输入密码;用户误输密码 • ATM请求总行验证密码;总行通知ATM卡无效 • ATM显示密码错误,请用户重新输入密码;用户输入正确密码 • ATM要求用户选择事务类型(取款、转帐、查询、代理) • ATM要求用户输入取款额;用户按“取消”键 • ATM退出卡,请用户拿走卡,用户拿走卡 • ATM请用户插卡
谢谢欣赏
面向对象分析OOD
OOD:Object-Oriented Design,面向对象设计
设计阶段则主要是确定实现用户需求的方法,即怎 样做才能满足用户需求,并构造出系统的实现蓝图。
面向对象设计引入了面向对象的概念和原则来指 导设计工作。OOD首先从OOA的结果开始,并将其从问 题域映射到实现域,为满足实现的需要,还要增加一 些类,并对原有类及属性进行调整。此外,还要完成应 用控制、人机交互界面的设计等。
④确定事件:与用户交互的所有信号、输入/出、中断、动作 ⑤画事件跟踪图:事件序列以及事件与对象的关系 ⑥画出状态图:描绘事件与状态的关系。对象接受事件后,它下个
状态取决于当前状态及所接受的事件。 ⑦比较各个对象的状态图,检查它们之间的一致性,确保事件之间
的匹配。 ⑧审查动态模型:各个类状态图通过共享事件合并起来
建立动态模型-状态图
总行类的状态图
建立功能模型
建立功能模型(通过数据流图和数据字典)
• 通常,功能模型由一组数据流或一组用例图组成。 • 其中的数Байду номын сангаас处理功能可以用IPO图(表)、PDL语言等多种方式进
一步描述。 • 一般说来,应该在建立了对象模型和动态模型之后再建立功能模
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档