自考软件工程第4章知识点总结.ppt
《自考软件工程第4章知识点总结.ppt》由会员分享,可在线阅读,更多相关《自考软件工程第4章知识点总结.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4章章 软件概要设计软件概要设计 4.1 软件概要设计的基本任务软件概要设计的基本任务 4.2 软件设计的基本原理软件设计的基本原理 4.3 软件结构优化准则软件结构优化准则 4.4 面向数据流的设计方法面向数据流的设计方法 4.5 基于基于IDEFO图的设计方法图的设计方法 4.6 表表示示软软件件结结构构的的另另一一种种图图形形工工具具HIPO图图 第第 4 章章 软件概要设计软件概要设计 返回主目录1第第4 4章章 软件概要设计软件概要设计4.14.1软件概要设计的基本任务软件概要设计的基本任务基本任务基本任务 1.设计软件系统结构(简称软件结构设计软件系统结构(简称软件结构)(
2、1)采用某种设计方法,将一个复杂的系统按功能划分成模块。(2)确定每个模块的功能。(3)确定模块之间的调用关系。(4)确定模块之间的接口,即模块之间传递的信息。(5)评价模块结构的质量。2第第4 4章章 软件概要设计软件概要设计u软件结构的设计是以模块为基础的。u软件结构的设计是概要设计关键的一步,直接影响到详细设计与编码的工作。u软件系统的质量及整体特性都在软件结构的设计中决定。2.数据结构及数据库设计数据结构及数据库设计 1)数据结构的设计 2)数据库的设计:概念设计、逻辑设计、物理设计。数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“需求分析”与“概要设计”,而数据库的“物理设
3、计”与模块的“详细设计”相对应。3第第4 4章章 软件概要设计软件概要设计 3.编写概要设计文档编写概要设计文档 编写概要设计文档的内容如下:(1)概要设计说明书。(2)数据库设计说明书。(3)用户手册。(4)修订测试计划。4.评审评审 软件概要设计文档软件概要设计文档 4第第4 4章章 软件概要设计软件概要设计4.2 软件设计的基本原理软件设计的基本原理 模块化模块化 模块在程序中是数据说明、可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数和子程序等。模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程。每个模块完成一个特定的子功能,所有的模
4、块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。5第第4 4章章 软件概要设计软件概要设计u模块化的依据:设问题x,表示它的复杂性函数为C(x),解决它所需的工作量函数为E(x)。对于问题P1和P2;C(P1+P2)C(P1)+C(P2)E(P1+P2)E(P1)+E(P2)在划分模块时,模块数目要适度并减少接口的代价,提高模块的独立性。图 4.1 模块与开发软件成本6第第4 4章章 软件概要设计软件概要设计 抽象抽象 抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同特性而暂不考虑它的细节,不考虑其他因素。信息隐蔽信息隐蔽 所谓信息隐蔽,是指在设计和确定模块时,使得一
5、个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。有效的模块化通过定义一组相互独立的模块来实现,这些独立的模块彼此之间仅仅交换那些为了完成系统功能所必需的信息,而将那些自身的实现细节与数据“隐藏”起来。7第第4 4章章 软件概要设计软件概要设计 模块独立性模块独立性 模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。只有符合和遵守模块化、抽象及信息隐蔽这些软件工程基本原理,才能得到高度独立的模块。良好的模块独立性能使开发的软件具有较高的质量。由于模块独立性强,信息隐藏性能好,并完成独立的功能,且它的可理解性、可维护性及可测试性
6、好,必然导致软件的可靠性高。另外,接口简单、功能独立的模块易开发,且可并行工作,有效地提高了软件的生产率。8第第4 4章章 软件概要设计软件概要设计n模块独立性度量的两个定性标准耦合性和内聚性。1.耦合性耦合性(Coupling)耦合性也称块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。9第第4 4章章 软件概要设计软件概要设计u模块的耦合性由低到高有以下6种类型:(1)无直接耦合:指两个模块之间没有直接的关系。这种耦合性最弱,模块独立性最高。(2)数据耦合:指
7、两个模块之间有调用关系,传递的是简单的数据值。这种耦合程度较低,模块的独立性较高。(3)标记耦合:指两个模块之间传递的是数据结构的地址,如高级语言中的数组名、记录名和文件名等这些名字即为标记。标记耦合是不可避免的。(4)控制耦合:指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。通常将控制耦合改变为数据耦合。10第第4 4章章 软件概要设计软件概要设计 (5)公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。公共数据环境可以是全程变量或数据结构等。公共耦合有两种情况:松散的公共耦合;紧密的公共耦合。(6)内容耦合:是最
8、高程度的耦合,也是最差的耦合。u模块化设计的目标:提高模块独立性、建立模块间尽可能松散的系统。u为了降低模块间的耦合度,可采取以下几点措施:(1)在耦合方式上降低模块间接口的复杂性。(2)在传递信息类型上尽量使用数据耦合,避免控制耦合,慎用或有控制地使用公共耦合。11第第4 4章章 软件概要设计软件概要设计2.内聚性内聚性(Cohesion)内聚性也称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语句之间、程序段之间)联系的越紧密,则它的内聚性就越高。u 内聚性从低到高有以下几种类型:(1)偶然内聚:指一个模块内的各处理元素之间没有任何联
9、系。是最差的内聚情况。(2)逻辑内聚:指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。内聚性较差。(3)时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。时间内聚比逻辑内聚程度高。12第第4 4章章 软件概要设计软件概要设计 (4)通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。通信内聚的模块内聚性较高,可达到信息隐藏。(5)顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。(6)功能内聚:是最强的内聚,指模块内所
10、有元素共同完成一个功能,缺一不可。将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性。13第第4 4章章 软件概要设计软件概要设计4.3 软件结构优化准则软件结构优化准则 软件结构图软件结构图 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。软件结构往往用树状或网状结构的图形来表示。u结构图的主要内容有:(1)模块。(2)模块的控制关系。(3)模块间的信息传递。(4)两个附加符号:表示模块有选择调用或循环调用。14第第4 4章章 软件概要设计软件概要设计 4.3 选择调用和循环调用的表示 (a)选择调用;(b)循环调用 图 4.2 模块间的控制
11、关系及信息传递15第第4 4章章 软件概要设计软件概要设计 (5)结构图的形态特征。结构图的形态特征包括:深度:指结构图控制的层次,也是模块的层数。宽度:指一层中最大的模块个数。扇出:一个模块直接下属模块的个数。图 4.4 结构图示例 16第第4 4章章 软件概要设计软件概要设计 扇入:指一个模块直接上属模块的个数,如图 3.4 所示,模块T的扇入为 4。(6)画结构图应注意的事项如下:同一名字的模块在结构图中仅出现一次。调用关系只能从上到下。不严格表示模块的调用次序,习惯上从左到右。17第第4 4章章 软件概要设计软件概要设计 软件结构设计优化准则软件结构设计优化准则 1.模块独立性准则模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 软件工程 知识点 总结
限制150内