您好, 访客   登录/注册

GJB5000A软件配置管理过程优化

来源:用户上传      作者:

  摘要:软件项目运行中按照GJB5000A配置管理过程,依据项目协议任务识别项目周期模型,确定项目运行需要的配置管理阶段和配置项,结合软件项目平台系统使用三库和三基线标识并管理所需的配置项状态,最终通过软件项目配置管理过程的优化,标准规范的进行软件项目管理。
  关键词:配置管理;配置库;配置项;基线
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2020)08-0196-05
  0 引言
  随着信息化的飞速发展软件研制规模不断增加,使得软件产品的版本管理困难也增加,参照GJB5000A-2008《军用软件研制能力成熟度模型》,对软件项目规模和软件项目需进行的阶段进行设计,以某小型项目文档模板按照GJB438B-2009《军用软件开发文档通用要求》为例介绍,该项目在某软件项目平台按五个阶段开展:系统需求分析与设计阶段、软件需求分析与设计阶段、软件实现与测试、软件合格性测试、软件验收与交付。按软件项目阶段工作计划设定项目任务并分配软件项目需要的专业成员,保证软件项目研制阶段快速化、规范化、标准化。
  配置管理是軟件项目开发环境管理的核心,如果不做好配置管理工作,经常会导致软件程序开发过程的多代码多版本等繁杂问题出现,这样很容易产生软件程序的冲突和混乱,处理这些问题又需要花费更多时间和精力[1]。因此,做好软件项目的配置管理工作十分重要。
  1 配置管理介绍
  配置管理的目的是利用配置标识、配置控制、配置状态记实和配置审核建立和维护配置项的工作产品的完整性。配置管理主要管理软件项目开发过程中产生的各配置项,维护配置项版本的完整性及可追踪性,不仅是各配置项的管理,更是对软件项目过程中各任务的管理,因此,配置管理活动管控的是整个软件系统的形成过程。
  在软件工程化管理过程中,配置管理的主要任务包括:建立软件配置管理计划、管理并标识软件各配置库中的配置项和基线、控制对软件配置项和基线的更改、建立和发布基线、记录配置项的状态和配置管理活动,生成并报告各阶段配置管理的工作报告。在实际应用中软件承制方应建立一个完备的配置管理系统,以达到能够有效实施软件的配置管理过程,提高软件质量的目的[2]。
  配置管理过程中一些相关内容介绍如下:
  配置是有关技术文档中陈述的或产品中已实现的硬件或软件的功能和物理特性。
  软件配置项是为配置管理指定的硬件、软件或两者的一个聚合体,在配置管理过程中视为一个单一实体。
  基线是一组经过正式评审同意后,作为进一步开发或交付基础的规格说明或工作产品,且若需更改基线,则应按更改控制规程文件执行。基线表示将一个标识符赋予一配置项或配置项集及其相关实体。随着产品的演进,可以使用多个基线控制其开发和测试。
  版本是某一配置项的已标识了的实例。版本控制是软件配置管理的核心,其目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,保证产品的可追溯性。
  配置审核是确认所产生的基线和文档符合指定的标准或需求。
  配置控制委员会(SCCB)负责指导和控制配置管理的各项活动,批准配置项标识、授权基线的创建、标识,制定访问控制策略,批准对基线的变更,并授权软件工程组实施变更;负责跟踪验证来自审核的措施项。
  结合软件项目工作计划,按照如图1的配置管理流程,GJB5000A软件项目组成员负责协助配置管理员完成各阶段软件项目工作。
  2 配置管理过程
  2.1 配置库管理和权限设置
  2.1.1 配置项三库管理
  配置库按控制级别一般分为开发库、受控库、产品库(简称“三库”) 如图2,三库中配置项的内容和项目成员的权限需配置管理员按照配置管理计划和配置管理文件要求进行读写的权限设置。
  开发库中软件项目各任务的开发人员将需评审的配置项内容和版本入开发库的公共区,项目其他相关人员可在公共区下载或查看配置项内容进行预评审,项目组周会正式评审配置项时项目成员可直接将预评审问题提出,提高项目周会评审质量和效率,配置项最终内容版本可受控由软件开发负责人员提交入受控库的申请流程,经项目的SCCB审批,由配置管理员将开发库中可入受控库的配置项办理配置管理审核和提交入库申请后入受控库。如图2 GJB5000A使用的软件平台系统,项目开发人员负责将确认好需入库的配置项内容按V0.00版本上传至该平台配置管理开发库公共区,配置项负责人在该平台同时提交入库申请,入库申请流程发送至该平台项目相关人员处,项目人员看到系统平台通知,及时审核配置项内容版本,项目组周会进行该配置项评审时各项目人员统一将问题反馈负责人,负责人完善问题并修改后提交该配置项V0.01版至开发库公共区,最终项目组确认该配置项可入受控库需按照受控库版本V1.00提交入库申请,配置项审核人确认配置项内容无误后签核流程,流程至配置管理员处,配置管理员需进行入受控库配置项的审核,按检查单审核配置项内容符合、不符合、不适用等情况,配置管理员审核通过后配置项入受控库,项目SCCB再次审核配置项入受控库,待受控库入库流程至配置管理员处,在该软件平台将配置项V1.00版转受控库。需要强调,软件目标代码和源代码需在软件实现与测试阶段入受控库,待软件合格性测试时再出库进行软件代码和软件目标代码软件合格性测试,若软件合格性测试有问题软件目标代码和源代码需更新版本再入受控库,若软件合格性测试无问题在该平台项目受控库中软件目标代码和源代码按受控库中版本无需再进行入受控库流程。
  2.1.2 配置项三库权限设置
  按照配置管理计划各配置项的项目人员职责权限如图3,对三库中的配置项和项目成员权限进行识别,配置库应保持配置标识的唯一、可追溯、可管理,每一配置项的同一版本不能存储多个,每一配置项的访问权限唯一、读写操作权限唯一。配置管理员创建配置项的存储目录结构,为每个纳入配置管理的配置项分配存储空间、规定访问权限,并定期进行配置库的数据维护备份。   软件项目各配置项开发库中,配置项负责人有开发库读写权限,其余项目人员仅有读权限。配置管理员将配置项转受控库,受控库所有配置项除配置管理员有读写权限外,其余人员对各配置项均仅有读权限,保证受控库配置项版本的准确性。待软件项目所有配置项入受控库后,软件项目交付需将所有配置项入产品库,产品库仅有比受控库配置管理员高级的配置管理人员有权限,保证产品库配置项交付版本的准确性。
  2.2 配置项标识重要性
  配置标识的主要活动是选择配置项、制定配置项、制定标识方案和保存配置项的标识方案。配置标识的目的是获得在软件系统中识别其各任务的能力,配置标识可以告知系统中的配置是什么,系统的各任务是什么,系统各任务对应的版本是什么[3]。软件配置管理员和项目组人员依据软件项目协议,按照检查单内容进行软件项目研制任务书评审,识别软件项目运行中必要的配置项,并对软件项目配置项进行软件项目代号标识,保证软件项目管理的唯一性。對软件项目配置项的准确识别和标识可以保证软件项目管理的高效性、准确性。该项目按照软件研制任务书、软件开发计划等识别配置项(见表1)并进行标识后完成软件配置管理计划,管控各配置项标识保证该项目的配置项唯一性和规范化,方便后续各配置项出入库管理和状态检索。
  配置项的版本标识目的是便于对同一个配置项在各库中的版本加以区分、跟踪和检索,表明各版本的关系和存在原因。配置项版本标识的控制就是对各种操作的控制,包括各配置项的入库、出库及不同版本变更原因的追溯。
  2.3 配置项基线管理
  按照配置管理计划规定的时间,当构成基线的配置项都已按要求纳入配置库,配置管理员填写基线建立和发布单,由配置控制委员会授权批准建立基线,并发布到项目组相关人员。为每条基线建立基线状态记录单,记录基线的状态演化历史等。项目建立的基线种类及每条基线构成的配置项、建立时机如表2所示,在配置管理计划的基线计划中已明确[4]。
  软件研制任务书入受控库,建立并发布功能基线,提交功能基线创建申请单,申请单需项目SCCB和用户代表审核通过后,配置管理员进行功能基线的物理配置审核,审核通过后将对应的基线发布负责人。
  在功能基线基础上,软件需求规格说明等入受控库,建立分配基线,配置管理员进行分配基线的物理配置审核,审核通过后将基线发布负责人。
  软件产品即软件目标代码和源代码、软件版本说明、软件用户手册等入受控库后,建立产品基线,配置管理员进行物理配置审核,审核通过后进行基线发布项目负责人。将功能基线、分配基线、产品基线简称“三基线”。
  2.4 配置项变更
  软件项目运行过程中的配置项变更既不可避免也必不可少。由于变更的内容、变更的幅度都会直接影响整个软件项目的进度,所以时刻需考虑变更范围的影响和管控。这时候软件配置过程管理就显得尤其重要,需要采取有效的措施,对软件项目配置项的变更进行严格控制。通过配置项变更控制能协调软件项目开发过程运行,确保变更带来的配置项过程的混乱减到最小[5]。
  2.5 配置管理报告
  配置管理各阶段配置项工作任务负责人需在该平台填写工作量和工作日志,配置管理阶段报告体现各配置项负责人的工作情况,汇总各阶段各任务后配置管理员完成配置管理阶段报告。软件项目完成所有配置项入受控库后,配置管理员需结合各阶段的配置管理报告,汇总完成软件整个阶段的配置管理总结报告。
  3 结语
  本文主要介绍了某小型项目周期模型软件项目按GJB 5000A-2008配置管理过程,并结合软件项目平台配置管理系统,可以改善因一些变动造成的软件项目产品维护困难,能有效地防止软件项目的资产流失,而且能从根本上杜绝软件产品的版本无序变更造成的软件产品质量隐患。软件配置管理过程合理运用不仅能极大地提高软件项目人员的工作效率[6],还能降低软件项目运行中的风险发生,同时使整个软件项目管理水平得到有效地提高,有力的实现软件项目运行的降本增效工程。本文介绍的软件配置管理过程和方法已很好地融入到我们的软件项目管理中,从而推动软件项目研制过程的标准化规范化发展。
  参考文献
  [1] 裴树军,陈德运,陈晓雪.软件配置管理在软件开发平台中的应用[J].哈尔滨理工大学学报,2010,15(1):30-32.
  [2] 童晖,石晨方,杨莉春.GJB5000A-2008在软件工程化中的应用[J].信息数据与电子工程,2019(20):89.
  [3] 童亚琴.基于CMM的软件过程管理系统--软件配置管理系统的研究与实现[D].杭州:浙江工业大学,2005.
  [4] 钟晖.基于CMMI的软件配置管理实践浅析[J].电子质量,2018(8):58-62.
  [5] 郝延刚.基于GJB5000A的软件配置管理研究与系统实现[J].雷达与对抗,2019,39(4):65-68.
  [6] 王珍英.配置管理在软件项目管理中的应用[J].计算机系统应用,2008(6):101-104.
转载注明来源:https://www.xzbu.com/8/view-15321716.htm