【软件工程】内聚

概念

是指一个模块内部个成分之间相互关联程度的度量。也就是说,凝聚是对模块内各处理动作组合强度的一种度量。很显然,一个模块的内聚越大越好。

偶然凝聚

一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起。这种模块也称为巧合内聚,内聚程度最低。

逻辑凝聚

概念

逻辑内聚是指模块内各个元素之间的联系程度与它们在同一逻辑上有关。即模块内的各个元素都是为了完成同一逻辑而存在的。例如,一个判断模块内的各个元素都是为了完成同一逻辑而存在的。

判定依据:

模块内的各个元素是否都是为了完成同一逻辑而存在的。

综上所述,内聚性是软件设计中非常重要的一个概念,不同等级的内聚性可以帮助我们更好地设计模块,提高软件的可维护性和可重用性。在实际开发中,我们应该根据具体情况选择合适的内聚等级,以达到最优的设计效果。

时间凝聚

时间聚合原则

模块内部的各个组成部分所包含的处理动作必须在同一时间内执行。

时间状态聚合规则不受成员安全性影响。时间状态聚合规则不受属性安全性影响。

时间调整原则

意识到时间的存在。怎么才算意识到时间呢?给自己划分几个时间块。

合理分块,那个版块解决什么问题。

比如,我一天开始的时间,需要解决起床、收拾、吃饭、踩单车上班,大概2-3小时

足够了,就算有意外也能解决。

那我就把这段时间打包,分成上班前的一块,具体怎么弄随便,反正这个时间块内要

解决。

是要知道自己做的事,大概需要多少时间。这个实际就是你的时间明细,做一件事,

一定是先了解情况,才能做出正确判断。如果你都不知道,自己一天做了什么事,什么事

花费了多少时间,那你再牛的时间管理都不起作用。

其实,所谓没有时间,只要你看看自己的时间账本,就合理的规划管理方法了。所谓

管理,就是避免浪费,提高效率,就这么简单。

学会有选择的去做事。

很多时候,觉得时间不够用,是因为没有用在对的地方。时间管理最核心的一点,其实就是避免浪费,提高效率,这个很重要,就再啰嗦一遍。

当然,每次都做出正确的时间选择很难,但是有些事你必须去做,我们经常羡慕别人

厉害,他们为什么厉害,不就是去选择做了哪些你不喜欢的事。本质上大家都一样,都喜

欢玩,都喜欢拖延,但是总有一批人克服了自己,选择难做的事。

避免浪费,提高效率,用这8个字指导自己,你会发现,时间管理很简单,就是把时

间和任务做好匹配就行了。道理也很简单,你不是时时刻刻都精神饱满,也不是每时每刻

都斗志昂扬,所以我们也要灵活安排。

具体来说有3个原则帮你做出好选择:精力好的时候,做难的事。正常的事,看情况

安排,计划赶不上变化,学会灵活安排。如果你觉得很累,可以先休息一下,站起来走两

步。人没有状态的时候,坐在哪里硬熬只是浪费时间,你非要在困的时候,去做困难的事,

这个不是自找苦吃。最牛的计划,就是合理安排,这个没有人可以教,主要是你要找到自

己舒服又高效的状态。

不做计划,是因为计划很难实现,要做清单是因为人总是忘记,清单是为了提醒自己。

要想做好时间管理,要用清单来辅助自己。

我们大部分人的生活都是重复,每天起来,要做什么事,都已经成为习惯了,心理都

是门清。如果你还没有找到自己的节奏,可以用工具记录清单,当你熟悉以后,在心理做

清单就可以了。

今天我要去做什么,都有什么事,记在手机上,比如,我们要写周边,不写就请咖啡,

这个就可以设置一个提醒,有时候事不难,可能你只是忘记了。你一旦使用清单,你会发

现自己的效率居然提升了很多,不仅该做都会事完成了,还有空看看电视,你说这种好事

不试试吗?

过程内聚

概念

过程内聚是指模块内各个元素之间的联系程度与它们在同一过程中的执行有关。即模块内的各个元素都是为了完成同一过程而存在的。例如,一个登录模块内的各个元素都是为了完成登录过程而存在的。

判定依据:

模块内的各个元素是否都是为了完成同一过程而存在的。

通信内聚

概念

通信内聚是指模块内各个元素之间的联系程度与它们共享某些数据有关。即模块内的各个元素都是为了共享某些数据而存在的。例如,一个打印模块内的各个元素都是为了共享打印数据而存在的。

判定依据:

模块内的各个元素是否都是为了共享某些数据而存在的。

顺序凝聚

概念

顺序内聚是指模块内各个元素之间的联系程度与它们在同一顺序下的执行有关。即模块内的各个元素都是按照一定的顺序执行的。例如,一个排序模块内的各个元素都是按照一定的顺序执行的。

判定依据:

模块内的各个元素是否都是按照一定的顺序执行的。

功能凝聚

概念

功能内聚是指模块内各个元素之间的联系程度与实现某一功能有关。即模块内的各个元素都是为了实现同一功能而存在的。

一个计算器模块内的各个元素都是为了实现计算功能而存在的。

判定依据:

模块内的各个元素是否都是为了实现同一功能而存在。

可维护性最好

相关推荐
嘿黑嘿呦5 天前
chap 8排序
算法·蓝桥杯·排序算法·软件工程
旧曲重听15 天前
2026前端技术从「夯」到「拉」
前端·程序人生·职场和发展·软件工程
承渊政道5 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
apcipot_rain5 天前
计科八股20260616(1)——堆存中位数、链表判环、黑白测试、敏捷开发与瀑布模型、配置管理、持续集成、池化
数据结构·算法·软件工程
lisw056 天前
【计算机科学技术】路由器(route):概念、历史、内容与战略!
机器学习·智能路由器·软件工程
培培说证6 天前
大数据、人工智能、计算机、软件工程,到底怎么选?
大数据·人工智能·软件工程
文艺倾年7 天前
【强化学习】MDP、贝尔曼方程与CartPole 编程,20W字总结(二)
人工智能·软件工程·强化学习
郝学胜-神的一滴7 天前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
小程故事多_807 天前
AI软件工程范式革命,终结五十年的“手工伪工程”时代
人工智能·软件工程
精益数智小屋8 天前
项目管理看板如何拆解任务进度?项目管理看板解决跨部门协作难题
大数据·人工智能·数据分析·云计算·软件工程