zoukankan      html  css  js  c++  java
  • 《火球——UML大战需求分析》(第1章 大话UML)——1.3 行为型的UML(Behavior Diagram)

    说明:

    《火球——UML大战需求分析》是我撰写的一本关于需求分析及UML方面的书,我将会在CSDN上为大家分享前面几章的内容,总字数在几万以上,图片有数十张。欢迎你按文章的序号顺序阅读,谢谢!本书已经在各大网上书城及书店销售,欢迎你的关注。

    ------------------------------------------------------------------------------------------------------------------------------

    第1章 大话UML

    摘要:你只需要阅读完本章,就能从宏观上掌握UML的知识,在你的脑袋中形成一张UML的蓝图。你能全面了解UML的基本知识,UML的各种图的用途和概况,你能和实际工作遇到的问题联系起来,帮助你进一步规划下一步的学习。


    1.3 行为型的UML(Behavior Diagram) 


    活动图状态机图顺序图处于三种不同的角度来描述流程,是分析业务流程的三种不同利器,下面将会逐一说明。

    活动图(Activity Diagram

    我们将起床到出门上班这个过程画成活动图,可能是这样的:

    图1.7 起床到出门上班的活动图.jpg 
    图 1.7 起床到出门上班的活动图

    活动图中的一个圆边框框表示一个“活动”,多个活动之间的带箭头线条表示活动的先后顺序,该图只是表达了一个顺序流程,活动图还可以表达分支结构。如果你以前曾学过流程图的话,你会发现活动图和流程图很相似。活动图可能是三种能表示流程的UML图中最接近我们思维习惯的一种,下面来学习另外两种能表达流程的图。

    状态机图(State Machine Diagram)

    状态机图又叫状态图,但状态图这个译名并没有译出Machine的意思。
    状态机图从某个物品的状态是如何变化的角度来展示流程,下图某请假条审批流程: 

    图1.8 缺陷处理流程.jpg 
    图 1.8 请假处理流程

    整个请假审批流程是围绕“请假条”这个物体进行的,随着不同的审批阶段,请假条具备不同的状态。我们分析业务流程时会发现很多流程其实是围绕某个物品进行的,这时可考虑使用状态机图。

    顺序图(Sequence Diagram)

    你去餐厅吃饭,向服务员点餐到服务员送菜上来,这个过程用顺序图可表示如下:

    图1.9 点菜的顺序图.jpg 
    图 1.9 点菜的顺序图

    该图有三个“小人”,每个“小人”下面的文字说明(如:顾客)表示其代表的角色。角色与角色之间有一些线条链接,表示角色之间是如何交互的。该图表示的意思是:顾客向服务员点菜后,服务员将点菜信息传递给厨师,然后厨师做菜,最后再由服务员送菜给你。
    点菜过程涉及几个环节,每个环节均由不同的角色来负责,如果遇到类似的情况,你可以考虑使用顺序图来分析。用顺序图来分析的好处是能清晰表达整个过程所参与的角色,角色与角色之间的关系,各角色是如何被卷入这个过程当中的。

    通信图(Communication Diagram)

    UML1.1时,该图英文名为Collaboration Diagram;UML2.x时,英文名为Communication Diagram。将英文名字直接翻译,原来的英文名字可译为协作图,而新的英文名字译为通信图。

    通信图是顺序图的另外一种画法,点菜的顺序图,如果用通信图来画可表示如下:

    图1.10 点菜的通信图.jpg 
    图 1.10 点菜的通信图

    三个“小人”分表表示三种角色:顾客、服务员、厨师;角色之间有直线联系表示他们之间有关系;带序号的文字和箭头,表示角色之间传递的信息。
    顺序图更强调先后顺序,通信图更强调相互之间的关系。我觉得顺序图实用性更好一点,比通信图能表达更多的信息,更容易读懂,在需求分析工作中我基本不会使用通信图。

    用例图(Use Case Diagram)

    下图是用例图的示意图:

    图1.11 用例图.jpg 
    图 1.11 用例图

    用例图表达的是什么角色通过软件系统能做什么事情,我们可以使用用例图系统地表达软件系统的绝大部分需求

    时序图(Timing Diagram)

    时序图也叫时间图,时序图是UML中文术语标准的说法,而时间图不是标准的说法。

    时序图是表示某东西的状态随时间变化而变化的一种图,参见下图:

    图1.12 灯的开关状态随时间变化图.jpg 
    图 1.12 灯的开关状态随时间变化图

    此图表示在0秒到30秒,灯的状态是关的,30-60秒灯的状态为开,60秒后状态为关。
    在实际工作中我基本上没有试用过时间图。

    下面通过这个表格来总结一下我在需求分析工作中应用各种UML图的情况:

    表1.1 各种UML图实际应用情况.jpg 
    表 1.1 各种UML图实际应用情况

    上表是根据我的工作经验总结的,相信会适用于很多情况。但每个人的工作经历、情况、环境等不太一样,上表仅作参考。




    请看下一节……



    作者:张传波

    创新工场创业课堂讲师

    华为某团队高级顾问

    《火球——UML大战需求分析》作者

    www.umlonline.org 创办人

  • 相关阅读:
    UEFI和GPT
    EFI/UEFI BIOS 入门
    UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究
    UEFI和Legacy及UEFI+Legacy启动的区别
    UEFI与MBR区别
    UI基础字典转模型
    UI基础九宫格
    UI基础UIView常见属性及方法
    UI基础控件UIButton
    OC中NSFileManager类 和 copy一些用法
  • 原文地址:https://www.cnblogs.com/riskyer/p/3297522.html
Copyright © 2011-2022 走看看