- 2
- 0
- 约1.13万字
- 约 20页
- 2017-10-10 发布于江苏
- 举报
来自第三方的LabVIEW设计模式——面向组件的设计
5.5 来自第三方的LabVIEW设计模式——面向组件的设计(LCOD)[上](LabVIEW design patterns from a third party - a component oriented design (LCOD))
版本 5?
创建于: 2011-2-8 下午8:34 作者 jwdz - 最后修改:? 2011-2-18 上午7:01 作者 jwdz
?????? 面向组件的设计模式——LCOD(LabVIEW Component Oriented Design)来自于Jon Conway,Steve Watts所著的《A Software Engineering Approach to LabVIEW》一书(原版2003)。该书的译者:罗宵、周毅等,中文版书名为:《软件工程方法在LabVIEW中的应用》(中译本2006年) 。
?
?????? 笔者相信许多LabVIEW开好者和开发者都不止一次的、认真的读过此书。但是,从直接的信息反馈来看(主要来自网评),大家对此书的内容褒贬不一。甚至有读者认为此书 苦涩难懂、不易理解。
?
?????? 这本书的确不易读懂,笔者也曾不止一次的读过此书,尽管某些地方到现在还无法认识和真正的理解,但是每次认真读后都会有些体会。?????? 笔者认为:本书从软件工程的角度,提出了LabVIEW面向组件的设计模式。尽管面向组件的设计模式在LabVIEW的设计中尚未成为主流(或者根本就不会成为主流的设 计方法),但是它的设计思想和原则会给我们提供很好的设计借鉴。
?
?
5.5.1 软件工程中好的软件——松耦合、强内聚、信息隐藏和封装
?
?????? 与基于文本的编程语言相比LabVIEW图形化语言似乎天生就具备了好软件的要求,因为图形化代码本身就具备——松耦合、强内聚、信息隐藏、抽象的特点,应该讲这些特点 绝对是毋庸置疑的。
?
?????? 尽管如此,在图形化设计中,我们还是会遇到这样或那样的问题。比如:程序代码的重用问题;代码维护的问题、程序运行是否安全可靠等等问题。这些问题不是图形化语言特有的 ,而是所有语言都面临的问题,也就是软件工程所要求的。如果在设计之初我们就按照软件工程的要求安排和思考设计方案,我们就会将问题降到最少、将问题的影响降到最低。
?
图形化代码的松耦合、强内聚
?
松耦合
?
?????? 软件设计中的耦合指——程序模块间无关程度的度量。如果两个模块间很少交互,那么我们称之为松散耦合。如果两个模块间交互程度很高,则称之为紧密耦合。
?
?????? 众所周知,图形化代码是基于数据流运行机制的,所以VI间的耦合(数据流动)是不可可少、必然存在的。?????? 但是,从耦合的角度来看,人们自然非常希望每个VI的输入、输出连线应最少,并且应该将数据处理过程尽可能的包含在VI中,输出仅仅包含最终的有效数据。?????? 书中提供了一个松耦合测量系统的示例。参见下图。
?
?????????????? 图 -1 松耦合示例(中译本-图 3.7)
?
?????? 上图所示的测量系统可以完成某测试系统中的所有测量功能。你所要做的就是告诉它要测量什么,在输出端就会得到相应的数据结果(这是一个组件)。
?
?????? 在LabVIEW中,最能体现松耦合的实例就是多功能信号发生器。如果已经确定其它参数不会发生改变,通过枚举常量就可以任意选择输出信号类型:Sine Wave、Triangle Wave、Square Wave、Sawtooth Wave。参见下图。
?
?????????? 图 -2 松耦合的多功能信号发生器
?
?????? 松耦合能够确保整个图形化程序清晰、可读,并且易于理解设计者的目的和用途。应该是每个图形化程序设计者所追求的终极目标。
?
?????? 但是,在实际应用开发中我们仍然会遇到这样或那样的问题。比如:虚拟仪器本身要求有良好的、交互式的人机对话用户界面。这样就不可避免的使得数据在人机对话界面和程序框 图中传递,从而导致了VI间复杂的数据耦合关系存在。
?
?????? 如何减少VI间复杂的数据耦合关系,簇应该是一个很好的选择。因为簇中可以包含众多的同指向的、不同数据类型的控件。
?
?????? 面向组件的设计可以满足上面的一些要求,也是作者所一再强调采用面向组件设计的原因之一。
?
?????? 下面我们在来看看软件中的内聚。
?
强内聚
?
?????? 软件设计中的内聚指——软件模块中各组成部分的相关程度强弱的度量。相关程度越强越好。
?
?????? 对于强内聚的理解,作者给出了一个针对内聚而言比较有说服力的测试系统示例。
?
?????? 整个测试系统是由一台示波器和一台信号发生组成,并通过GPIB控制
您可能关注的文档
- 新课标一级下册美术教案.doc
- 新许特大桥双洎河水中墩施工方案(修正).doc
- 新课标下高中数学概念教学的实践与研究.doc
- 新课改下初中物理培养学生实验创新能力之探微(被教研室评为三等奖).doc
- 新课标初中物理重点课程教案77.doc
- 新课标人教版八级语文上册期末测试题.doc
- 新课标人教版高中物理必修全册经典教学案.doc
- 新课标函数的基本性质离散型随机变量的分布列.doc
- 新课标学高一下学期期中考试语文试题.doc
- 斜拉桥成桥阶段和施工阶段分析.doc
- 【华创-2026研报】负债端稳定,存单提价换量压力不大:存单周报(0112-0118).pdf
- 【华创-2026研报】华创交运低空经济周报(第 62 期):西锐发布 2026 款升级机型,仍被低估的私人飞机龙头企业.pdf
- 【财通-2026研报】公募基金周报:首个万亿级ETF基金公司诞生.pdf
- 【东方-2026研报】东方证券煤炭行业周报:煤企积极推动整合重组,煤炭行业从规模扩张转向质量提升.pdf
- 【国盛-2026研报】关注供给侧积极变化.pdf
- 【东吴-2026研报】原油周报:伊朗供应忧虑支撑,国际油价震荡上涨.pdf
- 【国联民生-2026研报】教育行业周报:各级各类教育高质量发展,人工智能重塑教育生态.pdf
- 【国联民生-2026研报】回踩幅度决定趋势强度.pdf
- 【华创-2026研报】聚焦:顺丰携手极兔,干线优势+末端能力融合,战略合作再升级:交通运输行业周报(20260112-20260118).pdf
- 【东方-2026研报】OptimusV3持续预热,继续关注机器人及智驾产业链公司.pdf
最近下载
- 施工现场各类设备机械安全监理实施细则(参考).doc VIP
- 华东交通大学2015-2016第一学期电牵专业《电机与拖动》期末A卷.doc VIP
- 储气罐专业定期检查表.docx VIP
- JB_T 14788-2024《连续延伸带式输送机》.pdf VIP
- GB 265-1988 运动黏度.pdf
- 山东省青岛市胶州市2024-2025学年七年级上学期期末历史试题(含答案).pdf VIP
- 基于概念整合理论研究母语对二语写作的影响-外国语言学及应用语言学专业论文.docx VIP
- 中国旅游地理第四章旅游区划.ppt VIP
- 《陆上风力发电机组钢混塔架施工关键材料技术规程》.pdf VIP
- 2025年AI图像识别服务合同协议合同.docx VIP
原创力文档

文档评论(0)