您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 北京邮电大学软件工程研究生的课程---数据库设计开发-51
北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.数据库设计•计算机信息系统以数据库为核心,在数据库管理系统(DBMS)的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。•DBMS提供的功能可以细化为:–数据存储、检索、更新–用户可访问的目录–事务支持–并发控制服务–恢复服务–授权服务–对数据通信的支持北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.数据库设计–完整性服务–数据独立性服务(视图、表空间)–实用工具服务•数据库设计是指对于一个给定的应用环境,提供一个确定最优模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。5.1数据库设计过程5.2实体联系模型5.3关系规范化北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库系统设计是在现成的DBMS上建立数据库应用系统的过程。其特点是:数据量大、保存时间长,数据关联复杂,用户要求多样化。•从系统开发角度来看,数据库系统具有结构特性和行为特性两个方面。–结构特性设计(数据库设计)1)是与数据模型所反映的实体及实体之间的联系的静态模型的设计。2)设计各级数据库模式,决定数据库系统的信息内容。–行为特性设计(数据库应用软件的开发)1)与数据库状态转换有关,是改变实体特性的操作。2)决定数据库系统的功能,是事务处理等应用程序的设计。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•现代数据库设计方法强调数据库的结构设计和行为设计相结合。•数据库应用系统设计中的主要困难和问题–懂计算机、数据库原理和熟悉DBMS,同时又具备企业业务知识和实际经验的人很少。–企业或组织的数据库应用系统的目标和需求缺少明确的规定。–缺乏完善的设计工具、方法和理论。–随应用范围的扩大和深入,用户不断要求修改和增加新的功能。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•对数据库设计人员的要求–计算机科学基础知识和程序设计技术–数据库基本知识和设计技术以及某一种DBMS–软件工程的原理和方法–应用领域的知识•开发方法(多种多样)–快速原型法–直接设计法北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•开发方法–软件工程分步设计法(生命周期法)软件:程序及其开发、使用和维护所需的所有文档的总和。软件工程:是为了组织大型软件生产,克服手工作坊方式软件生产的缺点,而提出的一种科学的软件设计方法。是指导计算机软件开发和维护的工程学科。对于大规模、十分复杂、要求较高的数据库应用系统,应当采用软件工程的方法。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库应用系统的开发是一项系统工程,系统工程是为了合理进行开发、设计和运用系统而采用的思想、步骤、组织和方法的总称。按照系统工程的观点,数据库系统的设计与开发有如下指导方针。–1)系统的目的性:系统开发的成功与否取决于是否符合用户的需要,满足用户的要求是设计与开发工作的出发点和归宿。–2)系统的整体性:对各个环节的信息进行综合和抽象,得出现实世界业务环节的整体逻辑模型和整体物理模型。而不是各个环节信息的简单组合和拼凑。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库系统的设计与开发指导方针–3)系统的相关性:组成系统的各个子系统(模块)各有其独立功能,同时又相互依赖,相互作用,通过信息流把它们的功能联系起来。–4)系统的扩展性和易维护性:要适应外界环境的变化,对数据库的设计要充分考虑留有余地,可扩充。系统要能跟外界进行信息交换,有行业规范或国家标准的尽量采用,对没有标准的可以考虑建立标准;系统要有前瞻性,对可能提出的信息需求和功能需求,系统应留有接口;对可能发生的误操作或故意破坏,尽可能把损失降低到最小程度。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库系统的设计与开发指导方针–5)工作成果文档化,图表规范化:软件是程序和文档资料的集合,文档资料是系统的组成部分。因为系统的扩充、修改、交流是建立在文档资料基础之上,而不应该是拿程序进行交流。在文档资料的标准规范化方面可以参照软件工程规范。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库设计准则–数据库必须正确反映现实世界,能为某个DBMS所接受。–应用系统有良好的性能,有利于实施和维护。–数据库能满足当前和今后相当长时期内的数据需求,使数据库有较长的使用寿命。–当软件和硬件环境发生变化时容易修改和移植。–能满足安全性要求,当系统发生故障时,容易恢复数据库。–数据库存取效率、查询效率要高。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程对需求分析所得到数据的更高层的抽象描述。ER模型ODL数据字典数据流图第0步:规划第1步:需求分析第2步:概念设计必要性可行性分析第3步:逻辑设计确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等。将概念模型映射为某个特定的DBMS模式数据。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程对已经确定的逻辑结构选择适当的物理结构,包括存储结构、存取路径、存储分配等。数据库的装入数据库的试运行数据库的运行维护第4步:物理设计第6步:数据库实施与维护第5步:应用程序开发数据库应用程序的设计、编码、调试、运行北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1数据库设计过程•数据库设计过程是有一个起点和几乎无止镜的逐步求精的反复过程,尽管前面我们把数据库设计过程表述为一个程序化的过程,但需强调:数据库设计过程并不一定非要以这种程序化方式进行,各个阶段之间的区分也并不是非常严格。•本讲义给出的数据库设计过程可以作为引导你进行有效的数据库设计的框架。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.1规划•在数据库设计的规划阶段主要进行建立数据库系统的必要性及可行性分析。•规划阶段必须完成下列任务:确定系统的范围,任务陈述定义数据库应用程序的主要目标,每个任务标识数据库必须支持的特定任务,确定开发工作所需的资源,估计开发成本,确定项目进度。•系统规划纲要内容包括:–1)系统目标与范围的描述:•确定系统长期目标和近期目标;•定义数据库应用程序的范围和边界(包括主要的用户视图,用户视图定义了根据要存储的数据和在数据上要执行的事务,也即用户要怎样使用数据,不仅考虑当前用户视图,而且也要考虑未来的用户视图);北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.1规划•确定系统与外部环境的信息联系和接口;•系统的主要功能和结构。–2)系统运行环境描述:•管理思想及管理方法的设想(新的数据库系统的运行可能是传统业务的彻底革新,新的思想、新的机制应当是完备而可行的,并且是高效而经济的);•说明系统运行的基本要求及条件(如何收集数据、如何指定格式、需要什么样的文档资料);•信息范围、信息标准(良好的信息标准为衡量系统质量和训练职工提供基础)、信息来源、人力资源、设备资源。–3)确定计算机系统选型要求:包括主机及外部设备配置要求、性能指标、网络系统配置、系统软件配置要求。–4)系统开发进度计划(初步)。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.1规划•可行性分析应从经济方面、技术方面、系统运行方面(管理体制、人员的适应性及法律法规)进行分析和评价。可行性研究报告的内容包括:–1)原来系统概况。包括企业目标、规模、组织结构、人员、设备、效益等。–2)原来系统存在的主要问题和主要信息要求。–3)待开发系统的总体方案(如前所述)。–4)经济可行性分析包括系统的投资、运行费用、经济效益及社会效益。–5)技术可行性分析主要包括对技术的评估。–6)系统可行性分析分析系统运行对管理思想、管理体制和变革的要求,系统运行和有关法律法规的相互作用。–7)结论。对可行性研究的简要总结。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析•需求分析是数据库设计成败的关键,没有对系统充分的需求分析,数据库设计很难取得成功。需求分析阶段应该对系统的整个应用情况作全面、详细的调查,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的文档。•设计人员还应该了解系统将来要发生的变化,收集未来应用所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计符合未来发展的趋向,以减少系统维护的代价。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析•实际上,系统的需求包括着多个层次,不同层次的需求从不同角度与不同程度反映着细节问题。没有一个清晰、毫无二义的‘需求’存在,真正的‘需求’实际上在人们的脑海中。任何文档形式的需求仅仅是一个模型,一种叙述。•需求分析文档要尽可能地从不同层次角度去描述(有可能冗余),要注意描述的名词对用户、分析者、设计者在理解上务必达成共识。•在此阶段,从多方面对整个组织进行调查,收集和分析各个应用主要集中在对信息和处理两方面的需求。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析•信息需求是指用户要从数据库获得的信息内容和用户产生的信息内容,处理需求是指完成什么处理功能及处理方式,处理需求即事务需求,信息需求和处理需求组成用户视图。另外还有安全性和完整性要求。对收集到的数据进行抽象,抽取共同的本质特性,并用各种概念精确地加以描述。•需求分析阶段的方法:–检查文档资料:收集检查与目前系统相关的文档资料、表格、报告、文件–面谈:找出事实、确认事实、澄清事实–观察业务处理:跟班作业北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析–研究:从计算机行业杂志、参考书和Internet上获取其他人解决问题的信息,也可能直接得到相关问题的解决方案或软件包。–问卷调查:调查建议和意见,诸如:“当前使用什么报表,是否存在问题”等等。•需求分析阶段的工作分为六个步骤:–分析用户活动,产生业务流程图–确定系统范围,产生系统范围图–分析用户活动所涉及的数据,产生数据流图–分析系统数据,产生数据字典–功能分析–功能数据分析北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析–分析用户活动,产生业务流程图了解用户当前的业务活动和职能,理清其处理流程。把用户业务分成若干个子处理过程,使每个处理功能明确、界面清楚,画出用户活动图(业务流程图)。–确定系统范围,产生系统范围图在和用户经过充分讨论的基础上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。–分析用户活动所涉及的数据,产生数据流图深入分析用户的业务处理,以数据流图(DataFlowDiagram,DFD)形式表示出数据的流向和对数据所进行的加工。DFD有四个基本成分:数据流、加工或处理、文件、外部实体。DFD可以形象地表示数据流与各业务活动的关系,它是需求分析的工具和分析结果的描述手段。北京邮电大学软件学院郭文明2003.06《数据库设计与开发》讲义5.1.2需求分析–分析系统数据,产生数据字典仅仅有DFD并不能构成需求说明书,DFD只表示出系统有哪几部分组成和各个部分之间的关系,并没有说明各个成分的含义。数据字典提供对数据库时间描述的集中管理,它的功能是存储和检索各种数据描述(元数据Metadata),数据字典是数据收
本文标题:北京邮电大学软件工程研究生的课程---数据库设计开发-51
链接地址:https://www.777doc.com/doc-145262 .html