好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件工程中的耦合.doc

5页
  • 卖家[上传人]:cl****1
  • 文档编号:504376567
  • 上传时间:2023-07-27
  • 文档格式:DOC
  • 文档大小:20.02KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软件工程中耦合简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性指导使用和维护对象的主要问题是对象之间的多重依赖性对象之间的耦合越高,维护成本越高因此对象的设计应使类和构件之间的耦合最小   有软硬件之间的耦合,还有软件各模块之间的耦合   耦合性是程序结构中各个模块之间相互关联的度量它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口   耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:   (1) 内容耦合当一个模块直接修改或操作另一个模块的数据时,或一个模块不通过不正常入口而转入另一个模块时,这样的耦合被称为内容耦合内容耦合是最高程度的耦合,应该避免使用之   (2) 公共耦合两个或两个以上的模块共同引用一个全局数据项,这种耦合被称为公共耦合在具有大量公共耦合的结构中,确定究竟是哪个模块给全局变量赋了一个特定的值是十分困难的   (3) 外部耦合 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合   (4) 控制耦合 一个模块通过接口向另一个模块传递一个控制信号,接受信号的模块根据信号值而进行适当的动作,这种耦合被称为控制耦合。

        (5) 标记耦合 若一个模块A通过接口向两个模块B和C传递一个公共参数,那么称模块B和C之间存在一个标记耦合   (6) 数据耦合模块之间通过参数来传递数据,那么被称为数据耦合数据耦合和最低的一种耦合形式,系统中一般都存在这种类型的耦合,因为为了完成一些有意义的功能,往往需要将某些模块的输出数据作为另一些模块的输入数据   (7) 非直接耦合 两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的   总结:耦合是影响软件复杂程度和设计质量的一个重要因素,在设计上我们应采用以下原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,尽量避免使用内容耦合软件工程中的耦合:  简单地说,对象之间的耦合度就是对象之间的依赖性指导使用和维护对象的主要问题是对象之间的多重依赖性对象之间的耦合越高,维护成本越高因此对象的设计应使类和构件之间的耦合最小  就是依赖性,相关性吧!!!  有软硬件之间的耦合,还有软件各模块之间的耦合  耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.一般模块之间可能的连接方式有七种,耦合性由低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。

        耦合是对一个软件结构内各个模块之间互连程度的度量  内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展  1. 什么是内聚?什么是耦合?  内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据  2. 内聚分为哪几类?耦合分为哪几类?  内聚有如下的种类,它们之间的内聚度由弱到强排列如下:   (1) 偶然内聚模块中的代码无法定义其不同功能的调用但它使该模块能执行不同的功能,这种模块称为巧合强度模块  (2) 逻辑内聚这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能  (3) 时间内聚  (4) 过程内聚  (5) 通信内聚  (6) 顺序内聚  (7) 功能内聚  耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:   (1) 内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合 1. 一个模块直接访问另一个模块的内部数据; 2. 一个模块不通过正常入口转到另一模块内部; 3.两个模块有一部分程序代码重迭(只可能出现在汇编语言中); 4.一个模块有多个入口。

        (2) 公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等  (3) 外部耦合: 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合  (4) 控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合  (5) 标记耦合:一组模块通过参数表传递记录信息,就是标记耦合这个记录是某一数据结构的子结构,而不是简单变量  (6) 数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的  (7) 非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的软件工程中 耦合2009年12月22日 星期二 17:45概述耦合是指两个或两个以上的电路元件或电网络的输入与输出之间存在紧密配合与相互影响,并通过相互作用从一侧向另一侧传输能量的现象;概括的说耦合就是指两个或两个以上的实体相互依赖于对方的一个量度。

      耦合作为名词在通信工程、软件工程、机械工程等工程中都有相关名词术语主要分类分为以下几种:非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的标记耦合:一组模块通过参数表传递记录信息,就是标记耦合这个记录是某一数据结构的子结构,而不是简单变量其实传递的是这个数据结构的地址;控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合(1) 一个模块直接访问另一个模块的内部数据;(2) 一个模块不通过正常入口转到另一模块内部;(3) 两个模块有一部分程序代码重叠(只可能出现在汇编语言中);(4) 一个模块有多个入口。

      多场耦合:现实工程中,物理场是许多的,温度场,应力场,湿度场等等均属于物理场,而我们要解决的许多问题是这些物理场的叠加问题,因为这些物理场直接是相互影响的比如炼钢的时候温度高低对于应力分布就有影响这种多个物理场相互叠加的问题就叫做多场耦合问题,也是一种耦合.相关标准耦合强度,依赖于以下几个因素:(1)一个模块对另一个模块的调用;(2)一个模块向另一个模块传递的数据量;(3)一个模块施加到另一个模块的控制的多少;(4)模块之间接口的复杂程度软件工程中耦合简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性指导使用和维护对象的主要问题是对象之间的多重依赖性对象之间的耦合越高,维护成本越高因此对象的设计应使类和构件之间的耦合最小有软硬件之间的耦合,还有软件各模块之间的耦合耦合性是程序结构中各个模块之间相互关联的度量.它取决于各个模块之间的接口的复杂程度、调用模块的方式以及哪些信息通过接口.一般模块之间可能的连接方式有七种,耦合性由低到高分别是:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合耦合是对一个软件结构内各个模块之间互连程度的度量内聚标志一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自然扩展。

      1. 什么是内聚?什么是耦合?内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据2. 内聚分为哪几类?耦合分为哪几类?内聚有如下的种类,它们之间的内聚度由弱到强排列如下:(1) 偶然内聚模块中的代码无法定义其不同功能的调用但它使该模块能执行不同的功能,这种模块称为巧合强度模块2) 逻辑内聚这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能(3) 时间内聚(4) 过程内聚(5) 通信内聚(6) 顺序内聚(7) 功能内聚耦合可以分为以下几种,它们之间的耦合度由高到低排列如下:(1) 内容耦合(2) 公共耦合(3) 外部耦合(4) 控制耦合(5) 标记耦合(6) 数据耦合(7) 非直接耦合3.什么是时间内聚?什么是公共耦合?时间内聚这种模块顺序完成一类相关功能,比如初始化模块,它顺序为变量置初值如一组模块都访问同一全局数据结构,则称之为公共耦合数据耦合sum(int a,int b){int c;c=a+b;return(c);}main(){int x,y;...printf("x+y=%d",sum(x,y));}主函数与sum函数之间即为数据耦合关系控制耦合void output(flag){if(flag)printf("OK!");else printf("NO!");}main(){int flag;......output(flag);}主函数与output函数之间即为控制耦合关系.内容耦合如goto语句公共环境耦合如FORTRAN语言中使用的common语句。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.