软件工程-耦合内聚

耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

 

  1. 非直接耦合:指两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。
  2. 数据耦合: 指两个模块之间通过数据参数(基本类型的数据,不是控制变量、全局简单变量、公共数据结构)交换信息。

                    --相当于高级语言的值传递

  1.  标记耦合: 指两个模块之间通过参数表(数据结构)传递记录信息。

                     --如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;

  1. 控制耦合: 指一个模块通过传递控制变量(如开关、标志等)控制选择另一个模块的功能。
  2. 外部耦合:指一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息。
  3. 公共耦合: 指一组模块通过一个公共数据环境相互作用

--公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区、任何存储介质上的文件 、物理设备等。

  1. 内容耦合: 如果发生下列情形之一,两个模块之间就发生了内容耦合。
  • 一个模块直接访问另一个模块的内部数据
  • 一个模块不通过正常入口而转入另一个模块内部
  • 两个模块有一部分程序代码重叠(只可能出现在汇编语言中)
  • 一个模块有多个入口

 

 

内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

 

 

  1. 偶然内聚: 指一个模块内的各处理元素之间没有任何联系。
  2. 逻辑内聚: 指一个模块内包含几个逻辑上相关的功能,通过传送给该模块的判定参数确定该模块应执行哪一个功能。
  3. 时间内聚: 指一个模块所包含的任务必须在同一时间段内执行。(初始化模块和终止模块就是时间内聚模块)
  4. 过程内聚:指一个模块内的处理是相关的,且必须以特定的次序执行。
  5. 通信内聚: 指模块内所有处理成分都在同一个数据结构上操作(有时称信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
  6. 顺序内聚:指一个模块的各个处理成分和同一功能相关且必须顺序执行,且一个成分的输出作为另一个成分的输入。
  7. 功能内聚: 指一个模块内各个部分都是完成某一具体功能必不可少的组成部分。

 

5 通信内聚: 指一个模块各功能部分都使用了相同的输入数据,或产生了相同的输出数据。

6信息内聚:一个模块能够完成多个功能,各个功能都在同一数据结构上操作,每一项功能有唯一的入口点。(在一个表上进行的增删改查)

 


 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值