7.2.1 需求分析的任务
从数据库设计的角度看,需求分析阶段的主要任务是对现实世界要处理的对象(公司、部门、企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。具体地说,需求分析阶段的任务主要包括如下3项:
(1)调查分析用户活动
通过研究新系统的运行目标,对现行系统所存在的主要问题进行分析,明确用户的总体需求目标。
(2)调查、收集和分析需求数据,确定系统边界
通过跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录等方式,调查组织机构情况、各部门的业务活动情况,协助用户明确对新系统的各种要求、确定新系统的边界。对用户调查的重点是“数据”和“处理”。通过调查要从用户那里获得对新系统的下列需求:
①信息需求。定义未来信息系统使用的所有信息,弄清用户需要往数据库输入什么样的数据,从数据库中获得什么样的信息,将要输出什么样的信息。也就是要明确数据库中需要存储哪些数据,对这些数据做哪些处理,同时还要描述数据的内容和结构以及数据之间的联系等。
②处理需求。定义未来系统数据处理的功能,描述操作的优先次序,包括操作执行的频率和场合,操作与数据之间的联系,同时还要明确用户要完成哪些处理功能,每种处理的执行频率、用户要求的响应时间以及处理的方式等。
③安全性和完整性要求。安全性要求描述系统中不同用户对数据库的使用和操作情况,完整性要求描述数据之间的关联关系以及数据的取值范围要求。
在收集完各种数据后,对调查结果进行初步分析,确定新系统的边界,确定哪些功能由计算机完成或者将来准备由计算机完成,哪些活动由人工完成。需要计算机完成的功能就是新系统应该是实现的功能。
(3)编写系统分析报告
需求分析阶段最后一项工作是编写系统分析报告,也称为需求规范说明书。系统分析报告是对需求分析的总结,编写系统分析报告是一个不断反复、逐渐深入和逐步完善的过程,该报告应包含如下内容:
系统概要:系统的目标、范围、背景、历史和现状。
对原系统或者现状的改善。
系统总体结构和子系统结构说明。
系统功能说明。
数据处理概念及各处理阶段划分。
系统方案及技术、经济、功能和操作上的可行性。
系统分析报告还应提供如下附加材料:
①系统软硬件支持环境的选择和规格要求,如所选择的操作系统、数据库管理系统、计算机型号和配置、网络环境等。
②组织机构图、组织之间的联系图以及各机构功能业务图。
③数据流图、功能模块图和数据字典等。
系统分析报告是数据库设计人员与用户共同确认的权威性文档,是数据库后续各阶段设计和实现的依据。在需求分析中,通过自顶向下、逐步分解的方法分析系统,任何一个系统都可以抽象为图7-3所示的数据流图的形式。
图7-3 数据流图
数据流图是从“数据”和“处理”两方面表达数据处理的一种图形化表示方法。“处理”抽象表达了系统的功能需求,系统的整体功能要求可以分解为系统的若干子功能要求,通过逐步分解的方法,可将系统的工作过程逐步细化,直至表达清楚为止。
需求分析是整个数据库设计(严格讲是管理信息系统设计)中最重要的一步,是其他各步骤的基础。如果把整个数据库设计当成一个系统工程看待,那么需求分析就是这个系统工程的最原始的输入信息。
需求分析也是最困难和最麻烦的一步,其困难之处不在于技术上,而在于要了解、分析、表达客观世界并非易事,这也是数据库自动生成工具研究中最困难的部分。目前,许多自动生成工具都绕过这一关,先假定需求分析已经有结果,这些自动工具就以这一结果作为后续几步的输入。