数据库应用系统开发过程_第1页
数据库应用系统开发过程_第2页
数据库应用系统开发过程_第3页
数据库应用系统开发过程_第4页
数据库应用系统开发过程_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 MIS系统设计与实践 第1讲 数据库应用系统开发过程,数据库工程概述 项目视图与范围 需求分析和需求定义 数据库设计 软件体系结构设计 详细设计和编码实现 测试 发布和实施 快速原型技术的应用,1,PPT学习交流,6.1 数据库工程概述,数据库应用系统的开发是一项复杂的软件工程,但又有其自身的一些特点,因此,特称为“数据库工程”。 数据库工程按其内容可分为两个部分 数据库的设计实现。数据库的设计实现是开发数据库应用系统的核心工作 应用程序的设计实现。应用程序设计实现本身也是一项软件工程,但与数据库的设计实现紧密相关。 数据库应用系统从开始规划、分析、设计、实现、测试、运行、维护到系统退

2、役的整个过程称为数据库应用系统的生存期,2,PPT学习交流,6.1 数据库工程概述,数据库工程主要包括以下步骤或开发阶段: 规划阶段,建立项目视图与范围 需求分析和需求定义 数据库概念结构设计 数据库逻辑结构设计 在DBMS中实施数据库逻辑结构和物理结构设计 应用程序的概要设计 应用程序的详细设计和编码实现 数据库、应用程序和系统集成测试 设计数据库的索引等物理结构 制作应用程序安装程序 规划整个数据库应用系统在用户环境中的实施方案 制订数据库应用系统的常规维护活动计划,3,PPT学习交流,6.2 项目视图与范围6.2.1 项目视图和范围的概念和用途,项目视图可以把项目参与者(开发者和用户双方

3、)定位到一个共同和明确的目标上,项目视图描述了软件产品所涉及到的和在一个理想环境中最终所应具有的功能。 项目范围描述软件产品应包括的功能和不包括在内的功能,范围描述在应包括和不包括在内的功能之间划清了界限,同时确定项目的局限性。 项目的业务需求分析是在项目视图和范围描述的基础上进行的,因此,一定要在业务需求分析之前完成项目视图和范围的蓝图。如果不能清楚地标识项目的视图和范围,业务需求可能会无边无际,最终导致无法完成整个软件系统。,4,PPT学习交流,6.2.2 项目视图和范围的规格说明模板,1 业务需求 1.1 背景 1.2 业务机遇 1.3 业务目标 1.4 客户或市场需求 1.5 提供给客

4、户的价值 1.6 业务风险 2 项目视图的解决方案 2.1 项目视图的陈述 2.2 主要特性 2.3 假设和环境依赖,3 范围和局限性 3.1 首次发行的范围 3.2 随后发行的范围 3.3 局限性和专用性 4 业务环境 4.1 客户概貌 4.2 项目优先级 5 产品成功的因素,5,PPT学习交流,6.2.3 有关项目视图和范围的一些建议,如果在项目视图与范围规格说明中还不能澄清软件的开发范围以及系统和外部的界限,建议使用关联图进一步描述系统和外部的关系。 项目视图和范围文档可以帮助开发者和用户代表判断所提出的特性和需求放进项目中是否合适。 如果建议在项目范围之外,应重新协商项目费用、项目计划

5、,并考虑相关的资源与技术等是否能够实现新的需求,在需求变更得到双方赞同后才能重新开始。 如果建议在项目范围之内,应分析该建议相关的需求在项目中的优先级别,根据分析结果更改项目优先级安排和项目开发计划。 应该牢记,项目开发过程中应始终把注意力集中在项目视图和范围的规格定义上,需求变更时应标识出项目视图和范围的变更。,6,PPT学习交流,6.3 需求分析和需求定义,需求分析规格说明是项目开发过程中后续工作的参考基础,数据库设计、系统结构设计、编码实现、测试和产品交付时都需要以需求分析规格说明为参考依据。需求规格说明也是需求变更的重要依据。 需求分析越清楚,设计和维护工作就越轻松,在未澄清关键需求之

6、前请不要急于系统结构设计、界面设计和编码实现。 推荐的需求分析过程 需求准备 从轮廓到细节逐步获取用户需求 需求整理和分析,确定关键需求 编写需求分析规格说明书 对需求进行验证核实 划分出明确的需求和模糊的需求,7,PPT学习交流,6.3.1 需求准备,了解项目或系统所涉及到的领域知识 编写简要的项目术语参考手册 确定需求分析过程,明确需求目标 将用户群分类并归纳各自特点 确定每类用户的代表 确定需求决策者 编写项目视图和范围的文档,8,PPT学习交流,6.3.2 从轮廓到细节逐步获取用户需求,从各用户代表处获取业务实例。业务实例有助于详细了解业务的细节和用户的真正需求 召开需求讨论会议。这是

7、获取需求的一种方法,在需求获取过程中可能需要多次需求讨论会议,以便不断了解用户需求 分析业务的工作流程。最好用示意图的方式表示出来。编制业务的工作流程有助于明确系统的使用实例和功能需求 确定质量特性和其他非功能的需求 综合用户需求,进一步完善需求分析,9,PPT学习交流,6.3.3 需求整理和分析,绘制系统关联图,定义系统与外部实体之间的界限和接口,明确两者间的信息流和物质流。 创建用户界面原型。当开发人员或用户不能明确需求时,最好的办法是开发一个用户界面原型。 分析需求的可行性。 建立需求的表示模型。使用图表分析模型来表示需求是比较好的方法,也是对文字描述最好的补充说明。 创建数据字典,定义

8、系统中系统的所有数据项和数据结构。 明确用户功能需求的等级:期望需求、普通需求和兴奋需求,有助于建立开发优先级和需求的重要等级。,10,PPT学习交流,6.3.4 编写需求分析规格说明书,使用标准模板编写需求分析规格说明书。 指明各需求项的来源。 标识需求定义,为各项需求标注上唯一的标号 记录业务规范。业务规范是指产品的操作原则或操作要求。 创建需求跟踪表。需求跟踪表是为了将各项需求与实现、测试它的设计和代码部分联系起来,这样有助于需求变更时能够同时标识并修改相应的内容,获得一致的版本。,11,PPT学习交流,6.3.5 需求验证,审查需求规格说明文档 以需求为依据编写功能测试用例 编写用户手

9、册 确定产品或项目的验收标准,12,PPT学习交流,6.3.6 软件需求规格说明模板,1 引言 1.1 目的 1.2 文档约定 1.3 预期的读者和阅读建议 1.4 产品范围 1.5 参考文献 2 综合描述 2.1 产品的前景 2.2 产品的功能 2.3 用户类及其特征 2.4 运行环境 2.5 设计和实现上的限制 2.6 假设和依赖 3 外部接口需求 3.1 用户界面 3.2 硬件接口 3.3 软件接口,3.4 通信接口 4 系统特性 4.1 说明和优先级 4.2 激励/响应序列 4.3 功能需求 5 其他非功能需求 5.1 性能需求 5.2 安全设施需求 5.3 安全性需求 5.4 软件质

10、量属性 5.5 业务规则 5.6 用户文档 6 其他需求 附录A:词汇表 附录B:分析模型 附录C:待确定问题的列表,13,PPT学习交流,6.4 数据库设计,数据库设计是数据库应用系统开发的核心任务。 数据库设计的好坏直接影响整个系统的质量,比较极端的说法是,只要设计的数据库能够很好地完成业务的数据管理和操作需求,那么就已经保证整个数据库应用系统的质量。 如果数据库设计得有问题,则无论客户端应用程序开发技术多么高明,花费再多的成本也无法构建出一个好的数据库应用系统来。 应反复斟酌和验证数据库结构,确保数据库设计能够满足业务的数据管理需求才能进行后一阶段的开发工作。,14,PPT学习交流,6.

11、4.1 数据库设计过程和设计基础,数据库设计过程主要包括以下步骤: 概念结构设计。概念结构设计一定要抛开平台约束,将注意力集中在业务数据的表示上。 逻辑结构设计。 针对具体的DBMS,实现数据库逻辑结构设计。应充分利用DBMS提供的实现功能,尽量减少编码实现数据库完整性约束的工作量。 物理结构设计和实现。应充分理解DBMS的存储和索引技术再决定如何存储数据,如何设计索引等。 装载数据,测试数据库的运行状况。压力测试和性能测试等 要想设计出性能优秀的数据库,必须掌握数据库设计的基本原理知识和DBMS的应用技能,15,PPT学习交流,6.4.2 数据库设计规格说明模板,1 引言 1.1 编写目的

12、1.2 设计背景 1.3 定义 1.4 参考资料 2 外部设计 2.1 标识符和状态 2.2 使用它的程序 2.3 约定, 专门指导 2.4 支持软件,3 结构设计 3.1 概念结构设计 3.2 逻辑结构设计 3.3 物理结构设计 4 运用设计 4.1 数据字典设计 4.2 安全保密设计,16,PPT学习交流,6.4.3 数据库设计的一些建议,概念结构设计的重要性 不要因问题简单而忽视概念结构设计,除非你的理解力和记忆力足够好。没有概念结构设计,无法直接跟踪和验证设计是否满足业务需求。 概念结构设计的好坏直接影响逻辑结构设计的工作量。 某些数据库概念结构设计CASE工具不能反映真正的业务对象,

13、不能过份迷信CASE工具 设计概念模型最重要的是勾画出数据对象间的关系 未完整验证概念模型之前,不要急于开始下一步 标识业务规则 业务规则是保证数据完整性的约束,是逻辑结构设计、完整性约束实现和事务实现的重要参考 业务规则应该是涉及到数据完整性问题的功能需求,17,PPT学习交流,6.4.3 数据库设计的一些建议,数据库逻辑结构设计 设计出与DBMS平台无关的数据库逻辑结构是最佳的设计,这将有助于数据库的移植。 数据库的关系模式最低要求应满足3NF,而且应尽量减少关系和字段的冗余,这是设计数据库的基本准则。但在实际数据库工程中,还应考虑客户端应用程序开发的问题,并非规划化程度越高的数据库就一定

14、是高质量的数据库。 某些属性具有随时间变化的特征,称为时间关联属性。在设计数据库逻辑结构时应充分考虑属性与“时间”的关系,应考虑属性的动态特性 聚集属性是否需要作持久数据存储 验证逻辑结构是否满足业务数据管理的需求,18,PPT学习交流,6.4.3 数据库设计的一些建议,参考数据表 在设计数据库逻辑结构时,某些数据对象具有相似的逻辑结构,并且这些数据对象的用途也相似,例如职务类别、学历类别、政治面貌类别等数据对象。这些数据对象通常用来作为其它数据对象的分类属性,分析概念模型时通常是某一个实体的一个属性。 为了便于管理维护这些参考数据,同时也为了减少数据库中表的大小,在设计数据库的逻辑结构时,可

15、将数据库中存在的各种参考数据都单独设计为一个表。所有参考数据表都由两个字段构成:编号和名称。 使用参考数据编号字段来替换数据库中所有表的参考数据字段,这样表之间就建立起了参照关系(主码外码的关系)。应将这类参照关系设置为禁止级联删除、级联修改,或在代码中保证这样的参照关系。,19,PPT学习交流,6.4.3 数据库设计的一些建议,数据完整性 业务规则在数据库中通过实施数据完整性来实现。 数据完整性的层次分为字段级、表级和数据库级三种,按照实现方式相应地可称为域约束、表约束和断言实现。 字段级数据完整性指一条数据记录(或实体)中,字段的取值、不同字段值之间应满足的约束条件 表级数据完整性指表(或

16、关系)中某些字段的取值约束,通常指候选码和外码约束。候选码约束实现时采用主码和唯一约束来实现 断言实现数据库级的约束,通常这类约束不能使用上述约束实现机制完成,有可能很复杂,也有可能很简单 设计实现数据库完整性时,应根据业务规则列表建立完整性约束标识列表,在列表中清楚地描述完整性约束表达式或规则,标识出实现约束的方式,20,PPT学习交流,6.4.3 数据库设计的一些建议,视图、存储过程和事务 数据库应用系统的业务需求规格说明中部分业务功能是用户查询和操作数据库的数据,对于这类业务功能,应在数据库中设计相应的视图或存储过程来实现。返回数据集的存储过程也可以当做视图来使用。存储过程能够实现相当复

17、杂的数据操作功能,尤其是事务类型的业务功能。 即使所采用的DBMS未提供视图或存储过程机制,在设计数据库时也应标识出用户视图和事务(也可以在业务规则中标识事务),这将有助于数据库应用程序的开发。从极端角度来看,数据库应用程序是数据库的子模式,应用程序是用户视图的表现。,21,PPT学习交流,6.4.3 数据库设计的一些建议,数据库测试。验证设计的数据库是否满足业务数据管理和操作的需求 数据库逻辑结构是否能够满足数据存储和管理的需求 测试数据库的性能是否能够满足预期的目标,压力测试和极限模拟应用测试等都是用来测试数据库性能的技术 命名问题 随意命名 重复命名 汉语拼音或拼音缩写 使用数据库应用系

18、统支持软件的关键字或保留字命名 不区分大小,22,PPT学习交流,6.5 软件体系结构设计 6.5.1 设计问题,数据库的表与应用程序功能模块有一定对应关系。对独立的表或表集的数据管理通常由一个个独立的功能模块实现。 应对这些统计需求进行分类,不同类的统计功能需求由不同的功能模块实现 最好为操作需求差异很大的用户类提供不同的应用程序。将各用户类应用程序中功能相近或完全相同的功能模块设计为公用模块 数据库应用程序都涉及数据库连接、用户登录等操作,这些操作都应当由独立的功能模块实现 软件体系结构设计最好在数据库逻辑结构设计结束后开始,这样能够根据数据关系优化体系结构,23,PPT学习交流,6.5.2 软件体系结构设计规格说明模板,1 引言 1.1 编写目的 1.2 设计背景 1.3 定义 1.4 参考资料 2 总体设计 2.1 需求规定 2.2 运行环境 2.3 结构 2.4 功能需求与程序的关系 2.5 人工处理过程 2.6 尚未解决的问题 3 接口设计 3.1 用户接口,3.2 外部接口 3.3 内部接口 4 运行设计 4.1 运行模块组合 4.2 运行控制 4.3 运行时间 5 系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论