需求分析简单地说就是分析用户的需求。根据分析是设计数据库的起点,需求分析结果是否准确反映用户的实际要求将直接影响到后面各阶段的设计,并影响到设计结果是否合理和实用。
1. 需求分析的任务
需求分析的任务是通过详细调查现实世界要处理的对象(组织,部门,企业),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
调查的重点是“数据”和“处理”,通过调查,收集与分析,获得用户对数据库的如下要求:
(1) 信息要求;
(2) 处理要求。
2. 需求分析的方法
进行需求分析实现是调查清楚用户的实际需求,与用户达成共识,然后分析与表达这些需求。
(1) 调查步骤
a . 调查组织机构情况。
b . 调查各部门的业务活动情况。
c . 在熟悉了业务活动的基础上,协助用户明确对新系统的各种要求。
d . 确定新系统的边界。
(2) 方法
a . 跟班作业。
b . 开调查会。
c . 请专人介绍。
d . 询问。
e . 设计调查表请用户填写。
f . 查阅记录。
结构化分析方法是一种简单实用的方法。SA方法从最上层的系统组织机构入手,采用自顶向下,逐层分解的方式分析系统。
对用户需求进行分析与表达后,需求分析报告必须提交用户,征得用户的认可。下图描述了需求分析的过程。
3. 数据字典
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项,数据结构,数据流,数据存储和处理过程5个部分。
(1) 数据项
- 定义
数据项是不可再分的数据单位。
- 描述
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的关系}
其中,“取值范围”,“与其他数据项的逻辑关系”定义了数据完整性约束条件,是设计数据检验功能的依据。
(2) 数据结构
- 定义
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或者由若干个数据项和数据结构组成。
- 描述
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
(3) 数据流
- 定义
数据流是数据结构在系统内传输的路径。
- 描述
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}
其中,“数据流来源”是说明该数据流来自哪个过程;“数据流去向”是说明该数据流留到哪个过程去。
(4) 数据存储
- 定义
数据存储是数据结构停留或保存的地方,也是数据流的来源和去处之一。
- 描述
数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取额度,存取方式}
其中,“存取额度”指每小时或每天或每周存取几次,每次存取多少数据等信息;“存取方式”包括是批处理还是联机处理,是检索还是更新,是顺序检索还是随机检索等。
(5) 处理过程
- 定义
处理过程的具体处理逻辑一般是用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息。
- 描述
处理过程描述={处理过程名,说明,输入:{数据流},输出{数据流},处理{简要说明}}
其中,“简要说明”中主要说明该处理过程的功能及处理要求。功能是指该处理过程用来做什么(而不是怎么做);处理要求包括处理频度要求,如单位时间里处理多少事务,多少数据量,响应时间要求等。
- 注意事项
a . 设计人员应充分考虑到可能的扩充和改变,使设计易于更改,系统易于扩充;
b . 必须强调用户的参与,这是数据库应用系统设计的特点。