摘自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. pdftoswf + flexpaper 图片转pdf浏览体验的实现

    需要的工具: pdftoswf:http://www.swftools.org/download.html flexpaper包,最好找个破解版的swf文件替换一下里面的swf文件.http://fi ...

  2. XPS to Blender 2.7x

    XPS to Blender 2.7x(Blender internal the easy way) Things we are gonna need are Blender 2.7x www.ble ...

  3. C++ 字符串操作常见函数

    //字符串拷贝,排除指定字符 char *strcpy_exclude_char(char *dst, const int dst_len, const char *src, const char * ...

  4. Delphi调用约定

    Register Calling Convention Ojbect Pascal的默认调用约定为register,寄存器调用约定会将前三个参数依次放入eax,edx,ecx,返回值是eax(根据类型 ...

  5. oracle 表查询二

    1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?select * from emp where (sal > 500 or ...

  6. Processes vs Threads

    A process is an executing instance of an application. What does that mean? Well, for example, when y ...

  7. error = Error Domain=NSCocoaErrorDomain Code=3840

    json解析,同样的请求,有一个请求,无反应.纠结了几天,终于解决了. error = Error Domain=NSCocoaErrorDomain Code=3840 "Unescape ...

  8. c#网页爬虫初探

    一个简单的网页爬虫例子! html代码: <head runat="server"> <title>c#爬网</title> </head ...

  9. 如何去掉word的背影图片?

    从网上下载下来的word资料总有背影图片,看的人很烦,网上有一些去除背景图片的方法,我找到一个不用去背景图片也行的方法:先选View,再选Draft,背景图片就正在最上面显示了,这时候你也可以选中图片 ...

  10. qt QMessageBox QInputDialog

    最近用到了QMessgaeBox和QInputDialog,QMessageBox用于提示,警告等消息,QInputDialog给用户弹出输入对话框. 参考链接 http://chenboqiang. ...