系统设计时先画用例图还是流程图

系统设计时先画用例图还是流程图

在这里插入图片描述

最近在做系统设计时,在开始之初总是会纠结是先画流程图还是先描述用例图?

先画用例图,好像无法一下子把握到系统比较明确的职责?

先画流程图,看起来容易把握了系统职责,但感觉好像是跳过了一些东西直接进入到了细节之中?

举个例子

对于上述问题,可能不能一下得到答案。那么我们拿战争来思考一下,如何系统去做。直觉式的思考过程:

终极目标: 扩张获取更多的资源。

战略: 分阶段打造强大的基础能力(经济和军事实力)。

分工: 设立合适的组织,统一认识,实现分解的小目标。

当然战争是一个很复杂的过程, 我们这里只是举个例子感受一下我们直觉式的思考过程。

为什么要使用总分?

从战争的例子来看,我们采用了一个总分的结构。为什么呢?

抛开用例图和流程图的问题,在面对一个比较庞大的信息量时,由于人对信息量处理能力的限制,只能同一时间处理少量的信息。在这种情况下,

就需要有逻辑的结构来搭建信息的架构。这样就可以顺着脉络,像XML的解析工具SAX的stream流一样,每次只处理少量的信息,最终掌握

庞大的信息量。而这种脉络结构,是需要由总到分,由粗到细,由抽象到具体的层次结构。

题外话: 如果这种模式称之为总分结构,那么分总结构由适合在什么地方呢?

说到分总,最容易想到的就是由浅入深地学习,像"盲人摸象"地方式渐进地认识事情的全貌。

我的观点是总分模式是用来架构信息的脉络,而分总是用来认识已经架构好的信息。

回到话题

首先还是让我们回答一下用例图和流程图的职责。

用例图回答的是做什么的问题。

流程图回答的是怎么做的问题。

结合上述的总分结构,那么我们就可以简单地推理出: 应该先用例图,后流程图。

那么当用例图感觉不好把握,思路不清晰问题应该如何解决呢?

在面对复杂的软件情况下,可以结合多种设计方法TOGAF,C4,DDD进行思考

当感觉无法理解用例图应该有哪些内容时,我认为会有两个原因:

  1. 描述的是过于细节,比如是C4的系统上下文之类的用例图。用例图不单纯,包括了系统边界的内容。

  2. 本质来说,用例图并非是逻辑起点,所以也会存在层次过低细节过多的问题,需要向上寻找更核心更本质靠近逻辑原点的概念及流程,比如业务价值流、基础能力和组织。

结语

就感叹一下,难得有时间也能坐下来想一些感兴趣的问题,忙中偷闲的好时光~

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值