面向对象设计-面向对象设计系统软件建模设计-UML软件状态机视图建模_第1页
面向对象设计-面向对象设计系统软件建模设计-UML软件状态机视图建模_第2页
面向对象设计-面向对象设计系统软件建模设计-UML软件状态机视图建模_第3页
面向对象设计-面向对象设计系统软件建模设计-UML软件状态机视图建模_第4页
面向对象设计-面向对象设计系统软件建模设计-UML软件状态机视图建模_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

6.4

UML软件状态机视图建模系统分析与设计理解软件状态机视图掌握状态与转换掌握状态机图地创建掌握类行为地建模方法【本节学习目标】系统分析与设计一,状态机图 对象被看成是通过事件触发并做出相应动作来与外界其它对象进行通信地独立实体。 状态机图通过对对象地各种状态建立模型,描述对象随时间变化地动态行为,状态之间地变化是通过事件触发地。 状态机图对系统地动态方面进行建模,描述类地对象随时间变化地行为,展现对象拥有地状态,以与事件如何随着时间推移影响这些状态。通常一个状态机图依附于一个类,描述该类地对象地行为。状态机视图使用状态机图(State

machine

diagram)来表示。状态机图在UML1.x中称为状态图(State

chart

diagram)。UML中地状态机图由表示状态地节点与表示状态之间转换地带箭头地直线组成。系统分析与设计二,状态状态用于对对象在其生命周期中地各种状况进行建模。一个对象在有限地一段时间内保持一个状态。状态一般是给定类地对象地一组属性值。

处于相同状态地同类多个对象对同一事件地反应方式往往是一样地。如果对象处于不同状态,则对同一事件会做出不同反应。

在系统建模时,不是任何状态都值得关注,需求关注地是那些明显影响对象行为地属性,以与由它们表达地对象状态。

状态由一个带圆角地矩形表示,状态地描述包含:状态名,入口与出口动作,内部活动,内部转换。系统分析与设计1,状态名

状态名表示状态地名称,通常是直观,易懂,能充分表达语义地名词短语,其中每个单词地首字母要大写。2,入口与出口动作状态可以有入口与出口动作,也可以没有。入口动作指地是对象进入一个状态时所执行地动作,通常是内部初始化。出口动作指地是对象退出一个状态时所执行地动作。系统分析与设计3,内部活动

状态可以包含内部活动。当对象进入一个状态后,活动在入口动作完成后开始执行。如果活动结束,状态就完成,然后一个从这个状态出发地转换被触发。4,内部转换状态可能包含一系列地内部转换,内部转换地结果并不改变状态本身。系统分析与设计三,状态地类型状态类型包含初始状态,终止状态,中间状态,简单状态,嵌套状态与历史状态1,初始状态初始状态代表状态机图地起始位置。初始状态只能作为转换地源,而不能作为转换地目标。一个状态机图只能有一个初始状态。2,终止状态终止状态是状态机图地终点。终止状态只能作为转换目标而不能作为转换地源。一个状态机图可以拥有一个或者多个终止状态,特殊情况下可以没有终止状态。系统分析与设计3,嵌套状态内部嵌套有子状态地状态,称为嵌套状态,也称为复合状态或组成状态。

当控制流转移进入嵌套状态时,除非转移直接以某子状态为目标,否则控制流将从其中地初始子状态开始执行。内部不包含子状态地状态称为简单状态。4,历史状态嵌套状态中可能包含历史状态。

历史状态代表上次离开嵌套状态时对象所处地子状态。

再次进入该嵌套状态时,可直接进入这个子状态,而不是从该嵌套状态地初始子状态开始执行。系统分析与设计四,转换

转换表示一个处于某状态地对象通过执行指定地动作并符合一定地条件下进入第二种状态。在这个状态地变化中,转换被称作激发。激发之前地状态称为源状态,激发之后地状态称为目标状态。简单转换只有一个源状态与一个目标状态。复合转换有多个源状态或多个目标状态。转换还可以标注与此转换相关地选项:事件,监护条件,动作。如果转换上没有标注触发转换地事件与条件,则表示此转换自动进行。系统分析与设计1,触发器事件触发器事件就是可以引起状态转换地事件。

事件发生在时间与空间上地一点,没有持续时间,主要包含信号事件,调用事件,改变事件与时间事件。

如果触发器事件有参数,这些参数可以被转换所用,也可以被监护条件与动作表达式所用。

没有明确地触发器事件地转换称作完成转换或无触发器转换,是在状态结束时被状态中地内部活动隐式触发地。系统分析与设计2,监护条件转换可能具有监护条件,监护条件是一个布尔表达式。如果具有监护条件,则监护条件是触发转换必须满足地条件。

当触发器事件发生时,监护条件被赋值,如果监护条件地值为真,转换可以被激发,否则转换不能被激发。如果转换没有监护条件,则监护条件地值默认为真。从一个状态引出地多个转换可以有同样地触发器事件,但具有不同地监护条件。系统分析与设计3,动作动作是一个简短地计算处理过程或一组可执行语句。动作是原子性地,不可中断地。如果在动作地执行期间接收到事件,那么这些事件都会被保存,直到动作结束。动作可以是赋值操作,调用操作,创建对象,销毁对象,返回,发送信号。动作可以依附于转换,可以作为状态入口动作或出口动作。系统分析与设计4,判定与合并(条件行为) 状态机图中有需求根据给定条件进行判断,然后根据不同判断结果进行不同转换地情况。 如果遇到需求使用判定地情况,通常用监护条件来覆盖每种可能,按监护条件地取值使工作流发生分支。一个事件可以依据不同地监护条件激发不同转换。判定(分支)通常具有一个转入与多个转出,每个路径有不同地转出条件。合并具有多个转入与一个转出,不需求监护条件。系统分析与设计5,分叉与汇合(并发行为)同步是为了说明并发工作流地分叉与汇合。

分叉表示把一个单独地工作流分成两个或多个工作流,几个分叉地工作流并行地进行。

汇合表示两个或者多个并发地工作流得到同步,先完成地工作流需求在此待,直到所有地工作流达到后,才能继续执行后面地工作流。在UML中,同步用一条粗线段来表示。系统分析与设计案例:某学生选课管理系统确定需求创建状态机图地类不需求为系统中所有地类创建状态机图,只有重要地且在其生命周期中具有明显状态变化地类才需求通过状态机图进一步建模。对于该学生选课管理系统,需求为Student类建模其状态机图,详细描述其行为。分析确定类可能拥有地状态对于Stu

温馨提示

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

评论

0/150

提交评论