耦合
耦合程度取决于调用模块的方式,各个模块之间接口的复杂程度,通过接口的信息类型。
无直接耦合
两个模块之间没有直接的关系,从属于不同的模块的控制和调用,不传递任何信息。
数据耦合
两个模块之间有调用关系,传递的是简单的数据值。
标记耦合
两个模块之间传递的是数据结构。
控制耦合
一个模块调用另一个模块时,传递的是控制变量。
外部耦合
模块间通过软件之外的环境联结。
公共耦合
通过一个公共数据环境相互作用的模块间的耦合。
内容耦合
一个模块直接使用另一个模块的内部数据。通过非正常入口转入另一个模块内部。
内聚
一个模块内部各个元素彼此结合的紧密程度。
偶然内聚
一个模块内的各处理元素之间没有任何联系。
逻辑内聚
模块内执行若干个逻辑上相似的功能。
时间内聚
把需要同时执行的动作组合在一起。
过程内聚
一个模块完成多个任务,这些任务必须按指定的过程执行。
通信内聚
模块内的所有元素都在同一个数据结构上的操作。
或者使用相同的输入数据,或者产生相同的输出数据。
顺序内聚
各个元素密切相关于同一个功能,且必须顺序执行。
功能内聚
模块内所有元素共同完成一个功能,缺一不可。