购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4.4 需求分析

需求分析是数据库设计过程的第一步,是整个数据库设计的依据和基础。需求分析做得不好,会导致整个数据库设计重新返工。需求分析的目标是通过对单位的信息需求及处理要求的调查分析得到设计数据库所必需的数据集及其相互联系,形成需求说明书,作为后面各设计阶段的基础。因此,这一阶段的任务是:

1.确认需求、确定设计目标

数据库设计的第一项工作就是要对系统的整个应用情况进行全面、详细的实地调查,弄清现行系统的组织结构、功能划分、总体工作流程,收集支持系统总的设计目标的基础数据和对这些数据的处理要求,明确用户总的需求目标;通过分析,确定相应的设计目标,即确定数据库应支持的应用功能和应用范围,明确哪些功能由计算机完成或准备让计算机完成,哪些环节由人工完成,以确定应用系统实现的功能。这一阶段收集到的基础数据和一组数据流程图是下一步进行概念设计的基础。

2.分析和收集数据

这是整个需求分析的核心任务。它包括分析和收集用户的信息需求、处理需求、完整性需求、安全性需求,以及对数据库设计过程有用的其他信息。

信息需求是指在设计目标范围内涉及的所有实体、实体的属性及实体间的联系等数据对象,包括用户在数据处理中的输入/输出数据及这些数据间的联系。在收集中,要收集数据的名称、类型、长度、数据量、对数据的约束及数据间联系的类型等信息。

处理需求是指为了获得所需的信息而对数据加工处理的要求。它主要包括,处理方式是实时还是批处理,各种处理发生的频度、响应时间、优先级别及安全保密要求等。所要收集的其他信息还有企业在管理方式、经营方式等方面可能发生的变化等。

分析和收集数据的过程是数据库设计者对各类管理活动进行深入调查研究的过程,调查对象包括数据管理部门的负责人、各使用部门的负责人及操作员等各类管理人员,通过与各类管理人员相互交流,逐步取得对需求的一致认识。由于这种交流的双方涉及不同层次、不同业务领域的管理人员,知识背景不同,因而这一调查研究过程十分复杂和困难。为了减少因分析和收集数据的失误而导致整个系统的失败或延长研制周期,人们研究了许多用于需求分析的方法和技术,力求清楚地表达用户需求,系统地分析和收集需求数据。按方法的规范化程度可分为弱方法学、强方法学和格式化方法。按方法描述需求的观点可分为面向数据的方法与面向过程的方法两大类。面向数据的方法有:

(1)弱方法学。这类方法仅是一些原则性指南,并无专门的语言或特定的记法,有较大的自由度,使用者可以发挥自己的创造性,适用面广,尤其适用于复杂环境的需求分析。如企业系统规划法(Business System Planning,BSP )、面向对象的分析法(Object Oriented System Analysis,OOAD)等属于这类方法。

(2)强方法学。这是形式化方法,它以一种具有确定语义成分及语法规则的语言作为描述手段,对使用者有较强的制约,便于实现自动化,但一般只适用于特定的应用环境。这类方法有PSL/PAS(Problem Statement Language/Problem Statement Analyzer)、SREM(Software Requirement Engineering Methodology,软件需求工程方法)、TAGS(Technology for the Automated Generational System,自动生成系统技术)等。

(3)格式化方法。此方法介于上述两种方法之间,它虽然采用规范化的记法,但一般没有确定的语义成分。这类方法有BIAIT(Business Information Analysis and Integration Technique,业务信息分析与集成技术)、SADT(Structured Analysis and Design Technique,结构化分析与设计技术)等。其中有的是采用提问对答方式来进行信息分析的,如BIAIT,但大多数采用规范化的图形标记及文字说明作为表达方式。由于这类方法的用法自由度适中,且采用直观的图形方式,因而使用较为广泛。目前,这类方法中有不少已开发了相应的自动化支持工具。

结构化分析方法是一种广泛应用的需求分析方法。它是以数据流图为主要工具、逐步求精地建立系统模型的一种系统分析方法。这种方法采用了如数据字典、判定表、判定树等辅助工具,这些工具是密切配合使用的。

结构化分析方法中的数据字典与DBMS中的数据字典在内容上有所不同,DBMS数据字典是用来描述或定义数据库系统运行所涉及的各种对象的,但在功能上它们是一致的。利用数据字典可方便软件开发过程或数据库系统的管理,提高软件开发效率或数据库系统的运行效率。下面举例说明结构化分析方法。

某机器制造厂的零配件采购子系统要处理的工作是:对生产部门提出的生产计划书,根据零配件的当前价格计算出成本,并送给主管部门审批;对已批准的生产计划制定采购计划;准备好订货单并送给供应商。该子系统顶层的数据流图如图2-4所示。

图2-4 零配件采购子系统顶层数据流图

为了反映系统更详细的处理过程,可将图2-4中的处理过程再细分为三个子过程,得到第一层次的数据流图,如图2-5所示,其中每个子过程还可以再细分,得到第二层次的数据流图。

数据流图表达了数据和处理的关系,数据字典则是对系统中数据的详尽描述。对数据库设计而言,数据字典是进行详细的数据收集和数据分析所获得的主要成果。数据字典中的内容在数据库设计过程中还要不断修改、充实、完善。

图2-5 零配件采购子系统第一层数据流图

一般来说,在数据字典中应包括对以下几部分数据的描述:

(1)数据项:数据项是数据的最小单位,对数据项的描述应包括数据项名、含义、别名、类型、长度、取值范围及与其他数据项的逻辑关系。

(2)数据结构:数据结构是若干数据项有意义的集合。对数据结构的描述应包括数据结构名和含义说明,并列出组成该数据结构的数据项名。

(3)数据流:数据流可以是数据项,但一般情况下是数据结构,表示某一处理过程的输入或输出数据。对数据流的描述应包括数据流名、从什么过程来及到什么过程去的说明,以及组成该数据流的数据结构或数据项。

(4)数据存储:数据存储是在处理过程中要存取的数据,也是数据结构。它可以是手工文档或手工凭单,也可以是计算机化文档。对数据存储的描述应包括数据存储名、说明、输入数据流、输出数据流、数据量(指每次存取多少数据)、存取额度(指每天或每小时或每周存取几次)和存取方式(指是批处理还是联机处理、是检索还是更新、是顺序存取还是随机存取)。

(5)处理过程:对处理过程的描述应包括处理过程名、说明、输入数据流、输出数据流,并简要说明处理工作、额度要求、数据量、响应时间等。

下面分别给出这5个方面的实例。在图2-5中有一个数据流为订货单,每张订货单中有一个数据项为订货单号。在数据字典中可对此数据项做如下描述。

数据项名:订货单号

明:标识每张订货单

型:CHAR

度:7

名:采购单号

取值范围:1000000~9999999

在图2-5中,采购计划是一个数据流,在数据字典中可对采购计划做如下描述。

数据流名:采购计划

明:各产品所需零件数

来自过程:确定采购计划

流至过程:编制订货单

数据结构:采购计划

采购细节

采购审核

在数据流的描述中记录了有关数据流的所有细节,在数据结构中“采购细节”、“采购审核”均是数据结构,在数据字典中还有详细的说明,这里不必再列出详细结构。下面只给出“采购细节”的数据结构。

数据结构:采购细节

明:作为采购计划的组成部分,说明对于某个产品,要采购哪些零件,哪种零件采购多少数量

成:零件号

数量

在图2-5中,产品是一个数据存储,在数据字典中可对其做如下描述:

数据存储:产品

明:对每种产品的品名、规格的描述,并对每种产品做成本预算,在核对生产计划书的成本时用

输出数据流:预算

数据描述:产品号

产品名称

产品描述

预算

量:每月30至40种

存取方式:随机存取

对图2-5中的第二个过程“确定采购计划”可做如下描述。

处理过程:确定采购计划

明:对要采购的每一个零件,根据零件库存量确定采购数量,再根据每位供应商的最低报价选择适当的供应商,制定采购计划

入:供应商报价

零件库存

已批准生产计划

出:采购计划

程序提要:

处理完所有零件形成采购计划输出。

3.整理文档

分析和收集得到的数据必须经过筛选整理,并按一定格式和顺序记载保存,经过审核成为正式的需求说明文档,即需求说明书。实际上,需求说明书是在需求分析的过程中逐渐整理形成的,是随着这一过程的不断深入而反复修改与完善的对系统需求分析的全面描述。由用户、领导和专家共同评审,是以后各设计阶段的主要依据。这一步的工作是进行全面的汇总与整理,使之系统化,以形成标准化的统一形式。

需求说明书作为应用部门的业务人员和数据库设计人员的“共同语言”,要求准确地表达用户需求,无二义性,可读性强,为数据库的概念设计、逻辑设计和物理设计提供全面、准确和详细的资料。

需求说明书通常包括以下内容:

(1)应用功能目标。明确数据库的应用范围及应达到的应用处理功能。

(2)标明各用户视图范围。根据结构与职能关系图、数据流程图和管理目标与功能相关表等,确定不同部门或功能的局部视图范围。

(3)应用处理过程需求说明。包括主要反映应用部门原始业务处理的工作流程的数据流程图、标明不同任务的功能及使用状况的任务分类表、标明任务与数据间联系及不同数据的不同操作特征与执行频率的数据操作特征表、标明各任务的主要逻辑执行步骤及程序编制的有关说明的操作过程说明书。

(4)数据字典。包括数据分类表、数据元素表、各类原始资料。

(5)数据量。

(6)数据约束。数据约束指应用对数据的特殊要求。它主要有数据的安全保密性、数据的完整性、数据的响应时间、数据恢复等。 7loWkztZliRBEg+hs4NcqPXoXDr52aMrNHK9MPIiV2sX3MIlRwMg6R4xQvK5sDVS

点击中间区域
呼出菜单
上一章
目录
下一章
×