软件工程中的数据流图
数据流图(DFD)是结构化系统分析方法的主要表达工具,数据流图,主要是为了说明在一个项目中,数据的处理与流动情况。
一:数据流图的基本成分:
(1)数据加工: 表示对数据进行的操作, 如“处理选课单” 、“产生发票”等 ,命名时最好使用动宾短语或者主谓词组
(2)外部实体:位于系统之外的信息提供者,数据输入的源点或是数据输出的终点。
(3)数据流:数据流可从加工流向加工,也可在加工与数据存储或外部实体之间流动;两个加工之间可有多股数据流 。数据 流的命名尽量使用简洁易懂的名词。 流向数据存储或从数据存储流出的数据流不必命名
(4)数据存储文件:表示需要保存的数据流向。
二:数据流图的设计原则:
(1):父图-子图平衡原则:
子图可以理解为父图中部分环节的细化。例如我们给出父图:
我们想对其中的成绩处理环节进行细化,画成如下数据流图:
其中一定要保证父图输入输出数据流 = 子图输入输出数据流
(2)数据守恒原则:
所有的输出数据流必须是通过加工的,且通过加工能直接产生。一般情况下要注意一下3个错误:
*1* 外部实体与外部实体间无数据流。
*2* 外部实体与数据存储文件无数据流。
*3* 数据存储文件间无数据流。
(3)守恒加工原则:
对于同一个加功,其输入与输出的名字必须不同。通常来说要注意一下2点:
*1* 对于每一个加工,都应该有输入、输出。
*2* 数据流与加工有关,且必须进过加工。
三:实战:简单的考务处理系统
有如下的一个简单考务处理系统,要求完成一下工作:
1. 对考生送来的报名单进行检查;
2. 对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站;
3. 对阅卷站送来的成绩单进行检查,并根据考试中心制定的合格标准审定合格者;
4. 制作考生通知单(含成绩及合格/不合格标志)送给考生;
5. 按地区进行成绩分类统计和试题难度分析,产生统计分析表。
我们对需求进行关键字提取,并用红色标出实体,绿色标出关键的数据流。
(1)顶层数据流图:
(2)一层数据流图:
(3)二层数据流图:
软件工程中的数据流图相关推荐
- 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、
软件工程中应用的几种图辨析:系统流程图.数据流图.数据字典.实体联系图.状态转换图.层次方框图.Warnier图.IPO图.层次图.HIPO图.结构图.程序流程图.盒图.PAD图.判定表.判定树.Ja ...
- 软件工程中的那些图:系统流程图,程序流程图和数据流图
软件工程看完后,开始着手写有关机房收费系统的软工文档.可是其中的各种图把我搞得头疼,于是我把软件工程中提到的那些图总结了一下,还望众位大神指正! 系统流程图(System Flowchart):是描绘 ...
- 软件工程中数据流图的画法
软件工程中数据流图的画法 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映 ...
- 软件工程_绘制数据流图
软件工程_绘制数据流图 实验目的: 1.掌握数据流的分析方法 2.掌握数据流图的绘制 实验原理: 数据流图(DFD)是软件系统系统的逻辑模型,仅仅描绘数据在软件中流动(从输入移动到输出)的过程中所经受 ...
- 软件工程中需求分析的重要性
此篇文章系在网易博客上转来他人的编程经验分享----纯属学习借鉴 定义 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的.范围.定义和功能时所要做的所有的工作.需求 ...
- 浅析软件工程中的UML建模技术
一.基本信息 标题:浅析软件工程中的UML建模技术 时间:2018 出版源:电子世界 领域分类:软件工程:UML建模技术:需求分析 二.研究背景 问题定义:软件工程中UML建模技术的研究 难点:明确软 ...
- c 语言 if 多变量相等_计算机界 TOP 3 难题:“相等”是软件工程中许多重大问题的根源...
有一个笑话说,计算机科学界有两大难题:一是缓存失效问题,二是命名问题.但我认为还有第三个更难的问题:相等问题.你没看错,等号"="看似简单,但等号的使用和误用,是软件工程中许多重大 ...
- 计算机界 TOP 3 难题:“相等”是软件工程中许多重大问题的根源!
有一个笑话说,计算机科学界有两大难题:一是缓存失效问题,二是命名问题.但我认为还有第三个更难的问题:相等问题.你没看错,等号"="看似简单,但等号的使用和误用,是软件工程中许多重大 ...
- 人月神话(七)没有银弹-软件工程中的根本和次要问题、20 年后的人月神话
第16章 没有银弹-软件工程中的根本和次要问题 没有任何技术或管理上的进展,能够独立地许诺十年内使生产率.可靠性或简洁性获得数量级上的进步. Part 1 摘要 所有软件活动包括根本任务-打造由抽象软 ...
- 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022年)
软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) 软件工程结课论文 敏捷开发在软件工程中的应用 大学编程作业(TUST 天津科技大学 2022 年) ...
最新文章
- 代码生成器前戏 之 数据库元数据
- BZOJ3836 : [Poi2014]Tourism
- JAVA获取系统相关的信息
- 初识Mysql(part15)--我需要知道的4条Mysql语句之操作表
- php mysql 星级评分_jQuery+PHP实现星级评分效果
- 【POJ - 2186】Popular Cows (Tarjan缩点)
- 使用gRPC的.NET Core 3.0双向消息流
- 关于Junit中Assert已经过时
- thinkphp-更新数据update函数
- mysql 8.0.11 Windows安装
- 数字ic后端学习ing
- mysql读写分离优点_mysql读写分离
- C/C++ 【华为机试】输入一个真分数,将该分数分解为埃及分数。
- 当“珊瑚虫”遇到腾讯
- Cocos2D游戏项目CCTableView在Xcode7.2下的无法滚动问题
- The 2021 CCPC Weihai Onsite J. Circular Billiard Table
- 上海育才高中2021高考成绩查询,育才中学2018高考成绩
- 图像分割之 Geodesic segmentation 和 Graph-Cut
- 使用LocalDate类计算两个日期的天数间隔
- 国有建筑企业数字化转型整体解决方案
热门文章
- 自动驾驶时代,巨头Tier 1的困境与突围
- 2021-07-11 layer与tier的区别(英语)
- 【北京邮电大学计算机考研资料汇总大全】
- python画折线统计图画区间_matplotlib-折线图、散点图
- 三个非负整数 马蹄集
- C语言基础知识快速入门(全面)
- Charles Error Report
- linux创建目录快捷方式,linux创建快捷方式命令
- oracle ebs fa_category_books,FA有用的脚本 - Oracle EBS R12 - ITPUB论坛-中国专业的IT技术社区...
- 梯度向量、Jacobian矩阵、Hessian矩阵