内聚
1.偶然内聚
模块的各成分之间没有关联,只是把分散的功能合并在一起。
例:A模块中有三条语句(一条赋值,一条求和,一条传参),表面上看不出任何联系,但是B、C模块中都用到了这三条语句,于是将这三条语句合并成了模块A。模块A中就是偶然内聚。
2.逻辑内聚
逻辑上相关的功能被放在同一模块中。
例:A模块实现的是将对应的人员信息发送给技术部,人事部和财政部,决定发送给哪个部门是输入的控制标志决定的。模块A中就是逻辑内聚。
3.时间内聚
模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素才有关联。
例:编程开始时,程序员把对所有全局变量的初始化操作放在模块A中。模块A中就是时间内聚。
4.过程内聚
模块内部的处理成分是相关的,而且这些处理必须以特定的次序进行执行。
例:用户登陆了某某网站,A模块负责依次读取用户的用户名、邮箱和联系方式,这个次序是事先规定的,不能改变。模块A中就是过程内聚。
5.通信内聚
模块的所有成分都操作同一数据集或生成同一数据集。
例:模块A实现将传入的Date类型数据转换成String类型,以及将Date类型数据插入数据库,这两个操作都是对“Date类型数据”而言的。模块A中就是通信内聚。
6.顺序内聚
模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入。
例:模块A实现将传入的Date类型数据转换成String类型,然后再将转换好的String类型数据插入数据库。模块A中就是顺序内聚。
7.功能内聚
<