Java EE应用开发能力分类培养模式探索与实践
2017-12-07聂艳明张阳刘全中
聂艳明+张阳+刘全中
摘 要:文章基于“Java EE应用开发技术”课程的工程特点(实践性、项目驱动性和知识整合性)、学生的差异化现状和多样性需求以及业界对综合性的Java EE应用软件开发人才的诉求,从课程知识体系、课程群统筹、综合实践、师资以及资源建设等方面对Java EE开发能力分类培养模式进行了探索和实践,力求达到“因材施教”和“因需施教”。自从Java EE应用开发能力分类培养模式实施以来,学生的就业率、就业质量以及课程满意度都得到了较大提升。
关键词:Java EE应用开发技术;分类培养;软件工程
中图分类号:G640 文献标识码:A 文章编号:1002-4107(2017)11-0050-03
一、Java EE应用开发能力培养背景
“Java EE应用开发技术”作为一门高年级专业必修课程,其目的是让学生具备基于Java EE技术进行企业级软件开发的高级专业技能,具有极强的工程实践性;作为教授一种主流的企业级应用开发技术,该课程所涉及技术及其整合的示例需来自更有说服力和针对性的业界第一线项目,具有明显的项目驱动性;课程涉及的基础包括Web页面设计、Java等编程基本技能,数据库、网络、组件及中间件等基本原理,面向对象、设计模式、软件体系结构等基本思想,具有显著的知识整合性。因而,课程教学必须围绕该课程的以上三个特性来进行。
当前Java EE应用开发能力培养仍存在如下问题:(1)由于课程涉及的知识点多但同时规划课时少,很多技术不能讲解,整个知识体系的学习不够完整,于是造成了“讲快点,听不懂;讲慢点,讲不完”的现状;(2)课程的教学理念仍过于局限于Java EE 技术本身,没有在观念上进行“先架构、后编程”的创新;(3)Java EE开发能力培养很难按照语言程序设计类基础课程书本上的案例进行理论和实践的授课,而目前缺乏来源于业界一线应用的综合性的项目以及设计体系;(4)针对具有不同发展规划的高年级学生对于该课程的期望不一(如进入职场和考研深造),教师授课的热情投入与学生学习的冷漠应付(即“一头热”)和计划就业学生的异常期待与规划读研深造学生的无比烦恼(即“部分热”)的矛盾亟待解决。(5)课程教学中授课和实践环节与社会需求还存在鸿沟(即“社会的重实践能力需求与学校的学院气教学方式之间的鸿沟”)。因此,Java EE应用开发的能力培养过程也需要在实践教学体系和师资团队建设等方面进行深入的实质性创新。
二、Java EE应用开发能力培养现状
目前,国内绝大多数示范性软件学院以及其他院校的软件工程专业都开设了“Java应用开发技术”课程。作为IBM精品课程,同济大学软件学院的“J2EE企业级开发”课程在项目实训及代码训练强化等方面颇具特色[1]。哈尔滨理工大学计算机科学与技术学院的谢怡宁等提出了诸如任务驱动等有针对性的“Java应用开发技术”课程教学改革方案[2]。浙江大学城市学院计算机系的陈观林等探讨了“Java应用开发技术”课程教学模式改革的思路[3],提出了采用实例化教学方式和引入课程设计环节以改进教学手段和考核方法。北京石油化工学院经济管理学院的张幸以J2EE 编程实训课程教学改革为例阐述了如何在编程技术的学习中掌握管理知识的方法[4]。滨州学院的冯君将整个教学过程划分为三个大的阶段[5]:夯实基础知识的阶段、培养个人实践动手能力的阶段、培养团队合作能力的阶段。内蒙古工业大学的马志强等通过分析企业对Java EE开发岗位的知识需求[6],裁减了Java EE技术规范,形成了Java核心、Java Web和轻量级框架的三层知识体系;按照“先实践、再理论、后综合”的原则。西北农林科技大学的聂艳明等鉴于“Java应用开发技术”课程具有的工程实践性、项目驱动性和知识整合性[7-8],提出了基于主流开发模型/框架(即经典MVC模型、SSH轻量级框架以及基于EJB的Java EE重量级框架)对比的“Java应用开发技术”课程教学方法。以上关于“Java应用开发技术”课程教学改革的研究,都从某一个或几个侧面进行了有益探索,但缺乏系统性。文献则对高校计算机相关专业人才分类培养进行了有益的探索[9-12],这为Java EE应用开发能力分类培养的探索与实践提供了借鉴。
三、Java EE應用开发能力分类培养探索与实践
自2010年西北农林科技大学开设“Java应用开发技术”课程以来,基于该课程的特点、学生的多样性需求和差异化现状以及社会对Java EE应用软件开发人才的综合性的能力需求,课程组从课程知识体系、课程群统筹、综合实践、师资建设及资源建设等方面对西北农林科技大学的Java EE应用开发能力分类培养模式进行探索和实践,力求达到“因需施教”和“因材施教”目标。
(一)分类型的知识体系
“Java应用开发技术”课程涵盖的知识非常广泛,包括Java语言程序设计、Web设计、数据库原理、计算机网络、OOAD、软件工程、设计模式、中间件技术和软件体系架构等。在Java EE应用开发能力分类培养模式探索与实践中,我们将“Java应用开发技术”课程知识体系主要地划分为可针对不同培养类型(即初级入门型、中级就业型、高级就业型、专业研究型和学术研究型)进行自由组合的几大知识模块,如应用模型、支撑技术、基础MVC(即JSP+Servlet+JavaBean)、轻量框架SSH(即Struts+Spring+Hibernate)、经典Java EE框架(即JSF+EJB+JPA)以及开发技能共七大知识模块,不同培养类型对于上述知识模块的涉及还可以区分为全面掌握、部分了解以及不做涉及(如表1)。
对于一般学生,推荐以基于MVC的Java Web开发基础模型部分为主,辅以其他两个框架的概念介绍;对于稍有基础的,建议重点讲解基于SSH 的轻量级框架部分;对于学有余力的,增加经典Java EE框架部分的内容;对于计划在软件相关学术领域继续深造的学生,则聚焦于如数据库原理等关联知识。endprint
(二)重统筹的课程群组
“Java应用开发技术”课程旨在培养高年级学生综合运用所学基础知识和技能解决基于Java EE的软件开发过程中遇到的实际问题,更强调相关知识的融合。因而,课程教学过程中需与前导基础课程进行密切呼应和系统统筹。西北农林科技大学“Java应用开发技术”课程群是以“Java应用开发技术”课程为主体,包括“Java 语言程序设计”、“数据库原理”、“计算机网络”、“Web程序设计”、“中间件技術”、“面向对象分析与设计”、“软件工程”与“软件测试”等课程,围绕西北农林科技大学Java EE应用开发能力的培养目标,根据当前“Java应用开发技术”课程的教学发展、社会对Java EE人才的能力需求及西北农林科技大学的实际基础和发展需要而构建的关系密切的课程体系。
西北农林科技大学“Java应用开发技术”课程群的各相关课程教学除自身的要求外,重视对Java EE关联知识与技能的强调(如“Java语言程序设计”中的JDBC、“数据库原理”中关系与对象之间的鸿沟、“计算机网络”中的B/S架构和HTTP协议、“Web程序设计”中的超链接和表单、“中间件技术”中的EJB和Corba、“面向对象分析与设计”中的面向对象理念和用例驱动面向对象软件开发范型、“软件工程”和“软件测试”中的面向对象软件相关开发和测试方法等)。“Java应用开发技术”课程教学则采用兼顾知识融合的教学方法,在自身的理论与实践教学环节中注重各相关课程的关联知识点的聚焦和提升。
(三)立体化的综合实践
对于学生Java EE应用开发能力培养,采用立体化、多途径、开放性的综合实践模式,主要方式包括院企联合实训、深入国内实习基地和输出国外实习基地。“以实际业务项目为开发对象、以企业实际运行的RUP剪裁流程为软件项目开发过程、以企业模拟办公场景为开发工作环境”的为期一个月的Java EE院企联合实训,旨在巩固课堂学习的理论知识,构建学生综合软件初步开发能力并加强团队合作意识的培养,进而为学生毕业后顺利适应工作奠定了坚实的基础。为期16周的实践环节提供三种可选的执行方式,即国内企业开发实践、海外企业开发实践和校内教师研究实践。对于稍长周期的实习,学生结合自己的职业规划,可以有选择性地进行不同程度的实战训练。如致力于考研的学生可以选择由院内教师指导的实际训练,毕业后去软件公司的学生可以选择去国内公司或海外企业进行实习。
(四)多渠道的师资建设
为了应对Java EE应用开发能力分类培养模式的实施,师资建设方面遵从“多元化”和“双师型”的基本原则。应对Java EE的多学科知识融合的特性,师资建设上采用课程群组的方式,教学团队中人员具有不同的专业背景、不同的研究方向、不同的特长,为Java EE 应用开发能力分类培养模式的顺利实施提供了丰富的人力资源和基本的师资保障。由于Java EE应用开发技术实践性强,技术更新快,除组成具有水平多层次、领域互补、经历多样的师资队伍外,还派送教师赴企业进行相关实训。与此同时,引入国内软件开发和培训企业、海外软件开发企业等外方师资进行充实。
(五)支撑性的资源建设
为了有力支撑Java EE应用开发能力分类培养模式的有效实施,我们从教材组织编写、基本课程资源和辅助教学资源建设等方面进行建设,已获批2014年陕西省级精品资源课程建设项目——“Java EE技术”。Java EE课题组编著的教材《Java EE开发技术与实践教程》由机械工业出版社“以高等教育规划教材”出版,从三个技术/框架(即基于MVC的Java Web开发基础模型、基于SSH轻量级框架和基于经典Java EE框架)进行内容组织,不同基础的学生可以侧重不同技术方向进行学习。对于一般基础的学生,推荐以基于MVC的Java Web开发基础模型部分为主,辅以介绍其他两个框架的概念;对于稍有一点基础的,建议重点讲解基于SSH 的轻量级框架部分;对于学有余力的,作为挑战增加经典Java EE框架部分的内容。结合不同专业的实际情况,针对Java EE中的三种技术路线,选择适合本专业的某种技术路线为主,其他两个技术路线为辅,进行有重点的讲授课程。对于每章的实验,学生可以选用采用三种技术路线之一的实现,不同专业的学生选择适合自己专业的技术路线完成每次实验。考试过程中,设置每一个考题时,要考虑不同专业学生的实际情况,让学生灵活地选择适合本专业的技术路线完成考试。另外,提供微课/微视频,覆盖课程重点、难点以及未涉及但相对较为重要的内容,力求对课堂授课进行补充。
四、总结与展望
基于该课程特点(即工程实践性、项目驱动性和知识整合性)、学生差异化现状和多样性需求(即就业型和学术型)及社会对综合性Java EE应用软件开发人才的诉求,课程组从课程知识体系、教学运行、综合实践、师资建设、资源建设以及课程群统筹等方面对我院的Java EE应用开发能力分类培养模式进行探索和实践,力求达到“因需施教”和“因材施教”。自从实施Java EE应用开发能力分类培养模式以来,学生的就业率和就业质量都得到大幅度提高,学生对课程的满意度也逐年上升,并一致认为“Java应用开发技术”课程对求职及考研帮助都很大。同时,通过探索与实践Java EE应用开发能力分类培养模式,课组教学改革方面的研究能力也得到了极大提升。
参考文献:
[1]同济大学软件学院.IBM精品课程——J2EE企业级开发[EB/OL].[0000-00-00].http://sse.tongji.edu.cn/j2ee/,2008.
[2]谢怡宁,罗智勇,王莉莉.J2EE课程教学改革的探索与实践[J].江苏教育学院学报:自然科学版,2010,(1).
[3]陈观林,翁文勇.《J2EE架构与应用开发》课程的教学改革与实践[J].计算机时代,2008,(4).
[4]张幸.应用型本科信息管理专业基于J2EE编程实训的探索[C]//第十一届全国经济管理院校工业技术学研究会,西安:2012-09-27.
[5]冯君.基于三阶段教学模式的Java EE框架技术教学改革[J].大学教育,2013,(17).
[6]马志强,李雷孝,邢红梅等.Java EE软件开发方向知识体系的研究与构建[J].内蒙古农业大学学报:社会科学版,2014,(4).
[7]聂艳明,刘全中,李宏利等.基于开发模型对比的Java EE课程教学方法研究[J].中国信息技术教育,2015,(18).
[8]李宏利,聂艳明,邹青.“Java EE技术”课程教学改革探究[J].黑龙江教育:高教研究与评估,2015,(10).
[9]马金岭.地方高师院校实施人才分类培养模式探析[J].郑州大学学报:哲学社会科学版,2010,(5).
[10]王潜平,殷兆麟.计算机专业人才分类培养与语言教学改革思考[J].合肥工业大学学报:社会科学版,2008,(5).
[11]任荣,保文星,杨春野.软件工程特色专业建设及人才分类培养模式创新与实践[J].教育教学论坛,2014,(32).
[12]吴长增,许志红,鞠志宇.本科人才分类培养模式的构建与实践[J].创新与创业教育,2015,(6).endprint