第6章-系统动态建模—状态模型01.418.ppt_第1页
第6章-系统动态建模—状态模型01.418.ppt_第2页
第6章-系统动态建模—状态模型01.418.ppt_第3页
第6章-系统动态建模—状态模型01.418.ppt_第4页
第6章-系统动态建模—状态模型01.418.ppt_第5页
免费预览已结束,剩余117页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本章的目的是理解对象状态变化和活动变化的描述,掌握用UML绘制状态图的方法,掌握状态模型中并发行为的描述方法,掌握用状态图和活动图建立对象动态行为模型的方法和步骤。第六章系统动态建模状态模型、模型、代表系统静态和动态行为的模型。该表示可以为同一系统提供不同的视角,例如静态模型、动态模型、系统结构、系统过程和行为集合、动态模型组件、状态图、序列图、活动图、协作图、动态模型组件、状态图, UML中的状态图主要用于建立一个类或对象的动态行为模型,它表示一个对象所经历的状态序列、导致状态或活动转换的事件以及伴随状态或活动转换的动作。状态1、状态2、初始状态、如果无效,重复状态1、如果有效,转换状态2、

2、最终状态、状态图、状态图。当一个实体的生命周期很复杂时,状态图有必要赋予类的所有实例生命。大多数面向业务的应用程序中的类不需要状态图。在下列情况下,经常使用在状态图的动态模型中生成或接收大量信息的类。实时系统中的类,主要内容,6.1状态图的基本组成,6.2状态的分类和描述,6.3状态迁移的触发和描述,6.4活动图和状态图的比较,6.5动态状态模型建模案例-信用管理子系统补充:用rose绘制状态图, 6.1状态图的基本组件6.1.1对象状态的基本描述图标6.1.2状态的转移6.1.3无人值守电梯升降的状态图6.2状态的分类和描述6.2.1对象的状态属性6.2.2简单状态和嵌套状态6.2.3状态的

3、顺序迁移6.2.4状态的并发迁移和同步步骤6.2.5嵌套状态中的历史状态指示器6.3状态迁移的触发和描述6.3.1状态迁移的触发6.3.2导致状态触发的事件6.3.3触发状态迁移的条件6.3.4触发状态迁移的动作表达式6.3.5状态迁移的分类, 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嵌套状态中的历史状态指示器6.3状态迁移的触发和描述6.3.1状态迁移的触发6.3.2导致状态触发的事件

4、6.3.3导致触发状态迁移的条件6.3.4触发状态迁移的动作表达式6.3.5状态迁移的分类,6.1.1对象状态的基本描述图标,6.1状态图的基本知识将状态和转换一起使用可以更好地对它们建模,有时需要包含决策点和同步条来显示更高级别的细节。 1.状态图中有三个独立的状态标记,如下图所示,基本状态显示为圆角图。状态的名称放在一个矩形中。该标记表示模型中满足条件的点。例如,诊断机器的状态示例可包括开、关、诊断、怠速等。标准状态的名称表示满足哪些条件,如下图所示。开始状态和结束状态标记是指示模型的开始和结束状态的特殊标记。模型中的起始状态是一个固体点。结束状态是一个带圆圈的实心点。该模型不必同时具有开

5、始和结束状态,因为该模型可以一直运行并且永不停止。一个状态图只能有一个初始状态,一个状态图也可以包含多个结束状态,每个结束状态代表一个模型可以终止的点。迁移迁移用于显示从一种状态到另一种状态的流程。从一个状态到另一个状态的转换用空心箭头标记,如下图所示。,3决策点(条件判断)决策点在建模状态图时提供了便利,因为它们被分组在中心位置并转移到各自的方向,从而提高了状态图的可见性,如下图所示。4同步状态图中使用并发栏来说明并发工作流的拆分和连接。下图显示了并发条形图的标记。状态的图标由三部分组成:状态名、状态变量和内部活动。状态名:在状态图中,状态名是唯一的;它可以由匿名状态命名。状态变量:它是状态

6、图描述的类的属性(可选选项)。活动:列出在此状态下要执行的事件和操作(可选选项),以及三个标准的活动事件。entry:表示进入状态时的特定动作,以entry和/开头。不能被打断。Exit:指示退出状态时的特定操作,以exit和/开头。不能被打断。Do:表示在这种状态下执行的操作,以do和/开头。活动是一种可中断的行为,它可以在对象处于这种状态时完成,也可以在对象进入另一种状态时中断。一个对象从一种状态到另一种状态的转换称为状态转换。状态转换由连接两个状态的实线箭头表示。将导致迁移的事件、条件和操作写在状态的转换箭头上。当一个事件发生时,一个动作发生并且从一个状态到另一个状态的转换被执行,这被称

7、为转换点火或状态触发。迁移、源状态和目标状态触发事件监视条件动作,而迁移描述对象在两种状态之间的转换。当特定事件发生并满足特定条件时,对象操作特定动作并进入另一种状态。状态迁移的原因,有一个事件:导致迁移的事件在迁移线上,当处于原始状态的对象接收到一个事件并满足当前条件时,它首先执行导致迁移的事件中的操作,然后迁移到新状态,并且新状态中的内部操作被自动触发:迁移线上没有触发迁移的事件。如果内部活动正在进行,则触发转移,然后内部活动将被终止,然后活动的导出操作将被执行。不能终止进入和退出操作。事件处理序列,当与转变相关联的事件发生时,执行序列如下:如果当前状态中的活动正在执行,则停止该活动,执行

8、退出动作和与引起转变的事件相关的动作,执行新状态中的进入动作,并启动新状态中的活动。想想:以下动作的顺序?6.1.3无人值守电梯提升状态图, 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嵌套状态中的历史状态指示器6.3状态迁移的触发和描述6.3.1状态迁移的触发6.3.2导致状态触发的事件6.3.3触发状态迁移的条件6.3.4触发状态迁移的动作表达式6.3.5状态迁移的分类, 6.1状态图的

9、基本组件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嵌套状态中的历史状态指示器6.3状态迁移的触发和描述6.3.1状态迁移的触发6.3.2导致状态触发的事件6.3.3触发状态迁移的条件6.3.4触发状态迁移的动作表达式6.3.5状态迁移的分类,状态是指在对象的生命周期中,当满足某些条件、执行某些活动或等待某些事件时的条件或情况人:青年、中年、老年、电话:说话、闲散、思考:什么反映了物体的状态?一个物体有几个状态?

10、注意:状态本质上是对象属性值,状态的变化就是属性值的变化。在由一个对象的所有属性值集组成的笛卡儿积中,尽管每个元素可以广义地称为对象的一个状态,软件开发人员需要知道笛卡儿积上的每一个等价集,即使对象的操作呈现出一组具有相同行为规则的属性值。每个等价集合被称为对象的状态。广义地说,对象属性的不同值的任何组合都是对象的状态,所有状态的集合描述了对象的状态空间。确定对象状态的重要属性是状态属性。状态属性的特点是:一般有几个可选值,属性值的转换是有限的。建立状态模型时,需要正确查找对象的所有状态属性,并根据其值、6.2状态的分类和描述、6.2.1对象的状态属性以及设备使用状态图的示例来划分对象的状态。

11、根据以下描述,完成设备使用状态图。如果正常使用的设备损坏,将送去维修。如果正常使用的设备是冗余的,它将是闲置的,闲置的设备可以随时重复使用,但闲置超过一定时间后将被丢弃。正常使用的设备在启动后将从待机状态进入正常运行状态,减速后返回待机状态。6-5是设备使用状态的状态图,6-6是描述设备(车床)状态的嵌套状态图,6.2.2是简单状态和嵌套状态,其中简单状态对应于一个动作,而嵌套状态中的每个嵌套状态图对应于嵌套状态中正在进行的活动。动作:一组可执行语句,具有以下特征:移动性:与状态迁移相关;原子性:这组语句不能被中断;连续性:一组语句必须连续执行,直到它们完成。活动:一组可执行的动作,具有以下特

12、征:有限性:一个完整的活动有一定的周期;非原子性:这组动作可以被一个事件中断。状态、简单状态:无嵌套状态。嵌套状态(组合状态):其他状态是嵌套的。子状态:嵌套状态,简单状态:嵌套状态:b子状态:C D,为什么有子状态?对象a的整个状态是由属性x和y的值的排列和组合形成的。但是有时当x取值xk时,y的任何值都是没有意义的。(xi,yj),(xk,y1),(xk,y2),(xk,yn),属性x表示是否借出(x=借出,不借出),属性y表示是否逾期(y=逾期,正常),(借出,逾期) (借出,正常)。或者这种关系表明在某个时间只能到达一个子状态。例如,处于行驶状态的汽车在复合行驶状态下有向前和向后两种不

13、同的子状态,汽车在某一时刻不是向前就是向后。子状态之间的关系以及这种关系表明在复合状态下可以同时达到多个子状态(称为并发子状态)。具有并发子状态的状态图称为并发状态图。向前和低速向前和高速,向后和低速向后和高速,6-6描述设备(车床)状态的嵌套状态图,顺序状态也称为不相交状态,这表明状态图中没有并发迁移现象,状态之间的迁移是串行的,即一个接一个的顺序迁移。顺序状态可以与嵌套状态结合使用。,6.2.3状态的顺序迁移-顺序子状态,以及6.2.4状态的并发迁移和同步-并发子状态。一个状态也可以有多个并发的子状态,用虚线分开。用虚线分隔的每个区域代表一个并发子状态,它有一个名称和一个内部状态图。根据销

14、售合同生产销售产品的并发子状态图、同步并发迁移图标描述的并发子状态图、根据销售合同生产销售产品的并发子状态图。在根据销售合同生产和销售产品的企业中,同时执行两个过程:一个过程是检查仓库是否有合同要求的产品,另一个过程是检查客户是否付款。只有当两次检验都成功时,货物才能交付。在第一个过程中,首先检查合同。如果仓库中有货物清单和合同清单要求的相应数量,则产品已准备好并等待交货;如果仓库中没有货物清单或合同清单要求的相应数量,等待一段时间,组织生产,将成品入库,等待发货。另一个过程是检查付款单。如果客户根据合同支付货款,这意味着合同已经支付,可以发货。如果超过合同期限没有汇款,则应向客户发送催款通知

15、,不能发货。6.2.5嵌套状态的历史状态指示器。有时,在离开嵌套状态后,您需要重新进入状态,但您希望在上次离开嵌套状态时直接进入最后一个子状态,而不想从子状态图的开始状态进入。历史指示器用于记录状态图中的历史状态,由一个标有H(历史)的圆圈表示。历史计数器为假状态。6-9带有历史指示器的软件安装过程状态图,以及描述软件安装过程的带有历史指示器的软件安装过程状态图。“构建()”迁移会触发系统进入软件安装状态。软件安装状态中嵌套了两个并发的子状态图:一个是正在运行的操作系统,另一个是为安装软件而运行的程序。只有当操作系统运行时,安装软件的程序才能启动,因此它们是同时执行的。安装软件时,必须重新启动

16、操作系统和安装软件的程序,安装的软件才能开始工作。操作系统运行子状态图功能明确,这里主要讨论安装程序运行子状态图的状态迁移过程。安装程序运行的子状态图中有一个带字母h的圆圈,表示子状态图在历史状态指示器的作用下。当有迁移触发历史指示器时,它应该在离开状态图进行迁移时恢复到以前的状态。在图中所示的安装程序运行子状态图中,首先进入“启动安装程序”状态,然后自动进入“安装软件”状态。在“安装”软件状态下,操作员根据安装者的提示安装软件。如果在安装过程中出现“磁盘错误”或“内存不足”错误,安装程序会暂时停止安装过程,在屏幕上提示一条错误消息,并要求操作员做出选择。当出现“磁盘错误”时,操作员可以选择“重试”或“终止安装”进行迁移;如果出现“内存不足”错误,操作员可以选择“继续安装”或“终止安装”进行迁移。如果选择“终止安装”进行迁移,安装程序将停止运行,退出安装程序并返回操作系统。如果选择“重试”或“继续安装”进行迁移,迁移将触发历史指示器。此时,不返回到安装程序的运行子状态图中的初始状态,而是返回到安装程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论