JavaWeb项目整合开发渐近式教学探索与实施

2016-10-25 15:59张宜浩涂飞刘小洋
软件工程 2016年8期

张宜浩 涂飞 刘小洋

摘 要:本文针对学生在软件开发过程中对设计模式和SSH等技术应用混乱的情况,提出了渐近式的项目整合开发教学探索。让学生自主地发现问题,并思考解决方案,再给合软件工程师在解决此类问题应用的成熟技术,使同学们对软件开发模式和开发过程中涉及的SSH等技术有一个更系统和深刻的认识。综合近两年的教学评价和考核结果,表明该教学方案对改进学生的学习效果有十分积极有效的作用。

关键词:Java Web项目;项目整合;渐近式教学

中图分类号:TP312 文献标识码:A

Abstract:According to the case that many students fell confusion in the application of design patterns and SSH technology in the software development process,we proposed an incremental teaching method in the project integration and development.Its teaching idea is that let the students to identify the problems independently and think about the solutions to the problem,and then we provided a mature technologies that most software engineers used for the problem,so that the students can have a more systematic and profound understanding to software development model and SSH technology in development process.By the teaching evaluation and examination results in the past two years,which indicates that our teaching program has a very positive effect in improving students learning outcomes.

Keywords:Java Web project;project integration;incremental teaching

1 引言(Introduction)

Java Web整合开发是当前最流行的软件项目开发技术,在高校计算机类专业,是最受学生欢迎的专业核心课程之一。随着Web开发技术和设计模式的发展和变化,一些新技术的引入有效地提高了项目开发的效率和可维护性[1],但过多的Java开发技术亦让入门者感觉无所适从。从基于Java的Web应用模型发展过程看,其经历了从Applet、RMI、JavaBeans到EJB、Servlet、JSP的完善过程[2],这些技术的应用大大提高了系统的开发效率,但对于计算机类专业的大学生来说,由于缺乏足够的项目经验和对新技术的深入理解和体会,导致大多数学生在项目开发中对设计模式的选择和技术的引入异常混乱。本文提出一种基于Java Web项目整合开发的渐近式教学实践,通过对教学课堂的学生评教和考核成绩的反馈来看,该教学方法加深了学生对Web设计模式和开发技术的理解,且极大地提高了学生的学习效果。

2 Java Web软件开发教学现状(The teaching

situation of Java Web software development)

翻阅关于《Java Web软件开发技术》的教材和教学大纲,我们发现绝大多数教材和大纲都是从Jsp基础、Servlet技术、JavaBean应用、JDBC技术、Struts框架等方面对Web软件开发涉及的知识和技术逐一进行讲解[3],课程结束之后,学生似乎对上述知识点都有着比较熟练的掌握和理解,但对于项目开发过程中,为什么应用这些技术(如实体类、数据访问对象DAO、业务逻辑Service层、SSH技术),及如何充分利用现有成熟技术提高开发效率非常困惑,甚至持怀疑的态度。究其原因,就是对软件项目架构整合的历史发展过程不清楚,对软件开发过程中遇到的困境和问题理解不清、对软件工程师解决问题对策理解不清。

3 渐近式案例开发思路(The process of incremental

case development)

本课程按照“J2EE项目整合的架构历史”这一脉络对Web软件开发技术进行讲解,让学生更熟练地掌握各种Java开发技术,并清晰地认识引入这些技术在Web整合开发中解决的问题。图1是根据J2EE项目整合的架构历史构建的渐近式软件项目开发流程。

(1)选择一个软件项目案例(如用户注册),构建基于JSP+DB的两层架构系统。

(2)根据面向对象的思想,在第(1)步的基础上,增加抽象的实体类(Entity),图2是系统的UML序列图。

(3)在第(2)步的基础上,业务逻辑(Service层),构建三层架构的系统。

(4)在第(3)步的基础上,引入Hibernate技术,实现对数据的操作。

(5)在第(4)步的基础上,加入DAO层和DAO_Impl实现层构建N层架构系统。

(6)在第(5)步的基础上,引用Struts技术,实现MVC控制。

(7)在第(6)步的基础上,引入Spring技术,实现对业务对象的管理。

4 课程考核与成效(Curriculum evaluation and

performance)

课程的考核采用考勤、阶段性考核和综合项目考核想结合的方式进行[4]。

考勤主要以点名和学生在课程上的互动情况为依据,占总成绩的20%。

阶段性考核成绩占总成绩的30%,主要考查学生四个方面的知识和能力:

(1)考核学生对JDBC、JavaBeans及servlet等知识的掌握和运用能力。

(2)考核学生对Hibernate技术中的Configuration类、配置文件、注释、关联关系映射等知识,及应用Hibernate技术实现系统数据持久化操作的能力。

(3)考核学生对Strut2技术的掌握,及利用Strut2实现对系统中页面逻辑及跳转的控制、输入校验开发等。

(4)重点考核学生对Spring中Bean属性的配置和依赖关系等技术的掌握,及利用Spring技术对业务对象进行管理整合的能力。

综合项目成绩占总成绩的50%,考核学生对整个课程知识的融会贯通,从项目选择、功能需求规划、系统设计、开发过程,以及代码编写的规范化等方面进行考核,主要以答辩为主。评分标准如表1所示。

5 结论(Conclusion)

Java Web整合开发是高校计算机类专业的核心课程,针对学生在软件开发过程中对设计模式和SSH等技术应用混乱的情况,提出了渐近式的项目整合开发教学探索。通过软件项目开发实践,让学生体会面向对象编程、软件系统分层、Hibernate、Struts、Spring等每一项技术给软件系统开发带来的便利。通过让学生自主地发现问题,并思考解决方案,再结合软件工程师在解决此类问题应用的成熟技术这一渐近

式启发教学思路,使同学们对软件开发模式和开发过程中涉及的SSH等技术有一个更系统和深刻的认识,以便在开发过程中更灵活应用。

参考文献(References)

[1] Zavala-Romero O,et al.An open source Java web application to build self-contained web GIS sites [J].Environmental Modelling & Software,2014,62:210-220.

[2] Meng J C,Shi C D,Luo L M.Performance Optimization of Teaching Web Application Based SSH Framework[C].Proceedings of the 2015 International Conference on Software Engineering and Information Technology,2015:93.

[3] Ma D M,Yao L,Xue H D.A Web-Based Groundwater Management Information System[C].Applied Mechanics and Materials.Trans Tech Publications,2015,737:688-691.

[4] 王艳,马佳琳.CDIO理念在《Web程序设计》课程中的应用与实践[J].软件工程,2016,19(2): 50-51.

作者简介:

张宜浩(1982-),男,博士,讲师.研究领域:机器学习,推荐系统.

涂 飞(1979-),男,博士,讲师.研究领域:服务计算,软件工程.

刘小洋(1980-),男,博士,副教授.研究领域:无线通信,计算机应用.