GJB5000A二级在军用软件研制过程中的应用

2022-05-30 15:59陈秀芬刘飞许征
电脑知识与技术 2022年21期

陈秀芬 刘飞 许征

摘要:国防和军队现代化建设中,软件在指挥调度、作战支援、武器控制、仿真模拟和军事信息管理中发挥重要作用;传统装备系统的研制一直围绕硬件开展,对装备数字化、信息化、智能化没有足够的认识,严重影响装备以及配套软件的质量和性能的发挥[1];军用软件已经成为比硬件更为重要、地位和作用更为显著、能够直接产生战斗力的军用“产品”。GJB5000A二级可有效规范软件研制过程,提升软件产品质量。文章结合本单位现状,根据软件研制特点,在项目研发过程中实践软件工程化管理,积累软件过程管理的相关经验;对软件研制全生命周期实行有效的监督和过程质量把控,在实施软件过程的持续改进中发挥指导作用。

关键词:军用软件; GJB5000A; 二级

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)21-0108-03

开放科学(资源服务)标识码(OSID):

1  引言

在军工企业内,随着GJB5000A-2008《军用软件研制能力成熟度模型》规范的应用推广和实施,针对软件产品研制过程的工程化,要求日趋严谨和规范化。

按照GJB5000A-2008的成熟度等级的划分:共包括5个层次:一级为初始级, 二级为已管理级, 三级为已定义级, 四级为定量管理级, 五级为优化级。随着成熟度等级的提高,软件研制能力随之提高,标志着软件项目过程改进水平也越高。

通过实施GJB5000A二级,可以达到软件过程改进的目标[2]:(1)建立统一、标准的软件研制过程;(2)确保按期交付软件产品,提高软件产品质量;(3)建立对软件研制过程管理、监督和持续改进的机制。

2  GJB5000A 二级概述

GJB5000A二级包含7个过程域:需求管理过程域(ReqM)、项目策划过程域(PP)、项目监控过程域(PMC)、测量与分析过程域(MA) 、配置管理过程域(CM)、过程和产品质量保证过程域(PPQA)以及供方协议管理过程域(SAM)。

需求管理过程域(ReqM)包括对需求的理解与承诺、跟踪需求变更、标识研制过程中的需求不一致,并采取相应措施,保证软件产品能够满足用户需求;项目策划过程域(PP)负责制定项目计划,策划软件研制全过程,当项目实际进展偏离原定计划时,需要及时采取纠正措施加以修正;项目监控过程域(PMC):根据项目计划的监控频率对项目研制过程中成本、任务数、工作量、进度及其与计划的偏差等进行监控,掌握项目的进展情况,当实际运行与计划发生显著偏离时,及时采取适当措施进行纠偏;测量与分析过程域(MA),包括根据单位/公司的测量目标确定项目的测量项,结合项目的研制过程制定测量分析计划、进行测量数据的采集、对测量结果进行分析,为项目的软件过程管理提供数据支撑并积累历史数据供后续项目策划提供数据参考;配置管理过程域(CM)主要实现对项目过程文档和工作产品的版本控制、变更和基线发布等控制。过程和产品质量保证过程域(PPQA),覆盖项目的整个生命周期,对工作产品和过程进行检查,反馈过程和工作产品的不符合项,来保障软件质量。供方协议管理过程域(SAM)主要针对项目中涉及的软件外协及采购的过程活动,包括外协和采购的管理与监督办法。对于不涉及外协和软件外包的,供方协议管理过程可不执行。

3  软件的生命周期模型

软件研制过程如图1所示,贯穿于项目研制阶段,结合本单位软件应用背景,软件生命周期模型有三类:瀑布模型、简化瀑布模型、迭代模型。

瀑布模型针对大规模显控软件开发。对软件研制过程进行了全覆盖,阶段不允许合并,过程不可裁剪。

简化瀑布模型针对中小规模嵌入式软件开发。对软件研制过程进行了全覆盖,允许阶段合并,过程可裁剪。

迭代模型针对既有软件的更新与迭代过程,重点管理软件的更新迭代。

体系文件详细描述各周期模型的活动要求、角色分工、输入输出的工作产品等相关内容。

4  以简化瀑布模型为例介绍软件研制过程

结合本单位的软件开发的实际情况,简化瀑布模型规定,将软件研制过程分为4个阶段,包括:系统分析与设计阶段、软件需求分析阶段、软件设计实现阶段和软件测试验收阶段。

4.1  系统分析与设计阶段

系统分析与设计阶段输入为项目的技术协议/项目研制任务书/研制总要求。项目负责人组织软件组成员进行输入文件的讨论会,完成对软件需求的理解并形成会议纪要,根据讨论结果,项目负责人编制《软件研制任务书》。

项目负责人负责组织召开项目的启动会,确定相关软件人员的角色分工,并针对《软件研制任务书》,对软件任务进行讨论与分析;会议由项目负责人组织,相关软件项目成员、配置管理人员、质量保证人员及利益相关方参加。会议过程接受质量保证人员的过程监督,并由项目负责人形成会议纪要。

软件项目组成员进行单/双周例会(结合软件研发周期和复杂度等实际情况选择)推进项目进展,并形成会议纪要;配置管理人员进行三库管理,负责配置项出入库、变更与基线的发布;质量保证人员对工作产品和过程进行监督检查,测试测量人员跟进研制过程进行数据采集与测量。

该阶段需要项目负责人组织编制《软件研制任务书》,软件负责人组织编制《软件开发计划》(以及所體系文件要求,需要包含以下内容:WBS分解、软件估计结果表、双向跟踪矩阵表、需求状态表、软件进度表、软件风险识别与跟踪表等);配置管理人员负责编制《软件配置管理计划》,用于指导软件的配置管理过程;质量保证人员负责编制《软件质量保证计划》,作为开展软件研制过程中质量保证工作依据。部门内对工作产品(《软件研制任务书》《软件开发计划》《软件配置管理计划》《软件质量保证计划》)组织进行评审。

4.2  需求分析阶段

需求分析阶段,由软件负责人编制《需求规格说明书》。

部门对《需求规格说明书》评审。

需求分析阶段结束时组织召开里程碑会议,形成会议纪要。

4.3  设计实现阶段

软件设计实现阶段,由软件开发人员编制《软件设计说明》。软件负责人组织部门进行《软件设计说明》评审。

软件开发人员依据《软件设计说明》进行编码,实现文件中的设计过程。

设计实现阶段结束时组织阶段会议。

4.4 测试验收阶段

测试与验收阶段,由软件测试人员编制《CSCI合格性测试计划》《CSCI合格性测试说明》,并对软件代码进行测试,形成《CSCI合格性测试报告》。测试中发现的问题,由软件测试人员反馈给软件研发人员,研发人员进行代码修改,并提交软件测试人员进行回归测试,直至问题闭环解决。进入软件验收阶段,软件负责人编制《软件研制总结报告》《软件版本说明》《软件用户手册》(适用于上位机软件)/《固件保障手册》(适用于嵌入式软件);配置管理员编制《软件配置管理报告》,质量保证人员编制《软件质量保证报告》。

测试与验收阶段要对工作产品进行评审,该阶段结束时组织召开里程碑会议,并形成会议纪要。

评审会要求:形成评审报告并提出评审意见,会后相关人员需要根据建议进行修改闭环落实问题,并将最终版本入受控库;《软件研制任务书》作为功能基线进行发布。质量管理人员参会前对工作产品进行审查,参会进行过程监督,填写《评审问题跟踪汇总表》《不符合项匯总表》,并跟踪问题的解决与闭环。

配置管理、质量保证的相关操作流程需要参考本单位的配置管理规程和质量保证管理规程。

5 GJB 5000A 二级在某型号项目中的应用

5.1 生命周期模型选择

根据某型号项目软件为嵌入式软件,代码规模在2万行以下,开发周期为2~3个月的特点,选择使用简化瀑布模型。

该项目软件分为3个配置项,运行的主芯片分别为FPGA(1个)、DSP(2个)。

5.2 工作产品输出

开发的四个阶段,共出具17份相关技术文件,如表1所示。

除技术文档外,还需要以下过程文件的编制。

系统分析与设计阶段立项阶段需要编制的过程文件,后需在软件研制阶段进行更新维护:1)《软件进度表》;2)《软件风险管理表》;3)《需求跟踪矩阵》;4)《需求状态表》。

软件需求分析阶段需要编制文件,后需在软件研制阶段进行更新维护:

1)《问题跟踪汇总表》;2)计划/需求变更时,填写《变更申请单》,进行计划/需求变更。

5.3 过程管理类文档输出

该项目软件研制周期持续了3个月,按双周例会进行项目推进,项目组共组织召开了6次双周例会,1次阶段会议,2个里程碑会议(需求里程碑、测试与验收里程碑)。会议需要留存了会议纪要及参会名单签字,评审会后出具评审报告和评审意见,由评审专家签字确认。

质量保证人员全程参与软件研制过程:进行覆盖全过程(会议、评审会等)的审核与所有文件的符合性检查,并完成相应《过程、工作产品质量检查单》;有不符合项的完成《不符合项汇总表》与《软件不符合项报告》。

配置管理员进行相关文档的物理配置审核,维护管理三库,登记出入库,并在相应时机进行基线发布以及变更。

6 GJB 5000A 项目管理实践过程总结与改进方向

第一,体系文件的本地化,根据试点项目的试运行,需要不断完善体系文件,使体系文件与实际开发过程相契合,切实发挥体系文件的指导作用,真正提高软件研发质量[6]。

第二,软件项目组成员需要持续加深对GJB 5000A 二级标准的理解并提升认识。通过体系培训、对角色实行针对性培训并加强自学等途径使软件项目组成员能够充分正确理解和认识体系,尤其在GJB5000A二级试运行阶段,统一软件项目组成员对标准的理解和认识,并对体系文件进行优化改进。

第三,建立完善的GJB 5000A 组织机构。该组织机构需要覆盖软件全生命周期研制过程;且人员技术水平要符合本单位5000A二级体系中对于角色分工的专业要求。

第四,选择合适的辅助软件,在软件研制管理过程中,质量管理的过程检查与表单填写工作量很大,合适的辅助软件可以大大提高工作效率;并不断丰富相关检查单和积累工作经验,确保软件管理过程的持续改进。

第五,质量管理过程的严格控制。质量保证人员需要对软件研制过程和工作产品进行监督和检查,贯穿于整个项目的研制过程。质量保证人员在5000A二级实施过程中要结合具体项目实施,持续优化检查工具和检查方法,对工作产品和研制过程才能起到真正的监督和检查作用,最终实现软件研制能力的提升。

参考文献:

[1] 黄震宇.军用软件工程[M].北京:电子工业出版社,2020.

[2] GJB 5000A二级体系文件.中国电子科技集团公司第十一研究所,2016.

[3] 张红文,彭兴慧.GJB5000A在航天企业中的本地化探索和过程改进实践[J].中国质量,2014(10):119-120.

[4] 苏娟,张利娜,康冰,等.基于GJB 5000A的军用型号软件需求管理研究[J].中国管理信息化,2015(18):167-168.

[5] 王伟敏.软件工程化管理方法实践[J].电子质量,2017(10):58-62.

[6] 孙舟,杨玉飞,钱宏文,等.基于GJB 5000A的软件管理体系研究[J].信息技术与标准化,2019(4):56-58,63.

【通联编辑:唐一东】