当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
计算机高级软考:CMM与软件过程改进(七)
发布时间:2009/12/7 10:22:57 来源:城市学习网 编辑:admin

  个体软件过程PSP的内容
  PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够:
  (1) 说明个体软件过程的原则;
  (2) 帮助软件工程师作出准确的计划;
  (3) 确定软件工程师为改善产品质量要采取的步骤;
  (4) 建立度量个体软件过程改善的基准;
  (5) 确定过程的改变对软件工程师能力的影响。
  个体软件过程PSP的作用
  l 使用自底向上的方法来改进过程,向每个软件工程师表明过程改进的原则,使他们能够明白如何有效地生产出高质量 的软件。
  l 为基于个体和小型群组软件过程的优化提供了具体而有效的途径。其研究与实践填补了CMM的空白。
  l 帮助软件工程师在个人的基础上运用过程的原则,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控 制和管理自己的工作方式,使自己日常工作的评估、计划和预测更加准确、更加有效,进而改进个人的工作表现,提 高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组织范围的软件工程过程改进。
  个人软件过程着重于提升个人的能力。PSP可以让每一个人明白自己如何制订计划并跟踪自己的工作,提供工作有效性的数据并识别出自己的优势和劣势,从而使你能够不断了解和改善自己的技能和才智,并在工作中充分利用自己独特的才能。而TSP向你展示如何成为合格的项目组成员,如何创建高效且具有自我管理能力的工程小组,从而达到高效的协同开发。
  PSP (Personal Software Process) 是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。

  群组软件过程TSP概述
  致力于开发高质量的产品,建立、管理和授权项目小组,并且指导他们如何在满足计划费用的前提下,在承诺的期限范围内,不断生产并交付高质量的产品。
  TSP指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍。始终以最佳状态来完成工作。TSP实施集体管理与自己管理自己相结合的原则,最终目的在于指导开发
  人员如何在最少的时间内,以预定的费用生产出高质量的软件产品,所采用的方法是对群组开发过程的定义、度量和改进
  实现TSP方法需要具备的条件
  o 需要有高层主管和各级经理的支持,以取得必要的资源
  o 整个软件开发小组至少应在CMM的第二级(可重复层)。
  o 全体软件开发人员必须经过PSP的培训,并有按TSP工作的愿望和热情。
  o 开发小组成员应在2到20个人之间。
  在实施TSP的过程中,首先要有明确的目标,开发人员要努力完成已经接受的委托任务。在每一阶段开始,要做好工作计划。如果发现未能按期按质完成计划,应立即分析原因,以判定问题是由于工作内容不合适或工作计
  划不实际所引起,还是由于资源不足或主观努力不够所引起。开发小组一方面应随时追踪项目进展状态并进行定期汇报,另一方面应经常评审自己是否按PSP的原理工作。开发小组成员应按自己管理自己的原则管理软件过程,
  如发现过程不合适,应及时改进,以保证用高质量的过程来产生高质量的软件。项目开发小组则按集体管理的原则进行管理,全体成员都要参加和关心小组的规划、进展的追踪和决策的制定等项工作。
  按TSP原理对开发小组的基本度量要素
  o 所编文档的页数。
  o 所编代码的行数。
  o 花费在各开发阶段或各开发任务上的时间(以分为单位)。
  o 在各个开发阶段中引入和改正的差错数目。
  o 在各个阶段对最终产品增加的价值。
  度量TSP实施质量的过程质量元素
  o 软件设计时间应大于软件实现时间。
  o 设计评审时间至少应占一半以上的设计时间。
  o 代码评审时间至少应占一半以上的代码编制时间。
  o 在编译阶段发现的差错不超过10个/KLOC
  o 在测试阶段发现的差错不超过5个/KLOC。
  l CMM是过程改善的第一步,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。企业只有开始 CMM改善后,才能接受需要规划的事实,认识到质量的重要性,才能注重对员工经常进行培训,合理
  分配项目人员, 并且建立起有效的项目小组。然而,它实现的成功与否与组织内部有关人员的积极参加和创造性活动密不可分。
  2 PSP能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充
  分运用PSP,从 而有助于CMM目标的实现。
  3 TSP结合了CMM的管理方法和PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,并将后者与 组织进而整个管理系统相联系;通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,
  并且依据数据进行项 目的管理,向组织展示如何应用CMM的原则和PSP的技能去生产高质量的产品。
  PSP和TSP对CMM的支持
  l CMM/TSP/PSP代表了目前国际上软件过程工程研究方面最先进的成果,它们对促进软件生产的科学化管理,提高软件 生产能力意义重大。
  2 软件的生产过程及其它的许多子过程、软件的开发者和用户、以及系统的使用中存在着巨大的变化和不同,要使一个 软件过程对软件生产的改善真正有所帮助,其框架应是由CMM、TSP和PSP组成的一个完整体系,
  即从组织、群组和个人三个层次进行良好的软件工程和管理实践的指导和支持。总而言之,单纯实施CMM,永远不能真正做到能力成熟度的升级,只有将实施CMM与实施PSP和TSP有机地结合起来,才能发挥最大的效力.

  建议
  过程改善工作必然具有一切过程所具有的固有特征,即需要循序渐进,不能一蹴而就需要持续改善,不能停滞不前;需要联系实际,不能照本宣读需要适应变革,不能凝固不变。我认为,将CMM/PSP/TSP引人软件
  企业最有效的途径首先要对单位主管和主要开发人员进行系统的培训。Carnegie Mellon大学软件工程研究所曾尝试让软件工程师通过自学的方式来进行,但实际上,只有不到20%的人能够坚持到底。另外一个
  有效的途径是自顶向下的课程培训,即从高层主管依次普及到下面的工程师。
  CMM就如同软件生产的一面镜子,以之来衡量自己可以折射出企业发展的水平以及具体的差距。借鉴CMM的方法,改进软件研发项目管理,提高软件开发水平。软件研发项目管理管理是影响软件研发项目全局的因素,而
  技术只影响局部。建议以CMM为框架,先从PSP做起,然后在此基础上逐渐过渡到TSP,以保证CMM/PSP/TSP确实在企业中生根开花。我相信只要坚持改善软件工程的管理,并在实践中总结适合自身的经验,一
  定能取得很好的效果。
  不过强调一点,我们必须根据自身的实际制定可行的方案。不深入研究就照搬别的企业的模式是很难起到提高软件产品质量水平的真正目的的。

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved