软件工程理论、实验和综合实践教学环节的改革
摘要:本文研究了本科生的软件工程综合实践教学环节的改革,提出相关的解决方案,实践证明,这些解决方案对于解决学生的动手能力有利。
关键词:软件工程;教学改革;课程实验;综合实践
中图分类号:G642文献标识码:B
文章编号:1672-5913 (2007) 22-0123-03
1引言
我系原有的教学计划[1]中,软件工程课程体现设置上仅有“软件工程导论”一门课程,在大四上学期开设。这一教学安排的思路是,在前面基础课程学习完成后,为学生在大四开始毕业设计做准备。当时做此设计的思路有两个出发点:第一,这一教学设计是针对大学扩招之前的,因此是适用的。但自从高校扩招以后,特别是在近几年,由于就业的压力越来越大,企业对学生动手能力和项目实践能力要求越来越高,与这一教学设计相关的综合实践教学环节越来越不适应社会发展的需要;第二,这一教学设计在传统的以手工方式逐行编写应用程序的背景和需求相适应,但随着大型软件工程工具和环境的出现,以及应用系统的规模越来越大,应用越来越复杂,这一传统的软件工程教学无法适应这一形势,这反映在这一教学设计所提供的知识、体系等等,远远无法适应社会要求学生不仅掌握软件工程技术层面的知识和技能,还要掌握与软件工程相关的项目管理等方面的知识化技能这一需要。这意味着,原有的软件工程综合实践教学环节急需要进行改革。本文将阐述我们在这一环节改革中的一些思考和做法。
2软件工程理论教学环节的改革
在新的教学计划[2]中,我们强化了软件工程课程教学,我们的思想是将原有的单一软件工程课程分解为多层次、多方位的软件工程课程,在教学活动中,以交互式启发式教学为手段,以案例教学贯串整个过程。这一点主要可以体现在以下几个环节和方面。
第一,将软件工程的思想贯串本科生专业学习过程。在学生学习了程序设计语言和数据结构等基础课程之后,我们在大二下学期开始开设“软件工程导论”,课程内容以软件工程思想的建立为目标,在以结构化方法学为主线的讲授软件工程技术核心内容的同时,引入软件项目管理基础,使得学生在技术学习的同时,注意到项目管理在软件开发中的重要作用。
第二,在大三下学期开设面向对象软件工程。在这一学期,由于学生已经学习了C++面向对象程序设计等课程和软件工程导论等课程,因此涉及到面向对象中的概念已经不再是学习中的难点,这样我们可以将教学的重点放在以UML(统一建模语言)和RUP(统一建模过程)的学习与使用上,在此基础上,我们将教学的重点放在面向对象的需求获取和需求分析、面向对象的系统设计、对象设计和面向对象测试等方面。在技术学习的同时依旧重视项目管理,并引入配置管理(如版本管理)等进一步的管理知识。
第三,在大四上学期开设软件工程课程设计课程。这一课程的教学将以案例分析和最终系统实现为目标。这一阶段的实践活动将大三面向对象软件工程中已经初具规模的系统加以实现。在教学活动的组织上,我们以交互式和启发式教学为主导,我们会在课堂上将部分时间留给学生讨论,教师则启发学生讨论并点评学生的过程,在课程的后半段时间还会专门留出时间给以项目组为主体团队演示自己的系统。
第四,在大四下学期开学,将安排学生参加为期一月左右的实训。在选择培训公司上,我们坚持选择大型、有项目经验的公司作为依托,以其一线工程师作为实训教师,并坚持按公司管理制度对学生以项目团队形式进行管理,并按公司指定的软件工程文档模板作为学生项目的文档写作依据,按公司对员工的方式管理、验收和评价学生的项目,让学生真正体会到IT公司的企业文化,这为学生的就业面试奠定了良好的基础。
第五,为配合上述教学活动,我们在整个专业教学中增加了很多软件工程类的选修课程,如软件项目管理、基于构件的软件开发、软件测试与软件质量保障等。这些课程极大丰富了学生的知识,开扩了学生的眼界。
第六,配合软件工程课程群教学,大力开展ACM/ICPC竞赛活动,吸引更多的本科生参加到以程序设计为主的专业学习中来,这不仅能够为学校选拔更多的优秀人才参加亚洲区国际大学生程序设计竞赛,而且对于本科生学风的改善起到积极的推动作用。现在,有越来越多的学生参加到ACM竞赛这项活动中来,其优秀者代表学校参赛,两次取得了亚洲区ACM/ICPC比赛铜牌,极大提高了学校和系里的声誉,也为我系学生的就业起到了积极作用。
3软件工程课程实验教学环节的改革
为了配合软件工程理论课程教学改革,我们强化和改革了软件工程综合实践环节。针对上述四个不同学期,安排不同层次的实验内容和实践活动。
针对大二下学期开始开设“软件工程导论”,我们在这一阶段的教学实验以小型应用项目和小型团队为主,主要开发工具是高级程序设计语言,学生描述处理对象的主要依据是数据结构的基础知识(如正文编辑器开发)和以文件存放数据为主的学生管理系统等。这一阶段的实验教学目标是学生通过课程上机熟悉理论知识,并熟悉和掌握各种CASE工具的使用,建立软件工程的概念和思想,培养学生的团队合作精神和项目管理的基本概念。
针对大三下学期开设面向对象软件工程,我们在这一阶段的教学实验以中型项目为背景,结合相关Rational产品和技术,通过实际的系统项目实践和大量上机实验,让学生在开发实际项目的过程中,掌握软件工程生命周期各阶段的理论和方法,了解基于RUP开发信息系统的过程、工具和方法。进一步加强学生的对软件工程理论的理解,提高学生的工程实践能力。具体实验教学内容覆盖项目管理、配置管理、需求分析、系统分析设计、测试、部署各阶段实验,及相应的主流工具(如MS Project、Rational Rose、ClearCase、Test Manager)的使用。但本阶段已经将项目的开发重点放在了需求分析、系统和对象设计、测试用例的设计上。整个实验环节将以团队开发活动和过程改进为主,实现方面并不要求学生实现整个系统功能。由于课程实践部分在面向对象软件工程的教学中占有非常重要的地位,对学生理解和掌握面向对象软件工程思想和理论有十分重要的作用,故本课程实验成绩占总课程成绩的40%。通过让学生提交开发过程中的各种模型、制品,及审查实验报告等方式,按各个实验模块及其所占分值的比例加权求和,给出学生的实验成绩。
大四上学期开设的软件工程课程设计我们在教学方式上采用案例式教学法,即设计采用了一个具有代表性的、结合软件工程生命周期各阶段理论的实际案例——某大学的选课系统,使其贯穿于整个教学过程当中。通过实际案例的演示,激发了学生的学习热情,让学生积极去思考问题,通过课堂讨论、教师点评等方式,变被动接受为主动思考、积极参与的学习模式,提高了学生的学习自主性和创新能力。在本课程的课程实践中,我们将学生分成4人左右的小组,以实现一个完整的应用系统为主。在这一过程中,我们始终贯串以团队为合作前提,以交互和启发为手段,以交流和通透为主线,以完成一个完整的项目为最终目标,以真正实现一个项目。本课程实验项目的设计力图能为学生留有充分的创新空间,积极鼓励学生进行创新设计。考核的方法以开发文档审核、程序现场演示与答辩等方式进行综合考核评定,激发学生的学习成就感,培养工程化软件素养,强化交流表达能力等综合素质的提高。
在大四下学期开学的实训,我们更是将学生置身于实际的公司所营造的企业文化氛围之中,让学生经历一次实践洗礼。通过毕业设计实践,让学生在毕业设计中,深入体会和掌握软件工程的思想,实践相应领域的开发过程、方法和工具,提高对所学技术和方法的掌握和应用能力,为成为职业优秀的软件开发人员或进一步深造打下坚实的基础。
4软件工程综合实践教学环节的改革
在本节所介绍的综合实践教学环节主要指实训环节。计算机专业本科生的综合实践环节非常重要,但也是实际教学管理中一个非常困难的环节。我系的综合实践环节存在着多种运作模式的演化。
在2002年以前,本科生的综合实践环节主要是在系内完成,这一阶段的主要情况是学生人数不多,且总体素质和基础较好,每一位指导教师指导的学生人数平均在4人左右,而老师也能够就自己的研究或课题提出若干可以研究的内容交给学生进行研究和实现,在这一实践环节的支持下,学生的毕业论文也能够写得较为深入,论文总体质量较高。从2003年开始,由于应届学生人数的激增,出现了一位指导教师需同时指导10人左右的局面,这时的学生从总体上看,其基础和能力弱于往届。我们采用与前面相同的指导制度,但效果并不理想。从2004年开始,为了配合本科教学评估,学校要求将毕业生全部置于校外实训/实习基地进行综合实践。我们在当地和外地分别建立了4个较大基地,将大部分学生遣入其中进行实习。其结果是,除了少数负责任的单位外,很多实习单位将学生用在“打杂”上。小部分自己找实习单位的学生还存在着作弊的现象。为此,我们在2005年的开始,修改了软件工程综合实践教学环节,针对全体学生,在市内选择合格企业在校外进行实训,其实训内容和安排由系教学委员会认定,将考核权利下放给实训单位,这一改革极大地提高了学生的积极性和参与意识,使得学生正式和企业进行了直接接触,初步感受到了企业文化。但由于该企业实训用的场地较少,全系学生分6批次才完成整个实训,这加大了我们在管理上的难度。从2006年开始,我们又进一步改革了软件工程综合实践环节,选择了实力更强的校外IT企业进行合作,在校内使用我系的大型机房和设备,完全按照企业岗前培训的模式,在整个实训过程中融入企业文化,而实训不仅讲技术和工具方面的内容,还引入企业管理模式和竞争机制。这极大提高了学生的团队合作精神和学生使用实际工具的能力,也迅速地将学生所学理论和知识转化为实战能力,提高了学生分析和解决问题的能力。这一综合实践环节得到了学生的认同,其实训经验在学生的就业过程中成为直接的资源,极大提高了学生的自适应力和竞争力。
在2007年,我们将在以往成功经验的基础上,进一步改革我们的综合实践方法,引入多个企业进行竞争,以便为学生提供更加广泛的选择。
5结束语
经过近几年的改革和探索,我们的这一教学计划实现了最初构思的效果,现在越来越多的学生到了国内外知名IT企业就业,达到了我们对工程应用型人才培养的目标。现以近三年的学生就业情况加以说明,具体情况参加下表所示,表中的数字说明,学生到企业、部队等基层单位去的人数大为增加,这从某种层面上讲,学生对自己的动手能力更有自信了,也说明了我们的教学改革初见了成效。
参考文献
[1] 华中师范大学教务处编. 华中师范大学本科人才培养方案[M]. 武汉:华中师范大学出版社,2005.
[2] 华中师范大学教务处编. 华中师范大学本科(打通)人才培养方案[M]. 2006.
叶俊民(1965-),男,教授,博士,主要研究领域为软件工程,软件形式化方法
E-mail:jmye@mail.ccnu.edu.cn
本研究得到湖北自然科学基金面上项目(编号:2007ABA034)和华中师范大学校基金(2006AA22)资助。
推荐访问: 软件工程 教学环节 实践 理论 改革