系统设计之一:模块设计

一个软件系统是由各个子系统构成的,子系统是由各个模块组成的。

模块设计的原则:模块独立

模块独立是指每个模块完成一个相对的特定子功能、并且与其他模块之间的联系简单。

衡量模块独立程度标准有两个:耦合性、内聚性。

模块独立标准:1. 耦合性; 2. 内聚性。


1. 耦合性

耦合性,是指模块之间联系的紧密程度

耦合性越高,则模块的独立性越差。

模块间耦合的高低取决于模块间接口的复杂性、调用的方式及传递的信息。

● 无直接耦合:指两个模块间没有直接的关系,它们分别从属于不同模块的控制与调用它们之间不传递任何信息。模块间耦合性最弱,模块独立性最高。

● 数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,类似于高级语言中的值传递。耦合度较低、模块间的独立性较高。

● 标记耦合:指两个模块之间传递的数据结构。如高级编程语言中的数据组名、记录名、文件名等这些名字即为标记,其实传递的是这个数据结构的地址。

● 控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调模块通过该控制变量的指有选择地执行块内的某一功能。

● 公共耦合:通过一个公共数据环境相互作用的那些模块之间的耦合。

● 内容耦合:属于程度最高的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部,这种模块之间的耦合为内容耦合,常常会出现在汇编程序设计当中。


2. 内聚性

内聚性,是指模块内部各元素之间联系的紧密程度

内聚度越低,模块的独立性越差。

● 偶然内聚:指一个模块内的各个处理元素之间没有任何联系。

● 逻辑内聚:指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

● 时间内聚:把需要同时执行的动作组合在一起形式的模块。

● 通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的输出数据。

● 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前者的元素的输出是下一个元素的输入。

● 功能内聚:是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。


系统划分模块时,尽量做到“高内聚、低耦合”,从而提高软件模块的独立性

你可能感兴趣的:(系统设计之一:模块设计)