【软件工程】数据流图 ( 数据字典 | 数据流图平衡原则 | 父图与子图平衡 | 子图内平衡 | 数据流图绘制原则 )

简介: 【软件工程】数据流图 ( 数据字典 | 数据流图平衡原则 | 父图与子图平衡 | 子图内平衡 | 数据流图绘制原则 )

文章目录

一、数据字典

二、数据流图平衡原则

1、父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 平衡

2、子图内平衡

三、数据流图绘制原则





一、数据字典


数据字典 可以 配合 数据流图 使用 , 对数据进行诠释 , 可以让开发者更加清楚 数据的组成 , 格式 ;



数据字典中包含的符号 :


① “=” : 含义是 “被定义为” ; 如 : x = a + b x=a+bx=a+b , 表示 x xx 数据 被定义为 由 a aa 与 b bb 组成 ;


② “+” : 含义是 “与” ; 如 : x = a + b x=a+bx=a+b , 表示 x xx 数据 被定义为 由 a aa 与 b bb 组成 ;


③ “[… | …]” , “[… , …]” : 含义是 “或” ; 如 : x = [ a , b ] , x = [ a ∣ b ] x = [ a, b ] , x=[ a | b ]x=[a,b],x=[a∣b] , 表示 x xx 由 a aa 或 b bb 组成 , 二者选其一 ;


④ “{…}” : 含义是 “重复” ; 如 : x = { a } x=\{a\}x={a} , 表示 x xx 由多个 0 00 , 或多个 a aa 组成 ;


⑤ “(…)” : 含义是 “可选” ; 如 x = ( a ) x=(a)x=(a) , 表示 a aa 可以出现在 x xx 数据中 , 也可以不出现 ;




数据字典示例 : 学生数据的数据字典 ;


学生 = 姓名 + 学号 + 年龄 + 年级 + 学校 + 地址


学号 = “1”…“100”


班级 = [一年级 | 二年级 | 三年级 ]






二、数据流图平衡原则


数据流图平衡原则 :


父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 之间的平衡

子图 内部的平衡



1、父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 平衡


父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 平衡 :


利用 数据流图平衡原则 , 可以找出 在 细化上层数据流图 时 , 忽略的 数据流 ;


根据 顶层数据流 可以 确定缺失的 底层数据流 ; 根据底层数据流 , 可以补充缺失的顶层数据流 ;



找 0 00 层数据流图 缺失的数据流时 , 先查看 顶层数据流图 , 在 外部实体 与 系统之间 , 存在哪些 数据流 , 这些数据流 是否 在 0 00 层数据流图 中出现过 ;


找 顶层数据流图 中缺失的数据流时 , 查看 0 00 层数据流图中 , 有没有出现缺失的数据流 ;



在 顶层数据流图 与 0 00 层数据流图 之间 , 只能确定 外部实体 与 系统 之间的数据流 ,

系统内部的数据流 , 在 顶层数据流图中 , 是没有体现的 ;



父图 ( 上层数据流图 ) 与 子图 ( 下层数据流图 ) 之间的平衡匹配方法 :


① 个数一致 : 两层数据流图中的 数据流个数一致 ;


② 方向一致 : 两层数据流图中的 数据流方向一致 ;




2、子图内平衡


子图内平衡 : 对于数据流图的任意一个加工 , 既有输入 , 又有输出 ;


加工 : 描述 “输入数据流” 到 “输出数据流” 之间的变换 , 即 对数据进行了什么样的处理 , 使得 “输入数据流” 变为 “输出数据流” ;


主要操作 : 在程序中的体现是 处理 数据的过程 , 向 “加工” 中输入数据流后 , 将数据进行加工 , 处理 , 变换后 , 产生新的 “输出数据流” ;


黑洞 : 某个加工 , 只有输入 , 没有输出 , 称为黑洞 ;


奇迹 : 某个加工 , 只有输出 , 没有输入 , 称为奇迹 ;






三、数据流图绘制原则


数据流图 由 数据流 , 加工 , 数据存储 , 外部实体 组成 , 先找出 三个具体存在的事物 外部实体 , 加工 , 数据存储 , 然后在为这些事物添加 数据流 箭头 ;


拿到一个需求之后 , 绘制数据流图流程 :


① 外部实体 : 找出外部实体 , 使用系统的 人 或 组织 ;


② 加工 : 找出系统中的 中间件 加工 , 处理数据用的 ;


③ 数据存储 : 找到 暂时存储数据的载体 , 数据存储 ;


④ 数据流 : 在上述 外部实体 , 加工 , 数据存储 基础上 , 绘制 数据流 箭头 ;


目录
相关文章
|
4月前
|
机器学习/深度学习 算法
【机器学习】不同决策树的节点分裂准则(属性划分标准)
决策树的不同节点分裂准则,包括原始决策树的节点分裂准则、ID3算法的信息增益、C4.5算法的信息增益比以及CART算法的平方根误差最小化和基尼指数。
56 1
|
7月前
|
数据可视化 数据建模
R语言用线性混合效应(多水平/层次/嵌套)模型分析声调高低与礼貌态度的关系
R语言用线性混合效应(多水平/层次/嵌套)模型分析声调高低与礼貌态度的关系
|
算法 C语言
【数学模型】层次分析
【数学模型】层次分析
【数学模型】层次分析
|
存储 算法
【数据结构和算法】图的各类概念与图的存储结构(还有十字链表与邻接多重表的介绍)
【数据结构和算法】图的各类概念与图的存储结构(还有十字链表与邻接多重表的介绍)
249 0
【数据结构和算法】图的各类概念与图的存储结构(还有十字链表与邻接多重表的介绍)
|
机器学习/深度学习 Python
处理不平衡数据:技术详解与实例分析
处理不平衡数据:技术详解与实例分析
743 0
|
存储 运维 Java
如何画出优秀的软件架构图?
当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况: 对着画布无从下手、删了又来?
如何画出优秀的软件架构图?
|
算法 测试技术
因果图中的重要概念
本文用直观的图的形式介绍因果图模型中的若干重要概念
140 0
因果图中的重要概念
|
机器学习/深度学习
离散数学_十章-图 ( 4 ):图的表示和图的同构
离散数学_十章-图 ( 4 ):图的表示和图的同构
293 0
|
存储 SQL 算法
系统设计之图状数据模型
多对多关系是不同数据模型之间的重要区别特征。若数据大多是一对多(树结构数据)或记录之间无关系,则文档模型最合适。但若多对多关系的数据很常见,关系模型能处理简单的多对多,但随数据之间关联复杂度增加,将数据建模转化为图模型更自然。
119 0
|
机器学习/深度学习 数据挖掘 大数据
层次分析法(AHP)原理以及应用
层次分析法(AHP)原理以及应用
2685 0
层次分析法(AHP)原理以及应用