《软件工程》线上线下混合式教学模式改革
作者: 王静 姚勇 赵辉
“软件工程”作为我校计算机方向的重要专业基础课,涉及软件开发工具、系统平台、设计模式等多个学科的知识。该课程具有较强的工程性与实践性,旨在培养学生使用工程化思想、方法和技术来分析、设计和实现计算机软件系统的能力,并具备综合运用所掌握的知识、方法和技术解决复杂的实际问题及对结果进行分析的能力。
以往国内高校普遍采用的理论讲授的教学方式,后续也出现了理论教学加实践教学相结合的改进方式,但教学过程中理论与实践的脱节,使学生无法通过实际学习领会软件工程在真实项目中如何来解决实际问题,远远达不到课程的预期目标。
另一方面,随着互联网网络信息化的高速发展,多媒体技术、人工智能和大数据分析等技术已融入各种网络在线学习中,对在线教学的顺利开展以及完成好各类体系化的课程在线教学任务,提供了技术保障。
传统的教学方式已无法满足网络大数据背景下软件工程人才的培养要求。如何利用线上线下资源的混合式教学模式,更有效地进行知识的传授与技能的培养?如何通过真实项目案例的学习与演练来提高学生利用工程化方式解决实际问题的能力?这些都是软件工程所面临的问题,软件工程的教育教学改革刻不容缓。根据大数据背景下现代软件工程人才的培养要求,必须重新审视软件工程课程教学的建设,寻求有效的解决方法。
本文突破传统理论教学与项目实践结合讲授方式,采用线上与线下混合式教学模式,通过学习真实项目案例,模拟演练企业真实项目的开发。通过团队的合作与配合,培养学生的协作意识和团队精神,学习从需求分析-系统设计-系统实现各个阶段的工作,通过团队配合共同完成整个项目。此外,考核方式以项目的过程化为导向,以多元化考核机制实现对学生综合考察。
1.教学改革内容与目标
1.1内容
(1)教学模式和方法的建设。改变传统的教学模式,从灌输型课堂向研究型课堂转变,从封闭课堂向开放型课堂转变。建立线上与线下相结合的学习环境,通过网络平台为教学过程提供全方位的资源和支撑服务,优势互补。
当前,线上教学改革多数采用建设慕课或引进慕课建设SPOC作为支撑来实施。但慕课的定制性和交互性是他的弱势。为此,本项目对于线上教学部分,开发了《软件工程》课程线上小程序。教师结合教学大纲和行业发展需要制作优质的课程资源,主要包括教学日历、学习指导大纲、教学课件、课程视频、重点难点分析、习题汇编和案例资料等,将这些资源上传至课程学习平台。
在课堂教学过程中,学生在课前已经观看过相关理论知识讲义和视频。经过课堂教师讲解,学生对知识点有了更深刻的理解。学生需总结知识点并重新思考问题,对老师在课堂上强调的重要知识点进行再学习和巩固,可回看视频和讲义。教师可针对复杂问题在线与学生互动答疑,进一步提高学生的学习积极性。教师定期对课程的疑难问题进行分类、整理和归纳,发布作业并组织网上讨论,监控学生的学习进度和作业完成情况,并提供个性化的教学辅导和答疑;也可以通过课程平台进行教学评价,获取学生对教学环节的反馈,对教学活动进行监控。
(2)教学体系和内容的建设。以需求为主线,以培养学生创新实践能力为目标,建立新工科建设思想下贯穿人才培养全过程的课内外一体化的实践教学体系。优化调整理论课程的教学内容,建立以案例主导和项目驱动的优质教学资源库,实现边学边做的情景教学。
在对重难点知识讲解时,采用案例驱动法。课内实践环节在案例主导教学和项目驱动教学的基础上,建立一个由阶段性实验到综合实训构成的渐进式实践教学体系,既确保教学内容的系统性和连贯性,又能与后期的毕业设计无缝衔接。
阶段性实验以案例主导教学,综合实训和项目驱动,解决开发过程中遇到的各种实际问题。实践的结果包括一系列配套的软件文档、原型系统、演示视频和报告总结等。以一个实际软件项目系统为案例,准备一套完整软件项目开发和测试全套资料,包括需求规格说明书、概要设计书、数据库设计说明书、详细设计书、代码、编码规范、测试计划书、测试用例书、测试缺陷报告、测试总结报告等,供学生在项目开发和测试过程中参考使用。把一个完整的软件项目系统开发和测试过程作为案例,可以使学生快速上手,更容易理解软件开发和测试流程以及快速学会各种文档的编写,顺利完成整个软件系统的开发和测试工作。同时也使实践课程的主要教学内容贯穿起来,使得实践的内容成为一个有机的整体,从而提高学生的动手能力,改善实验效果。
(3)实践与组队开发。首先整个实践教学是在可量化的实践教学质量保证机制下实施的,结合线上线下实践教学方法,构建从分散性实验到模块性实验,再到团队开发的课程设计。并对这三个阶段设计了基础知识、能力提升和综合应用三部分的由浅入深的实验内容,使得整个实践教学过程在理论教学与实践教学的交叉螺旋模式下展开。软件工程实验内容遵循渐进式的模式,分为基础知识、能力提升和综合应用三部分,针对这三个部分,分别设置不同的实验内容,且逐渐提升知识点,做到融会贯通。
基础篇以验证性实验为主,围绕理论教学展开,主要是软件开发工具、图形工具、建模方法与工具的学习,目的是通过对这些工具的使用让学生理解和掌握软件开发方法,学会使用这些工具制作标准化的开发文档,这一部分的内容,我们安排在课堂上进行,作为对理论课堂的应用和巩固,也会后续的实验打下基础。教学中我们安排8个基础型实验。
能力提升篇以开发小型简化的管理信息系统为主,按照软件开发流程完成设计、编码和测试三个主要的部分,目的是通过对小型系统的开发使学生能够综合运用基础篇的各种方法、技术和工具,为后面的综合应用做准备。这一部分的内容我们安排在实验课上进行。教学中我们安排6个提升型实验。这6个实验都是学生平时生活中能够接触到的实际系统,通过对这些小型系统的开发,学生既可以熟悉这些系统的开发和工作流程,也可以增强他们的信心。
综合应用篇则以学生为主组成开发团队,以开发中型系统为主。需要用到结构化开发方法的所有内容,包括:可行性分析、需求分析、总体设计、详细设计、实现、测试和维护,同时需要生成各个阶段的文档。一般以5~6个人为一个团队,同时做好团队成员的分工和协作。这一部分的内容我们安排在期末的软件工程课程设计课上进行。在教学中我们安排4个综合应用型实验。这4个综合应用型实验的每一个实验都需要实现多个管理功能,这就要求学生需要有综合分析问题的能力和团队协作的能力。
(4)考核评价机制的建设。设计科学和全面的课程考核体系和实践教学评价标准,对学生学习的全过程进行动态管理和考核。建立多元化考核办法,根据不同层次不同类型采取不同的考核方法。
考核方式采用多元质量考核标准,从基础知识、工程能力和综合素质三个方面对学生进行全面综合地评价。基础知识方面通过平时作业和闭卷考试方式考查学生对于软件工程课程基本知识掌握情况;工程能力方面采用过程化考查方式考核学生分析和解决实际工程问题的能力;综合素质方面主要考核学生团队协作能力方面。
过程化考核通过整个团队完成项目分数和团队中每个人完成情况分数加权得到最终成绩。其中每个阶段提交的文档或代码会与一两个能力指标点相关,每个能力指标点在作业中占一定的比重,最后通过加权方式计算出来总分,评估每个学生的实践成绩。
1.2目标
软件工程以网络知识为学习背景,设计并实现了《软件工程》线上小课堂。通过该平台提供的教学结合实际案例模拟开发的方式,进行线上线下相结合的混合式教学模式的改革。《软件工程》线上小课堂为教学提供全面的理论教学和案例教学。首先,针对学生学习情况及时汇总发现问题,提供有针对性的在线辅导。其次,建立案例学习和项目演练的情景教学,提高学生解决工程化项目的实际能力。最后,通过多元化考核方式和评价标准,对学生掌握知识的情况和项目实践过程进行量化考核。
2.教学改革措施
本文采用线上线下相结合的混合式教学模式。该模式主要包括线上的理论学习和测试、线下的课堂讨论两大部分。最终设计并实现了《软件工程》线上小课题,其功能模型如图1所示。
2.1理论学习
教师将教学大纲、教学课件、课堂视频、习题辅导和案例资料等上传至线上小课堂平台。通过教案学习环节,掌握软件工程基本理论、基本知识、基本技能和基本方法,在随后的课堂上能够更有针对性地展开学习和讨论。在课堂上,老师不再对已有的课本和教案课件重复讲析,而会对内容进行串讲。然后根据课堂上学习的重点和难点知识进行详细讲解。
2.2课堂讨论
该平台在实际案例教学的指导下,实现由案例学习到项目演练这样情景式教学过程。以实际软件项目为案例来学习案例的整个开发过程。使理论教学与实践教学的内容形成一个有机的整体,让学生了解实际开发过程中的软件开发、文档撰写和测试等工序。
案例学习中包括一系列配套的软件开发文档、原型系统和演示视频等。项目练习环节为学生提供文档撰写模板,包括需求规格说明书、总体设计书、数据库设计说明书、详细设计书、代码、编码规范、测试用例书、测试总结报告等,供学生在项目开发过程中参考使用。
2.3作业和测试
课后作业也由教师在线发布,学生在线完成,让学生清楚自己的学习情况,根据测试结果,学生可以重新观看视频和讲义。另外在每个单元内容结束后,教师给出一套单元测试让学生完成。这样老师也可以跟踪每个知识点学生掌握的情况。对于疑难知识点,可以在课堂上进行集中讨论教学。
组队开发就进入实战阶段,每个团队成员根据分工进行任务划分,做好团队成员的分工和协作。具体要求:首先,进行项目团队的组建(自由组建或随机分配,原则上5-7人),系统上能显示组队情况。然后,每个团队进行项目选题(备选题目会在线上小课堂平台发布)。接着完成项目开发,这其中包含分阶段的文档提交和老师审核,审核通过后方可进行下阶段文档提交。直至所有文档提交完毕。这样老师可以监督管理每个团队开发过程中是否遵循软件工程中的所有规范与要求。
2.4考核评价机制的建设
经过课件学习与课堂教师讲解,学生对知识点有了进一步的巩固。同时对于不懂得地方,学生可以通过在线小课堂平台与老师进行问题答疑,提高与学生的互动,促进学生的学习积极性。教师定期对这些疑难问题进行分类、整理和归纳,提供有针对性和个性化的教学辅导和答疑。
软件工程实践课程都采用过程化考核,每个阶段都让学生提交作业文档或代码,每个作业有一定的分值,并占一定的比例,总分为100分。作业的考核分为团队考核和个人考核两种,如果作业是小组团队完成,就按团队考核,每个组员的分数一样;如果作业是个人完成,就按个人考核。每个作业考核和一两个能力指标点相关,每个能力指标点在作业中占一定的比重,最后通过加权方式计算出来每个能力指标点的达成度情况。通过能力指标点的达成度情况,可以评估每个学生的工程实践能力。
3.结语
本项目提出的线上线下混合模式结合软件工程实践情景教学模式,实现理论教学与实践教学统一的质量保障机制。该平台在秋季课程的使用过程中,学生反馈效果不错。随着互联网大数据时代的到来,软件工程的教学如何适应这种新环境、如何利用这些新知识,探索工程教育人才培养的“新模式”将会是我们未来需要持续关注的问题。