基于JAVAEE的开源框架类课程整合教学方法探索
2014-07-25张淑丽姚登举车楠
张淑丽+姚登举+车楠
摘要:在软件工程专业的教学中存在多门开源框架类课程,根据开源框架类课程的特点,针对软件学院开源框架类课程教学中存在的“理论与实践脱离、教学内容重复、教学案例在课程之间缺少联系”的问题,提出了开源框架类课程的整合教学方法,取得了“厚基础、强实践、重应用”的教学效果。
关键词:JAVAEE;开源框架;教学方法;软件工程
中图分类号:G642.0文献标识码:A文章编号:1002-4107(2014)06-0017-02
自从JAVA语言诞生以来,就受到了面向对象编程者的追捧,无疑JAVA是最受欢迎的程序设计语言之一。基于JAVA语言的软件开发框架也是比较多的,据TIBCO的数据统计,现在基于JAVA的开源框架就有上百种,而且在不同的企业内部,还有自己的开发框架[1]。基于JAVA语言进行软件项目开发,一般都是基于某一个或几个框架来进行的。在软件工程专业中,为了更加贴近项目实践,培养卓越的软件工程师,许多软件学院也相继开设了一些开源框架类的课程。
一、开源框架类课程的特点
在软件工程专业的软件开发技术JAVAEE方向,一般会设置以STRUTS、SPRING和HEBERNATE为基础的三大框架类的课程:基于MVC的WEB开发、ORM框架原理与应用和轻量级J2EE框架SPRING。在其他的专业方向中还有一些开源框架类课程,例如:Android平台移动云计算开发、Linux内核与Andriod架构分析与实践等。开源框架类课程主要具有以下三方面的特点。
(一)具有程序设计语言基础
框架都是在特定的程序设计语言当中去应用的,基于JAVAEE的开源框架都是以JAVA语言为基础的,那就要求学生一定要具有扎实的程序设计语言基础,对于JAVA要有深入的学习。
(二)遵守框架设定的规则
任何一个程序设计语言本身都是非常灵活的,设计者可以根据自己的想法进行程序的设计,但是基于框架进行程序开发,就必须要按照框架所设定的规则进行代码的编写。
(三)框架的开源性
因为JAVA是一种开源的程序设计语言,因此基于JAVAEE的软件开发框架一般也都是开源的,这也就意味着学生在学习的过程中,可以直接阅读框架的源代码,当然阅读框架的完整源代码是不太可能的,这就需要教师在教学的过程中引导学生选择性地阅读一部分,其主要目的是了解框架的设计思想和规范的代码设计风格。
二、开源框架类课程的教学误区
框架类课程在高等院校的教学实践活动当中一直是存在的,从专业基础课到专业方向课。所谓框架可以理解为某一个程序设计的基础或者某一种程序设计的原理、一种程序设计的方法、一种程序设计的思想[2]。程序设计语言多种多样,程序设计的方法也是多样的,但是在这多种多样的程序设计当中,总能够抽取出一些共性来,对于这些共性的东西加以整理,就可以成为一种“框架”,可以在以后的开发当中反复使用。不同的开源框架应采取不同的教学方法,但是在现阶段的课程教学当中主要存在以下三个方面的问题。
(一)理论与实践脱离
开源框架类课程的原理是很重要的,但是原理是抽象的,需要与具体的实际应用相结合,否则学生是很难理解的。但是,由于现在实际教学过程存在的课时不够、教学环境等方面的原因,在教学过程中学生的实践是比较少的,造成理论讲授与实践应用之间脱节。
(二)多个框架类课程教学中的内容重复
各式各样的框架当中也存在一些共同点,这些共同点,在多个框架中出现,实属正常,体现共同点的重要性。但是作为课程教学,这些共同点如果反复来讲解,就会让学生感觉索然无味,毫无新意,从而产生厌学的情绪,教学效果会大大降低。然而,在现阶段的教学活动当中,一般是以一门课程为单位进行教学的,每门课程考虑在本课程内应该完成的教学任务而忽略其他的课程,这就容易造成教学内容的重复。
(三)教学案例在课程之间缺少联系
对于开源框架类课程,在教学的过程中,一般都会介绍一些小的案例,通过案例让学生把本课程的知识点贯穿一下。但是在多门课程之间就缺少这样的一种贯穿,即多个框架都学完了,每个框架都明白,但是把多个框架融合到一起就不会用了。
三、开源框架类课程的整合教学方法
在开源框架类课程的教学当中,要遵守“厚基础、强实践、重应用”的基本原则,首先把握这个框架的核心,要把框架的原理介绍清楚,框架的应用价值、能给程序设计带来什么样的好处,这一点要让学生明白,然后再通过具体的框架实例来向学生具体说明框架的好处,要在具体应用当中来体现[3]。这就需要在某一个专业方向中作宏观把握,对于这些开源框架类的课程作整体规划,统筹安排。
(一)理论与实践的整合
软件工程专业的框架类课程所占的比重是比较大的,包含的科目也比较多,在本课题的研究当中,主要是要以原来的JAVA语言为基础,把基于JAVA语言的三大框架进行教学方法的整合。在这三大框架当中都有JAVA语言实现的框架实例,首先在JAVA语言的教学过程当中,就要向学生介绍框架的起源——重用技术,如何进行代码设计,能够最大限度地提高代码的重用率,这就涉及在程序设计当中的规则与规范,以及为什么会存在这样的规则,规则的好处在哪里,为了更好地实现规则,那就要采用框架。然后在介绍每一个框架原理的时候,都要与某一个具体的框架实例相结合,例如在介绍ORM框架原理与应用的时候,就可以采用HEBERNATE或者IBATIS框架实例。
(二)教学方法的整合
要想显著提升教学效果,首先就应该从教学方法上入手,大学的学习是自主学习,简单来说就是靠学生自己来学习。但是教师在教学的过程中需要告诉学生应该如何来学习,用什么样的方法来学习,这就涉及教学方法的问题。在框架类课程当中,一般是强调框架的原理与框架的应用,在课堂的教学当中主要是讲解框架的原理,在原理的讲解当中可以采用案例教学法或对比教学法,通过具体的案例应用与对比,让学生真实感受到框架在程序设计当中的好处。
(三)教学内容的整合
教学内容在各个框架的教学当中,都是教学的重点,也是该课程的核心。在各个框架当中,都有自己的核心应用,也都有自己的强势所在,同时也不可避免地会与其他的课程在内容上有重叠,这就需要在教学内容上有所侧重和删减。以JAVAEE方向的三大框架为例,基于MVC的WEB开发主要就是讲解MVC的设计模式的优点以及在应用当中如何进行MVC的分层,当然要结合一个具体的框架,例如可以采用STRUTS2,具体采用哪个框架在教学实践活动中,要根据现在软件开发当中哪一个框架应用范围最广泛,流行度最好,同时要结合教学的难度和学生的实践情况来选择一个框架实例。ORM框架原理与应用主要就是讲解对象关系映射。现在的程序设计通常采用面向对象的程序设计方法,但是数据库系统现在采用的还是关系型数据库,所以本课程主要就是讲解对象如何向关系型数据中进行映射,具体采用的框架可以是HEBERNATE,当然也可以是ibaits。
(四)教学案例的整合
在每一个框架的讲解当中,教师都会通过一个具体的案例来进行本课程的知识点和应用点的整合,往往是能够把本课程的知识点整合到一个具体的案例当中。但是在多个框架学习完成之后,学生没有一个框架整体的概念,而且在实际的应用当中,往往也是多个框架整合来应用的,这就需要在多门框架类课程的教学当中,对于教学案例也要进行整合,能够通过一个案例把多门课程的知识点和应用点在一个大的案例当中贯穿进来,并通过对比,让学生形成一个整体的概念,加深框架类课程知识点的理解,提高实际的动手能力。
四、课程整合后的教学效果
在哈尔滨理工大学软件学院软件工程专业,软件开发技术JAVAEE方向的学生数量是最多的,学生的学习愿望还是比较高的。通过开源框架类课程整合教学方法的实施,在2010级学生的学习当中,已经明显提升了学生的学习兴趣,学生在学习当中能够对多个框架进行融会贯通;在实际项目的开发当中,能够灵活地根据项目的特点进行框架的选择。通过收集在教学过程的学生反馈,已经明显地看到整合后教学方法所带来的教学效果,学生对此教学方法表示欢迎。在下一步的研究探索当中,可以把开源框架类课程整合教学方法推广到其他的专业方向当中,以此提升软件学院整体的教学水平和教学效果。
参考文献:
[1]孟大伟,吴秋凤,刘胜辉等.“定制式”培养应用型创新人才的探索与实践[J].中国高教研究,2008,(9).
[2]唐光义,刘胜辉,张淑丽.以工程应用为导向的JAVA教学方法探索[J].计算机教育,2013,(5).
[3]张晓晶,张淑丽,刘胜辉.软件工程专业校企合作“2+1+1”人才培养模式的研究与实践[J].黑龙江教育:高教研究与评估,2013,(3).
收稿日期:2013-09-26
作者简介:张淑丽(1969—),女,黑龙江阿城人,哈尔滨理工大学软件学院副教授,主要从事软件工程教育研究。
基金项目:黑龙江省高等教育教学改革专项项目“基于协同创新的软件学院新型建设模式的研究与实践”(JGZ201201112);
黑龙江省高等教育教学改革项目“省级试点学院新型内部治理结构的构建”(JG2013010310)