没有合适的资源?快使用搜索试试~ 我知道了~
强内聚松耦合与测试的关系
3星 · 超过75%的资源 需积分: 10 10 下载量 158 浏览量
2009-05-29
09:42:56
上传
评论
收藏 3KB TXT 举报
温馨提示
试读
2页
描述强内聚、松耦合与它们分别与测试的关系
资源推荐
资源详情
资源评论
首先我们引出内聚与耦合的两个概念.内聚(Cohesion)是一个模块内部各成分之间相关联程度的度量。耦合(Coupling)是模块之间依赖程度的度量。内聚和耦合是密切相关的,与其它模块存在强耦合的模块通常意味着弱内聚,而强内聚的模块通常意味着与其它模块之间存在弱耦合。模块设计追求高内聚,低耦合。
内聚按强度从低到高有以下几种类型:
软件测试专业网站:51Testing软件测试网
(1)偶然内聚。如果一个模块的各成分之间毫无关系,则称为偶然内聚。
(2)逻辑内聚。几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。软件测试专业网站:51Testing软件测试网
(3)时间内聚。如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
(4)过程内聚。如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。软件测试专业网站:51Testing软件测试网
(5)通信内聚。如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。软件测试专业网站:51Testing软件测试网
(6)顺序内聚。如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
(7)功能内聚。模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚
耦合的强度依赖于以下几个因素:
软件测试专业网站:51Testing软件测试网
(1)一个模块对另一个模块的调用;软件测试专业网站:51Testing软件测试网
(2)一个模块向另一个模块传递的数据量;
(3)一个模块施加到另一个模块的控制的多少;软件测试专业网站:51Testing软件测试网
(4)模块之间接口的复杂程度。
软件测试专业网站:51Testing软件测试网
耦合按从强到弱的顺序可分为以下几种类型:
软件测试专业网站:51Testing软件测试网
(1)内容耦合。当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。软件测试专业网站:51Testing软件测试网
(2)公共耦合。两个以上的模块共同引用一个全局数据项就称为公共耦合。软件测试专业网站:51Testing软件测试网
(3)控制耦合。一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合。
(4)标记耦合。模块间通过参数传递复杂的内部数据结构,称为标记耦合。此数据结构的变化将使相关的模块发生变化。软件测试专业网站:51Testing软件测试网
(5)数据耦合。模块间通过参数传递基本类型的数据,称为数据耦合。
内聚按强度从低到高有以下几种类型:
软件测试专业网站:51Testing软件测试网
(1)偶然内聚。如果一个模块的各成分之间毫无关系,则称为偶然内聚。
(2)逻辑内聚。几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。软件测试专业网站:51Testing软件测试网
(3)时间内聚。如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
(4)过程内聚。如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。软件测试专业网站:51Testing软件测试网
(5)通信内聚。如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。软件测试专业网站:51Testing软件测试网
(6)顺序内聚。如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
(7)功能内聚。模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚
耦合的强度依赖于以下几个因素:
软件测试专业网站:51Testing软件测试网
(1)一个模块对另一个模块的调用;软件测试专业网站:51Testing软件测试网
(2)一个模块向另一个模块传递的数据量;
(3)一个模块施加到另一个模块的控制的多少;软件测试专业网站:51Testing软件测试网
(4)模块之间接口的复杂程度。
软件测试专业网站:51Testing软件测试网
耦合按从强到弱的顺序可分为以下几种类型:
软件测试专业网站:51Testing软件测试网
(1)内容耦合。当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。软件测试专业网站:51Testing软件测试网
(2)公共耦合。两个以上的模块共同引用一个全局数据项就称为公共耦合。软件测试专业网站:51Testing软件测试网
(3)控制耦合。一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合。
(4)标记耦合。模块间通过参数传递复杂的内部数据结构,称为标记耦合。此数据结构的变化将使相关的模块发生变化。软件测试专业网站:51Testing软件测试网
(5)数据耦合。模块间通过参数传递基本类型的数据,称为数据耦合。
资源评论
- wr20052014-08-20感谢分享,但没什么实质的内容
dyubo
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功