LabVIEW 助力优化软件开发实践和源代码控制

发布者:捡漏来了最新更新时间:2011-11-08 关键字:LabVIEW  软件开发  源代码控制 手机看文章 扫描二维码
随时随地手机看文章

作为一款系统设计软件(LabVIEW可以提供搭建最先进、最具技术挑战性的系统所需的所有工程元素

随着工程应用的挑战性和复杂度日益增加(软件工程的概念也融入了系统开发之中。所谓软件工程就是可以保证软件的可扩展性和可维护性的工程开发实践。正确实施的软件工程可以提高应用程序的全局质量(提高开发者的工作效率并且降低维护成本。在这篇文章中(可以学习到如何使用LabVIEW内建专用的特性和工具来完成最佳的软件开发实践和程序源代码控制管理。

源代码控制管理
源代码控制管理是软件工程最基本的环节之一(因为它决定了如何对一个应用程序的依赖关系进行存储、组织管理以及在开发者之间共享,甚至会直接影响程序的部署。这样的过程(source code control-SCC)及相应的管理工具会在整个软件生命周期中完成这些任务,以减少人工完成这些任务可能带来的损失和风险。但是,如果没有一个合理的计划以及应用架构来保证项目自身的紧凑性和代码的模块化特点,只依靠软件来管理,则效果实在有限,所以需要对相关的概念进行学习并通过NI认证的LabVIEW系统架构师考试。


对任何一个项目来说,无论项目复杂程度高低或团队的人数多少,源代码控制都是重要且必要的。目前,很多的供应商都提供了各种不同的源代码控制工具,它们都可以用来追踪、存储和管理LabVIEW的文件。

这些工具中可以既有免费且易用的解决方案(例如Subversion),也有商业级的、具有完整生命周期管理的解决方案(例如Perforce)。


代码的重复利用对提高工作效率是非常有效的方法,但是它要求非常严格的源代码管理措施。一些高级的工具,例如VI程序包管理器,可以帮助用户有效地管理和创建可重复使用的库文件或者VI程序包,还可以智能追踪库文件的版本变化、所需依赖关系变化以及该库文件在多个LabVIEW版本之间的兼容性变化等。

应用结构化的开发方法
许多LabVIEW的程序员都经历过使用非结构化开发方法所造成的不良后果,或者,至少受到过影响。一些程序框图可以往任何一个方向进行滚动,一页又一页,没有可辩识的标志和足够的连线的帮助,甚至可以让人误认为那是一幅大都市的地图。不幸的是,这样的程序框图往往又包含需要运行的代码,所以如果有人接下了这样的应用程序,往往会觉得它令人难以添加功能和修正错误。除了程序运行风险高以及内含不可预知的程序缺陷以外,这种程序的维护成本还很高。所以,当你在接受程序任务的时候,如果对方告诉你“我们需要对代码进行重整”,那你一定要将它看成一个警告。软件工程和一个有序的可扩展的应用程序架构,可以有效地帮助你避免这样的风险以及这些风险带来的损失。


典型的软件工程是指一种人为管理的、有序的软件开发方法,在开发过程之前就已经有拟定的审核清单,以及在软件生命周期的不同阶段应该完成的任务,而这个开发实践需要做到何种程度,以及需要哪些开发工具,则是由这个工程项目自身的特点来决定的。但是,有些要素却是任何类型项目的开发都需要的。通常来说,前期的规划、开发耗时的预计都是会提前计划的,当然,这些计划同时也会增加时间和成本的消耗。[page]

虽然软件工程的模式有很多种,例如瀑布型、螺旋型或者灵活型,但它们都具有共同的开发阶段。图1中列出了各种LabVIEW的特性和工具,可以在各个开发阶段给予帮助。

图1 LabVIEW提供的各种特性和相关工具可以在不同的开发环节给你提供帮助

软件架构
通过设计应用程序的整体架构,开发者可以确保程序框架满足指定的要求,并且确保程序有良好的扩展性,在将来为系统添加新功能。进行架构设计时,需要定义系统的各个功能单元,以及不同单元之间的交互方式(通过交互接口和API),从而可以将相关性不高的单元进行解耦,以保证它们是紧凑且独立的。一个好的程序架构会综合考虑代码的可扩展性、程序模块性、可重用性和可延展性之间的平衡,同时又能够保证不会无谓地增加程序的复杂性。


NI公司提供的LabVIEW高级培训课程涵盖了所有这些概念,并且将这些概念作为CLA考试的主要部分。用户可访问ni.com/training/certification来评估自己的编程水平,以确保自己有足够的能力编写出可以经受实践检验的LabVIEW程序。

掌握LabVIEW软件工程
了解数据流编程语言的语法结构仅仅是熟练使用LabVIEW的一部分。一个坚实的软件工程理论基础和源代码控制的最佳实践可以保证你有能力管理一个开发小组,领导他们设计并实现高水平的LabVIEW系统。本文中所讨论的各种工具和开发实践可以帮助你显著地改进开发过程,使其更加合理,从而提高工作效率。

这样你和你的开发团队就可以把最主要的精力放在系统的开发上,而不是浪费在烦琐的源代码管理和设计结构重整上。所有这些概念对任何一种编程环境来说都是通用的,它们也是参加CLA考试时所必需的。

 

关键字:LabVIEW  软件开发  源代码控制 引用地址:LabVIEW 助力优化软件开发实践和源代码控制

上一篇:基于虚拟仪器的强噪声滴灌管
下一篇:使用LabVIEW开发基于32位处理器的嵌入式系统

推荐阅读最新更新时间:2024-03-30 22:20

基于LabVIEW的测温系统设计
温度是机械工业生产和科学研究实验中的一个非常重要的参数,许多系统的工作都是在一定的温度范围内进行的,需要测量温度和控制温度的场合及其广泛。目前的温度测量控制系统常采用单片机控制,该技术应用广泛,但其编程复杂,控制不稳定,系统的精度不高。而利用虚拟仪器开发和设计的温度测量系统,采用普通PC机为主机,利用图形化可视软件hbVIEW为软件开发平台,来监测温度的变化情况,采集数据并进行处理、存储、显示等。设备成本低,使用方便、灵活。 1 虚拟仪器技术与LabVIEW简介 虚拟技术、计算机通信技术与网络技术是信息技术的三大核心技术,其中虚拟仪器是虚拟技术的一个重要组成部分。在虚拟仪器系统中,用灵活、强大的计算机软件代替传统仪器的某
[测试测量]
基于<font color='red'>LabVIEW</font>的测温系统设计
应用LabVIEW与AWR软件为无线应用设计复杂电路
很多富有经验的工程师毫无怀疑的记着当仅有的调制技术是模拟调制而功放的性能可以用加性高斯白噪声(AWGN)来验证时设计一个基站或移动电话的放大器是如何的简单。现在,第二代及以后的无线网络需要用到数字调制技术,使用服务中所提供的信号来激励功放或其他电路就成为了必须。因此需要将基带信号处理和射频/微波电路设计工具与实际的产生调制信号和评估其对设计影响的测试仪器紧密的整合在一起。 此应用笔记描述了将AWR的射频/微波设计软件(Microwave Office和VisualSystem Simulator (VSS))无缝的与National Instruments的图形化编程软件环境LabVIEW,和广范的调制仪器连接在一起来较好的满
[测试测量]
应用<font color='red'>LabVIEW</font>与AWR软件为无线应用设计复杂电路
Qualcomm通过全新骁龙机器学习软件开发包让移动终端更加智能
2016年5月2日,圣迭戈 Qualcomm Incorporated(NASDAQ: QCOM)今日在加利福尼亚州圣克拉拉市举行的嵌入式视觉峰会(Embedded Vision Summit)上宣布,其子公司Qualcomm Technologies, Inc.将向高通骁龙 820处理器支持的终端提供首个深度学习软件开发包(SDK)。名为 Qualcomm骁龙神经处理引擎 的这款SDK由Qualcomm Zeroth 机器智能平台支持,并且经过优化,可利用骁龙异构计算功能向OEM厂商提供强大节能的平台,从而在终端上提供直观且颇具吸引力的、由深度学习驱动的体验。该SDK是骁龙820的最新软件增加项,将通过为我们的客户提升骁龙产品组合
[手机便携]
无线远程医疗监护系统的设计
摘要:介绍了一种基于GPRS技术的无线远程医疗监护系统。以SPCE061A为主控芯片,将数据采集模块和GPRS通信模块相结合,以无线的方式连接到Internet,由监护中心接收数据并保存到数据库中。运用LabVIEW工具进行监控中心服务器端主面板的设计与处理,实现对患者生理参数的远程监测、分析及异常情况的判断和报警。阐述了系统的总体结构,从硬件和软件两个方面说明了系统的设计及实现方法。系统具有结构简单、实时性强、传输数据量大,在自然灾害和战争中伤病员的现场抢救等方面,具有良好的应用前景。 远程医疗监护是利用远程通信技术和计算机技术实现远距离的疾病诊断、疾病治疗和健康护理等多种医学功能的一种医疗模式。它实时、连续、长时间地监测病人
[测试测量]
无线远程医疗监护系统的设计
labview中的文件格式
     
[测试测量]
<font color='red'>labview</font>中的文件格式
采用LabVIEW及CompactRIO为视力障碍人群设计半自动车辆
致力于提升并发挥失明人群经常被低估的能力,鼓励服务于视力障碍群体的技术创新开发,美国国家失明人士联合会提出建议,设计一种系统来帮助失明人群尝试从未有过的体验:驾驶。弗吉尼亚理工大学的机器人与器械实验室(RoMeLa)是唯一一个接收挑战的组织。该大学机械工程系 于2008年重新建立了高年级设计团队和大学生研究项目弗吉尼亚大学盲人驾驶挑战(BDC),他们为世界首辆可用的盲人驾驶车辆原型定义了最初的目标。 9名大学生仅花费两个学期,$3,000 USD经费就完成了设计,盲人驾驶员可安全地实现三种基本驾驶任务:在由单排的锥形交通路标定义的曲线驾驶路线中行进;预先设定的正常速度行驶;有效的紧急刹车能力以避开与障碍物的碰撞。 我们的原型平
[测试测量]
采用<font color='red'>LabVIEW</font>及CompactRIO为视力障碍人群设计半自动车辆
LabVIEW中的波形图(Waveform Chart)
  所谓曲线就是一组X与Y对应数值的图形化显示。通常曲线图中的Y值代表了数据值,而X值则代表了时间。波形图控件(waveform chart)可以在Controls工具面板的Modern Graph子面板中找到。这个控件是一个专门用来显示一个或多个数据曲线的数值类型的指示器控件。这个控件经常在循环结构中使用,用来保留与显示以前采集到的数据,并追加新产生的数据,将这些数据以连续更新的方式进行显示。在波形图控件中,Y值表示了新产生的数据,X值表示了时间(通常,每次循环就产生一组新的Y值,而X值则表示了一个循环的时间)。在 LabVIEW中只有一种波形图控件,不过这个控件有三种数据刷新模式。下图就是一个多曲线波形图的例子。 波
[测试测量]
<font color='red'>LabVIEW</font>中的波形图(Waveform Chart)
LabVIEW是一种通用的编程语言吗?
作者自传 Jeff Kodosky,1976年NI的合作创始人而且从那时起一直担任总经理。他在1978年被任命为公司的副董事长。从1980年到2000任R%26;amp;D部门的副董事长,而且最近被任命为NI 商业和技术伙伴。他之所以闻名是因为他创建了LabVIEW,即公司的图形化仪器技术软件包。在1976年之前,他任职于UT Austin 的ARL。Jeff从Rensselaer理工学院获得物理学士学位。 我经常听到,甚至有时关注于对LabVIEW的争论,即LabVIEW是一种通用的语言还是一种用于测量和自动化的特定应用程序的开发环境。一方面,有经验的程序员指出了LabVIEW缺乏的流行编程语言所具有的特性,但是另一
[测试测量]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved