博客首页 | 排行榜 |

csxcs366的博客--LABVIEW CVI

http://labview.weebly.com/ 群:80754347 群:78561268 群:37591940

个人档案
博文分类
检验程序模块化指标---模块化系数  2008-09-01 17:34
LABVIEW特别适合于模块化编程,模块式编程方法并非Lv的独创,在C语言中,模块化设计也是必须强调的,是非常有效的设计方法,当然C++后又出现了面向对象的设计方法,但是,随着嵌入式操作系统的兴起,对面向对象的设计方法又有了很大的争议。

labview的核心要素是数据流,但是过分滥用数据流也会有很大的问题,经常能看到一些初学者的设计,一个WHILE循环,一个屏幕都容纳不下,里面到处充斥这连线,连线端子、属性节点等,从框图上看,的确是数据流了,但是这种数据流是杂乱章的,有个形象的名字形容它,“意大利面条”,估计和中国的炒面也差不多少,总而言之,是无头绪的。出现这个问题的根本原因是没有真正理解数据流。

我们可以用水流动来生动地说明这个问题。

小溪汇聚成河流,河流汇聚成湖泊,湖泊通过出口汇聚成长江的支流,个个支流汇聚成长江。
这个过程中,水流是不断地流动的,但是针对其中每一个部分,又是一个完整的系统,他的外部接口不过是水的流入和流出,对于长江,它是不和最基本的小溪直接由关系的。从计算机编程的角度来看,这是典型的模块式结构。

模块式编程,LV中一般说的是基于组件的,这也是个概念理解的问题。组件可以理解成完成多个功能模块组成的大的模块,这个组件可以完成一复杂的功能,但是输入输出接口却很简单。从数据流的角度来说,一个组件内部,数据按照自己的规则在流动,可能是非常复杂的。但是对外却只有几个简单的数据流动通道。
这种思维方式,在实际生活中随处可见,比如汽车是由发动机、变速箱、底盘等几个系统组成,虽然每个系统内部非常复杂,但是对外接口却是非常简单的。

从LV的角度来看,就是组件的数据封装问题。

概念比较好理解,但是如何衡量我们做的程序是否模块化了?

LV 编程风格的作者提出了一个量化的方法,“模块化系数”。

他是这样定义模块化系数的:程序中VI的数量除以总的节点的数量乘以100。
这个系数越大,表明平均一个VI中所含节点数相对越少,则模块化越强。

他提出的原则是:模块化系数应该大于3.0

我们在做程序设计时,可以参考这个原则.



类别:LABVIEW编程风格 |
上一篇:LV编程风格之非严格意义的"智能更新" | 下一篇:labview的深入探索------顺序结构是"结构"吗?
以下网友评论只代表其个人观点,不代表本网站的观点或立场