1、在线考试系统JAVA1熟练运用JAVA开发环境及工具.并用JAVA语言编场程序;2掌握面向对象的概念;3掌握系统功能模块的合理划分,并实现各模块接口的连接:4掌握C/S结构的编程方法;5设讣数据库模型。实验内容1编辑生成试题库,随机生成本次考试试题,同时提供在线评分并保存结果。2选择ACCESS作为后台的数据库。实验过程3、题库管理:用于对单个试题的增、删、改、査等基本维护,还可对题库进行 数据备份和数据还原。我们针对不同题型、不同应用范圉及不同科U对试题进行 维护。试卷管理:可进行三种组卷方式的维护:随机组卷、人工组卷、综合组卷。 还可对考生的基本信息进行维护。考试管理:对考试分配试卷,并对
2、考试的基本信息进行维护。相当于人工安 排考试的过程评卷管理:对试卷的客观题分配评卷人,并对评卷人基本信息进行管理。成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的 统计管理。用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统管理 员、老师、教务处人员、其他权限管理:对系统的访问权限进行管理,并对用户可进行权限的分配。系统应该具备的基本功能査操作。在操作之后会自动刷新题型维护:对试题的题型进行增、删、改、 主页,以使信息更新。范M维护:对试题的应用范围进行增、删、 刷新主页,以使信息更新。科U维护:对试题的科U进行增、删、改、 主页,以使信息更新。试题维护:对试题的
3、基本信息进行增、删、 刷新主贝,以使信息更新。其他维护:改、査操作。在操作之后会自动査操作。在操作之后会自动刷新改、査操作。在操作之后会自动对试题信息的批量査询,并可进行数据导出、数据备份、数据恢复。用户只需对试卷题型进行设置就可组卷的方式。 可使用户选择试卷的题型中的试题的组卷方式。随机组卷:人工组卷:综合组卷:是随机组卷与人工组卷的混合组卷方式,即用户对某一类型的试 题可进行选择,也可对试题不进行选择。试卷其他维护:对试卷信息的批量查询,对试题的数据备份与还原。考师两呵寸考试的时间、也点、阳诸卜、考试用的试卷、试險理翁改考说匪M订寸考 及答卷总如&対I勺基本要素进彳报运韦臥W息仙护J勺n试
4、的学:占前F删、卡之后疥劇即祝訓使信息览矗I血並:划汕所用试址肯皆就题L2J人,并対二垃in本览行维护。评卷人评卷:对分配试卷的评卷人可以在此进行评卷。考生成绩维护:对考试的考生成绩信息进行统汁与汇总,对有权限的人可进 行成绩的增、删、改、查操作。成绩其他维护:对考生成绩信息的批量査询,并可进行数据导出、数据备份、 数据恢复。删、改、查操作。信息基本维护:我们的信息除了有关考试的信息外,还有公告、新闻、留言 信息需要我们维护,其中公告、新闻由后台有权限的人进行增、删、改、査操作, 而留言是由询台的用户(学生)或游客录入的,我们要防止垃圾数据显示,即对 留言有权更改等操作。3.2系统结构图、本系
5、统分为学生前台子系统和考试管理子系统,整个系统的结构图如下:33数据库设计试题类型表questionType_table):其中包括了试题的类型的基本信息,如类 型名称、答题方式、说明信息等字段;录入时,我们将答题方式确定为大概儿种 类型:填空方式,选择方式,问答方式,判断方式,综合方式。试题范W表questionBound_table):用于控制试题应用的范圉,如同样的科 U语文,在小学、初中、高中、大学都有,由此我们设定了此表,此表中有范围 名称、范W说明等基本信息;所属科U表(questionSubject_table):用于录入试题相关的科tl应用,它可以 有不同的应用范围。如上所述,
6、義们只需录入一次的科日,就可方便我们在录入 试题时每次都录。各种题库表:我们采用一种类型的题存储在一个表中,山此我 们会有填空题表(qustion_blanc_tabl)、单选题表(qustion_selcton_table)、 多选题表(question_selectMany_tabl)题多问表(question_askonjtable)、一 题多问表(question_askMany_table)、判断题表(question_judge_table)等试题表试卷表(examjable):帀于报存考试中试卷的基本信息,亦話卷方式(有随 机出卷、人工出卷、综合出卷)、试卷名称、试卷应用范围(与
7、试题范M相对应)、 试卷所属科U (与试题科U相对应)、试题标题级别、试题标题内容、试题总类 型、试题个数、试题总ID等基本信息。学生表(student_table):用于保存学生的考试的用户名及登陆密码。成绩表(grade_tab!e):用于存储学生的考试成绩。评题表appraiser_question_table):对于主观题的答案我们须要评卷人(有权 限的用户)进行手工评卷,本襄用来存储评卷人评卷的一些信息。答案表(student_answer_table):用于存储学生问答题的答案,如试卷16学 生ID及各种试题类巫的答素字段。用户表(user_table):用于保存用户的登陆的基本信
8、息及分配的权限。权限表purview_table):用于存储用户组织的的权限,通过分配操作模块的 权限组织权限。4.关键代码及其分析JOptionPane.showMessageDialog(this, ”if (start = true)System,exit(l); return;4.2 Serverjogin java/是义一个接收用户登诵的类public void run() catch lOException e) String s = null;e.p rintStackTracef);if( !m.equals0) false);else /中断线newcountShow(uco
9、unt);if counter tryss2newMaxcount) userstatus=users IP + you.getlnetAddress) ” connected + portl + 进行登陆; ServerSocketf po rt2);linkstatus = listener the port:” + port2;lin kShow(serstatus); catch (lOException e) e.p rintStackTraceO;userShowfuserstatus);线程启动/第一个while (true) catch (lOException e) Sock
10、et you2 = null; tryyou2linkShowflinkstatus);ss2accept(); catch (lOException e.p rintStackTracef);e)while (true) Socket you3 = null;e.printStackTraceO;e.p rintStackTracef);userShowfuserstatus);newif (you3 != null) Server_readTest(you2).start();启动ServerSocket ss3 = null;newServer_readScore(you3).start
11、);start!;int ports = 8003;publicvoid run()serstatus=thread/启动一个用户査询的线程Thread td4 = newThread(four) ServerSocket( port3);ServerSocket ss4 = null;linkstatus=listenerthe port:* + port3;int port4 = 8004;start!;publicvoid run() serstatus=threadtryyou4ss4.acce pt();serShow(serstatus); catch (lOExceptione)
12、tryss4ServerSocket( port4);linkstatus=listener the port: + port4;linkShowflinkstatus);newQ.p rintStackTracef);if (you4 != null) catch (lOException e) userstatus=*usersyou4-getl netAddress)IPe.pri ntStackTracQ();+ connected ” + port4 + 进行査询”;while (true) Socket you4 = null;4.4- Server_readTestjava pu
13、blic void run() userShow(userstatus);if (!cb. op enConnectionO) System.out.printing 连接数据失败J;String sql2; /圧义査询语句System.exitl); return:String dbt以下为试题勺试题String ts = null; /接收用户发送的 考试科目int tcount = 0; /试题的数目try/网络连接部分 outwritGUTFC你连接成功”);在数据库选题sql2 = select * from exam where eid= + ts +;cb.createPre p
14、aredStatement(sq2 false);ts = in,readUTF();rsSystem.out. pnntln(ts);/数据库连接部分ResultSetcb.executeQueryO;while (rs.next) dbt+*n*+rs-getString(2) +t + n +/査询客户端所选试题 ConnectBean cb = ConnectBeanO;cb.closed;System.out. pnntln(dbt);System.out.printing 读取试题 成功! ”);System,out. pnntln(tcount); catch (SQLException e) e.p rintStackTrace);out.writeUTF(lnteger.toString(tcount);out.writeUTFfdbt); / 将读到的试题返回到客戸端System.out. pnntln(not connect db); catch lOException el) System.out. pnntln(not readclient select!);传送考试时间 out.writeUTF(+Timecount);out.fl
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1