您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 个体软件过程(psp)项目实践(恨死高分下载)
个体软件过程PSPIntroductiontothePersonalSoftwareProcess反对高分文档•在本章,你将学到:PSP简介什么是PSP?为什么要学习PSP?PSP实现的过程步骤PSP简介WhatWillILearn?PSP是由美国卡纳基梅隆大学软件工程研究所开发出来的,它的推出在软件工程界引起了极大的轰动。PSP描述了很多资深软件工程师解决软件工程问题的方法,特别是有关软件项目计划和软件质量控制方面的先进方法。这是一门实践性很强的课程,需要通过与具体的程序设计课结合起来学习,并在编写程序的过程中努力采集真实的数据才能真正掌握PSP的精髓。PSP简介Tellme/ShowMe个体软件工程(PSP)就是为使软件工程师更好地工作而设计的一个框架。它指出如何估价和计划工作,如何按照这些计划来跟踪自己的性能,以及如何提高程序的质量。提高质量的方法需要花费一定的时间去学习和实践,但这对你的工程生涯是有益的。为了不断提高工作的质量,必须树立目标、对产品质量进行度量、了解工作的过程、改变并重用这个过程、度量和分析结果,最后要反复地对过程进行持续改进。为什么要学习PSPTellme/ShowMePSP实现的过程步骤Tellme/ShowMe循环和持续改进定义质量目标度量产品质量了解过程对过程进行调整应用调整后的过程测量结果将结果与目标进行比较软件开发过程过程脚本基本概念第4章软件开发过程WhatWillILearn?——1、软件开发过程•软件开发过程:开发过程中各个步骤的顺序构成软件过程模型。常用的过程模型有:编码修复(正)模型①、瀑布模型②、增量模型③、迭代模型④。•确定过程应包括的活动:需求、目标、质量计划、规格说明、高层设计、出版物内容计划、测试计划、低层设计、编码、单元和功能测试、构件测试、出版物初稿、系统测试、出版物修订稿、回归测试、打包、交付使用。第4章软件开发过程Tellme/ShowMe本章,我们将学到:•了解程序的规模•了解使用规模测量的注意事项•测量程序的规模•填写程序规模估计表•在作业编号日志中使用规模测量的方法第6章程序的规模WhatWillILearn?•为了更好对任务进行管理,我们需要尽可能准确地估计任务所需花费的时间。由于各种任务的规模的复杂程度的差异很大,所以掌握一种比较它们规模的方法是很有帮助的。第6章程序的规模WhyLearnIt?表学生Y章阅读时间表学生学生Y日期9/30/96教员先生Z课程CS1章阅读时间(MIN)页数分钟/页1&280204.00328122.334118167.38571174.18640123.33总计33777平均56.1712.834.38•有了阅读前五章所有时间的数据,就可以估计出阅读第6章要用的时间。考虑每页用多少分钟而不是每章用多少分钟来测量阅读每章所用的时间。•见右表,学生Y章阅读时间表。平均速率=(80+28+118+71+40)/(20+12+16+17+12)=337/77=4.38MIN/页第6章程序的规模Tellme/ShowMe•虽然这种规模测量方法看起来很简单,但是其中确实存在一些复杂的因素。•首先,有些文档读起来要比其它的文档困难得多。这意味着应该考虑工作所涉及的类型,而不只是它的规模.•另外,阅读时间会随着阅读目的和阅读次数发生变化。•对程序开发计划,也存在同样的问题。应该为不同类型的作业按其规模和时间分别记录它们的数据。第6章程序的规模Tellme/ShowMe程序规模的测量•测量程序规模的方法是统计源程序的文本行数(LOC)。•约定LOC时,约定不统计空行和注释行。•例1程序段有5LOC,例2使用更紧凑的格式例1,只有4LOC。•为了确保规模统计的一致,建议采用标准的编程格式。第6章程序的规模Tellme/ShowMe•程序规模估计表•通过查看表中的数据,考虑已知相关要开发程序的消息,能够判断出新程序处于表中的规模等级,有助于估算新程序的规模范围。第6章程序的规模Tellme/ShowMe•较大规模的估算1.建立一个历史记录,把以前编写的各个元素及它们各自所包含的代码行的相关数据收集在一起。2.对于较大规模的估算,考虑新程序的功能,估计出每一个功能的规模,把所有功能的估计数值加在一起得到对整个程序的估算。第6章程序的规模Tellme/ShowMe第6章程序的规模Tellme/ShowMe•测量的程序规模程序的规模:4LOC程序的规模:12LOC第6章程序的规模Tellme/ShowMe本章,我们将学到:•了解进度管理的必要性•掌握Gantt图的使用•学会跟踪项目计划第7章进度管理WhatWillILearn?•制定项目进度的目的是为了完成任务。•当在同一时间内要完成多个任务时,就需要有一份进度表。•对于庞大复杂任务,需要更加复杂的时间管理方案。第7章进度管理WhyLearnIt?第7章进度管理Tellme/ShowMe对于若干人参与的项目:•确保每个人都知道要完成的任务。•获取每项任务承诺的完成时间。•确定各任务之间的相互依赖关系。每个人开始处理工作之前他们必须得到什么样的输入,以及他们从谁那里得到这些输入。•把每一个相互依赖的关系都文档化。•与所有涉及到的人一起复查计划的进度表和任务之间的依赖关系,以确保没有冲突、分歧和误解。•复查进度表,以确保它包含了完成整个作业所需要的全部任务。第7章进度管理Tellme/ShowMe检查点•可以测量的进度点,里程碑。•项目规划和项目管理中的重要部分。•一个项目中能够客观标识的点。•不满足可验证性准则的一般陈述不能做检查点。第7章进度管理Tellme/ShowMe不适当的检查点•为编写程序制订了一个计划。•设计了一个程序。•完成了90%的编码工作。第7章进度管理Tellme/ShowMe建立检查点的建议•大约每5个小时的工作量建立一个检查点是最有帮助的。•对于为期几周的任务,即使估计这项作业每周只用大约半个小时的时间,每周至少也要设置一个检查点。•较大的项目且涉及若干个软件工程师,需要每个工程师都设置几个中间检查点,以便每个人都能知道其他人的工作状态。第7章进度管理Tellme/ShowMe跟踪项目计划•项目管理的重要部分,软件工程师在实际作业中应掌握的一项关键技能。•使读者知道项目是否正在按照进度进行,超前还是落后。•通过项目跟踪,及早发现问题,寻找解决问题的最佳办法。•一个良好的跟踪系统能够帮助工程师在问题严重到足以威胁项目的成败之前提前预防。第7章进度管理Tellme/ShowMe•项目跟踪计划示例第7章进度管理Tellme/ShowMe关于跟踪项目进度的建议•确保所有检查点的定义是明确的,并已将他们写下来。•在制订一份全新的计划之前,不要改动进度。•当按照计划公布项目进展状态时,不要改动计划。•在给出新估计的项目完成日期时,保留原来估计的日期,然后用虚线注明新的日期。•保存原始的进度表和所有更新的版本。第7章进度管理Tellme/ShowMe当工作顺序与原计划不同时跟踪计划:•采用积分方法,跟踪进度。•积分:一种时间的百分比。•通过计算任务所用时间占计划的项目总时间的百分比,来给出各任务的积分。•通过使用积分,可以用与原计划不同的顺序工作,并且还可以按照计划跟踪工作进展情况。第7章进度管理Tellme/ShowMe•跟踪积分示例……第7章进度管理Tellme/ShowMe本章,我们将学到:•了解什么是缺陷•查找缺陷•预测缺陷第8章缺陷管理WhatWillILearn?•软件质量影响到开发费用、交付日期和用户满度。•用户使用软件时,其中的缺陷可能导致严重问题,且发现和修复的代价很大。•缺陷由开发人员引起,因此软件工程师需要了解引入的缺陷,对它们进行管理。第8章缺陷管理WhyLearnIt?缺陷的类型第8章缺陷管理Tellme/ShowMe设计缺陷•原因1.设计错误,在对问题深思熟虑后做出了错误的设计决策;2.疏忽或思考简单,犯了愚蠢的错误;3.误解了要做的内容。第8章缺陷管理Tellme/ShowMe缺陷记录日志目的:帮助收集缺陷数据。建议:尽可能说细描述每个缺陷。第8章缺陷管理Tellme/ShowMe第8章缺陷管理Tellme/ShowMe第8章缺陷管理Tellme/ShowMe发现缺陷的步骤•标识缺陷征兆。•从征兆推断出缺陷的位置。•确定程序中的错误。•决定如何修复缺陷。•修复缺陷。•验证这个修复是否已经解决了这个问题。第8章缺陷管理Tellme/ShowMe发现缺陷的方法•开发工具集成插件查找可能出现的缺陷(findbugs)•编译器•测试•个人复查源程序清单•最终用户的投诉和反馈第8章缺陷管理Tellme/ShowMe代码复查•一种能快速找到缺陷的方法。•即研究源程序,从中发现错误。•最好在源程序编码完成后,编译和测试之前进行。•比测试更有效率。•主要缺陷点:要求程序员精通程序设计。•代码复查是一种技能,可以通过学习和实践来提高。•代码复查的第一步:了解自己引入的缺陷的种类。第8章缺陷管理Tellme/ShowMe代码复查脚本注意事项•在第一次编译前进行代码复查。•在打印出的源程序清单上复查。•在缺陷记录日志上记录发现的每一个缺陷。•在代码复查前,根据以前在编译与测试阶段发现的缺陷类型进行检查。第8章缺陷管理Tellme/ShowMe第8章缺陷管理Tellme/ShowMe•缺陷预测缺陷密度(:以每千行代码的缺陷数(Defects/KLOC)来测量第8章缺陷管理Tellme/ShowMe缺陷预测•缺陷密度(Dd):以每千行代码的缺陷数(Defects/KLOC)来测量,KLOC表示每1000行。•缺陷密度计算已知累计开发过程中每个阶段发现的缺陷总数(D);统计程序中新开发和修改的代码行数(N)。计算每千行的缺陷数Dd=1000×D/N•当为一个新的程序作计划时,先估计出程序可能有多少新的和修改的代码行。然后计算以前开发程序的每千行源代码的平均缺陷数。Ddplan=1000×(D1+…+Di)/(N1+…+Ni)第8章缺陷管理Tellme/ShowMe缺陷排除的经济效益•两种测量方法:1.每小时排除缺陷的个数2.计算机缺陷排除效益•软件开发中各阶段每小时累计的引入缺陷数和排除缺陷数在该阶段累计每小时引入缺陷数=60×(该阶段累计引入缺陷数)/(该阶段累计花费分钟数)在该阶段累计每小时排除缺陷数=60×(该阶段累计排除缺陷数)/(该阶段累计花费分钟数)第8章缺陷管理Tellme/ShowMe•一个96行的程序共有14个缺陷,计算缺陷密度。•Dd=1000×14/96=145.83Defects/KLOC。第8章缺陷管理Tryit本次课,我们将学到:•了解产品质量控制的重要性•缺陷排除效益的计算•最终缺陷排除效益的估计•过程质量的测量•质检/过失比、质量成本的计算第9章度量管理WhatWillILearn?•软件功能薄弱、漏洞等问题的出现,使软件质量成为了关注焦点。•软件产业的差距更为明显、致命的差距在于产品质量和过程当中的质量控制。•个人对产品质量产生的影响,通过计算在各阶段发现的缺陷数目和残留在最终产品中的缺陷数目之间的关系来考察和检测,进而提高程序的质量。•程序的质量取决于过程的质量,过程的质量又取决于人们的工作方式。为了开发出更好的程序,需要测量过程的质量。第9章度量管理WhyLearnIt?产品质量,可以从以下几个观点来看:•透明性观点:质量是产品一种可以认识但不可定义的性质;•使用者观点:质量是产品满足使用目的之程度;•制造者观点:质量是产品性能和规格要求的符合度;•产品观点:质量是联结产品固有性能的纽带;•基于价值观点:质量依赖于顾客愿意付给产品报酬的数量。第9章度量管理Tellme/ShowMe缺陷排除效益的计算各个阶段的缺陷排除效益的计算方法如下:阶段缺陷排除效益=100×(本阶段排除的缺陷数)/(进入本阶段时产品中的缺陷数)第9章度量管理Tellme/ShowMe第9章度量管理Tellme/ShowMe最终的缺陷排除效益估计•拇指法
本文标题:个体软件过程(psp)项目实践(恨死高分下载)
链接地址:https://www.777doc.com/doc-764053 .html