论PSP案例设计教学模式对电信专业学生的作用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
论PSP案例设计教学模式对电信专业学生的作用
1 个体软件过程
个体软件过程(Personal Software Process,PSP)是一种用于控制、管理和改进个人工作方式的自我改善过程[1]。
PSP的实现方法简单,不要求复杂的开发工具,是一个包括软件开发的相关表格、软件开发指南和规范化的结构化框架。
通过PSP 进程,可以达到改进工作的效果,如图1所示。
学生通过理解和领会PSP基本概念与理论,掌握和应用编程技术中的规范要求,包括如何制定项目计划、如何根据表格数据跟踪自己的工作、如何生产相对高质量的软件项目,如何通过有效的数据识别出自己在软件开发中的优势和弱点,最终在规划的时间和费用下开发出高质量的软件项目。
这种制定计划、跟踪工作、识别自己优势弱点的做法,对于自己在系统规划、系统设计的能力,都有非常好的影响作用。
2 案例教学设计
PSP过程包含了较多的表格内容,如时间记录日志、周活动总结表、作业编号日志、缺陷记录日志、项目活动总结表等[2]。
学生在最初接触PSP时,可能会因为表格过多而产生抵触感。
针对学生时间规划能力差,自学能力欠缺,学习主动性不够,较依赖于老师的情况,基于兴趣爱好的方式选取对软件编程爱好的一部分同学,以提高学生软件编程能力和综合能力为导向,设计了基于个体软件过程的案例教学模式。
项目采取的案例都是研究如何结合个体软件过程的思想来设计实现一些软件小项目的编写,以提高学生对编程的兴趣,因此通过趣味编程案例、游戏编程案例、课程授课内容关联案例等实际的案例设计,在案例设计过程中结合表格填写,提高学生的学习兴趣的同时,通过表格数据的填写和对比,逐步实现PSP在项目设计中改进过程的体现,提高学生的问题综合解决能力。
学生通过理解和领会PSP概念与理论,掌握编程技术中的规范,学习如何制定案例项目的计划、如何跟踪自己的工作过程,如何设计实现高质量的软件程序,通过表格填写的方式,了解自己工作中存在的各种数据,识别出自己工作的优势和弱点,最终学会在规划的时间和费用下,开发出自己需要的软件产品。
同时还将这一过程应用于课程设计和毕业设计的整体系统中,对学生规划能力、实现能力和时间管理能力各方面的综合素质都加以锻炼。
3 案例结合PSP的具体实现
PSP的核心思想通过软件过程不断完善,在时间管理、每个项目的进度管理、项目的缺陷管理等方面对自己在各个项目中出现的数据进行分析管理[3],在下一个项目中加以应用。
针对这样的设计,我们选取了学生感兴趣的趣味编程、学生容易投入的游戏编程、学生数据结构课程学习中遇到的一些典型例题以及贴近学生生活的简易网上商城和教务系统等作为学生的项目[4],在案例实现中,要求学生用循序渐进的方法,逐个项目完成。
具体实现的事项和目标如下:
(1)让学生学会管理自己的时间
项目的基础是通过学生参与基于PSP的案例式实践教学,提高学生工作规划、解决问题的能力和综合能力。
这些能力实现的第一步即是让学生根据项目中已参与项目的使用时间的方式和经验,在下一个项目中进行管理,并学会根据时间进行实际可行的项目计划。
因此要求学生在每参与一个案例时,都要提供时间记录日志、周活动总结表,作业编号日志、项目活动总结表等,这些表格的记录虽然简单,但是利于学生掌握自己在项目中的工作数据和时间的分配。
(2)让学生学会自己制定项目计划
项目计划用于规划、总结各个案例项目的各种实践数据(包括时间安排、缺陷记录、测试调试等),这些数据的管理有助于跟踪每个案例的进展情况。
学生根据已完成项目中的时间安排比例和缺陷存在情况,可以合理安排自己的项目规划,不至于到最后一刻才去完成工作任务,也避免了出错的概率。
(3)让学生学会管理自己的项目进度
学生一般总有习惯,把作业或者任务拖到交付日期才开始去做。
任务少时,作业可以一个接着一个的在临近交付时再完成,但是当作业任务增加、或者有别的课外活动占用时间过多时,可能就需要在多个作业任务之间来交替完成。
随着从事的项目越来越大,精心安排时间就会愈加重要。
典型的工程师在工作时,可能一边给某个项目做开发测试,却同时要担任另外一个项目的项目维护。
多个任务并行执行时,就需要一份个人进度表来帮助自己协助完成多个任务。
PSP提供了可以进行进度规划的Gantt图。
Gantt图需要把工作任务细化,针对本课题研究的项目案例,可以把每个任务细化为需求分析、设计、编码、测试等多个步骤。
在每个步骤中,督
促学生适当的设立检查点,以更好的追踪自己的工作,同一时间需要多个任务并行处理时,更需要项目进度计划,以更好的安排时间和进度。
(4)让学生学会管理自己的缺陷
项目产品在设计时,要求既要满足用户的功能要求,又必须稳定可靠的工作。
对于使用者来说,最重要的是产品具备的功能。
但是功能也只有在产品正确工作时才能具备,为了让产品正常工作,必须排除产品中存在的缺陷。
在软件程序设计中,丰富经验的软件工程师都会存在各种各样的错误,学生在参与项目实践时也是一样会存在很多错误:如需求分析时因为需求不清导致的错误、算法设计和实现时存在的缺陷和错误、程序编写过程中存在的语法错误、拼写错误、标点符号甚至代码冗余等。
简单的错误或者缺陷可能导致难以发现和破坏性的问题,产品中存在的缺陷来源于实现者的疏忽大意和经验欠缺,因此,为了提高软件产品的质量,应该考虑如何管理自己程序中可能存在的缺陷,缺陷的存在有可能会导致程序模块之间相互影响,使得后期发现和改正缺陷的代价更大,因此缺陷预防、和缺陷排除对于项目的开展甚为重要。
PSP提供了缺陷记录日志,包括缺陷的类型,缺陷的引入阶段、缺陷的排除阶段等。
通过缺陷记录日志,学生可以改进自己的程序设计水平,减少程序中缺陷的个数,尤其是在后面项目的开发时,借鉴前面项目存在的缺陷数据,可以尽可能的避免重复的缺陷,从而达到提高工作质量的效果。
4 项目收获和总结
PSP的理论知识体系比较简单,但是想真正掌握PSP的工作并能应用于工作学习中,需要大量的项目实践,才可能掌握软件工程的规范,改进工作过程,提高软件开发的质量和个人的综合能力。
对参与PSP案例设计与实现的所有学生,要求网上自学PSP的基础知识,老师下发案例任务给学生,要求学生在项目开发的过程中遵循PSP的规范要求,完成开发案例。
要求学生采集自己案例设计用的真实数据,累积自己进行设计、编码、调试、测试等各阶段的时间数据、缺陷数据等。
经过多个案例的反复练习,使学生的个人行为、软件开发过程和综合能力都得到了改进和提高,并形成遵循PSP要求的开发习惯。
在案例設计中,将趣味编程、编程游戏、数据结构课程等融入在实践中,通过这些较为典型的案例,寓教于乐,引导学生感受规范化带来的区别,增强学生规划、设计、实现能力的积累,使得学生进入到后期的课程设计、毕业设计时,感受规划、
设计、实现规范性带来的变化,实现理论与实践的结合,提高学生的职业技能和综合素质。
后期的案例设计已经显示学生编程的效率和编程能力得到了明显提高,引入程序的缺陷数目也逐渐减少。
不但如此,学生的周活动总结表的数据也显示,学生不但在软件编程上有了时间规划,在其余课程的实践训练上也有所改善。
有助于学生综合能力的提高。
参考文献
1、毛莺池,程莉,王志坚.浅析个体软件过程(PSP).计算机工程[J].2002(10).
2、 Watts S.Humphery.个体软件过程[M].人民邮电出版社
3、文海英.个体软件过程的原理与应用.吉首大学学报(自然科学版)[J].2006(11)
4、赵有俊,刘纪敏,范明芳,张蓓.基于PSP互动案例教学的研究与设计.计算机教育[J].2013(11)。