软件过程及管理.第二讲_第1页
软件过程及管理.第二讲_第2页
软件过程及管理.第二讲_第3页
软件过程及管理.第二讲_第4页
软件过程及管理.第二讲_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

荣国平南京大学软件学院2015年秋软件过程与管理第二讲

个体软件过程经典语录“在很多方面,管理一个大型的计算机编程项目和管理其他行业的大型工程很相似——比大多数程序员所认为的还要相似;在另外一些方面,它又有差别——比大多数职业经理人所认为的差别还要大” ——FrederickP.Brooks.JR本讲要解决的问题为什么要有PSP?PSP是什么?PSP该如何实施?内容PSP简介流程度量PROBE估算方法PSP渊源和作用过程改进运动TQMHumphrey早期工作PSP/TSPPSP作用个人级别估算和计划承诺和拒绝承诺理解和改进工业水准的过程和规范客观决策的数据什么是PSP?PSP是包括了数据记录表格、过程操作指南和规程在内的结构化框架。一个基本的PSP流程包括策划、设计、编码、编译、单元测试以及总结等阶段。在每个阶段,都有相应的过程操作指南,用以指导该阶段的开发活动所有的开发活动都需要记录相应的时间日志与缺陷日志。典型PSP流程PSP基本原则软件系统的整体质量由该系统中质量最差的某些组件所决定;软件组件的质量取决于开发这些组件的软件工程师,更加确切的说,是由这些工程师所使用的开发过程所决定;作为合格的软件工程师,应当自己度量、跟踪自己的工作,应当自己管理软件组件的质量;作为合格的软件工程师,应当从自己开发过程的偏差中学习、总结,并将这些经验教训整合到自己的开发实践中,也就是说,应当建立持续地自我改进机制。PSP成熟度级别PSP过程度量过程度量在过程管理和改进中起着极为重要的作用。PSP基本度量项即时间缺陷规模日程(TSP)PSP时间度量(时间日志)日志内容注释序号该条记录的序号;所属阶段该条记录所属的PSP阶段,如策划、设计、编码、编译、单元测试、总结等;开始时间该条记录的开始时间,精确到分钟;结束时间该条记录的结束时间,精确到分钟;中断时间该条记录的计时过程中,需要中断的时间,精确到分钟,典型的中断如电话等;净时间结束时间-开始时间-中断时间,用以表示某个阶段任务的纯工作时间;备注信息如果有中断事件,往往需要在备注信息中简单记录,用以帮助记录者了解时间被消耗的原因;时间日志示例序号10所属阶段设计开始时间2010/5/311:30:00结束时间2010/5/312:00:00中断时间0净时间30备注信息无序号11所属阶段设计开始时间2010/5/414:30:00结束时间2010/5/416:00:00中断时间30净时间60备注信息PhonecallPSP缺陷度量(缺陷日志)日志内容注释序号该条记录的序号;发现日期该缺陷被发现的日期;注入阶段经过分析,确定该缺陷被引入的阶段,典型引入阶段如设计、编码、编译、单元测试等;消除阶段该缺陷被消除的阶段,在引入阶段之后;消除时间为了修正该缺陷所消耗的时间;关联缺陷如果缺陷的引入阶段是编译或者单元测试等通常用以消除缺陷的这些阶段,那么往往意味着,该缺陷实在消除另外的一个缺陷是被引入,因此,需要建立一种关联关系;简要描述对于缺陷产生根本原因的简要描述;PSP缺陷类型标准序号缺陷类型备注1Documentation注释、提示信息等2Syntax拼写错误、指令格式错误等3Build,Package组件版本、调用库方面的错误4Assignment申明、变量影响范围等方面的错误5Interface调用接口错误6Checking出错信息、未充分检验等错误7Data数据结构、内容错误8Function逻辑错误、指针、循环、计算、递归等方面的错误9System配置、计时、内存方面的错误10Environment设计、编译、测试或者其他支持系统的错误PSP规模度量标准选择选择的规模度量方式必须反映开发成本;选择的度量方式必须精确;选择的度量方式必须能用自动化方法来统计;选择的度量方式必须有助于早期规划;PSP典型规模度量方式LOC物理逻辑procedureISet.Set(varN:int;varinc:boolean);begininc:=false;SearchPtr:=SetStart;while(SearchPtr<>nil)and(inc==false)doifSearchPtr^.ThisN==Ntheninc:=trueelseSearchPtr:=SearchPtr^.NextN;end;规模度量的困境精确的度量方式往往不便于早期规划;有助于早期规划的度量往往难以产生精确度量结果;LOCVS.FP?PROBE的作用内容PSP简介流程度量PROBE估算方法PROBE原理示例PROBE(PROxyBasedEstimation)序号用途相对大小及数量1厨房1个中等大小2卧室1个大卧室;2个小卧室3卫生间1个中等大小;1个小型4书房1个中等大小5客厅1个大客厅相对大小矩阵小型(平方尺)中等(平方尺)大型(平方尺)卧室90140200卫生间2560120厨房100130160客厅150250400书房150240340类型大小130+200+90×2+60+25+240+400=1235(平方尺)相对大小矩阵C++语言类型VS

S

M

L

VL

Calculation2.345.1311.2524.6654.04Data2.604.798.8416.3130.09I/O9.0112.0616.1521.6228.93Logic7.5510.9815.9823.2533.83Set-up3.885.046.568.5311.09Text3.758.0017.0736.4177.66通用计划框架PROBE估算流程线性回归调整规模估算线性回归调整时间估算预测区间PROBE方法的应用历史数据的处理有限历史数据个别极端数据的处理历史数据的处理简单方法正态分布对数正态分布某人的历史数据类方法数代码行(LOC)A339B5127C264D328E112F221计算每个方法的代码行数,可以得出如下的数据:13,25.4,32.9.333,12,10.5。简单方法基本思想是:将每个方法的代码行数进行排序选择最小值作为VS;选择最大值作为VL;选择中值作为M;选择VS与M的均值作为S;选择VL与M的均值作为L。计算结果:VS=9.333,VL=32,M=12或者13,S=11.2,L=22.5。正态分布法(1)正态分布法(2)使用正态分布法的计算方法如下:选择所有数据的均值作为M,计算所有数据的标准差

σ。那么S=M-σ

,VS=M-2σ

,L=M+σ

,VL=M+2σ

。计算结果:在上述例子中,VS=-1.67,S=7.68,M=17.04,L=26.39,VL=35.75。对数正态分布(1)大部分人习惯写很多规模很小的程序,少量规模较大的程序此外,程序的规模不可能出现负数对数正态分布(2)计算方法:以e为底计算所有数据的自然对数;计算取对数之后的值的均值作为M,计算相应标准差

σ。那么S=M-σ

,VS=M-2σ

,L=M+σ

,VL=M+2σ

。取反对数;计算结果:VS=5.55,S=9.19,M=15.22,L=25.21,VL=41.75。三种方法对比简单方法计算简单,但是,不稳定正态分布法相对稳定,在历史数据基本符合正态分布的情况下,可以给出非常好的相对大小矩阵对数正态分布法更加符合人们对于程序的规模的直观感觉有限历史数据Probe方法依赖历史数据,但是实际历史数据有可能历史数据少于3个数据点;有足够的历史数据,但是数据的质量不高相关性相关性描述的是两组变化的数据之间相互关联的程度;在PSP中为确保估算质量,对于历史数据的相关性要求r≥0.7。显著性它描述的是上述两组数据的相关关系出现的偶然性因此,显著性越小越好。在PSP中要求显著性s≤0.05PROBE估算规模PROBE方法数据要求数据质量要求计算方法A3组或者3组以上代理规模(E)与实际程序规模。r≥0.7;s≤0.05;β0≤估算结果的25%;0.5≤β1≤2;略。B3组或者3组以上计划程序规模与实际程序规模。r≥0.7;s≤0.05;β0≤估算结果的25%;0.5≤β1≤2;略。C有历史数据无按比例调整。D没有历史数据无猜测。PROBE估算时间PROBE方法数据要求数据质量要求计算方法A3组或者3组以上代理规模(E)与实际开发时间。r≥0.7;s≤0.05;β0显著小于估算结果;β1≤0.5×(历史生产效率的倒数)略。B3组或者3组以上计划程序规模与实际开发时间。r≥0.7;s≤0.05;β0显著小于估算结果;β1≤0.5×(历史生产效率的倒数)略。C有历史数据无按比例调整。D没有历史数据无猜测。极端数据PROBEA方法和B方法的时候,对于数据的相关性有要求。然而很多时候,历史数据中的一些极端数据会造成相关性的“假象”。r=0.26r=0.9102040608010012

温馨提示

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

评论

0/150

提交评论