软件工程过程教学-软件估算和复用方法的教学实践_第1页
软件工程过程教学-软件估算和复用方法的教学实践_第2页
软件工程过程教学-软件估算和复用方法的教学实践_第3页
软件工程过程教学-软件估算和复用方法的教学实践_第4页
软件工程过程教学-软件估算和复用方法的教学实践_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

软件工程过程教学——软件估算和复用方法的教学实践软件工程过程教学——软件估算和复用方法的教学实摘要:为了提高学生的软件工程管理能力,精心设计了软件过程基础课程的教学和实验,使学生体验从单一开发过程提高到多循环开发过程,从小规模开发过渡到大规模开发过程,掌握估算与计划,亲身体验使用代码复用方法的高效率性。通过总结和分析课程教学和实验数据,验证了PROBE估算教学实验的有效性及应用的合理性,提出了教学改进建议。关键词:统计方法;PROBE估算;复用;PSP;TSP软件过程基础课程是北航计算机学院为北航大三学生开设的专业必修课。我们参考WattsS.Humprey的一系列研究著作[1-3]以及卡内基梅隆大学软件工程研究所(CMU/SEi)的有关研究报告[4-5],在满足IEEESWEBOK[6]和PSPBOK[7]知识和能力要求的基础上,以知识、能力、素质培养为目标,结合PSPSM(PersonalSoftwareProcessSM),不断总结教学经验,完善课程设计和改进实验教案,确定课程体系和实践环节。我们强调软件工程和过程验18学时,包括了课程要求、课程讲义和作业说明等相关材料,结合企业实践应用开展有针对性的教学。教师在教学过程中全程跟踪,及时总结和纠正学生学习中的问题,形成精炼而完整的课程体系。立起开发大型软件的工程技能基础,学习到一些质量管理方法,学习如何制定一个准确的计划、提高计划的准确性及如何依据计划跟踪个人的性能等,还学会使用缺陷管理、设计和代码评审、设计模板及过程分析方法,通过使用一个已定义的过程来实施度量。课程以CMU/SEIWattsS.Humprey的《PSPSM:ASelf-ImprovementProcessforSoftwareEngineers》(软件工程师的自我改进过程)为主要参考教材。此教材提供了必要的软件工程和过程的基础理论,从软件工程师的专业性方面提供了大量的实践指导说明,使学生站在软件工程师的角度掌握专业软件工程师的知识和技能,胜任社会工作。本文就统计方法与估算方面的教学实践以及以代码复用实践提高开发效率等内容进行估算的主要目的是力求通过分析历史数据总结出一定的规律,用于项目计划。目前有型。相关性是指两组数的相关程度。公式(1)为相关系数的计算公式,相关系数r的变化范围为-1.0~1.0。如果相关系数的值接近1.0,那么这两组数(x和y)的相关性很高,这意味会相应地减少。对于我们的课程教学来说,主要关注正相关性。预测区间,是在一组给定观察值的基础上,计算在一定的概率条件下下一个值可能落入的范围。公式(2)为计算预测区间界限的公式,公式(3)为计算预测区间上下限的公式。图2平均值,xk用于估算和计算预测区间。预测区间给出了实际程序规模或开发时间的可能范围。当估算很精确时,预测区间将会变窄,类似地,当估算误差很大时,预测区间也会变大。PROBE(PROxy-BasedEstimating,基于代理的估算)是PSP/TSP的一部分,包括如何获得估算数据,如何使用这些数据进行估算以及如何度量和改进估算的准确性。它的估算思想是:如果新建立的组件与以前建立的组件类似,那么新组件所需的工作量与旧组件一样。有程序的规模和工作量,而代码库中的每个组件都有设定的类型(计算、逻辑或数据等)和规模(非常小、小、中、大、非常大)。当开始一个新项目时,我们可以将任务划分成与代码库中组件相似的类型和规模,然后利用线性回归方法来估算项目的工作量。PROBE估算可以使用任何所选的项为代理,但只有满足以下几个条件[7]才能成为好的代理:1)代理规模(proxy)的度量应该与开发该产品需要的工作量紧密相关。2)一个产品的代理规模内容应该能够自动计算。3)项目开始时,代理规模应是形象化、易懂的。4)代理规模应该便于定制,以适应项目和开发人员的需求。5)对于不同的软件开发实施方案,代理规模应该是敏感的,而且应该能够正确反映出开发成本和工作量。模,可以使用方法C。如果没有任何数据,那就只能使用方法D,而这实际上并没有作预测,仅仅是猜测一个值作为计划新增和修改的规模或者开发时间,输入到项目计划中。软件过程基础课的教学目标包括知识和能力两个方面。知识方面主要是使学生满足行业对软件工程师的专业要求,能力方面主要是使学生使用经过证明的有效的方法,不断提高自己的过程能力,并通过此过程的讲授提高在开发团队中工作所需的技能。本课程是在学CCJava软件工程基础课程后开设的。在提高估算准确性和生产率方面,主要教学和实验步骤如下:。2)课程辅助工具。在PSP教学中,正确地收集数据是学生遇到的最大挑战。加上学生的经验较少,经常会估算不准确,复用方法实践甚少。如果用数论文联盟www.L据客观看到“我能力提高了”,是对学生增强自我信心的最大鼓励。我们在原有工具基础上增强了针对估算和复用方面的功能。图3所示,在初始的时间估算中,工具会根据学生输入的总时间和历史各阶段的百分比自动计算出对应的参考值,然后学生可以根据需要分配各阶段时间。构件添加到个人代码库中。相关性条件符合所选的方法,工具会根据历史数据以及该程序的代理规模,用PROBE方法估算出总的规模、总的时间以及对应的预测区间;如果相关性不符合所选方法的要求,工具会提醒学生重新选择。无论从学生个体还是总体的角度出发,我们在估算准确度和生产率方面都取得了良好1)我们给学生提供专门的实验课集体训练(上机)环境,在实验过程中一步步指导学生,使其体会正确的做事方法,体会努力后获得的成功。表2是学生在集中指导下的教学效果与上学期个人自由上机的比较。2)在实践过程中,具有较高数据相关性的学生,其估算准确度会较高。在完成几个程序后,学生基于已建立的历史数据库进行相关性分析,得到比较好的结果,如图6所示。出,规模估算的准确性在不断提高。图8业1和作业5,无论是规模偏差还是时间偏差,都有在本次教学中,学生从单一开发过程提高到多循环开发过程,从小规模开发过渡到大规模开发过程,提高了代码复用能力,为后续学习获得了宝贵经验。另外,学生为课程提出了非常宝贵的建议,特别在考虑代码难度与复用比例的应用等方面,我们将根据课程总结作进参考文献:[1]WattsSHumphrey.ADisciplineforSoftwareEngineering[M].Addison-WesleyProfessional,1995.[2]WattsSHumphrey.个体软件过程-PSP引论[M].吴超英,车向东,译.北京:人民邮电出版社,2001.[3]WattsSHumphrey.PSPSM软件工程师的自我改进过程[M].吴超英,等译.北京:人民邮电出版社,2006.[4]WillHayes,JamesWOver.ThePersonalSoftwareProcess:AnEmpiricalStudyoftheImpactsofPSPonIndividualEngineers[R].Pittsburgh,PA:SoftwareEngineeringInstitute,CarnegieMellonUniversity,1997:5-42.[5]NoopurDavis,JuliaMullaney.TheTeamSoftwareProcess(TSP)inPractice:ASummaryofRecentResults[R].Pittsburgh,PA:SoftwareEngineeringInstitute,CarnegieMel

温馨提示

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

评论

0/150

提交评论