内聚:一个模块内部各个元素彼此结合的紧密程度。

它是衡量一个模块内部组成部分间整体统一性的度量。

常见的内聚有七类。

1)功能内聚(Functional Cohesion)

如果一个模块内所有处理元素完成一个,而且仅完成一个功能,则称为功能内聚。

功能内聚是最高程度的内聚。但在软件结构中,并不是每个模块都能设计成一个功能内聚模块。

2)顺序内聚(Sequential Cohesion)

如果一个模块内处理元素和同一个功能密切相关,而且这些处理元素必须顺序执行,则称为顺序内聚。

3)通信内聚(Communicational Cohesion)

如果一个模块中所有处理元素都使用同一个输入数据和(或)产生同一个输出数据,称为通信内聚。

4)过程内聚(Procedural Cohesion)

如果一个模块内的处理元素是相关的,而且必须以特定的次序执行,称为过程内聚。

过程内聚与顺序内聚的区别是: 顺序内聚中是数据流从一个处理单元流到另一个处理单元,而过程内聚是控制流从一个动作流向另一个动作。

5)时间内聚(Temporal Cohesion)

如果一个模块包含的任务必须在同一段时间内执行,称为时间内聚。也称为瞬时内聚。

6)逻辑内聚(Logical Cohesion)

如果模块完成的任务在逻辑上属于相同或相似的一类,称为逻辑内聚。

7)偶然内聚(Coincidental Cohesion)

如果一个模块由完成若干毫无关系的功能处理元素偶然组合在一起的,就叫偶然内聚。

软件设计中应该:力求做到高内聚,尽量少用中内聚,不用低内聚。

转载:常见内聚种类与详解

软件工程——模块内聚类型相关推荐

  1. 【软件工程】内聚和耦合

    内聚类型(单模块内聚性:高到低) 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可. 顺序内聚:处理元素相关,而且必须顺序执行. 通信内聚:所有处理元素集中在一个数据结构的区域上. 过程内聚:处 ...

  2. 马上看懂各种内聚类型(逻辑内聚、过程内聚、顺序内聚)

    各种内聚模式 内聚概念 内聚其实是一个模块内部各成分之间相关联程度的度量.用来表示说,你这个模块里面各个元素之间关系好不好,是不是每天勾肩搭背,还是冷眼相对或者是偶尔打个招呼. 内聚类型 这里用[元素 ...

  3. boost::statechart模块实现类型信息测试

    boost::statechart模块实现类型信息测试 实现功能 C++实现代码 实现功能 boost::statechart模块实现类型信息测试 C++实现代码 #include <boost ...

  4. SFP光模块是什么? SFP光模块的类型及应用介绍!

    SFP光模块是SFP封装的热插拔小封装模块,最高速率可达10.3G,接口为LC.SFP光模块主要由激光器构成.SFP分类可分为速率分类.波长分类.模式分类.那么,什么是SFP?SFP光模块的类型及应用 ...

  5. 千兆光模块的类型都有哪些?

    千兆光模块已经是十分成熟的系列产品,常见的传输速率为1.25G,2.5G等,封装类型为SFP.千兆光模块的型号比较多,下面易天光通信(ETU-LINK)就为大家详细地介绍下千兆光模块的类型. 千兆光模 ...

  6. 光模块外形类型QSFP56你知道多少?

    过去几年,随着新技术和高速互连的发展,出现了各种光模块外形类型,其中 QSFP56 作为 QSFP 家族的一员,是针对 200G 应用的解决方案. QSFP56 与其他 QSFP 系列外形尺寸有什么区 ...

  7. 10G/40G/100G光模块的类型和应用

    近几年,数据中心10G/40G/100G光模块在市场上是普遍的发展趋势,在这种飞速的增长趋势下,全球10G/40G/100G光模块收入在总体光模块市场的占比将过半.但是,10G/40G/100G光模块 ...

  8. 无源波分和彩光模块_CWDM无源波分技术的应用及光模块的类型

    原标题:CWDM无源波分技术的应用及光模块的类型 随着大数据.云计算.5G通信的到来,数据传输速度越来越快的情况下,人们不断追求更高清的图片和视频以及画面通信质量,这导致数据中心带宽需求飞速增长,以传 ...

  9. 功能内聚C语言例子,为每种类型的模块内聚举一个具体的例子

    满意答案 qoh92ies4f 2013.07.25 采纳率:48%    等级:12 已帮助:15631人 内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展. 低内聚 ...

最新文章

  1. python 脚本_python脚本如何同时运行多个
  2. Erlang error?
  3. 出了本练内功的书:《完美软件开发:方法与逻辑》
  4. python中下拉菜单大小_自动化测试——Selenium+Python之下拉菜单的定位
  5. excel利用countif/match/lookup函数对比分析数据
  6. linux修改rm指令执行(数据安全)
  7. 苹果App Store曝出Bug 你遇到了么?
  8. python2.7.7笔记if in
  9. 51单片机跑马灯程序
  10. ps-半透明图片抠图
  11. ios降级鸿蒙,ios14更新正式版能降级到ios13.7吗 苹果ios14怎么降级方法教程
  12. solr7.4.0入门,分词,实时增量同步
  13. springmvc中ajax请求406错误响应码
  14. 机器学习: Metric Learning (度量学习)
  15. Tools/Profiler
  16. 小程序自定义导航栏组件
  17. 个人网上银行常见问题
  18. 年产1万吨L-赖氨酸干粉工厂的设计-发酵工段及车间的设计(lunwen+CAD图纸)
  19. 基于控制台的购书系统
  20. PTA 统计工龄 思路分析及代码解析

热门文章

  1. NetBIOS 介绍
  2. WebShell简介
  3. 独立版WAP模板路径,17mb的独立版手机端模板路径
  4. opencv学习日志12-大津法二值化
  5. 01背包问题——动态规划详解
  6. 人机猜拳小游戏(类和对象)
  7. 计网 - 第一章概论 - 什么是互联网?
  8. PHP 的 switch 语法
  9. asp excel导入mysql_asp实现excel中的数据导入数据库
  10. 没有鸿沟的世界-逐浪CMS全民族语言与国际版全面启航