Page 25 - 计算机应用软件开发技术研究
P. 25
第一章 软件工程
模块的独立程度是评价设计好坏的重要度量标准。衡量软件的模块独立性使
用耦合性和内聚性两个定性的度量标准。
(1)内聚性
内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。内聚是从功
能角度来度量模块内的联系。
内聚有如下的种类,它们之间的内聚性由弱到强排列为:
偶然内聚:指一个模块内的各处理元素之间没有任何联系。
逻辑内聚:指模块内执行几个逻辑上相关的功能,通过参数确定该模块完成
哪一个功能。
时间内聚:把需要同时或顺序执行的动作组合在一起形成的模块为时间内聚
模块。例如初始化模块,它顺序地为变量置初值。
过程内聚:如果一个模块内的处理元素是相关的,而且必须以特定次序执行
则称为过程内聚。
通信内聚:指模块内所有处理功能都通过使用公用数据而发生关系。这种内
聚也具有过程内聚的特点。
顺序内聚:指一个模块中各个处理元素和同一个功能密切相关,而且这些处
理必须顺序执行,通常前一个处理元素的输出就是下一个处理元素的输入。
功能内聚:指模块内所有元素共同完成一个功能,缺一不可,模块已不可再
分。这是最强的内聚。
内聚性是信息隐蔽和局部化概念的自然扩展。一个模块的内聚性越强则该模
块的独立性越强,作为软件结构设计的设计原则,要求每一个模块的内部都具有
很强的内聚性,它的各个组成部分彼此都密切相关。
(2)耦合性
耦合性是模块间互相连接的紧密程度的度量。
耦合性取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接
口。耦合可以分为下列几种,它们之间的耦合度由高到低排列为:
内容耦合:如一个模块直接访问另一模块的内容,则这两个模块称为内容
耦合。
公共耦合:若一组模块都访问同一全局数据结构,则它们之间的耦合称之为
公共耦合。
·13·

