软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准。划分模块的一个准则就是高内聚低耦合。
耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。
模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。
内聚和耦合密切相关,同其它模块存在强耦合关系的模块常意味着弱内聚,强内聚常意味着弱耦合。 耦合度可分为七级。
a)非直接耦合:
两模块间没有直接关系,之间的联系完全是通过主模块的控制和调用来实现的
b)数据耦合:
一个模块访问另一模块,彼此间通过简单数据参数来交换输入、输出信息。这里的简单数据参数不同于控制参数、公共数据结构或外部变量。
c)标记耦合:
如一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,不是简单变量。
d)控制耦合:
一个模块通过传递开关、标志、名字等控制信息,明显的控制选择另一模块的功能
e)外部耦合:
一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数传递该全局变量的信息
f)公共耦合:
一组模块都访问同一个公共数据环境。该公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
g)内容耦合:
一个模块直接修改另一个模块的数据,或直接转入另一个模块
内聚度是指内部各元素之间联系的紧密程度,模块的内聚种类通常可分为7种,按其内聚度从低到高的次序依此为:偶然内聚、逻辑内聚、瞬时内聚、过程内聚、通信内聚、顺序内聚、功能内聚。
解耦 和耦合 啥意思?能帮我讲明白吗?不要求专业术语,只要懂
解耦:是指使含有多个变量的数学方程变成能够用单个变量表示的方程组。
耦合:是指能量从一个介质(例如一个金属线、光导纤维)传播到另一种介质的过程。
一、解耦
数学中解耦是指使含有多个变量的数学方程变成能够用单个变量表示的方程组,即变量不再同时共同直接影响一个方程的结果,从而简化分析计算。通过适当的控制量的选取,坐标变换等手段将一个多变量系统化为多个独立的单变量系统的数学模型,即解除各个变量之间的耦合。
最常见的有发电机控制,锅炉调节等系统。软件开发中的耦合偏向于两者或多者的彼此影响,解耦就是要解除这种影响,增强各自的独立存在能力,可以无限降低存在的耦合度,但不能根除,否则就失去了彼此的关联,失去了存在意义。
二、耦合
在电子学和电信领域,耦合ǒu hé(英语:coupling)是指能量从一个介质(例如一个金属线、光导纤维)传播到另一种介质的过程。
在电子学中,耦合指从一个电路部分到另一个电路部分的能量传递。例如,通过电导性耦合,能量从一个电压源传播到负载上。
利用电容器允许通过交流成分、阻挡直流成分的性质,可以将电路的交流部分和直流部分耦合起来。变压器也可以充当耦合介质,通过在两端配置适当的阻抗,可以达到适当的阻抗匹配。
扩展资料
耦合的种类包括:
1、多场耦合
2、能量耦合
3、数据耦合
4、标记耦合
5、控制耦合
6、外部耦合
7、公共耦合
8、内容耦合
9、非直接耦合
10、另类情况
参考资料
什么是耦合关系?
什么是耦合关系?
耦合关系是指某两个事物之间如果存在一种相互作用、相互影响的关系,那么这种关系就称"耦合关系"。
例如电学里面的数据耦合,指的就是一个模块访问另一个模块时,彼此之间是通过简单数据参数来交换输入、输出信息的。这种概念下面的,之间的关系就是耦合关系。
高内聚、低耦合的含义是什么?如何提高代码的可重用性?
百科粘过来的,你看看:
基本解释
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
高内聚
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
低耦合
耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是: 一个完整的系统,模块与模块之间,尽可能的使其独立存在。 也就是说,让每个模块,尽可能的独立完成某个特定的子功能。 模块与模块之间的接口,尽量的少而简单。 如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。 这样有利于修改和组合。[1]
编辑本段为什么要追求高内聚和低耦合
软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的粒度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。 高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。 高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。[2]
什么是高耦合低内聚?
高耦合低内聚:块间联系高,块内联系低。
其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。
而耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
扩展资料:
程序开发中的低耦合高内聚
模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。
形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要加其他的类引入接口,就像电脑上的usb接口。
一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
在程序开发中,尽量做到低耦合高内聚,这样程序的维护成本以及可读性也会大大增强。
参考资料来源:百度百科-高内聚低耦合
做有限元分析 什么软件最专业
ANSYS
ANSYS软件是融结构、流体、电场、磁场、声场分析于一体的大型通用有限元分析软件。由世界上最大的有限元分析软件公司之一的美国ANSYS开发,它能与多数CAD软件接口,实现数据的共享和交换,如Pro/Engineer,NASTRAN,Alogor,I-DEAS,AutoCAD等,是现代产品设计中的高级CAD工具之一。
CAE的技术种类有很多,其中包括有限元法(FEM,即FiniteElementMethod),边界元法(BEM,即BoundaryElementMethod),有限差法(FDM,即FiniteDifferenceElementMethod)等。每一种方法各有其应用的领域,而其中有限元法应用的领域越来越广,现已应用于结构力学、结构动力学、热力学、流体力学、电路学、电磁学等。
ANSYS有限元软件包是一个多用途的有限元法计算机设计程序,可以用来求解结构、流体、电力、电磁场及碰撞等问题。因此它可应用于以下工业领域:航空航天、汽车工业、生物医学、桥梁、建筑、电子产品、重型机械、微机电系统、运动器械等。
软件主要包括三个部分:前处理模块,分析计算模块和后处理模块。
前处理模块提供了一个强大的实体建模及网格划分工具,用户可以方便地构造有限元模型;
分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,可模拟多种物理介质的相互作用,具有灵敏度分析及优化分析能力;
后处理模块可将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。
软件提供了100种以上的单元类型,用来模拟工程中的各种结构和材料。该软件有多种不同版本,可以运行在从个人机到大型机的多种计算机设备上,如PC,SGI,HP,SUN,DEC,IBM,CRAY等。
ANSYS的前处理模块主要有两部分内容:实体建模和网格划分。
●实体建模
ANSYS程序提供了两种实体建模方法:自顶向下与自底向上。自顶向下进行实体建模时,用户定义一个模型的最高级图元,如球、棱柱,称为基元,程序则自动定义相关的面、线及关键点。用户利用这些高级图元直接构造几何模型,如二维的圆和矩形以及三维的块、球、锥和柱。无论使用自顶向下还是自底向上方法建模,用户均能使用布尔运算来组合数据集,从而“雕塑出”一个实体模型。ANSYS程序提供了完整的布尔运算,诸如相加、相减、相交、分割、粘结和重叠。在创建复杂实体模型时,对线、面、体、基元的布尔操作能减少相当可观的建模工作量。ANSYS程序还提供了拖拉、延伸、旋转、移动、延伸和拷贝实体模型图元的功能。附加的功能还包括圆弧构造、切线构造、通过拖拉与旋转生成面和体、线与面的自动相交运算、自动倒角生成、用于网格划分的硬点的建立、移动、拷贝和删除。自底向上进行实体建模时,用户从最低级的图元向上构造模型,即:用户首先定义关键点,然后依次是相关的线、面、体。
●网格划分
ANSYS程序提供了使用便捷、高质量的对CAD模型进行网格划分的功能。包括四种网格划分方法:延伸划分、映像划分、自由划分和自适应划分。延伸网格划分可将一个二维网格延伸成一个三维网格。映像网格划分允许用户将几何模型分解成简单的几部分,然后选择合适的单元属性和网格控制,生成映像网格。ANSYS程序的自由网格划分器功能是十分强大的,可对复杂模型直接划分,避免了用户对各个部分分别划分然后进行组装时各部分网格不匹配带来的麻烦。自适应网格划分是在生成了具有边界条件的实体模型以后,用户指示程序自动地生成有限元网格,分析、估计网格的离散误差,然后重新定义网格大小,再次分析计算、估计网格的离散误差,直至误差低于用户定义的值或达到用户定义的求解次数。
分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,可模拟多种物理介质的相互作用,具有灵敏度分析及优化分析能力;
后处理模块可将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。
软件提供了100种以上的单元类型,用来模拟工程中的各种结构和材料。该软件有多种不同版本,可以运行在从个人机到大型机的多种计算机设备上,如PC,SGI,HP,SUN,DEC,IBM,CRAY等。
目前最新版本ANSYS12.0
系统之间采用松耦合方式有什么优点?
使用松耦合系统的好处有两点:
一点是它适应变化的灵活性;
另一点是当某个服务的内部结构和实现逐渐发生改变时,不影响其他服务。而紧耦合则是指应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当发生变化时,某一部分的调整会随着各种紧耦合的关系引起其他部分甚至整个应用程序的更改,这样的系统架构就很脆弱了。
转载请注明出处51数据库 » 软件耦合度分析 耦合度的软件设计中概念
此人已葬终南山



