第二章 数据库应用系统生命周期 2.1数据库应用系统生命周期 2.1.1 软件工程与软件开发方法 1、 软件工程:将工程化应用于软件生产
2、 软件工程的目标:在给定成本、进度的前提下,开发出满足用户需求并具有下述特征的软件产品:可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性。
3、 软件生命周期:指软件产品从考虑其概念开始,到该产品交付使用的整个时期,包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段; 4、 软件项目管理:为了能使软件开发按预定的质量、进度和成本进行,而对成本、质量、进度、人员、风险等进行分析和有效管理的一系列活动。
5、 软件工程以关注软件质量为特征,由方法、工具和过程三部分组成;
6、 软件过程模型(软件开发模型):是对软件过程的一种抽象表示,表示了软件过程的整体框架和软件开发活动各阶段间的关系,常见的有:瀑布模型、快速原型模型、增量模型和螺旋模型。
2.1.2 DBAS软件组成
1、 数据库应用软件在内部可看作由一系列软件模块/子系统组成,这些模块/子系统可分成两类:
(1) 与数据访问有关的数据库事务模块:利用DBMS提供的数据库管理功能,以数据库事务方式直接对数据库中的各类应用数据进行操作,模块粒度较小;
(2) 与数据访问无直接关联的应用模块:在许多与数据处理有关的应用系统中,对数据库的访问只是整体中的一部分,其他功能则与数据库访问无直接关系,这部分模块粒度可以比较大。
2、 DBAS设计开发的硬件方面:主要涉及根据系统的功能、性能、存储等需求选择和配置合适的计算机硬件平台,并与开发好的DBAS软件系统进行集成,组成完整的数据库应用系统;
2.1.3 DBAS生命周期模型
1、 数据库应用系统的生命周期模型:
(1) 参照软件开发瀑布模型的原理,DBAS的生命周期由项目规划、需求分析、系统设计、实现和部署、运行管理与维护等5个基本活动组成;
(2) 将快速原型模型和增量模型的开发思路引入DBAS生命周期模型,允许渐进、迭代地开发DBAS;
(3) 根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计、数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的数据库、数据库事务和应用程序;
(4) 将DBAS设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步的设计内容又涵盖了三条设计主线。
2.2 规划与分析 2.2.1 系统规划与定义
1、系统规划与分析:面向将要开发的DBAS,通过了解用户实际需求,明确该系统需要实现的目标和任务,并从数据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围;
2、 系统规划与定义包括:
(1) 任务陈述:描述所要开发的DBAS的总体目标; (2) 确定任务目标; (3) 确定系统范围和边界; (4) 确定用户视图; 2.2.2 可行性分析
1、 可行性分析包括以下四方面:
(1) 经济可行性:对项目进行成本效益分析;DBAS的成本主要包括:A、软硬件购置费用 B、系统开发费用 C、系统安装、运行、维护费用
(2) 技术可行性:是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软件、硬件、技术方案作出评估和选择建议;
A、 硬件可行性研究是分析DBAS的硬件平台环境和设置;
B、 软件可行性研究包括:对可用的DBMS和操作系统的选型评估,对中间件和开发环境的选型建议,对DBAS开发模式和编程语言的建议;
C、 技术方案的选择是根据系统技术需求,提出DBAS可能采用的合理技术方案和关键技术;
(3) 操作可行性:是论证是否具备DBAS开发所需的各类人员资源、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。
(4) 开发方案选择:目的是提出并评价实现系统的各种开发方案,从中选出一种适用于DBAS软件的开发方案; 2.2.3 项目规划
1、 项目规划是项目管理者对资源、成本和进度做出合理估算,并在此基础上制定切实可行的DBAS项目开发计划。 2、 项目规划包括以下内容: (1) 确定项目的目标和范围;
(2) 根据DBAS软件开发模型,分解和定义整个项目包括的工作活动和任务; (3) 估算完成该项目的规模和所需各种资源; (4) 制定合理的DBAS项目计划
3、项目规划的结果应形成数据库应用系统项目计划文档,即项目计划书。 2.3 需求分析
1、 数据库应用系统需求是指用户对DBAS在功能、性能、行为、设计约束等方面的期望和要求;
2、 DBAS需求分析是在已经明确的DBAS系统范围基础上,通过对应用问题的理解和分析,采用合适的工具和符号,系统地描述DBAS的功能特征、性能特征和约束,并形成需求规范说明文档;
3、 需求分析过程由需求获取、需求分析、需求描述和规范说明、需求验证等步骤组成; 4、 DBAS的需求分析包括: (1) 数据需求分析; (2) 数据处理需求分析; (3) 业务需求分析;
(4) 分析数据库系统在性能、存储、安全、备份与恢复等方面的要求; 2.3.1 数据与数据处理需求分析
1、 数据需求分析:是从对数据组织与存储的设计角度,辨识应用领域所管理的各类数据项和数据结构,与数据处理需求分析结果一起,组成数据字典,形成“数据规范说明书”。
2、 数据字典包括数据项(数据的最小组成单位)、数据结构、数据流、数据存储和处理过程。
3、 数据处理需求分析:从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作,分析结果可表示为数据流图或事务规范; 4、 事务规范包括:
(1)事务名称;(2)事务描述;(3)事务所访问的数据项;(4)事务用户; 2.3.2 业务规则需求分析
1、业务规则需求分析:是从DBAS高层目标和整体功能出发,分析系统或系统中一些大粒度子系统应具有的业务类型和功能,明确用户或外部系统与DBAS的交互模式; 2.3.3 性能需求分析 1、 DBAS的性能指标:
(1) 数据操作响应时间(数据访问响应时间):从提交请求到返回结果的时间; (2) 系统吞吐量:指系统在单位时间内所完成的事务或查询的数量,系统吞吐量可表示为每秒事物数TPS;
(3) 允许并发访问的最大用户数:在保证响应时间的前提下,系统最多允许多少用户同时访问数据库;
(4) 每TPS代价值,用于衡量系统性价比的指标 2、 影响DBAS性能的因素: (1) 系统硬件资源; (2) 网络通信设备性能; (3) 操作系统环境;
(4) 数据库的逻辑设计和物理设计质量,数据库配置参数; (5) DBAS的配置和性能; (6) 数据库应用程序自身。 2.3.4 其它需求分析