软件工程之信息隐蔽与模块独立性

              最近看软工视频,老师提出了一个问题:信息隐蔽与模块独立性的联系,一开始我也不知道什么是信息隐蔽,模块独立还是略知一二,于是查了一下,自己总结了一些这二者之间的关系,与大家share!

         首先介绍一下信息隐蔽

         信息隐蔽是开发整体程序结构时使用的法则,即将每个程序的成分隐蔽或封装在一个单一的设计模块中,定义每一个模块时尽可能少地显露其内部的处理。信息隐蔽原则对提高软件的可修改性、可测试性和可移植性都有重要的作用。

           然后介绍一下模块独立

          模块独立是指每个模块完成一个相对独立的子功能,并且与其他模块之间的联系简单。衡量模块独立程度的度量标准有两个:耦合和内聚。

          耦合是指模块之间联系的紧密程度。耦合度越高则模块的独立性越差。按耦合度从低到高依次有7种耦合方式。       

           非直接耦合(独立运行)       

           数据耦合(用参数表传递简单数据)       

           标记耦合(传递数据结构或者一部分)       

           控制耦合(传递的信息包括控制模块的信息)       

          外部耦合(模块与软件之外的环境有关)       

          公共耦合(多个模块引用同一全局的数据区)       

          内容耦合(访问内部数据,代码重叠或者多个入口)

 

           内聚是指模块内部各元素之间联系的紧密程度内聚度越低模块的独立性越差。按内聚度从低到高依次有7种内聚种类。       

           偶然内聚(模块完成的多个任务,任务之间的关系松散)       

           逻辑内聚(模块完成逻辑相关的一组任务)       

           瞬时内聚(模块的所有任务必须在同一时间间隔内执行)       

           过程内聚(模块的处理元素相关而且按照特定的次序执行)       

           通信内聚(模块的所有元素集中在一个数据结构区域上)       

           顺序内聚(模块的处理元素相关,必须顺序执行)       

           功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)

 

          综上所述,信息隐蔽是为了减少信息外露,也是保持模块独立性的一种方式,模块设计要求“高内聚,低耦合”,尽可能使用数据耦合,避免使用公共耦合,尽量使用功能内聚,信息隐蔽可以使模块封装性提高,减少与其他模块之间的联系,见解很浅,希望各位给予意见。

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值