您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 第8章 数据库系统的概要设计
第8章数据库系统的概要设计教材:数据库技术及应用2006年4月宁可、吴菁、胡海编著本章要点•系统概要设计概述•数据库的概念设计•模块化设计•概要设计的图形工具•系统概要设计说明•运用Powerdesigner工具建立概念数据模型目录8.1系统概要设计概述8.1.1软件系统的概要设计8.1.2数据库系统的概要设计8.2数据库的概念设计8.2.1数据库概念设计的步骤8.2.2实体-联系图8.2.3数据抽象、局部视图的设计8.2.4视图的集成8.3模块化设计8.3.1模块化设计的基本原则8.3.2内聚与耦合8.3.3模块分解时应遵循的准则8.4概要设计的图形工具8.4.1层次图8.4.2IPO图目录8.5系统概要设计说明8.6运用Powerdesigner建立概念数据模型8.7应用实例小结8.1系统概要设计概述经过需求分析阶段以后,已经知道系统必须“做什么”了,但还不知道系统该“怎么做”。概要设计的基本目的是要回答“概括地说,系统应该如何做?”这个问题。因此,有时也称概要设计为初步设计或总体设计。8.1.1软件系统的概要设计软件系统的生命周期可分为制定计划、需求分析、设计、程序编制、测试以及运行维护等阶段。在软件系统的开发过程中,经过制定计划、需求分析阶段后,软件开发的下一阶段就是进行系统设计。系统设计阶段通常可以划分为两个子阶段:概要设计和详细设计。概要设计的主要任务是回答“系统总体上应该如何做?”,即将分析模型映射为具体的软件系统结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系。详细设计则将概要设计的结果具体化,即为每个模块设计实现的细节。为了完成系统设计的任务,系统设计人员通常根据分析阶段采用的分析方法的不同,采用不同的设计方法。如针对分析阶段系统分析人员采用的分析方法的不同(如面向数据建模、面向功能建模或面向对象建模等方法),系统设计的方法也不同(相应的有面向数据的设计,面向功能的设计和面向对象的设计等)。1.结构化设计方法的设计步骤:(1)数据设计,数据设计的任务是从分析阶段得到的数据流图和数据字典出发,设计出相应的数据结构。(2)软件结构设计,软件结构设计的任务是定义系统的主要结构元素之间的关系,通常是从数据流图出发,对数据流图进行分析,得出软件的层次化模块结构图。(3)接口设计,软件结构设计的任务是描述系统内部、系统与系统之间以及系统与用户之间如何进行通信,接口包含数据流和控制流信息。(4)过程设计,过程设计是从分析阶段得到的过程规格说明出发,得出系统中各个功能的过程化描述。2.面向对象设计方法的设计步骤:(1)对象设计,把所有的对象都归为各种类,每个类都定义了一组数据和方法。数据用于表示对象的静态属性,即描述对象的状态信息;方法是对象所能执行的操作,也就是类中所能提供的服务。(2)子系统设计,子系统设计是根据实际系统的需要,按照子类(也称为派生类)和父类(也称为基类)的关系,可以把若干个类组成一个层次结构的系统。(3)消息设计,消息设计是描述对象之间如何通过传递消息进行通信,。(4)方法设计,从系统的功能模型和行为模型出发,得出各个类的方法及其实现细节。8.1.2数据库系统的概要设计对于基于结构化的数据库系统开发方法而言,数据库系统在完成需求分析之后应进入数据库系统的概要设计阶段,此阶段不仅需要进行数据库概念结构设计(也可简称数据库概念设计)工作,即数据库结构特性设计;而且还需要确定数据库系统的软件系统结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系,即进行数据库行为特性的设计过程。数据库概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程。只有将系统应用需求抽象为信息世界的结构,也就是概念结构后,才能转化为机器世界中的数据模型,并用DBMS实现这些需求。1.数据库概念结构的特点概念结构是独立于数据库逻辑结构和具体DBMS所支持的数据库,其主要特点是:(1)概念模型是对现实世界的一个抽象描述。概念模型应能真实、充分地反映现实世界,能满足用户对数据的处理要求。(2)概念模型应当易于理解。概念模型只有被用户理解后,才可以与设计者交换意见,参与数据库的设计。(3)概念模型应当易于更改。由于现实世界(应用环境和应用要求)会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。(4)概念模型应易于向数据模型转换概念模型最终要转换为数据模型。设计概念模型时应当注意,使其有利于向特定的数据模型转换。2.数据库概念结构设计的方法概念模型是数据模型的前身,它比数据模型更独立于机器、更抽象,也更加稳定。概念设计的方法有以下4种:(1)自顶向下的设计方法。该方法首先定义全局概念结构的框架,然后逐步细化为完整的全局概念结构。(2)自底向上的设计方法。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构的设计方法。(3)逐步扩张的设计方法。此方法首先定义最重要的核心概念结构,然后向外扩充,生成其他概念结构,直至完成总体概念结构。(4)自顶向下与自底向上相结合的方法。最常采用的策略是自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,其方法如图8-1所示。其中,概念模式对应于概念模型。概念模式概念模式概念模式概念模式概念模式1概念模式n全局概念模式需求需求1需求2需求1.1需求1.2需求2.1需求2.2。。。。。。。。。。需求分析概念结构设计图8-1自顶向下的分析需求与自底向上设计概念结构8.2数据库的概念设计结构化系统分析和设计方法学强调系统的功能方面,其本质是抽象和功能分解,如前面章节介绍的数据流图就是一种面向功能的建模方法,自20世纪70年代中期以来,数据库管理系统尤其是关系数据库技术的应用,使软件系统的开发重心开始向系统的数据部分转移,而面向数据的建模方法使用实体-联系图(EntityRelationshipDiagram,也称实体-关系图,简称E-R图)等图形工具来对客观世界进行抽象表示,有时也称为实体-关系建模方法。在一个数据库应用系统的设计中,面向功能的建模方法和面向数据的建模方法应相互参照,才能使系统结构特性和行为特性有效地结合起来,达到系统设计的目标。8.2.1数据库概念设计的步骤E-R模型工具主要用于描述数据的概念结构。最常用的策略是自底向上的方法,即自顶向下的需求分析,然后再自底向上的设计概念结构。采取该概念结构的设计步骤按照图8-2所示的自顶向下分析需求与自底向上设计概念结构方法。数据流图数据字典分E-R图总E-R图数据抽象、局部视图的设计视图集成满意需求分析逻辑结构设计NoYes图8-2概念结构的设计步骤8.2.2实体-联系图概念结构设计的结果是数据库的概念模型,它用E-R图进行描述。E-R图由三个相互关联的部分构成:实体(即数据实体或数据对象)、实体之间的联系以及实体和联系的属性。如图8-3所示,“学生”和“课程”两个实体之间存在多对多的联系.mn选修课程学生图8-3多对多联系8.2.3数据抽象、局部视图的设计概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。因此,用自底向上的方法设计概念结构,首先要根据需求分析的结果(数据流图、数据字典)等对现实世界的数据进行抽象,设计各个局部视图即分E-R图。设计分E-R图的步骤是:1.选择局部应用2.设计分E-R图演示8.2.4视图的集成视图集成就是把设计好的各子系统的分E-R图综合成一个系统的总E-R图。视图的集成可以有两种方法:一种方法是多个分E-R图一次集成,如图8-8所示;另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图8-9所示。图8-8多个分E-R图一次集成图8-9多个分E-R图逐步集成演示8.3模块化设计把大型软件按照规定的原则划分为一个个较小的、相对独立但又相关的模块的设计方法,叫做模块化设计。模块是数据说明和可执行语句等程序对象的集合,每个模块单独命名并且可以通过名字对模块进行访问。例如,过程、函数、子程序、宏等都可作为模块。模块化就是把程序划分成若干个模块,每个模块完成一个子功能,并把这些模块集合起来组成一个整体,以完成指定的功能来满足问题的要求。8.3.1模块化设计的基本原则实现模块化设计的重要指导思想是分解、信息隐藏和模块独立性。1.分解分解是指将一个待开发的软件分解成若干个小的简单部分——模块,每个模块可独立地开发、测试,最后组装成完整的程序。2.信息隐藏信息隐藏是指将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。3.模块独立性模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。模块独立就是希望每个模块都是高内聚、低耦合的。8.3.2内聚与耦合内聚是对模块内部各成分之间关联程度的度量。耦合是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其他模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其他模块之间存在弱耦合。模块划分的原则是强内聚、弱耦合。内聚按强度从低到高有以下几种类型:•偶然内聚•逻辑内聚•时间内聚•过程内聚•通信内聚•顺序内聚•功能内聚耦合按从强到弱的顺序可分为以下几种类型:•内容耦合•公共耦合•控制耦合•数据耦合耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上应采取以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合。如果模块间若存在多种耦合方式,它们的耦合类型以耦合最紧的类别确定。8.3.3模块分解时应遵循的准则在软件分解过程中,须遵循以下原则:(1)满足信息隐蔽原则。(2)尽量使得模块的内聚度高,模块间的耦合度低。(3)模块的规模适中(通常一个模块以50~100个语句行为宜)(4)模块的调用深度不宜过大。(5)模块的扇人应尽量大,扇出不宜过大。(6)设计单入口和单出口的模块。(7)模块的作用域应在控制域之内。(8)模块的功能应是可以预测的。8.4概要设计的图形工具一般地,程序中的一个模块完成一个适当的子功能。在设计软件结构(即由模块组成的层次系统)时,应该把模块组织成良好的层次系统,即顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块则完成最具体的功能。软件结构可以用层次图或结构图来描绘。8.4.1层次图层次图是在概要设计(也称总体设计)阶段最常使用的图形工具之一,它常用于描绘软件的层次结构。层次图中的每个方框代表一个模块,方框间的连线表示模块间的调用关系。如图8-19所示是层次图的一个例子。图8-19成绩管理系统层次图成绩管理系统查询打印报表查询课程成批成绩单录入查询学生成绩个别成绩单录入打印班级成绩打印成绩统计表录入成绩8.4.2IPO图IPO图(inputprocessoutput图)输入—处理—输出图是在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具。在总体设计、详细设计、设计、评审、测试和维护的不同阶段,都可以使用IPO图对设计进行描述。如下图所示的IPO图:模块名称:模块编号:设计人:直接调用本模块的上级模块名称:本模块直接调用的模块名称:输入:输出:与本模块相直接关联的数据结构(数据库、数据文卷):处理描述:8.5系统概要设计说明系统概要设计说明书的主要内容,如下所示:1.引言简述该系统的名称、目的、功能、背景、工作条件、参考和引用资料。2.系统总体设计方案2.1模块设计列出系统中各主要功能模块的名称、实现的功能和与其他功能模块的之间的关系。2.2编码设计说明编码的方式和种类。2.3输入设计列出系统所有的输入项目、输入的承担者、主要功能要求、输入要求和简述输入校验所用的数据校验法和效果。2.4输出设计列出系统所有的输出项目、输出的接受者、主要功能要求和简述输出要求(输出数据类型及所用的设备介质、格式、数值范围、精度等)。3.数据库结构设计3.1概述简述系统目的、数据库
本文标题:第8章 数据库系统的概要设计
链接地址:https://www.777doc.com/doc-3252972 .html