APP下载

GJB5000A 二级在军用嵌入式驱动软件中的应用

2020-12-22璐,

机电产品开发与创新 2020年6期
关键词:配置管理基线策划

王 璐, 雷 玲

(中国兵器装备集团自动化研究所, 四川 绵阳 621000)

0 引言

随着国防现代化的发展, 在武器装备中计算机的应用已非常广泛而深入, 软件也随之在武器装备中大量应用。 为此,总装备部于2008 年颁布《GJB5000A 军用软件研制能力成熟度模型》标准,用于规范军用软件研制单位的软件研发过程, 提高军用软件的产品质量和研制单位的软件过程能力[2]。

本文以作者实际参与的项目为例, 简单介绍项目策划、 配置管理以及过程和产品质量保证在军用嵌入式驱动软件中的应用。

1 项目策划

软件项目策划是开展项目过程控制的前提, 根据作者所在单位体系文件要求, 项目策划分为以下6 个基本步骤。

1.1 编制项目策划计划

在发布开发计划之前,项目负责人应组织开展软件项目的早期策划工作,形成项目“策划计划”。主要活动如下:

(1)项目负责人根据《软件研制任务书》或《技术协议》等输入文档,明确项目研制周期;确定软件项目的组织结构和人员及分工。

(2)项目负责人分配策划期间的工作任务,根据项目研制周期,明确策划期间的监控周期以及监控内容、策划期间的相关方参与要求、 数据管理要求以及人员培训需求等。

(3)项目CM 建立配置管理系统,分配权限。

(4)开展需求沟通理解、进行软件研制任务书评审等。

1.2 选择生命周期模型

因本软件为嵌入式驱动软件,无历史项目可供参考,规模小,周期短,根据组织的《软件开发生命周期模型选择指南》,明确新研瀑布型为本软件的生命周期模型。 此外, 根据项目实际情况提出了将软件概要设计与软件详细设计合并为软件设计的申请, 提出了裁剪单元集成测试的申请。 经过裁剪后的软件项目生命周期模型如图1 所示。

图1 瀑布型生命周期模型Fig.1 Life cycle model of waterfall

1.3 估计软件项目范围

此步主要是进行WBS分解,即估计软件项目的范围,作为软件规模、工作量及关键资源估计的基础。

根据嵌入式驱动软件的特点,WBS 分解时主要采取基于产品的方法,自顶向下进行分解。 此外,在分解时,应考虑到WBS 最底层次任务的细节或深度, 结构太深会产生许多难于管理的小任务,而结构太浅又会使项目控制得不够详细。作者的一般做法是WBS 中的每个工作包不大于一个监控周期, 在项目策划阶段可先做粗粒度拆分,对近期执行的工作(当前阶段、或本月的任务)需要细分到不大于一个监控周期,后续阶段的工作可在下一个阶段或即将开始时再细化任务。

1.4 估计软件规模和工作量

由于嵌入式驱动软件与硬件结合相当紧密, 调试受硬件影响较大,如信号输入出错,调试线缆连接出错,硬件设计缺陷等都会影响驱动软件的调试进度。因此,软件规模和工作量估计的有效性至关重要, 过多或过少估计规模与工作量,都会造成计划安排不合理,实际值与估计值存在较大偏差。

在估计时,一般需要注意以下几点:

(1)估计软件规模时应包含代码规模与难度系数。

(2)选择同领域的有类似开发经验与管理经验的同行为估计专家。

(3)估计假设尽可能的详尽,如:软件运行环境、功能、性能、复杂度、可靠性要求、开发语言、编译环境、是否可重用等。

1.5 编制进度表

作者单位编制进度表在软工平台上进行。 一般步骤参考如下:

(1)依据《软件研制任务书》中规定的里程碑节点以及生命周期模型划分阶段、标识里程碑。

(2)根据WBS 分解结果,细化各阶段任务,确定各任务之间的依赖关系并标识出关键路径; 确保阶段工作总量与估计值的偏差在阈值范围内。

(3)标识各任务属性(技术工作或管理工作)、工作量、起始时间、完成时间以及责任人。

(4)根据以上步骤结果编排整个项目的实施进度,形成进度表,并通过甘特图体现[3]。

作者实际项目的甘特图如图2 所示。

图2 项目甘特图Fig.2 Gantt chart of Sample Project

1.6 编制软件开发计划

按照GJB438B、GJB2786A 以及组织文档模板编制软件开发计划以及各项子计划。 其中子计划应包含评审计划、软硬件资源计划、需求管理计划、利益相关方参与计划、培训计划、测量分析计划、风险计划、数据管理计划、人力资源计划等。 并将所有计划在软工平台上发布。

2 配置管理

配置管理的目的是利用配置标识、配置控制、配置状态纪实和配置审核建立和维护工作产品的完整性。 配置管理的主要活动主要分为以下5 类。

2.1 制定配置管理计划

软件的配置管理活动需要按照项目的配置管理计划来执行,因此在策划期间,项目CM 应依据《软件研制任务书》、“项目策划计划”、《软件开发计划》 进行配置管理策划,制定配置管理计划。 其中主要应明确:配置管理的组织机构、相关的配置项和控制力度、相关的基线、软件配置管理的相关活动、完成的工作产品和服务,同时应明确活动的时间或频度,并加以维护。此外,还应明确:配置项的名称、标识;明确本软件需要建立的基线、基线标识和基线版本规则等。

2.2 建立配置库

为了更好的对软件配置项、 基线和权限的控制进行统一、有效的管理,需要搭建配置管理系统。 配置管理系统就是对软件配置项、基线和权限等进行控制和管理。对这些要素的控制和管理就需要建立软件配置库。 这就需要软件配置管理员根据配置计划规定配置库的结构和人员职责。配置管理员根据计划来维护配置库,对整个配置管理系统进行管理[4]。

2.3 建立与发布基线

基线是一种通过正式评审和认可的配置项, 它可以作为进一步开发的基础, 并且只有通过正式的变更控制过程才能修改它。 基线建立与发布的目的是确保组成基线的配置项及时受控。一般来说,基线建立与发布的流程如下:

(1)当计划基线建立时机到达后,项目CM 按照《配置管理计划》中基线的标识方法对基线进行标识,明确基线版本等信息后,提出基线建立申请。

(2)所级CCB 对基线的建立申请进行审批。

(3)申请通过后,项目CM 发布基线,并及时通知相关方。

2.4 配置审核

配置审核的目的是确认工作产品和配置管理活动的一致性、完整性和符合性,并记录审核结果。 配置审核包括功能配置审核、物理配置审核和配置管理审核。这3 类审核对应的审核时机以及角色如表1 所示。

表1 配置审核一览表Tab.1 Configuration audit

2.5 变更控制

在实际项目研发过程中,变更是不可避免的。当已通过评审入受控库的配置项发生变更时, 需跟踪和控制配置项的变更,对变更过程实施有效控制,防止随意修改造成的失控和混乱,导致软件工作的损失。变更的大致步骤如下:

(1)项目负责人提出变更申请,说明变更原因、更改方案、影响域分析并明确需变更的配置项。

(2)变更申请经部门CCB 审核后,由所级CCB 审批。

(3)变更申请审批通过后通知利益相关方。

(4)变更执行人按照要求进行变更,变更完成后,通知变更验证人进行验证。

(5) 变更验证人根据验证方案对变更后的配置项进行验证。

(6)变更后的配置项重新申请入受控库并更新版本号。变更流程如图3 所示。

图3 变更流程图Fig3. The change control processes

3 过程和产品质量保证

过程和产品质量保证的目的是使员工和管理者对过程和相关的工作产品能有客观深入的了解。 过程和产品质量保证主要有以下3 类。

3.1 制定质量保证计划

《质量保证计划》是开展软件质量保证活动的依据, 因此在策划期间, 项目QA 应依据《软件研制任务书》、“项目策划计划”、《软件开发计划》进行质量保证工作的策划,制定《质量保证计划》,确保其与《软件开发计划》一致。 该计划主要应明确:需评价的过程或工作产品、评价的时机和频度、评价的方法、评价依据的标准和规程、采用的检查单、有关责任人、审核时机、审核方式、沟通和汇报方式及时机。

3.2 过程和产品审核

过程和产品审核的目的是通过软件项目研制过程中的QA 审核活动, 有效及时地发现过程及工作产品中存在的问题,并及时采取纠正措施,保证项目过程质量和产品质量。 主要活动包含以下几点:

(1)选择合适的检查单。

(2)实施审核。过程审核的通常安排在过程活动执行时,工作产品的审核通常安排在工作产品评审前。

(3)标识不符合项,记录审核结果。 标识的不符合项需说明判断依据,同时将不符合项相关信息列入“不符合项跟踪表”。

3.3 跟踪解决不符合项

项目QA 应与项目组交流、 分析过程和产品审核中发现的不符合项,并跟踪每个不符合项直至关闭。若项目组内无法解决的不符合项, 项目QA 应及时逐级上报中高层领导,以保证不符合项得以解决。

3.4 相关经验

根据作者经验,QA 是保证软件质量的关卡,QA 对提升软件质量起到非常大的帮助。 而一名优秀的QA,一定要具备以下几点能力:

(1)技术能力。技术水平越高的QA,越容易发现产品存在的问题。

(2)策划能力。 QA 的工作非常繁重,既要审核产品,又要审核过程,从项目立项开始便参与其中。 若同时参与几个项目,那么更是分身乏术。 如何避免主次不分,把时间和精力没有投入到重要的任务中,值得每个QA 学习[5]。

(3)职业操守。QA 工作独立于项目组,主要是发现项目研发中的各类问题。 在开展评价活动时保持客观性和有效性,而非流于形式,是QA 的基本职业操守。

4 结束语

研究及实践表明,软件过程需要不断改善,软件过程能力需要不断提高[6]。 贯标真实开展、将软件研制过程与标准结合起来、不断摸索GJB5000A 二级的最佳实践、积累组织资产库、为后续项目提供经验,是各军用软件承制单位提高软件生产率和软件质量、降低开发成本、缩短开发周期的有效途径。

猜你喜欢

配置管理基线策划
汽车委托外加工零件自动化配置管理
本刊特别策划
本刊特别策划
本刊特别策划
航天技术与甚长基线阵的结合探索
一种SINS/超短基线组合定位系统安装误差标定算法
配置管理数据库运用与实现
一种改进的干涉仪测向基线设计方法
本期策划
建设CMDB任重道远