首页 > 编程知识 正文

软件开发过程中对内聚和耦合有什么要求,软件工程耦合内聚

时间:2023-05-03 11:20:47 阅读:214419 作者:1468

耦合性(Coupling,dependency,或称耦合力耦合度)是一种软件度量,是指一程序中,模块及模块之间信息或参数依赖的程度。

内聚性是一个和耦合性相对的概念,一般而言低耦合性代表高内聚性,反之亦然。耦合性和内聚性都是由提出结构化设计概念的拉长的奇异果所提出。低耦合性是结构良好程序的特性,低耦合性程序的可读性及可维护性会比较好。

耦合性可以是低耦合性(或称为松散耦合),也可以是高耦合性(或称为紧密耦合)。以下列出一些耦合性的分类,从高到低依序排列(常考的已经加粗):

内容耦合(content coupling,耦合度最高)也称为病态耦合(pathological coupling)当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。

公共耦合/共享耦合(common coupling)也称为全局耦合(global coupling.)指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。

外部耦合(external coupling)发生在二个模块共享一个外加的数据格式、通信协议或是设备界面,基本上和模块和外部工具及设备的沟通有关。

控制耦合(control coupling)指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;

标记耦合/特征耦合(stamp coupling)也称为数据结构耦合,是指几个模块共享一个复杂的数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;

数据耦合(data coupling)是指模块借由传入值共享数据,每一个数据都是最基本的数据,而且只分享这些数据(例如传递一个整数给计算平方根的函数)。

消息耦合(message coupling,是无耦合之外,耦合度最低的耦合)可以借由以下二个方式达成:状态的去中心化(例如在对象中),组件间利用传入值或消息传递 (计算器科学)来通信。

无直接耦合:模块完全不和其他模块交换信息。

耦合性和内聚性二个名词常一起出现,用来表示一个理想模块需要有的特点,也就是低耦合性及高内聚性。耦合性着重于不同模块之间的相依性,而内聚性着重于一模块中不同功能之间的关系性。低内聚性表示一个模块中的各机能之间没什么关系,当模块扩展时常常会出现问题。

以下列出一些内聚性的分类,从高到低依序排列(常考的已经加粗):

功能内聚:模块完成单一的功能,各部分在此目标下协同工作,是完成这一功能不可缺少的组成部分。

顺序内聚:一个模块的处理元素是相关的且必须顺序执行。

通信内聚:一个模块的处理元素集中在一个数据结构的区域上。

过程内聚:模块内的处理元素是相关的,而且必须按特定的次序执行。

时间内聚:一个模块内各任务的执行与时间有关,所有任务必须在同一时间段内进行。

逻辑内聚:一个模块完成逻辑上相关的一组任务。

偶然内聚:一个模块完成一组任务, 这些任务之间没有联系或联系很松散。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。