模块独立性(1)

首先介绍两个概念:信息隐藏和局部化

信息隐藏:使得一个模块内包含的信息(数据和过程)对于不需要这些信息的模块来说是不能访问的。

局部化:是指把一些关系密切的软件元素物理地放的彼此靠近。

 

在我们开发软件,应用模块化原理时,自然会产生的一个问题就是如何分解软件,才能得到较好的一组模块(即便于维护和修改的)呢?隐藏这时候就派上了用场。按照它设计的模块,独立的模块间仅仅交换那些为了完成系统的功能而必须交换的信息。绝大多数数据和过程对于软件的其他部分而言是隐藏的,当我们在以后修改的时候,就减少我们由于疏忽而引入的错误。而且我们在修改时,不必将代码量动的太多。

 

而模块独立性是模块化、抽象、信息隐藏和局部化概念的直接结果。判断模块独立程度可以由两个定性标准度量。耦合与内聚。

 

1)偶然性内聚:当模块内各部分之间没有联系,即使有联系,这种联系也是松散的,则称这种模块为偶然内聚,它是内聚程度最低的模块。例如,一些没有任何联系的语句可能在许多模块中重复使用,程序员为了节省存储,则把他们抽出来组成一个新的模块。这个模块就是偶然性内聚模块。如图

 

 

2) 具有逻辑性内聚的模块,通常是由若干个逻辑功能相似的成分组成。
例如,图是一个用于计算全班学生平均分和最高分的模块,无论是计算那种分数,都要经过读入 全班学生分数,进行计算,输出计算结果等步骤,实际上除了中间的一步须按不同的方法计算 外,前、后这两步都是相同的,这两种在逻辑相似的功能放在一个模块中,几可省去程序中的重 复部分
例如:根据输入的控制信息,或从文件中读入一个记录,或向文件写出一个记录,如图所示,这 种模块是单入口多功能模块。
    逻辑内聚模块比偶然内聚模块的内聚程度要高。因为它表明了各部分之间在功能上的相关关系。 但它所执行的不是一种功能,而是执行若干功能中的一种。因此它不易修改。另外,当调用时需 要进行控制参数的传递,这就增加了模块间的偶合程度

 

 

若一个模块完成的任务在逻辑上相同或相似,如 X,Y,Z,W 分别调用 A,B,C,D, 而模块 A,B,C,D 却完成 的任务相似(如产生各种类型的全部输出),则我们把 A,B,C,D 合并成一个模块 ABCD ,那么我们 称模块 ABCD 就是逻辑模块

 

 

 

3) 信息性内聚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值