APP下载

Java在线学习平台的设计与实现

2016-08-13许航王东来

科技资讯 2016年5期

许航 王东来

摘 要:该文根据Java语言教学的特点,设计了一种基于SSH框架的Java在线学习平台。旨在为学生构建一种全新的学习方式,提供一种不受时空约束的学习环境,系统采用B/S模式,为学生提供在线编程练习环境,在线编辑环境,编译检错功能。学生借助在线学习平台可以进行Java知识的在线练习、在线复习、技术沟通和知识共享,从而成为传统课堂教学有力补充。

关键词:在线学习平台 在线编译 在线练习

中图分类号:G71 文献标识码:A 文章编号:1672-3791(2016)02(b)-0015-02

信息技术的变革正逐渐改变学生的学习方式, 高校学生是接收新知识新技术最活跃的群体,传统的课程教学网站只是把教学的各种资源放在网络上,学生自主学习,对于学习的效果是否有促进作用,并没有明显的表现出来。为了更好地辅助课堂教学,提高学生学习的积极性,将学习与生活融合为一体,使学生更好地获得知识,开发一套移动学习系统势在必行。

Java语言的学习不仅要掌握一定的基本理论知识,还要强化实际的编程训练,只有通过大量的编程训练才能掌握这门编程语言并运用到实际应用开发中去。开发基于Web技术的Java在线学习平台的主要目的是改变学生的学习习惯和学习兴趣,开拓学生学习环境,改变以往学生学习编程语言必须使用台式电脑或笔记本的学习方式,学生只要有能上网的访问终端(台式机,笔记本、平板电脑、手机)就可以在有网情况下进行在线学习,改善课程教学网站教学资源的利用率。

该文针对Java语言的教学实际设计了Java在线学习的教学辅助系统。实现了课堂教学与编程实践相结合、传统教学与在线学习相结合,通过在线学习平台能够有效地补充学生课堂学习的不足,提高学生学习技术、应用技术的能力。

1 学习平台总体设计

常规的应用系统主要有两个方面的功能,一个是面对用户访问的功能,一个是面对管理员进行管理的功能。该在线学习平台系统也由两部分功能构成:面向学生用户的Java在线学习平台和面向教师或管理员用户的系统后台管理中心。

Java在线学习平台主要为学生提供媒体学习、试题练习、程序训练、作业系统、学情反馈以及信息管理六个功能模块,如图1所示。

系统后台管理中心由学生管理、课程管理、作业管理、题库管理、学情反馈以及信息管理模块组成,如图2所示。

2 学习平台框架设计

该文所述的Java在线学习平台在设计和实现过程中采用了目前业界流行的JavaEE轻量级解决方案:SSH(struts+spring+

hibernate)框架,其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和Hibernate。通过使用SSH框架不仅可以大幅度降低开发难度和工作量,还可使应用系统在灵活性、适应性和稳定性方面有良好的表现。

根据目前的技术发展,在系统开发过程中主要采用XHTML、CSS、JQuery、和Jsp五种页面设计技术来完成网页的设计和布局;同时采用最新版Eclipse IDE for Java EE Developers作为集成开发环境;采用Tomcat应用服务器作为系统的运行平台,保证了学习平台在不同的终端下都能在线访问。

3 系统功能设计

3.1 用户管理模块设计

用户管理模块主要用于设定用户的权限,该系统根据实际需求将用户分为学生、教师(系统管理员)两种。教师(系统管理员)从系统后台管理中心登录,学生则从Java在线学习平台登录。因此,用户管理模块主要包括用户登录和用户信息管理功能。

3.2 媒体学习环境模块设计

媒体学习环境模块由基础学习资料模块、训练及测试模块和深入学习模块构成。基础学习资料模块包括在教学大纲和教学课件基础上,结合各类经典的Java书籍、教程和网络资料,经过重新编辑形成的电子书以及经典代码分析功能构成;训练和测试模块由学情测试、试题训练和编程题链接功能构成;深入学习模块提供的是网络资源链接,由各类社区资料链接和优秀的博客链接构成。

3.3 试题练习环境模块设计

试题练习环境涉及试题资源管理和试题练习两大模块。试题资源管理模块位于系统后台管理中心,教师可进行试题录入、归类、编辑等操作;试题练习模块位于Java学习平台系统中,由试题练习和作业系统构成。

试题练习由成卷练习、组卷练習和专项训练构成,试题以单选、多选、判断等客观题为主,作业系统由单选、多选、判断、编程训练、解答题构成。其中编程训练、解答题的解答通过网页链接的形式呈现。

3.4 程序训练环境模块设计

程序训练环境实现的主要目的是能够在线编辑并运行Java代码,本功能是通过后台代码在应用服务器实现的。主要由Java源程序编译检错、逻辑检错、前台编辑环境和类结构分析四部分构成。

(1)Java源程序动态编译功能的实现。

该文采用从内存中动态编译程序实现Java的动态编译。JavaCompiler接口可以编译内存中的Java代码然后使用reflection运行编译后的Java代码,整个过程都在内存中进行。

(2)在线编译Java代码功能的实现。

为了能够在线编译、加载并运行Java源程序,该系统采取的实现方法是应用程序接受数据,编辑源代码生成.java文件并保存到硬盘上,然后调用API执行编译操作生成.class文件,最后通过JVM 各级classloader调用完成加载操作并运行。

详细的实现流程如下。

①服务器端应用程序接受客户端传来的数据并与生成Test.java文件。

②创建JavaCompiler对象javaCompiler来得到当前系统的编译器。

③获取一个文件管理器,使文件管理器与文件连接起来。

④创建编译任务对象Task,并执行编译操作任务。

⑤最后运行编译后的程序。

(3)Java程序编译检测功能的实现。

对Java源代码进行编译检测一般通过四个步骤实现:服務器端应用程序接受程序数据→将接受的数据生成.java文件→创建进程并动态编辑已生成的文件→结果反馈。

(4)Java程序逻辑检测功能的实现。

Java源程序逻辑检测是一个复杂的过程。服务器应用程序首先接收Java源程序并执行逻辑检错操作。如果源程序顺利通过编译检测,服务器应用程序为了能对其进行用例测试,需要对源代码中的输入输出接口进行接管。输入输出接口接管工作是为了满足测试用例模块的运行需要,将源程序中可能存在的键盘输出类System.Out和输入类System.In类分别转换成类Java.io.FileOutputStream和类Java.io.FileInputStream。在完成输入输出接管工作后,还需要对其进行安全性检测,主要是判断程序中是否存在死循环等影响系统安全的因素。随后系统才能对源代码功能进行用例测试。用例测试是逻辑检测模块中最重要的组成部分,系统应用程序通过用例检测模块和数据库进行交互,进而判断程序的逻辑正确性。最后向客户端反馈测试结果。

3.5 学情反馈的设计与实现

在学生使用Java在线学习平台时,系统会收集学生使用系统产生的数据,并对釆集的数据进行抽样、统计等处理,最后将结果以不同的形式反馈给用户,进而实现对学生学习情况较为准确的评估。

教师可以在系统后台管理中心查看反馈结果,可以得到学生的学习进度、学习问题反馈、作业完成情况以及课后试题测试的结果。

学生可以登录Java在线学习平台查看反馈结果,可以查看自己的媒体学习进度、自己未完成的课程内容、成绩排名、知识结构完整度评估等信息。

4 结语

该文在结合当前Java语言课程教学现状和对业界相关工作岗位对Java技术的需求分析基础上,设计实现了Java在线学习平台。一门编程技术的学习,非实践不能得也!通过本平台可以强化教师Java语言课程的教学效果,有效提高学生学习Java技术的效率。

参考文献

[1] 吴元君.基于Android的移动学习平台开发与实现[J].滁州学院学报,2015(2):59-62.

[2] 卢冶.基于Android的Java程序设计移动学习平台[J].计算机教育,2014(11):60-64.

[3] 牛雪莲.基于Android的英语听力移动学习平台设计与实现[J].自动化与仪器仪表,2016(2):41-42.

[4] 武玉坤.基于Android移动学习平台的设计[J].计算机光盘软件与应用,2013(1):20-21.

[5] 李海峰.基于HTML5+jQueryMobile的移动学习平台WebApp研究与实现[J].信息通信,2014(5):84-85.

[6] 郑巍.基于HTML5的课程资源管理移动网站的设计[D].大连理工大学,2014.

[7] 尤丹妹.基于移动平台的学习资源设计与开发[J].微型机与应用,2015(7):83-85.

[8] 张林衡.虚拟学习社区的设计与实现[D].北京交通大学,2014.

[9] 杨博.网络教学平台的设计与实现[D].吉林大学,2014.