学习了活动图之后,我又学习了流程分析工具之二的状态机图。看上去状态机图和活动图很类似,我也很容易从活动图的角度来理解状态机图。但是学习之后,发现两种图是两种完全不同的分析角度。活动图在流程分析时是玩你玩万能的,但是在流程是围绕某一事物的状态展开时,首选的应该是状态机图。

活动图是将流程分解为一个一个的活动,通过活动的先后顺序来展示流程;但是状态机图是从某个事物的状态是如何变化的角度来展示流程。在分析一个流程时,我们首先分析从头到尾一共经历了什么状态,状态之间是如何变化的。状态与状态之间的箭头叫转换,在状态转换时应该说明什么角色做了什么事情从而导致状态发生变化。在这里,两者的不同就是,状态图各种角色如何参与这个流程、各种角色的动作,都通过“转换”来体现,而活动图是通过“活动”来体现的。这一点是状态机图与活动图的重大差别体现。状态机图的难点和关键在于合适而准确的状态划分,我觉得这需要长时间的的练习和画图。在思考状态机图的流程时,我们首先应该找到整个流程是围绕什么事物展开的,找到这个事物的状态;然后分析,当一个状态可以转换为两个或两个以上状态时,表示分支结构。

紧接着我又学习了流程分析的另一利器顺序图,使用顺序图,我们可以很好的描述我们日常生活中的一些情况。比如去餐厅吃饭这个情况,我们首先会进入餐厅,第二步,坐到一个座位,第三步,从服务员那里拿到菜单,第四步,挑选菜品,最后一步,向服务员点单。这就是我们去餐厅吃饭的一个顺序。我们只需要从该流程中找到角色,并找到角色之间是通过什么事件如何交互的。用箭头表示交互,消息代表做了什么事情,引起了系统反响。我们可以使用顺序图画主要流程,再配合注解或文字说明特殊流程。顺序图强调的是角色之间的交互,信息的传递,并且强调按着时间顺序发生的事情,但是并不适合表达复杂的特殊流程。

这三种图不是限制必须使用某种图,我们可以同时使用来更好地表达我们的流程,我们应该从各个角度来分析,找到最适合而不是说最好的图来表述。

03《UML大战需求分析》之三的更多相关文章

  1. UML大战需求分析——阅读笔记03

    读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...

  2. 《火球——UML大战需求分析》(0.2)——目录

    说明: <火球——UML大战需求分析>是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张.欢迎你按文章的序号顺序阅读,谢 ...

  3. UML大战需求分析--阅读笔记01

    本次阅读的书籍是<UML大战需求分析>,看了前两章的内容:1 大话UML,2绞尽脑汁的需求分析.这两章内容关联不大,分开描述. 第一章:大话UML 本章主要概述UML是什么,有什么内容.U ...

  4. UML大战需求分析——阅读笔记04

    读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...

  5. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  6. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  7. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  8. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  9. 《UML大战需求分析》阅读笔记01

    在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...

  10. 火球-UML大战需求分析(体验版3.0.2).pdf

    火球-UML大战需求分析(体验版3.0.2).pdf http://files.cnblogs.com/files/happlyonline/%E7%81%AB%E7%90%83-UML%E5%A4% ...

随机推荐

  1. matlab学习GUI的基本操作

    在命令行窗口输入guide 单击确定后出现,可以选择控件来设计,然后可以保存 右击可以查看控件的所有属性 举一个简单的GUI实例---实现数据的传输 添加可编辑文本框 更改字体大小,string默认的 ...

  2. Day 08 字符编码

    字符编码 计算机基础 启动应用程序 1.双击QQ 2.操作系统接受指定然后把该操作转化为0和1发送给CPU 3.CPU接受指令然后把指令发给内存 4.内存接受指令把指令发送给硬盘获取数据 5.QQ在内 ...

  3. Node笔记(1)

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.  进程 1.process.argv 用于获取当前进程信息 0--node.exe的目录1--js文件的目录2 ...

  4. springboot 打包下载数据

    //文件打包下载     public static HttpServletResponse downLoadFiles(List<File> files,             Htt ...

  5. 区分JAVA创建线程的几种方法

    1. start()和run()       通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行.然后 通过此Thread类调用方法run()来完成其运行操 ...

  6. Project Euler 11 Largest product in a grid

    题意:在这个20×20方阵中,四个在同一方向(从下至上.从上至下.从右至左.从左至右或者对角线)上相邻的数的乘积最大是多少? 思路:暴力去枚举以 ( x , y ) 为中心拓展的四个方向 /***** ...

  7. jquery---- 数组根据值进行删除

    var chooseAttr = []; //serviceId为值 chooseAttr.splice($.inArray(serviceId,chooseAttr),);

  8. 计算机-禁止USB服务

    接到一个任务,禁止集团内所有电脑的USB接口进行文件拷贝,但不能妨碍打印机.鼠标键盘.扫描仪.加密狗等等一切需要USB接口工作的外部设备. 纠结了,这不摆明了让我蛋疼吗? 不过,疼归疼,办法总是要想滴 ...

  9. 洛谷 P3014 [USACO11FEB]牛线Cow Line

    P3014 [USACO11FEB]牛线Cow Line 题目背景 征求翻译.如果你能提供翻译或者题意简述,请直接发讨论,感谢你的贡献. 题目描述 The N (1 <= N <= 20) ...

  10. SVN文件恢复

    SVN删除文件 一.本地删除 SVN删除文件里的本地删除,指的是在clientdelete了一个文件,但还没有commit.使用revert来撤销删除. 二.server删除 1.通过本地删除后提交s ...