1. 软件工程中的五种耦合,各举一个例子。
数据耦合
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语句
2. 耦合方式有哪些
多场耦合:比如炼钢的时候温度高低对于应力分布就有影响。这种多个物理场相互叠加的问题就叫做多场耦合问题,也是一种耦合。
能量耦合:如变压器的初级与次级之间的能量耦合。
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址。
3. 如何计算耦合协调度
不知道大家有没有注意过,在新闻联播或者一些政府讲话中,常常会听到协调发展这个词。
比如国家经济发展与社会民生的协调发展情况,也或者城市化与生态环境交互协调发展情况,也或者科技创新与产业结构协调发展情况等。
那么应该如何对某个事物的协调发展水平进行量化评价呢,其中一种方法就是构建耦合协调度模型。
耦合协调度模型用于分析事物的协调发展水平。耦合度指两个或两个以上系统之间的相互作用影响,实现协调发展的动态关联关系,可以反映系统之间的相互依赖相互制约程度。协调度指耦合相互作用关系中良性耦合程度的大小,它可体现出协调状况的好坏。
耦合协调度模型共涉及3个指标值的计算,分别是耦合度C值,协调指数T值,耦合协调度D值。并且最终结合耦合协调度D值和协调等级划分标准,最终得出各项的耦合协调程度。
案例: 当前有计算出某城市2011~2016共6年的经济效益和社会效益数据。希望通过耦合协调度模型计算出城市发展的耦合协调程度,以及城市发展的耦合协调等级水平。
注: 一般模型中包含多层指标,可使用熵值法、主成分分析、层次分析法等方法计算各层次的指标权重,以得到综合得分。
(1)无纲量化处理
一般在进行耦合协调度模型分析前,需要对数据进行标准化或归一化处理等,以消除量纲影响。此时可使用SPSSAU【生成变量】功能中的[标准化]或[归一化]。
如果数据处理后出现数值为0(也或者数据本身就为数字0),因此,可在处理结果后需加上一个略大于零的正数, 比如采用加 0.001 进行处理。
(2)耦合协调度分析
使用路径: [综合评价]--[耦合协调度]。
分析前需要设定指标权重,该值由专业知识而定,默认情况下,SPSSAU认为所有分析项的权重一致。如果想自己设置,可通过“指标权重”进行设置。
(3)结果分析
本次针对某市2011~2016共6年的经济效益和社会效益数据进行耦合协调度分析(上表格中第1项~第6项,事实上就是2011~2016年的意思)。上表格可以看到,随着年份的变化(从2011~2016),耦合协调程度逐渐变好,从轻度失调到优质协调。
具体耦合协调度D值用于耦合协调等级及划分标准如下表格,研究人员可根据标准进行判断。
最后可将结果整理成表格形式,如下图。
更多干货内容登录SPSSAU查看。
4. 电路中的耦合是指什么
分类: 资源共享 >> 文档/报告共享
解析:
耦合是指两个实体相互依赖于对方的一个量度.分为以下几种:
非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合
(1) 一个模块直接访问另一个模块的内部数据;
(2) 一个模块不通过正常入口转到另一模块内部;
(3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中);
(4) 一个模块有多个入口。
耦合强度
耦合的强度依赖于以下几个因素:(1)一个模块对另一个模块的调用;(2)一个模块向另一个模块传递的数据量;(3)一个模块施加到另一个模块的控制的多少;(4)模块之间接口的复杂程度。
耦合按从强到弱的顺序可分为以下几种类型:
(1)内容耦合。当一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。
(2)公共耦合。两个以上的模块共同引用一个全局数据项就称为公共耦合。
(3)控制耦合。一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块的动作根据信号值进行调整,称为控制耦合。
(4)标记耦合。模块间通过参数传递复杂的内部数据结构,称为标记耦合。此数据结构的变化将使相关的模块发生变化。
(5)数据耦合。模块间通过参数传递基本类型的数据,称为数据耦合。
(6)非直接耦合。模块间没有信息传递时,属于非直接耦合。
如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合。
5. 内容耦合
定义:
是指一个模块依赖另一个模块的内部作业(例如,访问另一个模块的局 域变量),因此修改第二个模块处理的数据(位置、形态、时序)也就影响了第一个模 块。
拿现实生活的洗衣机的运行举个例子:
假设程序运行包含一下模块:
(1) 风干弄块(控制转筒的旋转)
开始旋转, 转筒转速达到1000降速,速度降低到100,加速旋转。
(2)洗衣机盖子保护(打开盖子,停止转筒的旋转)
(3)转筒控制模式
模块(1)(2)的运行都会影响3的状态,特别时模块2(不同阶段的控制不一样)
如果以(3)为一个模块
则有这样的方式
if(盖子保护){
转筒状态 = 停止
}
else if(加速状态 == 模块2.设置状态){
转筒状态 = 加速
}
else if(减速状态 == 模块2.设置状态) {
转筒状态 = 减速
}
这里我们访问了模块2的内部数据,而且这个内部数据理论上应该是私有的,所以就发生了内容耦合,模块2的局部变量状态会影响3的运行。
风险点:
如果我们需要更改模块2的运行机制,分为加速,保持,减速,状态,那么模块3也需要进行更改。
更改方式:
if(盖子保护){
转筒状态 = 停止
}
else if(模块2正在运行){
转筒状态 = 模块2设置需求函数;
}
模块2设置需求函数
{
返回加速,保持或减速。
}
成功解除了数据耦合(局部变量访问的问题)
6. 耦合途径的6种模型
耦合指从一个电路部分到另一个电路部分的能量传递。例如,通过电导性耦合,能量从一个电压源传播到负载上。利用电容器允许通过交流成分、阻挡直流成分的性质,可以将电路的交流部分和直流部分耦合起来。变压器也可以充当耦合介质,通过在两端配置适当的阻抗,可以达到适当的阻抗匹配。
耦合方式:
1、多场耦合
2、能量耦合
3、数据耦合
4、标记耦合
5、控制耦合
6、外部耦合
7、公共耦合
8、内容耦合
7. visio如何画电路图耦合电路
visio画电路图耦合电路的具体步骤如下所示:
1、在PSIM中绘制想要画的电路图;
2、全选PSIM中绘制好的电路图——注意选择“Edit->Copy to clipboard”中的“Metafile format”;
3、新建一个Visio文件,然后Ctrl+V;
4、在刚刚粘贴的Visio图上单击右键“组合->取消组合”;
5、然后就可以随心所欲地设置Visio图中的线条颜色、粗细等属性了。
8. 什么是耦合关系
耦合关系是指某两个事物之间如果存在一种相互作用、相互影响的关系,那么这种关系就称”耦合关系“。这种耦合关系在电学里面经常存在。
数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。
内容耦合:内容耦合是最紧的耦合程度,一个模块直接访问另一模块的内容,则称这两个模块为内容耦合。
公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
标记耦合:一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。其实传递的是这个数据结构的地址。
控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。
外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
(8)数据耦合图怎么画扩展阅读
耦合相关标准:
耦合强度,依赖于以下几个因素:
1、一个模块对另一个模块的调用;
2、一个模块向另一个模块传递的数据量;
3、一个模块施加到另一个模块的控制的多少;
4、模块之间接口的复杂程度。
9. 为每种类型的模块耦合举一个具体例子
耦合是对一个软件结构内不同模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度, 进入或访问某一模块的点,以及通过接口的数据,一般模块之间可能的连接方式有7种,构成耦合的7种类型,它们之间的关系为: 低 耦合性 高
非直接耦合
数据耦合
标记耦合
控制耦合
外部耦合
公共耦合
内容耦合
强 独立性 弱
下面举例说明以上各种耦合:
a.非直接耦合(Nondirect Coupling)在这种情况下,两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。例如在实数的运算中,有两个模块分别完成几个实数的求和,求乘积功能,这两个模块之间没有直接联系,只有在主模块调用中有执行的前后顺序而已,这个例子即属于非直接耦合。
b.数据耦合(Data Coupling)即一个模块访问另一个模块时,彼此之间是通过数据参数来交换输入,输出信息的,这种耦合为数据输入,输出信息的这种耦合为数据耦合。如有两个模块,其中A完成两个烽的比较,求出其中最大的并返回该值,模块B是完成了个数的比较,求出其中最大的并返回该最大值,为完成四个数的比较,模块B调用模块A即可完成,在这种调用关系中,模块A的运算结果作为一个参烽参加B的运算,这两个模块之间即发生数据耦合。数据耦合是松散的耦合,模块间的独立性比较强。
c.标记耦合(Stamp Coupling),即一组模块通过参数传递记录信息,这就是标记耦合。事实上,这组模块共享了这个记录,它是某一数据结构的子结构,而不是简单变量。
d.控制耦合(Control Coupling)即一个模块通过开关标志,名字等控制住处明显的控制,选择另一模块的功能,这就是控制耦合,如下 图所示,这一种耦合实质是在单一接口上实现选择多功能模块中的某项功能,如程序设计中用到多路选择结构即是最好的例子。
Switch (x)
A
B
C
e.外部耦合(External Coupling)即一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递全局数据结构,而且不是通过参数表传递全局变量的信息。如C语言中都访问被说明为extern类型的外部变量的各个模块之间即发生外部耦合。外部耦合引起的问题类似于下面要介绍的公共耦合,区别在于外部耦合中不存在依赖于一个数据结构内部各项的物理安排。
f.公共耦合(Common Coupling)若一组模块都访问同一个公共数据环境,则它们之间的耦合就是公共耦合。公共的数据环境可以是全局的数据结构,共享的通信区,内存的公共覆盖区等。如几个模块对同一个数据库的查询就属于这种耦合。公共耦合可以分为松散的公共耦合和紧密的公共耦合,其中松散的公共耦合是单向操作,如两个或多个模块对同一个文件的读操作;而紧密的公共耦合是双向的操作,如两个或多个模块对同一文件的读写操作。下面用图表示松散的和紧密的公共耦合。
公共数据公共数据
模块A模块B模块A模块B
松散的数据耦合紧密的数据耦合
g.内容耦合。即有下列情况时即出现内容耦合。 (1)一个模块访问另一个模块数据;
(2)一个模块不通过正常入口而转到另一个模块的内部; (3)两个模块有一部分代码重叠; (4)一个模块有多个入口。
模块a
模块b
a. 一个模块访问另一个模块数据
b. 两个模块有一部分代码重叠
c. 一个模块有多个入口
2、 为每种类型的模块内聚