当前位置:首考文秘网>范文大全 > 教学设计 > 基于Struts2+Spring+Hibernate框架的网上评教系统的设计与实现

基于Struts2+Spring+Hibernate框架的网上评教系统的设计与实现

时间:2023-06-26 10:50:04 教学设计 来源:网友投稿

摘要:教师评价是教育教学评价的重要组成部分,其目的在于促进教师专业技能的发展和管理能力的提高。该文着重介绍了基于利用Struts2、Spring以及Hibernate框架技术的网上评教系统的设计与实现方法。

关键词:Struts2;Spring;Hibernate;网上评教系统

The Design and Realization of Networks Teaching Evaluation System on the Basis of "Struts2+Spring+Hibernate" Sketches

SHI Rong, ZHANG Wei

(Schoo of Information Technology, JiangNan University, Wuxi 214122, China)

Abstract: The evaluation of teachers which is one important part of teaching evaluations, aims at the promoting and improving teachers’ professional skills and management competence. This paper gives an introduction of the design and realization of networks teaching evaluation system on the basis of “Struts2+Spring+Hibernate” sketches.

Key words: Struts2; Spring; Hibernate; networks teaching evaluation system

近几年,随着学校招生规模,在校生人数大幅增加,许多教师跨校区、跨系兼课已成必然趋势。在这种形势下,教学质量还能否保障已成为焦点问题。尽管教学质量的监控方法多种多样,但随着计算机与网络技术的迅猛发展,其中网上评教已经成为许多学校评价教师教育教学质量的重要手段之一。而传统的评价模式存在很多问题,比如耗时长、耗费多、准确性不高等。本文提出了一种基于Struts2+Spring+Hibernate框架的网上评教系统的解决方案。该框架的引用将整个系统分为表现层、业务处理层、数据持久层和数据库层,实现了程序的松耦合,达到了代码的合理分离,从而提高系统的运行效率和可维护性,以适应现代化的学校管理。

1 网上评教系统的分析

1.1 系统设计目的

做到界面简洁、美观,操作简单、安全可靠。方便学生评教,系部、老师察看结果,教务处、学生处浏览、统计、汇总,校长室综合研究分析情况。

1.2 系统结构分析

系统的结构模块如图1所示。本系统主要包括四个模块:系统管理模块、系部评教管理及浏览模块、教师评教及浏览模块和学生评教模块。不管是什么级别的用户要想进入此评教系统,必须先登录。登录人员的级别不同,分别有系统管理员级别、系部级别、教师级别和学生级别4种。根据登陆人员级别的不同。进入到不同登陆界面,进行不同的操作,具体功能可以参看图1的功能模块图。

1.2.1 管理员操作模块

管理员主要负责对系统以及系统的使用者的各项资料及权限进行设置。如对管理员、系部、教师、学生的基本信息以及课程、班级的基本信息进行添加、删除、级别设置。增加删除系统的用户、设置用户的操作权限等。为了分清功能界限,防止权力过度,在这里管理员不可以直接参与评教信息处理。

1.2.2 系部浏览模块

各系或部根据从管理员处获得的用户名和初始密码进行登录,可以修改密码。并根据需要发起相关评教过程,并对属于自己的当前评教内容进行管理,评教结束后可对评教结果进行相关的统计与后期处理(导出与打印等)。同时可查询本系/部任课教师在某学期各门课程的教学测评结果以及本系/部班主任老师管理某个班级的教育测评结果。在此模块中为了加快评教内容的生成效率,各系部可以按照日常评教的要求事先设置好评教模板以实现重用。当发起新的评议活动后,系部应该生成可以参与此项评议活动的评议号,实现一人一号参与投票,不可多投也不可交叉投票。

1.2.3 教师浏览模块

教师根据自己的工号和从管理员处获得的初始密码登录,可以修改自己的密码,查询自己所教班级的学生对自己该门课程的打分情况及意见并可将结果打印或导出以供分析。同时,教师自己也可以参与相关的系部发起的和教师相关的互评活动。为了防止教师多次及交叉投票,规定必须输入相关的评议号码才可以参与投票。

1.2.4 学生评教模块

学生以自己的学号和初始密码进行登录,初始密码为自己的学号后六位,初次登陆后系统提示修改初始密码,为班主任老师以及本学期的任课教师打分和书写建议。为了增加系统的安全性,这里不允许学生查询以往的评教活动。同时,为了防止学生多次及交叉投票,规定必须输入相关的评议号码才可以参与投票。

2 网上评教系统的技术特点

2.1 MVC模式简介

传统的Web开发模式大都将页面显示和数据处理等功能耦合在页面代码中,增强了系统的业务逻辑和页面显示的耦合度,不利于系统的维护和扩展。MVC(model—view-controller)即为解决这一问题而提出的设计模式,其核心思想是:将程序分成相对独立,而又能协同工作的3个部分,即模型、视图和控制器。模型表示应用程序的业务逻辑,是应用程序的核心,它包含完成任务所需要的所有数据和行为,并把要显示的数据提供给视图。视图是用户看到并与之交互的界面,是应用程序的外在表现。控制器则负责处理用户输入:并将模型映射到视图中。MVC设计模式利用控制器分离模型和视图,达到层间松散耦合的效果,从而提高系统可扩展性和可维护性。

2.2 基于Struts2+Spring+Hibernate Web整合框架

2.2.1 Struts2框架技术

Struts2来源于Struts1,Struts1曾经是Web开发技术中运用最广泛的开源框架。Struts2是整合了Struts1和WebWork两种主流Web框架后形成的新一代Web框架。Struts2框架具有组件的模块化、灵活性和重用性的优点,同时简化了基于MVC的Web应用程序的开发。Struts2框架的核心是一个MVC风格的控制器,Struts2控制器搭起了Model和View之间的桥梁。Struts2是一个“隐藏支柱”的集合,可以帮助开发人员将分散的材料如数据库和页面,结合成一个整体的应用程序。

2.2.2 Spring框架技术

Spring是一个解决了许多在J2EE开发中常见问题的强大开源框架。它提供了管理业务对象的一致方法并且鼓励对接口编程而不是对类编程的良好习惯。Spring通过IoC依赖注入、AOP应用、面向接口编程,来降低业务组件之间的耦合度,增强系统扩展性。Spring由一系列模块组成,如反转控制容器、面向方面、MVC模型、持久层、数据访问对象和远程调用。这一系列的模块之间相互关联很少,有些模块可以独立使用。开发人员可以选择一个模块、一些模块,或者更多的Spring模块进行开发。

2.2.3 Hibernate技术

Hibernate框架是一个优秀的、开源的、面向Java平台的对象/关系数据库映射工具,它既可以用来在Java应用程序中取代大部分JDBC代码,也可以整合到J2EE系统中作为持久层框架。Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。作为一种新的ORM映射工具,Hibernate不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,使用Hibernate可以大大减少操作数据库的工作量。

2.2.4 Struts2+Spring+Hibernate框架在Web应用中各自的侧重点

Struts2注重表现和逻辑耦合的降低,主要把业务逻辑层和表现层分开,并不涉及业务层与持久层的关联。Spring主要是对业务层的层次细化,即更深层次的降低了耦合程度。它利用延时注入思想组装代码,提高系统的扩展性和灵活性,并通过Spring AOP模块实现集中式业务处理,减少代码重用。Hibernate主要负责Java对相和关系数据库之间的映射,其本质上是一个提供数据库服务的中间件,利用数据库以及一些配置文件如hibemate properties、XML Mapping等为应用程序提供数据持久服务。所采用的整合框架正结合了3个框架各自的特点及Web应用分层思想,并为Web应用各层都提供了相应的整合策略。整合框架以Spring框架为核心,向下整合Hibemate进行持久层访问,向上整合Struts2使用MVC模式控制,可以清晰划分应用的层次。同时采用依赖注入思想,极大降低了层间耦合。并通过XML配置文件装配组件,使各模块之间的调用从代码中分离出来,从而降低了系统各层的耦合度,易于维护和扩展。此整合框架已经广泛应用到相关行业中。

3 网上评教系统的技术难点

3.1 随机评议号的生成

采用随机评议号的目的一是可以实现无记名投票,即使是评教组织者和软件编制者也不知道哪个评议号是哪一个学生的。二是防止别人用自己的号进行评议。用无规律的号的目的就是防止作弊和恶意捣乱,也就是每个学生只有自己知道评议号,而不容易知道其他任何一个学生的号,甚至还不容易推测出别人评议号,从而使得网上评议得以有序进行。

利用随机函数生成学生评议号的代码片段如下:

int[] arr = new int[10];

for (int i = 0; i < 10; i++) {

arr[i] = (int) (Math.random() * 40) + 1;

for (int j = 0; j < i; j++){

if (arr[j] == arr[i]){

i--;

break;

}}}

for (int i = 0; i < 10; i++)

System.out.print(arr[i] + " ");

3.2 统计模块的实现

统计模块是整个评教系统中最为复杂的部分。评教的目的就是为了能够发掘教师在教学过程的优点与不足之处,评教是手段,而结果的分析才是目的。统计模块提供了整个系统的最为有用的数据分析功能与展示功能。统计模块中,在服务器端直接生成图片的又不美观又缺乏互动性,而在客户端用JavaScript生成的图片还是稍欠美感和互动性,所以最好看又最互动的报表方案应该是Flash报表方案了。

在FlashChart方案中,Amcharts,FusionChart与OFC三足而立,三者有不同的license策略,美观功能也略有不同,这里我们采用了Amcharts方案。

在报表实现过程中,无论使用哪一种方案其实形式上都差不多,主要技术就是采用静态的配置文件和flash文件+动态的数据文件(XML格式,JSON格式)。

3.3 数据导出模块的实现

任何一种基于网络的应用系统,最后可能都需要将结果导出为在windows常用的数据格式,例如word、excel、pdf等。为了增加系统的能用性,对于每次的统计结果,我们都要求能够导出为excel文件和word文件。为此,我们采用了开源的基于Java和POI方案。

Apache POI可以让我们使用Java来读写MS Excel、Word、PowerPoint文件。下面代码演示了利用POI读取Excel的简单示例。

try{ POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:\test.xls"));

HSSFWorkbook wb = new HSSFWorkbook(fs);

} catch (IOException e) {

e.printStackTrace();}

HSSFSheet sheet = wb.getSheetAt(0);

HSSFRow row = sheet.getRow(0);

HSSFCell cell = row.getCell((short) 0);

String msg = cell.getStringCellValue();

4 结论

网上评教系统解决了跨校区、跨系兼课的教育教学质量监控问题,同时为行政管理部门、广大教师提供了方便。通过研究主流Web开发技术和主流设计框架技术,结合Struts2、Spring和Hibernate架构各自的优点实现了多架构结合的框架开发技术,通过在无锡高等师范学校网上评教中的成功应用,验证了该框架技术的可行性及强大功能。

参考文献:

[1] 马晓燕.建立网上学生评教系统完善课堂教学质量评价体系[J].黑龙江高教研究,2005(6).

[2] 向学哲.JSP程序设计教程[M].北京:人民邮电出版社,2006.

[3] 汪孝宜.JSP数据库开发实例精粹[M].北京:电子工业出版社,2005.

[4] Adriannms P,Zantinge D.Data Mining[M].Harlow,England:Addison-Wesley,1996.

[5] 李莉,于海鹏.基于JSP网上评教系统设计与实现[J].电脑知识与技术,2008(2).

[6] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

[7] 罗时飞.精通Svnng[M].北京:电子工业出版社,2005.

[8] 孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005.

推荐访问:框架 设计 系统 网上 Struts2

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91