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

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

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

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

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. win系统如何在桌面显示我的电脑

    如果是在Windows Server 2012本地控制台下,直接按Win(键盘上的微软徽标键)+R,输入: rundll32.exe shell32.dll,Control_RunDLL desk.c ...

  2. java操作Excel的poi的简介

    一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构: HSSF - 提供读写Mi ...

  3. 企业级任务调度框架Quartz(6) 任务调度器(Scheduler)

    前序:      我们已经在前面的内容能里看到了,我们用 Scheduler 来管理我们的 Job:创建并关联触发器以使 Job 能被触发执行:以及如可选择 calendar 为给定的时程安排提供更多 ...

  4. Matrix Matcher UVA - 11019AC_自动机 + 代价提前计算

    Code: #include<cstdio> #include<cstring> #include<algorithm> #include<vector> ...

  5. js 背景从无到黑的渐变 字从白到黑的渐变

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. selenium的显示等待和隐式等待区别

    1.selenium的显示等待 原理:显式等待,就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间之内都没找到,那么就跳出Exception.(简而言之:就 ...

  7. POJ 2115 C Looooops( 简单拓欧 + 快速幂 )

    链接:传送门 题意:题目中给出一个循环 for (variable = A; variable != B; variable += C) ,这个东东还需要 mod 2^k 问至少多次能退出,如果进入死 ...

  8. [luogu4151 WC2011] 最大XOR和路径 (线性基)

    传送门 输入输出样例 输入样例#1: 5 7 1 2 2 1 3 2 2 4 1 2 5 1 4 5 3 5 3 4 4 3 2 输出样例#1: 6 说明 [样例说明] 根据异或的性质,将一个数异或两 ...

  9. webapi get请求 FromUri list参数传递

    今天做项目调用第三方的webapi时,发现get请求竟然用的是FromUri list参数,汗... 这里简单记录下请求传参的方式(但不推荐大家使用get FromUri list参数 来定义weba ...

  10. maven引入jsp相关依赖

    <!--引入Servlet开始--> <dependency> <groupId>javax.servlet</groupId> <artifac ...