数据库应用程序的生命周期.ppt
1,Chapter 1,数据库应用程序生命周期,2,1.1 软件危机,过去的几十年,软件开发数量惊人增长,这些软件大都需要长时期不断的维护:修改错误,实现新的用户需求,修改软件使之运行于新的或升级的平台上.,3,软件危机(2),花费在软件维护上的精力开始以惊人的速率吸收资源.其结果是,许多主要的软件项目延期,超过预算,软件不可靠,难于维护,性能差.,4,软件萧条,20世纪60年代末,出现software crisis,现在称为software depression.软件项目失败的主要原因包括:-缺乏完整明确的需求说明;-缺乏合适的开发方法;-设计分解为易管理的组件时的错误.,5,1.2 信息系统生命周期,提出软件开发的结构化方法,通常被称为信息系统(information systems,IS)生命周期或者是软件开发生命周期(software development lifecycle,SDLC).,6,信息系统,收集、管理、控制和分发整个组织的数据或信息的系统.数据库是信息系统的核心组件,数据库系统开发生命周期与信息系统生命周期存在内在的必然关系.,7,1.3 数据库系统开发生命周期各阶段,数据库规划系统定义需求的收集与分析数据库设计选择DBMS(可选),8,数据库系统开发生命周期各阶段(2),应用程序设计构建原型(可选)实现数据转换与加载测试操作性维护,9,数据库系统开发生命周期各阶段(3),10,1.4 数据库规划,尽可能有效地实现数据库应用的各阶段的管理活动应该集成于企业的全局IS策略中.,11,数据库规划 任务陈述,任务陈述 定义数据库系统的主要目标.任务陈述帮助澄清数据库项目的目的,为有效高效创建数据库系统提供更清晰的路径.,12,数据库规划 任务目标,定义任务陈述之后,定义任务目标.每个任务目标标识了数据库必须支持的特定任务.必须包括工作量的估计、使用的资源和需要的经费,13,eg StayHome案例研究,案例研究描述一个名为StayHome的公司,该公司出租录像给其成员.首家分公司成立于1982年,地点在西雅图,公司现在日益壮大,连锁店遍布全美.,14,StayHome员工登记表,15,员工列表第一页,16,录像清单第一页,17,StayHome 会员注册表,18,会员清单列表第一页,19,StayHome录像出租表,20,StayHome数据库系统任务陈述,21,StayHome数据库系统任务目标,22,1.5 系统定义,定义数据库系统的范围和边界,以及主要的用户视图.系统的范围和边界,描述数据库系统和企业信息系统的其他部分的接口.,23,StayHome数据库系统边界,24,系统定义,用户视图 从如下角度,定义的数据库应用的需求:特定工作角色(例如经理或助理)或 业务应用领域(例如录像出租或库存控制).数据库系统可以有一个或多个用户视图.,25,系统定义,当确定开发需求时,标明用户视图,说明数据库的主要用户都已经考虑到了.在开发相对复杂的数据库系统时,用户视图有助于将需求分解为易管理的小片段.,26,多用户视图的数据库系统,27,StayHome数据库系统用户视图,28,1.6 需求的收集与分析,收集和分析数据库所支持的组织的信息,并使用这些信息来标识数据库应用的需求,29,需求的收集与分析(2),为每个主要的用户视图收集信息:对使用或产生的数据的描述;如何使用和产生数据的详细情况;数据库系统的所有附加需求.收集更多的用户视图相关的数据的同时,也应该努力收集系统的一般需求,目的是产生系统的需求说明。系统需求说明描述了在新的数据库系统中所要包含的各种特性,如网络需求、共享访问需求、性能需求、安全级别需求.,30,需求的收集与分析(3),下一个步骤是确定怎样管理多用户视图的数据库系统.三种主要的方法:集中式方法;视图集成方法;以上两种方法的结合.,31,需求的收集与分析(4),集中式方法 对于数据库系统来说,需要将每个用户视图合并到一个需求列表中。在数据库设计阶段创建表示所有用户视图的数据模型.,32,管理多用户视图的集中式方法,33,需求的收集与分析(5),视图集成方法每个用户视图的需求都被用来构建该用户视图的独立的数据模型,最终的数据模型是在数据库设计的后续步骤中通过合并得到的将每个用户视图的需求列出独立的需求表,创建代表每个用户视图的数据模型.,34,需求的收集与分析(6),表示一个或多个但是并非全部用户视图的数据模型称为局部逻辑数据模型.局部逻辑数据模型合并产生全局数据模型,表达组织中所有的用户视图.,35,处理多用户视图的视图集成方法,36,1.7 数据库设计,创建支持任务陈述和任务目标的数据库系统的设计的过程.数据库设计的两个主要阶段:逻辑数据库设计物理数据库设计,37,数据库设计(2),逻辑数据库设计阶段,要标识数据库中要描述的重要对象以及这些对象之间的关系.在物理数据库设计阶段,要确定逻辑设计如何在目标DBMS中物理地实现.,38,1.8 选择DBMS,选择合适的DBMS来支持数据库系统.如果已经获得足够的关于系统需求的信息,就可以在先于逻辑设计之前的任何时间做出选择.,39,1.9 应用程序设计,对用户界面的设计以及对使用并处理数据库的应用程序的设计的过程.数据库和应用程序设计是并行的活动.,40,应用程序设计 事务设计(1),事务:由一个用户或应用程序执行的一个动作或一系列动作,它可以访问或改变数据库的内容.事务具有四大特性:ACID事务设计:定义数据库系统需要的事务操作.,41,应用程序设计 事务设计(2),事务设计的重要特性:事务使用的数据;事务的功能特性(事务要做什么);事务的输出;对用户的重要性;使用的预期率.三种主要类型的事务:检索事务更新事务混合事务,42,应用程序设计-界面设计(表格/报告设计概要),43,1.10 构建原型,构建数据库系统的工作模型.目的标识系统工作良好,还是不充分;提出改善建议或提出新的特征;阐明用户需求。,44,构建原型(2),两种原型构建策略:需求原型法 使用一个原型来确定提出的数据库系统的需求,然后抛弃之.演化原型法 用于相同目的,原型不丢弃,而是得到进一步的开发,成为工作数据库系统.,45,1.11 实现,数据库和应用程序设计的物理实现.使用DDL来创建数据库模式和空数据库文件.使用DDL来创建用户视图.使用3GL或4GL来创建应用程序,包括数据库事务.实现安全性和完整性控制,46,1.12 数据转换与装载,将现有的数据转换到新数据库中,并转换现有的应用程序在新数据库上运行.只有在新数据库系统替换旧系统时,该阶段才是必需的.DBMS普遍提供将已有文件加载到新的数据库中的工具.,47,1.13 测试,以寻找错误为目的而执行应用程序的过程.通过精心制定的测试计划和真实数据来实现的.测试不能证明没有错误,只能用来说明错误的存在.可以说明数据库和应用程序是按照所声明的需求来工作的.,48,1.14 操作性维护,监视和维护数据库系统安装后的情况:监视系统的性能.如果性能下降,可能需要调优或重组数据库.维护和升级数据库(当需要时),将新需求合并到数据库系统中.,49,任务一,提交文档一:学号+姓名+版本号命名:20090303 张三 v1.0 20090303 张三 v1.1 20090303 张三 v1.x格式参见“数据库课程设计报告 格式”题目、开发平台(语言、数据库等)数据库规划系统定义,