资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第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.2 IPO图目 录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年代中期以来,数据库管理系统尤其是关系数据 库技术的应用,使软件系统的开发重心开始向系统的数据部分转移, 而面向数据的建模方法使用实体-联系图(Entity Relationship Diagram ,也称实体-关系图,简称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)模块的规模适中(通常一个模块以50100个语句行为宜) (4)模块的调用深度不宜过大。 (5)模块的扇人应尽量大,扇出不宜过大。 (6)设计单入口和单出口的模块。 (7)模块的作用域应在控制域之内。 (8)模块的功能应是可以预测的。 8.4 概要设计的图形工具 一般地,程序中的一个模块完成一个适当的子 功能。在设计软件结构(即由模块组成的层次系统) 时,应该把模块组织成良好的层次系统,即顶层模块 调用它的下层模块以实现程序的完整功能,每个下层 模块再调用更下层的模块,从而完成程序的一个子功 能,最下层的模块则完成最具体的功能。软件结构可 以用层次图或结构图来描绘。 8.4.1 层次图 层次图是在概要设计(也称总体设计)阶段最常使用的图 形工具之一,它常用于描绘软件的层次结构。层次图中的每个方 框代表一个模块,方框间的连线表示模块间的调用关系。 如图8-19所示是层次图的一个例子 。图8-19 成绩管理系统层次图成绩管理系统查询打印报表查 询 课 程成 批 成 绩 单 录 入查 询 学 生 成 绩个 别 成 绩 单 录 入打 印 班 级 成 绩打 印 成 绩 统 计 表录入成绩8.4.2 IPO图 IPO图(input process output图)输入处理输出图是在层 次结构图的基础上推出的一种描述系统结构和模块内部处理功能 的工具。在总体设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号