信息化武器装备或系统中,通常软件较为密集,其作战效能的发挥对软件依赖越来越强。一旦军用软件出现故障或缺陷,轻则造成巨大经济损失,重则导致人员伤亡。
软件本身的复杂性、抽象性和易变性,使软件难以研制,质量难以保证,而军用软件的特殊应用又使其开发和质量保证难度增大,主要体现在以下几个方面:
(1)军用软件要面临复杂、不确定和恶劣的军事应用环境,要求军用软件必须具有抗毁和容错能力,因此,军用软件应具有高可靠性、高安全性和高生存性。
(2)在信息对抗环境下要求军用软件具有较高的安全防护能力,作战使命任务对军用软件的信息传输处理速度、对外部事件的快速响应提出了更高的要求,因此,军用软件应具有高保密性和高实时性要求。
(3)军用软件需求变化快且人机界面要求高,测试和验证过程较为复杂,使用和维护时间长,军用软件开发还要纳入武器装备研制过程,这决定了军用软件开发方法要与硬件研制中采用的自下而上的方法相一致。
(4)军用软件规模巨大、结构复杂,如一架现代战斗机所包含的软件已经超过2500万行源代码,一艘现代化战舰或潜水艇所包含的软件有500万行源代码,软件规模越大就越复杂,这不仅带来了技术问题,而且为软件的管理带来了很大的困难。
(5)不少军用软件是嵌入式的,受到严格的硬件和软件条件的约束,被硬件及软件体系结构、操作系统特性、应用需求和编程语言的变化所制约。
(6)现代化战争是一体化的联合作战,需要进行数据交换、信息共享、应用协同,这些均对军用软件提出了高互操作性要求。
上述特点对军用软件研制管理的方法和技术都有特殊要求,同时还要求开发人员应具备相关应用领域知识,另外,对开发设施和工具、安全保密方面都有较高的要求。