摘自http://www.umlonline.org/school/viewthread.php?tid=39

活动图将流程分解为一个一个的活动,通过活动的先后顺序来展示流程;而状态机图从某个物品的状态是如何变化的角度来展示流程。先看看状态机的简单语法

注意:红色框框及黄色底色的文字并不是状态机图的一部分,仅是用来说明。
状态机图的基本要素如下:
1.一个状态机图是用来表达一个事情的,不要企图在一个状态机图中表达多个事情。
2.有开始与结束标志,这点与活动图很类似。
3.圆角框框表示的是一个一个的状态,这个框框跟活动图的活动框框很类似,要注意活动图的框框是左右两边都是弧形的,而状态机图的框框是4个角是圆角。
4.由一个状态变为另外一个状态,必定是发生了一些事情让其转变,状态之间通过带箭头的线条表示转变的方向,线条上写上让状态变化的事件。

我们以请假审批为例子,请假的过程一般是这样的(假设只有一级审批):
1.请假人填写请假条。
2.请假人提交请假条给上司审批。
3.上司批准或者拒绝请假。

请假的工作是围绕这请假条进行的,在整个过程中,请假条有三种状态:
1.待定(appended):请假人写好请假条,请假条未被上司审阅之前的状态。
2.批准(rejected):上司批准请假后的请假条状态。
3.拒绝(approved):上司拒绝请假后的请假条状态。

用状态图来表示这个过程如下:

怎么样?状态机图简单不?
实际工作中,很多人往往将状态机图与活动图搞混,最常见的原因就是没有把握好状态机图是以状态为中心的,而活动图是以活动为中心,各自表述的角度不一样。活动图往往会更加容易被大家理解,而真正要掌握状态机图还需要脑袋上转过弯来才行。

实际工作中用到活动图的情况居多,实际上同一个流程可以同时用活动图和状态机图来表示的,建议大家多用用两种图来同时分析流程,这样你对流程的认识将会更深。

UML: 状态机图的更多相关文章

  1. UML状态机图【图3】--☆

    UML状态机图 基本概述    状态机图描述的是围绕某一事物状态变化的图.它也是三大流程分析利器之一.它和活动图的区别在于,活动图是描述事物发生的流程,是多个角色参与的,而状态机描述的是事物的状态变化 ...

  2. 【翻译】What is State Machine Diagram(什么是状态机图)?

    [翻译]What is State Machine Diagram(什么是状态机图)? 写在前面 在上一篇学习类图的时候将这个网站上的类图的一篇文章翻译了出来,感觉受益良多,今天来学习UML状态机图, ...

  3. [UML]UML系列——状态机图statechart diagram

    系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...

  4. 【UML】-NO.43.EBook.5.UML.1.003-【UML 大战需求分析】- 状态机图(State Machine Diagram)

    1.0.0 Summary Tittle:[UML]-NO.43.EBook.1.UML.1.003-[UML 大战需求分析]- 状态机图(State Machine Diagram) Style:D ...

  5. UML之状态机图

    状态机图 基本概念: 状态机图,UML 1.x规范中称状态图,是一个展示状态机的图. 状态机图基本上就是一个状态机中元素的投影,这也就意味着状态机图包括状态机的所有特征.状态机图显示了一个对象如何根据 ...

  6. uml精粹——10.状态机图

    10.状态机图state machine diagram   状态机图是常见的描写叙述一个系统行为的技术. 在面向对象的方法中,为单个类绘制一个状态机图来展示单个对象的生命周期行为. 见图10.1 图 ...

  7. [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图

    [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...

  8. UML——在Visual Studio 2013/2015中设计UML类图

    1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...

  9. [转载]UML时序图总结

    前言 在我的工作中,用的最多的就是时序图了.可能由于工作的原因,我也是最喜欢画时序图了,很清楚,很明了,什么时候发送什么消息,到达什么状态,一下子就展示在你的脑海里,对于消息驱动的程序来说,是再好不过 ...

随机推荐

  1. OpenStack,ceph

    · Hypervisor或Container项目 · 基础设施即服务(IaaS) · 平台即服务 (PaaS) · 配置管理工具 · 储存服务 (Storage) 在虚拟层类别中,KVM收获了48%的 ...

  2. 安装SQL Server出现在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke的错误解决办法

    以下是错误报告:   标题: SQL Server 安装程序失败. ------------------------------   SQL Server 安装程序遇到以下错误:   在创建窗口句柄之 ...

  3. JMX初体验

    这些天在看<How Tomcat Works>这本书.里面讲到了JMX的内容.对我来说是个新知识点. JMX--Java Management Extensions,即Java管理扩展,是 ...

  4. 应中DOS中断显示字符串(摘自《汇编语言》王爽)

    data segment s1 db 'Good,better,best,$' s2 db 'Never let it rest,$' s3 db 'Till good is better,$' s4 ...

  5. 兼容的获得event

    function getEvent(e) { var e=window.event || event; return e.srcElement || e.target; }

  6. 1006 最长公共子序列Lcs

    1006 最长公共子序列Lcs 基准时间限制:1 秒 空间限制:131072 KB 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdks ...

  7. ASP.NET MVC3 Areas 分离项目 同名控制器(同名Controller) 演示demo

    为什么需要分离? 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际 ...

  8. java构造函数,java的静态块理解

    今天我遇到这样的代码块,理解甚久,现在理解了,举一些例题给你看看 先创建一个One类: package accp.com;/** * 其中一个类 * @author xuxiaohua * */pub ...

  9. 根据IP查主机名和MAC地址

    根据IP查主机名: nbtstat -a XXX.XXX.XXX.XXX根据IP查MAC地址: arp -a XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX指代要查的主机的IP

  10. 用代码调用Storyboard里面的viewController

    今天在帮助群里的一个朋友弄pop事件,在他那边,当前的viewcontroller,不能pop出去. 初步估计,他的ViewController层级多,他自己没有理清. 因为pushViewContr ...