第1章 数据库应用系统开发方法
Posted 修罗神天道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第1章 数据库应用系统开发方法相关的知识,希望对你有一定的参考价值。
1.1数据库应用系统生命周期
1.1.1软件工程与软件开发方法
用现代工程的概念管理软件生产与开发全过程的典型方法有:瀑布模型(也称为软件生命周玥模型)、快速原型模型、螺旋模型等。
1.瀑布模型
瀑布模型(软件过程模型)是 20世纪 70年代初期由 Winston Royce提出来的,这个模型把软件开发的全过程定义为 6 个阶段:
2.快速原型模型
快速原型模型是 20世纪 80年代中期随第四代语言及可视化开发工具产生的:一种快速开发方法,其
指导思想是不必把前期各阶段的活动做得尽善尽美后才启动下阶段的活动。快速原型模型将软件开发过程划分为以下几个阶段:
(1)快速分析。
(2)设计构造原型。
(3)运行原型。
(4)评价原型。
(5)改进原型。
3.螺旋模型
螺旋模型是 1988 年由 Barry Boehm 提出的,这个模型把软件开发的全过程划分为 4 个阶段,也称为4 个象限:
象限1是项目规划,其任务是确定系统功能和性能目标,选择可行的实施方案;
象限2是风险评估,其目标是识别和评估风险;
象限3是工程实现,这个阶段的目标是通过实施活动将软件转化为软件产品;
象限4是用户评估,这个阶段的目标是评价实现结果。
1.1.2DBAS生命周期模型
1.2规划与分析
规划与分析的主要内容如下:
1.2.1系统规划与定义
系统规划与定义的具体内容包括:
(1)任务陈述:描述所要开发的 DBAS的总体目标。
(2)确定任务目标:明确为了实现任务陈述所规定的系统总体目标,DBAS应该支持的一系列数据管理和数据处理任务与活动。
(3)确定系统范围和边界:系统范围和边界定义了 DBAS做什么、不做什么、做到什么程度,是 DBAS需求分析和系统设计等后续开发步骤的设计依据。
(4)确定用户视图:根据 DBAS中用户对数据库的存取需求,对用户进行分类,明确每类用户需要访问数据库中的哪些数据以及如何使用这些数据,组成用户所对应的用户视图。
1.2.2可行性分析
可行性分析包括以下 4 方面。
1.经济可行性
经济可行性研究是对项目进行成本效益分析,估算项目开发成本,评估项目经济效益、社会效益和利润,在项目成本和收益间进行合理权衡,并分析项目对其产品或利润的影响。
DBAS的成本主要包括:
(1) 系统软硬件购置费用,如 DBMS、计算机、存储设备、网络设备的购置费用。
(2) 系统开发费用,如人工费用、材料费用、培训费用等。
(3) 系统安装、运行、维护费用等。
2.技术可行性
技术可行性研究是根据用户提出的系统功能、性能及实现系统的各项约束条件,对系统软硬件和技术方案作出评估和选择建议。
技术方案的选择是根据系统技术需求,提出 DBAS可能采用的合理技术方案或关键技术。
3.操作可行性
操作可行性研究是论证是否具备 DBAS开发所需的各类人员资源(项目管理人员、数据库系统分析员、应用编程人员等)、软件资源、硬件资源和工作环境等,以及为支持 DBAS开发如何去改进加强这几方面资源。
4.开发方案选择
开发方案选择的目标是提出并评价实现系统的各种开发方案,从中选出一种适用于 DBAS软件的开发方案。
1.2.3项目规划
一般来说,项目规划包括以下工作内容:
(1)确定项目的目标和范围,根据系统规划与定义的工作内容,具体说明项目的最终产品以及期望的时间、成本和质量目标。
(2)根据 DBAS软件开发模型,分解和定义整个项目包括的工作活动和任务。
(3)估算完成该项目的规模及所需各种资源。
(4)制定合理的 DBAS项目计划,包括进度、成本、质量等方面的预测和控制方案。三级数据库
项目规划的结果应形成数据库应用系统项目计划文档,也就是项目计划书。
1.3需求分析
数据库应用系统需求是指用户对 DBAS在功能、性能、行为、设计约束等方面的期望和要求,也就是希望 DBAS做什么、做到什么程度等具体要求。需求获取是 DBAS系统分析人员的职责。
1.3.1数据需求分析
数据需求分析是从对数据进行组织与存储的角度,从用户视图出发,分析与辨识应用领域所管理的各类数据项(DataItems)和数据结构,形成数据字典的主要内容。
数据字典包括数据项、数据结构、数据流、数据存储和处理过程 5 部分。
数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。
数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。
1.3.2功能需求分析
功能需求分析主要针对 DBAS应具有的功能进行分析,是 DBAS需求分析的核心环节。功能需求
分析总体上可以分成数据处理需求分析与业务规则需求分析。
1.数据处理需求分析
数据处理需求分析从数据访问和处理的角度,明确对各类数据项所需进行的数据访问操作,
分析结果可表示为数据流图(DFD)或 DBAS应支持的各种数据处理事务规范。
数据流图是一种形式化的数据需求分析技术,利用数据项、数据存储、数据加工和数据流等
概念描述对数据的处理。
数据处理需求分析结果也可以表示为事务规范。事务规范包括以下几方面的事务描述信息:
(1)事务名称。
(2)事务描述。指对事务功能、性能、完整性约束等方面的描述。
(3)事务所访问的数据项。
(4)事务用户。指启动该事务执行的事件/用户。
2.业务规则需求分析
业务规则需求分析主要面向系统开发者,分析结果可采用多种方式表述:可以用自然语言来
描述系统业务的规则、流程和算法原理等,也可以 UML进行描述,或者采用某种特定的领域相关的形式化、半形式化描述机制。
1.3.3性能需求分析
功能需求描述了一个系统应当做什么,性能需求则描述了系统应当做到什么程度。DBAS需求分析阶段的另外一项重要工作是分析 DBAS应具有的性能指标,主要包括:
(1)数据操作响应时间,或数据访问响应时间。指用户向数据库系统提交数据操作请求到操作结果返回给用户的时间。
(2)系统吞吐量。指系统在单位时间内可以完成的数据库事务或数据查询的数量。根据事务处理性能委员会(TPC)定义的数据库系统基准程序标准,系统吞吐量可表示为每秒事务数 TPS。
(3)允许并发访问的最大用户数。指在保证单个用户查询响应时间的前提下,系统最多允许多少用户同时访问数据库。
(4)每 TPS代价值(TPS)。用于衡量系统性价比的指标。对商业数据库应用系统,既要有好的系统性能,又要有合理的使用成本。
DBAS的性能指标是系统软、硬件设计开发的重要依据。影响 DBAS性能的主要因素有:
(1)系统硬件资源。如 CPU数量与速度、I/O系统容量与速度、内存大小、内存缓冲区大小等。
(2)网络通信设备性能。_网络带宽、连接速度、数据传输速度等。
(3)操作系统环境。如对并发进程/线程的支持程度、文件子系统和 I/O子系统的性能等。
(4)数据库的逻辑设计和物理设计质量。如关系薮据库中好的关系模式结构、合理的数据荦存取组织和存取路径,数据库配置参数(如数据库存储空间大小)等。
(5)DBMS的配置和性能。如 DBMS采用的寒询优化策略、索引优化策略、数据库管理配置参数(内存配置选项、1/0 配置选项、数据库缓冲区配置选项)。
(6)数据库应用程序自身。如程序中的事务机制、并发控制机制的使用方法、故障恢复机制的使用、数据访问模式、存储过程的使用、程序质量等。
1.3.4其他需求分析
除了需要对数据库应用系统从功能和性能两方面进行需求分析外,还需要考虑 DBAS的其他需求,包括存储需求、安全性需求、备份和恢复需求。
1.存储需求分析
存储需求分析是指估计 DBAS系统需要的数据存储量,如 DB所存储的数据总量。包括:
(1)初始数据库大小,指 DBAS刚投入运行时的数据存储总量。
(2)数据库增长速度,指运行过程中 DB 内数据量的变化情况(增加、减小)。
2.安全性需求分析
安全性需求分析考虑以下几个问题:
(1) DBAS系统应达到的安全控制级别。
(2) 各类用户的数据视图和视图访问权限。
(3) DBAS应有的口令保护机制或其他安全认证机制。用以控制用户登录数据库系统。
3.备份和恢复需求分析
这是从数据库系统可靠性和系统故障恢复角度提出的系统需求,包括:
(1)DBAS运行过程中备份数据库的时间和备份周期。
(2)所需备份的数据是全部数据库数据(包括应用数据、索引、日志等),还是其中的一部分。
(3)备份方式是采用完全备份还是采用差异备份。
1.4系统设计
根据 DBAS生命周期模型,数据库应用系统设计包括概念设计、逻辑设计、物理设计三个步骤。
1.4.1概念设计
数据库应用系统的概念设计包括数据库概念模型设计和系统总体设计。
1.数据库概念模型设计
概念模型设计是依据数据需求分析阶段得到的需求规范说明文档,分析辨识需要组织存储在数据库中的各类应用领域数据对象的特征及其相互间关联关系,并采用概念数据模型表示出来,得到独立于具体DBMS的数据库概念模型。
2.系统总体设计
系统总体设计从系统规划与分析结果(特别是其中的技术可行性分析内容)和系统需求分析内容出发,确定 DBAS软硬件总体框架,作为系统后续设计活动的基础。系统总体设计的内容有:
(1)DBAS 体系结构设计。
(2)DBAS系统硬件平台的选型和配置。
(3)应用软件结构设计。
(4)对需求分析阶段识别出的业务规则进行初步设计,细化业务规则流程,分析所处理的业芩数据和处理方式,明确采用的关键技术和算法等。
(5)对系统采用的关键技术进行方案选型和初步设计。
1.4.2逻辑设计
数据库应用系统的逻辑设计包括以下三方面内容。
1.数据库逻辑结构设计
数据库逻辑结构设计是指从数据库的概念模型出发,设计表示为逻辑模式的数据库逻辑结构。数据库逻辑结构设计的主要内容是在 ER图的基础上设计数据库关系模式。
2.应用程序概要设计
在应用程序概要设计,即应用软件结构设计基础上,将 DBAS中的应用软件模块按照逐步求精、信息隐藏和功能细化原则,进一步划分为子模块,组成应用软件的系统-子系统-模块-子模块层次结构,其中,将直接访问数据库的模块/子模块抽象为数据库事务;确定各模块的功能和输入/输出数据,设计模块使用的数据结构,定义模块交互的接口关系和交互流程。
3.数据库事务概要设计
事务概要设计的任务是根据需求分析阶段识别出的各种 DBAS事务,设计与具体DBMS和实现方法无关的事务数据处理流程,明确事务所访问的各关系表。把事务中对数据库数据的查询、插入、删除、修改操作用与具体DBMS平台无关的两个元操作 read、write抽象表示。
1.4.3物理设计
数据库应用系统的物理设计由以下设计活动组成。
1.数据库物理结构设计
数据库中的数据以文件形式存放在外存物理设备上,数据库物理结构主要指数据文件在外存上的存储结构和存取方法,它依赖于系统具体的硬件环境、操作系统和 DBMS。
数据库物理结构设计包括数据库逻辑模式调整、文件组织与存取设计、数据分布设计、安全模式设计、确定系统配置、物理模式评估等环节。
2.数据库事务详细设计
根据事务概要设计得到的与平台无关的事务流程,利用 SQL语句、数据库访问接口(如 JDBC、ODBC或其他 DBMS的特定 API),采用高级程序设计语言或 DBMS提供的事务实现机制,在具体 DBMS平台和幵发环境下,设计数据库事务。事务详细设计需要将事务概要设计中的 read和 write元操作替换为 DBMS支持的查询、插入、删除、修改等具体数据库访问操作或数据库访问 API调用。
3.应用程序详细设计
根据应用程序概要设计中定义的各模块功能和输入/输出数据需求,结合具体的程序设计环境和机制,设计各模块的内部处理流程和算法、数据结构、对外详细接口等。
1.5实现与部署
DBAS实现与部署包括以下工作内容:
(1) 建立数据库结构。
(2) 数据加载。
(3) 事务和应用程序的编码及测试。
(4) 系统集成、测试与试运行。
(5) 系统部署。
1.6运行管理与维护
数据库运行管理与维护的主要工作内容包括曰常维护、系统监控与分析、系统性能优化调整、系统进化(升级)等工作。这些工作主要由数据库管理员 DBA 负责,有时也需要其他设计及开发人员参与。
以上是关于第1章 数据库应用系统开发方法的主要内容,如果未能解决你的问题,请参考以下文章
《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)