软件综合实践课程链式教学模式的实践与探索

2017-11-26 10:51沈学东
课程教育研究·上 2017年43期

沈学东

【摘要】随着信息化程度越来越高,信息技术随着互联网+技术、移动互联、大数据应用、云计算以及区块域等新的技术热点不断,软件开发的框架技术也快速呈现新的形式,传统的软件专业教学无论是从知识结构和教学内容上还是在教学模式上都与软件行业现状严重脱节,本文具体阐述了行业的软件技术需求及我校在软件综合实践上所做的教学设计和教学方法改进,力图使培养的学生能紧跟市场的变化,尽快融入软件行业。

【关键词】软件综合实践 链式教学模式 开源框架

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2017)43-0236-02

软件工程专业的毕业生在前几年需求旺盛,供不应求,这在我校历年毕业生就业统计名列前茅中可以看出。这与前期软件工程专业经历人才试点培养、教学计划改革的实践有着密切关系。然而传统的软件知识结构与随着时间的推移已经与软件行业的需求呈现脱节现象,理论和实践教学难以适应日新月异的软件开发技术发展,新的开发技术首先在实践课程中应该责无旁贷的加以引入,尤其是在软件综合实践课程中如何融入新技术的实践,并采用新的教学模式和方法,以适应即将面临的社会市场的需求。

1.软件综合实践课程的性质与任务

软件综合实践课程是软件工程专业的一门专业实践课程,安排在第三学年的下半学期后,主要是综合运用软件工程的知识和最新技术实现一个中小型的应用软件系统,通过两周的实践达到综合运用软件知识的目标和任务,它的前期课程是学生学完了javaWeb系统开发、J2EE中间件技术,为后继进入企业实习和就业奠定技术基础。所以本课程的任务起到了承上启下的作用,是非常重要的核心课程。

2.课程教学现状和分析

通过几年的教学反馈,软件综合实践课程存在以下几点弊端:(1)市场软件技术发展需求和我校教学计划的脱节。软件工程专业的实践教学体系主要是以java语言为主线的软件开发技术实践,主要使学生熟练掌握使用java开源开发技术开发中小型应用软件的能力。具体的java技术主要有JSP,Servlet,JDBC,框架技术主要引用Struts,Hibenate,Spring等,前台主要使用HTML ,javascript,CSS ,JQuery等相关技术。现在市场的java软件开源技术发展已经远远超前于高校所学习的软件技术,要求学生将SSH三者结合构成特定的框架体系,能实现常用的Web应用系统,整个系统以Struts为基础,在MVC(Model View Control)结构中实现三层架构,即表示层、业务逻辑层、数据持久层,通常Spring框架实现业务逻辑层,Hibernate框架实现数据持久层,封装对数据库的连接查询操作,表现层使用jsp或jstl等标签技术。知名热部署软件JREBEL厂商统计显示,目前Spring MVC框架占市场份额的40%。而最新的Spring boot技术已经排名第四位了。这说明了我校的软件实践教学中使用的相关技术早已经在市场上落伍了,已经越来越不适合市场对软件开发的易扩展、松耦合、开发周期短的要求了。(2)缺乏有典型性和一般性的軟件综合实践案例,市面上很多专业实践教材提供了众多的案例用于教学,但是针对性和普遍性不是太理想,其实在高校并不需要业务逻辑复杂、关系繁琐的案例用于实践,只需要包含一般关系和应用操作的案例即可,像电子商务的商品销售、银行业务的权限管理等即可。真正需要的是即使简单的案例,用先进的软件技术去实现,并具有可扩展性和缩短开发周期的案例实践才是高校培养学生能力所需要的。(3)软件综合实践课程的教学模式过于陈旧。传统的教学模式采用项目案例教学方法,合理分配学生不同的角色,根据不同角色分配不同的相关任务,协同其他同学一起完成一个完整的应用软件。如实现软件开发有需求分析、数据库设计、架构设计、详细设计、编码及测试等不同的任务模块,相关的学生承担不同的项目开发的职责,有项目经理统管项目开发的进度、架构分析师负责需求分析、数据库设计、软件框架实现,程序员负责编码和测试等岗位职责,虽然以实际场景为模拟,以一些原厂源码为案例参考,也起到了一定的效果,然而这样的实践很难培养学生的各方面的能力。主要原因有:软件开发有很多模式:瀑布模式、原型模式、敏捷开发模式等,不同的开发模式分配学生的角色不一样,学生角色不好分配;学生的技术水平参差不齐,经常是能力强的学生包揽一切,实践效果不太理想;开发框架选用不一致,学生对传统技术没有兴趣,只要完成任务即可。这些原因使软件综合实践课程的实施效果欠佳。

3.链式教学模式及其在软件综合实践课程中应用与实施

3.1 链式教学模式的理论及与我校技术立校、应用为本的办学理念的统一

链式教学模式一种将教学计划、教学环境、教学案例及教学方式统一的一种教学模式,可以形式化表示为Chain(P,N,T,E,V),其中P为培养方案保证,N为教学环境,通常指电子教室、网络等,T是“边讲边练,讲练结合”的教学方法,E为教学案例,及教师讲练所用的素材。链式教学模式把教师的教和学生的学以每个知识点或单元为环节层层紧扣,以教师教为纵环,学为横环,形成完整的技术知识链,从根本上改变以往学生参与不积极、动手实践少,教学脱节的弊端。这种教学模式在当下非常著名的职前培训公司和大型软件公司的员工培训中所用较多,如传智博客、东软睿道等。我校自升入本科院校后以技术立校应用为本的办学方略,传承了优良的教学方针和教学方法,其中蔡德泰教学方法的思想核心正是“边讲边练,讲练结合”,改变传统教师满堂灌为师生间基于案例的信息交流和合作学习,并以新技术渗入提高学生学习兴趣和积极性,培养学生自主学习的创新思维和软件工程能力。

3.2 链式教学模式在软件综合实践课程的实施

(1)综合实践课程的结构搭建

本课程以项目或案例为主线,以新技术学习为手段,以实践动手能力为培养目标来构建本课程的实践体系结构。主要分为几个重要环节。一是开发环境与软件架构的构建,这里涉及到新技术的学习和应用,包括SSH的应用,SpringMVC等框架的学习,也是学生感兴趣的重要环节。二是项目分析与需求分析主要是以普遍一般为原则来选择项目或案例,并进行典型的UML建模,并设计出相应的类图、重要核心对象时序图,并形成典型数据库。第三是根据MVC模式在软件三层架构中构建相应的各自层的功能代码,并进行测试。学生在每个环节中均要清楚所做的工作和实践要点,由于是功能模块单一、实现框架固定,不同的模块结构标准统一,所以学生完全可以各自做自己的事情,但是遇到问题可以互相探讨和交流。

(2)结合职业能力鉴定的要求引入相关知识和技术

上海市职业能力鉴定Java高级程序员是一项国家政府补贴的培训项目,主要注重java类的程序员的动手能力鉴定,其鉴定的要求和标准与本课程的培养目标不谋而合,适时引入该项目的鉴定也是本课程改革的一项重要举措。

(3)边讲边练的教学方法

软件综合实践是集中两周的软件项目实践,如何提高实践效果需要教师采取边讲边练的教学方法,概括起来就是边讲边练、讲练结合,以练代讲的思路。教师以一个典型案例的模式为模板进行讲授,然后布置学生以相似的课题去实现,利用统一的软件架构和实现技术来解决各自不同的问题,更好的解决了学生对项目实践的依赖性、知识点分散、学生记笔记困难、逻辑性较强等难题。老师也避免了频于熟悉各类业务繁琐的项目、疲于奔命又不切要领的指导,同时也可以解决控制学生实践的节奏和项目任务的进展问题。

4.教学效果评价

软件综合实践课程不仅培养学生综合实践动手的能力,而且本课程依据上海市职业能力鉴定Java高级程序员的标准鼓励学生参与该项目的职业鉴定,学生学习兴趣和动力使然。本课程经过数次实践和操作,规范了实践教学的管理,健全了实践教学的考核,优化了综合能力、知识应用能力和创新能力的培养,学生鉴定职业资格的通过率保持在90%以上。

参考文献:

[1]王宗亮.基于开源框架软件开发的链式教学模式设计与实践,广东水利电力职业技术学院学报 2013(11)

[2]厉小军,谢波.软件工程实践课程教学改革探索[J].计算机教育. 2012(03)