一篇文章彻底学会画数据流图

简介: 一篇文章彻底学会画数据流图

数据流图


数据流图(DFD) 是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。


在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。即用于建立功能模型的数据流图。


数据流图是系统逻辑功能的图形表示,即使不是专业的计算机技术人员也容易理解它,因此是分析员与用户之间极好的通信工具。此外,设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。


数据流图基本符号


四种基本符号:


正方形表示数据的源点或终点

圆角矩形代表变换数据的处理

开口矩形代表数据存储

箭头表示数据流,即特定数据的流动方向


8bf25a3621497cfe2d4bba29da4fb251_fbba0b3960116f0fee609524234b7d88.png


数据流图层次结构


afb1047c9f14e9b481213325e991b1cd_c9c2b3aea53c6f7b9394b938ff1f8b60.png


顶层流图


在多层数据流图中,顶层数据流图仅包含一个加工,它代表被开发系统。

输入流是该系统的输入数据

输出流是系统的输出数据

数据存储是系统内部功能,所以在顶层流图中不会画出它


中间数据流图


中间层流图则表达对其上层父图的细化,它的每一层加工可能继续细化,形成子图。


底层流图


底层流图是指其加工不需要做分解的数据流图,它处在最底层。


数据流图设计原则


1、父图-子图平衡原则


即父图输入输出数据流等于子图输入输出数据流。


2、数据守恒原则


f4437c0095d591bf29e8d391586be93a_cc66fe84c6ee9608c148ecd61b72f6ea.png


3、守恒加工原则


每个加工至少有一个输入数据流和一个输出数据流


8aff6095c85e59298a0851e86bc897ce_7f38b5c1b50a67be1c26e3b25bb8a984.png


实战画图


1、家庭保安系统


第一步:从问题描述中提取数据流图的4种组成成分


数据源点和终点–》数据处理–》数据流和数据存储。


第二步:画顶层数据流图,即反映最主要业务处理流程


112ba4c411c1f883e9903c4f0453fae5_image-20220619223343995.png


第三步:基本系统模型细化,描绘系统的主要功能


26815a2b78fd928097a507f6db0a8d32_image-20220619223357485.png


第四步:对主要功能进一步细化


7e9818d356e2bacf13401214582569d8_image-20220619223441435.png


2、图书预定系统


书店向顾客发放订单,顾客将所填订单交由系统处理,系统首先依据图书目录对订单进行检查并对合格订单进行处理,处理过程中根据顾客情况和订单数目将订单分为优先订单与正常订单两种,随时处理优先订单,定期处理正常订单。最后系统将所处理的订单汇总,并按出版社要求发给出版社。


第一步:顶层数据流图


240404b45da6e83e3fefd3127add6cdc_20264851174085794eb97083334a6e14.png



第二步:细化


e0c1b74c96477e786416d6b80a56aa28_image-20220619224104880.png


第三步:逐步细化


34337824a21c35ca697d25b335e14c0d_e9d8b15c5962d86c45752020064cb0bb.png


相关文章
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
3014 0
|
安全 数据库
通过E-R理解 主键和外键的关系
实例 现有课程和教师两个实体,课程实体的属性有课程名称、课程编号、课程属性、考试类型;教师实体的属性包括姓名、工号、职称;一门课程可以有多个教师,且每一位教师可以教授多门课程。教师每教授一门课有课序号。
7052 1
通过E-R理解 主键和外键的关系
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
7月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
如何绘制PAD图和N-S图(详细步骤)
如何绘制PAD图和N-S图(详细步骤)
3434 0
|
缓存 监控 Java
大厂性能优化的10大顶级方案 (万字图文史上最全)
本文详细介绍了大厂性能优化的10大顶奢方案,涵盖代码优化、缓存优化、异步优化、多线程优化、前端优化、微服务架构优化、硬件升级、数据库优化、过载保护优化以及度量与监控系统等方面。每部分不仅提供了理论知识,还结合实际案例和代码示例,帮助读者全面理解和应用这些优化策略。文章还特别强调了架构设计的重要性,指出架构师需要具备多方面的知识和技能,包括硬件、软件、网络协议、分布式知识等,以应对复杂的技术挑战。最后,作者尼恩分享了自己多年的经验,提供了丰富的技术资源和实战指导,助力读者在面试和工作中取得成功。
大厂性能优化的10大顶级方案 (万字图文史上最全)
|
开发者
如何画业务架构图
如何快速上手画业务架构图
13208 2
|
测试技术
软件复杂度量化:McCabe度量法及其环路复杂度的计算方法
McCabe度量法(McCabe's Cyclomatic Complexity)是一种经典的方法,用于度量软件程序的复杂度。通过计算程序中独立路径的数量,帮助开发人员评估代码的维护难度和测试覆盖率。本文详细介绍了McCabe度量法的原理、计算方法及其在实际应用中的作用。
3008 0
|
uml
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
UML 类图几种关系(依赖、关联、泛化、实现、聚合、组合)及其对应代码
4225 0
|
存储 程序员 数据处理
【软件设计师】程序猿需掌握的技能——数据流图
【软件设计师】程序猿需掌握的技能——数据流图

热门文章

最新文章