软件工程——模块的独立性

目录

一、模块独立性

二、耦合

三、内聚


一、模块独立性

定义: 是指软件系统中每个模块只涉及软件要求的具体的子功能, 而和软件系统中其它模块的接口是简单的。

模块独立性的度量准则:模块间的耦合模块间的内聚

耦合:是模块之间的互相连接的紧密程度的度量。(模块之间的连接越紧密联系越多,耦合性就越高,而其模块独立性越弱)

内聚:是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。(一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高,相对地,它与其他模块之间的耦合性就越低,而模块独立性就越强)

 模块独立性比较强的模块应是高内聚低耦合的模块。

二、耦合

耦合是程序结构中各个模块之间相互关联的度量,它取决于各个模块之间接口的复杂程度、调用模块的方式以及通过接口的信息类型。

(1)非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非直接耦合的模块独立性最强

(2)数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量)  来交换输入、输出信息的。

(3)标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。

(4)  控制耦合:如果一个模块传递给另一个模块的参数中包含了控制信息,该控制信息用于控制接受模块中的执行逻辑,则它们之间的耦合称为控制耦合。

(5)外部耦合:若一组模块都访问同一个全局简单变量而不是同一全局数据结构,而且不是通过参数表传递全局变量的信息。

(6)公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

(7)内容耦合:

        1)一个模块直接访问另一个模块的内部数据。  

        2)一个模块不通过正常入口转到另一模块内部。  

        3)两个模块有一部分程序代码重迭。       (只可能出现在汇编语言中)。

        4)一个模块有多个入口。

        这种耦合是模块独立性最弱的。

三、内聚

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

(1)巧合内聚:当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。

(2)逻辑内聚:把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪个功能

3)时间内聚:时间内聚模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 例如:初始化模块和终止模块

(4)过程内聚:如果一个模块内的处理是相关的,而且必须以特定次序执行,则是过程内聚。

(5)通信内聚:如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之通信内聚模块。

(6)信息内聚:这个模块完成多个功能,各个功能都在同一个数据结构上操作,每一项功能有一个唯一的入口点,这个模块将根据不同的要求确定该执行哪一个功能。

(7)功能内聚:一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。功能内聚模块的内聚程度最高。

猜你喜欢

转载自blog.csdn.net/TAO1031/article/details/127756467
今日推荐