Modeling Object State Using State Machine Diagrams
使用状态机图给对象状态建模
目标
完成这个模块(章节),你可以
1、给对象状态建模
2、UML状态机图的必要元素
介绍对象状态
State is “1a: mode or condition of being” (Webster)
状态是“1a:模型或物件的状态”(Webster)
有两种方式去思考对象的状态:
1、对象的状态是为对象(使用)的明确的属性的值的集合
2、一个对象的状态描述对象对于外界刺激的行为(反应)
这个模型(章节)以后一种方式思考(认同)。
定义状态机图的基本元素
状态转换
一个状态转换代表状态在运行时的改变
状态节点的内部结构
状态节点代表运行时一个单独对象的状态
1、“入口”事件说明进入状态的行为
2、“离开”事件说明离开状态的行为
3、“做”事件说明正在运行时的行为
4、你也可以说明带有相应行为特定的事件
完成HVAC(加热,通风空调系统)状态机图
为一个复杂的对象创建状态机
1、为对象画一个初始状态和最终状态
2、画出对象的稳定状态
3、说明对象生命周期内的部分稳定状态的次序
4、说明触发对象的状态的转换的事件
5、说明状态的行为
第一步--开始画出初始状态和结束状态
第二步--决定稳定对象状态
第三步--说明状态的部分次序
第四步--说明转换事件和动作
第五步--说明状态的动作
后触发器事件
使用后触发器事件,显示一段时间后出现的事件。
为了十分钟后引发转换,在转换上画上after(10min)以说明事件。
这个事件经常用作超时设定。
自转换
自转换是具有相同起始状态和最终状态的状态转换。
//进出栈示例: //bourne_w@sina.com
交汇点
在UML中,交汇点可以被用作简化图,通过把许多转换打散成片段,从而简化
触发事件,守护,动作的重复性。
下面这个例子展示了状态的变化的次序,事件的次序,守护和动作的值。
交互例子
选择点
在UML中,选择点可以被用作简化图,通过把许多转换打散成片段,从而简化
触发事件,守护,动作的重复性。选择点也允许守护的动态值,在前一个转换
片段的行为被执行后。
下面这个例子展示了状态的变化的次序,事件的次序,守护和动作的值。
选择点例子
总结
1、一个对象也许有定义这个对象的特有行为的状态
2、状态机图为给对象的状态和装换建模提供了一个机制
//2016年11月6日16:15:22 一不小心就搞完了,虽然比较少,但也很重要
//联系我,邮箱:bourne_w@sina.com
交个朋友吧