首页 > 其他分享 >软件工程中内聚的分类

软件工程中内聚的分类

时间:2023-05-29 15:00:10浏览次数:54  
标签:分类 元素 Cohesion 软件工程 举例 模块 内聚 类型

在软件工程中,内聚是用来衡量模块内部功能联系紧密程度的概念。有不同的内聚类型,其中包括偶然内聚、逻辑内聚、过程内聚和通信内聚。下面是对每种内聚类型的简单说明和举例:

  1. 偶然内聚(Coincidental Cohesion):偶然内聚指的是模块内的元素之间没有明确的功能联系,它们仅仅是因为某种偶然的原因而被组合在一起。这种内聚类型是最低级别的内聚,通常会导致代码难以维护和理解。

举例:一个模块中包含了各种无关的函数,这些函数之间没有共享的数据或交互行为,它们只是被放在同一个模块中。

  1. 逻辑内聚(Logical Cohesion):逻辑内聚指的是模块内的元素按照某种逻辑关系相关联,共同实现一个或多个功能。这种内聚类型是较高级别的内聚,模块内的元素在逻辑上相互关联,共同解决某个问题。

举例:一个处理订单的模块,包含了创建订单、查询订单、修改订单等函数,它们在逻辑上都与订单处理相关。

  1. 过程内聚(Procedural Cohesion):过程内聚指的是模块内的元素按照某种执行顺序相关联,共同完成一项任务或处理一种情况。这种内聚类型要求模块内的元素按照特定的过程顺序执行。

举例:一个排序模块,包含了选择排序、冒泡排序、插入排序等函数,它们按照不同的排序算法的过程顺序执行。

  1. 通信内聚(Communicational Cohesion):通信内聚指的是模块内的元素通过共享数据进行交流和协作,彼此依赖于共享的数据或信息。这种内聚类型要求模块内的元素在完成任务时通过通信实现协作。

举例:一个用户管理模块,包含了添加用户、删除用户、更新用户信息等函数,它们通过共享的用户数据进行交流和协作。

需要注意的是,内聚类型并不是绝对的,一个模块可能同时具有多种内聚类型的特点,但通常会有一种主导。理想情况下,我们希望模块具有高内聚和低耦合,即模块内元素之间的功能联系紧密,同时与其他模块之间的依赖关系较弱。这有助

于提高代码的可维护性、重用性和扩展性。

标签:分类,元素,Cohesion,软件工程,举例,模块,内聚,类型
From: https://www.cnblogs.com/sap-jerry/p/17440455.html

相关文章

  • 最简单理解高内聚低耦合
    低耦合:耦合就是元素与元素之间的连接,感知和依赖量度。这里说的元素即是功能,对象,系统,子系统,模块。例如:现在有方法A和方法B我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就不能正常的工作,那么就说元素A和元素B耦合耦合带来的问题:当元素B变更或者不存在时,都将影响......
  • 什么是高内聚、低耦合
    什么是高内聚、低耦合?起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独......
  • 软件工程课程总结
    光阴似箭,日月如梭,不知不觉已经到了期末,在此简单做一下对软件工程这门课的课程总结。在学习软件工程课程的这一学期中,我通过王建民老师的讲解和实践操作,学习到了很多软件开发的基本理论知识和开发方法。感谢王建民老师对我们的耐心指导和教授。在软件开发中,团队合作是非常重要的。......
  • 学英语必须记牢的十类词性分类及用法
    英语语法最最基础的就是词性了,因为后续的各种时态变化、从句很多的考点都是结合词性才产生的!要想学好语法,那就一定要打牢词性这个基础!今天皮卡丘总结整理了常考词类的详解+用法+考点。01、词性的分类词类又叫词性,英语单词根据其在句子中的功用,可以分成十个大类。1.名词nounn.......
  • 软件工程期末总结
    软件工程期末总结作为一门涉及到实际应用的学科,软件工程在我的学习中给我带来了巨大的启示和认识。这门课程的学习,不仅丰富了我的知识面,还让我深刻地体会到了自主学习的重要性。在这篇期末总结中,我将分享我学习软件工程时的体会和思考。一、认识软件工程软件工程是研究如何高效......
  • 软件工程的问题
    我长期以来一直是这个应用程序的用户,它一直快速、响应迅速且易于使用。然而,在上周的一次更新之后,启动时间从不到一秒钟大幅增加到超过15秒。唯一明显的变化是添加了一个新的启动界面和更新了用户界面。我经常发现自己在质疑为什么工程师们会给应用程序添加某些功能,却无意中引发......
  • 软件工程课程本学期总结
    大二下学期过的很快,一转眼也快结束了;不能不让人感叹一句光阴似箭,时间从来不等人,这是我本学期的课程总结。在这个学期中,我学习了大量的软工相关的知识,从专业课程到项目实践,从个人开发到团队合作,这种全方位的学习方式让我感到收获很多。我在这个学期中遇到的一些问题,以及通......
  • 软件工程日报——《人间》读书笔记
    总结以下《人件》这本书中涉及到的几个概念和建议1、帕金森定律帕金森定律讲述了如下的定律:如果一个很平庸的人作了管理,那么摆在它面前的只有三条路:退位给有能力的人。使用比自己更优秀的属下。运用比自己还平庸的手下。第一条路和第二条路一般是个有欲望的人,都不会采取,......
  • 2023.5.28——软件工程站立会议(阶段二)
    站立会议内容:1.整个项目预期的任务量:目前已经花的时间:剩余的时间:2.任务看板照片: 3.团队照片: 4.产品状态:最新做好的功能:正在完成中5.燃尽图:......
  • 2023.5.28——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......