`
xitongyunwei
  • 浏览: 929954 次
文章分类
社区版块
存档分类
最新评论

模块独立性与高内聚低耦合

 
阅读更多

模块独立程度的度量标准

1)耦合 不同模块之间的互联程度的度量

2)内聚 模块内部彼此结合的紧密程度的度量

模块耦合度越高模块独立性越低

模块内聚度越高模块独立性越高

高内聚,低偶合

耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

低偶合:类与类之间的关系而定,高,意思是他们之间的关系要简单,明了,不要有很强的关系,不然,运行起来就会出问题。一个类的运行影响到其他的类。 一个模块内各个元素彼此结合的紧密程度。即块内联系大。

内聚:是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

高内聚:类内部的方法而言。把程序的功能尽量分散,别在一个类里只写一个或很好的方法,因为那样会给你的调试等带来很多问题。出了错你都不知道在什么地方。一个软件结构内不同模块之间互连程度的度量,即块间联系小。

按耦合度从低到高依次有7种耦合方式:
非直接耦合(独立运行)
数据耦合(用参数表传递简单数据)
标记耦合(传递数据结构或者一部分)
控制耦合(传递的信息包括控制模块的信息)
外部耦合(模块与软件之外的环境有关)
公共耦合(多个模块引用同一全局的数据区)
内容耦合(访问内部数据,代码重叠或者多个入口)

按内聚度从低到高依次有7种内聚种类:
偶然内聚(模块完成的多个任务,任务之间的关系松散)
逻辑内聚(模块完成逻辑相关的一组任务)
时间内聚(模块的所有任务必须在同一时间间隔内执行)
过程内聚(模块的处理元素相关而且按照特定的次序执行)
通信内聚(模块的所有元素集中在一个数据结构区域上)
顺序内聚(模块的处理元素相关,必须顺序执行)
功能内聚(模块完成单一的功能,各个部分协调工作,而且不可缺少)

分享到:
评论

相关推荐

    软件开发中的问题:什么是高内聚、低耦合?

    软件开发中的问题什么是高内聚低耦合?起因模块独立性指每个模块只完成系统要求的独立子功能并且与其他模块的联系最少且接口简单两个定性的度量标准――耦合性和内聚性。耦合Coupling是模块之间依赖程度的度

    图解高内聚与低耦合.docx

    模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立性越差. 比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互, 则视为弱耦合. 独立的模块便于扩展, 维护, 写单元...

    模块独立思维导图-耦合、内聚的种类

    在软件工程领域中,模块独立思维导图是描述模块的内聚性(Cohesion)和耦合性(Coupling)的一种重要工具。模块的内聚性是指模块内部各个元素之间相关性的度量,而耦合性则是指模块之间相互依赖的程度。以下是一些...

    高内聚低耦合原则_动力节点Java学院整理

    耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准

    软件工程习题4.doc

    一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( )。 二、选择题 1.设计软件结构一般不确定( )。 A.模块的功能 B.模块的接口 C.模块内的局部数据 D.模块间的调用关系 2.结构化设计方法是一种面向( )...

    软件工程题库2023年

    衡量模块独立性的两个定性标准是内聚和耦合。 耦合是指对一个软件结构内不同模块彼此之间互相依赖(连接)的紧密程度;而内聚则标志一个模块内部各个元素彼此结合的紧密程度。 在我们的软件设计中,关于模块独立性...

    [详细完整版]30软件工程.doc

    D、转向语句 6、模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的 一类是( D ) A、顺序性内聚 B、过程性内聚 C、逻辑性内聚 D、功能性内聚 7、模块( C ),则说明模块的独立性越强。...

    运用装饰者写的c++咖啡厅点餐系统_C++_点餐系统装饰_

    这样对以前编写好的整个系统的影响是很小的,也就是说系统的耦合性比较的弱,模块与模块之间的独立性比较强! 类的扩展性非常的好! 这是非常符合面向对象系统设计所追求的“高内聚”,“低耦合”的目标的!

    2软件工程名词解释.docx

    模块独立性 7. 耦合性 8. 无直接耦合 9. 数据耦合 10. 标记耦合 11. 控制耦合 12. 公共耦合 13. 内容耦合 14. 内聚性 15. 偶然内聚 16. 逻辑内聚 17. 时间内聚 18. 通信内聚 19. 顺序内聚 20. 功能内聚 21. 软件...

    认证串讲—计算机通信试题(工程师).doc

    1、计算机软件结构设计中划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以些原则优化初始的软件结构。( A ) A、正确 B、错误 2、当一台客户机需要另一台主机的IP地址时,一般它首先查询自己所在的DNS...

    毕业设计:题库与试卷生成系统(源代码)

    也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。 (3)数据表设计: 数据表的设计是指设计...

    Java+access数据库+综合评测系统+毕业设计+源码

    同时,本系统的开发采用了面向对象的方法,将系统划分模块时,尽量做到高内聚低耦合,提高模块独立性,给模块功能的增加与修改带来了方便。前台采用可移植性良好,健壮,安全性高的Java语言开发,后台采用微软的...

    期末整理 软件工程期末习题

    模块独立性 5.软件测试的目的是( B )。 A.评价软件的质量 B.发现软件的错误C.找出软件的所有错误 D.证明软件是正确的 6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法。 A. 等价类划分 B. 边界值...

    单片机模块化编程串口中断怎么处理

     “高内聚,低耦合”  高内聚:一个C文件里面的函数,只有相互之间的调用,而没有调用其它文件里面的函数,这样可以视为高内聚。尽量减小不同文件里函数的交叉引用。  低耦合:一个完整的系统,模块与模块之间...

    1软件工程第四章.doc

    软件工程 作业三 1. 简述软件设计阶段的主要工作内容。... 提高方法: 改进软件结构,通过分解或合并模块,降低耦合、提高内聚。 4. 简述结构化程序的基本特征。 答:一个程序的代码块仅仅通过顺序、选择和循环三种

    软件工程-填空题.pdf

    模块的独立程度可以由两个定性标准度量,这两个标准分别是内聚和耦合。 12.总体设计的第二项任务是设计软件的结构,即确定模块以及模块之间的关系。 13.如果模块内所有元素都使用同一个输入数据和产生同一个输出,...

    基于JAVA的网络通讯系统设计与实现

    (2) 合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性,尽量保证低耦合,高内聚。 (3) 采用封装的思想,根据模块的不同情况进行类的...

    软件工程知识点汇总.doc

    软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚 、耦合)、依赖倒转原则、开闭原则等 1. 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。 模块是...

    2005-2012年全国计算机二级VF真题及答案

    A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各...

    软件工程作业四1

    1、螺旋模型综合了( )的优点,并增加了风险分析 2、设计软件结构一般不确定( ) 3、模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( ) 4、Jack

Global site tag (gtag.js) - Google Analytics