《个体软件过程PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《个体软件过程PPT讲稿.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Zhao Changkuan(Northeastern University Compute Center,China 11004)Zhao Changkuan(Northeastern University Compute Center,China 11004)neu_zhaoneu_个体软件过程第1页,共26页,编辑于2022年,星期三提纲n软件工程n软件开发模型n软件开发过程管理n个体软件过程PSP第2页,共26页,编辑于2022年,星期三软件工程软件开发项目的目标是满足需求的高性能软件产品,而软件开发条件是已有的技术储备、人员、财力等资源,制约因素是资源有限。同时,开发风险很多,例如不
2、稳定的需求、不成熟技术、缺乏有效管理。有报告指出“一半以上的软件项目严重拖期且超过预算,而四分之一的项目没有完成就被取消了。只有低于30%的项目是成功的”。从中可以看出,软件开发项目需要有一套有效的管理方法,这也是当前软件工程领域的专家和学者共同致力于研究的问题。n软件生命周期:软件生命周期是指软件产品从前期市场调研开始,经历开发、测试、部署、应用、维护、改进直至废弃的全过程。n软件开发模型是指导软件开发过程管理的结构性框架,对软件开发全过程中主要活动、任务和开发策略进行规范。n软件过程管理:软件生命周期模型更多的关注于“应该如何做”,而对“应该做到什么”关注较少,而这恰恰是软件能力成熟度模型
3、所关注的内容 第3页,共26页,编辑于2022年,星期三软件生命周期模型软件开发模型也称为软件过程模型或软件生命周期模型。传统软件设计模型有:瀑布模型(waterfall model)、渐进模型(increamental model)、演化模型(evolutionary model)、螺旋模型(spiral model)、喷泉模型(fountain model)及智能模型(intelligent model)等。第4页,共26页,编辑于2022年,星期三软件生命周期模型:RUP由Rational 提出统一软件开发过程(Rational Unified Process,简称RUP)是目前影响较大
4、的、面向对象的软件开发过程,RUP以UML作为软件开发基础,在吸收各种面向对象分析与设计的基础上,为软件开发提供一种普遍适用的软件过程框架 第5页,共26页,编辑于2022年,星期三软件开发过程管理软件开发模型更多的关注于“应该如何做”,而对“应该做到什么”关注较少,而这恰恰是软件能力成熟度模型所关注的内容。软件质量管理策略最早由W.Edwards Deming 和J.M.Juran提出。1976年扩展为软件过程管理。在此基础上,1987年建立软件过程能力成熟度模型(CMM)。1995年提出个体软件过程(Personal Software Process,PSP)。之后提出面向团队软件过程改进
5、的TSP。软件过程能力成熟度模型(Capacity Maturity Model,CMM)是卡内基梅隆大学软件工程研究院(CMU-SEI)应美国联邦政府的要求,于1987年9月开发的一套软件能力成熟度框架及软件成熟度问卷,用来评估软件供应商的能力。CMM模型主要确定软件开发组织的开发过程成熟度,开发过程成熟度高的的软件开发组织的特征是具有在可控进度和合理成本基础上提供高质量的软件。CMM作为一个标准,关注点是“应该做到什么”。CMM的基础是个人软件开发过程(Personal Software Process,简称PSP)和团队软件开发过程(Team Software Process,简称TSP
6、)第6页,共26页,编辑于2022年,星期三PSP个体软件开发过程PSP是一个自我改进的过程,用于控制、管理和改进自己的工作方式。作为一个结构性的框架,PSP包括软件开发过程中使用的表格、准则和流程。其目的是提高个人软件工程管理水平,使个人的工作高效而可预测。第7页,共26页,编辑于2022年,星期三PSP管理流程第8页,共26页,编辑于2022年,星期三PSP 0级 PSP0级过程管理包括计划、开发和总结三个阶段,最终提交经过完全测试的程序和填写完成的项目计划总结表、时间和缺陷记录日志第9页,共26页,编辑于2022年,星期三PSP0 级:计划过程管理 主要工作是对任务需求进行明确描述,最终
7、形成文档形式的需求描述,并估算开发所需要时间,部分完成项目计划总结表,并填写计划过程管理的时间纪录等。其中程序需求描述要求“陈述清楚且无二义性”,资源估算要求“尽可能精确”第10页,共26页,编辑于2022年,星期三PSP0 级:开发过程管理 本阶段主要工作是任务需求说明文档及任务计划进度安排,开展程序设计,编写程序代码并进行测试,同时提交经过测试的程序代码,准确填写时间记录日志和缺陷记录日志。第11页,共26页,编辑于2022年,星期三PSP0 级:总结过程管理 主要工作是对项目的实际完成时间、引入缺陷、排除进行记录总结,并修整其中可能出现的差错。总结的目的在于为以后的软件项目开发提供依据,
8、同时提升程序员的计划和管理技能。第12页,共26页,编辑于2022年,星期三PSP0过程文档 n项目计划总结 n时间记录日志 n缺陷记录日志 第13页,共26页,编辑于2022年,星期三项目计划总结第14页,共26页,编辑于2022年,星期三时间记录日志第15页,共26页,编辑于2022年,星期三缺陷记录日志缺陷标准:第16页,共26页,编辑于2022年,星期三PSP0.1级 PSP0.1主要增加了编码规范、规模度量。规模度量的主要目的是准确的估算软件开发时间。软件是程序及文档的组合,因此,进行规模度量时,不仅是代码度量问题,还包括文档度量。对于文档而言,采用页数度量是一种很好的方式。代码度量
9、,则根据所用程序设计语言不同,其计算标准也不同。规模度量作为产品开发工作计算的依据,必须满足精确性、特定性以及可计算性 第17页,共26页,编辑于2022年,星期三PSP 1,2级 在PSP1阶段,主要引入软件开发计划,包括任务计划、进度计划以及与之相关规模估算,并开始关注软件质量,引入测试报告。在PSP 2级过程管理中,重点关注与软件质量的改进,并通过设计与代码评审的方法提高软件质量,降低改进软件缺陷所需成本。第18页,共26页,编辑于2022年,星期三规模估算第19页,共26页,编辑于2022年,星期三规模估算第20页,共26页,编辑于2022年,星期三第21页,共26页,编辑于2022年,星期三第22页,共26页,编辑于2022年,星期三进度计划第23页,共26页,编辑于2022年,星期三进度计划第24页,共26页,编辑于2022年,星期三第25页,共26页,编辑于2022年,星期三课程网站参考n中国科学技术大学超级运算中心 http:/
限制150内