第4章软件总体设计祥解.ppt

  1. 1、本文档共119页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章软件总体设计祥解.ppt

第四章 软件总体设计 【本章引言】 总体设计过程通常由两个阶段组成:系统设计和结构设计。其中系统设计的任务是确定系统的具体实现方案,结构设计则是确定软件的模块结构。这两个阶段是紧密联系在一起的,它们执行的效果将直接影响到总体设计好坏,乃至整个软件工程的合理与否。前一个阶段是后一个阶段的基础,后一个阶段是前一个阶段的发展方向。因此,我们在总体设计的整个过程中必须围绕系统设计和结构设计这两个阶段展开每一项工作。 第四章 软件总体设计 【本章重点】 软件设计的概念与原则 ; 掌握总体设计的步骤和方法 ; 【教学目标】 掌握软件设计的概念与原则 ; 掌握总体设计的步骤和方法 ; 了解总体设计的文档与评审。 第四章 软件总体设计 4.1 总体设计概述 4.2 总体设计的图形描述工具 4.3 模块化设计 4.4 面向数据流的设计方法 4.5 小结 4.6 习题 软件设计阶段的任务与目标 软件设计在开发阶段中的重要性 数据设计侧重于软件数据结构的定义 系统结构设计定义软件系统的整体结构,是软件开发的核心步骤。在设计步骤中,建立软件主要成份之间的关系 过程设计则是把结构成份转换成软件的过程性描述 软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构 软件设计阶段的任务 总体设计过程 概要设计的基本目的就是回答“概括地说,系统应该如何实现” 划分组成系统的物理元素-----程序、文件、数据库和文档等,另一方面要设计软件的结构,即确定系统中每个程序由哪些模块组成,以及这些模块相互间的关系 在详细设计过程中,需要完成的工作是: 1.确定软件各个组成部分内的算法以及各部分的内部数据组织 2.选定某种过程的表达形式来描述各种算法。 3.进行详细设计的评审 4.1 总体设计概述 4.1.1 总体设计的任务 确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方法与策略。 编写总体设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则 4.1 总体设计概述 4.1.2 总体设计的步骤 1.设计系统方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.软件结构设计 6.数据库设计、文件结构的设计 7.制定测试计划 8.书写文档 9.审查和复审 软件结构 软件结构的基本概念 4.2 总体设计的图形工具 4.2.1 层次图 4.2 总体设计的图形工具 4.2.2 HIPO图 大学教务管理系统H图 4.2 总体设计的图形工具 4.2.3 结构图 软件结构图(SC图) 例:画出打印报告的软件结构图。 4.3 模块化设计 4.3.1 模块化与局部化 1.模块化 模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能,进而满足问题的要求。 4.3 模块化设计 4.3.1 模块化与局部化 2.局部化 局部化的概念和信息隐蔽概念密切相关。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。在模块中使用局部数据元素是局部化的一个例子。显然,局部化有助于实现信息隐蔽。 4.3 模块化设计 4.3.2 模块化独立性 模块的独立性可以用两个定性的标准来度量:耦合和内聚。耦合是模块之间互相连接的紧密程度的度量,内聚是一个模块内部各个元素彼此结合的紧密程度的度量。 4.3 模块化设计 4.3.2 模块化独立性 1.耦合 非直接耦合 数据耦合 标记耦合 控制耦合 公共耦合 内容耦合 耦合性的几种类型 public int y; Public A(string x) {? ?if (x==”true”) {? ? y=1; } Else {? ? y=0; } } 总之,耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则: 尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 4.3 模块化设计 4.3.2 模块化独立性 2.内聚 偶然内聚 逻辑内聚 时间内聚 过程内聚 通信内聚 顺序内聚 功能内聚 1计算雇员年龄并给出生日的模块 2 按给出的生日计算雇员年龄、退休时间的模块。

文档评论(0)

四娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档