1.3 规划与分析
考点1 概 述
(1)规划与分析的目标
将数据库应用系统作为由计算机硬件、计算机软件和用户组成的复杂人机系统,从项目管理的角度,面向实际应用和用户需求,确定整个数据库应用系统的目标和任务,从技术、操作和经济三方面进行可行性分析,并制定合理的项目开发计划。
考点2 系统规划与定义
(1)定义
面向将要开发的DBAS,通过了解用户实际需求,明确该系统需要实现的目标和任务,并从数据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围。
(2)内容
①任务陈述。描述所要开发的DBAS的总体目标。
②确定任务目标。明确为了实现系统总体目标,DBAS应该支持的一系列任务与活动。
③确定系统范围和边界。系统范围和边界定义了DBAS做什么、不做什么、做到什么程度,是DBAS需求分析和系统设计等后续开发步骤的设计依据。
④确定用户视图。用户视图表示了不同DBAS用户的数据访问/处理需求。
考点3 可行性分析
(1)目的
评估判断DBAS开发项目在现有技术和经济条件下是否可行,是否能够达到预期目标,以及为保证项目正常进行需要的各种资源和支撑条件是否达到要求。
(2)内容
①经济可行性
a.定义
经济可行性研究是对项目进行成本效益分析,估算项目开发成本,评估项目经济效益、社会效益和利润,在项目成本和收益间进行合理权衡,并分析项目对其产品或利润的影响。
b.DBAS成本的内容
第一,系统软硬件购置费用,如DBMS、计算机、存储设备、网络设备的购置费用。
第二,系统开发费用,如人工费用、材料费用、培训费用等。
第三,系统安装、运行、维护费用等。
②技术可行性
技术可行性研究是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软硬件和技术方案作出评估和选择建议。
a.硬件可行性研究是分析DBAS的硬件平台环境和设备体系结构及处理能力、存储设备的容量和数据访问速度、网络环境等,提出硬件选型建议。
b.软件可行性研究包括对可用的DBMS和操作系统的选型评估和建议、对中间件和开发环境的选型建议、对数据库应用程序开发模式和编程语言的建议等。
c.技术方案的选择是根据系统技术需求,提出DBAS可能采用的合理技术方案或关键技术。
③操作可行性
操作可行性研究是论证是否具备DBAS开发所需的各类人员资源(项目管理人员、数据库系统分析员、应用编程人员等)、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。
④开发方案选择
开发方案选择的目标是提出并评价实现系统的各种开发方案,从中选出一种适用于DBAS软件的开发方案。
(3)可行性分析的成果
形成相应的数据库应用系统开发可行性研究报告,并提交给项目管理部门对可行性研究报告进行评审,作为下阶段项目立项和规划的重要依据。
考点4 项目规划
(1)定义
项目规划是项目管理者对资源、成本和进度做出合理估算,并在此基础上制定切实可行的DBAS项目开发计划的过程。
2)内容
①确定项目的目标和范围,根据系统规划与定义的工作内容,具体说明项目的最终产品以及期望的时间、成本和质量目标。
②根据DBAS软件开发模型,分解和定义整个项目包括的工作活动和任务。
③估算完成该项目的规模及所需各种资源。
④制定合理的DBAS项目计划,包括进度、成本、质量等方面的预测和控制方案。
(3)成果
项目规划的结果应形成数据库应用系统项目计划文档,即项目计划书。
1.4 需求分析
考点1 系统需求
(1)定义
数据库应用系统需求是指用户对DBAS在功能、性能、行为、设计约束等方面的期望和要求。
(2)需求分析的过程
需求分析过程由需求获取、需求分析、需求描述与规范说明、需求验证等步骤组成。最终形成需求规范说明文档,该文档也成为DBAS需求分析规范说明书。
(3)分类
①对于一般的软件系统,系统的需求一般被分成功能和非功能需求,非功能性需求一般也可以划分成性能需求与其他需求。
②对于以处理数据为核心的数据库应用系统来说,一般需要将数据需求或信息需求独立出来进行分析。
③对于DBAS来说,在功能层面可以将需求分成与数据处理密切相关的功能需求和业务规则需求,但是这两类需求在有些场合也很难分清,在许多情况下也密切相关;在性能层面也需要对系统的存储、安全、备份与恢复等其他方面的需求进行分析。
(4)需求获取
需求获取是DBAS系统分析人员的职责。分析人员可以采用软件工程中的需求获取技术,通过与用户的充分交流,调查清楚用户的实际要求,分析和整理所获取的各类需求信息,与用户和开发人员达成共识,形成文档化的需求描述,在此基础上进行进一步的需求分析。
考点2 数据需求分析
数据需求分析是从对数据进行组织与存储的角度,从用户视图出发,分析与辨识应用领域所管理的各类数据项(Data Items)和数据结构,形成数据字典的主要内容。
(1)数据项
数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。
(2)数据字典
①内容
数据字典包括数据项、数据结构、数据流、数据存储和处理过程五部分。
②作用
数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
考点3 功能需求分析
(1)定义
功能需求分析是指主要针对DBAS应具有的功能进行分析,是DBAS需求分析的核心环节。
(2)分类
功能需求分析总体上可以分成数据处理需求分析与业务规则需求分析。
①数据处理需求分析
数据处理需求分析从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作,分析结果可表示为数据流图(Data Flow Diagram,DFD)或DBAS应支持的各种数据处理事务规范。
a.数据流图是一种形式化的数据需求分析技术,利用数据项、数据存储、数据加工和数据流等概念描述对数据的处理。
b.事务规范包括以下几方面的事务描述信息:
第一,事务名称;
第二,事务描述,指对事务功能、性能、完整性约束等方面的描述;
第三,事务所访问的数据项;
第四,事务用户,指启动该事务执行的事件/用户。
c.从系统规划与分析阶段已经确定的各类用户视图出发,针对每个用户视图进行数据及数据处理需求分析,然后汇总各个视图的分析结果得到对系统的完整分析结果。这也是一种多视点、多角度的数据及数据处理分析技术。
d.在某些特殊应用领域开发DBAS时,开发方法和步骤既要遵循DBAS生命周期模型,也要遵守这些应用领域提出的特殊开发准则,采用一些面向领域的特殊开发技术。
数据需求分析与数据处理需求分析的结果组织在一起,可以构成数据字典文档,该文档也常被称为“数据规范说明书”,作为下一步开展系统设计的主要输入文档。
②业务规则需求分析
业务规则需求分析是从DBAS高层目标和整体功能出发,分析系统或系统中一些较大子系统应具有的业务类型和功能,明确用户或外部系统与DBAS的交互模式。
a.业务规则需求分析涉及系统的外部行为和某些系统内部关键特性。
b.分析对象既可以是与数据管理有关的业务规则,也可以是与数据库完全无关的系统业务。
c.业务规则需求反映了应用程序的功能、性能需求,为后续系统设计阶段的应用程序设计提供了重要依据。
d.业务规则需求分析主要面向系统开发者,分析结果可采用自然语言、UML、某种特定领域相关的(半)形式化机制来描述系统业务的规则、流程和算法原理等。
考点4 性能需求分析
(1)性能需求
①定义
性能需求是指描述系统时应当做到的程度。
②DBAS性能指标
a.数据操作响应时间(数据访问响应时间)
用户向数据库系统提交数据操作清求到操作结果返回给用户的时间。
b.系统吞吐量
系统在单位时间内可以完成的数据库事务或数据查询的数量。系统吞吐量可表示为每秒事务数TPS。
c.允许并发访问的最大用户数
在保证单个用户查询响应时间的前提下,系统最多允许多少用户同时访问数据库。
d.每TPS代价值(Price per TPS)
衡量系统性价比的指标。
③影响DBAS性能的主要因素
a.系统硬件资源;
b.网络通信设备性能;
c.操作系统环境;
d.数据库的逻辑设计和物理设计质量;
e.DBMS的配置和性能;
f.数据库应用程序自身的性能。
【真题演练】
DBAS需求分析阶段的性能分析是分析DBAS应具有的性能指标。下列不属于DBAS性能指标的是( )。
A.数据库空间占用情况
B.数据查询响应时间
C.单位时间内可以完成的查询数量
D.单位时间内可以完成的事务数量
【答案】A
考点5 其他需求分析
(1)存储需求分析
①定义
存储需求分析是指估计DBAS系统需要的数据存储量。
②内容
a.初始数据库大小,即DBAS刚投入运行时的数据存储总量。
b.数据库增长速度,即运行过程中DB内数据量增加或减少的变化情况。
③数据存储总量的估算方法
根据数据字典中每个数据项的结构描述信息,估计一组数据项或一个元组需要的总数据项,同时估算数据项或元组的变化速度。根据估算出的数据项或元组的变化速度计算一段时间内的数据项总数或元组总和。将所有数据项或元组所需的估算空间相加,即得到一段时间内所需的数据存储总量。但是计算实际存储空间估算值时还需要考虑其他的存储空间开销。
(2)安全性需求分析
安全性需求分析考虑以下几个问题:
①DBAS系统应达到的安全控制级别
根据DBAS应用场所的实际数据安全性要求,按照可信(Trusted)计算机系统评测标准,确定DBAS应达到的安全控制级别。DBAS的整体安全级别取决于DBMS、操作系统和其他系统软件的安全级别间的相互匹配程度。
②各类用户的数据视图和视图访问权限
在实际应用中,根据系统数据安全性需求,规定各类用户允许访问的数据库数据(即用户的数据视图)以及对这些数据的访问权限(如查询、插入、删除、修改等)。
③DBAS应有的口令保护机制或其他安全认证机制
控制用户登录数据库系统时的安全性。
(3)备份和恢复需求分析
①定义
备份和恢复需求分析是从数据库系统可靠性和系统故障恢复角度提出的系统需求。
②内容
a.DBAS运行过程中备份数据库的时间和备份周期。
b.所需备份的数据是全部数据库数据(包括应用数据、索引、日志等),还是其中的一部分。
c.备份方式是采用完全备份还是采用差异备份。
1.5 系统设计
考点1 概念设计
(1)数据库概念模型设计
①定义
概念模型设计是依据需求规范说明文档,分析辨识需要组织存储在数据库中的各类应用领域数据对象的特征及关联关系,并采用概念数据模型表示出来,得到独立于具体DBMS的数据库概念模型。
②表示方法
它可用多种方法表示,最常见的是ER方法。
(2)系统总体设计
①定义
系统总体设计是从系统规划与分析结果(特别是其中的技术可行性分析内容)和系统需求分析内容出发,确定DBAS软硬件总体框架,作为系统后续设计活动的基础。
②内容
a.DBAS体系结构设计。
b.DBAS系统硬件和软件的选型和配置。
c.应用软件结构设计。将应用软件划分为一系列软件子系统,定义子系统间的信息交互方式,进一步划分各软件子系统的模块结构。
d.对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,分析所处理的业务数据和处理方式,明确采用的关键技术和算法等。
e.对系统采用的关键技术进行方案选型和初步设计。
考点2 逻辑设计
(1)数据库逻辑结构设计
数据库逻辑结构设计是指从数据库的概念模型出发,设计表示为逻辑模式的数据库逻辑结构。逻辑结构设计与DBMS采用的数据模型密切相关,但与具体的DBMS系统实现无关。但是在现阶段,数据库逻辑结构设计的主要内容是在ER图的基础上设计数据库关系模式。
(2)应用程序概要设计
应用程序概要设计是在应用软件结构设计基础上,将DBAS中的应用软件模块按照逐步求精、信息隐藏和功能细化原则,进一步划分为子模块,组成应用软件的系统-子系统-模块-子模块层次结构,确定各模块的功能和输入/输出数据,设计模块使用的数据结构,定义模块交互的接口关系和交互流程。
(3)数据库事务概要设计
事务概要设计的任务是根据需求分析阶段识别出的各种DBAS事务,设计与具体DBMS实现方法无关的事务数据处理流程,明确事务所访问的各关系表,并把事务中对数据库数据的操作用与具体DBMS平台无关的两个元操作read、write抽象表示。
【真题演练】
下列属于数据库设计内容的是( )。
A.需求分析和维护
B.概念结构设计和逻辑结构设计
C.功能设计和测试用例设计
D.结构设计和行为设计
【答案】B
考点3 物理设计
(1)数据库物理结构设计
①数据和数据库物理结构
数据库中的数据以文件形式存放在外存物理设备上,数据库物理结构主要指数据文件在外存上的存储结构和存取方法,它依赖于系统具体的硬件环境、操作系统和DBMS。
②物理结构设计
a.定义
数据库物理结构设计是指在具体的软硬件环境约束下,为数据库的逻辑结构设计符合应用要求的物理结构的过程。
b.目标
设计一个占用空间少、具有较高的数据访问效率和较低的维护代价的数据库存储模式。
c.内容
数据库物理结构设计包括数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估等环节。
(2)数据库事务详细设计
①根据事务概要设计得到的与平台无关的事务流程,采用高级程序设计语言或DBMS提供的事务实现机制,在具体DBMS平台和开发环境下,设计数据库事务。
②事务详细设计需要将概要设计中的read和write元操作替换为DBMS支持的具体数据库访问操作或数据库访问API调用。
(3)应用程序详细设计
根据应用程序概要设计中定义的各模块功能和输入/输出数据需求,结合具体的程序设计环境和机制,设计各模块的内部处理流程和算法、数据结构、对外详细接口等。
1.6 实现与部署
DBAS的实现与部署也称为DBAS的实施。
考点1 定 义
DBAS的实现与部署是指数据库应用系统开发人员需要根据DBAS设计结果,建立数据库,编写应用程序,集成DBAS软硬件,组成完整的DBAS。系统经测试和试运行,确定在功能、性能等方面达到设计要求后,交付用户使用。
考点2 内 容
(1)建立数据库结构;
(2)数据加载;
(3)事务和应用程序的编码及测试;
(4)系统集成、测试与试运行;
(5)系统部署。
【真题演练】
下列不属于DBAS实施与部属工作的是( )。
A.数据加载
B.系统部属
C.建立数据库
D.规范化表结构
【答案】D
1.7 运行管理与维护
数据库应用系统投入运行标志着系统开发任务的基本完成和系统运行维护工作的开始。
考点1 内 容
(1)系统的运行和维护工作包括数据库应用系统的运行管理以及对数据库本身的运行管理,它主要由数据库管理员DBA负责,有时也需要其他设计及开发人员参与。
(2)数据库运行管理与维护的主要工作内容包括日常维护、系统监控与分析、系统性能优化调整、系统进化(升级)等工作。
【真题演练】
下列不属于数据库运行维护工作的是( )。
A.系统监控
B.系统性能优化
C.应用系统重写
D.系统升级
【答案】C
考点2 重要性
DBAS的运行管理和维护是其生命周期过程中的一个重要组成部分,为了保证数据库系统的正常运行,对DBAS的管理和维护工作贯穿在DBAS运行过程中。