软件工程总体设计ppt课件.ppt
《软件工程总体设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程总体设计ppt课件.ppt(111页珍藏版)》请在三一办公上搜索。
1、第五章总体设计,5 . 1 设计过程 5 . 2 设计原理 5 . 3 启发规则 5 . 4 描绘软件结构的图形工具5 . 5 面向数据流的设计方法 5 . 6 小结习题,学习要求,掌握: 1 、软件设计过程中应遵循的基本原理和相关概念; 2 、描绘软件结构的图形工具的运用; 3 、面向数据流设计方法概念;变换分析、事务分析法过程和应用。理解: 1 、典型的总体设计过程包括的步骤; 2 、设计中的启发式规则;,重点和难点,重点:软件设计过程中应遵循的基本原理;面向数据流的设计方法难点:变换分析、事务分析法的过程和应用,软件设计的目标和任务,软件需求:解决“做什么”软件设计:解决“怎么做”软件设
2、计的任务:以软件需求规格说明书为依据,着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中。软件设计的重要性:是软件开发阶段的第一步,最终影响软件实现的成败和软件维护的难易程度。,软件设计的两个阶段,第一阶段:概要设计(总体设计)根据软件需求,设计软件系统结构和数据结构,确定程序的组成模块及模块之间的相互关系。回答“概括地说,系统应该如何实现?”。其重要性是:站在全局高度,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。,软件设计的两个阶段,第二阶段:详细设计(过程设计)确定模块内部的算法和数据结
3、构;选定某种过程的表达形式来描述各种算法;产生精确描述各模块程序过程的详细文档,并进行评审。,将需求分析模型转换为软件设计,软件结构设计以需求分析中得到的数据流图为基础而进行。,第一个阶段总体设计的任务, 制定规范 设计软件系统结构(简称软件结构) 处理方式设计数据结构及数据库设计 可靠性设计 编写概要设计文档 概要设计评审, 制定规范,为软件开发小组制定在进行软件设计时,应该共同遵守的标准,以便协调组内各成员的工作。, 软件结构设计,包括:将系统按功能划分成模块确定每个模块的功能确定模块之间的调用关系确定模块之间的接口,即模块之间传递的信息评价模块结构的质量, 处理方式设计,包括:功能设计:
4、确定实现功能算法,评估算法的性能性能设计:确定实现性能需求必须的算法和模块间的控制方式,5.1 设计的过程,5. 2 设计原理,5.2.1模块化5.2.2抽象5.2.3逐步求精5.2.4信息隐蔽和局部化5.2.5模块独立,5 . 2 . 1 模块化(Modularity ), 什么是模块和模块化思想?采取自顶向下的方式,逐层把软件系统划分成若干可单独命名和可编址的部分 “ 模块” ,每个模块完成一个特定的子功能;所有模块按某种方法组成一个整体,完成整个系统所要求的功能。软件系统就是通过这些模块的组合来实现。, 模块化的优点,模块化是软件解决复杂问题所具备的手段,可降低软件复杂性,减少开发工作量
5、,从而降低开发成本,提高软件生产率,以下是模块化的依据。, 模块化与软件成本的关系,接口, 模块的基本属性,接口:指模块的输入与输出。功能:指模块实现什么功能。模块化好处:模块化使软件容易测试和调试,因而有助提高软件的可靠性。模块化能提高软件的可修改性。模块化有助于软件开发工程的组织管理。,5.2.2 抽象( Abstraction ), 什么是抽象?认识复杂事物和现象时,抽出事物本质的共同特 性而暂不考虑它们的细节。 软件开发中的抽象过程的抽象数据的抽象,抽象,什么是抽象思想?在认识事物、分析和解决问题的过程中,忽略那些与当前研究目标不相关的部分, 以便将注意力集中于与当前目标相关的方面软件
6、开发实际上就是一个从高层次抽象到低层次抽象逐步过渡的过程。一个复杂的系统先用一些高级的抽象概念构造和理解,这些高级概念又用较低级的概念构造和理解,如此进行下去,直到具体元素。,形体,衣着,性格,抽象,抽象例子,外表,5 . 2. 3 逐步求精,逐步求精:为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。可把逐步求精看作是一项把一个时期内必须解决的种种问题按优先级排序的技术。逐步求精是一种自顶向下的设计策略,按这种设计策略,程序的体系结构是通过逐步精化处理过程的层次而设计出来的。,逐步求精,外表,形体,衣着,性格,头发,脸形,领带,抽象,逐步求精的例子,自顶向下,逐步求精的基本思想,将功能、
7、信息的说明分为多个层次,最高层也最抽象 仅仅只是概念性地描述功能或信息,不提供功能的内部工作情况或信息的内部结构;设计者从最高层开始,仔细推敲,进行功能和信息的细化,给出下层实现的细节;随着每个后续细化逐步的完成,提供越来越多的细节,最终得出用程序设计语言表达的程序。,结合了模块化和逐步细化思想建立的软件结构图,5.2.4 信息隐蔽和局部化,信息隐蔽:在设计和确定模块时,使得一个模块内包含的信息(过程或数据),不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。局部化:将一些关系密切的软件元素物理地放得彼此靠近。,5.2.5 模块独立,1 、什么是模块独立性
8、( module independence)模块只完成系统要求的相对独立的功能符合信息隐蔽原则模块间关联和依赖程度尽量小 2 、模块独立的优点容易开发、测试和维护,3 、衡量模块独立性的两个准则, 耦合性( coupling ) 内聚性( cohesion ), 耦合性( coupling ),也称块间的联系。是对软件系统结构中,各模块间相互联系紧密程度的一种度量。设计目标:低耦合,无直接耦合,两个模块没有直接关系,模块独立性最强。,数据耦合,属松散耦合。一模块访问另一模块时,通过数据参数交换输入、输出信息。,控制耦合,模块之间传递的是控制信息(如开关、标志、名字等),控制被调用模块的内部逻辑
9、。,控制耦合举例,去除模块间控制耦合的方法,控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。解决方法:(1)将被调用模块内的判定上移到调用模块中进行 (2)被调用模块分解成若干单一功能模块,改控制耦合为数据耦合举例,特征耦合,两个模块通过传递数据结构加以联系,或都与一个数据结构有关系,则称这两个模块间存在特征耦合。可能出现的情况:当把整个数据结构作为参数传递时,被调用的模块虽然只需要使用其中的一部分数据元素,但实际可以使用的数据多于它真正需要的数据,这将导致对数据访问失去控制。,特征耦合举例,说明: “住户情况”是一个数据结构,图中模块都与此数据结构有关。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 总体 设计 ppt 课件

链接地址:https://www.31ppt.com/p-1363721.html