- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五、模块的独立性 指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。 (1)耦合度(coupling) 耦合度是模块间联系强弱的度量。 如果一个模块在不需要另一个模块的情况下,能够完整地执行其功能,则称它们完全独立。 “紧耦合”是指模块间的连接强;“松耦合”是指模块间的连接弱;“无耦合”即完全独立。 软件结构设计的目标是尽量实现松耦合系统。 影响耦合度的因素包括: 联系方式的类型——模块间存在着不同的方式进行联系,耦合度从低到高排列如下。 直接的控制和调用——独立性最强 间接的通过参数传递 公共数据(包括模块外部的全局变量等) 模块间的直接引用,即直接引用其他模块的数据或控制指令——耦合度最强,程序难以理解,难以编写,是一种病态的联系方式,一般不应使用。 接口的复杂性 接口的复杂性不光是指通过接口的纯数据量,而且是穿过接口的数据的次数,类型希望越少越好。 例如当几个模块在一个公共数据上工作时,一个模块的改变,可能造成另外一些模块的错误。 若有M个模块,共享N个数据的公共区,则可以产生M?(M-1)?N种联系,修改一处,就要考虑很多模块。 联系的作用——联系传送的信息所起的作用可以分为数据型、控制型及混合型三种。 混合型联系和控制型联系的耦合度高。 一般来说,控制型耦合是不必要的,可以通过分裂模块的方法把控制型耦合转变为数据型耦合。 从信息论的观点出发,控制耦合中总有一部分是不必要的,是可以消除的,因此只要有数据耦合就可以解决一些问题。 耦连时间 按执行时间、装入时间、连接时间及编译时间来区分,参数确定越晚,就越容易修改,越灵活。 耦合度是评价程序结构质量的重要指标,耦合度越小,则每个模块越容易独立地被理解、编写和修改。同时每个模块的错误越不容易扩散蔓延到其他模块。 为了降低耦合度,可以采用消耦技术,就是用系统的方法消除模块间的耦合强度,使模块独立性更强。 (2)内聚度(cohesion) 内聚度是模块所执行任务的整体统一性度量。 与耦合度相对应,内聚度是指一个模块本身内部的问题。每个模块的内聚度是模块独立(模块内部单元之间的紧密约束和相关)的程度。 高度内聚模块的好处:便于查找错误、减少复杂性、简化设计、维护方便、利于重用。 在一个系统中,单个模块的内聚度越高,模块之间的耦合度就越低,在实际应用中这两个度量标准也是一致的。 对内聚度进行度量时,结构化设计方法可以按层次由低到高对内聚度进行排列,根据不同的模块联系将内聚情况分为七层。 (i)偶然性内聚 为了节约一些存储空间而把无关系的任务组合在一起,形成一个没有任何意义的集合。 (ii)逻辑性内聚 把逻辑上相似的功能结合到一个模块中,这种内聚会带来不易修改、不易理解、效率低等问题。 (iii)时间性内聚 在某一时间同时执行的任务放在同一模块称为时间性内聚,比逻辑性内聚要强,实现简单。 (iv)过程性内聚 模块内的各处理单元相关,按特定次序执行,称为过程性内聚。 (v)通信性内聚 模块中的成分需要用同样的数据时称为通信性内聚。 (vi)顺序性内聚 模块的各成分利用相同的输入或产生相同的输出。对数据来说,其先后次序都依赖于前一成分的执行情况,因此耦合度较高。 (vii)功能性内聚 把为了完成一个确定任务所需的全部功能组合在一起,称功能性内聚,这是最强的内聚。 如果系统由前三层组成,其内聚度是不可接受的,如果由后三层组成,则认为是可接受的。要尽量达到功能性内聚。 六、软件结构图 结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系。 软件结构一般用树状或网状结构的图形表示。 (1)结构图 在软件工程中一般采用Yourdon等人提出的结构图工具来表示软件结构。 结构图描述了系统由哪些模块组成,表示了模块之间的调用关系。 结构图使用了流程图的符号: ◇矩形表示模块,矩形中标示模块名。 ◇从一个模块到另一个模块的箭头指出了第一个模块中包含了一个或多个到第二个模块的调用。 调用是指采用任何机制对模块的引用,调用过程中在箭头旁标注所要传递的参数。 ◇标注还指出了数据传递的方向。 A B X,Y Z 左图中,从模块A到B的箭头表示模块A中包含了一个或多个到模块B的调用。X、Y包含了从A到B所传递的数据,Z是从B所传回的数据。 如果一个参数从A传到B,然后模块B对其进行了修改并传回A,则它在两个方向上都要出
您可能关注的文档
最近下载
- jtge20-2011公路工程沥青及沥青混合料试验规程.pdf VIP
- 露天矿采石场安全知识培训课件(插图80张).docx VIP
- 中国的文人与士大夫文化传统.pptx VIP
- 2024届高考作文主题训练偶然与必然(含解析) .pdf VIP
- 02-新型储能趋势:新型储能技术创新趋势分析.pdf VIP
- GB∕T3280-2024不锈钢冷轧钢板和钢带.pptx VIP
- 2025年三级中式烹调师(高级)职业技能鉴定参考试题库(含答案).docx VIP
- 商务英语视听说教程4(第2版)习题参考答案.pdf VIP
- 冰淇淋本部冷冻饮品生产工艺作业指.pdf VIP
- “多测合一”收费指导标准(示范文本) .pdf VIP
原创力文档


文档评论(0)