有没有人在开发用于高完整性软件领域的项目时使用分布式版本控制工具(如 Mercurial、Git、Bazaar 等)有任何经验,我在想你是否必须开发航空电子软件,比如说DO-178B标准?
是否有任何规则禁止使用现代 DVCS?
一个很好的来源是 2010 年的论文“ FLOSS for safety: Mastering task critical development with GIT ”(尽管从那时起 Git 确实发生了一些变化)
Andreas Platschek 和 Nicolas McGuire 在 2010 年内罗毕第 12 届实时 Linux 研讨会上发表的论文 (pdf)坚持“一些 [在他们眼中] 有助于开发人员实现定制组件的安全相关开发生命周期的可追溯性和文档要求"
但是,它没有涉及 DVCS 中缺少的身份验证和授权。在这方面,一种解决方法是GPG 签署提交或标签的能力,以便有更强有力的证据证明提交实际上来自您认为的人。
同样从 2010 年开始,Laurent Fournier 博士的研究“基于 SVG 的图表编辑器/需求工程查看器”提到了修订 ID(或 Git 提交),这很重要,因为:
图表版本管理跟踪所有更改、更改日期和作者。可以恢复任何图表的任何版本,并可以访问解释更改的提交消息。撤消/重做始终可用。