基于OBE的软件工程专业一体化实践教学体系改革
2018-09-17付丽梅李绪成任长宁
付丽梅,李绪成,任长宁
(大连东软信息学院 软件工程系,辽宁 大连 116023)
0 引言
目前,各高校正在进行的高等工程教育专业认证是继本科教学评估和质量工程后关注的焦点工作。在工程教育认证中,专业培养标准被称为“学生产出”或“毕业要求”,是保证培养目标实现的关键[1]。在中国工程教育专业认证协会制定的工程教育认证标准(2015版)中,提出12条通用标准,均以“学生的能力培养”为核心。能力是在学习知识和训练技能中逐步形成的,因此实践教学是培养学生实践能力和创新能力的切入点,为使实践教学体系能有效地支撑培养目标和毕业要求的实现,就应该基于产出导向,对原有的实践体系进行改革重组[2],在基于OBE为导向的实践教学设计上重点关注对学生项目研发能力的培养与软件开发流程,把培养学生的实践动手能力贯穿于4年学习的课内和课外。
1 实践教学体系改革与实践的目标
改革要实现的目标如下:①将对软件工程专业学生毕业要求所具有的能力指标贯彻到实践环节;②设计专业项目体系,开发完成一系列CDIO项目库,包括一级项目库、二级项目库和三级项目库,培养学生的工程实践能力;③研究探讨基于产出导向的基本技能、综合应用能力、工程实践与创新能力3个阶梯层次的实验教学优化设计和多元化考核模式;④通过将OBE教育理念引入实践环节,以学习结果驱动取代传统的教学内容驱动,形成持续改进的质量保障机制;⑤改革实践教学内容和实施过程,提高学生的项目研发实践能力;⑥建设完善的、适合OBE教学理念的实践教学课程资源;⑦组织系级学科竞赛活动,促进对学生产品创新能力的培养。
2 改革思路与措施
(1)根据TOPCARES-CDIO教育理念,理清实践项目之间的关系。原则上每门理论课都设计课程项目,在一、二、三年级的第3个实践学期设计1个课程群项目,四年级的上学期实施1个综合项目,四年级的下学期进行毕业设计。层层递进的一体化实践教学体系[3],如图1所示。
图1 一体化实践教学项目设计
(2)实践项目的设计原则。实训项目应尽量选用企业的实际开发项目,做到真实性和多样化。在实训过程中,积极推行团队化管理,将学生按软件团队模式进行管理,按软件项目管理模式设立不同的角色,并由技术强的学生引导技术稍弱的学生,这样有利于学生的自主学习。同时,对整个项目的管理应比照企业现行的管理模式,完善各种管理制度,如培训制度、考勤制度、数据管理制度、软件开发流程制度、测试制度等。项目考虑3个设计原则:①项目结构具有分解性和整合性,并符合实践和教学规律[4]。项目可分解到第6和第9两个实践学期中实施,分解后的项目可以滚动整合、逐渐合并,以致到三年级实践学期时,全部项目作为一个整体实现完毕。②项目类型具有典型性和完备性,符合软件工程规律。综合项目应覆盖专业所有技能,具有代表性,而且应具有可扩展性,以根据信息技术的发展而持续改进。③项目所涵盖的知识技能涵盖学生的毕业要求。综合项目确定后,根据软件工程知识体系(SWEOB)和本专业的培养目标,分析出多个课程群项目。每个课程群项目是综合项目的一个模块或相应地为综合项目的达成提供重要支撑。综合项目是根据岗位能力要求调研分析后设置的,能够完成综合项目,则说明学生的专业能力达到相应岗位的能力要求。
(3)本专业实践项目的总体规划。实训项目是一个基于移动互联网技术的电商平台,项目总体目标是以Android和Java Web为核心技术,着眼于电商系统基本业务流程的讨论,对于类似淘宝、京东等系统的实现方案进行重新规划和设计;不仅全面解决现有问题,满足目前的业务需要,还要满足未来的发展,具备良好的可扩展性,形成个性化、可扩展的移动互联网平台。根据业务的需求可将子系统模块划分为商品子系统、购物子系统、支付子系统、物流子系统、客服子系统、评论子系统。此外,根据各子系统的核心等级,可拆分出核心子系统和非核心子系统,前者包括商品子系统、购物子系统、支付子系统及物流子系统;后者则包括评论子系统、客服子系统及接口子系统。需要注意的是,一般大型电商平台的仓储物流系统是单独分离出来的系统(包括入库、出库、库存管理、配送管理、货品管理等)。项目总体规划为3个阶段。
第6学期实现一个初级的移动电商服务平台,该阶段实现基于Web和Android的基础电商服务平台,学生能够将所学知识融会贯通,完成原理到应用的转化。该项目技术内容涵盖学生二年级的几门专业核心课程。
第9学期实现一个架构优良的移动电商服务平台,该阶段实现基于SpringMVC、MyBatis、HTML5、跨平台开发等技术的电商平台,不仅重构软件架构,更重要的是着眼于软件工程、自动化测试等领域。
第10学期实现一个商业级的移动电商服务平台,这个阶段着眼于企业级应用,实现项目重构和规划。通过使用Spark、Jenkins、docker、redis、PostgreSQL、CentOS、阿里云等技术栈,学生能够完成系统级别的企业级应用。
(4)以OBE为导向的项目资源建设。每个学期的项目采用模块化设计,以正在建设的软件工程项目训练为例,将课程设计为20个授课单元,每个授课单元有独立的任务目标、学习资源、成果物、扩展任务。扩展任务主要是一些针对当前主流技术准备的专题,学生可以选择自己感兴趣的扩展知识深入学习研究并应用到个人项目中,对于这部分内容,在课程考核里有明确评分标准。
(5)以OBE为导向的教学方法改革。每节课首先给出本次课任务,演示任务应达到的学习效果,然后分解任务,讲解任务的重难点,下发项目Demo,让学生在研究Demo项目后完成自己项目的对应部分。教师随机抽查完成情况作为形成性考核的分数,通过公布学生阶段性成绩,激励学生下一阶段的学习;每天根据学生的考核情况及时调整下一阶段的任务。
(6)适合课程特点的有效考核方式。考核是评估教学效果的重要手段,如何有效地考核是整个教学环节的关键,由于是项目开发,比较适合大作业的考核方式[5]。大作业的缺点是考核工作量大,而且在一定程度上缺少客观性。为解决考核工作量大的问题,可以把整个考核分阶段进行,每阶段对每名学生考核一次,采取随机抽查,这样可避免对所有学生考核一个知识内容、后面的学生参考前面学生的问题来回答,从而在一定程度上提高考核的公正性;此外,可挑选助教帮助教师考核和答疑,以减少教师的工作量,但对助教挑选及使用标准、使用环节,保证助教考核有效性等,都需要认真讨论和思考。项目考核分为形成性考核和终结性考核:形成性考核主要针对教师Demo项目中的技术进行考核;终结性考核为大作业,占总成绩的一半,要求学生实现自拟题目的Android与Web系统,项目总体目标是以Android和Java Web为核心,使用所学知识制作功能互通的应用软件系统。主要选题应积极向上,贴近学生生活,如制作“我的大学”、学生社团介绍或其他与学生生活密切相关的业务等。项目选题要求每人一题,并能使用课程中没有讲述的新技术。新技术在考核时作为附加分占一定比例,项目源码要求系统运行稳定、项目编码规范、用户体验好,总共至少包括10个垂直功能点,低于10个垂直功能点则无法及格。终结性考核标准从项目新颖性、功能完整性、项目设计创新性、答辩表现、功能实现、新技术的使用、性能与稳定性、编码规范性、用户体验级团队合作进行考核。
3 具体实施路径
(1)深入开展产学融合,积极引进产业优质资源,搭建完整的创新创业实践教学体系。推进专业教学紧贴技术进步和企业生产实际,有效开展实践性教学,加大对学生创新创业实践活动的支持和保障力度[6]。①建立可参与本专业教学(特别是实践教学)的企业人力资源数据库;②建立企业可以共享的案例、工具并建立相应的资源库。研究它们可嵌入的课程、项目,研究是嵌入还是替代,是在基础阶段、专业基础阶段还是专业课阶段,还是大四的全实践阶段,需要多少学时。
(2)助教辅助完成课程考核。通过按阶段考核,督促学生项目开发的进展,通过定期公布形成性考核成绩,调动学生的学习积极性,让学生助教参与考核过程,提高考核效率。
(3)改革实践项目内容,使学生在毕业后能够完成主流应用的开发,适应“互联网+”和“O2O”的时代特点。实践项目涉及第3学期、第6学期、第9学期、第10学期和第11学期。第3学期的实践内容重点培养学生的基本编码能力;第6学期培养学生对“互联网+”的敏感性;第9学期培养学生的互联网应用开发能力,让学生使用互联网技术和移动开发技术解决传统行业问题,实现“互联网+”;第10学期:学生自选项目,采用团队开发的形式,严格按照公司标准流程完成项目的开发,可以培养学生的团队协作能力、创新能力和自学能力。
(4)改革实践项目实施过程。实践学期和实训的目的有所不同,实践学期的任务是夯实学生理论学期学到的课程知识,实训的目的是让学生通过一个接近真实项目的开发流程了解软件开发的真实环境,实践学期的资源建设是核心工作,包括课上、课下各种学习资源(案例、项目库、MOOC)等。
项目实训注重学生项目开发整体流程的规范,在项目实施过程采用先进的项目管理工具,项目实施过程模拟真实项目开发流程,让学生在就业前了解软件公司的工作流程。将10周教学分成几个阶段完成:第1~2周为技术储备阶段,通过项目回顾核心课程的核心知识点;第3周为文档与新技术学习阶段,讲解实际公司项目开发所用文档,讲解主流项目管理工具和当前主流技术;第4~10周学生分组开发自选项目,自选项目分阶段完成和考核,主要分为需求、设计、实施和总结调试4个阶段,每个阶段完成后进行阶段考核,以分组形式进行,采用交叉评审、答辩的方式。各组除了要被考核,还要参与考核别人;每组项目除了教师给的分数,还有其他组所给评分;参与考核的组要求必须对考核小组提出至少2个问题和1个修改意见。在测试阶段,各组交叉进行测试,每个阶段的考核都要有标准和结果,教师对项目的整体实施过程进行监控和把握,通过各种有效措施保证项目的顺利实施。实训过程通过项目文档的公开、学生相互评价、过程成绩的公开给学生以压力,从而转换为学习的动力,让学生养成公平、公正、公开,关注细节的习惯,培养其自主学习以及解决问题的能力。
(5)通过课外竞赛项目驱动,打通学科间壁垒,促进知识的综合运用与实践。基于课外竞赛项目的实践,课堂教学与课外项目实践紧密地结合,提高学生的自主学习能力和创新能力。
(6)通过推广学生的实践作品,激发学生的学习兴趣与动力。将学生的学期实践作品推荐到各类竞赛,申报大学生创新创业训练项目,让学生在竞赛中获得成就感,开阔眼界,从而提高学习效果。
4 结语
大连东软信息学院在2016年引入OBE教学理念,软件工程专业在实践教学体系设计中引入OBE,实践教学效果表明,学生的实践动手能力和学习效果有了显著提高。实践教学是整个人才培养的重要环节,应构建多元化、多层次的一体化实践教学体系,在实践教学过程中以培养学生实践动手能力为目标,以OBE教学理念为导向,注重学生学习效果,打破以知识结构为主线的实践体系,以项目引导知识,以学习效果引导教学;在项目设计与资源建设上,以企业为依托,引进企业真实项目做教学化改造,综合训练学生的实践动手能力和项目研发能力,从而实现学生在校所学与将来所从事岗位的无缝对接[7]。教学资源建设方法和教学资源的合理使用是实践教学中下一步需要深入探讨的问题。