UML——状态图

来源:互联网 发布:用友u8软件多少钱 编辑:程序博客网 时间:2024/05/17 04:17

         上一篇博客里面我们说了活动图,下面我们来说状态图。

    首先我们来分析一下活动图与状态图的区别:

           状态图侧重从行为的结果来描述(状态),是从一个状态到另一个状态的流程,有外部事件的参与;

           活动图侧重从行为动作来描述(活动)是内部处理驱动的流程。

           在实际项目中,活动图并不是必须的一般在以下情况需要使用活动图:描述一个并行的过程或者行为;描述一个算法;描述一个跨越多个用例的活动。

            状态图描述了一个具体对象的可能状态以及它们之间的转换。

下面是状态图的简单的总结:

点击查看大图:

         状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event),以及因状态转移而伴随的动作(Action)。

         一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机(State Machine Diagram),重点在与描述状态图的控制流。

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

状态有Opened、Closed、Locked。

事件有 Open、Close、Lock和Unlock。

注意:

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

2、转移(Transition)有警备条件(guard condition),比如只有doorWay->isEmpty 条件满足时,才会响应事件。

下面是画的机房收费系统中关于卡的状态图:

原创粉丝点击