高校教学管理系统的设计与实现在线考试管理模块大学本科毕业论文Word文档格式.docx
《高校教学管理系统的设计与实现在线考试管理模块大学本科毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《高校教学管理系统的设计与实现在线考试管理模块大学本科毕业论文Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
2系统开发和选择工具2
2.1基本环境2
2.2开发工具2
2.3系统实现中技术选择2
2.3.1JavaScript描述2
2.3.2Tomcat服务器2
2.3.3JDBC描述2
2.3.4MySQL描述3
3系统分析4
3.1开发背景4
3.2需求分析4
3.2.1系统功能分析4
3.2.2系统功能图4
3.2.3系统用例图5
3.2.4业务流程图6
4系统设计与实现7
4.1数据库设计7
4.1.1数据库设计的基本原则7
4.1.2数据库设计的逻辑分析7
4.2数据库表设计8
4.3界面设计9
4.3.1登录/注册界面设计9
4.3.2学生界面设计10
4.3.3教师界面设计11
5主要代码13
5.1登陆/注册模块13
5.2学生考试模块15
5.3教师管理模块17
总结21
致谢22
参考文献23
1概述
1.1选题依据和意义
随着科技的迅猛发展,网络技术逐渐渗入社会生活的各个层面,学校信息管理系统日益完善,但是先进的网络技术并没有被充分的利用,现阶段学校的考试方式还摆脱不了老师纸上出题,学生纸上答题,老师人工阅卷等繁琐的过程,不利于老师工作效率的提高,而且受时间和空间的限制,满足不了当前大规模统一考试的要求,随着各种考试类型的不断增加和考试要求的不断提高,人们迫切要求利用网络技术进行在线考试,以方便学生进行考试,减轻教师的工作负担,提高工作效率,所以,传统的考试方式将面临着全面的改革,因此WEB网络在线考试将成为高校研发的一个很重要的方向【1】。
基于WEB的在线考试系统,能彻底消除考试中人为的主观影响,教师可以网上增加和删除试题,维护题库,管理学生信息和学生成绩,学生通过注册,登陆考试系统可以自行选择考试科目进行考试,同时还可以修改密码,查询成绩。
计算机自动阅卷,从而使考试更趋于公正,客观。
与传统的笔试相比,在线考试无纸化的考试模式,计算机阅卷,既节约了资源又加快了考试进程,提高了工作效率。
在线考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利,是研究并开发在线考试系统的重要意义【2】。
1.2本课题国内外研究现状
随着信息技术的发展和普及和当前计算机软硬件发展水平,网络在线考试作为网上远程教育的重要组成部分,已经在国外一些发达国家得到蓬勃发展【3】。
美国政府提出了“教育技术规划(EducationTechnologyInitiative)”,指到21世纪初让全美国的每间教室和每个图书馆都将连上信息告诉公路,让每个孩子都能在“21世纪教师”网络服务。
1995年4月澳大利亚公共资源管理局建立“澳大利亚教育网”并联通Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。
我国实施科教兴国,对教育的发展给予了前所未有的关注,把信息技术应用于教育,作为民族发展的重要推动力。
国内计算机考试虽然起步晚,但我国网络技术迅速发展,计算机等级考试和GRE考试等已投入使用,各高校也纷纷开发了自己的网络教学平台。
1.3研究的内容和采用的方法
本次毕业论文的题目是高校教学管理系统的设计和实现---在线考试管理模块,采用B/S的模式开发,包括登陆注册,在线考试,试卷选择,试题管理,分数管理,密码管理以及成绩查询等功能。
以Tomcat6.0.18,Mysql-Front2..5,Dreamvear8等软件完成该系统的设计。
2系统开发和选择工具
2.1基本环境
以Java语言为基本开发语言,通过运用集成开发环境Myeclipse6.5、MySQL、Dreamweaver8,Tomcat服务器等相关知识,利用java语言的面向对象的特性及数据库设计思想,设计一个基于WEB的高校教学管理系统,完成在线考试的设计与实现。
2.2开发工具
选择jdk1.6、tomcat6.0.18和Myeclipse6.5、Dreamweaver8、MySQL-Front2.5等。
2.3系统实现中技术选择
2.3.1JavaScript描述
JavaScript是一种基于对象(Object)和事件驱动(EventDriven)
【4】并具有安全性能的脚本语言,此语言可以被嵌入HTML的文件中,轻松的实现与HTML的互操作,并完成丰富的页面交互效果,实现了一种实时性的,动态的,交互性的关系弥补了HTML语言的缺陷,是Java与HTML折中的选择。
同时,可以与HTML表单进行交互,与表单对象(FORM对象)以及表单对象包含的子元素如(Radio,Button,Password等)的植入值进行读写操作。
比如学生登陆在线考试系统答题,就可以计算出考生的成绩,添加到数据库,以供学生教师查询。
2.3.2Tomcat服务器
Tomcat服务器是作为一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML(标准通用标记语言下的一个应用。
)页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
2.3.3JDBC描述
JDBC(JavaDatabaseConnectivity)API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。
比如建立数据库连接、执行SQL语句进行数据的存取操作。
JDBC规范采用接口和实现分离的思想设计了Java数据库编程的框架。
接口包含在java.sql及javax.sql包中,其中java.sql属于JavaSE,javax.sql属于JavaEE。
这些接口的实现类叫做数据库驱动程序,由数据库的厂商或其它的厂商或个人提供。
为了使客户端程序独立于特定的数据库驱动程序,JDBC规范建议开发者使用基于接口的编程方式,即尽量使应用仅依赖java.sql及javax.sql中的接口和类。
2.3.4MySQL描述
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一【5】。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言【6】。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境【7】。
MySQL运行速度快,是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低,支持查询语言【8】。
MySQL数据库没有用户数的限制,多个客户机可同时使用同一个数据库。
可利用几个输入查询并查看结果的界面来交互式地访问MySQL。
MySQL是完全网络化的,其数据库可在因特网上的任何地方访问,因此,可以和任何地方的任何人共享数据库【9】。
而且MySQL还能进行访问控制。
3系统分析
3.1开发背景
在Internet飞速发展的今天,互联网遍布全球每个角落,社会已经进入网络信息时代,计算机网络已经成为社会发展的强大动力,大大提高了生产效率【10】。
我们的工作已无时不刻的离不开网络,教育事业同样需要网络。
远程教育作为现代教育技术发展的方向之一,在线考试作为远程教育的一个子系统也成为一个热门的研究领域。
Internet技术使现在考试突破了时间和空间的限制,与传统考试模式相比,在线考试系统有很多优越性,几乎去除了所有人为主观干预考试的可能,不但节约考试安排,教师阅卷的时间,人力和财力,而且提高了考试的客观性和公正性。
在线考试系统课题产生的背景是当今教育信息化的趋势及我国高等教育信息化建设;
目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统考试的不足。
3.2需求分析
3.2.1系统功能需求分析
系统功能需求分析:
1.注册模块
实现教师,学生两种身份注册,注册信息包含用户名,密码,邮箱。
2.登陆模块
通过不同权限的用户名登陆系统。
3.学生考试模块
学生可以自行选择考试科目,进行在线答题,以及查看成绩和修改用户信息等操作。
4.教师管理模块
教师有试题管理和学生管理等权限。
试题管理:
5.自动阅卷管理:
系统对客观题自动评分,并统计最终得分,将成绩添加到数据库,以便查询。
3.2.2系统功能图
该图主要是对系统操作的流程图的描述:
登陆在线考试系统首页,当输入正确的用户名和密码后,系统跳转到操作选项界面。
如果输入有误,系统会提示错误,继续输入用户名和密码。
验证密码和权限后进入相应选项界面,根据需求对系统进行操作。
系统功能流程图如图3-1
3.2.3系统用例图
3.2.4业务流程图
4系统设计与实现
4.1数据库设计
4.1.1数据库设计的基本原则
在进行数据库的数据结构和分解和设计时,应遵循数据规范理论进行设计,保证数据的一致性和完整性,以减少数据冗余。
应当重点考虑以下几个因素:
1.数据库结构层次分明,布局合理。
2.数据库必须高度结构化,保证数据的结构化,规范化和标准化,是建立数据库和信息交换的基础。
3.在设计数据库时,一方面要尽可能的减小冗余,减小存储空间,另一方面,还要考虑适当的冗余,以提高效率降低开发难度。
4.保证数据的正确性和一致性,设定相应的安全机制。
4.1.2数据库设计的逻辑分析
数据库的逻辑设计的任务就是把概念结构设计阶段的基本E-R图转化为与选用具体机器上的DBMS产品所支持的数据模型相符合的逻辑结构,首先要实现的是E-R图关系模型的转化。
而为此要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何确定这些关系模式的属性和码。
对于实体,将每个实体转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的码。
对于实体间的联系,可以分成三种情况:
若实体间的联系是1:
1,可以在两个实体转换成的两个关系中任意一个关系的属性中加入另一个关系的码。
n,则在n端实体转换成的关系中加入1端实体转换成的关系码。
若实体间的联系是n:
m,则将联系转换为关系,关系的属性为诸个实体的码加上联系具有的属性,而关系的码则为诸实体的码的组合。
试题(编号、题目)
学生(学生编号、姓名、密码、邮箱)
教师(教师编号、姓名、密码、邮箱)
成绩(编号、学生姓名、分数)
4.2数据库表设计
按照数据字典中的数据元素说明确定每个数据项的类型和长度,使每个关系都对应一个数据库表:
表4-1用户信息表
表4-2成绩表
Auto_increment
允许为空
255
YES
30
java
VarChar
3
4dataVarchar30YES255
表4-3试题表
10
NO
8
Int
ID
name
备注
最大长度
大小
字段类型
字段名称
序号
1
2
200
5
100
4.3界面设计
4.3.1登录/注册界面设计
登录/注册界面如图4-1所示
图4-1登录/注册界面
4.3.2学生界面设计
学生输入正确的用户名和密码后,进入考试界面。
如图4-2所示:
图4-2学生界面
图4-3数据结构考试界面
图4-4JAVA语言考试界面
图4-5成绩界面
4.3.3教师界面设计
教师输入正确的用户名和密码后,进入教师管理界面。
图4-6教师管理界面
图4-7学生信息管理界面
图4-8添加试题界面
图4-9题库管理界面
5主要代码
5.1登陆/注册模块
本模块是系统主界面,用户可先进行注册操作,获得合法的用户名,密码和权限后,返回主页面正确登陆,系统检测合法用户,验证其用户名密码,以杜绝非法用户侵入系统。
本模块界面设计风格简洁,主题鲜明。
图片以及跑动文字的应用使界面更丰富,用户名和密码两个文本框,注册,登陆,重置按钮,已注册的用户登陆系统后,系统自动判断其输入的用户名及密码的正误,同时自动识别其权限(学生和教师),正常登陆后,系统将当前用户名和权限记录下来以便之后其他操作给予适当的权限分配,跳转到相应的界面。
实现本模块的主要代码如下所示:
<
BODY>
h3>
<
marqueedirection="
left"
>
h2>
欢迎登陆考试系统!
/marquee>
/h3>
center>
imgsrc="
1.jpg"
height="
150"
width="
1000"
>
/img>
divstyle="
width:
700px;
font-size:
15pt;
font-family:
Arial;
color:
green;
position:
relative;
filter:
glow(color=yellow,strength=5);
height:
129px"
palign="
center"
br>
fontstyle="
FONT-SIZE:
16px"
color="
#FF0000"
/font>
fontcolor="
#000000"
h1>
---欢迎登陆考试系统---<
/h1>
/div>
FORMMETHOD="
POST"
ACTION="
admincheck.jsp"
用户名:
INPUTTYPE="
text"
NAME="
name"
br/>
密&
nbsp;
&
码:
password"
pass"
TDcolspan="
2"
&
submit"
value="
登陆"
reset"
重置"
/TD>
inputtype="
button"
注册"
onClick="
window.location.href='
reg.jsp'
"
/>
/FORM>
h1>
用户注册<
insert.jsp"
用户名<
user"
码<
邮&
箱<
email"
教师
radio"
role"
admin"
学生<
student"
提交信息"
%!
StringdbUrl="
jdbc:
mysql:
//127.0.0.1:
3306/tom?
useUnicode=true&
amp;
characterEncoding=UTF-8"
;
StringdbUser="
root"
StringdbPass="
%>
%
Connectionconn=null;
Stringuser=newString(request.getParameter("
).getBytes("
ISO-8859-1"
),"
utf-8"
);
System.out.println(user);
Stringpass=request.getParameter("
Stringemail=request.getParameter("
Stringrole=request.getParameter("
System.out.println(role);
try{
Class.forName("
com.mysql.jdbc.Driver"
System.out.println("
驱动加载成功!
!
}catch(Exceptione){
驱动加载失败!
}
conn=DriverManager.getConnection(dbUrl,dbUser,dbPass);
--数据库连接失败!
Stringsql="
INSERTINTOzhaoxianpeng(name,pass,email,role)VALUES(?
?
?
)"
try{
PreparedStateme