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. BZOJ1179_APIO2009_抢掠计划_C++

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1179 一道用 Tarjan 缩点+SPFA 最长路的题(Tarjan 算法:http://ww ...

  2. V4L2 camera 驱动 capture测试程序【转】

    转自:http://blog.csdn.net/kickxxx/article/details/6336346 在网上找了一个测试程序, 看了看,是根据capture.c修改的.测试步骤如下 . gc ...

  3. Profile 的翻译

    最近要翻译一个英文网站的单词,正宗的英文网站总是有很多单词让我烦恼,这就是其中一个. 特地转一篇文章,对我大有帮助. 计算机中常用的 Profile 该如何理解? 我认为 Profile 即可作名词又 ...

  4. python爬虫beautifulsoup4系列4-子节点【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/beautifulsoup4/ 前言 很多时候我们无法直接定位到某个元素,我们可以先定位 ...

  5. Selenium2+python自动化30-引入unittest框架【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/unittest/ from selenium import webdriverfrom ...

  6. hdu 5155(递推)

    Harry And Magic Box Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  7. .ner core InvalidOperationException: Cannot find compilation library location for package 'xxx' 和 SqlException: 'OFFSET' 附近有语法错误。 在 FETCH 语句中选项 NEXT 的用法无效。问题

    原文地址:传送门 1.InvalidOperationException: Cannot find compilation library location for package 'xxx'问题: ...

  8. web前端工作五年了,我来告诉你如何系统的学习现在的JavaScript

    一.入门 1:熟悉DIV+CSS布局 使用DIV+CSS布局标准网页,可以使前端XHTML代码更少.结构更清晰,这有利于轻松用JavaScript操作DOM 比如,要展示一个3行3列的列表,如果用传统 ...

  9. Python的功能模块[2] -> abc -> 利用 abc 建立抽象基类

    abc模块 / abc Module 在定义抽象方法时,为了在初始化阶段就检测是否对抽象方法进行了重定义,Python 提供了 abc 模块. from abc import ABCMeta, abs ...

  10. Python的网络编程[1] -> FTP 协议[1] -> 使用 pyftplib 建立 FTP 服务器

    使用 pyftplib 建立 FTP 服务器 pyftplib 主要用于建立 FTP Server,与 ftplib 建立的 Client 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 服 ...