个体软件过程(psp)项目实践(恨死高分下载)_第1页
个体软件过程(psp)项目实践(恨死高分下载)_第2页
个体软件过程(psp)项目实践(恨死高分下载)_第3页
个体软件过程(psp)项目实践(恨死高分下载)_第4页
个体软件过程(psp)项目实践(恨死高分下载)_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、个体软件过程PSP 反对高分文档 在本章,你将学到:在本章,你将学到: PSP简介简介 什么是什么是PSP? 为什么要学习为什么要学习PSP? PSP实现的过程步骤实现的过程步骤 PSP简介What Will I Learn ?PSP是由美国卡纳基梅隆大学软件工程研究所开发出来的是由美国卡纳基梅隆大学软件工程研究所开发出来的,它的推出在它的推出在软件工程界引起了极大的轰动。软件工程界引起了极大的轰动。PSP描述了很多资深软件工程师解决软件工描述了很多资深软件工程师解决软件工程问题的方法,特别是有关软件程问题的方法,特别是有关软件项目计划项目计划和和软件质量软件质量控制方面的先进方法。控制方面的

2、先进方法。 这是一门实践性很强的课程,需要通过与具体的程序设计课结合起来这是一门实践性很强的课程,需要通过与具体的程序设计课结合起来学习,并在编写程序的过程中努力采集真实的数据才能真正掌握学习,并在编写程序的过程中努力采集真实的数据才能真正掌握PSP的精髓。的精髓。 PSP简介 Tell me / Show Me个体软件工程(个体软件工程(PSP)就是为使软件工程师更好地工作而设计的一个)就是为使软件工程师更好地工作而设计的一个框架。它指出如何估价和计划工作,如何按照这些计划来跟踪自己的性能,框架。它指出如何估价和计划工作,如何按照这些计划来跟踪自己的性能,以及如何提高程序的质量。以及如何提高

3、程序的质量。提高质量的方法需要花费一定的时间去学习和实践,但这对你的工程提高质量的方法需要花费一定的时间去学习和实践,但这对你的工程生涯是有益的。为了不断提高工作的质量,必须树立目标、对产品质量进行生涯是有益的。为了不断提高工作的质量,必须树立目标、对产品质量进行度量、了解工作的过程、改变并重用这个过程、度量和分析结果,最后要反度量、了解工作的过程、改变并重用这个过程、度量和分析结果,最后要反复地对过程进行持续改进。复地对过程进行持续改进。 为什么要学习PSP Tell me / Show Me PSP实现的过程步骤 Tell me / Show Me循 环 和 持循 环 和 持续改进续改进定

4、义质量目标定义质量目标度量产品质量度量产品质量了解过程了解过程对过程进行调整对过程进行调整应用调整后的过程应用调整后的过程测量结果测量结果将结果与目标进行比较将结果与目标进行比较 软件开发过程软件开发过程 过程脚本过程脚本 基本概念基本概念第4章 软件开发过程What Will I Learn ?1、软件开发过程软件开发过程:软件开发过程: 开发过程中各个步骤的顺序构成软件过程模型。常用的过程模型开发过程中各个步骤的顺序构成软件过程模型。常用的过程模型有:编码修复(正)模型、瀑布模型、增量模型、迭代模型。有:编码修复(正)模型、瀑布模型、增量模型、迭代模型。确定过程应包括的活动:确定过程应包括

5、的活动: 需求、目标、质量计划、规格说明、高层设计、出版物内容计划、需求、目标、质量计划、规格说明、高层设计、出版物内容计划、测试计划、低层设计、编码、单元和功能测试、构件测试、出版物初测试计划、低层设计、编码、单元和功能测试、构件测试、出版物初稿、系统测试、出版物修订稿、回归测试、打包、交付使用。稿、系统测试、出版物修订稿、回归测试、打包、交付使用。 第4章 软件开发过程 Tell me / Show Me本章本章, ,我们将学到我们将学到: :了解程序的规模了解程序的规模了解使用规模测量的注意事项了解使用规模测量的注意事项测量程序的规模测量程序的规模填写程序规模估计表填写程序规模估计表在作

6、业编号日志中使用规模测量的方法在作业编号日志中使用规模测量的方法第6章 程序的规模What Will I Learn ?为了更好对任务进行管理,我们需要尽可能准确地估计任务所需花为了更好对任务进行管理,我们需要尽可能准确地估计任务所需花费的时间。由于各种任务的规模的复杂程度的差异很大,所以掌握费的时间。由于各种任务的规模的复杂程度的差异很大,所以掌握一种比较它们规模的方法是很有帮助的。一种比较它们规模的方法是很有帮助的。第6章 程序的规模Why Learn It?表 学生章阅读时间表学生学生日期教员先生课程章阅读时间()页数分钟页&280204.00328122.334118167.3

7、8571174.18640123.33总计33777平均56.1712.834.38有了阅读前五章所有有了阅读前五章所有时间的数据,就可以时间的数据,就可以估计出阅读第章要估计出阅读第章要用的时间。考虑每页用的时间。考虑每页用多少分钟而不是每用多少分钟而不是每章用多少分钟来测量章用多少分钟来测量阅读每章所用的时间。阅读每章所用的时间。 见右表,学生见右表,学生Y Y章阅读章阅读时间表。时间表。平均速率=(80+28+118+71+40)/(20+12+16+17+12)=337/77=4.38MIN/页第6章 程序的规模 Tell me / Show Me虽然这种规模测量方法看起来很简单,但是

8、其中确实存在一些虽然这种规模测量方法看起来很简单,但是其中确实存在一些复杂的因素。复杂的因素。首先,有些文档读起来要比其它的文档困难得多。这意味着应首先,有些文档读起来要比其它的文档困难得多。这意味着应该考虑工作所涉及的类型该考虑工作所涉及的类型, ,而不只是它的规模而不只是它的规模. .另外,阅读时间会随着阅读目的和阅读次数发生变化。另外,阅读时间会随着阅读目的和阅读次数发生变化。对程序开发计划,也存在同样的问题。应该为不同类型的作业对程序开发计划,也存在同样的问题。应该为不同类型的作业按其规模和时间分别记录它们的数据。按其规模和时间分别记录它们的数据。第6章 程序的规模 Tell me /

9、 Show Me程序规模的测量程序规模的测量测量程序规模的方法是统计测量程序规模的方法是统计源程序的文本行数(源程序的文本行数(LOC)LOC)。约定约定LOCLOC时,约定不统计空时,约定不统计空行和注释行。行和注释行。例例1 1程序段有程序段有5LOC,5LOC,例例2 2使用使用更紧凑的格式例更紧凑的格式例1 1,只有,只有4LOC4LOC。为了确保规模统计的一致,为了确保规模统计的一致,建议采用标准的编程格式。建议采用标准的编程格式。第6章 程序的规模 Tell me / Show Me程序规模估计表程序规模估计表通过查看表中的数据,考虑已知相关要开发程序的消息,能够判断出通过查看表中

10、的数据,考虑已知相关要开发程序的消息,能够判断出新程序处于表中的规模等级,有助于估算新程序的规模范围。新程序处于表中的规模等级,有助于估算新程序的规模范围。第6章 程序的规模 Tell me / Show Me较大规模的估算较大规模的估算1.1.建立一个历史记录,把以前编写的各个元素及它们各自所包含的代码建立一个历史记录,把以前编写的各个元素及它们各自所包含的代码行的相关数据收集在一起。行的相关数据收集在一起。2.2.对于较大规模的估算,考虑新程序的功能,估计出每一个功能的规模,对于较大规模的估算,考虑新程序的功能,估计出每一个功能的规模,把所有功能的估计数值加在一起得到对整个程序的估算。把所

11、有功能的估计数值加在一起得到对整个程序的估算。第6章 程序的规模 Tell me / Show Me第6章 程序的规模 Tell me / Show Me测量的程序规模测量的程序规模程序的规模:程序的规模:4LOC4LOC程序的规模:程序的规模:12LOC12LOC第6章 程序的规模 Tell me / Show Me本章本章, ,我们将学到我们将学到: :了解进度管理的必要性了解进度管理的必要性掌握掌握GanttGantt图的使用图的使用学会跟踪项目计划学会跟踪项目计划第7章 进度管理What Will I Learn ?制定项目进度的目的是为了完成任务。制定项目进度的目的是为了完成任务。当

12、在同一时间内要完成多个任务时,就需要有一份当在同一时间内要完成多个任务时,就需要有一份进度表。进度表。对于庞大复杂任务,需要更加复杂的时间管理方案。对于庞大复杂任务,需要更加复杂的时间管理方案。第7章 进度管理Why Learn It?第7章 进度管理 Tell me / Show Me对于若干人参与的项目:确保每个人都知道要完成的任务。获取每项任务承诺的完成时间。确定各任务之间的相互依赖关系。每个人开始处理工作之前他们必须得到什么样的输入,以及他们从谁那里得到这些输入。把每一个相互依赖的关系都文档化。与所有涉及到的人一起复查计划的进度表和任务之间的依赖关系,以确保没有冲突、分歧和误解。复查进

13、度表,以确保它包含了完成整个作业所需要的全部任务。第7章 进度管理 Tell me / Show Me检查点 可以测量的进度点,里程碑。 项目规划和项目管理中的重要部分。 一个项目中能够客观标识的点。 不满足可验证性准则的一般陈述不能做检查点。第7章 进度管理 Tell me / Show Me不适当的检查点 为编写程序制订了一个计划。 设计了一个程序。 完成了的编码工作。第7章 进度管理 Tell me / Show Me建立检查点的建议 大约每个小时的工作量建立一个检查点是最有帮助的。 对于为期几周的任务,即使估计这项作业每周只用大约半个小时的时间,每周至少也要设置一个检查点。 较大的项目

14、且涉及若干个软件工程师,需要每个工程师都设置几个中间检查点,以便每个人都能知道其他人的工作状态。 第7章 进度管理 Tell me / Show Me跟踪项目计划项目管理的重要部分,软件工程师在实际作业中应掌握的一项关键技能。使读者知道项目是否正在按照进度进行,超前还是落后。通过项目跟踪,及早发现问题,寻找解决问题的最佳办法。一个良好的跟踪系统能够帮助工程师在问题严重到足以威胁项目的成败之前提前预防。第7章 进度管理 Tell me / Show Me项目跟踪计划示例第7章 进度管理 Tell me / Show Me关于跟踪项目进度的建议 确保所有检查点的定义是明确的,并已将他们写下来。 在

15、制订一份全新的计划之前,不要改动进度。 当按照计划公布项目进展状态时,不要改动计划。 在给出新估计的项目完成日期时,保留原来估计的日期,然后用虚线注明新的日期。 保存原始的进度表和所有更新的版本。第7章 进度管理 Tell me / Show Me当工作顺序与原计划不同时跟踪计划: 采用积分方法,跟踪进度。 积分:一种时间的百分比。 通过计算任务所用时间占计划的项目总时间的百分比,来给出各任务的积分。 通过使用积分,可以用与原计划不同的顺序工作,并且还可以按照计划跟踪工作进展情况。第7章 进度管理 Tell me / Show Me 跟踪积分示例第7章 进度管理 Tell me / Show

16、Me本章,我们将学到: 了解什么是缺陷 查找缺陷 预测缺陷第8章 缺陷管理What Will I Learn ? 软件质量影响到开发费用、交付日期和用户满度。 用户使用软件时,其中的缺陷可能导致严重问题,且发现和修复的代价很大。 缺陷由开发人员引起,因此软件工程师需要了解引入的缺陷,对它们进行管理。第8章 缺陷管理Why Learn It?缺陷的类型第8章 缺陷管理 Tell me / Show Me设计缺陷原因1.设计错误,在对问题深思熟虑后做出了错误的设计决策;2.疏忽或思考简单,犯了愚蠢的错误;3.误解了要做的内容。第8章 缺陷管理 Tell me / Show Me缺陷记录日志目的:帮

17、助收集缺陷数据。建议:尽可能说细描述每个缺陷。第8章 缺陷管理 Tell me / Show Me第8章 缺陷管理 Tell me / Show Me第8章 缺陷管理 Tell me / Show Me发现缺陷的步骤标识缺陷征兆。从征兆推断出缺陷的位置。确定程序中的错误。决定如何修复缺陷。修复缺陷。验证这个修复是否已经解决了这个问题。第8章 缺陷管理 Tell me / Show Me发现缺陷的方法 开发工具集成插件查找可能出现的缺陷(findbugs) 编译器 测试 个人复查源程序清单 最终用户的投诉和反馈第8章 缺陷管理 Tell me / Show Me代码复查一种能快速找到缺陷的方法。

18、即研究源程序,从中发现错误。最好在源程序编码完成后,编译和测试之前进行。比测试更有效率。主要缺陷点:要求程序员精通程序设计。代码复查是一种技能,可以通过学习和实践来提高。代码复查的第一步:了解自己引入的缺陷的种类。第8章 缺陷管理 Tell me / Show Me代码复查脚本注意事项在第一次编译前进行代码复查。在打印出的源程序清单上复查。在缺陷记录日志上记录发现的每一个缺陷。在代码复查前,根据以前在编译与测试阶段发现的缺陷类型进行检查。第8章 缺陷管理 Tell me / Show Me第8章 缺陷管理 Tell me / Show Me 缺陷预测缺陷密度(:以每千行代码的缺陷数(Defec

19、ts/KLOC)来测量第8章 缺陷管理 Tell me / Show Me缺陷预测 缺陷密度(Dd):以每千行代码的缺陷数(Defects/KLOC)来测量,KLOC表示每1000行。 缺陷密度计算已知累计开发过程中每个阶段发现的缺陷总数(D);统计程序中新开发和修改的代码行数(N)。计算每千行的缺陷数Dd=1000D/N 当为一个新的程序作计划时,先估计出程序可能有多少新的和修改的代码行。然后计算以前开发程序的每千行源代码的平均缺陷数。 Dd plan =1000(D1+Di)/(N1+Ni) 第8章 缺陷管理 Tell me / Show Me缺陷排除的经济效益 两种测量方法:1.每小时排

20、除缺陷的个数2.计算机缺陷排除效益 软件开发中各阶段每小时累计的引入缺陷数和排除缺陷数在该阶段累计每小时引入缺陷数=60(该阶段累计引入缺陷数)/(该阶段累计花费分钟数)在该阶段累计每小时排除缺陷数=60(该阶段累计排除缺陷数)/(该阶段累计花费分钟数)第8章 缺陷管理 Tell me / Show Me 一个96行的程序共有14个缺陷,计算缺陷密度。 Dd=100014/96=145.83 Defects/KLOC。第8章 缺陷管理Try it本次课,我们将学到: 了解产品质量控制的重要性 缺陷排除效益的计算 最终缺陷排除效益的估计 过程质量的测量 质检过失比、质量成本的计算第9章 度量管理

21、What Will I Learn ? 软件功能薄弱、漏洞等问题的出现,使软件质量成为了关注焦点。 软件产业的差距更为明显、致命的差距在于产品质量和过程当中的质量控制。 个人对产品质量产生的影响,通过计算在各阶段发现的缺陷数目和残留在最终产品中的缺陷数目之间的关系来考察和检测,进而提高程序的质量。 程序的质量取决于过程的质量,过程的质量又取决于人们的工作方式。为了开发出更好的程序,需要测量过程的质量。第9章 度量管理Why Learn It?产品质量,可以从以下几个观点来看: 透明性观点:质量是产品一种可以认识但不可定义的性质; 使用者观点:质量是产品满足使用目的之程度; 制造者观点:质量是产

22、品性能和规格要求的符合度; 产品观点:质量是联结产品固有性能的纽带; 基于价值观点:质量依赖于顾客愿意付给产品报酬的数量。第9章 度量管理 Tell me / Show Me缺陷排除效益的计算各个阶段的缺陷排除效益的计算方法如下:阶段缺陷排除效益阶段缺陷排除效益100100(本阶段排除的缺陷数)(本阶段排除的缺陷数)/ /(进入本阶段时产品中的缺陷数)(进入本阶段时产品中的缺陷数)第9章 度量管理 Tell me / Show Me第9章 度量管理 Tell me / Show Me最终的缺陷排除效益估计拇指法则:假设残留的缺陷数和最后一个阶段排除的缺陷数相等 。例:代码复查发现17个缺陷;编

23、译时发现2个;测试时发现1个。此时代码复查的缺陷排除效益是:17/(1721)85 运用拇指法则: 17/(17211)80.95 第9章 度量管理 Tell me / Show Me软件工程师提高产品质量的有效方法:代码复查积累排除缺陷的个人经验原型方法第9章 度量管理 Tell me / Show Me质量成本三个主要元素:过失成本、质检成本和预防成本。 过失成本包括修复产品中缺陷的所有费用。 质检成本包括评估产品质量以确定在产品中是否仍然留有缺陷的所有工作,但不包括修复缺陷花费的时间。 预防成本是由修改过程以避免引入缺陷所带来的费用。 第9章 度量管理 Tell me / Show Me质检质量成本是所有复查时间的总和占总开发时间的百分比。过失质量成本是所有编译和测试时间的总和占总开发时间的百分比。例:实际总开发时间262min,实际代码复查时间29mi

温馨提示

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

评论

0/150

提交评论