姜冬洁
摘要:为方便教师对学生上机作业的评价管理,解决作业评价反馈不及时的问题,针对上机操作类课程,结合职业院校上机类作业评价管理的情况,通过对需求和改进方案进行分析,设计并开发一个基于SSH三层架构的多元作业评价平台,采用MVC模式,以MySQL为系统后台数据库,使用tomcat为Web服务器,使用MyEclipse开发工具及JAVA语言开发。该平台打破传统师对生单向评价的局限,实现师-生-生使用各种终端设备随时随地互动互评,经理论设计和试验表明,该平台是可行和有效的。
关键词:三层架构; 作业评价; SSH; 多元; 有效性
中图分类号:TP311.13 文献标识码:A 文章编号:1009-3044(2018)12-0055-04
Abstract:In order to facilitate evaluation management for students' assignments, to solve the job evaluation feedback problems for courses operating on computers, by combining with the actual situation of assignments evaluation in the vocational colleges, this paper analysis the assignments evaluation management requirements and design,design and develope a pluralistic evaluation platform based on SSH three layer architecture,the platform uses MVC mode, MySQL as database system, Tomcat as Web server, MyEclipse as development tools and JAVA language. the platform break the limitations of traditional one-way evaluation of teacher to student, and realizes the interaction among teacher-student-teacher. Theoretic argument and example analysis demonstrate that our scheme is secure and maintain the validity of data.
Key words:three layer architecture; assignments evaluation; SSH framework; pluralistic; validity
1 引言
随着信息化的发展,学生课堂作业的提交形式越来越趋向电子化,对于上机操作类课程,一直以来,课堂作业的提交和评价方式困扰着很多师生,通常教师将学生提交的作业后经U盘拷贝课下评阅,学生不能及时得到反馈,且评价形式非常单一, 只限于教师对学生的单向评价,无论是效率还是效果都无法满足日益发展的信息化教学的需求。因此设计开发一个基于目前流行的SSH架构[1](Struts、Spring、Hibernate)的多元作业评价平台,既实现教师对学生作业的评价,又实现学生间的互评及学生对自己作业的自评,除了学生与教师间的互动外,更强调学生之间的交流互动以及学生对自身的评价,本平台利用编程语言JAVA[2]及MVC模式实现,操作简便、功能性强、通用性强,非常适合各院校上机操作类课程使用。
2 系统需求分析
通过对一些院校进行调研,多数学校缺少完善的作业评价平台,从教学效率及效果出发,教师和学生都需要一个高效的作业评价平台,从使用者的角度分析,作业评价平台由面向学生用户和面向教师用户两个部分组成。
1)学生用例:学生登录后,可以提交作业、评价其他同学作业、查看老师和同学对自己作业的评价以及自我评价。图1是学生用例图。
2)教师用例:教师可以设置及修改学生密码、对学生分组、评价学生作业、分配学生互评任务、查看学生之间的互评结果、成绩统计分析等。图2是教师用例图。
3 系统架构
本文使用SSH框架实现,Struts框架作为表现层,是系统的整体基础架构,负责各层的分离,控制业务跳转、接收请求及显示请求结果,该平台表现层中使用HTML或JSP等页面实现与用户的交互; Spring为业务处理层,通过IOC容器为表现层的交互动作注入相应的业务处理模型和对象数据处理组件;Hibernate 作为数据持久层,对象数据处理(DAO)组件通过Hibernate的对象关系映射与数据库进行交互,并返回处理结果。使用SSH框架,系统中的每一层都以低耦合的方式与其他层通信,实现了视图、控制器与模型的分离,视图变化时,模型不用改动或改动很少,从而可以提高系统的可扩展性和稳定性。图3是SSH架构图。
4 系统功能
平台的功能从使用者的角度可分为两个部分,即面向教师用户的功能及面向学生用户的功能,下面介绍其具体功能。
4.1 面向教师用户的功能
教师在该平台中的角色即是管理者也是普通用户,具体功能如下:
1)用户管理功能:此部分主要是对进入对应课程的学生进行登录验证、对学生密码进行管理等。
2)評价功能:教师可以对学生完成作业的情况进行评价评分。
3)分组管理功能:这是系统的辅助功能,分组教学时,使用该功能对学生进行快速分组。
4)评价管理功能:学生不仅要完成作业任务,还要完成评价他人的任务,该模块为学生分配评价任务、对每个学生得到的评价进行统计分析、对学生的评论评价进行审核等。
5)课程管理功能:学期初,课程负责教师可以添加课程,生成班级,设置作业成绩的配分规则等。
6)统计分析成绩:该功能有两个主要目的,一是根据学生每次作业的成绩,得知学生对课程内容的掌握程度;二是根据学生每次的作业的成绩,统计出该名学生一学期的作业成绩。
7)清空访客IP功能:随着系统访问量的增加 ,会占用大量后台主机的缓存,因此需及时地清空历史访问者的IP 。
8)数据库备份与恢复功能:数据库中存放所有学生的作业及评价的数据信息,因此可靠性至关重要,因此需及时地备份数据库。
4.2 面向学生用户的功能
1)上传作业功能:学生登录系统,进入相应课程后,所具有的最基本的功能。
2)评价其他同学作业功能:这是学生拥有的一个重要的功能。学生提交的作业是不共享的,教师会随机分配哪些学生作为另一些学生的评价者,并授予评价者评价的权限,此功能设计的初衷是通过学生间的互评[3],创造一个互相学习的空间,也为学生的自主学习创造更多参与的机会。
3)查看评价功能:学生可以查看教师及其他同学对自己本次作业的评价。
4)学生自评功能:教师和其他同学对自己评价后,通过老师的评语及同学的评价,学生会对本次作业有更深层次的理解和认识,学生通过对他人作业的评阅,对于同一问题学习到不同的解决方法,拓宽了自己的思维,此时,学生会对自己的作业有更客观的评价,因此,学生自评功能是在收到评价及评价过他人后才开放的。图4是系统结构功能图:
5 系统功能的实现
5.1 公共类的设计
为了实现代码的重用、提高程序的性能和代碼的可读性[4],设计了三个公共类:Item公共类,实现对数据表最常用的id和name属性的封装,用于系统中各种Swing列表、表格、下拉列表框等组件的赋值;数据模型公共类DModel,与Item类的使用方法相似,是对数据表中所有字段的封装,但仅是纯粹的模型类,主要用于存储数据;Dao公共类,即数据访问对象,在该类中实现了数据库的驱动、连接、关闭和多个操作数据库[5]的方法。
5.2 评价管理模块功能的实现
下面以评价管理模块为例,介绍其实现的过程。接口InfAssess中定义了对评价进行管理的方法,如添加评价、删除评价、修改评价、查询评价等,ClsAssess类用来实现InfAssess接口。AssessAction继承了SSH架构中表示层Struts中的Action类,用于接收用户输入的评价信息,封装为AssessInfo对象,同时根据Struts的配置文件信息调用 ClsAssess类中的对应方法实现师生对作业评价的相关操作。该模块类图设计如图5所示:
其中,Struts的配置文件信息如下:
利用Spring对Hibernate支持,Hibernate所需要的基础资源,都由Spring提供注入,ClsAssess类通过继承HibernateDaoSupport 类,获得 HibernateTemplate 模板的引用完成对AssInfo对象的持久的操作。Spring通过配置文件为AssessAction注入相应的业务处理模型和对象数据处理(DAO)组件,Spring配置文件信息如下:
AssInfo类和数据表AssInfo的对象关系映射如下:
column=" AssContent "/> …
5.3 成绩统计分析模块的实现
该模块借助struts2和jfreechart实现使用饼状图、柱状图、折线图展示学生作业成绩的各种统计分析,包括每位学生每次作业的成绩,每位学生所有作业的平均成绩,全班每次作业的平时成绩,全班学期作业的平均成绩,平行班同一门课程的成绩比较分析以及成绩的导出等功能。在设置struts中的package配置时使其继承jfreechart-default,配置如下: