【软件工程】内聚

概念

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

偶然凝聚

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

逻辑凝聚

概念

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

判定依据:

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

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

时间凝聚

时间聚合原则

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

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

时间调整原则

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

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

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

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

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

解决。

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

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

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

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

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

学会有选择的去做事。

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

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

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

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

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

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

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

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

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

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

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

己舒服又高效的状态。

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

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

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

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

清单就可以了。

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

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

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

不试试吗?

过程内聚

概念

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

判定依据:

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

通信内聚

概念

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

判定依据:

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

顺序凝聚

概念

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

判定依据:

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

功能凝聚

概念

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

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

判定依据:

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

可维护性最好

相关推荐
holeer9 天前
【V3.0】「酒店 × 视觉AI」项目 | 需求分析说明书(软件工程概论 - 课程作业三)
人工智能·软件工程·需求分析·原型设计·总体设计·结构化设计
雾江流9 天前
Xtra 2.54.1 | Twitch直播第三方客户端,开源纯净无广
软件工程
张较瘦_10 天前
[论文阅读] AI + 教育 | 不是单纯看视频!软件工程培训的游戏化融合之道
论文阅读·人工智能·软件工程
张较瘦_10 天前
[论文阅读] AI + 软件工程 | 用统计置信度破解AI功能正确性评估难题——SCFC方法详解
论文阅读·人工智能·软件工程
@insist12310 天前
软考-软件设计师-计算机体系结构核心考点与应用
软件工程·软考·软件设计师
零一iTEM11 天前
Bambu Studio 在Windows上无法启动
笔记·软件工程·学习方法
yzx99101311 天前
重构边界:软件工程与计算机科学的未来就业方向深度观
重构·软件工程
木枷12 天前
KIMI-DEV: AGENTLESS TRAINING AS SKILL PRIORFOR SWE-AGENTS
人工智能·软件工程
木枷14 天前
SWE-smith: Scaling Data for Software Engineering Agents
人工智能·软件工程
郝学胜-神的一滴14 天前
在Vibe Coding时代,学习设计模式与软件架构
人工智能·学习·设计模式·架构·软件工程