・龙智ALM方案      ・Perforce      ・Atlassian      ・Zephyr      ・IC-Manage

基于组件的开发、乐高和物联网
 




 

作者:Kuntal Das,Perforce Software首席产品经理

2015年很可能会成为“物联网”(IoT) 成为主流趋势而被大家记住的一年。从汽车到冰箱,我们每天使用的各种工具彼此之间及其与广阔世界之间的联系正日益加强。然而,各种软件故障和黑客的出现也让人们认识到,实现这种新的互联要付出一定的代价。 

在大多数情况下,嵌入式系统都是实时安全或任务关键型系统,例如车辆管理、交通管制和医疗设备。它们要求具有可靠性、鲁棒性、可用性和可信性。因此,要想成功部署实时系统,很大程度上要依赖较低的开发成本、较短的上市时间以及高度的可配置性和高质量。

这就是基于组件开发 (CBD) 可以发挥作用的地方。

就像乐高积木块可以采用无数种方法组装起来,CBD以大致相同的方式实现更大的设计,从而让大家能够用针对多种用途开发的一组预定义组件组装软件系统。将CBD引入实时和嵌入式系统开发具有显著优势,包括:

  • 快速开发和部署:如果设计得当且经过验证,许多组件都可重复用于不同的应用程序,从而大幅降低开发成本和上市时间。
  • 降低复杂性:可以使用从现有库中选择的组件配置特定应用软件,确切提供该应用所需的功能。
  • 设计进化:可以根据需要更换或向系统中添加组件,从而实现复杂嵌入式实时系统所需的硬件和软件持续升级。
  • 提高可靠性和可维护性:每个组件都可以独立测试,从而使问题更易于分离和解决。另外,漏洞修复可以使许多项目获益,重复使用的组件往往比任何新开发的组件都更加稳定和成熟。
  • 更高的开发效率:各开发团队都可集中关注其各自的具体任务——领域专家可以集中精力创建组件,集成专家可以集中精力将这些组件组装到产品中。

Perforce Helix的Streams功能非常适合基于组件开发。它可实现单个“代码主体”在多个分支之间的版本控制,从而为用户提供一致的代码库视图。另外,管理这些代码库之间变化流的分支视图提供了一个基于规则的安全流动,从而保持版本稳定性。

使用Streams,可以跟踪组件的历史,从而可以在共用该组件的所有项目中轻松地发现它。这样便将重点转移到组件管理上,而不是组件本身。如果在多个项目之间共用组件,那么让它们的生命周期相互独立通常会非常有益。采用独立的生命周期,一个组件便可以发布新功能和补丁更新,而不会对依赖于该组件的项目造成影响。然后,项目所有者可以使用每个组件版本的正确配置。 

每个项目将需要有效地订阅其所需组件,并参考特定版本。采用这种做法,即使在发布新的组件版本时,项目也可以保持分离——只有通过更新订阅的组件才能采用更新的版本。不在项目上强制进行组件更新在嵌入式软件开发领域非常重要,因为特定版本的软件组件经常绑定到特定硬件版本。

我们一直在为Perforce Helix添加新功能,所以您不妨现在就看看,了解您可如何使用Streams把CBD纳入到您自己的开发工作流中。请继续关注有关开箱即用CBD解决方案的更多详细信息。