在数据需求分析阶段,任何调查研究没有用户的积极参加是寸步难行的,设计人员应和用户取得共同的语言,帮助不熟悉计算机的用户建立数据库环境下的共同概念,所以这个过程中不同背景的人员之间互相了解与沟通是至关重要的,同时方法也很重要。
用于需求分析的方法有多种,主要方法有自顶向下和自底向上两种,如图6.5所示。

图5 需求分析的方法
其中自顶向下的分析方法(Structured Analysis,简称SA方法)是最简单实用的方法。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,用数据流图(Data Flow Diagram,DFD)和数据字典(Data Dictionary,DD)描述系统。
下面对数据流图和数据字典作些简单的介绍。
1.数据流图
使用SA方法,任何一个系统都可抽象为图6.6所示的数据流图。

图6 数据流图
在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示存储。
图6.7是一个简单的数据流图。一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描述系统的全貌,第二层分别描述各子系统的结构。如果系统结构还比较复杂,那么可以继续细化,直到表达清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干层次的数据流图。数据流图表达了数据和处理过程的关系。

图7 数据流图示例
在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述,而系统中的数据则是借助数据字典来描述
2.数据字典
数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。
数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用途各有区别。
在需求分析阶段,它通常包含以下五部分内容。
(1) 数据项
数据项是数据的最小单位,其具体内容包括:数据顶名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。
其中,取值范围、与其他数据项的关系这两项内容定义了完整性约束条件,是设计数据检验功能的依据。
(2) 数据结构
数据结构是数据项有意义的集合。内容包括:数据结构名、含义说明,这些内容组成数据项名。
(3) 数据流
数据流可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。
内容包括:数据流名、说明、流出过程、流入过程,这些内容组成数据项或数据结构。
其中,流出过程说明该数据流由什么过程而来;流入过程说明该数据流到什么过程。
(4) 数据存储
处理过程中数据的存放场所,也是数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。
包括{数据存储名,说明,输入数据流,输出数据流,组成:{数据项或数据结构},数据量,存取频度,存取方式}。
其中,存取频度 是指每天(或每小时、或每周)存取几次,每次存取多少数据等信息。存取方法指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。
(5) 处理过程
处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。
处理过程包括{处理过程名,说明,输入:{数据流},输出:{数据流},处理,{简要说明}}。
其中,简要说明主要说明处理过程的功能及处理要求。
功能是指该处理过程用来做什么(不是怎么做),处理要求指该处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等,这些处理要求是后面物理设计的输入及性能评价的标准。
最终形成的数据流图和数据字典为“需求分析说明书”的主要内容,这是下一步进行概念设计的基础。
