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

测试测量实验

6人已加入

描述

 

  随着工程应用的挑战性和复杂度日益增加(软件工程的概念也融入了系统开发之中。所谓软件工程就是可以保证软件的可扩展性和可维护性的工程开发实践。正确实施的软件工程可以提高应用程序的全局质量(提高开发者的工作效率并且降低维护成本。在这篇文章中(可以学习到如何使用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考试时所必需的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分