四级数据库_02_生命周期

第二章 数据库应用系统(DBAS)生命周期

四级数据库 返回到 『四级数据库』

2.1数据库应用系统生命周期

2.1.1 软件工程与软件开发方法

  • 软件工程:指导计算机软件开发和维护的工程科学,它采用工程化的概念、原理、技术和方法,以及正确的项目管理技术,来开发和维护软件;它将系统化、规范化、定量化方法应用于软件的开发、操作和维护,也就是将工程化应用于软件生产;

  • 软件工程的目标:在给定成本、进度的前提下,开发出满足用户需求并具有下述特征的软件产品:可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性。

  • 软件生命周期:(以及开发周期)指软件产品从考虑其概念开始,到该不再使用的整个时期(产品交付使用的整个时期),包括概念阶段、需求阶段、设计阶段、实现阶段、测试阶段、安装部署及交付阶段;
  • 软件项目管理:为了能使软件开发按预定的质量、进度和成本进行,而对成本、质量、进度、人员、风险等进行分析和有效管理的一系列活动。
  • 软件工程以关注软件质量为特征,由方法、工具过程三部分组成;
  • 软件过程模型(软件开发模型):是对软件过程的一种抽象表示,表示了软件过程的整体框架和软件开发活动各阶段间的关系,常见的有:瀑布模型、快速原形模型、增量模型螺旋模型

2.1.2 DBAS(面向某个特定领域,实现特定功能的计算机软件、硬件的集成体)软件组成

  • 数据库应用软件在内部可看作由一系列软件模块/子系统组成,这些模块/子系统可分成两类:
    • 与数据访问有关的数据库事务模块:利用DBMS提供的数据库管理功能,以数据库事务方式直接对数据库中的各类应用数据进行操作,模块粒度较小
    • 与数据访问无直接关联的应用模块:在许多与数据处理有关的应用系统中,对数据库的访问只是整体中的一部分,其他功能则与数据库访问无直接关系,这部分模块粒度可以比较大。
  • DBAS设计开发的硬件方面:主要涉及根据系统的功能、性能、存储等需求选择和配置合适的计算机硬件平台,并与开发好的DBAS软件系统进行集成,组成完整的数据库应用系统;

2.1.3 DBAS生命周期模型

  • 数据库应用系统的生命周期模型:(图,p17)
    • 参照软件开发瀑布模型的原理,DBAS的生命周期由项目规划、需求分析、系统设计、实现和部署、运行管理与维护等5个基本活动组成;
    • 快速原形模型增量模型的开发思路引入DBAS生命周期模型,允许渐进、迭代地开发DBAS;
    • 根据DBAS的软件组成和各自功能,细化DBAS需求分析和设计阶段,引入了数据组织与存储设计数据访问与处理设计、应用设计三条设计主线,分别用于设计DBAS中的据库数据库事务应用程序
    • 将DBAS设计阶段细分为概念设计、逻辑设计、物理设计三个步骤,每一步的设计内容又涵盖了三条设计主线。

2.2 规划与分析(图p18)

2.2.1 系统规划与定义

  • 定义:系统规划与分析  是面向将要开发的DBAS,通过了解用户实际需求,明确该系统需要实现的目标和任务,并从数据管理和数据处理的角度,确定系统中数据库软件的功能、性能范围;
  • 系统规划与定义包括:
    • 任务陈述:描述所要开发的DBAS的总体目标;
    • 确定任务目标;
    • 确定系统范围边界
    • 确定用户视图

2.2.2 可行性分析

  • 可行性分析包括以下四方面:
    • 经济可行性:对项目进行成本效益分析;DBAS的成本主要包括:A、软硬件购置费用;B、系统开发费用;C、系统安装、运行、维护费用。
    • 技术可行性:是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软件、硬件、技术方案作出评估和选择建议;
      • 硬件可行性研究是分析DBAS的硬件平台环境和设置;
      • 软件可行性研究包括:对可用的DBMS和操作系统的选型评估,对中间件和开发环境的选型建议,对DBAS开发模式编程语言的建议;
      • 技术方案的选择是根据系统技术需求,提出DBAS可能采用的合理技术方案和关键技术;
    • 操作可行性:是论证是否具备DBAS开发所需的各类人员资源、软件资源、硬件资源和工作环境等,以及为支持DBAS开发如何去改进加强这几方面资源。
    • 开发方案选择:目的是提出并评价实现系统的各种开发方案,从中选出一种适用于DBAS软件的开发方案;

2.2.3 项目规划

  • 项目规划是项目管理者对资源、成本进度做出合理估算,并在此基础上制定切实可行的DBAS项目开发计划。
  • 项目规划包括以下内容:
    • 确定项目的目标和范围;
    • 根据DBAS软件开发模型,分解和定义整个项目包括的工作活动和任务;
    • 估算完成该项目的规模和所需各种资源;
    • 制定合理的DBAS项目计划

项目规划的结果应形成数据库应用系统项目计划文档,即项目计划书


2.3 需求分析

  • 数据库应用系统需求是指用户对DBAS在功能、性能、行为、设计约束等方面的期望和要求;
  • DBAS需求分析是在已经明确的DBAS系统范围基础上,通过对应用问题的理解和分析,采用合适的工具和符号,系统地描述DBAS的功能特征、性能特征和约束,并形成需求规范说明文档;
  • 需求分析过程由需求获取、需求分析、需求描述和规范说明、需求验证等组成;
  • DBAS的需求分析包括:
    • 数据需求分析;
    • 数据处理需求分析;
    • 业务需求分析;
    • 分析数据库系统在性能、存储、安全、备份与恢复等方面的要求;

2.3.1 数据与数据处理需求分析(承上分别介绍)

  • 数据需求分析:是从对数据组织与存储的设计角度,辨识应用领域所管理的各类数据项和数据结构,与数据处理需求分析结果一起,组成数据字典;包括5个部分(Def:是一种用户可以访问的记录数据库和应用程序元数据的目录,它详细描述系统中的全部数据)
  • 数据处理需求分析:是从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作,分析结果可表示为数据流图或事务规范;(DFD)
  • 事务规范包括:

(1)事务名称;(2)事务描述;(3)事务所访问的数据项;(4)事务用户;


2.3.2 业务规则需求分析

1、业务规则需求分析:是从DBAS高层目标和整体功能出发,分析系统或系统中一些大粒度子系统应具有的业务类型和功能,明确用户或外部系统与DBAS的交互模式;


2.3.3 性能(能做到什么程度)需求分析

  • DBAS的性能指标:
    • 数据操作响应时间(或数据访问响应时间):从提交请求到返回结果的时间;
    • 系统吞吐量:指系统在单位时间内所完成的事务或查询的数量,单位为TPS;(TPC是指事务处理性能委员会)
    • 允许并发访问的最大用户数:在保证响应时间的前提下,系统最多允许多少用户同时访问数据库;
    • 每TPS代价值,用于衡量系统性价比的指标

  • 影响DBAS性能的因素:
    • 系统硬件资源;
    • 网络通信设备性能;
    • 操作系统环境;
    • 数据库的逻辑设计和物理设计质量,数据库配置参数;
    • DBAS的配置和性能;
    • 数据库应用程序自身。

2.3.4 其它需求分析

  • 存储需求分析:是指估计DBAS系统需要的数据存储量,包括:(1)初始数据库大小;(2)数据库增长速度;存储总量估算可采用:根据数据字典中每个数据项的结构描述信息,估计每个数据项的容量,将所有数据项的容量累加;
  • 安全性需求分析:
    • DBAS系统应达到的安全控制级别;
    • 各类用户的数据视图和视图访问权限;
    • DBAS应有的口令保护机制或其它安全认证机制,用以控制用户登录数据库系统。
  • 备份和恢复需求分析:
    • DBAS运行过程中备份数据库的时间和备份周期
    • 所需备份的数据是全部数据库数据,还是一部分;
    • 备份方式是采用完全备份还是采用差异备份

2.4 系统设计

2.4.1 概念设计(DB概念模型设计和总体设计)

  • 数据库概念模型设计:是根据数据需求分析阶段得到的需求结果,分析辨识需要组织存储在数据库中的各类应用领域数据对象的特征及其相互之间关联关系,并采用概念数据模型表示出来,得到独立于具体DBMS的数据库概念模型
  • ER方法:(1)选择局部应用;(2)分别设计各个局部ER图;(3)局部ER图合并;

  • 系统总体设计:
    • 确定DBAS体系结构;
    • 系统硬件平台和操作系统、数据库管理系统等系统软件的选型和配置;
    • 应用软件结构设计(软件程序概要设计Ⅰ)
    • 对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,明确采用的关键技术和算法;
    • 对系统采用的关键技术进行方案选型和初步设计。

2.4.2 逻辑设计

  • 数据库逻辑结构设计:指从数据库的概念模型出发,设计表示为逻辑模式的数据库逻辑结构。(即从ER图到关系模型
    • ER图转换为初始关系模式;
    • 对初始关系模式进行优化;
    • 检查关系表对数据库事务的支持性;
    • 确定关系模式的完整性约束;
    • 从数据安全性和独立性出发,设计用户视图。
  • 应用程序概要设计(II);(在Ⅰ上细化)
  • 数据库事务概要设计;

2.4.3 物理设计

  • 数据库物理结构设计:主要指数据文件在外存上的存储结构存取方法,它依赖于系统具体的硬件环境、操作系统和DBMS;
    • 数据库逻辑模式调整;
    • 选择或配置基本关系表的文件组织形式;
    • 数据分布设计;
    • 安全模式设计;
    • 确定系统配置;
    • 物理模式评估;
  • 数据库事务(相当于VB的事件)详细设计:根据事务流程,利用SQL语句、数据库访问接口,采用高级程序设计语言或DBMS提供的事务实现机制,设计数据库事务。
  • 应用程序详细设计:

2.5 实现与部署

  • 建立数据库结构;
  • 数据加载;
  • 事务和应用程序的编码及测试;
  • 系统集成、测试与试运行;
  • 系统部署;

2.6 运行管理与维护

2.6.1 日常维护

  • 数据库的备份与恢复
  • 完整性维护
  • 安全性维护
  • 存储空间管理
  • 并发控制及死锁处理

2.6.2 系统性能监控和分析

  • 统计数据可以通过两种途径收集:
    • 由DBMS本身自动收集存储统计数据
    • 通过监控系统得到

2.6.3 系统性能优化调整

  • 糸统性能优化的手段有:数据查询调整与优化、索引调整、数据库摸式调整、DBMS和操作系统参数调整等。
  • 模式调整主要涉及逻辑模式调整,可以从下考虑:
    • 已达到第三范式的基本表,不要进一步规范化为BCNF;
    • 在分布式数据库中,对一个基本表中某些频繁被访问的数据,可以水平分区垂直分区方式拆分基本表

2.6.4 系统升级

  • 改进应用桯序;
  • 数据库重组;
  • DBMS和OS版本升级