个体软件过程(PSP)(2009新版)-恨死高分下载_第1页
个体软件过程(PSP)(2009新版)-恨死高分下载_第2页
个体软件过程(PSP)(2009新版)-恨死高分下载_第3页
个体软件过程(PSP)(2009新版)-恨死高分下载_第4页
个体软件过程(PSP)(2009新版)-恨死高分下载_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

841个体软件过程(PSP)北京航空航天高校软件工程探讨所罗燕京2009.5PersonalSoftwareProcess恨死高分下载!842个体软件过程(PSP)课程内容PSP的基本学问个体软件过程框架PSP五大核心技能时间管理制定支配缺陷管理软件规模度量设计评审843基于支配和质量基本原理的PSP设计每一个工程师要追求最大效率,必需在个人的数据基础上支配他们的工作,工程师要改善其表现,必需接受经过良好定义和度量的过程发觉并修复缺陷的时间越早其成本越低防止缺陷的产生比发觉他们更有效844软件工程师对自已的要求一个软件工程师的任务就是在预定的进度下交付高质量的软件产品。软件工程师常常关切个人技术技能,但往往不太留意个人技术技能的发挥效率以及方法。为了稳定的生产高质量的产品,工程师必需支配、度量和跟踪产品的质量,而且必需从工作的起先就关注产品的质量。最终必需分析自已每一个工作的结果用以改善其个人的过程。845软件工程师对自已的要求为了了解自已的表现,必需度量自已每一个工作步骤的花费时间,产生和消退缺陷的数量以及他们所制造产品的规模。软件工程师的最重要的个人资产,就是始终以高质量的产品满足合同要求的实力。846应用PSP后的效果软件产品总的缺陷削减58%测试阶段发觉的缺陷削减71.9%生产效率提高20.8%847PSP简介PSP的探讨工作起先于1989年。1995年由美国卡内基梅隆高校的软件工程探讨所发展。PSP旨在供应一种由实力成熟度模型(CMM)描述的支持过程改进组织进程的个人规范。PSP是假使应用组织处于或接近CMM2级水平。848CMM、TSP、PSP之间的关系CMM的18个关键过程域中,有12个与PSP紧密相关,有16个TSP紧密相关。学习PSP和TSP不仅有助于工程师改善工作效率,而目也特殊有利于组织的改善过程。据统计,软件项目开发成本的70%取决于软件开发人员个人的技能、阅历和工作习惯。因此,软件开发人员如能接受PSP培训,对该单位软件实力成熟度的升级是一个有力的保证。849个体过程框架模型运用自底向上的方法来改进过程,向每个软件工程师表明过程改进的原则,使他们能够明白如何有效地生产出高质量的软件。PSP是一个个体过程框架模型:PSP说明个体软件过程的原则;帮助软件工程师作出精确的支配;确定软件工程师为改善产品质量要实行的步骤;建立度量个体软件过程改善的基准;确定过程的变更对软件工程师实力的影响。8410个体软件过程框架(四级)PSP为个体的实力供应了一个阶梯式的进化框架(共4个级别7个台阶),以按部就班的方法改进个体软件过程。每一级别都包含了更低一级别中的全部元素,并增加了新的元素。个体度量过程PSP0和PSP0.1(7个过程行为)个体规划过程PSP1和PSP1.1(4个过程行为)个体质量过程PSP2和PSP2.1(3个过程行为)个体循环过程PSP38411个体软件过程框架个体度量过程PSP0个体规划过程PSP1个体质量管理PSP2个体循环过程PSP38412个体度量过程PSP0PSP0基线过程当前软件过程工作时间记录程序缺陷记录缺陷类型标准PSP0.1度量过程编码标准软件规模度量过程改善建议个体规划过程PSP1PSP1软件规模估计测试报告PSP1.1任务规划进度安排个体质量管理PSP2PSP2代码评审设计评审PSP2.1设计模扳循环过程PSP3PSP3循环开发8413PSP过程流程PSP过程从需求状态起先,PSP过程的第一步是支配。有一个支配脚本指导这项工作并且有一个支配汇总记录相关的支配数据。当工程师依据脚本进行工作,他们将他们的时间和缺陷数据记录到时间和缺陷日志。在工作的结束,即事后分析阶段,他们依据日志汇总时间和缺陷数据,度量程序规模,并将这些数据记录进支配汇总表单。当全部这些完成后,他们将完成的产品和完整的支配汇总表单一起交付。8414过程脚本项目支配与总结数据表格需求最终产品指南支配数据实际数据

时间和缺陷数据支配和实际的项目过程数据计划设计编码编绎测试后置处理

PSP过程流程8415PSP0个体基线过程PSP0的目的是建立基线过程。衡量过程改进的基准如下:通过运用PSP的各种表格采集过程的有关数据。包括支配、开发、后置处理三个阶段。对软件开发时间、缺陷类型标准、引入和解除的缺陷个数进行必要的测量。8416PSP0.1个体度量过程1.编码标准良好的编码标准将有效地避开开发有潜在紧急的代码,有助于预防缺陷。编码标准还能有效地统一和规范整体开发活动。当其他开发人员加入到项目中来时,他们能够很好地适应这一切。代码也将变得更规范更易维护。8417PSP0.1个体度量过程2.程序规模度量程序大小的度量(往往分解为不同类元素个数的多少:例如功能点、用例、类、操作)3.过程改善建议表格用于随时记录过程中存在的问题、解决问题的措施以及改进过程的方法,以提高软件开发人员的质量意识和过程意识)8418个体支配过程PSP1PSP1的主要过程是软件规模估计。软件规模估计的前提是要清晰所需完成的任务,并对任务做确定的分解,并且要分解到可估算以及尽量接近估算精确的程度,软件规模估计是支配的前提。任务分解与开发方法和实现技术有较大的关系。问题:说明这种关系8419个体支配过程PSP1.1PSP1.1的主要过程是任务和进度的规划。支配的主要内容包括完成什么任务,完成任务的估计时间和进度表。起先时登记你的支配进度和努力作为个人任务和实际结果的评估。比较两组数据然后找出差距,这将有助于你提高自己的评估实力。8420PSP1的基本流程8421个体质量管理过程PSP2PSP的一个基本原理是:“假如你在测试以前不高质量的产品,那么在测试以后你也得不到高质量的产品”。在起先实现项目之前查看全部需求和设计,按需求和设计完成工作。当你不确定一个需求时,确定要问清晰,并就文档模型达成共识。8422质量管理过程的第一步为了满足质量的基本要求,要学习软件建模方法和技术,模型是沟通的基础。通过模型理解软件的基本结构。任何模型都是通过静态模型部分来表达软件的数据结构,通过动态模型表达驱动数据的过程,通过过程的实现完成软件所要求的功能。8423缺陷管理个体质量管理的内容主要是缺陷管理。缺陷是指程序中存在的错误,例如语法错误、标点符号错误或者是一个不正确的程序语句,是任何影响程序完整而有效的满足用户要求的东西,是可以表示、描述和统计的客观事物。绝大多数软件缺陷都源于程序员的疏忽大意。8424缺陷管理为了减小缺陷,就必需进行缺陷管理,探讨已经引入的缺陷,确定引起这些缺陷的缘由,并学会在将来如何避开重复同样的错误。缺陷管理的主要内容包括缺陷分类、统计缺陷个数、缺陷查找技术、缺陷预料。缺陷管理是通过PSP2的代码评审和设计评审两个过程完成的。8425个体质量管理过程PSP2.1论述设计过程和设计模板技术,介绍设计方法,并供应了设计模板PSP并不强调选用什么设计方法,而强调设计完备性准则和设计验证技术。开发人员必需驾驭设计评审技术和代码评审技术。8426个体循环过程PSP3PSP3的目标是把个体开发小程序所能达到的生产效率和生产质量,延长到大型程序;其方法是接受螺旋式上升过程,即迭代增量式开发方法;首先把大型程序分解成小的模块,然后对每个模块按PSP2.1所描述的过程进行开发,最终把这些模块逐步集成为完整的软件产品。8427个体循环过程PSP3应用PSP3开发大型软件系统,必需接受增量式开发方法,并要求每一个增量都具有很高的质量。在这样的前提下,在新一轮开发循环中,可以接受回来测试的方法,集中力气考察新增加的这些增量是否符合要求。因此,要求在PSP2中进行严格的设计复查和代码复查,并在PSP2.1中努力遵循设计结束准则。8428个体循环过程PSP38429PSP五大核心技能时间管理制定支配缺陷管理软件规模度量设计评审84301.时间管理8431时间管理记录时间数据追踪时间运用时间记录日志处理时间中断8432时间管理的逻辑原理为了管理好时间,首先制定时间支配支配,然后按支配去做。为了制定切实可行的支配,必需对所用的时间进行跟踪为了检查时间估计和支配的精确性,必需把它们写成文档并在今后与实际状况进行比较为制定出更精确的支配,要了解以前的支配存在哪些错误,哪些地方可以改进8433了解时间的运用状况将主要活动分类记录每项主要活动所花费的时间用标准的方法记录时间以分钟为测量单位。

处理中断时间。

将时间数据保存在合适的地方周活动总结表。

记录时间的提示。

8434时间跟踪要想改进工作质量,首先要清晰你当前要做的事情估计出每项任务要花费的时间必需对时间做出测量8435时间记录日志日期开始时间结束时间中断时间净时间活动用例状态备注2005.3.98:3010:3020100分析出库完成10:3012:003060评审出库完成13:0017:3040230分析入库完成2005.3.10备注:当活动变换时需另起一行,以便对单个活动进行时间统计。8436运用标准的时间记录日志日期:进行某个活动的日期起先时间:起先这个活动的时间结束时间:结束这个活动的时间中断时间:由于中断所占用的时间(好方法是运用秒表)净时间:以分钟为单位计算活动从起先到结束用的时间活动:活动名称或活动ID状态:活动状态备注:更加完整的注释8437

统计规定工作时间实际工作时间中断累计时间有效时间利用率日统计4805109082.4%周统计月统计时间记录日志的统计日期开始时间结束时间中断时间净时间活动用例状态备注2005.3.98:3010:3020100分析出库完成10:3012:003060评审出库完成13:0018:0040260分析入库完成8438活动总结表

活动名称用例计划时间实际时间活动状态误差百分比原因分析分析出库80100完成-25%评审出库6060完成0备注:可以周或阶段为单位8439管理好时间时间管理的要素活动分类收集活动的时间数据时间支配的评价作出时间支配找出更多的时间制定基本规则设定时间支配优先级时间管理目标8440时间管理模型

84412.制定支配8442支配内容阶段支配产品支配缺陷估计支配8443阶段支配阶段支配就是将一个大的任务分为若干小阶段以分段执行。分段执行的优点是便于支配、实施、跟踪、检查和改进。8444产品支配制定产品支配的活动收集历史项目数据估算程序和文档规模制定程序和文档规范、标准产品支配包含产品规模、工作时间和进度三方面的估计。通过收集以前不同任务所用时间的数据,就能够估计将来类似的任务或许所须要的时间。8445任务分解与估算

用例任务活动操作复杂度时间估算备份时间25%小计实际数据用例任务1活动1操作1中15050200活动2操作2高300100400操作3低12040160操作4中24080320活动3操作5中15050200小计359603201280任务2注:以编码阶段为例数字单位:分钟8446任务进度支配任务活动3.14(480)3.15(960)3.16(1440)3.17(1920)任务1活动1活动1活动18447缺陷估计支配项目开发支配也包括缺陷估计。利用工程师以前的工作阅历,他们能精确规划他们每阶段将引入和消退的项目缺陷、缺陷类型、缺陷的或许分布、复查,编译,和测试时发觉和修复缺陷所需的或许时间。有了这些阅历数据,工程师可以制定一个检查表,这可以帮助他们在过程的初期就发觉缺陷。他们同样可以改善他们的过程设计,这样就能防止缺陷的引入。84483.缺陷管理8449什么是缺陷缺陷是指程序中存在的错误缺陷是任何影响到程序完整而不能有效满足用户须要的东西。缺陷是客观的事物,是可以标识、描述和统计的。缺陷可能出现在程序中和设计中,甚至在需求、规格说明或其它文档中。8450什么是缺陷缺陷是程序员引入的。(平均7-10行源程序就会引入一个缺陷)所以引入缺陷是有缘由的。发觉和修复缺陷须要大量的时间和费用。(一般的软件组织须要50%的精力、时间、经费来查找和修复缺陷)所以削减缺陷对每个工程师是很重要的。8451缺陷管理的级别缺陷的级别:查找和标识缺陷解除缺陷削减缺陷预防缺陷8452缺陷管理软件人员似乎认为测试能找到产品全部或者大多数缺陷。然而有确凿证据表明:即使是运行得很好的单元测试,在查找缺陷方面也只有不超过70%的有效率。集成测试和系统测试为45%,而功能测试一般只有8%。正确的做法是,在测试前集中精力发觉或者防止缺陷。8453发觉和修复缺陷的费用探讨证明,开发过程每前进一步,发觉和修复缺陷的平均代价要增长10倍。尽管缺陷的修复时间变更很大,但平均时间总是遵循这样的规律,而与缺陷的类型无关。8454缺陷分类通过缺陷分类,可以快速找出哪一类缺陷的问题最大,然后集中精力预防和解除这一类缺陷,这就是缺陷管理的关键。把精力集中到最简洁引起问题的几类缺陷上,一旦这几类缺陷得到限制,在进一步找到新的简洁引起问题的几类缺陷上。8455类型编号类型名称

描述10文档注释,信息20语法拼写,标点符号,打字,指令格式30联编打包变更管理,库,版本控制40赋值说明,重名,作用域,限制50接口过程调用和引用,输入输出,用户格式60检查出错信息,不合适的检查70数据结构,内容80函数逻辑,指针,循环,递归,计算,函数缺陷90系统配置,记时,内存100环境设计,编译,测试,其他支持系统问题缺陷分类8456统计缺陷个数接受缺陷记录日志,记录那些当你完成初始设计或编码后照旧留在产品中的缺陷。人们很简洁对缺陷辩解,但是要管理好缺陷,就必需收集有关缺陷的精确数据。缺陷记录日志日期编号类型引入阶段排除阶段更改时间修复缺陷

描述:8457没有方法不引入缺陷,但是在开发过程中尽早发觉和修复缺陷还是可能的。有多种发觉程序中的缺陷的方法,基本上都包括以下步骤:表示缺陷征兆;从征兆中推断出缺陷的位置;确定程序中的错误;确定如何修复缺陷;修复缺陷;验证这个修复是否已经解决了这个问题。发觉和修复缺陷的方法8458编译测试用户反馈最有效的发觉和修复缺陷的方法是个人复查源程序清单。这种方法很难彻底清除程序中的缺陷,但事实证明,这是最快而且最有效的方法。发觉缺陷的方法8459缺陷率有阅历的工程师缺陷引入率是每千行代码50-250个缺陷,引入缺陷是正常现象。缺陷率与写程序的年数关系并不大缺陷数量多少主要由每个人的编程规范确定引入PSP比多年的阅历有效,可削减50%的缺陷精确估计缺陷个数对改善过程很重要工程师个人承诺开发无缺陷的程序是最重要的8460缺陷率一个程序在测试时所发觉的缺陷的多少与产品投入测试中的数量成正比。待测试的产品越多,能发觉的缺陷就越多。产品测试后照旧存在的缺陷与投入测试的产品数量成比例。8461缺陷密度(Dd):Defects/KLOC每千行代码的缺陷个数计算步骤:累计开发过程中每个阶段发觉的缺陷总数(D)统计程序中新开发的和修改的代码行数(N)计算每千行的缺陷数:Dd=1000*D/N例如:一个96行的源程序总共有14个缺陷,则缺陷密度是:Dd=1000*14/96=145.83/KLOC缺陷密度8462以前开发程序的千行代码缺陷数:Ddplan=1000*(D1+…Di)/(N1+…Ni)设新程序具有相同的缺陷数:Dplan=Nplan*Ddplan/1000缺陷预料和估计8463缺陷解除效率(DRE)缺陷解除效率(DRE)是软件质量度量的指标之一。当把一个项目作为一个整体来考虑时,DRE按如下方式定义:DRE=E/(E+D)其中E=软件交付给最终用户之前所发觉的错误数,D=软件交付之后所发觉的缺陷数最志向的DRE值是1,即软件中没有发觉缺陷。但现实中,D会大于0,如何把错误发觉的阶段尽量限制在软件交付运用前?PSP能改善这一点。84644.软件规模度量8465软件项目估算对问题进行分解,把其分解成一组较小的接近于最终解决的可控的子问题,再定义它们的特性。规模测量的方法很多,应当依据不同的对象运用不同的估计方法。没有任何方法可以保证估计的结果确定精确,作出好的规模估计的关键是要有大量的历史数据和阅历,要进行多次规模估计,并且要定期的将实际结果与估计值进行比较。8466估算程序规模方法代码行测量方法功能点方法用例方法利用历史数据或凭实际阅历,对每个功能分别按乐观的、可能的、悲观的三种状况给出FP估计值。8467FP估算FP估算表包括:每个测量参数的估算FP计数=估算值*加权因子项目估算FP=各参数FP计数之和*困难度调整因子估算生产率由阅历获得估算工作量=项目估算FP/估算生产率估算总成本=日薪*估算工作量单个FP估算成本=估算总成本/估算FP8468用例分析技术为基础的估算将用例分析技术的结构与实现技术的结构结合相互映射到可估算的粒度。基于用例分析技术的项目分解。基于用例分析结构元素的估算。8469用例分析技术的分解结构8470用例分析技术的执行结构8471用例任务活动操作界面事件流动作序列动作JSPAction会话Bean实体Bean

代码行估算

经验估算将用例分析技术的结构与实现技术的结构结合相互映射到可估算的粒度。8472项目报告

对比分析与项目有关的数据,使软件人员对估算、实际数据相识更深,提高以后的预料率。可以对每一个项目清晰地比较其估算工作量、支配工作量与实际工作量的值,它们的比值越接近1,说明估算、支配越精确。还可以对LOC、FP的估算实际生产率做比较。同时报告还应供应项目中出现的错误数、出错最多的错误名称及错误类型等。84735.设计评审8474设计评审评审对需求的理解。评审设计是否合理。评审文档表达是否规范、明确、符合标准。在小组内或个体之间进行。8475代码复查

代码复查就是探讨源代码,并从中发觉错误。代码复查更有效的缘由是:在复查时看到的是问题本身而不是征兆。从头到尾复查代码时,考虑的是程序应当做什么。因此,当看到某些地方不正确时,就可以看到可能的问题是什么,并立刻去验证代码。复查的缺点是:特殊耗时,而且很难恰当的进行;8476代码复查代码复查的第一步

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论