论文部分内容阅读
摘要:针对目前高校计算机专业毕业设计中传统的瀑布开发模型中存在的问题,提出了在计算机专业本科毕业设计中引入敏捷开发方法中极限编程的观点,探讨了基于极限编程的毕业设计的意义与作用。
关键词:极限编程;毕业设计;意义
中图分类号:TP311.11
1 引言
毕业设计的质量不仅是衡量一所高校实践教学水平的主要指标,也是学生毕业与学位资格认证的重要依据。普通高校计算机专业本科毕业设计作为最重要的教学实践环节,在培养毕业生创新意识、创业精神、科研基本能力和综合实践能力等方面有着不可替代的重要作用。学生通过毕业设计能强化社会意识,加强自身修养,对业务能力、综合素质的提高具有深远的影响[1]。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,其目标是提高开发效率和响应能力。作为敏捷开发方法中最引人注目的软件开发方法,极限编程(eXtreme Programming,简称XP)非常适用于需求快速变动背景下的中小规模的开发团队[2]。
2 极限编程简介[3]
XP是一种以编码为核心任务的轻量级的、灵巧的软件开发方法。其基础和价值观是沟通、简单、反馈、勇气和尊重。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期。在实施过程中,每个周期完成时都要进行小型发布。XP主张结对编程,在必要的时候可以交换位置,代码所有权归整个开发队伍所有。XP要求有良好开放式工作环境,开发小组的所有人都在这个温馨的工作环境里沟通、交流、讨论问题,最大程度地满足开发人员和客户的基本权利和义务。
3 传统毕业设计中存在的问题
3.1 难以适应用学生发展的需要
目前IT行业的竞争越来越激烈,企业间不仅面临着软件产品质量的竞争,还要面对不断提高系统开发速度的挑战。在这样的竞争压力下,企业的生存越来越艰难,企业从节约人力资源成本的角度要求毕业生进入企业后就能直接胜任相应的工作,实行“‘零’适应期”。因此,毕业设计除了完成必须的实验教学任务外,还将承担起对学生进行职业培训的重任。传统的重量级的毕业设计模式无法同时兼顾这两项任务,教学改革势在必行。
3.2 好高骛远,无法确保学生真正获得实践性经验,达到毕业设计的教学目标
目前,传统的瀑布模型仍是大多数普通高校毕业设计首选的开发模式。主要优点:一是可按阶段划分的情况得到项目的检查点,二是严格的阶段性工作性质使得开发工作呈直线前进的模式,某一阶段的任务完成后即可放手,关注点立刻转到后续阶段上。上述优点既适合学生长期养成的按部就班的思维习惯,也方便进行阶段性工作检查。但该模型严格定义了许多精细而复杂的规则和流程,这在实际开发中也会带来许多难以解决的问题。这些对于企业都难以严格遵循的规则和流程,要求学生在毕业设计阶段做到并掌握该模型的开发方法显然是不现实的,已经超过了学生的实际能力,结果就是学生得不到符合自己水平的实践性经验。
3.3 指导教师工作量大,难以保证指导质量
指导教师丰富的实践教学经验较强的责任心是毕业设计质量的保障。但由于近年来高校扩大了招生,学生人数的增多使得生师比严重失衡。而且传统开发模式下的指导工作主要针对的是个人进行的,相对于集体指导而言,工作量显然要大很多。然而,日常的教学任务、科研考核等方面的压力早已使得高校教师没有喘息的余地,又如何能有充沛的精力、充足的时间和足够的耐性指导学生的毕业设计[4]。
3.4 学生兴趣不高,严重影響了做好毕业设计的信心和积极性
传统的毕业设计开发模式在项目开发的各阶段之间极少有反馈和交流,使得各阶段的工作死气沉沉,而且,要想看到结果要等到项目生命周期的后期,这种情况下学生对之前各阶段的工作就缺少成就感,持续时间一长就会使学生失去当初的热情和兴趣,进而影响到做好毕业设计的信心和积极性。
4 基于极限编程的毕业设计的意义与作用
针对传统方式下毕业设计中存在的问题,我们将XP方法应用到计算机专业本科毕业设计中,从实践教学的角度探讨了基于极限编程的毕业设计的意义与作用。
4.1 在完成实践教学任务的同时达到职业培训的目的
毕业设计的目的是培养学生综合应用所学专业知识与实践技能进行中小系统开发的能力。从某种角度来说,毕业设计不仅要完成教学计划和教学大纲中规定的教学实践任务,还应该承担起毕业生走上工作岗位前的职业培训重任。
多年来,各高校计算机专业一般都采用传统的重量级软件开发方法模式——瀑布模型来进行毕业设计。事实上,这种多年不变、闭门造车的毕业设计模式已越来越不适应信息社会快速发展的需求。由于XP非常适合学生用于毕业设计的中小型软件开发项目,因此,将轻量级的XP与毕业设计相结合,不仅能够按计划完成毕业设计的实践教学任务,还能完成对学生的职业培训,有利于提高学生的综合能力和专业素养。
4.2 立足学生实际,让学生在轻量级的软件开发方法中提升实战能力
实践证明,选用轻量级XP开发方法来完成毕业设计是一种行之有效的方法。将XP与毕业设计相结合,不仅能从时间上得到保证,也能在这种开发方式下不断提高软件的质量。因为,XP倡导及时沟通与反馈,遵循持续集成、客户测试、小型发布等核心实践,这不仅有利于软件质量的不断提升,也有利用学生实践能力的提高。
4.3 开放的开发环境有利于提高工作效率,降低指导的难度
XP要求尽最大的努力为开发人员提供最好的工作环境,要最大程度地实现和满足客户和开发人员的基本权利和义务。所有开发人员都在同一个大房间内工作,每周工作40个小时,不提倡加班,工作之余还可享用茶点,轻松愉快的环境中有利于充分沟通与交流,通过及时反馈发现开发中遇到的各种问题,利用集体的智慧提高解决问题的能力,从而使需要老师指导解决的问题不断减少,从总体上大降低了指导的工作量和难度。
4.4 学生在团队协作、结对编程、小型发布等核心实践中获得成就感,提高学习的兴趣与信心
在XP中,团队中每一个人都有明确的角色分工,有的类似于传统开发方法中的项目主管,有的扮演“客户”,有的编程实现,有的制定验收测试,有的负责需求分析,所有成员都应对项目开发有贡献,而且鼓励尽可能多地为项目做出贡献。结对编程的合作方式便于共同处理编程中遇到的各种问题,这种方式不仅使得工作更加流畅,还能使程序设计具有一定的社交性和娱乐性。软件不再像以前总是给用户以看不见摸不着的感觉,频繁地小规范发布软件容易使学生获得成就感,提高学习的兴趣与信心。
5 结束语
基于极限编程的毕业设计虽然是一个值得肯定的毕业设计改革方案。但实施起来也会有一定的困难。首先要转变指导教师的理念,得到他们观念与行动上的支持。其次是在毕业设计前使学生掌握XP的开发方法。第三就是硬件设施的备配与软件政策方面的支持也是至关重要的。
参考文献:
[1]教育部办公厅.教育部办公厅关于加强普通高等学校毕业设计(论文)工作的通知[Z].教高厅,2004,14.
[2]刘玲惠,梁晓强.敏捷软件开发中的极限编程[J].产业与科技论坛,2011,22:77-78.
[3]张惠彦,廉保旺,逯野.极限编程的研究和应用[J].科学技术与工程,2007,6.
[4]汤琳.计算机专业毕业设计的改革与实践[J].绵阳师范学院学报(自然科学版),2012,11:147-149.
[基金项目]贵州省教育厅教学研究和教学改革项目([2011]第10号)
作者简介:唐翠芳(1968.12-),女,教授,硕士,贵州省平坝县人,工作单位:贵州师范大学数学与计算机科学学院,研究方向:计算机教育、数据结构。
关键词:极限编程;毕业设计;意义
中图分类号:TP311.11
1 引言
毕业设计的质量不仅是衡量一所高校实践教学水平的主要指标,也是学生毕业与学位资格认证的重要依据。普通高校计算机专业本科毕业设计作为最重要的教学实践环节,在培养毕业生创新意识、创业精神、科研基本能力和综合实践能力等方面有着不可替代的重要作用。学生通过毕业设计能强化社会意识,加强自身修养,对业务能力、综合素质的提高具有深远的影响[1]。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,其目标是提高开发效率和响应能力。作为敏捷开发方法中最引人注目的软件开发方法,极限编程(eXtreme Programming,简称XP)非常适用于需求快速变动背景下的中小规模的开发团队[2]。
2 极限编程简介[3]
XP是一种以编码为核心任务的轻量级的、灵巧的软件开发方法。其基础和价值观是沟通、简单、反馈、勇气和尊重。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期。在实施过程中,每个周期完成时都要进行小型发布。XP主张结对编程,在必要的时候可以交换位置,代码所有权归整个开发队伍所有。XP要求有良好开放式工作环境,开发小组的所有人都在这个温馨的工作环境里沟通、交流、讨论问题,最大程度地满足开发人员和客户的基本权利和义务。
3 传统毕业设计中存在的问题
3.1 难以适应用学生发展的需要
目前IT行业的竞争越来越激烈,企业间不仅面临着软件产品质量的竞争,还要面对不断提高系统开发速度的挑战。在这样的竞争压力下,企业的生存越来越艰难,企业从节约人力资源成本的角度要求毕业生进入企业后就能直接胜任相应的工作,实行“‘零’适应期”。因此,毕业设计除了完成必须的实验教学任务外,还将承担起对学生进行职业培训的重任。传统的重量级的毕业设计模式无法同时兼顾这两项任务,教学改革势在必行。
3.2 好高骛远,无法确保学生真正获得实践性经验,达到毕业设计的教学目标
目前,传统的瀑布模型仍是大多数普通高校毕业设计首选的开发模式。主要优点:一是可按阶段划分的情况得到项目的检查点,二是严格的阶段性工作性质使得开发工作呈直线前进的模式,某一阶段的任务完成后即可放手,关注点立刻转到后续阶段上。上述优点既适合学生长期养成的按部就班的思维习惯,也方便进行阶段性工作检查。但该模型严格定义了许多精细而复杂的规则和流程,这在实际开发中也会带来许多难以解决的问题。这些对于企业都难以严格遵循的规则和流程,要求学生在毕业设计阶段做到并掌握该模型的开发方法显然是不现实的,已经超过了学生的实际能力,结果就是学生得不到符合自己水平的实践性经验。
3.3 指导教师工作量大,难以保证指导质量
指导教师丰富的实践教学经验较强的责任心是毕业设计质量的保障。但由于近年来高校扩大了招生,学生人数的增多使得生师比严重失衡。而且传统开发模式下的指导工作主要针对的是个人进行的,相对于集体指导而言,工作量显然要大很多。然而,日常的教学任务、科研考核等方面的压力早已使得高校教师没有喘息的余地,又如何能有充沛的精力、充足的时间和足够的耐性指导学生的毕业设计[4]。
3.4 学生兴趣不高,严重影響了做好毕业设计的信心和积极性
传统的毕业设计开发模式在项目开发的各阶段之间极少有反馈和交流,使得各阶段的工作死气沉沉,而且,要想看到结果要等到项目生命周期的后期,这种情况下学生对之前各阶段的工作就缺少成就感,持续时间一长就会使学生失去当初的热情和兴趣,进而影响到做好毕业设计的信心和积极性。
4 基于极限编程的毕业设计的意义与作用
针对传统方式下毕业设计中存在的问题,我们将XP方法应用到计算机专业本科毕业设计中,从实践教学的角度探讨了基于极限编程的毕业设计的意义与作用。
4.1 在完成实践教学任务的同时达到职业培训的目的
毕业设计的目的是培养学生综合应用所学专业知识与实践技能进行中小系统开发的能力。从某种角度来说,毕业设计不仅要完成教学计划和教学大纲中规定的教学实践任务,还应该承担起毕业生走上工作岗位前的职业培训重任。
多年来,各高校计算机专业一般都采用传统的重量级软件开发方法模式——瀑布模型来进行毕业设计。事实上,这种多年不变、闭门造车的毕业设计模式已越来越不适应信息社会快速发展的需求。由于XP非常适合学生用于毕业设计的中小型软件开发项目,因此,将轻量级的XP与毕业设计相结合,不仅能够按计划完成毕业设计的实践教学任务,还能完成对学生的职业培训,有利于提高学生的综合能力和专业素养。
4.2 立足学生实际,让学生在轻量级的软件开发方法中提升实战能力
实践证明,选用轻量级XP开发方法来完成毕业设计是一种行之有效的方法。将XP与毕业设计相结合,不仅能从时间上得到保证,也能在这种开发方式下不断提高软件的质量。因为,XP倡导及时沟通与反馈,遵循持续集成、客户测试、小型发布等核心实践,这不仅有利于软件质量的不断提升,也有利用学生实践能力的提高。
4.3 开放的开发环境有利于提高工作效率,降低指导的难度
XP要求尽最大的努力为开发人员提供最好的工作环境,要最大程度地实现和满足客户和开发人员的基本权利和义务。所有开发人员都在同一个大房间内工作,每周工作40个小时,不提倡加班,工作之余还可享用茶点,轻松愉快的环境中有利于充分沟通与交流,通过及时反馈发现开发中遇到的各种问题,利用集体的智慧提高解决问题的能力,从而使需要老师指导解决的问题不断减少,从总体上大降低了指导的工作量和难度。
4.4 学生在团队协作、结对编程、小型发布等核心实践中获得成就感,提高学习的兴趣与信心
在XP中,团队中每一个人都有明确的角色分工,有的类似于传统开发方法中的项目主管,有的扮演“客户”,有的编程实现,有的制定验收测试,有的负责需求分析,所有成员都应对项目开发有贡献,而且鼓励尽可能多地为项目做出贡献。结对编程的合作方式便于共同处理编程中遇到的各种问题,这种方式不仅使得工作更加流畅,还能使程序设计具有一定的社交性和娱乐性。软件不再像以前总是给用户以看不见摸不着的感觉,频繁地小规范发布软件容易使学生获得成就感,提高学习的兴趣与信心。
5 结束语
基于极限编程的毕业设计虽然是一个值得肯定的毕业设计改革方案。但实施起来也会有一定的困难。首先要转变指导教师的理念,得到他们观念与行动上的支持。其次是在毕业设计前使学生掌握XP的开发方法。第三就是硬件设施的备配与软件政策方面的支持也是至关重要的。
参考文献:
[1]教育部办公厅.教育部办公厅关于加强普通高等学校毕业设计(论文)工作的通知[Z].教高厅,2004,14.
[2]刘玲惠,梁晓强.敏捷软件开发中的极限编程[J].产业与科技论坛,2011,22:77-78.
[3]张惠彦,廉保旺,逯野.极限编程的研究和应用[J].科学技术与工程,2007,6.
[4]汤琳.计算机专业毕业设计的改革与实践[J].绵阳师范学院学报(自然科学版),2012,11:147-149.
[基金项目]贵州省教育厅教学研究和教学改革项目([2011]第10号)
作者简介:唐翠芳(1968.12-),女,教授,硕士,贵州省平坝县人,工作单位:贵州师范大学数学与计算机科学学院,研究方向:计算机教育、数据结构。