在线考试系统毕业论文.docx

上传人:b****6 文档编号:10187146 上传时间:2023-02-09 格式:DOCX 页数:30 大小:1.68MB
下载 相关 举报
在线考试系统毕业论文.docx_第1页
第1页 / 共30页
在线考试系统毕业论文.docx_第2页
第2页 / 共30页
在线考试系统毕业论文.docx_第3页
第3页 / 共30页
在线考试系统毕业论文.docx_第4页
第4页 / 共30页
在线考试系统毕业论文.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

在线考试系统毕业论文.docx

《在线考试系统毕业论文.docx》由会员分享,可在线阅读,更多相关《在线考试系统毕业论文.docx(30页珍藏版)》请在冰豆网上搜索。

在线考试系统毕业论文.docx

在线考试系统毕业论文

 

在线考试系统的设计与实现

摘要:

随着网络技术的日益成熟,网络已经深入到生活的每一个角落,包括教育、购物、咨询、办公等等许多领域。

在网络迅速发展的今天,网页技术的应用也越来越广泛。

网页技术的应用对于教育行业来说优势更加的明显。

教育行业可以通过网络进行学生和教职工的管理、组织学生在线考试、在网站上发布学校相关信息等活动。

这样不仅能增加学校管理的透明度,还提高了学校的管理水平。

在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。

本文重点论述了由于网络的存在扩大了学校的服务范围,为学校的管理提供了更多的条件。

对此做出了详细的调查,可行性研究和分析。

系统采用了B/S结构,在网络上建立学校自己的教育网站。

系统开发经历了系统分析、系统设计和系统实施三个阶段。

从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。

论文整体是基于浏览器/服务器,前台应用Jsp技术,后台采用SQLServer2005作为数据库与前台连接。

关键词:

网络;教育;在线考试;B/S结构;Jsp技术

 

第一章需求分析

1.1功能需求

本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。

系统应具基本功能如下:

Ø科目管理

Ø题库管理(选择题,填空题,判断题,问答题)

Ø学生管理

Ø教师管理

Ø管理员信息管理

Ø手动组卷

Ø随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷)

Ø考试页面

Ø阅卷管理

Ø成绩查询

1.2性能需求

由于此系统为在线考试系统,响应速度一定要快,要在10秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。

1.3可靠性和可用性

由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。

系统可用性也一定要高,尽量避免不可用几率的发生。

1.4系统ER图

1.5工具选择

数据库是数据管理的最新技术,是计算机科学的重要分支。

十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。

由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。

由于用到的数据表格多,另外考虑到实际情况,如学生基本信息的变动,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。

本系统采用B/S结构,即JavaWBE服务端和服务器结构,用户使用本系统时,需要下载客户端,然后进入系统,即可进行在线考试。

本系统分为三大模块:

用户模块,管理员模块和试卷模块。

不同的模块实现不同的功能,便于维护和管理。

预期目标是:

(1)建立完备的试题库,整合现有的考试资源,提高资源的利用率和当前的工作效率;

(2)利用计算机自动生成试卷,减少教师负担,同时也防止考生抄袭作弊;

(3)登陆后可以根据用户类型的不同分别进入不同的界面,身份验证严格,防止网络替考及窃取权限修改成绩;

(4)考生答完卷后答案自动存储,若时间已到而试题未答完则自动保存成绩后强行退出;(5)设定自动阅卷功能,标准化试题由于答案固定,可以让计算机自动将考生答案和标准化答案比对,自动生成成绩,确保成绩的公平和公正;

(6)就考试情况进行分析,找出考生分数层次和薄弱知识点,从而利于教学改进

只要是用Java语言进行编码,javascript语言为辅助语言。

Java编程语言是SunMicrosystems公司计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器,支持跨平台,与XML相融合等。

因此选择Java编程语言。

1.6实现环境

本系统是以Windows7系统为操作平台,在Myeclipse环境下编程实现。

第二章总体设计

2.1系统模块

本系统分为用户管理模块、科目管理模块、章节管理模块、题库管理模块、试卷生成管理模块、考试页面管理模块、阅卷管理模块、考试结果管理模块、考试查询模块九个模块

2.1.1系统模块图

图2.1系统模块图

2.1.2用例图

学生用例图:

图2.2学生用例图

教师用例图:

图2.3教师用例图

 

图2.3教师用例图

管理员用例图:

图2.4管理员用例图

2.1.3管理员功能模块

此模块包括用户管理、科目管理、成绩查询、章节管理、试卷管理五个部分。

Ø用户管理:

此模块包括学生管理、教师管理、管理员管理

1.学生管理:

对学生信息进行添加、修改和删除。

2.教师管理:

对教师信息进行添加、修改和删除、查询学生的成绩。

3.管理员管理:

修改管理员密码、对教师和学生信息可以查询与修改。

Ø科目管理:

对科目信息进行添加、修改和删除。

Ø成绩查询:

对学生考试的结果进行查询。

Ø题套管理:

对各科的章节进行添加、修改和删除。

Ø试卷管理:

对试卷进行增加、删除、修改、添加。

2.1.4教师功能模块

此模块包括题库管理、试卷生成、阅卷管理、信息修改四个部分

Ø题库管理:

此模块包括试题管理和试题查询。

1.试题管理:

对试题进行添加、修改、删除。

2.试题查询:

对试题进查询。

Ø试卷生成:

此模块包括手动组卷和随机组卷。

1.手动组卷:

手动选择题型、题数进行组卷。

2.随机组卷:

按固定的题型和分值进行组卷。

Ø阅卷管理:

对试卷进行批阅,客观题进行自动阅卷,主观题由教师进行阅卷

Ø信息修改:

只限教师对自己的密码进行修改。

2.1.5学生功能模块

此模块包括考试页面和个人信息修改两个部分。

Ø考试页面:

学生进行做题的页面。

Ø个人信息修改:

只限修改密码。

2.2数据库设计

综合以上分析,要实现上面的所有功能模块,数据库共要设计十四个表,它们分别是:

科目表、管理表、组卷表、试卷信息表、考生表、学生考试试卷表、考试结果表、学生答题试卷信息表、教师表、选择题表、填空题、判断题、填空题表、问答题表

 

第三章详细设计

3.1数据表

(一)考生

考生=编号+姓名+密码+性别+注册时间+提示问题+问题答案+专业+身份证号

编号设计=类型(1:

考试;2:

教师;3:

管理员)+注册序号

tb_Student表的结构

(二)教师

教师=编号+姓名+密码+性别+注册时间+提示问题+问题答案+专业+身份证号

编号设计=类型(0:

考生;1:

教师;2:

管理员)+注册序号

tb_Teacher表的结构

(三)管理员

管理员=编号+姓名+密码+性别+加入时间+身份证号+类别

编号设计=类型(0:

考生;1:

教师;2:

管理员)+注册序号

tb_Manager表的结构

(四)套题

套题=编号+名称+所属课程+添加时间

tb_Tao表的结构

(五)课程表

tb_Lesson

(六)单选题考试题目

tb_danQuestions表的结构

(七)填空考试题目

tb_tianQuestions表的结构

(八)客观题

tb_odjQuestions表的结构

(九)考试成绩信息表

tb_stuResult表的结构

(十)考试选课表

tb_stuLesson表的结构

3.2具体模块设计

系统功能模块介绍时,我们把整个系统分为管理员模块、教师模块、学生模块,其中管理员模块包括:

用户管理(学生信息管理、教师信息管理、管理员信息管理)、科目管理、章节管理、班级管理、系别管理、试卷管理、考试信息查询;教师模块包括:

个人信息修改、题库管理、试卷生成、阅卷管理;学生模块包括:

考试页面、个人信息修改。

我所做的模块是:

学生信息管理模块、教师信息管理模块、试卷管理模块、科目信息管理、班级管理模块五个模块。

3.2.1学生信息管理模块

图3.2添加学生信息界面

 

设计思路:

管理对学生的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加学生记录窗口(如图3.2)添加学生记录。

实现代码(部分):

通过设计类的(ProjectClass())中的方法调用数据库中的存储过程对数据进行操作

学号:



姓名:



密码:



手机号:



性别:



注册时间:



班级:



专业:



地址:



类型:



   

   

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

EXAM","sa","123");

Statementst=con.createStatement();

Stringn=request.getParameter("t3");

n=newString(n.getBytes("iso-8859-1"),"utf-8");

//out.println(n);

Stringid=request.getParameter("id");

id=newString(id.getBytes("iso-8859-1"),"utf-8");

Stringname=request.getParameter("Sname");

name=newString(name.getBytes("iso-8859-1"),"utf-8");

Stringpwd=request.getParameter("pwd");

pwd=newString(pwd.getBytes("iso-8859-1"),"utf-8");

Stringjointime=request.getParameter("jointime");

jointime=newString(jointime.getBytes("iso-8859-1"),"utf-8");

Stringphone=request.getParameter("Phone");

phone=newString(phone.getBytes("iso-8859-1"),"utf-8");

Stringsex=request.getParameter("1");

sex=newString(sex.getBytes("iso-8859-1"),"utf-8");

Stringclas=request.getParameter("clas");

clas=newString(clas.getBytes("iso-8859-1"),"utf-8");

Stringprefession=request.getParameter("Prefession");

prefession=newString(prefession.getBytes("iso-8859-1"),"utf-8");

Stringaddress=request.getParameter("Address");

address=newString(address.getBytes("iso-8859-1"),"utf-8");

Stringtype1=request.getParameter("type");

type1=newString(type1.getBytes("iso-8859-1"),"utf-8");

if(n.equals("学生"))

{

ResultSetrs=st.executeQuery("select*fromTB_StudentwhereSname"+"="+"'"+name+"'"+",Pwd"+"="+"'"+pwd+"'"+",Type"+"="+"'"+type1+"'");

if(rs.next())

{

out.println("

"+"该用户已经存在"+"

");

}

}

else

{

st.executeUpdate("insertintoTB_Student(Id,Type,Sname,Pwd,Clas,Sex,JoinTime,Prefession,Address,Phone)values"+"("+"'"+id+"'"+","+"'"+type1+"'"+","+"'"+name+"'"+","+"'"+pwd+"'"+","+"'"+clas+"'"+","+"'"+sex+"'"+","+"'"+jointime+"'"+","+"'"+prefession+"'"+","+"'"+address+"'"+","+"'"+phone+"'"+")");

out.println("

"+"注册成功"+"

");

}

%>

返回登录页面

3.2.2教师信息管理模块

图3.3教师信息管理界面

图3.4添加教师信息界面

设计思路:

管理对教师的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加教师记录窗口(如图3.4)添加教师记录。

实现代码(部分):

<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>

<%@pageimport="java.sql.*"%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'Addtion1.jsp'startingpage

 

<%

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connectioncon=DriverManager.getConnection("jdbc:

odbc:

EXAM","sa","123");

Statementst=con.createStatement();

Stringn=request.getParameter("t3");

n=newString(n.getBytes("iso-8859-1"),"utf-8");

Stringid=request.getParameter("id");

id=newString(id.getBytes("iso-8859-1"),"utf-8");

Stringname=request.getParameter("Sname");

name=newString(name.getBytes("iso-8859-1"),"utf-8");

Stringpwd=request.getParameter("pwd");

pwd=newString(pwd.getBytes("iso-8859-1"),"utf-8");

Stringjointime=request.getParameter("jointime");

jointime=newString(jointime.getBytes("iso-8859-1"),"utf-8");

Stringphone=request.getParameter("Phone");

phone=newString(phone.getBytes("iso-8859-1"),"utf-8");

Stringsex=request.getParameter("1");

sex=newString(sex.getBytes("iso-8859-1"),"utf-8");

Stringclas=request.getParameter("clas");

clas=newString(clas.getBytes("iso-8859-1"),"utf-8");

Stringprefession=request.getParameter("Prefession");

prefession=newString(prefession.getBytes("iso-8859-1"),"utf-8");

Stringaddress=request.getParameter("Address");

address=newString(address.getBytes("iso-8859-1"),"utf-8");

Stringtype1=request.getParameter("type");

type1=newString(type1.getBytes("iso-8859-1"),"utf-8");

if(n.equals("学生")){

ResultSetrs=st.executeQuery("select*fromTB_StudentwhereSname"+"="+"'"+name+"'"+",Pwd"+"="+"'"+pwd+"'"+",Type"+"="+"'"+type1+"'");

if(rs.next()){

out.println("

"+"该用户已经存在"+"

");

}

}

else

{

st.executeUpdate("insertintoTB_Student(Id,Type,Sname,Pwd,Clas,Sex,JoinTime,Prefession,Address,Phone)values"+"("+"'"+id+"'"+","+"'"+type1+"'"+","+"'"+name+"'"+","+"'"+pwd+"'"+","+"'"+clas+"'"+","+"'"+sex+"'"+","+"'"+jointime+"'"+","+"'"+prefession+"'"+","+"'"+address+"'"+","+"'"+phone+"'"+")");

out.println("

"+"注册成功"+"

");

}

if(n.equals("老师"))

{

ResultSetrs=st.executeQuery("select*fromTB_TeacherwhereSname"+"="+"'"+name+"'"+",Pwd"+"="+"'"+pwd+"'"+",Type"+"="+"'"+type1+"'");

if(rs.next())

{

out.println("

"+"该用户已经存在"+"

");

}

}

else

{

st.executeUpdate("insertintoTB_Teacher(Id,Type,Tname,Pwd,Clas,Sex,JoinTime,Prefession,Address,Phone)values"+"("+"'"+id+"'"+","+"'"+type1+"'"+","+"'"+name+"'"+","+"'"+pwd+"'"+","+"'"+clas+"'"+","+"'"+sex+"'"+","+"'"+jointime+"'"+","+"'"+prefession+"'"+","+"'"+address+"'"+","+"'"+phone+"'"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1