LabVIEW虚拟仪器项目开发与实践
上QQ阅读APP看书,第一时间看更新

1.5 LabVIEW虚拟仪器项目管理

所谓项目,就是为了创造某种独特产品、服务或结果而进行的一次性努力。一般来说,LabVIEW虚拟仪器开发项目是为了创造测试、测量、自动化或其他产品、服务或结果而进行的一次性努力。

衡量一个LabVIEW虚拟仪器开发项目最终是否成功的依据如下:

(1)是否满足项目要求和产品要求。

(2)是否满足相关利害关系者的需求、要求和期望。

(3)在相互竞争的项目范围、质量、进度、预算、资源、风险等因素(有时总结为时间、成本和质量三要素)之间作出权衡,最终满足项目在这些方面的目标。

为了能如期完成项目、保证用户需求得到确认和实现,并在控制项目成本基础上保证项目质量,妥善处理用户需求变更、用户的要求和期望,在整个项目执行过程中,项目管理者必须将各种知识、技能、工具和技术应用于项目活动,对项目进行管理。项目管理是快速开发满足用户需求的新产品、新设计的有效手段,也是快速改进已有设计或已经投放市场产品的有效手段。

在实际工作中,制约项目的任何一个因素发生变化,都会影响至少一个其他因素。例如,客户要求缩短开发工期,通常需要通过提高项目预算,以增加额外的资源,从而在较短时间内完成同样的工作量;如果无法提高预算,则只能缩小范围或降低质量,以便在较短时间内以同样的预算交付产品;改变项目范围或要求可能导致额外的成本或为工期带来风险。此外,不同的项目干系人可能对不同制约因素的重要程度有不同的看法。这些问题使得在实际工作中,LabVIEW虚拟仪器项目开发和管理者不能只埋头研究算法如何完美而不顾项目的工期,不能只考虑所实现系统的性能和质量而不顾项目的成本,不能在答应客户要求的变更后忽视给项目带来的风险,等等。一个技术专家并不一定是项目中处理干系人各种需求、要求和期望、平衡相互竞争项目制约因素的专家,这也是现实生活中很多技术专家参与项目管理后并不成功的主要原因。当然如果能将优秀的专业技术和项目管理知识相结合,将有助于项目成功。

专业的项目管理通常通过将项目划分为启动、规划、执行、监控、收尾五大过程(图1-20),并通过在各过程中识别、处理干系人的各种需求、要求和期望、平衡相互竞争的项目制约因素,确保项目获得成功。在后续章节中,我们将结合开发,对LabVIEW虚拟仪器项目管理知识进行讲解。

图1-20 项目管理五大过程

从产品生命周期的角度来看,有多种开发模型可供选择。在LabVIEW虚拟仪器项目开发中,根据所关心的重点不同及不同模型的优缺点,可以选择一种或多种。当工期比较紧张时,可采用编码修正模型(Code and Fix Model)立即着手编码;当对项目风险比较关心时,可以采用螺旋模型(Spiral Model)不断重复开发过程,以实现不同阶段项目风险的管理;当产品质量相对重要时,可以采用传统的瀑布模型(Traditional Waterfall Model)或修正的瀑布模型(Modified Waterfall Model)等。不同的开发模型对各开发步骤进行了不同限定和定义。例如采用传统瀑布模型的项目生命周期则包含系统需求分析、软件需求分析、系统架构设计、详细设计、编码、测试、升级维护等阶段(图1-21)。

图1-21 传统瀑布开发模型项目生命周期

NI公司对整个虚拟仪器项目开发过程均提供相应的工具支持。例如,NI需求管理工具包(NI Requirements Gateway)可用于管理和跟踪虚拟仪器项目的需求,以确保项目的各种需求均能被响应,它能够较好地与其他NI软件开发工具无缝集成。NI LabVIEW单元测试框架工具包(Unit Test Framework Toolkit)可创建测试框架,自动进行回归测试,以完成对VI的功能验证。

LabVIEW自身也在配制管理和版本控制方面下了不少功夫。例如,从LabVIEW 8.0开始引入工程资源管理器(Project Explorer,如图1-22所示)来有效组织、管理整个项目开发过程中的各种文件。LabVIEW广泛支持多种版本控制工具,无论是大型的Rational Clearcase还是开源跨平台的CVS (Concurrent Versions System)都有较好的支持。同时,对于每个VI,还提供VI版本号自动更新功能。近年来,Git作为新一代的版本控制工具受到开发者的欢迎,通过配制,也能基于Git来实现对LabVIEW程序的版本控制。总之,通过使用各种项目阶段的支持工具包,可以较好地保证高质量的项目交付。

图1-22 LabVIEW的项目资源管理器