浅析个性化网络教学系统设计与实现
论文关键词:SSH;AJAX;B/S模式;网络教学
论文摘要:Internet技术的迅速发展以及学校信息化程度的不断提高,使得网络教育资源日益丰富;基于Internet的教学方式已经深入人心,推动了我国教育改革的进程,改变了人们的学习观念。个性化网络教学系统充分利用网络资源,强调学生自主个性学习,并采用AJAX、Struts、Spring、Hibernate等框架技术,使得项目开发过程简捷、结构清晰,并且系统具备很好的可扩展性和可维护性,提高了软件系统项目的可重用性。
一、网络教学的现状
随着Internet技术的日益普及, 计算机网络教学已成为现代教育技术发展的热点。在网络教学环境下, 可以最大限度地发挥学习者的主动性、积极性, 实现传统教育无法做到的“个性化教育”。但在目前的网络教学中, 以教师为主体的教学模式实质上并没有改变。对网络教学的理解也只是停留在教学手段和教学形式的改变上,同时系统开发一般采用Web技术,不能适应网络发展与内容更新带来的变化。为此我们采用ASSH框架技术研究并设计扩展性良好的网络教学系统,让学生根据自我水平进行个性化的学习,调用各种学习资源,自我设计学习进度直至达到学习目的。
二、系统框架技术
在程序开发时,我们选择已有的优秀架构可以集中精力处理业务逻辑。在开发网络教学系统时,我们选择了当前流行的J2EE Web 应用框架。它整合了AJAX、Struts、Spring、Hibernate4四个架构(简称ASSH 框架)。
AJAX全称为“Asynchronous JavaScript and XML”,在浏览器与 Web 服务器之间使用异步数据传输,这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX 可使因特网应用程序更小、更快、更友好。[1]
Struts中模型是一个Action类,开发者通过其实现商业逻辑。视图是由与Servlet配合工作的一整套JSP定制标签构成,利用它们可以快速建立应用系统的界面。控制器ActionServlet是模型与视图的联系纽带。[2]
Spring提供了轻量级管理业务组件的IoC容器。Spring通过依赖注入机制,可以在运行期间为组件配置所需要的资源,而无需在编写组件代码时指定,从而在相当程度上降低了组件之间的耦合,实现组件的即插即用。[3]
Hibernate实现对关系数据库的对象化。Hibernate不仅能够管理JavaBean(或者称之为POJO)到RDBMS 表的映射,还能够供应用查询和获取数据库中的数据。Hibernate事实上是标准的O/R 映射技术。[4]
三、系统分析与设计
系统基本形式为一个交互式动态网站。用户必须登录后才能访问系统,并且不同身份登录后,所拥有的权限是不同的。用户身份有:教师、管理员和已注册过的学生等。每个身份可以注册多个用户,用户可以操作自己权限内的模块。整个系统划分为网络教学模块、智能推荐模块、网上交流模块、答疑模块、网络测评模块、后台管理模块等。
1.网络教学模块
该模块主要有“课程选择”、“课件阅览”、“视频点播”等部分, 提供相关课程的在线教学内容, 如HTML 网页、PPT电子教案、DOC 教学文档、RM、ASF教学录像等,这部分是网络教学系统的主要部分,学生可以根据自己的需要进行选择性学习。
2.智能推荐模块
学习内容的选择上,系统根据学习历史记录和能力估计,选择学生没有掌握或是没有学习过的教学内容,这些学习内容是与当前学生能力最接近的。在学习内容的组织上,系统将根据对学生估测的能力和学生的认知风格,选择最适合学习者的内容呈现方式。
3.网上交流模块
该模块主要是通过“网络论坛”来实现,给老师和学生提供一个在线交流的平台。学生可以通过网络论坛充分发挥自主权和发言权,对课程的某些主题可以在网上展开讨论,发表各自见解,探讨学习心得、交流学习经验等。对疑难问题将设立专门的网页,分专题进行深入、系统、理性的探讨,为学生提供一个更为广阔的学习平台。同时该模块接受来自各方面对教学的反馈信息,如教学问卷、学习要求及期望等。
4.答疑模块
该模块分为自动答疑和人工答疑两种方式。系统自动答疑是指当学生遇到疑难问题时,通过网络远程提交问题的描述,系统将根据学生提交的问题描述,对问题库和领域知识库进行智能搜索,将对该问题的解答呈现给学生。当没有检索到对该问题的解答时,自动将问题发送到学科教师的留言信箱中,当教师对该问题进行回答后,系统通过发送留言通知该学生。之后,系统将对该问题的解答归纳到领域知识库中,以便其他学生遇到类似问题时,能给予自动应答。人工答疑则是学生将问题直接针对某个老师发送,老师一旦上线给出解答后即反馈给学生。
5.网络测评模块
该模块支持网上自测和正式考试两种类型。学生可以登录后进行网络自测,选择课程及内容进行测试, 可以自己设定章节、题型和难度系数等因素, 然后由系统随机生成测验卷, 自测完成后, 自动阅卷并给出正确答案; 教师以合法身份登录后可以对试题库中试题进行添加、删除、修改,同时通过人工或智能组卷方式, 生成试卷对学生进行在线考试。系统可以自动生成并发布考试试卷, 并且能够对考试结果进行批改、统计和分析。
6.后台管理模块
该模块是网络教学系统中不可缺少的重要组成部分,主要包括:人员管理、课程管理、试题管理、论坛管理、成绩管理等。
四、系统关键技术的实现
1.页面设计
主要采用JSP和部分Servlet定制的标签来表现。为了加强用户体验与交互能力,在网页设计大量采用AJAX技术来实现,如自动完成、在线提示等功能。
2.课程信息录入流程实现
本系统采用ASSH框架进行开发实现,下面以课程信息录入为例阐述系统的实现。在响应新增课程数据页面请求时,通过导入课程管理模块的配置文件struts-course-config.xml来完成业务流程的部署。当点击course_add.jsp上的保存按钮时,将输入数据用set方法存入到courseForm中,然后根据struts-course-config.xml调用courseSave.do进行业务处理。在courseSave.do 中页面数据将从courseForm中读取。courseSave.do执行成功后将显示页面(course_save_success.jsp)。courseSave.do对应的CourseSaveAction在导入课程管理模块的Spring配置文件中指定,也要定义名字为”/coursesave”的受管Bean。同时,CourseSaveAction 使用到CourseService。要使用CourseService,需要在CourseSaveAction 中生成csService 的get、set方法,并且courseContext.xml中对“/courseSave”进行CourseService 的依赖注入。
Spring和Hibernate 从dbContext.xml 中读取和数据库有关的信息。数据库信息包括数据库连接、与数据库结构相对应的映射文件,把它封装在dataSource中。然后将dataSource注入到sessionFactory中,sessionFactory同时还对课程信息表CourseInfo,所对应的映射文件CourseInfo.hbm.xml以及Hibernate相关操作然后将sessionFactory注入到数据访问类CourseInfoDAO中。CourseInfoDAO中是对CourseInfo 表进行保存查询删除等基本数据操作,在CourseContext.xml中需要CourseService进行CourseInfoDAO及其代理的依赖注入。这样做,使得当CourseInfoDAO变化时,只需修改CourseContext.xml 给CourseService 实现新的注入就可以了,由此解除了数据访问层和业务层的紧密耦合。
3.事务控制
为了对系统中的事务进行统一管理和控制,采用了Spring的声明式事务管理机制。声明式事务最大的优点就是不需要通过编程的方式管理事务,只需在配置文件中做相关的事务规则声明(或通过等价的基于标注的方式),便可以将事务规则应用到业务逻辑中。因为事务管理本身就是一个典型的横切逻辑,这正是 AOP 的用武之地。
五、结束语
成功的网络教学平台可以为学习者提供图文音像并茂、丰富多彩的人机交互界面, 让学习者乐于学习,能为学习者提供一个自我发现、自主选择的智能型个性化学习环境,同时创设一个多人在线、互相帮助、协作式学习环境。本文采用框架技术设计的个性化网络教学系统旨在构建一个性能优良、适合网络发展的智能型教学平台。
参考文献:
[1]百度百科.//baike.baidu.com/view/1641.htm.[EB/OL].
[2]孙卫琴.精通Struts:基于MVC 的JavaWeb 设计与开发[M].北京:电子工业出版社,2005:383-403.
[3]罗时飞.精通Spring [M].北京:电子工业出版社, 2005:29-48,191-224,303-309.
[4]孙卫琴.精通Hibernate:Java 对象持久化技术详解[M].北京:电子工业出版社,2005:1-42.
[5]郭锋等.Spring 从入门到精通[M].北京:清华大学出版社.2006(8):10-250.