【教学课件】第五章状态图和活动图统一建模语言UnifiedModeling.ppt
《【教学课件】第五章状态图和活动图统一建模语言UnifiedModeling.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第五章状态图和活动图统一建模语言UnifiedModeling.ppt(75页珍藏版)》请在三一办公上搜索。
1、第五章 状态图和活动图统一建模语言Unified Modeling Language,第五章 状态图和活动图,状态图状态图的定义状态图的符号状态图的动作和事件组合状态状态图的建模方法活动图活动图的定义活动图的符号活动图中的条件活动图的建模方法,状态图的定义,状态图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期。状态定义为对象行为在某一个时刻的快照或者转折点。例如,计算机的状态可以定义为开机、启动、工作中、空闲、关机和离线等。状态图的任务就是用来描述一个对象所处的可能状态以及状态之间的转移,并给出状态变化序列的起点与终点。,状态图除了可以用于描述对象接收事件触发时的行为状
2、态外,它还可以用于许多其他情况。例如,状态图可以用来说明基于用户输入的屏幕状态改变,也可以用来说明复杂用例的状态进展情况。可建模状态图的对象有:,UNIX进程状态图,状态图的定义,类用例子系统整个系统,在一般系统中,不需对每个类创建状态图。当一个类实例(对象)有多种状态,每种状态中的行为表现又不相同,则可创建状态图。例如,银行帐户可以有几种不同的状态,可以打开、关闭或透支。在这些不同状态下,帐户的处理功能是不同的。,第五章 状态图和活动图,状态图状态图的定义状态图的符号状态图的动作和事件组合状态状态图的建模方法活动图活动图的定义活动图的符号活动图中的条件活动图的建模方法,状态图的符号,状态图由
3、状态、转移和事件组成。联合使用状态和转移可以更好地建模它们,有时需要包含决策点和同步条来显示更高层次的细节信息。,1.状态 状态图中共有3种独立的状态标记符,如下图所示,基本状态显示为圆角矩形。状态的名称放在矩形中。这种标记符代表模型中满足条件的一个点。例如,诊断机的状态示例可能包含开、关、诊断和空闲等。标准状态的名称指示满足了什么条件,如下图所示。,状态图的符号(续),开始状态和结束状态标记符是指示模型的开始和结束状态的特殊标记符。模型中的开始状态是一个实心点。结束状态是带有圆圈的实心点。模型不必同时具有开始和结束状态,因为模型可以总是运行,从不停止。状态图中可以包含0到多个开始状态。状态图
4、中也可以包含多个结束状态,每一个都表示一个模型能够终止的点。,状态图的符号(续),状态细节是指当对象处于特定状态时,可能要进行一些活动,例如生成报表、进行计算或向另一对象发送事件。为了进一步描述对象在特定状态下的一些活动,可加入细节活动、进入、退出、事件和状态历史信息。,状态图的符号(续),送货处理状态图,2转移 转移用来显示从一个状态到另一个状态的处理流。转移使用从一个状态到另一个状态的开放箭头来标记,如下图所示。,状态图的符号(续),下面的示例演示了银行帐户中的转移及其有效状态,如下图所示。,状态图的符号(续),3决策点 决策点在建模状态图时提供了方便,因为它通过在中心位置分组转移到各自的
5、方向,从而提高了状态图的可视性,如下图所示。,状态图的符号(续),4同步 状态图中使用同步条是为了说明并发工作流的分叉与联合。下图所示为同步条的标记符。,状态图的符号(续),第五章 状态图和活动图,状态图状态图的定义状态图的符号状态图的动作和事件组合状态状态图的建模方法活动图活动图的定义活动图的符号活动图中的条件活动图的建模方法,条件用来描述状态转移的前提。事件用来指示什么触发了转移,动作用来说明当转移发生时会产生什么情况。事件、条件和动作是转移的三个选项,其定义格式见下图所示。,该图描述的信息是“如果guardCondition为true,当anEvent发生时,将执行anAction,并立
6、即进入状态B”,状态图的动作和事件,事件,条件,动作,状态图的动作和事件,1事件 事件通常在从一个状态到另一个状态的转移路径上直接指定。事件用来指示是什么导致了模型中状态的改变。下图演示了事件的标记符。,事件,状态图的动作和事件(续),2动作 动作说明了当事件发生时发生了什么行为。,Event类型的动作示例如右图.这个示例说明了只要ResetUsers事件传递的所有用户都没有打开,他们就会被全部删除。,动作,状态图的动作和事件(续),3条件 条件说明状态转移必须要满足的前提。条件一般为一个布尔表达式。如下图所示。,条件,练习:阅读一个电梯系统的状态图步骤:1)标识出状态。2)标识出转移。3)标
7、识出事件和动作。,第五章 状态图和活动图,状态图状态图的定义状态图的符号状态图的动作和事件组合状态状态图的建模方法活动图活动图的定义活动图的符号活动图中的条件活动图的建模方法,组合状态,一个对象可以通过同步操作同时拥有多个状态。有时,对象还可以拥有层次结构的状态。当单个状态具有独有的附加的子状态时,可以在状态图中使用层次结构的状态。,组合状态(续),在一个复杂的状态中可以细化为多个子状态的合成。该复杂状态称为组合状态。如下图所示。,组合状态(续),收录机状态图,并发子状态 在一个状态中可能多个并发的子状态。如右图所示的订货对象状态图。,组合状态(续),第五章 状态图和活动图,状态图状态图的定义
8、状态图的符号状态图的动作和事件组合状态状态图的建模方法活动图活动图的定义活动图的符号活动图中的条件活动图的建模方法,状态图的建模方法,状态图建模需要执行以下步骤:1)标识出需要进一步建模的实体。2)标识出每一个实体的开始状态和结束状态。3)确定与每一个实体相关的事件。4)从起始状态开始创建状态图。5)如果必要则创建组合状态。,状态图的建模方法(续),1标识出需要进一步建模的实体 首先要标识出哪些实体需要使用状态图进一步建模。状态图应该用于复杂的实体,而不必用于具有复杂行为的实体。对于有复杂行为的实体,使用活动图可能会更加适合。具有清晰、有序的状态实体最适合使用状态图进一步建模。后面将会建模一个
9、Grade对象,尤其是它的保存功能。,状态图的建模方法(续),2标识出每一个实体的开始和结束状态 要想标识出某个实体的开始状态,需要知道实体是如何实例化的,以及实体是如何开始的。Grade对象在有了一个新的分数需要保存时实例化。要想标识出某个实体的结束状态,需要知道相反的信息:实体何时从系统中退出?Grade对象在完成保存数据的操作之后退出系统,不管该操作是否成功。,状态图的建模方法(续),因此,Grade对象的状态图具有如下描述保存功能的开始状态和结束状态:Information Entered 开始状态。Destroy 结束状态。,状态图的建模方法(续),3确定与每一个实体相关的事件 事件
10、用来最终完成实体的功能。要想确定实体的事件,需要知道事件的任务。对于Grade对象,它的任务是保存分数。进一步了解事件的任务之后,就可以确定Grade对象的事件包括接受数据、成功地保存数据和不成功地保存数据。有了这些事件之后,就可以为Grade对象创建这些事件的状态列表,如下所示:Ready 用于数据加载时。Persisting 用于数据保存时。Saved 用于数据已经保存后。Error 用于数据由于出错而未成功保存时。,状态图的建模方法(续),4从开始状态开始创建状态图 利用上述的信息,我们就可以创建一个简单的状态图来描述Grade对象的不同状态,以及触发状态改变的事件,如下图所示。,状态图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第五 状态图 活动 统一 建模 语言 UnifiedModeling
链接地址:https://www.31ppt.com/p-5662768.html