一、数据流程图:
是便于用户理解,分析系统数据流程的图形工具,它摆脱了系统的物理内容,精确地在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。
其中的功能,输入,输出,数据存储,也就给出了数据流程图的所有的元素,处理,输入流,输出流,和文件存储或数据源点
注意:
- 修改文件,首先是读文件,实质是写文件,数据流流向文件
- 为了避免交叉文件和加工可以重复出现
其他名词解释:
- 父图和子图:
对某一处理的细化图为他的子图,其本身为细化图的父图。
- 流程图的分层:
- 顶层图:系统范围与外部交换
- 中间层(包括0层,1层。。。):系统细化
- 底层:原子加工
数据流图的设计原则:(红色为重点)
- 自外向内,自顶向下,逐步细化,完善求精。
- 保持父图和子图的平衡,输入和输出保持一致。
- 保持数据守恒
- 数据流只通过加工到存储或数据源点,不能由文件到文件,数据源点到数据源点,或文件与数据源点。
- 有输入就有输出,有输出就有输入。
- 所有输出数据都能从输入数据中直接获得。输出数据都由输入数据决定
- 任何数据流都必须经过加工,或从加工流出来不能存在从外部实体到外部实体,不能存在从存储到存储。
- 加工细节隐藏
- 只画出加工与加工的关系,不需要画出各个加工细节
- 某层加工的数据存储不是父图当中相应加工的外部接口,而只是本层加工数据之间的数据接口的时候 (相对于父图来说:从子图分析父图)
- 如果一个数据只和一个加工有关则可以不画出来,但在他的子图中需要画出。
- 简化加工关系
- 加工之间的数据流越少就越简化
- 高内聚低耦合
- 均衡分解
- 每一个加工分解的层次有均衡
- 命名规范:
- 适当地为数据,加工,文件,源/宿命名,名字应反映该成分的实际意义,避免空洞的问题
- 忽略枝节
- 集中精力在主干上,先不考虑意外的情况。
- 表现得是数据流而不是控制流
二、数据字典:
是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
同样定义也给出了数据字典应包含的内容:
- 数据项条目:
数据类型,取值范围。
- 数据流条目:
定义那些数据项(子图输入流比父图详细的依据)。
- 文件条目:
定义文件数据项,文件组成形式。
- 加工条目:
可以包含:优先级、判定表、判定数,结构化语言。
组成符号:
例子: