《软件工程》课件第4章 软件总体设计.ppt

上传人(卖家):momomo 文档编号:7344177 上传时间:2023-11-30 格式:PPT 页数:27 大小:472.50KB
下载 相关 举报
《软件工程》课件第4章 软件总体设计.ppt_第1页
第1页 / 共27页
《软件工程》课件第4章 软件总体设计.ppt_第2页
第2页 / 共27页
《软件工程》课件第4章 软件总体设计.ppt_第3页
第3页 / 共27页
《软件工程》课件第4章 软件总体设计.ppt_第4页
第4页 / 共27页
《软件工程》课件第4章 软件总体设计.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、【本章引言本章引言】n总体设计过程通常由两个阶段组成:系统设计和结总体设计过程通常由两个阶段组成:系统设计和结构设计。其中系统设计的任务是确定系统的具体实构设计。其中系统设计的任务是确定系统的具体实现方案,结构设计则是确定软件的模块结构。这两现方案,结构设计则是确定软件的模块结构。这两个阶段是紧密联系在一起的,它们执行的效果将直个阶段是紧密联系在一起的,它们执行的效果将直接影响到总体设计好坏,乃至整个软件工程的合理接影响到总体设计好坏,乃至整个软件工程的合理与否。前一个阶段是后一个阶段的基础,后一个阶与否。前一个阶段是后一个阶段的基础,后一个阶段是前一个阶段的发展方向。因此,我们在总体设段是前

2、一个阶段的发展方向。因此,我们在总体设计的整个过程中必须围绕系统设计和结构设计这两计的整个过程中必须围绕系统设计和结构设计这两个阶段展开每一项工作。个阶段展开每一项工作。第四章第四章 软件总体设计软件总体设计【本章重点本章重点】n软件设计的概念与原则软件设计的概念与原则;n掌握总体设计的步骤和方法掌握总体设计的步骤和方法;【教学目标教学目标】n掌握软件设计的概念与原则掌握软件设计的概念与原则;n掌握总体设计的步骤和方法掌握总体设计的步骤和方法;n了解总体设计的文档与评审。了解总体设计的文档与评审。第四章第四章 软件总体设计软件总体设计n 4.1 4.1 总体设计概述总体设计概述 n 4.2 4

3、.2 总体设计的图形描述工具总体设计的图形描述工具 n 4.3 4.3 模块化设计模块化设计 n 4.4 4.4 面向数据流的设计方法面向数据流的设计方法 n 4.5 4.5 小结小结n 4.6 4.6 习题习题 4.1 总体设计概述总体设计概述 n4.1.1 4.1.1 总体设计的任务总体设计的任务n系统分析员审查软件计划、软件需求分析提供的文档,提出最佳推荐方案,用系统流程图,组成系统物理元素清单,成本效益分析,系统的进度计划,供专家审定,审定后进入设计。n确定模块结构,划分功能模块,将软件功能需求分配给所划分的最小单元模块。确定模块间的联系,确定数据结构、文件结构、数据库模式,确定测试方

4、法与策略。n编写总体设计说明书,用户手册,测试计划,选用相关的软件工具来描述软件结构,结构图是经常使用的软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。4.1 总体设计概述总体设计概述 4.1.2 4.1.2 总体设计的步骤总体设计的步骤1设计系统方案2选取合理的方案 3推荐最佳方案 4功能分解5软件结构设计6数据库设计、文件结构的设计7制定测试计划8书写文档9审查和复审4.2 总体设计的图形工具总体设计的图形工具 4.2.1 4.2.1 层次图层次图4.2 总体设计的图形工具总体设计的图形工具4.2.2 HIPO4.2.2 HIPO图图 4.2 总体设

5、计的图形工具总体设计的图形工具4.2.3 4.2.3 结构图结构图 4.3 模块化设计模块化设计4.3.1 4.3.1 模块化与局部化模块化与局部化1 1模块化模块化 模块是数据说明、可执行语句等程序对象的集合,模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名、而且可通过名字来访问,例如,模块可以单独被命名、而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分成若干个模块,每个模块具有一个子就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集成起来构成一个整体,可以完成功能,把这些模块集

6、成起来构成一个整体,可以完成指定的功能,进而满足问题的要求。指定的功能,进而满足问题的要求。4.3 模块化设计模块化设计4.3.1 4.3.1 模块化与局部化模块化与局部化 2 2局部化局部化 局部化的概念和信息隐蔽概念密切相关。所谓局部局部化的概念和信息隐蔽概念密切相关。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠化是指把一些关系密切的软件元素物理地放得彼此靠近。在模块中使用局部数据元素是局部化的一个例子。近。在模块中使用局部数据元素是局部化的一个例子。显然,局部化有助于实现信息隐蔽。显然,局部化有助于实现信息隐蔽。4.3 模块化设计模块化设计4.3.2 4.3.2 模块化独立性模

7、块化独立性 模块的独立性可以用两个定性的标准来度量:耦合和内聚。耦合是模块之间互相连接的紧密程度的度量,内聚是一个模块内部各个元素彼此结合的紧密程度的度量。4.3 模块化设计模块化设计4.3.2 4.3.2 模块化独立性模块化独立性1 1耦合耦合n非直接耦合非直接耦合 n数据耦合数据耦合 n标记耦合标记耦合 n控制耦合控制耦合 n公共耦合公共耦合 n内容耦合内容耦合 4.3 模块化设计模块化设计4.3.2 4.3.2 模块化独立性模块化独立性2 2内聚内聚n偶然内聚偶然内聚 n逻辑内聚逻辑内聚 n时间内聚时间内聚 n过程内聚过程内聚 n通信内聚通信内聚 n顺序内聚顺序内聚 n功能内聚功能内聚

8、4.3 模块化设计模块化设计4.3.2 4.3.2 模块化独立性模块化独立性3 3设计准则设计准则n模块规模应该适中模块规模应该适中 n改进软件结构提高模块独立性改进软件结构提高模块独立性 n深度、宽度、扇入和扇出都应适当深度、宽度、扇入和扇出都应适当 n模块的作用范围应该在控制范围之内模块的作用范围应该在控制范围之内 n降低模块接口的复杂程度降低模块接口的复杂程度 n设计单入口单出口的模块,避免设计单入口单出口的模块,避免“病态连接病态连接”n模块功能应该可以预测模块功能应该可以预测 4.3 模块化设计模块化设计4.3.3 4.3.3 抽象与信息隐蔽抽象与信息隐蔽1 1抽象抽象 抽象是人类认

9、识问题和解决问题的基本工具和方抽象是人类认识问题和解决问题的基本工具和方法。在解决复杂的具体问题时,人们往往先忽略其细法。在解决复杂的具体问题时,人们往往先忽略其细节和非本质的方面,而集中注意力去分析问题的本质节和非本质的方面,而集中注意力去分析问题的本质和主要方面,搞清所要解决的问题的本质。同时人们和主要方面,搞清所要解决的问题的本质。同时人们在总结认识和实验规律时,也往往突出各类问题的共在总结认识和实验规律时,也往往突出各类问题的共性,找出各种客观事物、状态和过程间的联系和相似性,找出各种客观事物、状态和过程间的联系和相似性,加以概括和提取,即抽象。性,加以概括和提取,即抽象。4.3 模块

10、化设计模块化设计4.3.3 4.3.3 抽象与信息隐蔽抽象与信息隐蔽2 2信息隐蔽信息隐蔽 信息隐蔽原理认为:模块所包含的信息(过程和信息隐蔽原理认为:模块所包含的信息(过程和数据)对于其他模块来说应该是隐蔽的。也就是说,数据)对于其他模块来说应该是隐蔽的。也就是说,模块应当被这样规定和设计,使得包含在模块中的信模块应当被这样规定和设计,使得包含在模块中的信息(过程和数据)对于其他不需要这些信息的模块来息(过程和数据)对于其他不需要这些信息的模块来说,是不能访问的,或者说是说,是不能访问的,或者说是“不可见不可见”的。的。4.4 面向数据流的设计方法面向数据流的设计方法4.4.1 4.4.1

11、基本概念基本概念1 1变换流变换流 信息沿输入通路进入系统,同时由外部形式变换成信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。理以后再沿输出通路变换成外部形式离开软件系统。当数据流图具有这些特征时,这种信息流就叫作变换当数据流图具有这些特征时,这种信息流就叫作变换流。流。4.4 面向数据流的设计方法面向数据流的设计方法4.4.1 4.4.1 基本概念基本概念1 1变换流变换流 4.4 面向数据流的设计方法面向数据流的设计方法4.4.1 4.4.1 基本概念基本

12、概念2 2事务流事务流 数据沿输入通路到达一个处理数据沿输入通路到达一个处理T T,这个处理根据,这个处理根据输入数据的类型在若干个工作序列中选出一个来执输入数据的类型在若干个工作序列中选出一个来执行。这类系统的特征是具有在多种事务中选择执行行。这类系统的特征是具有在多种事务中选择执行某类事务的能力。事务型结构由至少一条接受路径、某类事务的能力。事务型结构由至少一条接受路径、一个事务中心,与若干条动作路径组成。这类数据一个事务中心,与若干条动作路径组成。这类数据流应该划为一类特殊的数据流,称为事务流。流应该划为一类特殊的数据流,称为事务流。4.4 面向数据流的设计方法面向数据流的设计方法4.4

13、.1 4.4.1 基本概念基本概念2 2事务流事务流 4.4 面向数据流的设计方法面向数据流的设计方法4.4.1 4.4.1 基本概念基本概念3 3设计方法设计方法第第1 1步步 复查基本系统模型。复查基本系统模型。第第2 2步步 复查并精化数据流图。复查并精化数据流图。第第3 3步步 确定数据流图具有变换特性还是事务特性。确定数据流图具有变换特性还是事务特性。第第4 4步步 确定输入流和输出流的边界,从而孤立出变确定输入流和输出流的边界,从而孤立出变换中心。换中心。4.4 面向数据流的设计方法面向数据流的设计方法图9-6 测试问题3的控制流图4.4.1 4.4.1 基本概念基本概念3 3设计

14、方法设计方法第第5 5步步 完成完成“第一级分解第一级分解”。第第6 6步步 完成完成“第二级分解第二级分解”。第第7 7步步 使用设计度量和启发式规则对第一次分割得到的使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化。软件结构进一步精化。4.4 面向数据流的设计方法面向数据流的设计方法4.4.3 4.4.3 事务分析事务分析n事务分析的设计步骤和变换分析的设计步骤大部分相同事务分析的设计步骤和变换分析的设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射或类似,主要差别仅在于由数据流图到软件结构的映射方法不同。方法不同。n由事务流映射成的软件结构包括一个接收分支和一

15、个发由事务流映射成的软件结构包括一个接收分支和一个发送分支。映射出接收分支结构的方法和变换分析映射出送分支。映射出接收分支结构的方法和变换分析映射出输入结构的方法很相像,即从事务中心的边界开始,把输入结构的方法很相像,即从事务中心的边界开始,把沿着接收流通路的处理映射成模块。发送分支的结构包沿着接收流通路的处理映射成模块。发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把含一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对数据流图中的每个活动流通路映射成与它的流特征相对应的结构。应的结构。4.4 面向数据流的设计方法面向数据流的设计方法

16、4.4.4 4.4.4 设计优化原则设计优化原则n在不考虑时间因素的前提下开发并精化软件结构;在不考虑时间因素的前提下开发并精化软件结构;n在详细设计阶段选出最耗费时间的那些模块,仔细在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们的处理过程,以求提高效率;地设计它们的处理过程,以求提高效率;n使用高级程序设计语言编写程序;使用高级程序设计语言编写程序;n在软件中孤立出那些大量占用处理机资源的模块;在软件中孤立出那些大量占用处理机资源的模块;n必要时重新设计或用依赖于机器的语言重写上述大必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。量占用资源的模块的代

17、码,以求提高效率。4.5 小结小结n总体设计阶段的任务是要确定系统的总体结构,给出系统中各个总体设计阶段的任务是要确定系统的总体结构,给出系统中各个组成模块的功能和模块间的接口关系。总体设计过程通常由两个组成模块的功能和模块间的接口关系。总体设计过程通常由两个阶段组成:系统设计和结构设计。其中系统设计是从数据流图出阶段组成:系统设计和结构设计。其中系统设计是从数据流图出发,确定系统的具体实现方案;结构设计则是确定软件的模块结发,确定系统的具体实现方案;结构设计则是确定软件的模块结构。层次图和结构图是描绘软件结构的常用工具。构。层次图和结构图是描绘软件结构的常用工具。n在进行软件结构设计时应该遵

18、循一些基本原理,其中最主要的原在进行软件结构设计时应该遵循一些基本原理,其中最主要的原理是模块独立原理。在软件开发过程中,我们要注意利用已有的理是模块独立原理。在软件开发过程中,我们要注意利用已有的一些设计准则,这些设计准则是人们在长期的软件开发过程中总一些设计准则,这些设计准则是人们在长期的软件开发过程中总结出来的,它们往往能对如何改进软件设计给出宝贵的提示。结出来的,它们往往能对如何改进软件设计给出宝贵的提示。n结构化设计方法是一种面向数据流的设计方法。它根据问题域的结构化设计方法是一种面向数据流的设计方法。它根据问题域的数据流定义一组不同的数据流定义一组不同的“映射映射”,利用这些映射把

19、数据流图变换,利用这些映射把数据流图变换成软件结构。根据数据流图的类型,在把数据流图映射为软件结成软件结构。根据数据流图的类型,在把数据流图映射为软件结构图的过程中,可通过变换分析或事务分析的技术来实现。构图的过程中,可通过变换分析或事务分析的技术来实现。4.6 习题习题1.总体设计由哪些阶段组成?总体设计由哪些阶段组成?2.如何理解模块的独立性?用什么指标来如何理解模块的独立性?用什么指标来衡量模块的独立性?衡量模块的独立性?3.总体设计有哪些图形工具?总体设计有哪些图形工具?4.软件设计有哪些准则?软件设计有哪些准则?5.简述变换分析的基本步骤。简述变换分析的基本步骤。4.6 习题习题6.事务型数据流图中事务中心的作用是什么?事务型数据流图中事务中心的作用是什么?7.什么叫模块的深度、宽度、扇入和扇出?什么叫模块的深度、宽度、扇入和扇出?8.谈谈你对信息隐蔽的理解。谈谈你对信息隐蔽的理解。9.请列举并比较耦合的各种类型?请列举并比较耦合的各种类型?10.请列举并比较内聚的各种类型?请列举并比较内聚的各种类型?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《软件工程》课件第4章 软件总体设计.ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|