软件重用是所有软件开发组的关键策略。通过在迁移到下一代平台时重用代码,企业可以利用其现有的软件投资并缩短上市时间。但是,许多公司正在努力在整个组织中完全实现代码重用。为了实现高效和有条不紊的代码重用,组织必须将这一目标整合到他们的文化中。
重用代码如果系统地完成,而不是零星地和机会主义地完成,则为组织提供了最大的好处。但是,有许多问题可能会阻止系统的代码重用,无论是技术性的还是非技术性的。
软件重用 - 技术问题
在技术方面,操作系统之间存在许多差异,例如每个操作系统提供的任务优先级级别,这使得为不同平台修改代码变得乏味和繁琐。这带来了对 COTS 移植工具的需求,这些工具将自动考虑操作系统的差异,以使移植工作更快、更容易。
为了避免移植问题,组织认为需要一个抽象解决方案来保护他们的代码免受未来平台更改的影响。但是,使用本机操作系统 API 开发抽象接口不会提供嵌入式应用程序所需的可移植性和性能。相反,需要采用较低级别的方法来确保基本操作系统资源(如线程、信号量和互斥锁)在跨平台的行为相同,并且性能不会受到影响。此外,为多个操作系统构建和维护内部抽象需要大量的时间、金钱和资源。
开发人员必须详细了解每个操作系统,并执行大量测试以验证跨不同平台的可移植性,这会导致高成本。这就是为什么许多公司正在转向由第三方维护、测试和验证的 COTS 抽象层,而不是将注意力从组织的核心竞争力上移开。跨平台使用通用 API(由 COTS OS 抽象提供)还可以减少使用新操作系统进行开发时的任何潜在学习曲线,从而使代码重用更易于采用。
正如在不同操作系统上重用代码有其自身的挑战一样,在迁移到不同语言时重用代码也存在困难。例如,由于缺乏程序员和对Ada的支持,许多公司现在正在从Ada转向更现代的C语言。这些组织正在利用 COTS 语言转换工具进行自动转换,以避免重写。
软件重用 - 行业问题
在非技术方面,虽然高层管理人员和政府机构可能会看到代码重用的好处,但与工程团队和分包商缺乏目标一致性。很多时候,这些群体在重用代码方面存在心理障碍。他们可能会错误地认为代码重用将导致他们的才能不再需要。但是,通过使用 COTS 代码重用解决方案快速有效地重用其旧代码,他们能够为新项目和产品开发贡献自己的才能,而不是被令人厌烦的移植工作所困扰。
组织可能还需要更改生产力策略和基准,以有效地将代码重用集成到其文化中。与其关注开发人员贡献了多少新代码行,他们可能需要奖励较短的项目完成时间。这将激励开发人员使用 COTS 移植工具,以便他们可以尽可能多地重用以满足更早的截止日期。这将导致更多的项目完成,更多的新产品,并最终获得更多的机会在组织的行业中获得更大的市场份额。
由于技术和非技术问题,许多公司发现系统代码重用难以实现,其中一些已经在这里提到过。然而,软件重用仍然是公司减少产品开发时间和成本的关键策略。出于这个原因,组织正在转向COTS代码重用产品,例如MapuSoft Technologies(www.mapusoft.com)提供的产品,以减少软件重用工作。
审核编辑:郭婷
-
嵌入式
+关注
关注
5082文章
19104浏览量
304746 -
操作系统
+关注
关注
37文章
6801浏览量
123279 -
API
+关注
关注
2文章
1498浏览量
61951
发布评论请先 登录
相关推荐
评论