希赛考试网
首页 > 软考 > 软件设计师

通信内聚,过程内聚,顺序内聚

希赛网 2024-03-22 17:28:48

内聚性是指在软件设计中用来衡量模块化的特定程度的度量标准。内聚性与耦合性是软件设计中非常重要的概念。内聚性可以按照其特性分为不同的类型,如通信内聚、过程内聚和顺序内聚。在软件设计中选择正确的内聚性类型非常重要,可以确保模块化的灵活性和可维护性。

通信内聚

通信内聚是指模块的所有操作都是关于输入和输出参数,通过参数的传递来实现操作。这种内聚性是通过控制数据共享来实现的,它最常用于面向对象编程中。模块之间通信的方式主要是通过对象,这些对象具有共同数据结构来传递信息。这种内聚性对应的示例可能是一个通用过滤器,该过滤器接受数据作为输入,然后通过不同的过滤器类型产生不同的输出,以便满足不同的需求。在这种情况下,过滤器与任何其他模块都不存在耦合关系,并且可以通过更改过滤器以进行扩展。

过程内聚

过程内聚是指模块的操作都是关于同一个事件或数据,它们进一步加强了此类数据之间的逻辑关联。在这种内聚性中,所有操作都处理相同输入和输出数据,并且顺序执行。这种内聚性的示例可以是计算费用的算法,每个计算部分都涉及相同的数据和算法,并且按照特定的顺序运行。在这种情况下,模块间的耦合度较低,并且可以通过重复运行同一模块来成为高度可重用的代码。

顺序内聚

顺序内聚是指模块的所有操作都是按照顺序执行的,这种内聚性仅在特定场合下适用,例如编写低级别的机器语言程序。这种内聚性是不建议使用的,因为它会导致代码的可维护性和扩展性下降。

无论是通信内聚还是过程内聚,都使用同一组数据输入和输出。它们之间的主要区别在于模块之间的通信是间接的还是直接的。通信内聚的示例可以是一个销售流程中的各个环节,而过程内聚可以是计算功耗的算法。

三种不同类型的内聚性也可以结合使用,最常见的模块化设计是通信内聚和过程内聚相结合。例如,一个处理数据的模块包含两个过程内聚的部分(数据验证和计算)和一个通信内聚的部分(与用户的交互)。

扫码咨询 领取资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件