数据库系统的概要设计_第1页
数据库系统的概要设计_第2页
数据库系统的概要设计_第3页
数据库系统的概要设计_第4页
数据库系统的概要设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章数据库系统的概要设计 本章要点 系统概要设计概述数据库的概念设计模块化设计概要设计的图形工具系统概要设计说明运用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所示 其中 概念模式对应于概念模型 图8 1自顶向下的分析需求与自底向上设计概念结构 8 2数据库的概念设计 结构化系统分析和设计方法学强调系统的功能方面 其本质是抽象和功能分解 如前面章节介绍的数据流图就是一种面向功能的建模方法 自20世纪70年代中期以来 数据库管理系统尤其是关系数据库技术的应用 使软件系统的开发重心开始向系统的数据部分转移 而面向数据的建模方法使用实体 联系图 EntityRelationshipDiagram 也称实体 关系图 简称E R图 等图形工具来对客观世界进行抽象表示 有时也称为实体 关系建模方法 在一个数据库应用系统的设计中 面向功能的建模方法和面向数据的建模方法应相互参照 才能使系统结构特性和行为特性有效地结合起来 达到系统设计的目标 8 2 1数据库概念设计的步骤 E R模型工具主要用于描述数据的概念结构 最常用的策略是自底向上的方法 即自顶向下的需求分析 然后再自底向上的设计概念结构 采取该概念结构的设计步骤按照图8 2所示的自顶向下分析需求与自底向上设计概念结构方法 图8 2概念结构的设计步骤 8 2 2实体 联系图 概念结构设计的结果是数据库的概念模型 它用E R图进行描述 E R图由三个相互关联的部分构成 实体 即数据实体或数据对象 实体之间的联系以及实体和联系的属性 如图8 3所示 学生 和 课程 两个实体之间存在多对多的联系 图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概述简述系统目的 数据库系统实现的主要功能 运行环境要求 3 2逻辑结构设计简要说明本系统内所使用的数据结构中 有关数据项 记录 文件的标识 定义 长度及它们之间的相互关系 4 安全保密设计5 系统出错处理设计5 1出错信息5 2补救措施如设置后备 性能降级 恢复及再启动等 8 6运用Powerdesigner建立概念数据模型 在数据库应用系统的设计中采用数据库设计工具和CASE工具 可以提高数据库设计质量并减少设计工作量 PowerDesigner的概念数据模型 ConceptualDataModel 简称CDM 以实体 联系 Entity Relationship 简称E R 理论为基础 并对这种理论进行了扩充 建立了概念数据模型 CDM把现实世界中的信息简化为实体与实体之间的联系 它与数据库管理系统DBMS无关 演示 8 7应用实例 天顺公司的 档案管理系统 经过项目立项 可行性分析 项目开发计划 需求分析之后需进行系统的概要设计过程和编写 系统概要设计说明书 以便为系统下阶段的详细设计做好准备 龙翔软件开发公司的林益波花了约二周时间 在经过对 系统需求规格说明书 的分析 与有关人员的交流等工作后 编写了天顺公司人事档案管理系统的 系统概要设计说明书 并提交到项目组进行评审 演示 小结 数据库系统在完成需求分析之后应进入数据库系统的概要设计阶段 此阶段不仅需要进行数据库概念结构设计 即数据库结构特性设计 而且还需要进行数据库行为特性的设计 概念结构是独立于数据库逻辑结构和具体DBMS所支持的数据库 它是对现实世界的一个抽象描述 概念设计的方法有自顶向下 自底向上 逐步扩张和自顶向下与自底向上相结合的方法 在数据库系统的概要设计阶段还需确定软件系统结构 进行模块划分 确定每个模块的功能 接口以及模块间的调用关系 其中 实现模块化设计的重要指导思想是分解 信息隐藏和模块独立性 模块独立性就是希望每个模块都是高内聚 低耦合 层次图是在概要设计阶段最常使用的图形工具之一 它常用于描绘软件的层次结构 IPO图是在层次结构图的基础上推出的一种描述系统结构和模块内部处理功能的工具 它包括输入 处理 输出 以及与之相应的数据库文件在总体结构中的位置等信息 数据库系统概要设计阶段完成后 需提交系统的概要设计说明报告 作为系统进一步实现的基础 习题 1 数据库系统的概要设计阶段不仅需要进行数据库结构特性设计 而且

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论