基于Web的学生上机实验管理系统的设计与实现
2014-05-05孟广学赵竟雄
孟广学,郭 红,赵竟雄
(华北科技学院计算机学院,北京东燕郊 101601)
0 引言
目前,我校学生主要的上机形式是学生按照课表的安排,刷卡进入机房自由找座位,学生按照实验指导书的要求或登录老师建立的FTP服务器下载实验要求和内容,完成后老师现场检查或提交到FTP服务器上,由于学生多,老师不可能在有限的时间内都能检查到;还有的同学上课晚来早走,来到后偷着打游戏、购物、浏览网页、看视频等,下课时拷贝同学的作业上交,不来的同学找同学代交作业,无法记录学生上机的过程,对作业的评定和学生的出勤情况的考核真实性带来了一定的偏差,为了杜绝此类现象的发生,开发了学生上机实验管理系统,该系统能够准确记录同学的上机时间和下机时间、所登录的机器的IP地址,限定在一定时间段,一台机器只能上传一份作业,为了按时提交作业,学生必须在有限时间内集中精力完成作业,同时对以前的作业情况同学们都可以进行查看;教师没有必要再进行人工点名考勤,由系统自动进行统计完成,建立一套科学、合理的上机管理系统有助于减少教师在教学管理方面的精力,以更好的指导学生的上机,促进学院对学生上机课纪律和上机任务完成情况进行规范化管理的发展。随着计算机网络的飞速发展,基于网络化的系统开发和应用在高校教学中占有越来越重要的地位,因此将网站的优势引入到上机课管理系统中,更能适应高等教育改革和发展的需求。
1 系统体系结构设计
1.1 学生上机实验管理系统的体系结构
系统面向校园网,其体系结构采用B/S计算模式,即利用现有的Web技术,将应用程序放在Web服务器上,应用程序做成Web主页的形式,客户端统一用Web浏览器来访问Web服务器并运行其程序。其服务器端基于Windows XP以上版本,安装SQL Server 2008、Tomcat5.0以上版本。客户端安装有IE6以上版本浏览器。
1.2 系统采用的开发技术
本系统开发基于J2EE+SQL Server2008开发平台,采用 Struts2+Hibernate3+Spring3+Ajax+Jsp+jQuery+XML技术。
Struts2框架本身大致可以分为3个部分(如图1所示):核心控制器FilterDispatcher、业务控制器Action和用户实现的业务逻辑组件。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要自己实现的。在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。Struts2的工作流程如下:服务器启动时加载web.xml文件,客户端浏览器发出HTTP请求时,根据 web.xml配置,该请求被 FilterDispatcher接收,根据struts.xml
图1 系统工作运行处理流程图
配置,找到需要调用的Action类和方法,并通过依赖注入方式,将值注入给Aciton,接着Action调用业务逻辑组件处理业务逻辑,Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面,最后返回HTTP响应到客户端浏览器。
1.3 系统的数据库设计
图2 系统的E-R图
根据以上核心E-R图及转换原则可得本系统的16个关系数据表如下:
(1)系部信息表depts
字段名 数据类型 是否可空主键/外键 说明dno varchar(16) 否 主键 系编号dname varchar(32)否 系名称
外键 说明suno varchar(16) 否 主键 专业编号suname varchar(32) 否 专业名称shortsunam evarchar(32) 是 专业简称sudnovarchar(16)字段名 数据类型 是否可空主键/否 外键 所在系编号
(2)专业信息表subject统、教师子系统和管理员子系统。系统具体实现功能如图3所示。
图3 系统各项功能图
以下只给出表名称,表结构略
(3)班级信息表classes
(4)管理员信息表admin
(5)教师信息表teacher
(6)学生信息表student
(7)课程信息表course
(8)授课tc
(9)实验室信息表experplace
(10)实验课安排experinfo
(11)实验记录表experrecord
(12)教学日历对照表teachcal
(13)时间节次转换表timetrans
(14)总评成绩表score
(15)公告信息表indexnews
(16)调课申请表apply
1.4 系统的特点
根据对学生上机实验管理系统的研究和设计,采用相关的Internet技术产品,进行系统的开发建设,该系统具有如下特点:
(1)系统基于B/S计算模式,面向Internet数据库,符合校园网环境下管理软件的技术架构;
(2)无须开发客户端软件,维护、升级方便;
(3)可跨平台操作,且任何一台机器,只要装有Web浏览器软件,均可作为客户机访问系统;
(4)系统具有良好的开放性和可扩充性;
(5)学生通过使用该系统,上机有签到、下机有考勤,内容目的明确,作业情况清楚,有效地提高了学生上机的积极性,杜绝了拷贝或代交作业的发生。
(6)教师通过该系统,教师上课只管进行答疑、解惑,其余的任务由系统进行记录和统计,提高了教学效率。
2 系统的总体功能设计
本系统以三种用户登录,分别对应学生子系
2.1 学生子系统
在学生子系统中,签到和上传作业是核心模块。学生提交用户名、密码验证通过后,进一步验证当前时间是否有上机实验安排,若有则校验当前机器IP是否合法及是否有其他用户已经登录该系统。当通过所有验证后则登录到学生用户操作界面进行签到,保存此次上机记录,完成实验作业后可以选择相应的课程并提交,保存下机相关信息,系统自动生成此次实验的出勤成绩。若当前没有上机实验安排则验证身份成功后直接登录到学生用户操作界面。
在学生用户操作界面中,可查看本学期的实验课安排情况及每次实验的实验内容和要求,还可查看个人的历史上机实验记录详情及以前的作业成绩。学生还可以通过个人信息维护,对自己的登录密码进行修改操作。
2.2 教师子系统
在教师子系统中,学生出勤信息和作业成绩登记是核心模块。教师提交用户名、密码验证通过后,进入到教师用户操作界面。在教师用户操作界面,可查看本学期个人的授课信息和上机实验安排情况,并为每次实验课添加实验内容和要求,可查看指定时间的空闲机房,还可以填写申请调课并查看受理结果。在查看学生出勤方面,既可以按某一上机实验安排查看,也可按指定学生查看,同时进行作业的批改和成绩的等级。教师通过设定出勤成绩与作业成绩的比例,来计算学生的总评成绩并导出为Excel文件。教师还可以通过个人信息维护,对自己的登录密码进行修改操作。可使用的功能模块全部保存在数据库中。登录模块的流程图如图4。
图4 系统登录流程图
2.3 管理员子系统
在管理员子系统中,管理员提交用户名、密码验证通过后,进入到管理员用户操作界面。在管理员用户操作界面,可对系部、专业、班级、教师、学生、课程、实验室等教学基本信息采用Excel工作表的形式进行导入,可以对本学期所有授课信息、上机实验进行安排、编辑并发布网站首页公告信息,维护教学日历信息。管理员还可以通过个人信息维护,对自己的登录密码进行修改操作。
3 系统的实现
用户登录模块主要是检查用户是否有使用本系统的权限,依据登录用户的权限生成不同的菜单,本系统的用户的全部信息包括用户名、密码
3.1 以管理员身份登录系统运行效果图(图5)
查看、导入导出系部专业信息、班级学生信息、教师课程信息、授课安排信息、上机安排信息、机房基本信息、公告通知等。
图5 上机安排效果图
3.2 以教师身份登录系统运行效果图(图6)
教师可以查看上课信息、申请调课、查看学生出勤情况、批改学生作业、登记学生上机成绩、统计学生总评成绩等。
3.3 以学生身份登录系统运行效果图(图7)
学生可以查看上机作业安排、查看上机成绩、上传作业等。
图6 教师登录后效果图
图7 学生登录后效果图
4 结束语
通过本项目的实施,可使与计算机上机教学相关的课程实现电子化管理,促进了上机实践教学程序的简化性,极大的提高上机实践环节的教学质量,对学生上机的整个过程进行了监督和约束,充分调动了同学上课的积极性,有效的提高了上机实践教学环节的教学质量。
[1] 商庆伟.机房上机管理系统的设计与实现[D].西安:西安工业大学,2011.
[2] 黎明.开放性计算机实验室教学管理系统设计与实现[D].广州:华南理工大学,2013.
[3] 孔庆伟.高校计算机实验室管理系统的设计与实现[D].济南:山东大学,2012.
[4] 张志锋,朱颢东.Java Web技术整合应用与项目实战(JSP+Servlet+Struts2+Hibernate+Spring3)[M].北京:清华大学出版社,2013.
[5] 张志锋,马军霞,范乃梅,石东海.算法与程序设计:Web框架技术(Struts2+Hibernate+Spring3)教程[M].北京:清华大学出版社,2013.
[6] 林信良.JSP&Servlet学习笔记[M].北京:清华大学出版社,2012.
[7] 李兴华,王月清.Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)[M]. 北京:清华大学出版社,2010.
[8] 孙鑫.Java Web开发详解:XML+DTD+XML Schema+XSLT+Servlet 3.0+JSP2.2深入剖析与实例应用[M].北京:电子工业出版社,2012.
[9] 郭郑州,陈军红.SQL Server 2008完全学习手册[M].北京:清华大学出版社,2011.
[10] 李(Michael Lee),比克(Gentry Bieker),唐扬斌 (译者),韩矞 (译者).精通SQL Server 2008[M].北京:清华大学出版社,2010.
[11] 鞠红军,杜丽娟,等.基于Web的教学工作量核算系统的设计与实现[J].华北科技学院学报,2008,(1):115-118.