1、数据流图的定义

数据流图(DFD)是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,

因为它仅仅反映系统必须完毕的逻辑功能。所以它是一种功能模型。

在结构化开发方法中。数据流图是需求分析阶段产生的结果。 ----百度百科

2、数据流图的用法

数据流图採用分层的形式来描写叙述系统数据流向,每一层次都代表了系统数据流向

的一个抽象水平,层次越高,数据流向越抽象。

高层次的DFD图中处理能够进一

步分解为低层次、更具体的DFD图。

2.1数据流图表示法(Gane-Sarson模型)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2.2数据流图表示法中各图形的定义

数据源点和数据汇点:指系统以外又与系统有联系的人或事物。

用来表达该系统数据的外部来源和去向。

数据流:指处理功能的输入或输出。箭头表示数据流向。

加工或处理:指对数据进行处理加工,使数据变换。

数据存储:表示某种独居保存后的逻辑统称。一般为表结构。

2.3数据流图的分层结构

2.4数据流图实例

顶层数据流图

第一层数据流图

第二层数据流图-1

第二层数据流图-2

第二层数据流图-3

第二层数据流图-4

3、注意事项

3.1层次的划分遵守原则

(1)同一张图上全部处理过程应该处于同一个抽象层次上。
(2)一个处理经过展开,一般以分解为4~10个处理为宜。

3.2正确性检查

(1)数据守恒。或称为输入数据与输出数据匹配
①处理有输入就应该有输出
②处理有输出就肯定有输入
③输入的数据应该所有流出该处理或者要用于产生流出该处理的数据(排除无用数据)
④输出的全部数据必须以前流入过该处理或者是由流入该处理的数据加工产生(保证必要数据)

(2)在一套数据流图中的不论什么一个数据存储。必然有流入的数据流和流出的数据流。

(3)父图中的某一处理的输入、输出数据流必须出如今对应的子图中。

3.3提高易读性

(1)简化处理间的关系(利用数据存储)
例:
设P1,P2为处理,D1为数据存储
P1->P2能够改变为:P1->D1 D1->P2
(2)均匀分解
(3)适当的命名

3.4确定系统边界

(1)排除纯手工活动
(2)排除其它外部系统的活动
(3)和系统外的外部源点之间的接口通过数据流来实现

数据库设计--数据流图(DFD)的更多相关文章

  1. 数据库设计与 ER 模型 - 数据库系统原理

    数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...

  2. mysql学习5:数据库设计

    mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段 ...

  3. 数据库设计理论与实践·<一>总结

    一.数据库生命周期 数据库生命周期流程图如下: 二.各阶段附图 附图1.1 数据流图 附图1.2 数据字典-方式1 补充说明:数据字典既可以单张表格表示,也可以多种(数据项表/数据结构表/数据流表/外 ...

  4. 数据库设计和ER模型-------之数据库系统生存期(第二章)

    数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...

  5. SQL SERVER学习2——数据库设计

    数据库设计是数据库知识中比较重要的部分,我们需要了解数据库设计的基本步骤,E-R图的画法. 数据库设计的基本概述 检验一个数据库设计好坏的标准就是,看他是否能够方便的执行各种数据检索和处理操作,并且有 ...

  6. 数据库设计中的Soft Delete模式

    最近几天有点忙,所以我们今天来一篇短的,简单地介绍一下数据库设计中的一种模式——Soft Delete. 可以说,该模式毁誉参半,甚至有非常多的人认为该模式是一个Anti-Pattern.因此在本篇文 ...

  7. 使用django开发博客过程记录1——数据库设计

    1.数据库设计 2.插入测试数据 3.配置相关问题 1.数据库设计 数据库有简单的三张表:Article.Category.Tag以下是代码 # -*- coding:utf-8 -*- from _ ...

  8. 基于SSM的租赁管理系统0.3_20161225_数据库设计

    数据库设计 1. 概念模型 2. 类模型 3. 生成SQL use test; /*========================================================== ...

  9. 第二天ci项目规划 数据库设计

    第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...

随机推荐

  1. centos 下文件夹共享

    [root@localhost share]# yum install samba -y[root@localhost share]# cp /etc/samba/smb.conf /etc/samb ...

  2. 【原创】Linux环境下的图形系统和AMD R600显卡编程(6)——AMD显卡GPU命令格式

    前面一篇blog里面描述了命令环缓冲区机制,在命令环机制下,驱动写入PM4(不知道为何会取这样一个名字)包格式的命令对显卡进行配置.这一篇blog将详细介绍命令包的格式. 当前定义了4中命令包,分别是 ...

  3. java实现MQ消息收发两种方式

    定义: 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们.简单理解:蓝牙配对 jar包依赖: <!-- ...

  4. AlarmManager定时闹钟

    一.AlarmManager介绍: AlarmManager是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent.简单的说就是我们设定一个时间,然后在该时间到来 ...

  5. 第四步:查看StandardAnalyzer的分词效果并添加停用词

    LUCENE的创建索引有好多种分词方式,这里我们用的StandardAnalyzer分词 package cn.lucene; import java.io.IOException; import o ...

  6. MVC如何在路由器(RouteConfig)定义后缀.html

    一.配置文件web.config添加一下设置 <system.webServer> <modules runAllManagedModulesForAllRequests=" ...

  7. 差分【p3948】 数据结构

    顾z 你没有发现两个字里的blog都不一样嘛 qwq 题目描述-->p3948 数据结构 分析 其实这题完全没有分析的 qwq. 只是因为写了差分数组相关知识,所以顺便写一下题解 qwq. 对于 ...

  8. Linq GroupJoin , Join

    static void Main(string[] args) { List<Person> persons = new List<Person> { }, }, }; Lis ...

  9. [POJ 2373][BZOJ 1986] Dividing the Path

    Link: POJ 2373 传送门 Solution: 一开始想错方向的一道简单$dp$,不应该啊…… 我一开始的想法是以$cows' ranges$的节点为状态来$dp$ 但明显一个灌溉的区间的两 ...

  10. SPOJ705 SUBST1 - New Distinct Substrings(后缀数组)

    给一个字符串求有多少个不相同子串. 每一个子串一定都是某一个后缀的前缀.由此可以推断出总共有(1+n)*n/2个子串,那么下面的任务就是找这些子串中重复的子串. 在后缀数组中后缀都是排完序的,从sa[ ...