来源:http://hi.baidu.com/rooot/blog/item/30db2308b5380ed763d98617.html
模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。
内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。内聚是从功能角度来度量模块内的联系。
内聚有如下种类,他们之间的内聚性由弱到强排列为偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
耦合性是模块间互相连接的紧密程度的度量。耦合可以分为下列几种,他们之间的耦合度由高到低排列为内容耦合、公共耦合、外部耦合、控制耦合、标记耦合、数据耦合、非直接耦合。
一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。
模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合;
内容耦合(低――高); 1无直接耦合;2数据耦合指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;3标记耦合指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址; 4控制耦合指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能。; 5公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。6内容耦合:这是最高程度的耦合,也是最差的耦合。
当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。 内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
偶然内聚;逻辑内聚;时间内聚;通信内聚;顺序内聚;
功能内聚(低――高)1偶然内聚指一个模块内的各处理元素之间没有任何联系。 2逻辑内聚指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。3时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。4通信内聚指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。5顺序内聚指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。6功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础

软件的内聚性和耦合性相关推荐

  1. 简单的说一下 软件的 内聚性 和 耦合性

    内聚性,又称块内联系.指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量. 内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标.模块中组成元素结合的越紧密,模块的内 ...

  2. “内聚性”和“耦合性”

    内聚性 又称块内联系 指***模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.*** 特性 内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标. 模块中组成元素结 ...

  3. 内聚性和耦合性的类型

    内聚性 功能内聚.主要通过操作来体现.一个模块只完成一组特定操作并返回结果. 分层内聚.由包.构件.类来体现.高层能够访问低层的服务,但低层不能访问高层的服务. 通信内聚.访问相同数据的所有操作被定义 ...

  4. 软件设计之耦合性与内聚性的区别

    耦合性 耦合性也叫块间联系,指软件系统结构中各模块间相互联系紧密程度的一种度量. 模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的 ...

  5. 软件设计:内聚性 耦合性 的总结

    内聚性    内聚性,又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量.内聚性是对一个模块内部各个组成元素之间相互结合的紧密程度的度量指标.模块中组成元素结合的越紧 ...

  6. 程序的耦合性和内聚性

    耦合性(Coupling,dependency,或称耦合力或耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度. 内聚性是一个和耦合性相对的概念,一般而言低耦合性代表高内聚性,反 ...

  7. 计算机耦合分类,耦合性 (计算机科学)

    关于与"耦合性 (计算机科学)"名称相近或相同的条目,请见"耦合". 耦合性(英语:Coupling,dependency,或称耦合力或耦合度)是一种软件度量, ...

  8. 软件架构设计之系统耦合性拆分

    软件架构设计之系统模块的拆分 基本概念 功能模块 循环依赖问题 模块拆分原则 高内聚性 低耦合性 模块拆分方式 模块拆分示例 业务需求 业务分析 项目原始代码 需求重构 项目代码重构 总结 基本概念 ...

  9. 【架构】软件代码的耦合性和内聚性,以几个简单小例子说明

    1. 起因 这篇文章应该算作前两篇文章的后续思考. 在前两篇文章中,考虑到了分层的方法,参考了别人的代码架构. [架构]工程代码结构(附带NXP.ST官方demo) [架构]嵌入式软件架构设计 模块化 ...

最新文章

  1. deb和rmp的安装
  2. 大数据量及海量数据处理算法总结
  3. C# 接口(Interface)
  4. js中的extend的用法及其JS中substring与substr的区别
  5. Java类class isAnnotationPresent()方法与示例
  6. 项目部署服务器 jstl,Springboot集成jsp及部署服务器实现原理
  7. WIFI,WiMAX和WAPI
  8. 介绍for-of循环
  9. VXLAN详解(一)
  10. [zz] 海洋环境的光能传递
  11. 选PMP培训机构看什么
  12. java json解析哪个好_java常用的几种json解析工具使用
  13. 如何修改android模拟器上的IMEI、IMSI、SIM card serial number
  14. ubuntu vsftpd
  15. 2013 CVPR点评
  16. 中国石油大学《工程概预算与招投标》第一阶段在线作业
  17. ROS2入门教程—理解话题(Topic)
  18. 世界需要简化第五篇:阅读本文需要有基础,仅一文教你快速应用FOC的SVPWM实现三相异步电机调速?快速学会使用著名的电机SVPWM调速控制算法——史上最简单易懂,算法经高度抽象简化,所有下标经仔细核对
  19. HAProxy 日志管理
  20. 汽车信息安全相关岗位招聘简章

热门文章

  1. YAML文件实例详解
  2. Linux discuz论坛搭建
  3. 怎么选择硬质合金刀具
  4. 用户端无法连接 WebSocket connection to ‘ws://xxxx.xx.com:2345/‘ failed:Error in connection establish
  5. R循环有两个_R语言for循环
  6. R语言 for循环中sprintf函数无法输出的问题
  7. 【论文分享】WindRanger: A Directed Greybox Fuzzer driven by Deviation Basic Blocks
  8. 程序员帮公司赚了700万,公司就奖励一件糟糕的T恤?
  9. Flowable深入浅出-6 Flowable-Modeler详述之常见问题Table act_ge_property doesn‘t exist
  10. 请允许我介绍一下Hadoop之父Doug Cutting以及Hadoop历史版本