首页 > 其他分享 >【软件工程】一文学会数据流图画法教程(内含案例说明)

【软件工程】一文学会数据流图画法教程(内含案例说明)

时间:2024-10-19 10:20:22浏览次数:3  
标签:教程 存储 订票 系统 顶层 软件工程 数据流 数据

目录

前言

数据流图

概念

优点

基本组成

基本图形组成(重点)

箭头

矩形

双横线 / 半框形矩形

圆形 / 圆角矩形/椭圆形(核心)

数据流图 ( DFD ) 分层

1、分层说明

2、顶层数据流图

3、中层数据流图

4、底层数据流图

数据流图设计原则

父图-子图平衡原则

数据守恒原则

守恒加工原则

实际案例

家庭保安系统

第一步

第二步

第三步

第四步

图书预定系统

第一步:顶层数据流图

第二步:细化

第三步:逐步细化

机票预订系统

其他案例

自行实践案例

参考资料:


前言

在拿到项目业务等信息之后,需要向需求规格说明书中添加数据流图和数据库关系图ER图,数据表之间的数据流图等

仅做个人记录学习所用,如有侵权,请联系我删除

数据流图

概念

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

优点

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

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

基本组成

  1. 数据流:是由一组固定成分的数据组成,表示数据的流向,除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义

数据字典 : 数据流箭头上只标明了 “账号信息” , 没有具体的格式内容 , 是只有账号 , 还是有账号/密码/验证码等信息 , 这些数据详细格式 , 都在 数据字典中定义 ;

  1. 加工:加工描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据
  2. 数据存储:数据存储表示暂时存储的数据,每个数据存储都有一个名字
  3. 外部实体:外部实体是存在于软件系统之外的人员或组织

基本图形组成(重点)

箭头

表示数据流 , 箭头所指的方向 , 代表了数据流向 ;

矩形

表示外部实体

双横线 / 半框形矩形

表示数据存储

圆形 / 圆角矩形/椭圆形(核心)

表示加工


数据流图 ( DFD ) 分层

1、分层说明

数据流图分层 , 最上层是 顶层数据流图 , 第二层是 0 00 层数据流图 , ⋯ \cdots⋯ , 最底层是 底层数据流图 ,

“顶层数据流图” 与 “底层数据流图” 之间是若干 中层数据流图 ,

中层数据流图 需要进行编号 , 从 0 开始编号 ;

2、顶层数据流图

顶层数据流图 : 中间的椭圆 是需要开发的 系统 , 周边的矩形 表示的是 外部实体人或组织 , 外部实体 与 系统 之间 , 有数据传输关系 ;

一个形象的说明是 多个人吃火锅 , 外层周边是人 , 中心位置火锅是系统 ;

顶层数据流图 能够表达的信息是非常有限的 , 其 将整个系统 , 使用一个节点表示 ,

其可以体现出 系统与外界实体之间的交互 ,

但是 系统内部的情况 , 系统内部模块之间的数据交换 是没有体现的 ;

3、中层数据流图

将 “顶层数据流图” 进行细化 , 细化后的 0层数据流图 ,

与 顶层数据流图 比较没有变化的部分 : 外部实体 , 外部实体与系统之间的数据流 , 是没有变化的 ;

变化部分 : 有变化的部分是系统内部 , 系统内部进行了细化 , 原来系统是一个节点 , 在 中层数据流图 中 , 会将一个节点 拆分成 多个节点 , 这些节点就是系统中的数据处理部件 , 即 加工 ;

这些数据处理部件 ( 加工 ) 之间会有数据流的交互 ,

4、底层数据流图

针对每个加工 节点 , 将其拆分 , 绘制其中的更详细的数据流转情况 ;

数据流图 ( DFD ) 分层 , 是从 顶层 -> 中层 -> 底层 , 逐层进行分解 , 这种分解思路 , 与结构化的开发方法 , 是完全匹配的 ;

因此 , 数据流图 是 结构化 开发方法中 , 最常用的工具 ;

数据流图设计原则

本章节来自参考资料3

父图-子图平衡原则

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

数据守恒原则

守恒加工原则

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

实际案例

家庭保安系统

以下内容来自参考资料3
第一步

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

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

第二步

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

第三步

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

第四步

对主要功能进一步细化


图书预定系统

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

第一步:顶层数据流图

第二步:细化

第三步:逐步细化


机票预订系统

以下内容来自参考资料4 【UML】如何画好数据流图基础教程_数据流图怎么画-CSDN博客

        为了方便旅客,旅行平台拟开发一个机票预定系统。航空公司会根据航班信息来安排航班,并将航班信息存储在订票信息中;旅客 订票时,旅客将旅客信息输入该系统,系统根据旅客信息在订票信息中查询合适的航班,并返回机票信息,然后系统根据机票信息 打印机票,最后将机票信息返回给旅客。请根据上述描述完成相应的数据流图。

航空公司 会根据 航班信息来 安排航班

        可以看的出航空公司是一个实体,航班信息是种数据,安排航班是处理这个数据,所以我们得到以下的图。

并将航班信息存储在订票信息中

上面的话可以看见将航班信息存储在订票信息中,得到下图:

旅客订票时,旅客将旅客信息输入该系统,

        上面的话可以看出有操作了,实体是旅客,操作数据是订票行为,将信息输入该系统(订票)下图:

系统通过旅客信息,在订票信息中查询合适的航班,并返回机票信息

        通过上面的看见发现是系统查询并返回系统(注意:订票信息只是把名字放上面去了,没有更改图)

然后系统根据机票信息,打印机票

上面又有操作,根据机票信息这个数据流来打印机票(操作数据)得下图:

最后将机票信息返回给旅客

其他案例

参见 软件工程 -- 数据流图的画法_数据流图怎么画-CSDN博客

自行实践案例

        现有一个公司内部系统,只有管理员能上传文件到数据库,文件上传完毕需要综合主管审核,通过后才能选择性下发其他部门。审核通过后也会将文件上传至大模型,大模型可根据上传的文件来回答从业人员所询问的问题。管理员也可直接上传岗位手册,热点资讯等特殊文件直接上传至大模型处。

管理员和主管能够随时对已经上传至数据库的文件进行分支操作,也可查询废止数据库对废止数据库进行恢复,回到上传文件库中。

所有人从业人员均可对上传的文件进行收藏,查询,下载,对于收藏的文件,会出现在收藏表中。

注意:每条数据线上应该有一条数据流的名字,来代表这条数据流的含义

管理员和主管员能够向题库中上传、修改、更新、导出文件,也能进行组卷,自动或者手动从题库选择题目组成试卷,存入考试表中。所有从业人员可以查看管理员或主管员上传到题库的文件,也可参加对应的考试、每日/定向答题,得到的得分会存入用户得分表,错题进入对应的错题库。

参考资料:

  1. 软件工程 -- 数据流图的画法_数据流图怎么画-CSDN博客
  2. 【软件工程】数据流图 ( 数据流图简介 | 数据流图概念 | 数据流 | 加工 | 数据存储 | 外部实体 | 数据流图分层 | 顶层数据流图 | 中层数据流图 | 底层数据流图 )-CSDN博客
  3. 一篇文章彻底学会画数据流图-阿里云开发者社区
  4. 【UML】如何画好数据流图基础教程_数据流图怎么画-CSDN博客

标签:教程,存储,订票,系统,顶层,软件工程,数据流,数据
From: https://blog.csdn.net/qq_59670390/article/details/143067261

相关文章

  • 红米ac2100从openwrt刷回官方系统的教程
    第一步、关闭杀毒软件和防火墙关闭系统自带的Windows安全中心。关闭防火墙:Win+R,输入control回车。打开控制面板,关闭网络防火墙。第二步、更新官方BootLoader这是最重要的一步,如果是刷过openwrt系统的路由器少了这一步,官方修复工具会一直检测不到第二次上线。进入breed,在Boo......
  • Visual Basic 开发环境语言超详细教程详解总结
    一、章节目录VisualBasic语言简介VisualBasic开发环境VisualBasic语法基础控制结构数组与集合过程与函数用户界面设计文件操作数据库访问学习VisualBasic的方法VisualBasic语言教程简介与总结二、各章节知识点总结VisualBasic语言简介VisualBasic(简称V......
  • Typora超详细教程学习总结界面与功能详解
    一、章节目录Typora简介Typora界面与功能Typora编辑技巧Typora主题与样式Typora与其他工具的配合学习Typora的方法Typora资源简介与总结二、各章节知识点总结Typora简介Typora是一款简洁高效的Markdown编辑器,支持实时预览,让用户在编辑文本的同时可以立即......
  • OpenGL高级特性超详细入门教程知识点总结攻略学习目录
    OpenGL知识点目录一、OpenGL简介与基本概念二、OpenGL渲染管线与流程三、OpenGL着色器编程四、OpenGL纹理与材质五、OpenGL灯光与阴影六、OpenGL缓冲区与帧缓存七、OpenGL高级特性与最新发展八、如何学习OpenGL九、OpenGL资源简介一、OpenGL简介与基本概念重点详细内容知......
  • 3dsMax:材质与贴图应用教程_2024-07-15_15-57-33.Tex
    3dsMax:材质与贴图应用教程3dsMax:材质与贴图应用材质基础材质编辑器的介绍与使用在3dsMax中,材质编辑器(MaterialEditor)是创建和编辑材质的核心工具。它提供了丰富的选项,帮助艺术家为模型赋予真实感和细节。材质编辑器通常位于3dsMax界面的右下角,可以通过点击“显......
  • 【教程4>第3章>第22节】基于双向链路的自适应调制解调通信链路FPGA实现1——理论分析研
      欢迎订阅FPGA/MATLAB/Simulink系列教程《★教程1:matlab入门100例》《★教程2:fpga入门100例》《★教程3:simulink入门60例》《★教程4:FPGA/MATLAB/Simulink联合开发入门与进阶X例》目录1.软件版本2.基于双向链路的自适应调制解调通信链路理论分析3.双向链路自......
  • 【AI整合包及教程】EchoMimic:开创数字人新时代,让静态图像“活”起来!
    在数字化浪潮的推动下,人工智能技术正以前所未有的速度渗透到我们生活的方方面面。从智能家居到自动驾驶,从智能客服到医疗诊断,AI的触角无处不在。而如今,阿里巴巴旗下的蚂蚁集团再次引领潮流,宣布开源其革命性的数字人技术——EchoMimic,这无疑为虚拟直播行业注入了新的活力。Ech......
  • ROS个人学习记录(跟随教程【Autolabor初级教程】ROS机器人入门:https://www.bilibili.co
    参考文档:http://www.autolabor.com.cn/book/ROSTutorials/index.html1.5ROS架构1.5.1ROS文件系统ROS文件系统级指的是在硬盘上ROS源代码的组织形式,其结构大致可以如下图所示:WorkSpace---自定义的工作空间|---build:编译空间,用于存放CMake和catkin的缓存信息、配置......
  • 手机远程办公教程,免费好用!
    如果你经常用手机远程办公,处理紧急工作事务......
  • TCP-UDP-Socket调试工具以及使用教程(亲测好用!)
    前言TCP-UDP老程序都不陌生吧,面试常问。所以在网络编程与网络应用开发的过程中,调试是一个至关重要的环节,它帮助开发者确保数据能够准确无误地在不同节点之间传输。尤其当涉及到TCP/IP、UDP等底层网络通信协议时,面对复杂的连接建立、数据流控制及错误处理等问题,拥有一款强大且专业......