在线考试系统JAVA.docx

上传人:b****1 文档编号:1764178 上传时间:2022-10-23 格式:DOCX 页数:21 大小:458.25KB
下载 相关 举报
在线考试系统JAVA.docx_第1页
第1页 / 共21页
在线考试系统JAVA.docx_第2页
第2页 / 共21页
在线考试系统JAVA.docx_第3页
第3页 / 共21页
在线考试系统JAVA.docx_第4页
第4页 / 共21页
在线考试系统JAVA.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

在线考试系统JAVA.docx

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

在线考试系统JAVA.docx

在线考试系统JAVA

1熟练运用JAVA开发环境及工具.并用JAVA语言编场程序;

2掌握面向对象的概念;

3掌握系统功能模块的合理划分,并实现各模块接口的连接:

4掌握C/S结构的编程方法;

5设讣数据库模型。

实验内容

1编辑生成试题库,随机生成本次考试试题,同时提供在线评分并保存结果。

2选择ACCESS作为后台的数据库。

实验过程

3、

题库管理:

用于对单个试题的增、删、改、査等基本维护,还可对题库进行数据备份和数据还原。

我们针对不同题型、不同应用范圉及不同科U对试题进行维护。

试卷管理:

可进行三种组卷方式的维护:

随机组卷、人工组卷、综合组卷。

还可对考生的基本信息进行维护。

考试管理:

对考试分配试卷,并对考试的基本信息进行维护。

相当于人工安排考试的过程

评卷管理:

对试卷的客观题分配评卷人,并对评卷人基本信息进行管理。

成绩管理:

对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。

用户管理:

对使用本系统的用户基本信息进行维护,用户多数为:

系统管理员、老师、教务处人员、其他

权限管理:

对系统的访问权限进行管理,并对用户可进行权限的分配。

系统应该具备的基本功能

 

査操作。

在操作之后会自动刷新

题型维护:

对试题的题型进行增、删、改、主页,以使信息更新。

范M维护:

对试题的应用范围进行增、删、刷新主页,以使信息更新。

科U维护:

对试题的科U进行增、删、改、主页,以使信息更新。

试题维护:

对试题的基本信息进行增、删、刷新主贝,以使信息更新。

其他维护:

改、査操作。

在操作之后会自动

査操作。

在操作之后会自动刷新

改、査操作。

在操作之后会自动

对试题信息的批量査询,并可进行数据导出、数据备份、数据恢

复。

用户只需对试卷题型进行设置就可组卷的方式。

可使用户选择试卷的题型中的试题的组卷方式。

随机组卷:

人工组卷:

综合组卷:

是随机组卷与人工组卷的混合组卷方式,即用户对某一类型的试题可进行选择,也可对试题不进行选择。

试卷其他维护:

对试卷信息的批量查询,对试题的数据备份与还原。

考师两呵寸考试的时间、也点、阳诸卜、考试用的试卷、试險理翁改

考说匪M订寸考

及答卷总如&対I勺基本要素进彳报运

韦臥W息仙护J勺n试的学〔:

占前F删、卡

之后疥劇即祝訓使信息览矗I血並

:

划①汕所用试址肯皆就题L

2J人,并対二垃in本览

 

行维护。

评卷人评卷:

对分配试卷的评卷人可以在此进行评卷。

考生成绩维护:

对考试的考生成绩信息进行统汁与汇总,对有权限的人可进行成绩的增、删、改、查操作。

成绩其他维护:

对考生成绩信息的批量査询,并可进行数据导出、数据备份、数据恢复。

删、改、查操作。

信息基本维护:

我们的信息除了有关考试的信息外,还有公告、新闻、留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、删、改、査操作,而留言是由询台的用户(学生)或游客录入的,我们要防止垃圾数据显示,即对留言有权更改等操作。

3.2系统结构图

①、本系统分为学生前台子系统和考试管理子系统,整个系统的结

构图如下:

33数据库设计

试题类型表{questionType_table):

其中包括了试题的类型的基本信息,如类型名称、答题方式、说明信息等字段;录入时,我们将答题方式确定为大概儿种类型:

填空方式,选择方式,问答方式,判断方式,综合方式。

试题范W表{questionBound_table):

用于控制试题应用的范圉,如同样的科U语文,在小学、初中、高中、大学都有,由此我们设定了此表,此表中有范围名称、范W说明等基本信息;

所属科U表(questionSubject_table):

用于录入试题相关的科tl应用,它可以有不同的应用范围。

如上所述,義们只需录入一次的科日,就可方便我们在录入试题时每次都录。

各种题库表:

我们采用一种类型的题存储在一个表中,山此我们会有填空题表(qu€stion_blanc_tabl€)、单选题表(qu€stion_sel€cton€_table)、多选题表(question_selectMany_tab€l)—题多问表(question_askonjtable)、一题多问表(question_askMany_table)、判断题表(question_judge_table)等试题表

试卷表(examjable):

帀于报存考试中试卷的基本信息,亦話卷方式(有随机出卷、人工出卷、综合出卷)、试卷名称、试卷应用范围(与试题范M相对应)、试卷所属科U(与试题科U相对应)、试题标题级别、试题标题内容、试题总类型、试题个数、试题总ID等基本信息。

学生表(student_table):

用于保存学生的考试的用户名及登陆密码。

成绩表(grade_tab!

e):

用于存储学生的考试成绩。

评题表{appraiser_question_table):

对于主观题的答案我们须要评卷人(有权限的用户)进行手工评卷,本襄用来存储评卷人评卷的一些信息。

答案表(student_answer_table):

用于存储学生问答题的答案,如试卷16学生ID及各种试题类巫的答素字段。

用户表(user_table):

用于保存用户的登陆的基本信息及分配的权限。

权限表{purview_table):

用于存储用户组织的的权限,通过分配操作模块的权限组织权限。

4.关键代码及其分析

 

JOptionPane.showMessageDialog(this,”

if(start==true)

System,exit(l);return;

4.2Serverjoginjava

//是义一个接收用户登诵的类

publicvoidrun(){

}catch{lOExceptione){

Strings=null;

e.printStackTracef);

if(!

m.equals{"0")){

false);

else{

 

//中断线

new

countShow(ucount);

if{counter<

try{

ss2

new

 

Maxcount){

userstatus=

"user'sIP"+you.getlnetAddress{)”connected"+portl+"进行登陆";ServerSocketfport2);

linkstatus="listenertheport:

”+port2;

linkShow(serstatus);

}catch(lOExceptione){

e.printStackTraceO;

userShowfuserstatus);

线程启动

//第一个

while(true){

}catch(lOExceptione){

Socketyou2=null;try{

you2

linkShowflinkstatus);

ss2・accept();

}catch(lOExceptione.printStackTracef);

e){

while(true){

Socketyou3=null;

 

e.printStackTraceO;

e.printStackTracef);

userShowfuserstatus);

new

if(you3!

=null){

Server_readTest(you2).start();

启动

ServerSocketss3=null;

new

Server_readScore(you3).start{);

start!

";

intports=8003;

publicvoidrun(){

serstatus="thread

//启动一个用户査询的线程

Threadtd4=newThread("four"){

ServerSocket(port3);

ServerSocketss4=null;

linkstatus="listener

theport:

'*+port3;

intport4=8004;

start!

";

publicvoidrun(){serstatus="thread

try{

you4

ss4.accept();

serShow(serstatus);

}catch(lOException

e){

try{

ss4

ServerSocket(port4);

linkstatus="listenertheport:

"+port4;

linkShowflinkstatus);

new

Q.printStackTracef);

if(you4!

=null){

}catch(lOExceptione){

userstatus='*user's

you4-getlnetAddress{)

IP"

e.printStackTracQ();

+・

connected”+port4+"进行査询”;

 

while(true){

Socketyou4=null;

4.4-Server_readTestjava

publicvoidrun(){

userShow(userstatus);

if(!

cb.openConnectionO){System.out.printing连接

数据失败J;

Stringsql2;//圧义査询语句

System.exit{l);return:

Stringdbt」以下为试题勺〃试题

Stringts=null;//接收用户发送的考试科目

inttcount=0;//试题的数目

try{

//网络连接部分outwritGUTFC'你连接成功”);

〃在数据库选题

sql2="select*fromexamwhereeid='"+ts+;

cb.createPreparedStatement(sq2false);

ts=in,readUTF();

rs

System.out.pnntln(ts);

//数据库连接部分

ResultSet

cb.executeQueryO;

while(rs.next{)){dbt

"^''+*'\n'*+rs-getString

(2)+

"\t"+"\n"+

 

//査询客户端所选试题ConnectBeancb=ConnectBeanO;

cb.closed;

System.out.pnntln(dbt);

System.out.printing读取试题成功!

”);

System,out.pnntln(tcount);

}catch(SQLExceptione){

e.printStackTrace{);

out.writeUTF(lnteger.toString(tcount));

out.writeUTFfdbt);//将读到

的试题返回到客戸端

System.out.pnntln("notconnectdb");

}catch{lOExceptionel){

System.out.pnntln("notread

clientselect!

");

〃传送考试时间}

out.writeUTF('"'+Timecount);

out.fl

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

当前位置:首页 > 自然科学 > 生物学

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

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