北京网站制作建设公司,网站建设百度推广,宝塔网站做301重定向,wordpress 留言给站长发邮件模块的独立性很重要#xff0c;因为有效的模块化(即具有独立的模块)的软件比较容易开发出来。 独立的模块比较容易测试和维护。
模块的独立程度可以由两个定性标准度量#xff0c;这两个标准分别称为内聚和耦合。
耦合
耦合是对一个软件结构内不同模块之间互连程度的度量。…模块的独立性很重要因为有效的模块化(即具有独立的模块)的软件比较容易开发出来。 独立的模块比较容易测试和维护。
模块的独立程度可以由两个定性标准度量这两个标准分别称为内聚和耦合。
耦合
耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度进入或访问一个模块的点以及通过接口的数据。 模块耦合分为数据耦合、控制耦合、特征耦合、公共环境耦合、内容耦合。
数据耦合
两个模块彼此间通过参数交换信息而且交换的信息仅仅是数据那么这种耦合称为数据耦合。数据耦合是低耦合。系统中至少必须存在这种耦合。
控制耦合
传递的信息中有控制信息(尽管有时这种控制信息以数据的形式出现)则这种耦合称为控制耦合。控制耦合是中等程度的耦合。
特征耦合
当把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素时就出现了特征耦合。
公共环境耦合
当两个或多个模块通过一个公共数据环境相互作用时它们之间的耦合称为公共环境耦合。 公共环境可以是全程变量、共享的通信区、内存的公共覆盖区、任何存储介质上的文件、物理设备等。 公共环境耦合的复杂程度随耦合的模块个数而变化当耦合的模块个数增加时复杂程度显著增加。
只有两个模块有公共环境耦合有下面两种可能。
(1) 一个模块往公共环境送数据另一个模块从公共环境取数据。这是数据耦合的一种形式是比较松散的耦合。 (2) 两个模块都既往公共环境送数据又从里面取数据这种耦合比较紧密介于数据耦合和控制耦合之间。
内容耦合
最高程度的耦合是内容耦合。如果出现下列情况之一两个模块间就发生了内容耦合。 一个模块访问另一个模块的内部数据。 一个模块不通过正常入口而转到另一个模块的内部。 两个模块有一部分程序代码重叠(只可能出现在汇编程序中)。 一个模块有多个入口(这意味着一个模块有几种功能)。 应该坚决避免使用内容耦合。
总之耦合是影响软件复杂程度的一个重要因素。 应该采取下述设计原则 尽量使用数据耦合少用控制耦合和特征耦合限制公共环境耦合的范围完全不用内容耦合。