您好, 访客   登录/注册

基于GJB5000A二级软件过程管理的改进

来源:用户上传      作者:

  摘要:本文根据GJB5000A-2008的要求,再结合本单位的软件开发过程,介绍了一种软件管理过程,并对每个分过程的工作内容和工作流程进行了详细介绍。本文可用于指导软件项目实施GJB5000A管理,实施基本软件工程过程,规范软件开发,不断提高软件工程化水平。
  关键词:GJB5000A-2008;软件管理过程;软件开发
  中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2020)08-0222-07
  0 引言
  近十年,由于军用设备集成度和复杂度的快速提高,软件规模和关键等级也随之快速提高,在此情况下中国人民解放军总装备部为保证军用软件的质量和研制进度可控,对军用软件研制过程管理提出了更高的要求,要求从事军用软件研制的单位必须至少通过GJB5000A-2008的二级认证。因此各军工企业都高度重视GJB5000A的贯彻实施,目前一部分单位已经通过二级、三级,甚至部分单位正在准备通过四级认证。
  1 GJB5000A简介
  GJB5000A(军用软件研制能力成熟度模型)将组织的软件研制能力成熟度分为5个等级(如图1),每一等级构成了前进中过程改进基础的一个层次,是实现下一个成熟度等级的基础。5个等级分别为:1级为初始级,2级为已管理级,3级为已定义级,4级为已定量管理级,5级为优化级。
  每个成熟度等级由若干过程域组成,这几个过程域共同形成一种软件过程能力。GJB5000A二级共有7个过程域,分别为:配置管理过程域、测量与分析过程域、项目监控过程域、项目策划过程域、质量保证过程域、需求管理过程域、供方协议管理过程域[1]。
  2 软件过程管理
  实施软件过程改进时,将GJB5000A标准的要求与我单位软件开发过程结合,形成如图2所示的软件过程模型,该模型将GJB5000A二级中的项目策划过程域与项目监控过程域合并为项目管理过程,增加软件开发过程。
  软件过程模型包括三部分:项目管理过程、工程过程、支持过程。工程过程是整个模型的核心。
  项目管理类过程覆盖与项目策划、监督和控制有关的项目管理活动,包括制定和维护项目计划、建立和维护承诺、对照计划监督进展、采取纠正措施等有关活动。通过比较项目状态与项目计划来确定进展情况。当实际状态显著偏离项目计划时,采取适当的纠正措施。
  工程类过程包括软件开发过程与需求管理过程,它描述软件开发过程中的所有工程活动,包括系统分析和设计、软件需求分析、软件设计、软件实现、软件测试、软件验收与交付等。
  支持类过程包含配置管理过程、软件质量保证过程、测量与分析过程,是用于支持产品开发和维护的活动。
  3 软件管理分过程介绍
  3.1 软件项目管理过程
  本过程包括项目策划、项目监控、风险管理、利益相关方管理等多项内容。项目策划包括制定软件开发计划、软件配置管理计划、软件质量保证计划以及各分项计划,如利益相关方计划、资源管理计划、培训计划、风险管理计划等并维护计划[2]。策划工作以产品和项目需求为出发点,所涉及的工作包括协商各项承诺、估计工作量和拟订进度。
  针对项目计划进行监督和控制,定期(一般每周)、项目阶段(含里程碑)和项目结束时对项目进行监督和控制,当发现与项目计划的严重偏离,采取纠正措施。
  具体过程活动见图3。
  3.2 软件质量保证过程
  软件质量保证过程通过在项目整个生存期,向项目成员和领导提供对过程和工作产品的不符合项反馈,来保障交付高质量的产品和服务。
  软件质量保证过程涉及三个方面:按照项目初期制定的软件质量保证计划,对照各种检查单客观地审核所实施的过程、工作产品;标识并反馈不符合项问题,确保不符合项得到解决;向项目成员和各级领导提供关于质量保证活动结果的反馈,同时,也要接受所SQA组的审核。
  具体过程活动见图4。
  3.3 配置管理过程
  配置管理包括对项目过程文档和工作产品的版本、变更和发布的控制。它侧重于对工作产品(包括交付的系统)的管理性的和技术性的内容的严格控制。
  在软件项目的初期阶段,配置管理员开始策划配置管理活动,配置管理员和配置管理组建立配置管理系统,并且随着基线的开发不断把基线包容在内[3]。通过配置管理的配置控制、变更管理和配置审核等功能,对配置管理系统中的软件工作产品或软件产品的发布和基线的变更实施系统性的控制和监督。
  具体过程活动见图5。
  3.4 测量与分析过程
  测量与分析包括制定测量分析计划、采集测量数据、分析测量结果等内容。具体工作流程如下:
  (1)根据项目的目标和组织的测量要求标识信息需要并设定信息需要的优先级;(2)根据项目信息需要确定测量集,用清晰的定义描述测量的构造;(3)将测量分析方法集成到项目的技术和管理过程中,并形成测量分析计划;(4)按测量分析计划收集数据;(5)将收集到的测量数据转换成指示器的值,根据指示器的值分析当前项目的状态;(6)测量分析人员利用测量分析报告向所有利益相关方报告测量分析活动的结果。
  具体过程活动见图6。
  3.5 需求管理过程
  需求管理包括制定并维护软件研制任务书等用户需求。该需求是估计、策划、执行和跟踪整个软件生存周期内软件项目活动的依据。
  需求管理过程主要分为需求评审、需求跟踪和需求变更控制等活动。需求评审是在项目组和相关人员之间获得对需求的一致理解。需求跟踪是指利用建立的需求跟踪矩阵,保证每个需求得到了实现,以及辅助进行变更分析,确保需求与后续工作产品之间的一致性。需求变更管理的目的是合理有效地控制并執行需求变更[4]。
  具体过程活动见图7。
  3.6 软件开发过程
  软件开发过程包含下列阶段,每一个阶段相对独立:
  (1)系统分析与设计;(2)软件需求分析;(3)软件设计;(4)软件实现与单元测试;(5)软件集成与测试;(6)软件合格性测试;(7)软件验收与交付。
  具体过程活动见图8。
  3.7 软件外包管理过程
  软件外包管理过程是帮助项目组及本所管理人员合理地制定重大项目任务分配的决策,选择合格的外部合作伙伴,并对外包过程进行有效的管理和控制。
  软件外包管理过程包括:
  (1)确定软件外包的范围、工作内容;(2)选择合格外部组织作为软件外包承担单位;(3)签订外包合同;(4)对软件外包进行监督和控制;(5)按照合同要求验收外包产品等。
  具体过程活动见图9。
  4 结论
  本文通过详细介绍软件管理过程中每个分过程的工作,明确了整个软件管理的过程需要实施的工作,通过各个过程的相互协调、相互监督的工作模式,使软件项目管理工作可以按计划、保质量,促进度的完成软件项目工作,持续改进了软件过程能力,提高了软件工程水平,不断地提高了产品质量,满足了军内外顾客要求,提高生产率并且降低开发成本。
  参考文献
  [1] GJB5000A-2008军用软件研制能力成熟度模型[Z].
  [2] 魏钜熔.GJB5000A二级软件过程改进的应用与实践[J].电子技术与软件工程,2019(17):50-51.
  [3] 周本芳.基于GJB5000A的软件研发过程管理平台的研究与应用[D].武汉:武汉轻工大学,2019.
  [4] 程蓓蓓,余智勇,何玉敏.基于GJB5000A的软件过程改进研究[J].质量与可靠性,2017(2):31-35.
转载注明来源:https://www.xzbu.com/8/view-15321941.htm