软件工程导论 5.2.5 耦合内聚小结

来源:互联网 发布:淘宝和购家具怎么样 编辑:程序博客网 时间:2024/06/15 23:58

模块的独立程度可以由两个定性标准度量,分别称为耦合与内聚。


1.耦合

耦合衡量不同模块彼此之间的互相依赖的紧密程度。

耦合分为以下几类:

数据耦合:两个模块间彼此通过参数交换信息,交换的信息仅仅是数据。这是一种低耦合。

控制耦合:交换的信息包含控制信息。是一种中等程度的耦合。

公共环境耦合:两个或多个模块通过一个公共数据环境相互作用。

内容耦合:一个模块访问另一个模块的内部数据

                   或 一个模块不通过正常入口而转到另一个模块的内部

                   或 两个模块有一部分代码重叠

                   或 一个模块有多个入口

应避免使用内容耦合,尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围。


2.内聚

内聚衡量一个模块内各个元素彼此间结合的紧密程度。

内聚分为以下几类:

偶然内聚:各个元素没有实质性联系。

逻辑内聚:不同功能混在一起,合用部分程序代码。

时间关系

过程内聚:模块内必须以特定次序执行。

通信内聚:所有元素都使用同一个输入数据产生同一个输出数据。

顺序内聚:处理必须顺序执行。

功能内聚:所有元素处理属于一个整体,完成一个单一的功能。

给上述内聚的优劣评分

功能内聚 10分  时间内聚 3分  

顺序内聚  9分  逻辑内聚  1分

通信内聚  7分  偶然内聚  0 分

过程内聚  5分


在软件工程中,重要的是设计时力争做到高内聚,低耦合,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度并且降低模块间的耦合程度,从而获得较高的模块独立性。

原创粉丝点击