最近接了一个项目,业务给出的文档中对于逻辑的描述是这样的:录入信息--计算结果--上传结果,没有任务列表,这意味着一旦任务要一路干到底,中间切换到下一个任务是无法在查看到前面的任务了,这样看来它被称为事务更合适。但是对于一个软件的数据流来说其实是不完整的,这就好比在外卖软件的点完餐之后,只能在点下一餐,上一餐送没送到,上一餐点的什么都再也看不到。数据存入了库里,可是再也拿不出来。我觉得这是不完整的。
系统流程描述的是系统在各部件之间流动的情况。数据流描述的是数据在软件中流动和被处理的逻辑过程。
我认为数据在系统中具有三个动作要素:输入、处理、输出。
验证一个系统关于数据流动的完整性要从四个方面来检查:
- 黑洞:数据只进不出 (没有输出)
- 灰洞:数据进出相同 (没有处理)
- 奇迹:数据只出不进 (没有输入)
- 白洞:数据被处理后的结果不正确 (处理错误)
这四条也是检验一个软件在可行性分析阶段的数据流图的数据流。