内聚

2024-03-16 20:08
文章标签 内聚

本文主要是介绍内聚,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。

内聚的概念

  内聚的概念是Constantine、Yourdon、Stevens等人提出的。按他们的观点,把内聚按紧密程度从低到高排列次序为偶然内聚、 逻辑内聚、时间内聚、 过程内聚、通信内聚、 顺序内聚功能内聚。但是紧密程度的增长是非线性的。偶然内聚和 逻辑内聚的模块联系松散,后面几种内聚相差不多, 功能内聚一个功能、独立性强、内部结构紧密,是最理想的内聚。

内聚强度类型

  内聚按强度从低到高有以下几种类型:

(1)偶然内聚

  如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。

(2)逻辑内聚

  几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这 类模块的修改也比较困难。

(3)时间内聚

  如果一个模块完成的功能必须在同一时间内执行(如 系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。

(4)通信内聚

  如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。

(5)顺序内聚

  如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。

(6)功能内聚

  模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。

(7)信息内聚

  模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构( 符号表),因此,它是一个信息内聚的模块。

这篇关于内聚的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816586

相关文章

两个月冲刺软考——访问位与修改位的题型(淘汰哪一页);内聚的类型;关于码制的知识点;地址映射的相关内容

1.访问位与修改位的题型(淘汰哪一页) 访问位:为1时表示在内存期间被访问过,为0时表示未被访问;修改位:为1时表示该页面自从被装入内存后被修改过,为0时表示未修改过。 置换页面时,最先置换访问位和修改位为00的,其次是01(没被访问但被修改过)的,之后是10(被访问了但没被修改过),最后是11。 2.内聚的类型 功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。 顺序内聚:

边界内聚和耦合

内聚 功能内聚 功能内聚是软件工程中一个重要的概念,它描述了一个模块内部各个元素之间的紧密程度。一个具有高功能内聚的模块意味着其内部的各个组件都共同完成一个具体的、明确的功能,并且这些组件之间的联系不是偶然的,而是因为它们共同服务于同一个功能目标。下面具体分析功能内聚的含义、场景、如何评估软件模块的功能内聚程度和实现功能内聚的挑战: 含义:功能内聚指的是模块内的所有元素都共同完成一个单一

高内聚与低耦合:工作中的重要性与应用

目录 前言 1.什么是高内聚与低耦合? 2.为什么高内聚和低耦合非常重要? 3.工作中的运用 总结 前言 在软件开发领域,高内聚与低耦合是设计原则中非常重要的概念。高内聚指的是模块内部的各个元素紧密地结合在一起,完成单一的功能,而低耦合则意味着模块之间的依赖关系较弱,彼此独立。在工作中,正确应用高内聚与低耦合可以提高代码的可维护性、扩展性和复用性。 本文将介绍这两个概念在工

设计模式和原则系列主题:如何利用迪米特法则实现“高内聚、低耦合”?

本文转自:JavaEdge 目录 1 何为“高内聚、低耦合”? 1.1  高内聚 1.2  低耦合 1.3  “内聚”和“耦合”的关系 2 迪米特法则 3 案例 3.1 不该有直接依赖关系的类之间,不要有依赖 3.2 有依赖关系的类之间,尽量只依赖必要的接口。 4 总结 4.1 高内聚、低耦合 4.2 迪米特法则 1 何为“高内聚、低耦合”? “高内聚、低耦合”能有

软件设计师考试——加密算法(对称,非对称)、重放攻击、内聚模式、scrum模型、CMM模型、MVC模式、桥接模式与适配器模式、事务具有的特性

加密算法 对称加密算法: 介绍:使用相同的密钥进行加密和解密。常见的对称加密算法包括DES、AES等。特点:加密和解密速度快,适合大数据量的加密;密钥管理相对简单。使用场合:适合于对数据进行加密传输或存储,例如在网络通信、数据库加密等领域。 非对称加密算法: 介绍:使用一对密钥,公钥用于加密,私钥用于解密。常见的非对称加密算法包括RSA、ECC等。特点:安全性高,适合于安全通信;密钥管理相对

软考高级架构师:AI通俗讲解功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚

内聚性是软件工程中的一个重要概念,它描述了一个模块内部各个元素之间的紧密程度。内聚性强的模块意味着模块内部的功能紧密相关,这通常能提高模块的可重用性和可维护性。内聚性可以分为多种类型,每种类型都有其特点和适用场景。 1. 功能内聚(Functional Cohesion) 功能内聚是最理想的内聚类型,它指模块内的所有元素都共同完成一个单一的功能。可以想象成一个咖啡机,它的设计目的就是为了冲泡咖

软件工程中的耦合和内聚

耦合 在软件工程中,耦合是一个重要的概念,用于描述模块或组件之间的相互依赖程度。 从非直接耦合到内容耦合的耦合性依次升高,所以非直接耦合是我们最想见到的结果,内容耦合是我们最不想见到的结果。 非直接耦合数据耦合标记耦合控制耦合特征耦合公共耦合内容耦合 非直接耦合 两个模块之间没有直接关系, 它们之间的联系完全是通过主模块的控制和调用实现的,这种被称为非直接耦合。 数据耦合 如果一

javascript高内聚 松耦合

高内聚 松耦合 少用全局的语句 document.getElementById("id").innerHTML 多用局部语句 $("#id").html(); $("#id").html(a); 加强型局部 this.$("#id").html(); this.$("#id").html(a);

遵循SOLID原则构建高内聚低耦合的代码

面向对象设计是软件开发中一种广泛使用的方法,它可以帮助我们构建出易于理解、维护和扩展的代码。SOLID原则是面向对象设计的五个基本原则,它们可以指导我们在实际项目中遵循最佳实践。 SOLID原则包括单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。遵循这些原则可以帮助开发者设计出高内聚、低耦合的代码,从而提高代码的可读性、可维护性和可扩展性。本文通过具体的代码示例详细阐述了这

耦合和内聚

耦合 耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。 耦合 (耦合性从低到高)非直接耦合两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。数据耦合指两个模块之间有调用关系,传递的是简单的数据值(参数)标记耦合指两个模块之间通过参数表(数据结构)传递记录信息。控制耦合指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行