当前位置:首页 > 工业控制 > 工业控制
[导读]作为一款系统设计软件(LabVIEW可以提供搭建最先进、最具技术挑战性的系统所需的所有工程元素随着工程应用的挑战性和复杂度日益增加(软件工程的概念也融入了系统开发之中。所谓软件工程就是可以保证软件的可扩展性和可

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

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

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


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

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


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

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


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


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

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

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


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

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

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

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

引领供应链数字化转型新潮流 上海2024年5月16日 /美通社/ -- 5月14日,"第七届亚太智慧供应链与物流创新博览会"在上海顺利举办,作为中国和亚太区最大规模,最有影响力的顶流供应链物流盛会,...

关键字: 数字化 软件 供应链管理 控制

上海2024年5月13日 /美通社/ -- CONNECT 2 是更加用户友好的声卡,仅需轻点几下,它就能为人声和乐器的录制增添异彩。触控面板触感舒适、控制精准、一目了然。所有输入输出信号均可独立静音。自动设置功能通过内...

关键字: NEC 声卡 控制 软件

功率器件是一种专门用于控制、调节和放大电能的电子元件,主要用于处理大功率电信号或驱动高功率负载,如电机、变压器、照明设备等。

关键字: 功率器件 控制 放大电能

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

机器人是一种集成了机械、电子、控制、传感、人工智能等多学科先进技术的自动化装备,能够模仿或替代人类进行各种任务的设备。

关键字: 人工智能 电子 控制

12月15日,一场以技术交流和创新碰撞为核心的开源大赛——开放原子开源大赛创新赛(简称“OpenHarmony创新赛”)在无锡市圆满落幕。

关键字: 软件开发

Laval社区以服务OpenHarmony开发者为宗旨,目标是打造最专业、最全面的OpenHarmony技术交流平台,致力于推动OpenHarmony生态长足发展,让OpenHarmony走进千行百业。

关键字: 软件开发

AI Workbench助力软件开发“左移”,使软件设计周期摆脱对芯片的依赖。

关键字: AI 软件开发

通过先进的Arm虚拟硬件集成和Linux系统中增强的基于云的协作,赋能下一代嵌入式软件开发

关键字: 嵌入式 软件开发 Linux系统
关闭
关闭