今天阅读了UML大战需求与分析第五、六章。

第五章,状态机图(State Machine Diagram),状态机图是通过描述某事物状态的改变来展现流程的。一般适用于流程围绕某个事物展开,例如请假的流程就围绕请假条的展开。语法,开始于结束符号,实心圆表示开始,空心圆加上圆心点表示结束。矩形框的四个角为弧形,叫做状态。状态与状态之间的箭头叫转换,转换一般都要加上文字进行说明,文字表明转换的条件,有时候也可以不加,如转换到结束状态。当出现分支情况时,转换的文字说明中,要加上一个中括号,括号中表明进入此分支的条件,中括号中的内容叫做监护。在绘制状态机图时,要根据流程的目的和当前存在的问题,思考该事物在流程的不同阶段有什么状态,状态为什么会发生变化。

第六章,顺序图(Sequence Diagram),顺序图是用来表示事物的发展顺序的。基本语法:角色,用小人表示,注明角色名称,也可以用矩形框表示,框内格式  【对象名】:类名;生命线:角色或者对象下面的那条虚线;激活框:激活框也叫会话,就是生命线中的细高矩形;消息:实线箭头加上文字说明,由一个角色指向另一个,也可以指向自己,文字表明做什么事;返回值:虚线加上文字,一般作为消息的反馈,文字表明返回的东西。顺序图加入了三种新的结构:循环【loop】、条件分支【alt】、可选分支【opt】,不过不推荐使用。

流程分析三剑客—活动图,状态机图,顺序图。

顺序图的特点:

  1. 强调角色之间的交互,信息传递很明确
  2. 强点按时间顺序分别发生了什么事
  3. 不太适合表达复杂的特殊流程(循环分支、条件分支、可选分支)

活动图的特点:

  1. 强调每个角色做了什么事,这些事情的先后关系
  2. 适合表达各种特殊流程,如分支、并发等

状态机图的特点:

  1. 事情围绕某东西展开
  2. 该东西有不同的状态,状态会因为发生了一些事情而改变

作者的使用建议:

  1. 如果事情是围绕某个东西展开的,可以考虑用状态机图
  2. 如果事情不是围绕某个东西展开的,状态机图可能不适合,可考虑用顺序图或活动图
  3. 如果没有复杂的特殊流程,可考虑顺序图
  4. 如果有复杂的特殊流程,可考虑活动图
  5. 不要限制自己只是用一种图,可同时使用两种或三中图,从多个角度来分析问题,稍后再适当取舍

通讯图(communication Diagram),语法:事物有关的角色,人用小人表示,系统或物品用矩形加上:文字表示,有直接交互的角色之间用实现连接,实线上有各种消息和返回值,实线箭头表示消息,虚线箭头表示返回值,消息与返回值都应用数字注明交互的先后顺序。通讯图强调相互之间的关系。

UML大战需求与分析--阅读笔记4的更多相关文章

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

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

  2. &lt;&lt;UML大战需求分析&gt;&gt;阅读笔记(2)

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

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

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

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

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

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

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

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

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

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

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

  8. 《UML大战需求分析》阅读笔记06

    对<UML>撒站需求分析的阅读现在已到达尾声,虽然读这本书是应老师的要求,但是在后期的阅读中也逐渐喜欢上这本书,在阅读的过程中不断领会需求分析与UML之间的联系,让在软件需求分析阶段有了更 ...

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

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

随机推荐

  1. 前端学HTTP之报文起始行

    前面的话 如果说HTTP是因特网的信使,那么HTTP报文就是它用来搬东西的包裹了.HTTP报文是在HTTP应用程序之间发送的简单的格式化数据块,每条报文都包含一条来自客户端的请求,或者一条来自服务器的 ...

  2. java设计模式之简单工厂模式

    简单工厂: 简单工厂的优点: 1.去除客户端与具体产品的耦合,在客户端与具体的产品中增加一个工厂类,增加客户端与工厂类的耦合 2.封装工厂类,实现代码平台的复用性,创建对象的过程被封装成工厂类,可以多 ...

  3. JavaScript面试时候的坑洼沟洄——数据类型

    前些日子写了篇关于最近找工作的一些感受的博客 找工作的一些感悟--前端小菜的成长,没想到得到了很多园友的共鸣,得到了很多鼓励,也有园友希望我分享一些笔试.面试的经验.我觉得分享一些笔试题没太多价值,对 ...

  4. 自动执行任务管理---TaskManage

    这篇主要配合数据使用 先说数据库 名字都很标准---------------------------------- ------------------------------------------ ...

  5. Linux环境下中文字体乱码处理办法

    项目中包含了一项生成JPG图片的功能,该功能需要使用JAVA的Graphics2D动态生成图片中的文字,原来在Windows平台中没有发现问题,但是迁移至Linux平台后发现生成的中文变成了乱码. 百 ...

  6. [CentOS]添加删除用户

    摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...

  7. POJ 1654 Area(水题)

    题目链接 卡了一下精度和内存. #include <cstdio> #include <cstring> #include <string> #include &l ...

  8. 整理一下以前的Html+css3复习笔记

    一.html5新特性  常用语义标签:nav footer header section mark  功能标签 video audio iframe canvas(画布和绘图功能)  input新ty ...

  9. linux freetds操作mssql

    1.安装freetds wget http://mirrors.ibiblio.org/freetds/stable/freetds-stable.tgz tar xvzf freetds-stabl ...

  10. Android 手势识别类 ( 二 ) GestureDetector 源码浅析

    前言:Android 关于手势的操作提供两种形式:一种是针对用户手指在屏幕上划出的动作而进行移动的检测,这些手势的检测通过android提供的监听器来实现:另一种是用 户手指在屏幕上滑动而形成一定的不 ...