UML之 状态图

状态图是主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。显示了该实体如何根据当前所处的状态对不同的事件做出反应。

   状态图重点在于描述对象的状态及其状态之间的转移,状态图的基本元素主要有:状态、转移、动作、自身转移、组合状态、进入节点、退出节点、历史状态、并发区域等,状态中的事件分为调用事件(Call)、变化事件(Change)、时间事件(Time)和信号事件(Singal)。最后以实例对状态对进行了分析。

Trufun致力于软件工程全过程解决方案,提供从需求到测试的完整跟踪过程,愿与各方进行科研、开发等方面的合作。

.状态图的要素

椭圆或圆角矩形:表示对象的一种状态,椭圆内部填写状态名

箭头:表示从箭头出发的状态可以转换到箭头指向的状态

事件:引起状态转换的原因。事件名可在箭头线上方标出

条件:事件名后加方括号,括号内写状态转换条件

实心圆:初始状态

内部实心的同心圆:最终状态

对于理解这个张图用了好久,然后找到了一个比较好的例子

1.    如下图例子,状态机描述了门对象的生存期间的状态序列,引起转移的事件,以及因状态转移而伴随的动作(Action).

门一般状态有开的、关的、锁的三种状态。。

事件有 打开、关闭、锁门和开锁。

 

有几个需要注意的点,

1、并不是所有的事件都会引起状态的转移,比如当门是处于【开的】状态时,就不能进行【锁门】事件。

2、转移有警备条件,比如只有关门的条件需要没有障碍物才能满足时,才会响应事件,如果有障碍物无法关上门则不会改变们的状态为关闭状态。

猜你喜欢

转载自blog.csdn.net/liuyubibn/article/details/80146595