北理工《实用数据库》拓展资源(五)
第五章 Access系统概述
注重需求分析,做好数据库应用系统的设计
许多同学直观地认为数据库应用系统的设计就是编制程序,从而过早地将注意力放在系统的编程设计上,不注重对系统进行需求分析,导致在后期的系统测试工作中发现这样或那样的错误,造成大量的返工。
其实,要编制出真正适用的程序,在编程之前,还需要做许多艰苦细微的工作,需求分析就是为今后工作的顺利开展创造条件的。实践证明,在一个数据库应用系统的开发过程中,要非常重视早期的分析工作,决不能草率行事,否则一旦出现错误,将造成人力物力的极大浪费。 一个数据库应用系统的开发过程大致包括六个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、数据库的实施、运行维护阶段。
需求分析是整个开发过程的第一个阶段,也是最重要的一步。其主要任务是:了解和掌握数据库应用系统开发对象(用户)的工作业务流程和每个岗位、每个环节的职责,了解和掌握信息从开始产生或建立,到最后输出、存档或消亡所经过的传递和转换过程,了解和掌握各种人员在整个系统活动过程中的作用;通过同用户充分地交流和沟通,决定哪些工作应由计算机来做,哪些工作仍由手工来做,决定各种人员对信息和处理各有什么要求,对视屏操作界面和报表输出格式各有什么要求,对数据(信息)的安全性(保密性)和完整性各有什么要求,等等。它是开发人员弄清实际情况,制定合理方案,开发系统的基础,对此,必须加以高度的重视。
下面,就需求分析阶段的具体工作进行如下归纳的描述: 1、调查、分析系统功能需求和用户活动,确定系统边界
系统功能需求调查分析的目的是确定系统应具有哪些功能,完成哪些任务。调查分析工作通常是从用户对数据处理要求的提出开始的,通过设计人员和用户充分地讨论和协商,提出实施方案和需求,最后把系统功能确定下来。
调查和分析用户活动是为了了解用户的各种业务活动,具体工作包括:调查各部门输入和输出的数据与格式,所需的表格和卡片,数据的加工,输入输出的部门等。调查时应特别注意了解这些报表之间的关系,各数据项的含义等,以确保建立的数据库应用系统能符合客观管理规律,满足用户的需求。
调查分析的结果要用系统功能结构图、业务流图等一系列图表表示出来。以图书管理系统为例,根据用户的处理要求划分功能模块,可以设计出功能模块调用图如图1所示
2、收集、分析、整理数据
数据是处理的对象,是建立数据库的基础。因此收集和分析数据是需求分析阶段最重要的内容,同时也是最难完成的任务。在设计工作中遇到的最大的困难往往是由于设计人员对业务的不熟悉而无法深入全面地了解系统的数据情况,以及这些数据如何在数据库中表示,在处理模块中如何处理它们。
2.1收集资料
收集资料的工作是数据库设计人员和用户共同完成的任务。因为熟悉应用业务的用户最了解系统的需求,尽管他们不一定知道如何设计或实现系统,但他们对系统应当提供的处理功能最有发言权。强调各级用户的参与是数据库应用系统设计的特点之一。
首先确定企业组织的目标,从这些目标导出对数据库的总体要求。这些要求一般应该从组织中的高层决策机构获得,因为他们熟悉企业的发展规划。通过对中层管理人员的调查访问可以获得日常控制管理的信息需求、各个部门之间的信息交流接口。通过对基层业务人员的访谈可以了解具体的业务操作流程,从而便于确定新系统的人机界限。确定哪些功能由计算机完成,哪些事情留给手工去做。具体调研的形式很多,例如通过发放信息需求调查表、当面交谈、开讨论会等多种形式。广泛收集各个部门的需求和约束条件等,在调研过程中要做详细记录,回来及时进行分析整理。
用户需求主要包括以下三方面:
(1)信息需求,即用户要从数据库获得的信息内容。信息需求定义了新系统应该提供的所有信息,应描述清楚系统中数据的性质及其联系。
(2)处理需求,即完成什么处理功能及处理的方式。处理需求定义了新系统数据处理的操作,应描述操作执行的场合、频率、操作对数据的影响等等。
(3)安全性和完整性要求。在定义信息需求和处理需求的同时必须相应确定安全性、完整性约束。
尽管收集资料阶段的工作非常繁琐,但必须耐心细致地了解现行业务处理流程、对新系统的要求、收集全部数据资料,如报表、合同、档案、单据、计划等等。
2.2分析整理资料
分析的过程是对所收集到的数据进行抽象的过程。抽象是对实际事物或事件的人为处理,抽取共同的本质特性,忽略细微末节,并用各种概念精确地加以描述,这些概念组成某种模型。 数据分析与抽象是数据库设计的基础,数据分析和抽象可以同时进行,并往往从局部入手。例如,在图书库存清单中图书的总价可通过下式求得:总价=单价*数量。此时就要考虑不必将总价作为图书表中的存储数据项,以免造成数据的冗余和产生数据的不一致性。
2.3绘制数据流图(DFD)
数据的收集和分析,最终应以数据流程图的形式表示出来。数据流图用来描述系统的数据流向和数据的处理功能,它以图形的方式来表达数据处理系统中信息的变换和传递过程。数据流图有三个重要特点:一是可以表示任何一个系统中信息流程;二是每个处理符号根据需要可进一步分解,以求得对问题的全面理解;三是强调的是数据流程而不是控制流程。
数据流图的基本符号有以下几种:1)数据流,用标有名字的箭头表示有名字有流向的数据;2)数据处理,用标有名字的圆圈表示对数据进行加工和变换。指向处理的数据流是该处理的输入数据,离开处理的数据流是该处理的输出数据;3)数据文件,用标有名字的双直线段表示数据暂存的处所。对数据文件进行必要的存取,可用指向或离开文件的箭头表示;4)数据源及数据终点,用命名的方框表示数据处理过程的数据来源或数据去向。
在数据流程图中,应把数据来源、进行的处理以及处理的去向等表示清楚。对稍为复杂的系统,只用一个数据流图是不够的,应按自顶向下的分解方法逐层分解为多个数据流图。图2、图3给出了图书管理系统的顶层和0层数据流图。