结构化分析是面向数据流的需求分析方法。它的思想是自顶向下,逐层分解。由以下的几部分组成:数据流图、数据字典、加工逻辑说明、补充材料。
一、数据流图(DFD):
【概念】
Data Flow Diagram是用户易理解,分析数据流程的图形工具。
【元素】
名称 |
图符 |
概念 |
外部实体 |
□ |
系统外的人员和组织,数据源或终点 |
加工 |
○ |
输入流和输出流之间的变换, 包含名字和编号(确定层次,图,子加工) |
数据存储 |
〓 |
存储数据,有名字 |
数据流 |
—> |
固定成分数据,表示数据流向,非控制流。 除跟存储有关的,都需要名称。 |
【画法】
1)顶层图:实体——输入流——大加工(系统)——输出流——实体
2)0层图:分解加工
关键:a.确定加工 :数据流的组成、值发生变化的地方应加一个加工。
b.确定数据流:用户把若干数据看成一个整体
3)子图:加工的内部当成小系统,分解至足够简单。
4)图和加工要编号
原则:一父多子,顶层0层只一张,子图号=父图加工号。
【注意事项】
合理命名
数据流非控制流
加工必定有输入和输出流,且名称不同。
父图子图平衡。
保持数据守恒
【实例】
二、数据字典
【作用】
数据库中数据的描述。
【包含】
数据项,数据结构,数据流,数据存储和加工。
【具体】
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含 义,与其他数据项的逻辑关系}
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流描述={数据流名,说明,数据流来源,数据流去向,
组成:{数据结构},数据量,高峰期流量}
数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流
组成:{数据结构},数据量,存取方式}
加工描述={加工名,说明,输入:{数据流},输出:{数据流},处理{简要说明}}
三、总结
分解和抽象是人们控制问题复杂性的两种基本手段。结构化设计不仅是软考中的重点,也是我们日后进行软件设计的基础。高层数据流图经抽象而来,反映系统概貌,比较笼统;低层数据流图由高层加工分解而来,让局部加工的实现变的具体可行。