基于GJB 5000B 的机载软件开发文档剪裁方法研究
2023-11-17薛楠
薛楠
(工业和信息化部电子第五研究所华东分所,江苏 苏州 215129)
0 引言
在应用GJB 5000B 模式下,在软件开发实践中,编制大量的文件是一种非常复杂、困难的工作,因此,在软件的发展中,要想实现文件的高效交流与分享,要从整体的生命周期出发,运用系统化的理论,对软件的各部分进行整体的计划,理清在此过程中要编写的文件的层次和要素。针对飞机上的软件特性,将其生成的文件归类为7 大类,在对各种类型文件进行分类后,总结出适合于航空应用软件的文件剪切技术,对于对其他领域中的软件开发文件进行剪辑具有一定的借鉴意义。
1 软件开发文档的分类
GJB 438C对军用软件的发展文件提出了通用的需求。GJB 438C 规范以瀑布模式为基础,列举了20 种在软件发展过程中会产生的文件[1]。
机载设备是军用飞机上的重大设备,其研制中所需要的文档必须符合GJB 438 C 规范。在GJB 5000B 的基础上,按照GJB 438C 规范,将其划分成7 个类别,以方便用户对文件的了解和进行剪辑。
1.1 计划类文档
GJB 9001C 《质量管理体系要求》 在讨论如何提高体系有效性时体现了PDCA 理论,强调了基于计划、实施、检查和处置的运行模式可适用于所有过程和整个质量管理体系。需求方应根据项目目标,科学预测和确定项目生命周期行动计划。GJB 438C 中明确3 种计划文件,包括:
a)软件开发计划(SDP),它主要提供整个软件开发计划的摘要,如软件开发过程、使用的方法、每个活动的方法、项目进度、组织和资源的可见性,以及监控工具;
b)软件安装计划(SIP),主要描述软件安装准备工作、用户培训和系统转换等;
c)软件移交计划(STrP),主要描述所需要的软件、硬件和其他资源。
1.2 需求类文档
需求文档不仅集成和记录了用户需求的不断积累,而且还能在整个软件过程中指导后续工作的方向和工作,对开发工作的稳步开展起着至关重要的作用。GJB 438C 规范了4 个需求文档,包括:
a)操作方案描述(OCD),向开发人员表达用户需求,并向用户需求方表达开发人员的想法,促进软件过程中所有相关利益方达成共识;
b)系统/子系统规范(SSS),主要描述了系统/子系统的需求和为实现每条需求所采用的方法;
c)软件要求规范(SRS),该规范描述计算机软件配置项的要求和为确保满足每项要求所采用的方法;
d)接口规格说明(IRS),主要描述了系统/子系统/HWCI/CSCI 或其他组件之间的接口需求。
1.3 设计类文档
GJB 438C 规定了4 种类型的设计文件,包括:
a)系统/子系统设计规范(SSDD),主要描述系统/子系统的结构设计,相应的要求是SSS;
b)软件设计描述(SDD),主要描述CSCI 级别的设计决策、体系结构设计和实现软件所需的具体设计,相应的要求为SRS;
c)接口设计描述(IDD),主要描述系统/子系统/HWCI/CSCI 或其他组件之间的接口特征和设计,与IRS 的要求相对应;
d)数据库设计描述(DBDD),给出了数据库标识的规范、逻辑结构和物理结构的具体设计。
1.4 软件测试文档
为了验证需求是否符合标准,GJB 438C 规范了3 种软件测试文档,包括:
a)软件测试计划(STP),主要描述如何进行符合性测试,用来评估测试计划的充分性;
b)软件测试规范(STD),主要描述所需的测试准备、用例和程序;
c)软件测试报告(STR),主要描述测试的结果,是需方对测试及其结果进行评价的依据。
1.5 手册类文档
GJB 438C 定义了3 种软件手册,包括:
a)软件用户手册(SUM),提供软件安装和使用指南,包括软件概述、软件介绍和用户指南;
b)计算机编程手册(CPM),主要描述软件编程环境和编程信息;
c)固件支持手册(FSM),主要描述编程/重编程系统固件设备所需的信息和步骤。
1.6 清单类文档
GJB 438C 定义了两个清单文档,包括:
a)软件产品规范(SPS),主要描述可执行文件和源文件;
b)软件版本描述(SVD),主要描述标识和软件版本。
1.7 总结类
GJB 438C 针对软件研制总结报告(SDSR),规范了其内容及格式,用于概括软件开发的进度和质量。
2 软件开发文档剪裁的要求
量身定制以适应不同项目的不同情况是GJB 5000B 3 级的基本要求。GJB 5000B 用成熟度来判断软件研发组织能力,1 级(ML1)是初始水平,2 级(ML2)是规范水平,3 级(ML3)是综合水平,4 级(ML4)是定量水平,5 级(ML5)是卓越水平。成熟度级别之间的关系如图1 所示[2]。
图1 GJB 5000B 成熟度模型的5 个等级
GJB 5000B 对于软件开发企业的评估和持续过程改进有极大的促进。在GJB 5000B 模型中,每个级别均具备相应的特点:
a)ML1成熟度级别下,已通过基于GJB 9001的武器装备质量管理体系认证,具有基本质量定义和软件生命周期特征;
b)ML2层次的特征是过程改进组织和过程规范的建立,组织资产的逐渐积累;根据评估和项目特点制定和维护项目计划,获取、开发和管理项目需求,实施验证;监督配置管理、质量保证、测量和分析活动的实施,以确保项目得到控制。这个级别的组织有能力在类似的项目中复制成功的经验;
c)ML3的特点是组织资产的全面建立和维护;根据组织的标准过程,使用组织的资产进行全生命周期的项目管理、工程和支持活动;这个级别的组织有能力在整个组织中复制成功的经验;
d)ML4层次的特点是根据组织业务发展的需要,建立高量化的质量和过程绩效目标;运用量化分析管理技术建立和维护过程绩效基线,对关键过程进行量化管理和原因分析,并根据量化结果做出领导决策;该级别的组织有能力在组织内部实施量化管理;
e)ML5水平的特点是定量评估经营目标和分析绩效数据,识别组织内部的关键问题和共性问题,主动和预测性地优化和改进组织流程,不断创新组织以实现高质量的可持续发展,提高整体绩效的能力[3]。
3 机载软件开发文档的剪裁方法
在机载软件中,软件和硬件之间有着密切的关系。软件和硬件经常合作完成一个特定的功能,但它们没有明确划分为纯软件和纯硬件子系统。因此,适合纯计算机软件系统的软件文档可能不适合机载软件开发。
软件开发文档分为7 类,但是并非每一类中的所有文档都适合机载软件,例如:适合纯软件的文档可能并不适合机载软件[4]。
3.1 剪裁原则
一般情况下,需要根据机载软件研制的具体情况针对生存周期特点加以剪裁。裁剪原则如下:
a)计算机编程手册(CPM)一般适用于计算机,而不适用于目前我国的军用机载软件;
b)通常,我国军用机载软件的保障工作也由研发单位负责,一般不需要移交到独立保障单位,涉及的软件移交计划(STrP)一般可以剪裁;通常机载软件是随硬件一同交付用户的,开发人员在用户交付现场进行最后的调试服务,涉及的软件安装计划(SIP)一般可以剪裁;
c)机载软件开发项目中,还有另一种情况,即软件需求规格说明(SRS)、软件设计说明(SDD)一般需要编写多份,划分为多个CSCI 的软件项目,往往需要编写多份SRS 和SDD[5]。
3.2 剪裁矩阵
表1~7 建立了机载软件开发过程中各类开发文档的剪裁矩阵,将文档代码、名称和剪裁准则一一对应。
表1 计划类文档的剪裁矩阵
表2 需求类文档的剪裁矩阵
表3 设计类文档的剪裁矩阵
表4 软件测试文档的剪裁矩阵
表5 手册类文档的剪裁矩阵
表6 清单类文档的剪裁矩阵
表7 总结类文档的剪裁矩阵
4 结束语
根据GJB 5000B 标准体系规定,结合GJB 438C 开发文档要求,对机载软件开发文档裁剪方法进行了研究,对于提升机载软件的开发效率、加速产品设计定型具有一定的参考意义[6]。