当前位置: 东星资源网 > 文档大全 > 礼仪 > 正文

[浅谈GJB5000A二级的软件过程改进] 软件过程改进

时间:2019-02-09 来源:东星资源网 本文已影响 手机版

  摘 要:GJB5000A-2008是总装备部颁布的军用软件研制能力成熟度模型。本文阐述了在军用软件项目中实施GJB5000A的作用及意义,介绍了如何在软件研制过程中开展GJB5000A二级的过程改进,并结合实际工作对其中实施的关键点进行分析提出了自己的看法,对军工企业开展GJB5000A认证工作有借鉴作用。
  关键词:GJB5000A;软件研制能力成熟度模型;过程域;军用软件;配置管理;软件工程
  0 引言
   随着现代武器装备中计算机技术发展的日新月异,软件在其中的比重越来越大。各种军用产品中的很多重要功能不得不依靠软件设计来完成,但传统的过程管理模式已满足不了日益增长的软件研制要求。
   为了评价软件研制单位是否具有相应的软件研制能力,总装备部制定了GJB5000A-2008《军用软件研制能力成熟度模型》,并交由新时代认证中心组织实施认证。通过贯彻GJB5000A的要求并不断改进的软件过程,各军工企业已经认识到过程改进后可以缩短软件开发周期、节省成本、提高软件可靠性等好处。
   通过GJB5000A二级认证评价,是军用软件开发单位的基本要求和建立软件过程控制体系的第一步,也是提高软件工程化水平的基础。结合GJB5000A二级实施现状和评价中发现的各类问题,分析GJB5000A实施的关键点,对解开软件改进过程中的疑点和困惑具有重要的意义。
  1 GIB5000A二级过程概述
  1.1 GJB5000A软件研制能力等级
   军用软件研制能力成熟度模型采用分级表示法,共分5个等级(见表1)。所有认证工作必须从2级(已管理级)开始,每一个成熟度等级都是下一个等级的必要基础,所以跳跃式实施认证是达不到预期和无意义的。
  1.2 GJB5000A二级过程概述
   GJB5000A二级是软件开发单位实施软件工程化的开始。它包含了7个过程域:配置管理(CM)、测量与分析(MA)、项目监控(PMC)、项目策划(PP)、过程和产品质量保证(PPQA)、需求管理(ReqM)和供方协议管理(SAM)。这7个方面是软件开发过程的控制关键点,由于软件研制过程参与人员多、部门多、人员技术水平参差不齐,这些特点增加了软件过程改进实施的难度。
  表1 软件能力成熟度等级及特征
  
   任何一个过程域实施不到位,都会影响到项目计划的执行和产品的交付。由于项目中涉及软件外包问题较少,因此不对供方协议管理(SAM)问题进行分析。下文主要分析GJB5000A过程中相关的6个过程域的关键点及问题。
  2 配置管理(CM)
   软件配置管理主要是控制软件技术状态,保证工作产品在整个软件生命周期中受控。软件配置管理活动主要包含配置标识、配置控制、配置审核、配置状态记实、软件发行和管理。其中在实施软件配置管理的过程中容易忽略下面几个关键问题。
   没有明确配置项选择准则。为防止重要的软件配置项没有得到控制,同时避免浪费过多资源管理不重要的资料,应在过程文件中列出如何选择软件配置项,必要时应列出应控制的软件配置项清单。
   没有建立软件配置管理的多级控制。对于大型软件开发单位,往往参与人员众多,单位结构复杂,只建立一个软件技术状态管理机构,是无法有效实施软件过程管理的。因此建立二级软件配置管理机构是可行的:项目级和组织级,这样可以提高组织对软件变化的反应和问题的处理能力。
   没有明确软件配置审核的要求。软件配置审核包含功能配置审核、物理配置审核和配置管理审核。进行软件配置审核时,应分清这三中审核的界限和要求,才能有效地在不同时机发现软件配置管理的问题。
  3 测量与分析(MA)
   进行软件测量与分析主要是为改进软件过程,便于采取纠正措施达到组织的目标。通过测量活动,组织可以找到如何提高软件质量、节约成本、提高用户满意度等方法。其中在实施软件测量与分析的过程中容易忽略下面几个关键问题。
   没有分析过程和活动的评价准则。对于选择的测量项进行合适的分析,有助于检查数据的必要性和可靠性。只有通过建立评价准则,才能够从数据中找到问题的所在。
   不能清晰反映测量项和测量目标的关系。如果测量项和测量目标的关系不明确,就无法正确理解测量项和进行优先级排序,所以要细化项目中测量项和测量目标的映射关系。
  4 项目监控(PMC)
   软件项目监控主要是在项目未按计划执行并发生显著偏离时,能及时采取纠正措施。通过计划监督项目中的参数、承诺、项目风险、数据管理、利益相关方和评审等方面,在发生显著偏离计划时能及时分析和解决问题。其中在实施软件项目监控的过程中容易忽略下面几个关键问题。
   一些重要评审和会议缺少利益相关方的参与。往往在一些里程碑会议上,会议组织者未按计划要求或由于种种原因没有邀请有关人员参与评审。这样不利于问题的解决和沟通,为后续工作的开展埋下了隐患。
   缺少里程碑的评审准则。在评审过程中,项目应明确制定里程碑评审规程,并对参与人员、评审内容等方面进行约束,这也是项目实现承诺、提高用户满意度的有效手段。
  5 项目策划(PP)
   软件项目策划是进行软件过程控制的前提,保证你能按正确的方法去开发软件。软件策划活动是通过历史数据进行估计,通过估计编制计划,依据计划开展各种活动。其中在实施软件项目策划的过程中容易忽略下面几个关键问题。
   没有依据工作量导出工作进度。项目软件负责人在安排任务进度时如何合理安排资源既是工作的重点,也是难点。利用估计工作量来划分阶段,便于区分各种活动之间的关系,也是唯一估计进度的手段。
   制定项目培训计划时没有考虑项目组成员的实际技能和能力。按照传统管理方式,项目在开始制定管理计划时,往往容易忽略人员的各种技能的培训,简单认为能开发软件就行。事实上,进行项目管理软件开发人员必须懂得在软件开发过程中所涉及过程域的要求和组织制定的过程文件。
  6 过程和产品质量保证(PPQA)
   过程和产品质量保证是对项目计划进行跟踪与监控,说明具体的方法,为软件项目的实际进展提供足够的可见度。软件质量保证活动往往已得到组织的重视和认可,但在开展评价活动时必须保持客观性和有效性。其中在实施软件过程和产品质量保证的过程中容易忽略下面几个关键问题。
   没有明确如何处理不符合项的准则或规程。对于不修改不符合项的关闭问题,不是交由当事人,也不是交由QA人员,而是由高层经理决定的。在实际进行项目管理过程中,如果不明确关闭的准则并考虑到特殊问题的处理,容易造成问题记录不正确或出现遗留问题。
   在项目早期工作中没有及时进行审核。如果软件质量保证人员等到项目计划评审后,才开始审核,就会出现审核不及时、工作不到位的情况。所以在制定过程文件时应增加早期策划质量审核的要求,将工作做细避免遗漏。
  7 需求管理(ReqM)
   需求管理主要是管理项目的产品和产品部件的需求,并标识这些需求与项目的计划和工作产品之间的不一致性。需求管理对软件过程及工作产品影响很大,因为需求总是在变化而且如何获得需求的承诺是放在软件开发面前的难题。其中在实施软件需求管理的过程中容易忽略下面几个关键问题。
   需求跟踪矩阵不完整,特别是非功能性需求的跟踪不到位。对需求进行逆向跟踪是很有必要的,对于需求的双向跟踪,即要有水平和垂直的跟踪,才能够实现承诺,并有效地保障了软件开发的过程不偏离。
   没有评估需求变更对原承诺的影响。任何需求变更不止是对开发进度、发布进度、人员有影响,对现有约定的影响也需要进行分析,有助于管理好需求,更好地做出判断是否需要采用更好的控制方法。
  8 结论
   实现GJB5000A二级软件过程目标和要求是一项系统工作。它需要发动组织各个层面上员工的主动性和创造性,才能够克服各种管理上和技术上的难点和关键问题。任何组织进行过程改进不考虑自身的现状,去照搬某个单位的解决办法是不切实际的,因此需要结合软件工程实践的最佳经验,才能选择实际的改进方法和措施。
   在推进软件工程化工作中,选择软件研制能力成熟度模型已成为众多航空企业提升软件管理和研制能力的新要求。越来越多的软件专业人才将会致力于软件过程的转变,通过及时总结技术经验避免走不必要的弯路,促进航空软件技术水平的提高。
  
  参考文献:
  [1] GJB5000A-2008军用软件研制能力成熟度模型.
  [2] 李华北,刘小茵,郑丹丹.过程改进基本原理及CMMI实施.北京:中国标准出版社,2009.
  [3] 常柏林,孙中泉,刘阳.GJB5000A2级军用软件过程管理.四川兵工学报,2010,31(10).

标签:浅谈 改进 过程 软件