内聚耦合软件工程

内聚是软件工程中用来描述一个模块内部各个元素彼此结合的紧密程度的度量指标。它对于模块的独立性和可维护性有着重要影响。

内聚的类型

内聚性可以从低到高分为以下几种类型:

  1. 偶然内聚:模块内的各处理元素之间没有任何联系。这种内聚性最弱。

  2. 逻辑内聚:模块内执行几个逻辑上相关的功能,通过参数确定该模块完成哪一个功能。

  3. 时间内聚:把需要同时或顺序执行的动作组合在一起形成的模块为时间内聚模块。

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

  5. 通信内聚:指模块内所有处理功能都通过使用公用数据发生关系。

  6. 顺序内聚:一个模块中各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行。

  7. 功能内聚:模块内所有元素共同完成一个功能,缺一不可,模块已不可再分。这是最强的内聚。

内聚性的设计原则

  • 高内聚:在设计时应尽量追求高内聚,即模块的功能明确且单一。高内聚的模块独立性强,易于理解和维护。

  • 低耦合:与高内聚相对应,低耦合指的是模块之间的依赖关系尽量少,这有助于减少修改一个模块对其他模块的影响,提高系统的可维护性。

相关推荐
wixzjsh2 小时前
51单片机学习笔记|最小系统、中断、定时器+数码管动态扫描实现0~9999计数器
笔记·学习·51单片机
snow@li2 小时前
服务器运维: k3s 安装及配置的完整操作笔记
笔记
影视飓风TIM3 小时前
C++异常与RAII智能指针笔记
开发语言·c++·笔记
YHHLAI4 小时前
基于 Next.js 16 + Redis 的全栈笔记博客系统
javascript·redis·笔记
-SOLO-13 小时前
开发笔记-摸鱼输入法
笔记
疯狂打码的少年16 小时前
【计算机网络】TCP/IP协议族(四层体系结构,与OSI对比)
网络·笔记·tcp/ip·计算机网络
xqqxqxxq16 小时前
AI Agent学习:Agent协作工具技术笔记(李博杰《深入理解 AI Agent》4.6观后总结)
笔记·学习
彧azz18 小时前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
自小吃多18 小时前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
彧azz19 小时前
二叉搜索树学习记录
c语言·数据结构·笔记·算法