APP下载

理论实践融合教学法在软件工程课程中的研究与实践

2022-03-26岳川张健刘桃丽

高教学刊 2022年5期
关键词:软件工程校企合作

岳川 张健 刘桃丽

摘  要:针对高等学校软件工程专业的软件工程课程在教学过程中存在的三个问题,即理论与实践脱节、学生所学的专业知识与企业使用的技术和方法脱节以及教师的授课方式与企业的培训方式存在较大的差异,分析解决这三个问题的思路、必要性和可行性,提出一种理论与实践相融合的教学方法。该教学方法不再区分理论课和实践课,而是将它们融合在一起进行教学。通过近两年的教学数据对比,显示该教学法效果良好。

关键词:理论实践融合教学法;软件工程;校企合作

中图分类号:G642       文献标志码:A          文章编号:2096-000X(2022)05-0062-05

Abstract: This paper discusses the three problems existing in the teaching process of Software Engineering course of software engineering major in colleges and universities: disconnection between theory and practice;the professional knowledge learned by students disconnected from the technology and methods used by enterprises;a big difference between the teaching method of teachers and the training method of enterprises.This study analyzes the ideas, necessity and feasibility of solving these three problems, and puts forward a teaching method that integrates theory and practice. The study shows that the teaching method no longer distinguishes between theoretical and practical courses, but blends them together for teaching.The comparison of teaching data in the past two years shows that the teaching method is effective.

Keywords: theory and practice integrated teaching method; Software Engineering; university-enterprise cooperation

在我国经济高质量的发展中,包括软件及其产业链的信息技术发挥了基础性、支撑性和战略性的作用,推动了信息化与工业化的融合,促进了产业结构的调整,维护了国家的安全。2020年7月27日,国务院印发了《新时期促进集成电路产业和软件产业高质量发展的若干政策》(国发〔2020〕8号)[1],该政策明确指出:软件产业是信息产业的核心,是引领新一轮科技革命和产业变革的关键力量。相关政策的出台,极大地提升了软件相关产业的发展动力,也为软件产业进一步的提升注入活力,相关环境的改善也提升了产业创新能力和发展质量。数据显示,2020年1-10月,在新冠肺炎疫情的不利环境下,我国软件行业仍实现利润8 026亿元,劳动生产力位于各行业之首[2]。在此大背景下,加强高校软件专业建设,支持产教融合发展已成为一个大的发展趋势。软件工程专业作为高校培养软件相关产业人才的主要专业,如何培养出符合产业需求、能提升产业质量的人才,是摆在软件工程专业教师面前的一个值得思考的问题。

为此,本文拟提出一种理论与实践相融合的教学新方法,并成功应用于软件工程课程的教学之中。这种教学方法的实施,除了能极大地改善传统教学方法的不足外,可望开辟高校教学的新途径,进而对信息产业和经济的发展提供应用型人才支撑。

一、软件工程课程教学现状

软件工程课程主要介绍了软件工程的基本概念和基本原理,重点是软件过程中的四项基本活动:软件规格说明、软件设计与实现、软件确认和软件演化[3]。该课程是软件工程专业培养方案中的核心课程。对培养学生在实际项目中的知识应用和理论实践能力非常重要,其教学效果会很大程度上影响专业人才的培养成效。在卓越工程师培养、新工科等政策和概念提出后,各高校在软件工程课程教学中都进行了大量各具特色的改革,逐渐重视工程实践能力的培养[4-5],加大了产学结合的力度[6]。在工程教育的背景下,进而又提出了面向产出(OBE)的教育新理念[7]。这些改革措施已经获得了较好的教学效果[8],但纵观国内大部分高校,软件工程专业改革的过程中也暴露了诸多问题,大致可以总结为三点:(1)教学中理论与实践脱节,学生学习效率不高;(2)学校所教授的内容与企业使用的技术方法脱节;(3)教师的授课方式和企业的培训方式差异大。

这些问题同样出现在广东海洋大学软件工程专业的管理和建设中。针对以上问题,本课题组对软件工程课程进行了深入的改革,在课程教学中推广理论和实践相融合的教学方法,收到了显著的教学效果。本文通过介绍和总结这一教学改革成果,期待该成果推广到其他高校的软件工程专业,提高高等学校软件工程专业的人才培养质量。

二、问题分析

目前,在軟件工程课程中,理论教学和实践培训还是两个相对独立的环节。以广东海洋大学之前的教学管理为例,软件工程相关课程安排在三个学期中,从大二下学期到大三下学期,依次为:软件工程Ⅰ、软件工程Ⅱ和软件工程实践,这三门课在软件工程专业中的定位可参照表1。在大二下学期讲授软件工程Ⅰ,主要介绍软件工程的基本概念,软件企业商业策划的基本知识和方法,软件项目规划和管理的基本知识和方法,软件需求工程的需求获取、需求分析、需求规约以及需求变更管理的基本知识和方法;能够应用所学知识和掌握的方法参与中小型软件企业商业策划、项目规划管理和软件需求分析与管理等实际工作;大三上学期讲授软件工程Ⅱ,以实际案例为切入点,讲解如何针对具体项目进行需求分析、系统设计等内容,并介绍相关的UML图的画法、产出文档和编程技术;大三下学期进行软件工程实践,是一个综合性的软件项目开发实践课程。用一个实际项目来覆盖软件工程项目的基本流程,包括项目规划、需求分析、系统设计、详细设计、编码实现、系统集成与测试、软件验收及交付等内容,通过该实践来提升学生将软件工程课程的理论知识运用到实际项目中,完成文档和代码编写的能力。这样的安排兼顾了理论学习、知识应用和项目实践。但在实际的操作中,受到教室到实验室的空间阻隔和理论课到实验课(实践课)的时间阻隔的影响,学生在课堂上学习知识的同时并不能及时地进行实践操作,影响了学生对于知识的消化吸收。另外,三个学期的学习,由于时间跨度长,导致在进行实践课程时,学生又淡忘了理论知识,使教学和实践的效果大打折扣。

众所周知,软件行业的技术更新速度快,特别是在提倡创新的大背景下,企业会倾向学习和使用新技术以提升自身产品的竞争力。而学校所教授的内容往往需要按着教学大纲的要求来教学,教学大纲的更新频率很难跟上企业技术的迭代速度,学生从学校毕业进入企业往往要进行二次培训才能胜任相关工作。这种学校培养内容和企业需求不完全匹配的情况影响了学校教育对于软件产业的贡献。

另外,学校的教师队伍普遍缺乏工程实践的经历,难于胜任卓越工程师的培养任务。学校教师往往是由博士、硕士毕业后直接进入高校做教师,其中大部分人没有参与过企业的工程项目,没有工程实践的经验,导致了学校教育方式与企业培养方式之间存在偏差。

三、理论实践融合教学法的探索和改进

针对以上的问题,在软件工程课程教学过程中,本课题围绕着“如何将理论与实践、学校教学培养和企业需求有机地融为一体”这一目标开展工作。在相关教学管理细则制定、理论与实践相融合教学法的实践、教学平台软硬件搭建等方面进行了有益的探索和改进。

(一)教学管理

经过课题组的申报,学校审批通过成立软件工程卓越班。通过广东海洋大学软件工程专业2017级的学生自愿报名,软件工程专业导师组集中面试、择优录取的方式,组建了由40名学生组成的软件工程卓越班。卓越班的学生在固定的机房上课,每名学生配有一台电脑,学生的所有专业课的学习均在此机房中进行,且平时可以在机房个人位置上自习。组建班级后,更新调整了原来的培养方案,并制定了相关的管理细则和卓越班考核标准,该班级采用末位淘汰制:每学期学生期末成绩的绩点如果低于普通班任何一名学生,即被淘汰;如果绩点高于普通班所有学生,但在卓越班排名后三名,亦被淘汰。严格的考核机制给卓越班的学生更多的学习动力。

(二)理论与实践融合

将理论实践融合教学法融入到软件工程课程的日常教学中,需要针对软件工程专业的特点,结合应用型人才培养的基本定位,构建模拟企业真实软件开发的教学实践环境,并在这一教学环境下进行专业理论和专业实践的全部教学活动。在卓越班的教学中,教师需要将讲授的内容进行知识点拆分,将单个知识点的讲授时间控制在10分钟左右;每个知识点,都经过教师讲解介绍、相关案例的解析、学生动手实践及教师点评的四个基本步骤。以软件工程课程的需求分析章节为例,该教学法的授课方式和原授课方式的对比请参考表2和表3。理论实践融合教学法最大的特点是将之前放在三个学期的三项教学活动,分解融合在多个15~20分钟的时间里。在固定的机房中,这种授课方式可以大大地方便学生在学习知识的同时实时地实操练习,并且学生和老师的屏幕可以互相分享,让教师可以随时看到学生的练习情况,并和其他学生一起对某名同学的实践情况进行点评和分析,对于一些常见易犯的错误,方便及时纠正。而在以前的教学模式中,学生认知错误的发现往往要等到实验课或者第二学期的实践课,实验报告提交给老师后才能发现并纠正。同时在这样的环境下,老师和学生的沟通大大增加,由于交流而产生的思想碰撞也增多了,这样学生对于知识的深入理解提供了很好的支持,课堂的活跃度,学生的学习兴趣都有大幅提高。这种课堂传授的理论知识实时让学生进行动手实践,最大程度地提升理论和实践的融合度的方式,消除了之前理论课、实践课排课时间间隔长的影响,提升学生对于知识的消化吸收。

(三)学校与企业融合

为了更好地在软件工程课程教学中应用理论实践教学法,模拟企业真实软件开发的教学实践环境是硬件基础。在此环境中,一款软件/文档版本管理工具是必不可少的,之前学校的实践教学中,代码、文档管理往往是由学生个人把控,这并不符合企业对于工程师的要求。引入一套全流程的管理工具,目前使用Git相关软件,包括需求管理、文档管理、代码管理和测试管理等内容。在日常课程中,学生所有的实践、练习、作业,都上传到GitHub上进行统一备份,这样所有的材料都可以永久保留,以便学生之后对内容进行回顾。同时配备一台真正的服务器给學生使用,或者每个团队租用一部云服务器,用作项目实训中的项目服务器,每个小组学生的代码最终都部署在服务器上,实训结束后,学生作出的软件系统应在服务器上正常运行才可以通过验收。而不是单机开发、单机演示的学校模式。同时,开放了与企业合作的在线课程资源,在这个资源平台上,提供了企业讲师讲授的相关课程,供学生课上、课外学习。

另外,教师在教学活动过程中,还需要根据业界的发展动态,实时更新教学的内容和使用的工具。为达到此目的,软件工程专业教师应多到企业培训调研,了解企业的运作方式和技术体系,在教学大纲制定、教学方法革新及教学内容选取等方面做到和企业良好对接,在这点上,就需要学校和企业的深度合作,创建联合培养的模式。在实践环节中,教师应转变角色,以技术总监的身份加入到学生的项目团队之中,对学生的项目实践进行指导,这个指导不单单是技术上的指导,更需要通过实践,让学生体会到如何对软件工程项目和一个软件项目团队进行管理,这里就包括项目计划的制定和实施、项目人员工作的分配、风险预测和预处理、项目预算评估和软件质量保证等内容。这些内容在授课教学中往往是空洞无趣的,而在实践中可以更好地让学生体会到其中的作用。因学校的实践项目都是中小型的工程,将敏捷开发思想引入到实践环节,带动团队成员相互交流协作是很有必要的。在本研究中,定期组织学生小组成员开项目组内部的项目例会,每个人汇报自己的开发进度和遇到的问题,定期内部审查项目代码等做法都收到了学生的普遍认可。

以上诸多做法为更好地应用理论实践融合教学法提供了政策支持、硬件基础和软件基础。整个教学法的架构如图1所示。

四、教学改革成果

本教学方法已成功应用于广东海洋大学软件工程专业2017级的软件工程Ⅰ、软件工程Ⅱ以及软件工程实践的课程教学活动中,并正在2018级、2019级软件工程专业学生的相关课程中继续推广。为了显示理论实践融合教学法在软件工程Ⅱ课程的教学效果,现将该教学方法实验前后的学生期末成绩显示如图2。其中横轴为学生人数,纵轴表示该学生的软件工程Ⅱ课程期末考试成绩。图2显示的成绩是从学校教务系统导出,并按着从低到高排序后的结果。其中,软件2016级学生的期末成绩显示为“-”线,软件2017级学生的期末成绩显示为“-·-”线,使用理论实践融合教学法进行授课的2017级软件工程卓越班,其成绩显示为“---”线。

从图2我们可以看出,使用理论实践融合教学法进行授课后,2017级软件工程卓越班的成绩对于整个年级成绩的拉动作用明显,2017级的整体成绩对比2016级有显著提升,也显示了理论实践融合教学法对于学生知识吸收的促进作用。

除了图2显示的软件工程Ⅱ课程成绩的量化对比外,还可以从实验前后学生的教学评价给出对比。实验前,2016级软件1163班的软件工程实践课程,评教成绩为91.309分;试验后,软件2017级卓越班学生对软件工程实践课程的教学评价分数为97.229分。这从另一个侧面,反映出学生对于新的授课方式是普遍认可的。

五、结束语

理论与实践融合的教学方法是集教学方法、教学资源和教学管理三位于一体的软件工程卓越人才培养模式。在软件工程的课程教学中,本课题组突破以往的理论课学习理论、实验课上机实践的教学方式。以知识点为基本单位,对每个知识点进行教师讲解介绍、相关案例的解析、学生动手实践和教师学生点评交流四个基本步骤,并搭建起与之配套的软硬件环境,使该方法可以更好地服务于教学活动中。经对比发现,该方法是一套行之有效的教学方法。对以应用型人才培养为目标的各校软件工程专业都具有普遍的推广价值。

未来的研究中,将继续拓宽校企合作共建教学资源的途径,企业和学校的融合应该更加深入,教师应更多地去企业调研和锻炼,增加工程实践经验;企业也应更多地参与到学校的人才培养过程中。在理论与实践融合的教学方法的软硬件平台搭建上进行更加深入的合作和实践。

参考文献:

[1]中国政府网.国务院关于印发新时期促进集成电路产业和软件产业高质量发展若干政策的通知(国发〔2020〕8号)[EB/OL]. http://www.gov.cn/zhengce/content/2020-08/04/content_5532370.htm.

[2]中国产业信息.2020年中国软件行业发展现状及市场发展前景分析[EB/OL].https://www.Chyxx.com/.

[3]Ian Sommerville.软件工程[M].北京:机械工业出版社,2018.

[4]岳川.项目驅动式教学在用户界面设计课程中的实践[J].高教学刊,2016(18):155-156+158.

[5]章宗长,王艺深.以开源项目为驱动的软件工程课程改革与研究[J].计算机教育,2019(1):84-87.

[6]车海燕,冯铁,马东辉.新工科背景下软件工程课程设计教学新模式[J].计算机教育,2020(3):52-55.

[7]刘强.基于OBE理念的“软件工程”课程重塑[J].中国大学教学,2018(10):25-31.

[8]曾明星,周清平,王晓波,等.软件工程专业“翻转课堂”云计算教学平台探讨[J].现代教育技术,2013,23(8):26-31.

基金项目:广东省教育厅“教学质量和教学改革工程”建设项目“CDIO模式下嵌入式系统课程的教学改革和创新”(530001055);广东海洋大学2019年教学改革项目“理论实践融合教学法在软件工程课程教学中的研究与实践”(570219088);广东海洋大学2019年专业核心课培育项目“软件工程实践”(571119134);广东海洋大学校级精品课程项目“软件工程”(524207010)

作者简介:岳川(1988-),男,汉族,河北邢台人,硕士,讲师,研究方向为软件可信性评估。

猜你喜欢

软件工程校企合作
依托工作室的软件工程实践教学研究
应用瀑布模型的MOOC制作方法
融合APTECH体系的软件产业人才培养探究
基于工程教育认证的《软件工程》课程教学质量建设研究 
关于如何创新和完善计算机软件工程管理的探讨
茶学专业校企合作实践教学探索
韩国高校校企合作模式新发展
刍议职业教育校企合作的有效性
就业视域下卓越工程师校企合作培养模式探析
民办高职院校软件技术专业深度校企合作模式探索