软件工程中的耦合

软件工程中的耦合

ID:16404710

大小:25.00 KB

页数:5页

时间:2018-08-09

软件工程中的耦合_第1页
软件工程中的耦合_第2页
软件工程中的耦合_第3页
软件工程中的耦合_第4页
软件工程中的耦合_第5页
资源描述:

《软件工程中的耦合》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件工程中耦合简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。  有软硬件之间的耦合,还有软件各模块之间的耦合。  耦合性是程序结构中各个模块之间相互关联的度量。它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口。  耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:  (1)内容耦合。当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过不正常

2、入口而转入另一个模块时,这样的耦合被称为内容耦合。内容耦合是最高程度的耦合,应该避免使用之。  (2)公共耦合。两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合。在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的。  (3)外部耦合。一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。  (4)控制耦合。一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为

3、控制耦合。  (5)标记耦合。若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合。  (6)数据耦合。模块之间通过参数来传递数据,那么被称为数据耦合。数据耦合和最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据。  (7)非直接耦合。两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的  总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:

4、如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合。软件工程中的耦合:  简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。  就是依赖性,相关性吧!!!  有软硬件之间的耦合,还有软件各模块之间的耦合。  耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.一般模块之间可能的

5、连接方式有七种,耦合性由低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。  耦合是对一个软件结构内各个模块之间互连程度的度量。  内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。  1.什么是内聚?什么是耦合?  内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。  2.内聚

6、分为哪几类?耦合分为哪几类?  内聚有如下的种类,它们之间的内聚度由弱到强排列如下:  (1)偶然内聚。模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块称为巧合强度模块。  (2)逻辑内聚。这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能  (3)时间内聚  (4)过程内聚  (5)通信内聚  (6)顺序内聚  (7)功能内聚  耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:  (1)内容耦合:如果发生下列情形,两个模块之间就发生了

7、内容耦合1.一个模块直接访问另一个模块的内部数据;2.一个模块不通过正常入口转到另一模块内部;3.两个模块有一部分程序代码重迭(只可能出现在汇编语言中);4.一个模块有多个入口。  (2)公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。  (3)外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。  (4)控制耦合:如果一个模块通过传送开关、标志、名

8、字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。  (5)标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。  (6)数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。  (7)非直接耦合:两个模块之间没有直接关系,它们

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。