关于个体软件开发过程的认识_第1页
关于个体软件开发过程的认识_第2页
关于个体软件开发过程的认识_第3页
关于个体软件开发过程的认识_第4页
关于个体软件开发过程的认识_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、关于个体软件开发过程的认识 20101178 杨剑峰 个体软件过程(Personal Software Process,PSP)是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。 随着软件工程知识的普及,软件工程师都知道,要开发高质量的软件,必须改进软件生产

2、的过程。目前,业界公认由CMU/SEI开发的软件能力成熟度模型SW-CMM是当前最好的软件过程,并且CMM已经成为事实上的软件过程工业标准。但是,CMM虽然提供了一个有力的软件过程改进框架,却只告诉我们应该做什么,而没有告诉我们应该怎样做,并未提供有关实现关键过程域所需要的具体知识和技能。为了弥补这个欠缺,Humphrey又主持开发了个体软件过程(Personal Software Process,PSP)。 一、个体度量过程PSP0和PSP0.1 PSP0的目的是建立个体过程基线,通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括计划、开发

3、(包括设计、编码、编译和测试)以及后置处理三个阶段,并要作一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排除的缺陷个数等,用作为测量在PSP的过程中进步的基准。PSP0.1增加了编码标准、程序规模度量和过程改善建议等三个关键过程域,其中过程改善建议表格用于随时记录过程中存在的问题、解决问题的措施以及改进过程的方法,以提高软件开发人员的质量意识和过程意识。应该强调指出,在PSP0阶段必须理解和学会使用不合格进行规划和度量的技术。设计一个好的表格并不容易,需要在实践中积累经验,以准确地满足期望的需求,其中最重要的是要保持数据的一致性、有用性和简洁性。二、个体规划过

4、程PSP1和PSP1.1 PSP1的重点是个体计划,引入了基于估计的计划方法PROBE(PROxy Based Estimating),用自己的历史数据来预测新程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。PSP1.1增加了对任务和进度的规划。在PSP1阶段应该学会编制项目开发计划,这不仅对承担大型软件的开发十分重要,即使是开发小型软件也必不可少。因为,只有对自己的能力有客观的评价,才能作出更加准确的计划,才能实事求是地接受和完成客户(顾客)委托的任务。三、个体质量管理过程PSP2和PSP2.1PSP2的重点是个体质量管理,根据程序的缺陷善建立检

5、测表,按照检测表进行设计复查和代码复查(有时也称代码走查),以便及早发现缺陷,使修复缺陷的代价最小。随着个人经验和技术的积累,还应学会怎样改进检测表以适应自己的要求。PSP2.1则论述设计过程和设计模板,介绍设计方法,并提供了设计模板、但PSP并不强调选用什么设计方法,而强调设计完备性准则和设计验证技术。实施PSP的一个重要目标就是学会在开发软件的早期实际地、客观地处理由于人们的疏忽所造成的程序缺陷问题。人们都期盼获得高质量的软件,但是只有高素质的软件开发人员并遵循合适的软件过程,才能开发出高质量的软件,因此,PSP2引入并着重强调设计复查和代码复查技术,一个合格的软件开发人员必须掌握这两项基

6、本技术。学习总结:作为非电专业学生,对于PSP,TSP的概念了解显然更具有实际价值,或许不能编出漂亮的软件程序,但是仍然有机会参与软件开发。四、个体循环过程PSP3PSP3的目标是把个体开发小程序所能达到的生产效率和生产质量,延伸到大型程序;其方法是采用螺旋式上升过程,即迭代增量式开发方法,首先把大型程序分解成小的模块,然后对每个模块按照PSP2.1所描述的过程进行开发,最后把这些模块逐步集成为完整的软件产品。应用PSP3开发大型软件系统,必须采用增量式开发方法,并要求每一个增量都具有很高的质量。在这样的前提下,在新一轮开发循环中,可以采用回归测试的方法,集中力量考察新增加的这个(这些)增量是

7、否符合要求。因此,要求在PSP2中进行严格的设计复查和代码复查,并在PSP2.1中努力遵循设计结束准则。从对个体软件过程框架的概要描述中,可以清楚地看到,如何作好项目规划和如何保证产品质量,是任何软件开发过程中最基本的问题。PSP可以帮助软件工程师在个人的基础上运用过程的原则,借助于PSP提供的一些度量和分析工具,了解自己的技能水平,控制和管理自己的工作方式,使自己日常工作的评估、计划和预测更加准确、更加有效,进而改进个人的工作表现,提高个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组织范围的软件工程过程改进。五、个体软件过程PSP之过程改进PSP是一个需要逐步改进的过程。

8、Watts S. Humphrey服兵役的时候,必须学会机枪射击。开始训练时用猎枪打泥鸽子,Watts的成绩非常差,并且努力训练还是没有提高。教官对Watts进行了一段观察后,建议他用左手射击。作为一个习惯右手的人,开始Watts很不习惯,但练了几次后,Watts的成绩几乎总是接近优秀。这个事例说明了几个问题。首先,要通过测量来诊断一个问题,通过了解Watts击中了几只鸽子和脱靶的情况,很容易看出必须对Watts做些调整。然后,必须客观的分析测量的数据,通过观察Watts的射击,教官就可以分析Watts射击的过程上膛、就位、跟踪目标、瞄准,最后射击。教官的目的就是发现Watts哪些步骤存在问题

9、,找到问题所在,于是建议目的就是发现用左手射击。最后,也是最重要的,就是自身的变化。过程改进是非常困难的,因为人们很多时候不愿意尝试新事物。他们传统的习惯看起来很自然,以至于不相信改变会有什么帮助。Watts总是使用右手,从来没有想过左手射击会是什么样子。但是自Watts采纳了教官的建议,他的成绩就提高了。六、个体软件过程PSP之时间管理1、时间管理的逻辑原理 人们很可能像上星期那样安排这星期的时间。当然,随着工作的不同,也有很多例外的情况。 为了制定切实可行的计划,必须对所用的时间进行跟踪。如果问上周的时间是怎么利用的,一般人都认为很容易所出每项工作花了多少时间,但是当看到实际的数据时,很可

10、能感到十分惊讶:花在编程上的时间比估计的少得多,花在消遣的时间比预期的多得多;乐意做的事情做的特别快,用的时间也似乎特别少,令人头疼的事情占用的时间似乎比实际花费的时间多得多。要搞清楚时间都用在什么地方,必须对时间进行跟踪,保留一份准确的记录。2.了解时间的使用情况将主要活动分类。在开始分配时间时,你会发现大部分时间都用在相对很少的几个活动上。记录每项主要活动所花费的时间。坚持记录时间需要很强的自我约束能力,要想进行精确的记录,必须记录下每件主要工作开始和结束的时间。除非你知道自己实际上用了多少时间,否则就不可能管理好使用时间的方式。七、个体软件过程PSP之制订计划1、如何制定阶段计划2、如何制定产品计划3、管理好时间可以按照如下步骤管理时间:1. 分析自己使用时间的历史记录;2. 制定时间安排表,决定如何使用时间;3. 对照制定的安排表跟踪使用时间的方式;4. 决定应该改变什么意思自己的行动达到所作安排的要求。八、个体软件过程PSP之缺

温馨提示

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

评论

0/150

提交评论