• 你的UML第一张图是用例图么?(1)——活动图为开端


    前言:

    如果你的UML图第一章还是用例图请你继续看下去;如果你不知道业务分析图和活动图的关系,请你继续看下去;如果你的机房无论是重构还是合作出现遗漏功能(我重构的时候就把操作员工作记录查询给漏了)请你继续看下去。

    一、需求分析的误区

    事实上,我机房合作是做了很久很久,事实上代码我们早就敲完了,但是我还是坚持不去结束项目,原因很简单,我想通过机房真正的对于软工有所了解和体会。机房合作的时候我犯了一个致命的错误,我是按照功能分析需求的。举个例子:

    机房有一个操作员工作查询记录的功能,我当时只是草草幻想如果是对机房负责人采访的场景:“我需要一个能够查询操作员工作记录的功能。”

    事实上这个想法漏洞百出,首先,我们之前重构的系统已经是有一个“正在值班老师的功能”。其次,为什么操作员工作记录是运用组合查询。

    我对这些问题思考了很久,当我重新再进行需求分析的时候,我才发现原来我上面错误的想法来源于我一上来就画了用例图。我傻傻的以为,客户说我要这个这个这个功能,我就直接在用例上加上行了。事实上,我根本没有进行需求分析,我只是按照我建好的系统找一个好的借口而已。

    二、以业务流程与活动图为开端

    “那到底是哪个图为开始?”我的回答是“业务流程与活动图为开端。”在需求分析中,我们首先要了解用户的工作流程,画出他们的活动流程。比如,在机房收费系统教师在管理员可能是这样描述:

    “平时值班老师把一天收上来的钱交给我,我首先是要根据今天值班老师名单看是否已经交齐,然后需要进行汇总核对,如果出现问题,我要去具体问一下今天值班老师值班的工作,然后才能分析出账目不对的原因,如果没有问题,那我就可以给老师开账单。”

    我这段话可能存在着很多的漏洞(原谅我模拟的不够完美),但是如果你细心就能够发现,“具体问一下今天值班老师值班的工作”这个活动与“操作员工作记录”,有很大的关系,事实上,我正是通过这个活动转换成系统提供的“操作员工作记录”服务的。

    也就是说在我们所理解的用例图前面还是有个活动图作为开端的。

    那业务流程和活动图有什么关系呢?我就用我现在合作的图来解答这个问题。

     


       这两图上面的是业务流程图,下面是活动图,事实上,这只是一个总体的业务流程,里面包括上下机业务流程,但是当你点击上下机业务流程时候,就会出现我下面的活动图。换而言之业务流程图和活动图是组合在一起的。

         笔者认为,一般获取用户的需求都是通过采访等等,是以一个活动业务流程作为主线,用户在业务流程基础上详细描述不同环境的不同需求。


    ————未完待续

  • 相关阅读:
    stm32芯片上两个点 那个是一脚
    MLX90640 热红外成像仪 热源检测 电子检修 热水管探测
    USB继电器 开关 2路 5V 单片机STM32 Arduino 电器单独DC供电
    ARM仿真下载调试器 SWD编程器 Jlink OB下载器 超STLINK 代替V8
    Kotlin+Jetpack Compose+Volley+ViewModel Android开发
    TortoiseGit MergeTool 文件比对工具替换为 DiffMerge
    mysql 行转列 多行转一行
    MySQL using index condition
    PHP获取参数时, 解耦其默认值的处理逻辑
    centos7安装rabbitmq3.9.5单机部署
  • 原文地址:https://www.cnblogs.com/tanqianqian/p/5975046.html
Copyright © 2020-2023  润新知