软件工程课程改革与实践

软件工程课程改革与实践

摘要:工程教育专业认证是对当前国内工程类专业教学的重要指导,它是以产出为导向、以学生为中心、持续改进的核心理念构建我国高校工程教育的质量监控体系。本文结合黑龙江大学软件工程专业为例,在工程教育专业认证的背景下,分析人才培养目标与要求、课程体系建设、评价机制以及反馈机制的改革措施。实践证明,基于专业认证的理念,对于培养学生成才起到十分重要的作用。

关键词:软件工程师;工程教育专业认证;应用型人才

1引言

随着互联网技术和人工智能的发展,计算机技术尤其是计算机软件发展迅速,对软件工程专业的毕业生需求量增大,然而,学生就业中出现了很多因经验不足不能适应企业工作的情况,出现这一情况的原因是高校培养仍然按照传统的教学计划设计课程,所讲授的课程内容跟不上现代软件技术的发展,知识与软件开发实践脱节;另一方面,学生缺乏实践经验,很难理解软件工程的概念、原理和方法,感觉学习的内容枯燥无味,没有兴趣。因此,对教学计划的改革迫在眉睫,我们的教学内容也要与时俱进,构建更合理的软件工程教学框架,并且合理组织高年级学生参加企业培训性质的实践活动[1]。软件工程专业的特点是实践性突出、应用性强,在教学改革中已逐渐被以任务驱动的案例教育教学方法所替代,新的教学模式更重视实践的意义,更主要是让学生经历完整的过程,体验各阶段方法和工具的应用,还有锻炼除技术以外的多方面能力[2],如需求分析时如何与用户交流、文档写作、成员间的协作与管理等等,以提高学生的综合素质[3]。近年来,笔者及所属团队在黑龙江大学软件工程专业的本科讲授软件工程课程过程中,根据我校学生特点,开展一系列教学研究改革,并在今年的毕业生中取得成效,在论文的质量、编码的规范性以及软件系统的可扩展性和可维护性等方面有了提高。

2研究内容

(1)编制符合工程认证要求的教学大纲:在专业认证的背景下,黑大软件学院实施了教学改革,明确了具体的定量的教学大纲、学生学习目标和就业方向,也从学生的实际出发制定了相关课程的调整,在原来的软件工程概论和软件工程分析与设计的课程之后,分别增加了课程设计的环节,分别为28学时和36学时,所有的案例也有大的调整,选取的案例更贴近实际,有利于学生借鉴。(2)编写、教学及实验讲义———案例驱动:将原来以传统软件工程方法为主线的软件工程课程,改为以面向对象方法为主要内容的讲授重点,所有的案例也有大的调整,选取的案例更切近于实际,制定了教学大纲、实验讲义、实验模板等,为了让学生在开始接触课程时就有一个规范和正确的思想方法,我们从管理项目和游戏软件项目中选取一个例子,按照软件工程过程实现出来,用于学生借鉴。(3)自主学习,翻转课堂:在实践类课堂上,给学生更多的展示机会,让学生演示讲解,从学生的角度理解问题并展示出来,学生会更容易接受,调动了学生的积极性,另外,有助于相互切磋,共同提高。(4)团队建设:建设软件工程系列的实验教学团队,调整人员结构,增加人员数量。从原来的一位或者两位老师指导70~80名学生,增加到三位老师,并且调整了人员结构,从一个任课教师加上一个实验老师,到语言课和软件工程课程的主讲老师中抽调过来组成软工实验团队,提高了学生的实践工作的指导质量。(5)科学、合理、可操作性强的评价体系:软件工程的实践类课程是需要团队协作的,所以项目任务分给组,由组员配合完成,在考核时不仅要了解每个学生的完成情况,还要考虑小组内组员之间的配合情况;为避免有人滥竽充数,老师要对各组中表现较差的学生进行标记,最后由老师给分。(6)“顶石”课程建设的研究:为了培养学生解决复杂工程问题的处理能力,软件工程实验项目选择具有创新性和一定复杂度的题目,使学生综合运用了所学的软件分析设计方法、编程语言、测试技术、软件工程管理、数据库、网络等相关知识,提高了综合能力。另外,为了能够与时俱进,每年都会更新一些题目,增加了实验的趣味性和挑战性。(7)统一的PPT:软件工程课程组共同制定一套PPT,使得讲课的内容和教学大纲、实验讲义一致,保证了教师讲授的知识点和完成的阶段内容统一。

3实施方案

(1)构建优良的课程体系:为了弥补软件工程专业实践类课程不足和学生动手能力差的问题,笔者所在的黑大软件学院对软件工程相关课程做了重大调整,由原来的两门课程——软件工程导论、UML与面向对象分析设计,调整为一门课,在此课程后面增加了一门实践类课程,即软件工程综合设计,这门课在实验室完成,由学生自主选题做一个小项目,老师进行指导;另外,在大三开设的软件系统分析与设计课程后面增加了软件工程综合实践,它也是在实验室完成,但学生选题要更复杂些,要增加数据库、计算机网络等相关知识的运用,通过这些调整增加了学生的实践机会,为今后的毕业设计及工作打下良好的基础。(2)探讨制订教学大纲和教学实验讲义:将原来以传统软件工程方法为主线的软件工程课程,改为以面向对象方法为主要内容的讲授重点,所有的案例也有大的调整,选取的案例更贴近实际,制定了教学大纲、实验讲义、实验模板等。(3)建设科学的教学团队:为每个平行班配备几名任课教师指导实验,教师应具备分析设计能力、编程能力和测试能力,所以我们通常将软件工程课程教师和语言课的教师分配到实验课堂,实际指导学生实践活动。(4)组织教学:在两门实践类的课程设计,软件工程综合设计、软件工程专业综合实践中,分别是2人及4人一组,项目题目是从规定的一组题目中选取,然后集中几周完成项目,要求学生不仅要有对项目的分析设计能力,还要有编码、测试的能力,在很多需要画图分析的地方,老师需要多次强调,但还是不能很好地完成,但每次总有几个同学理解老师的意图并能准确表达项目的需求,这样,我们找出有代表性的在前面给其他同学演示讲解他的思路,学生很快就上手了,在设计阶段,也是找两个做得比较好的同学到前面讲,学生很快理解并很快完成,这样的学生讲课既调动了学生的积极性,效果也是意想不到的。(5)评价体系:学生分组,根据情况2-4人一组,在老师的指导下进行项目的需求分析和设计,各组学生独立进行项目的研发和实现,最后,老师对软件分析报告、设计报告和程序实现的质量等环节给学生打分,每个部分个人独立完成的部分占10分,需要小组合作完成的占15分,三个实验环节共75分,另外25分,由其他组打分,即互评,过程如下:各组由老师抽签决定选一个学生用PPT对项目的整个过程讲解,分享观点和心得,各组打分取平均分。以小组为单位完成实践类课程,既能培养合作能力,也能更充分地做一些较为复杂的大系统,拓宽学生的视野,使学生更容易在将来的工作中找准自己的位置,更快适应将来企业的工作,成为合格的专业技术人才。(6)成果:学生的培养质量有明显的提升,不仅反映在数据库等课程的课程设计上,而且在毕业论文上的效果也非常明显,得到了很多毕业论文指导老师的好评。

4结束语

本项目探讨教与学中存在的问题,从培养方案、自主学习、评价体系的角度,分别阐述全面构建新型软件工程教学方法的三要素,并着重对软件工程实践环节的教学,讨论实践内容设置,给出较为可行的实施方案,并希望结合本学院的学生实际情况试点,笔者相信通过一系列的改革可以逐步完善教学体系,达到最好的教学效果。一直以来,教材编写按瀑布模型的顺序,我们也习惯了这样的讲课方式,而学生的学习效果却不是很理想,而本项目提出的教改,我们可以尝试逆向教学模式,做到“做中学”或“习与学”的辩证统一,使学生体验理论从实践中来,然后又运用到实践中去的过程,增强学生运用所学知识的动力。

参考文献

[1]陈立岩,杨丰,谭龙.以培养软件工程师为目标的软件工程教学模式改革与实践[J].黑龙江教育(高教研究与评估),2018(4):11-12.

[2]姚红岩,马云吉.“软件工程”教学策略探讨[J].软件工程师,2014,17(8):10-11.

[3]鞠小林,陈翔,邵浩然.现代软件工程教学研究[J].计算机教育.2013(22):79-82.

作者:陈立岩 单位:黑龙江大学软件学院