开发者社区> dandan911217> 正文

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

简介:
+关注继续查看

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

         首先介绍一下信息隐蔽

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

           然后介绍一下模块独立

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

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

           非直接耦合(独立运行)       

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
RDIFramework.NET ━ .NET快速信息化系统开发框架-第3章 软件安装、配置、运行方法
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/7979367 RDIFramework.NET ━ .NET快速信息化系统开发框架 第3章 软件安装、配置、运行方法   第3章 软件安装、配置、运行方法  3.1 软件安装   一、框架数据库的安装。
962 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20205 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18472 0
Linux用户和组管理,查看软件缓存,通过命令查看硬件信息(cpu,版本,序列号,内存,主板,内核等)
 通过修改/etc/inittab.通过这个文件修改系统的启动方式. ls –l /etc/ | more   (管道),将前面的结果交给后面的命令进行处理。 在linux中遇到问题使用man命令。 查找文件信息并将文件存储到一个制定的文件中。 ls –la > “a.txt” 创建组名: 创建组:
1893 0
+关注
98
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载