网络工程师培训知识点:模块耦合性

网络工程师 责任编辑:keuuin 2013-11-29

添加老师微信

备考咨询

加我微信

摘要:耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。

4.2.3【网络工程师培训知识点】模块化与信息隐蔽

信息隐蔽是指,每个模块的实现细节对于其它模块来说是隐蔽的。就是说,模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。通常有效的模块化可以通过定义一组独立的模块来实现,这些模块相互间的通信仅使用对于实现软件功能来说是必要的信息。通过抽象,帮助我们确定组成软件的过程(或信息)实体,通过信息隐蔽,则可定义和实施对模块的过程细节和局部数据结构的存取限制。

一般采用两个准则度量模块独立性。即模块间的耦合和模块的内聚。

2、耦合性

耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。

一般模块之间可能的连接方式有七种,构成耦合性的七种类型:

内容耦合:如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。在内容耦合的情形,被访问模块的任何变更,或者用不同的编译器对它再编译,都会造成程序出错。这种耦合是模块独立性最弱的耦合。

公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。外部耦合引起的问题类似于公共耦合,区别在于在外部耦合中不存在依赖于一个数据结构内部各项的物理安排。

控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。因此,对被控制模块的任何修改,都会影响控制模块。另外,控制耦合也意味着控制模块必须知道被控制模块内部的一些逻辑关系,这些都会降低模块的独立性。

标记耦合:如果一组模块通过参数表传递记录信息,就是标记耦合。事实上,这组模块共享了某一数据结构的子结构,而不是简单变量。这要求这些模块都必须清楚该记录的结构,并按结构要求对记录进行操作。

数据耦合:如果一个模块访问另一个模块时,彼此之间是通过数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称这种耦合为数据耦合。数据耦合是松散的耦合,模块之间的独立性比较强。

非直接耦合:如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。这种耦合的模块独立性最强。

例:内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求     .

A. 高内聚,高耦合B. 高内聚,低耦合

C. 低内聚,高耦合D. 低内聚,低耦合

试题分析:

模块独立性是由内聚性和耦合性两个定性指标来度量的。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。软件设计时应力求高内聚、低耦合。

试题答案:B.

返回目录:网工知识点全析及训练第4章系统开发、运行

编辑推荐:

网工知识点全析及训练第一章 网络工程师指南

网工知识点全析及训练第二章 计算机硬件知识

网工知识点全析及训练第三章操作系统基础知识

 网络管理员考试时间

网络管理员考试    网络管理员考试大纲


更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!