软件工程 模块独立性概述

概述

在软件系统的开发中,经常会使用抽象的手段来逐步厘清整个系统,从上往下逐步细分,顶层抽象用概括的手段描述问题的处理方式,而其内的底层抽象则是将问题逐步细化分解。

而模块化开发即将一个软件分解为若干个小的部分,称为模块。每个模块都可以被独立的开发、测试,在最后才组装成完整的程序。使得整个程序的结构清晰、容易理解、测试和修改。但若模块之间关系纠缠不清则反而会增加开发的难度。

因此,提倡模块遵循高内聚、低耦合的原则,保证模块有一个较好的独立性。

另外,实际案例证明,一个模块其内部若是对其他模块是隐蔽的(即无需关心其内部实现),对软件的可修改性、可测试性、可移植性都大有裨益。因此不论出于什么原因都应该提高模块的独立性。

耦合性

模块的耦合是指 模块之间的相对独立性 ,耦合取决于各个模块接口的复杂程度、模块的调用方式等。

一般将耦合方式分为7种类型, 越靠前的指明模块间耦合性越低、独立性越高

  1. 无直接耦合——模块间没有直接的关系,它们之间没有联系,也没有数据的传递。
  2. 数据耦合——模块间有调用关系,传递最简单的数值,在高级语言中就是值传递。
  3. 标记耦合——模块间有调用关系,但传递的是数据结构。
  4. 控制耦合——其一模块调用另一个模块时传递的是控制变量,被调用的模块通过控制变量有选择的执行被调用模块的部分功能。
  5. 外部耦合——模块间通过软件外的环境联系,如利用I/O通过外部设备,通信协议等。
  6. 公共耦合——模块间被一个公共的数据空间一起影响并相互作用。
  7. 内容耦合——其一模块直接使用另一个模块的内部数据,或通过非正常入口转入模块内部执行。

内聚性

模块的内聚是指 模块内部各元素彼此结合的紧密程度 ,一个内聚程度高的模块在理想状况下应只做一件事。

内聚方式也分为7种类型, 越靠前指明模块的内聚性越高、独立性越高

  1. 功能内聚——模块内元素共同作用完成一个功能,缺一不可。
  2. 顺序内聚——模块内元素都密切相关于同一功能,且必须顺序执行。
  3. 通信内聚——模块内元素都在同一数据结构上操作。
  4. 过程内聚——一个模块内完成多个任务,但按指定的过程执行。
  5. 时间内聚——一个模块内包含多种任务组合。
  6. 逻辑内聚——一个模块内执行若干个逻辑类似的功能,用参数区别实际执行的一个,
  7. 偶然内聚——一个模块内各元素没有任何联系。

来源:GarfieldGCat

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月7日
下一篇 2019年4月8日

相关推荐