军事和航空电子软件系统的开发人员可以做些什么来利用软件重用,同时确保软件尽可能无错误和安全?
在所有行业中,软件正变得越来越普遍。以波音喷气式飞机为例。波音 787 飞机飞行控制系统的代码数为 650 万行,是 777 的三倍。鉴于这种增长趋势,为每个新项目从头开始重写整个系统既不现实也不切实际。
代码的重用已成为一种通用的软件开发最佳实践。它通过提高开发效率来加快上市时间,同时最大限度地降低与全新开发相关的成本。代码重用的实践还使开发组织能够利用从现有代码库中吸取的经验教训。
但是,通过代码重用,必须在风险和回报之间取得平衡。当旧软件移植到新的操作系统或与新代码结合使用时,以前潜在的错误可能会成为活动的关键缺陷或高风险的安全漏洞。在关键任务的军事和航空电子系统中,软件缺陷可能导致伤害、代价高昂的故障,甚至生命损失。
事实上,不当的遗留代码重用是1996年阿丽亚娜5号(无人驾驶)航天器自毁的根本原因。该代码在飞机以前的版本中安全运行,但执行上下文发生了变化,将阿丽亚娜4中的潜在错误转变为导致其继任者在发射后37秒爆炸的关键错误。
建筑分析的强大功能
在具有大型且极其复杂的代码库的行业中,例如军事和航空电子设备,成功重用遗留代码的一个关键要素是可视化和分析软件系统架构的能力。领先的源代码分析 (SCA) 工具为软件系统架构师、开发经理和个人软件开发人员提供了直接从现有源代码进行软件设计的图形视图。此图形视图提供了对应用程序结构和设计的全面了解,使团队能够评估接口、关系和逻辑流,以确定在何处以及如何重用现有代码。清楚地了解系统的组件及其相互关系和依赖关系对于提高软件的质量和安全性至关重要。此外,还需要能够记录系统架构,以便在航空电子空间内实现符合DO-178B标准。
重用旧代码时,系统架构的全面视图可以通过以下方式帮助开发团队。
隔离可重复使用的组件
将旧版软件应用程序中的组件重用于新应用程序时,有必要最大程度地减少这些组件对软件系统其他部分的依赖。为此,设计人员必须确保组件仅包含与组件功能相关的实体。系统架构在各个级别的完整视图使开发人员能够隔离可重用的组件并重新组织它们,以实现最有效的代码重用。
评估和提高软件系统设计的质量
软件系统的物理设计可能与其高级逻辑设计几乎没有相似之处。通过系统架构的详细视图,可以:
导航系统层次结构并探索其结构
查看组件对其他组件的依赖关系
查看系统中不同组件之间的关系
通过这种观点,可以发现当前实现和设计意图之间的不一致,包括不适当的关系和依赖关系,以及在软件层次结构的不同级别中重复的错误。这种理解水平使开发团队能够评估物理软件系统的质量,并在系统上实现所需的逻辑设计。
可移植到新平台
回收代码经常用于为最初开发本机代码的平台以外的平台设计的系统中。确保内部或第三方代码在新平台上按设计执行具有挑战性。但是,全面的系统体系结构视图可以通过揭示应用程序对外部环境的依赖关系来提供帮助。通过准确理解代码及其设计,开发团队可以快速确定移植工作的范围和所需的操作。
重用的架构
对于军事和航空电子软件开发团队来说,全面了解和分析其软件系统架构对于确保在重用旧软件时获得高质量、安全的结果至关重要。使用源代码分析工具的体系结构功能,大大降低了与代码重用相关的风险,通过更全面的设计规划提高了生产率,并简化了实现 DO-178B 合规性所需的工作。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !