《数据库系统的概要设计.ppt》由会员分享,可在线阅读,更多相关《数据库系统的概要设计.ppt(31页珍藏版)》请在金锄头文库上搜索。
1、第第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视图
2、的集成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软件系统的概要设计软
3、件系统的概要设计 软件系统的生命周期可分为制定计划、需求分析、设计、程序编制、测试以及运行维护等阶段。在软件系统的开发过程中,经过制定计划、需求分析阶段后,软件开发的下一阶段就是进行系统设计。系统设计阶段通常可以划分为两个子阶段:概要设计和详细设计。概要设计的主要任务是回答“系统总体上应该如何做?”,即将分析模型映射为具体的软件系统结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系。详细设计则将概要设计的结果具体化,即为每个模块设计实现的细节。为了完成系统设计的任务,系统设计人员通常根据分析阶段采用的分析方法的不同,采用不同的设计方法。如针对分析阶段系统分析人员采用的分析方法的不
4、同(如面向数据建模、面向功能建模或面向对象建模等方法),系统设计的方法也不同(相应的有面向数据的设计,面向功能的设计和面向对象的设计等)。1结构化设计方法的设计步骤:(1)数据设计,数据设计的任务是从分析阶段得到的数据流图和数据字典出发,设计出相应的数据结构。(2)软件结构设计,软件结构设计的任务是定义系统的主要结构元素之间的关系,通常是从数据流图出发,对数据流图进行分析,得出软件的层次化模块结构图。(3)接口设计,软件结构设计的任务是描述系统内部、系统与系统之间以及系统与用户之间如何进行通信,接口包含数据流和控制流信息。(4)过程设计,过程设计是从分析阶段得到的过程规格说明出发,得出系统中各
5、个功能的过程化描述。2面向对象设计方法的设计步骤:(1)对象设计,把所有的对象都归为各种类,每个类都定义了一组数据和方法。数据用于表示对象的静态属性,即描述对象的状态信息;方法是对象所能执行的操作,也就是类中所能提供的服务。(2)子系统设计,子系统设计是根据实际系统的需要,按照子类(也称为派生类)和父类(也称为基类)的关系,可以把若干个类组成一个层次结构的系统。(3)消息设计,消息设计是描述对象之间如何通过传递消息进行通信,。(4)方法设计,从系统的功能模型和行为模型出发,得出各个类的方法及其实现细节。8.1.2数据库系统的数据库系统的概要设计概要设计 对于基于结构化的数据库系统开发方法而言,
6、数据库系统在完成需求分析之后应进入数据库系统的概要设计阶段,此阶段不仅需要进行数据库概念结构设计(也可简称数据库概念设计)工作,即数据库结构特性设计;而且还需要确定数据库系统的软件系统结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系,即进行数据库行为特性的设计过程。数据库概念结构设计是将系统需求分析得到的用户需求抽象为信息结构过程。只有将系统应用需求抽象为信息世界的结构,也就是概念结构后,才能转化为机器世界中的数据模型,并用DBMS实现这些需求。 1数据库概念结构的特点概念结构是独立于数据库逻辑结构和具体DBMS所支持的数据库,其主要特点是:(1)概念模型是对现实世界的一个抽象
7、描述。概念模型应能真实、充分地反映现实世界,能满足用户对数据的处理要求。(2)概念模型应当易于理解。概念模型只有被用户理解后,才可以与设计者交换意见,参与数据库的设计。(3)概念模型应当易于更改。由于现实世界(应用环境和应用要求)会发生变化,这就需要改变概念模型,易于更改的概念模型有利于修改和扩充。(4)概念模型应易于向数据模型转换概念模型最终要转换为数据模型。设计概念模型时应当注意,使其有利于向特定的数据模型转换。2数据库概念结构设计的方法概念模型是数据模型的前身,它比数据模型更独立于机器、更抽象,也更加稳定。概念设计的方法有以下4种:(1)自顶向下的设计方法。该方法首先定义全局概念结构的框
8、架,然后逐步细化为完整的全局概念结构。(2)自底向上的设计方法。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构的设计方法。(3)逐步扩张的设计方法。此方法首先定义最重要的核心概念结构,然后向外扩充,生成其他概念结构,直至完成总体概念结构。(4)自顶向下与自底向上相结合的方法。最常采用的策略是自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构,其方法如图8-1所示。其中,概念模式对应于概念模型。概念模式概念模式概念模式概念模式概念模式1概念模式n全局概念模式需求需求1需求2需求1.1需求1.2需求2.1需求2.2。需求分析概念结构设计图8-1自顶向下的分
9、析需求与自底向上设计概念结构 8.2 数据库的概念设计数据库的概念设计 结构化系统分析和设计方法学强调系统的功能方面,其本质是抽象和功能分解,如前面章节介绍的数据流图就是一种面向功能的建模方法,自20世纪70年代中期以来,数据库管理系统尤其是关系数据库技术的应用,使软件系统的开发重心开始向系统的数据部分转移,而面向数据的建模方法使用实体-联系图(EntityRelationshipDiagram,也称实体-关系图,简称E-R图)等图形工具来对客观世界进行抽象表示,有时也称为实体-关系建模方法。在一个数据库应用系统的设计中,面向功能的建模方法和面向数据的建模方法应相互参照,才能使系统结构特性和行
10、为特性有效地结合起来,达到系统设计的目标。 8.2.1数据库概念设计的步骤数据库概念设计的步骤 E-R模型工具主要用于描述数据的概念结构。最常用的策略是自底向上的方法,即自顶向下的需求分析,然后再自底向上的设计概念结构。采取该概念结构的设计步骤按照图8-2所示的自顶向下分析需求与自底向上设计概念结构方法。 数据流图数据字典分E-R图总E-R图数据抽象、局部视图的设计视图集成满意需求分析逻辑结构设计NoYes图8-2 概念结构的设计步骤 8.2.2实体实体- -联系图联系图 概念结构设计的结果是数据库的概念模型,它用E-R图进行描述。E-R图由三个相互关联的部分构成:实体(即数据实体或数据对象)
11、、实体之间的联系以及实体和联系的属性。 如图8-3所示, “学生”和“课程”两个实体之间存在多对多的联系. mn选修课程学生图8-3 多对多联系 8.2.3数据抽象、局部视图的设计数据抽象、局部视图的设计 概念结构是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述。因此,用自底向上的方法设计概念结构,首先要根据需求分析的结果(数据流图、数据字典)等对现实世界的数据进行抽象,设计各个局部视图即分E-R图。设计分E-R图的步骤是:1选择局部应用2设计分E-R图演示8.2.4视图的集成视图的集成 视图集成就是
12、把设计好的各子系统的分E-R图综合成一个系统的总E-R图。视图的集成可以有两种方法:一种方法是多个分E-R图一次集成,如图8-8所示;另一种方法是逐步集成,用累加的方法一次集成两个分E-R图,如图8-9所示。图8-8 多个分E-R图一次集成 图8-9 多个分E-R图逐步集成演示8.3 模块化设计模块化设计 把大型软件按照规定的原则划分为一个个较小的、相对独立但又相关的模块的设计方法,叫做模块化设计。模块是数据说明和可执行语句等程序对象的集合,每个模块单独命名并且可以通过名字对模块进行访问。例如,过程、函数、子程序、宏等都可作为模块。模块化就是把程序划分成若干个模块,每个模块完成一个子功能,并把
13、这些模块集合起来组成一个整体,以完成指定的功能来满足问题的要求。 8.3.1模块化设计的基本原则模块化设计的基本原则 实现模块化设计的重要指导思想是分解、信息隐藏和模块独立性。 1分解 分解是指将一个待开发的软件分解成若干个小的简单部分模块,每个模块可独立地开发、测试,最后组装成完整的程序。 2信息隐藏 信息隐藏是指将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。 3模块独立性模块独立是指每个模块完成一个相对独立的特定子功能,并且与其他模块之间的联系简单。模块独立就是希望每个模块都是高内聚、低耦合的。 8.3.2内聚与耦合内聚与耦合 内聚是对模块内
14、部各成分之间关联程度的度量。耦合是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其他模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其他模块之间存在弱耦合。模块划分的原则是强内聚、弱耦合。 内聚按强度从低到高有以下几种类型: 偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚 耦合按从强到弱的顺序可分为以下几种类型:内容耦合公共耦合控制耦合数据耦合 耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上应采取以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合。如果模块间若存在多种耦合方式,它们的耦
15、合类型以耦合最紧的类别确定。8.3.3模块分解时应遵循的准则模块分解时应遵循的准则 在软件分解过程中,须遵循以下原则:(1)满足信息隐蔽原则。(2)尽量使得模块的内聚度高,模块间的耦合度低。(3)模块的规模适中(通常一个模块以50100个语句行为宜)(4)模块的调用深度不宜过大。 (5)模块的扇人应尽量大,扇出不宜过大。 (6)设计单入口和单出口的模块。 (7)模块的作用域应在控制域之内。(8)模块的功能应是可以预测的。 8.4 概要设计的图形工具概要设计的图形工具 一般地,程序中的一个模块完成一个适当的子功能。在设计软件结构(即由模块组成的层次系统)时,应该把模块组织成良好的层次系统,即顶层
16、模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用更下层的模块,从而完成程序的一个子功能,最下层的模块则完成最具体的功能。软件结构可以用层次图或结构图来描绘。 8.4.1 层次图层次图 层次图是在概要设计(也称总体设计)阶段最常使用的图形工具之一,它常用于描绘软件的层次结构。层次图中的每个方框代表一个模块,方框间的连线表示模块间的调用关系。 如图8-19所示是层次图的一个例子。 图8-19成绩管理系统层次图成绩管理系统查询打印报表查询课程成批成绩单录入查询学生成绩个别成绩单录入打印班级成绩打印成绩统计表录入成绩8.4.2 IPOIPO图图 IPO图(inputprocessoutpu
17、t图)输入处理输出图是在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具。在总体设计、详细设计、设计、评审、测试和维护的不同阶段,都可以使用IPO图对设计进行描述。如下图所示的IPO图: 模块名称:模块编号:设计人:直接调用本模块的上级模块名称:本模块直接调用的模块名称:输入:输出:与本模块相直接关联的数据结构(数据库、数据文卷):处理描述:8.5 系统概要设计说明系统概要设计说明 系统概要设计说明书的主要内容,如下所示:1引言引言简述该系统的名称、目的、功能、背景、工作条件、参考和引用资料。2系统总体设计方案系统总体设计方案21模块设计列出系统中各主要功能模块的名称、实现的功
18、能和与其他功能模块的之间的关系。22编码设计说明编码的方式和种类。23输入设计列出系统所有的输入项目、输入的承担者、主要功能要求、输入要求和简述输入校验所用的数据校验法和效果。24输出设计列出系统所有的输出项目、输出的接受者、主要功能要求和简述输出要求(输出数据类型及所用的设备介质、格式、数值范围、精度等)。3数据库结构设计数据库结构设计31概述简述系统目的、数据库系统实现的主要功能、运行环境要求。32逻辑结构设计简要说明本系统内所使用的数据结构中,有关数据项、记录、文件的标识、定义、长度及它们之间的相互关系。4安全保密设计安全保密设计5系统出错处理设计系统出错处理设计51出错信息52补救措施
19、如设置后备、性能降级、恢复及再启动等8.6运用运用PowerdesignerPowerdesigner建立概念数据模型建立概念数据模型 在数据库应用系统的设计中采用数据库设计工具和CASE工具,可以提高数据库设计质量并减少设计工作量。PowerDesigner的概念数据模型(Conceptual Data Model,简称CDM)以实体联系(Entity-Relationship,简称E-R)理论为基础,并对这种理论进行了扩充,建立了概念数据模型。 CDM把现实世界中的信息简化为实体与实体之间的联系,它与数据库管理系统DBMS无关。 演示工具栏菜单栏图表窗口树型模型浏览器输出窗口结果列表8.7
20、 应用实例应用实例 天顺公司的档案管理系统经过项目立项、可行性分析、项目开发计划、需求分析之后需进行系统的概要设计过程和编写系统概要设计说明书。以便为系统下阶段的详细设计做好准备。 龙翔软件开发公司的林益波花了约二周时间,在经过对系统需求规格说明书的分析、与有关人员的交流等工作后,编写了天顺公司人事档案管理系统的系统概要设计说明书并提交到项目组进行评审。 演示小结数据库系统在完成需求分析之后应进入数据库系统的概要设计阶段,此阶段不仅需要进行数据库概念结构设计,即数据库结构特性设计;而且还需要进行数据库行为特性的设计。概念结构是独立于数据库逻辑结构和具体DBMS所支持的数据库,它是对现实世界的一
21、个抽象描述。概念设计的方法有自顶向下、自底向上、逐步扩张和自顶向下与自底向上相结合的方法。在数据库系统的概要设计阶段还需确定软件系统结构,进行模块划分,确定每个模块的功能、接口以及模块间的调用关系。其中,实现模块化设计的重要指导思想是分解、信息隐藏和模块独立性。模块独立性就是希望每个模块都是高内聚、低耦合。层次图是在概要设计阶段最常使用的图形工具之一,它常用于描绘软件的层次结构。IPO图是在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具,它包括输入、处理、输出,以及与之相应的数据库文件在总体结构中的位置等信息。 数据库系统概要设计阶段完成后,需提交系统的概要设计说明报告,作为
22、系统进一步实现的基础。习习 题题1数据库系统的概要设计阶段不仅需要进行数据库结构特性设计,而且还需要进行_。2概念设计的方法有_、_、_和自顶向下与自底向上相结合的方法。3采用自底向上设计概念结构方法时,通常可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到_。4各个分E-R图之间的冲突主要有_、_和结构冲突。5模块化设计的重要指导思想是_、_和模块独立性。6内聚是对模块内部各成分之间关联程度的度量。内聚有偶然内聚、_、_、_、_、_和功能内聚等几种类型。7耦合表示模块之间相互依赖的程度,是对模块之间相互依赖程度的度量。耦合可分为内容耦合、_、_和数据耦合等几种类型。8IPO图包括_、_、_,以及与之相应的数据库文件在总体结构中的位置等信息。9实践请对餐厅管理信息系统进行概要设计和编写概要设计说明书。