1.耦合分为非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合
非直接耦合:两个模块仅通过父模块联系
数据耦合:两个模块通过简单变量联系
标记耦合:通过参数表联系
控制耦合:单接口多功能,B一定是逻辑内聚,B的改变一定影响A
外部耦合:使用公共变量
公共耦合:使用公共数据结构
内容耦合:A和B代码重复(汇编出现),A直接访问B内部,A通过非正常入口访问B,B多入口
2.内聚分为偶然内聚,逻辑内聚,时间内聚,过程内聚,通信内聚,顺序内聚,功能内聚
偶然内聚:重复的代码组成一个模块,例如:将毫无关系的语句组合在一起,节省空间
逻辑内聚:单接口多功能
时间内聚:同一时间执行,如初始化模块。终止模块
过程内聚:程序流程图的部分
通信内聚:使用相同的数据
顺序内聚:必须顺序执行
功能内聚:不可分割