一、标准简介
定义与范围
GJB5000B - 2021 作为我国军用软件能力成熟度的标准模型,明确规定了军用软件组织在软件开发及维护进程中需达成的过程能力成熟度等级要求。此标准适用于承担军用软件研制、生产与维护任务的各类组织,完整涵盖了从软件项目初始需求获取至软件退役的全生命周期。
例如,对于新型战斗机的航电系统软件而言,从飞行员操作界面需求的收集起始,历经软件编码、测试阶段,再到飞机服役期间软件的更新维护,整个流程均需符合 GJB5000B - 2021 的严格要求。
目的
其主要目标在于提升军用软件的质量与可靠性。在军事领域,软件质量与武器装备的性能及作战效能紧密相连。例如,若导弹控制系统软件出现故障,极有可能导致导弹发射失败或偏离目标。借助该认证标准,能够规范软件开发流程,显著减少软件缺陷。
同时,该标准还有助于实现军用软件研制过程的标准化与规范化。不同的军工单位或软件研发团队依据同一标准开展工作,便于军方进行统一管理与监督。
二、成熟度等级划分
初始级(1 级)
此阶段软件过程缺乏秩序,甚至偶尔陷入混乱状态。项目的成功高度依赖个人能力与英雄主义行为。没有稳定的过程可供遵循,不同项目之间的软件过程差异极大。例如,一个小型团队在开发简单的军事后勤管理工具软件时,可能因缺乏明确的需求文档,开发人员仅凭自身经验及与用户的口头沟通便开始进行编码工作。
已管理级(2 级)
建立起基本的项目管理过程,用于跟踪成本、进度以及功能特性。软件项目的策划与跟踪具备一定的规范性,能够依据项目计划对项目进行管理。例如,在开发军用通信加密软件项目时,会制定详细的项目计划,涵盖各个阶段的时间节点与人力分配等内容,并且能够定期对照计划检查项目进度。
已管理级还要求对工作产品(如需求规格说明书、设计文档、代码等)和过程进行配置管理,以确保产品的完整性与一致性。就如同对通信加密软件的代码版本进行严格管控,每次修改都有详细记录,有效防止代码出现混乱。
已定义级(3 级)
组织已定义标准的软件过程,且所有项目均采用经过批准的、组织定义的软件过程进行开发与维护。这意味着不同项目之间拥有了统一的过程框架。例如,在一个军工集团内部,无论是开发坦克火控系统软件还是舰艇作战指挥系统软件,都必须遵循集团统一规定的软件过程模型。
过程资产(如过程定义文档、模板、检查表等)得以建立并持续维护,用于支持软件过程的实施。这些过程资产能够助力项目团队更高效地完成软件开发任务,提升效率与质量。
量化管理级(4 级)
组织和项目能够对软件过程和产品质量进行量化分析与控制。通过收集与分析过程和产品的度量数据,能够预测过程和产品的性能。例如,对于军用卫星遥感图像处理软件,通过收集软件测试过程中的缺陷密度数据、软件运行时的资源占用数据等,来预测软件在实际运行中的可靠性和性能表现。
利用统计及其他量化技术对软件过程和产品进行管理,为决策提供量化依据。比如,根据量化的数据决定是否需要对软件进行优化,或者调整软件开发过程。
优化级(5 级)
组织能够持续改进自身的软件过程。通过对过程的评估以及改进建议的实施,不断提升软件过程的能力和软件产品的质量。例如,一个军事软件研发组织会定期对软件过程进行评估,一旦发现问题便及时采取改进措施,如优化需求分析流程,提高软件的易用性和准确性。
优化级的组织能够识别并采用新的软件技术和过程改进方法,以保持在软件能力方面的领先地位。就像及时引入新的软件测试技术,提高软件测试的效率和覆盖率。