8.3 需求分析阶段
需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
8.3.1 需求分析的任务
需求分析的任务是通过详细调查显示要处理对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
调查的重点是“数据”和“处理”,通过调查、收集与分析,获得用户对数据库的如下要求:
(1)信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
(2)处理要求。指用户要完成什么处理功能,对处理的相应时间有什么要求,处理方式是批处理还是联机处理。
(3)安全性与完整性要求。
确定用户的最终需求是一件很困难的事情,这是因为一方面用户缺少计算机知识,开始时无法确定计算机究竟能为自己做什么,不能做什么,因此往往不能准确地表达自己的需求,所提出的需求往往不断地变化。另一方面,设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。因此设计人员必须不断深入地与用户交流,才能逐步确定用户的实际需求。
8.3.2 需求分析的方法
调查了解用户的需求以后,还需要进一步分析和表达用户的需求。在众多的分析方法中结构化分析方法(Structured Analysis,简称SA方法)是一种简单实用的方法。SA方法从最上层的系统组织机构人手,采用自顶向下、逐层分解的方式分析系统。SA方法把任何一个系统都抽象为如图8-3所示的形式。
图8-3 系统高层抽象图
如图8-3所示的只是最高层次抽象的系统概貌,要反映更详细的内容,可将处理功能分解为若干子功能,每个子功能还可以继续分解,直到把系统工作过程表示清楚为止。在处理功能逐步分解的同时,它们所用的数据也逐级分解,形成若干数据流图。
数据流图表达了数据和处理的过程的关系。在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。
8.3.3 数据流图
数据流图(Data Flow Diagram,简称DFD)是结构化分析的最基本的工具。数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描述信息在系统中的流动和处理情况。因为数据流是逻辑系统的图形表示,非计算机专业的人员也能理解,所以是极好的通信工具。
数据流图只有4种基本元素:数据流(Data Flow)、数据处理(Process)、数据存储(Data Store)和外部实体(External Entity)。
(1)数据流(Data flow)。用箭头表示数据流,箭头方向表示数据流向,数据流名标在数据流线上面。数据流由一组数据项组成,但在数据流图中只有其名称,所以,应尽量准确地给数据流命名。
(2)数据处理(Process)。数据处理也称逻辑加工或变换,是对数据进行处理的单元。
数据处理名称写在方框内。
(3)数据存储(Data Store)。数据存储也是由若干数据元素组成的,它为数据处理提供数据处理所需要的输入流或为数据处理的输出数据流提供储“仓库”。
(4)外部实体(External Entity)。是系统之外的实体,可以是人、物或其他软件系统。
对系统提供数据流的外部实体称为数据源点(Source),接收系统输出数据流的外部实体称为数据终点(Sink),源点和终点可以是同一外部实体。源点和终点是为了帮助数据理解系统接口界面而引入的,一般不需要进一步描述它们。
数据流图的符号表示方法如图8-—4所示。
图8-4 数据流图基本元素
8.3.4 数据字典
数据流图抽象的反映了系统的全貌,它将各种信息流之间错综复杂的联系有机的统一在一张图上。但是为了更准确的反映数据流图上元素的具体含义,还应对数据流图的三个基本元素:数据流、数据存储和数据处理进一步描述。数据字典(Data Dictionary,DD)就是用来对数据流图中出现的所有名字(数据流、数据存储和数据处理)进行定义,是对数据流图必要的补充。数据流图和数据字典是需求规格说明书的主要组成部分。只有同时有数据流图和数据字典才算完整的描述一个系统。
数据字典通常包含数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的得最小组成单位。数据流和数据存储都有一定的数据结构,数据结构由不同的数据项组成。数据项是最小的数据单元,若干个数据项可以组成一个数据结构,它们的关系如图8-5所示。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
图8-5 数据流和数据存储的组成
1.数据项
数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系}。
2.数据结构
数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
3.数据流
数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}
4.数据存储
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以是手工文档或手工凭单,也可以是计算机文档。对数据存储的描述通常包括以下内容:
数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取频度,存取方式}
5.处理过程
处理过程的具体处理逻辑一般用判定树来描述。数据字典只需要描述处理过程的说明性信息,通常包括以下内容:
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。