您好, 访客   登录/注册

软件过程度量方法

来源:用户上传      作者:

  摘要:近年来,过程越来越受到重视,但过程是否行之有效,不得而知,于是度量过程成为过程管理中的重要一环。本文主要论述了软件过程度量的方法!
  关键词:过程度量 调和不同度量的方法 度量计划 采集数据
  
  测度对于任何工程学科而言都是基本的,软件工程也不例外。软件度量是指计算机软件中范围广泛的测度。测度可以应用于软件过程中,目的是在一个连续的基础上改进它。测度也可以用于整个软件项目中,辅助估算、质量控制、生产率评估、及项目控制。最后,软件工程师使用测度能够帮助评估技术工作产品的质量,且在项目进行中辅助决策。
  1、管理与度量过程行为
  软件过程,它是指一个软件项目或部门所使用的任何过程或子过程。一个过程行为度量的框架:(1)阐明商业目标:弄清商业目标、目的、政策、计划是怎样与软件过程发生联系。基于功能、成本、面世时间,以及质量的商业目标都存在项目和过程问题,要为客户提供有竞争力的产品和服务,能兑现对客户的承诺,则必须着力解决这些问题。(2)确定问题并安排优先次序:确定关键问题,调查研究的首选过程是那些以前出现过问题的或有过争议的过程,或者是第一次执行的过程。(3)选择和定义度量:选择有助于刻画过程或产品的度量,为选择的度量定义一个可操作的定义。(4)采集、验证和保留数据:采集数据,目的在于使过程可视化或分析可归属的原因和寻找可能的改进措施。(5)分析过程行为:用适当的计算(根据数据)在控制图上画出度量数据。(6)估算过程性能:在分析了过程性能的度量后的三种结果之一:排除可确定可归属的原因、变更过程,或继续改进过程。
  2、度量计划
  度量软件过程从制定计划开始。制定度量计划过程可分为三个阶段:(1)确定过程管理问题;(2)选择和定义相应的产品和过程度量;(3)把最终的度量活动集成到组织当前的软件过程中。
  经验表明,确定关键因素很重要,因为这些因素影响过程达到既定目标。我们称关键因素为问题,问题不一定是难题,它们描述了需要关注的情况,标识过程问题需要首先阐明商业目标和目的,确定关键过程,然后列出每一个关键过程的目标,列出与过程有关的待解决的问题领域,最后把列出的代解决问题归到公共的领域或不同的专题中。每个过程都至少有3~4个共有的特性,其中这些相同点,与过程有关的问题有4个,是每一个参与过程管理人员都要考虑的:(1)产品质量(规格说明、规定公差、使用限制和缺陷);(2)过程时间或持续时间;(3)产品交付和过程成本。
  3、采集数据
  度量的操作活动开始于采集活动。这意味着要把适当的人员、传感器、工具,以及实践放入过程中的适当位置,也意味着为随后的分析和过程改进活动捕获采集和存储数据。为过程管理采集并保留数据的主要任务:设计数据采集和保存方法,并获得相应的支持工具;召集并培训执行数据采集规程的人员;为每个被度量的过程采集和记录数据;使用定义好的表格和格式把采集到的数据提供给执行分析工作的个人和小组;监控数据采集和保存活动的运行(一致性)执行(依从性)和性能。
  因为采集数据的目的是为了使过程可视化,或者研究确定相应的影响因素和可能的改进机会,所以会经常碰到要对数据进行组织和总结,以及寻找可能存在的模式、趋势和关系等。散点图、趋势图、因果图、直方图、条形图、佩尔托排列图等工具可以帮助人们进行这些分析。
  4、过程和项目领域的度量
  项目指标使得软件项目管理者能够(1)评估正在进行的项目的状态;(2)跟踪潜在的风险;(3)在问题造成不良影响之前发现问题;(4)调整工作流程或任务;以及(5)评估项目组控制软件工程工作产品的质量的能力。 在某些情况下,可以采用同样的软件度量来确定项目的过程的指标。事实上,项目组收集到的并被转换成项目度量的测量数据,也可以传送给负责软件过程改进的人们。因此,很多同样的度量既用于过程领域又用于项目领域。
  5、过程度量和过程改进
  度量来提供引导改进战略的指标。但是,在我们讨论软件度量及它们对软件过程改进的影响之前,必须注意到过程仅是众多“改进软件质量和组织性能的控制因素”中的一种。我们间接地测量一个软件过程的功效。即,我们基于从过程中获得的结果导出一组度量。这些结果包括:在软件发布之前发现的错误数的测量,交付给最终用户并由最终用户报告的缺陷的测量,交付的工作产品的测量,花费的工作量的测量,花费的时间的测量,与进度计划是否一致的测量,以及其他测量。我们还通过测量特定软件工程任务的特性来导出过程度量。因为某个软件工程师可能对在其个人基础上收集的度量的使用比较敏感,这是很自然的,这些数据对此人应该是私有的,并成为仅供此人参考的指标。
  6、在软件过程中集成度量
  软件项目工作的日益繁重使得几乎没有时间去进行战略性的思考。软件项目管理者更关心现实的问题(当然这也同样重要):有意义的项目估算;高质量系统的产生;产品按时交付等。通过使用测量来建立项目基线,使得这些问题更加容易管理。我们已经知道基线是估算的基础,此外,质量度量的收集使得一个组织能够“调整”其软件工程过程,以排除引起对软件开发有重大影响的缺陷的“致命”原因。在项目级和技术级,软件度量能够提供立即可见的好处。软件设计完成后,大多数开发者都急于知道以下问题的答案:(1)哪些用户需求最有可能发生改变?(2)本系统中哪些模块最易于出错?(3)对于每一个模块需要设计多少测试?(4)当测试开始时,预计会有多少错误(特定类型的)?
  产业界普遍使用面向规模和面向功能的度量。面向规模的度量使用代码行作为其他测量,如人月或缺陷的规范化因子。功能点则是从信息域的测量及对问题复杂度的主观评估中导出的。 测量导致文化的改变。如果打算开始进行度量,则数据收集、度量计算及度量评估是必须执行的三个步骤。通过创建一个度量基线(一个包含过程及产品测量的数据库)软件工程师及管理者能够更好地了解他们所做的工作及所开发的产品。
  
  参考文献:
  [1]梁成才、汤伟、肖丽雯、陈海燕.软件质量的定量评定方法[J].计算机工程,2003年14期.
  [2]任卫军、贺昱曜、张卫钢.基于Gompertz模型的软件质量与测试过程评估[J].计算机工程与应用,2008年09期.
  [3]关帅、孙雅囡、朱清浩.一种潜艇作战软件质量评价的新方法[J].中国舰船研究,2008年05期.

转载注明来源:https://www.xzbu.com/9/view-11949594.htm