UML--状态图、活动图

        规范解释:状态图(Statechart Diagram)是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。

       简单理解:状态图,首先应理解什么是状态,比如水可以有凉水,沸水两种状态。凉水(状态)经过加热(事件)可以转换为沸水(状态),沸水经过冰冻(事件)可以转换为沸水(状态)。这样是不是很容易理解了?

【图符】

                            UML--状态图、活动图_第1张图片

【活动图】

        活动图是描述用例实现的流程,与流程图及其相似。
【举例】
                                           UML--状态图、活动图_第2张图片
        解析:该实例将电话的状态分为来电纤细,空闲,使用三种状态;这三个状态之间通过事件来转换,结合生活实例可知道在使用状态是无法直接转化为来电显示状态的。
    UML--状态图、活动图_第3张图片
 解析:在机房收费系统中将上级分为了两个状态,一个检测状态,一个登陆状态;检测到的结果又可以分为两个子状态,要么是账户信息存在,要么是不存在;从存在到不存在只要触发注销信息事件即可,从存在到不存在触发添加用户事件。
登陆状态又划分出在线状态与下线状态。从在线到下线触发下机事件,从下线到上线触发的上机时间。

【对比流程图】

        1.流程图着重体现三大结构:顺序,循环,判断;各个处理过程必须严格保证严格的时间和顺序关系;活动图只要求各处理对象所要遵循的规则,重点强调的是系统处理的行为,而非处理过程。
        2.从以上观点不难看出,活动图是面向对象的,流程图则是面向过程的。
        3.活动图支持并发操作,而流程图无法体现。

【图符】

                            UML--状态图、活动图_第4张图片

【举例】

                                                             UML--状态图、活动图_第5张图片
       解析:人从刚醒来,起床可以看成一个行为,然后可以一边吃饭一边喝咖啡,最后去上班。如果是流程图,一定会按照时间顺序:起床----洗漱---做饭---吃饭---喝咖啡---准备行装---上班,是按照时间顺序严格遵循一个流程来执行。
                        UML--状态图、活动图_第6张图片

【对比状态图与活动图】

         1.活动图描述的是活动与活动之间的控制流;状态图是状态与状态之间的转移。
         2.活动图系统内部的工作流;状态图是所表现的动态行为。



你可能感兴趣的:(UML,UML)