携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天,点击查看活动详情
一篇文章带你学会如何画数据流图(DFD)
数据流图
数据流图(DFD) 是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。即用于建立功能模型的数据流图。
数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。此外,设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。
数据流图基本符号
四种基本符号:
- 正方形表示数据的源点或终点
- 圆角矩形代表变换数据的处理
- 开口矩形代表数据存储
- 箭头表示数据流,即特定数据的流动方向
数据流图层次结构
顶层流图
在多层数据流图中,顶层数据流图仅包含一个加工,它代表被开发系统。
- 输入流是该系统的输入数据
- 输出流是系统的输出数据
- 数据存储是系统内部功能,所以在顶层流图中不会画出它
中间数据流图
中间层流图则表达对其上层父图的细化,它的每一层加工可能继续细化,形成子图。
底层流图
底层流图是指其加工不需要做分解的数据流图,它处在最底层。
数据流图设计原则
1、父图-子图平衡原则
即父图输入输出数据流等于子图输入输出数据流。
2、数据守恒原则
3、守恒加工原则
每个加工至少有一个输入数据流和一个输出数据流
实战画图
1、家庭保安系统
第一步:从问题描述中提取数据流图的4种组成成分
数据源点和终点--》数据处理--》数据流和数据存储。
第二步:画顶层数据流图,即反映最主要业务处理流程
第三步:基本系统模型细化,描绘系统的主要功能
第四步:对主要功能进一步细化
2、图书预定系统
书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订单两种,随时处理优先订单,定期处理正常订单。最后系统将所处理的订单汇总,并按出版社要求发给出版社。
第一步:顶层数据流图
第二步:细化
第三步:逐步细化