《测试路上你问我答》
(16)怎么画功能模块的数据流图?
【背景】
昨天小密圈的铅笔同学提问: 昨天经理给了我一个任务,整理需求分析,要用到一种方法:结构化分析方法,但是数据流图我搞不明白。说明一下,就是一个系统里面有一个大的查询订单模块,里面细分了各种订单的查询模块。怎么去画数据流图,而且还是一个模块的数据流图?
【你问】
怎么画功能模块的数据流图?
【我答】
【基本概念】
结构化分析方法(Structured Method,结构化方法)是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)和结构化程序设计(SP)等方法。
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
在结构化开发方法中,数据流图是需求分析阶段产生的结果。
【结构化分析方法】
就以订单查询模块为例:
1、顶层数据流图:用户在前端页面输入查询条件,系统依据查询条件搜索到相应的订单数据,返回给前端并展示给用户。
顶层图
2、0层数据流图:前端的查询请求发送到服务端,服务端现在缓存里查询,如果查询不到,再去数据库查询
0层图
3、1层数据流图:根据不同的查询条件:订单号、下单日期、订单金额,从数据库中查询到相应的订单,并将订单信息输出给服务端。
1层图
【结构化数据流图的说明】
1、直角方框,表示数据的源点或终点,是本软件系统外部环境中的实体 (包括人员、组织或其他软件系统),统称外部实体。一般只出现在数据流图的顶层图中;
2、箭头,表示数据流,是数据在系统内传递的路径,因此由一组固定的数据组成。由于数据流是流动的数据,所以必须有流向。除了与数据存储之间的数据流不用命名外,其余的数据流都应该用名词命名;
3、圆角方框,表示加工,就是数据处理,对数据流进行某些操作或转换。每个加工也要有名字,通常是动词短语,简明地描述完成什么加工。在分层的数据流图中,加工还应该有编号。0层图的编号假如为1、2,那1层图的编号就要为1.1、2.1;
4、右开口方框,表示数据存储,指暂时保存的数据,它可以是数据库文件或任何形式的数据组织;
《测试路上你问我答》里的 Q&A 16,如果是你要的,甚好!如果不是,你问,我答!
作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵