模块独立(内聚、耦合)
2016-08-23 16:04:05 8 举报
AI智能生成
耦合和内聚的评判标准
作者其他创作
大纲/内容
耦合
1.数据耦合 10分
两模块间通过参数交换信息,信息仅仅是数据
低耦合
2.控制耦合 5分
交换的信息中有控制信息(尽管有时以数据的形式出现)
中耦合(多余,可分解后用数据耦合代替)
3.特征耦合 5分
参数传结构体,结果只用到部分数据
容易被黑客利用
4.公共环境耦合 8分
两个或多个模块通过一个公共数据环境相互作用
4.1一个往公共环境送数据,一个从公共环境取数据
比较松散的耦合
4.2两模块都既送又取数据
比较紧密(数据耦合< 耦合程度 <控制耦合)
5.内容耦合 0分
一模块不通过正常入口转到另一模块内部
一模块有多个入口(即一个模块有几种功能)
一模块访问另一模块的内部数据
原则
尽量使用数据耦合
少用控制耦合、特征耦合
限制公共环境耦合范围
完全不用内容耦合
内聚
低内聚
偶然内聚 0分
一个模块完成一组任务,任务间即使有关系,关系也很松散
出现修改错误的概率很大
发现一组语句在两处或多处出现,于是把这些语句作为一个模块以节省内存
逻辑内聚 1分
一个模块完成的任务在逻辑上属于相同或相似的一类(如产生各种类型的全部输出)
修改局部可能影响全局,修改比较困难
时间内聚 3分
如果一个模块包含的任务必须在同一时间段内执行(比如各种初始化工作)
中内聚
过程内聚 5分
模块处理元素是相关的,且必须按照一定次序执行
用流程图划分的模块
通讯内聚 7分
如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据
高内聚
顺序内聚 9分
一个处理元素的输出数据作为下一个处理元素的输入数据
用数据流图划分模块
功能内聚 10分
模块内所有处理元素属于一个整体,完成一个单一功能
最高程度的内聚
0 条评论
下一页