1、状态机图概述
是通过建立类对象的声明周期模型来描述对象随时间变化的动态行为。
状态用圆角矩形表示,
出台用实心原点表示
终态用圆形内嵌原点表示
状态机图由状态、转换、事件、活动和动作5部分组成,是展示状态与状态转换的图。
通常一个状态机图依附于一个类,并且描述一个类的实例。
大多数面向对象技术都使用状态机图来描述一个对象在其生命周期中的行为。
2、状态机图的基本元素
状态棘突是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件作出的反应。
状态之间的过渡时间,对应独享的操作,事件有可能在特定的条件下发生。
uml中这种条件称为警戒条件,发生事件时的处理成为动作,从一个状态到另一个状态之间的连线成为转移,状态机图通常包含:
1、状态
状态定义对象在其生命周期中的条件或状况
2、转换
对象状态之间的转移教转换,包括事件和动作(如回调方法)
3、状态
分5个部分:
名称,
进入/退出动作
内部转换
子状态
延迟事件
1、名称
具名或匿名
2、进入/退出动作
入口动作是entry
出口动作是exit
进入和退出操作将分别允许发出同意操作
3、内部转换
使转换事件在不退出状态的情况下,在状态内得到处理,从而避免触发进入或退出操作
4、子状态
嵌套在另一个状态中的状态称之为子状态。
简单状态是没有子结构的,具有子状态(嵌套状态)的状态称为组合状态
atm机取款的组合状态
三种子状态
1、顺序子状态
子状态按照顺序一个接一个的出现
2、并发子状态
子状态的转移同时进行。或者两个状态序列是并发关系
3、延迟事件
是处理过程被推迟的事件,她的处理过程要到事件不被延迟的状态被激活时才会执行。
4、转换
转换由5个人部分组成:
源状态、
触发事件
监护条件
动作
目标状态
1、源状态
一个状态到另一个状态的转换
2、触发事件
触发事件就是引起转变的时间,是转移的诱因,可以是一个信号,事件、条件变化和时间表达式
3、监护条件
转移的触发事件发生时,对监护条件进行求值。监护条件是一个布尔表达式
4、动作
转化发生事,执行的对应动作。
5、目标状态
要转换成的状态
5、状态机图的建模技术及应用
一个拨打电话的状态转换
航班预订
网上银行登录
6、活动图概述
活动不是原子的,由一系列的可执行的原子计算组成,这些计算会导致系统状态的改变或返回一个值,活动与一个状态关联
7、活动图的基本元素
状态
转移
分支
分叉和汇合
泳道
对象流
8、动作状态
原子性
不可中断性
瞬时性
9、活动状态
非原子
可中断
有限时间
10、活动状态
两个状态的转换
11、分支
描述某个条件的可选路径,一个分支可以有一个进入转移和两个或多大个输出转移
12、分叉和汇合
对象运行时可能存在两个或多个并发运行的控制流,分叉用于将动作流分为两个或多个并发运行的分支,汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。
13、泳道
将活动图中的活动划分为若干组,并把每一组指定给负责这组活动的业务组织(对象)。每一组表示一个特定的类、人祸部门,他们负责完成组内的活动。
泳道区分了负责活动的对象,明确表示了哪些活动是由哪些对象进行的。
每个活动只能明确地属于一个泳道。
泳道用于表示实际执行活动的对象。
14、对象流
包含依赖关系和对象的信用被称之为对象流
对象流的特点
- 一个对象可以有多个动作操作
- 一个动作输出的对象可以作为另一个动作输入的对象
- 同一个对象可以多次出现,它的每一次出现表明该对象正处于对象生存期的不同时间点
15、活动图的建模技术及应用
订单系统
图书借阅系统.
股票交易泳道图