在线考试系统毕业论文_第1页
在线考试系统毕业论文_第2页
在线考试系统毕业论文_第3页
在线考试系统毕业论文_第4页
在线考试系统毕业论文_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录摘要 3第一章需求分析 31.1功能需求 31.2性能需求 41.3可靠性和可用性 41.4系统ER图 41.5工具选择 51.6实现环境 6第二章总体设计 72.1系统模块 72.1.1系统模块图 72.1.2用例图 72.1.3管理员功能模块 102.1.4教师功能模块 102.1.5学生功能模块 102.2数据库设计 11第三章详细设计 113.1数据表 113.2具体模块设计 173.2.1学生信息管理模块 173.2.2教师信息管理模块 213.2.3试卷信息管理 253.2.4科目信息管理 27第四章系统测试 29第五章结束语 31参考文献 31致谢 32在线考试系统的设计与实现摘要:随着网络技术的日益成熟,网络已经深入到生活的每一个角落,包括教育、购物、咨询、办公等等许多领域。在网络迅速发展的今天,网页技术的应用也越来越广泛。网页技术的应用对于教育行业来说优势更加的明显。教育行业可以通过网络进行学生和教职工的管理、组织学生在线考试、在网站上发布学校相关信息等活动。这样不仅能增加学校管理的透明度,还提高了学校的管理水平。在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。本文重点论述了由于网络的存在扩大了学校的服务范围,为学校的管理提供了更多的条件。对此做出了详细的调查,可行性研究和分析。系统采用了B/S结构,在网络上建立学校自己的教育网站。系统开发经历了系统分析、系统设计和系统实施三个阶段。从设计方案的提出,经过详细的调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性;并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。论文整体是基于浏览器/服务器,前台应用Jsp技术,后台采用SQLServer2005作为数据库与前台连接。关键词:网络;教育;在线考试;B/S结构;Jsp技术第一章需求分析1.1功能需求本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。系统应具基本功能如下:科目管理题库管理(选择题,填空题,判断题,问答题)学生管理教师管理管理员信息管理手动组卷随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷)考试页面阅卷管理成绩查询1.2性能需求由于此系统为在线考试系统,响应速度一定要快,要在10秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。1.3可靠性和可用性由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。系统可用性也一定要高,尽量避免不可用几率的发生。1.4系统ER图专业专业学号登录密码登录密码用户名密码N1N11NNN考生老师管理员姓名班级性别所教科目姓名教师编号试卷出卷考试管理管理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管理员功能模块此模块包括用户管理、科目管理、成绩查询、章节管理、试卷管理五个部分。用户管理:此模块包括学生管理、教师管理、管理员管理学生管理:对学生信息进行添加、修改和删除。教师管理:对教师信息进行添加、修改和删除、查询学生的成绩。管理员管理:修改管理员密码、对教师和学生信息可以查询与修改。科目管理:对科目信息进行添加、修改和删除。成绩查询:对学生考试的结果进行查询。题套管理:对各科的章节进行添加、修改和删除。试卷管理:对试卷进行增加、删除、修改、添加。2.1.4教师功能模块此模块包括题库管理、试卷生成、阅卷管理、信息修改四个部分题库管理:此模块包括试题管理和试题查询。试题管理:对试题进行添加、修改、删除。试题查询:对试题进查询。试卷生成:此模块包括手动组卷和随机组卷。手动组卷:手动选择题型、题数进行组卷。随机组卷:按固定的题型和分值进行组卷。阅卷管理:对试卷进行批阅,客观题进行自动阅卷,主观题由教师进行阅卷信息修改:只限教师对自己的密码进行修改。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())中的方法调用数据库中的存储过程对数据进行操作<body><center><formaction="Zce1.jsp"method="post">学号:<inputtype="text"name="id"><br><br>姓名:<inputtype="text"name="Sname"><br><br>密码:<inputtype="Password"name="pwd"><br><br>手机号:<inputtype="text"name="Phone"><br><br>性别:<inputtype="radio"name="1"value="true">男<inputtype="radio"name="1"value="false">女<br><br>注册时间:<inputtype="text"name="jointime"format="yyyy-MM-dd"/><br><br>班级:<selectname="clas"><option>软件3班</option><option>软件2班</option><option>软件1班</option><option>市场营销2班</option><option>财务1班</option></select><br><br>专业:<selectname="Prefession"><option>软件技术</option><option>财务</option><option>市场营销</option></select><br><br>地址:<selectname="Address"><option>湖南长沙</option><option>湖南株洲</option><option>湖南湘潭</option><option>湖南岳阳</option><option>湖南益阳</option><option>湖南邵阳</option><option>湖南衡阳</option><option>湖南张家界</option><option>广东广州</option></select><br><br>类型:<selectname="type"><option>学生</option></select><br><br><inputtype="submit"value="提交"name="t3">   <inputtype="reset"value="重置"name="t3">   </form></center></body></html><html><body><center><h2><%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("<h1>"+"该用户已经存在"+"</h1>");}}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("<h1>"+"注册成功"+"</h1>");}%><ahref="denglu.jsp">返回登录页面</a></h2></center></body></html>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"><html><head><basehref="<%=basePath%>"><title>MyJSP'Addtion1.jsp'startingpage</title></head><body><center><h2><%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("<h1>"+"该用户已经存在"+"</h1>");}}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("<h1>"+"注册成功"+"</h1>");}if(n.equals("老师")){ResultSetrs=st.executeQuery("select*fromTB_TeacherwhereSname"+"="+"'"+name+"'"+",Pwd"+"="+"'"+pwd+"'"+",Type"+"="+"'"+type1+"'");if(rs.next()){out.println("<h1>"+"该用户已经存在"+"</h1>");}}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+"'"+")");out.println("<h1>"+"注册成功"+"</h1>");}%><ahref="denglu.jsp">返回登录页面</a></h2></center></body></html>3.2.3试卷信息管理图3.5试卷信息管理界面设计思路:管理对试卷信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录。实现代码(部分):</head><bodybackground="image/zxk.png"><%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectioncon=DriverManager.getConnection("jdbc:odbc:EXAM","sa","123");Statementst=con.createStatement();ResultSetrs=st.executeQuery("select*fromTB_Tao");%><%while(rs.next()){inti=rs.getInt("id");%><tablewidth="800"border="1"><tr><tdheight="40"align="center"valign="middle"bgcolor="#339999"colspan="5"><h3>考试信息管理</h3></td></tr><tr><thalign="center"valign="middle">题型</th><thalign="center"valign="middle">分数</th><thalign="center"valign="middle"colspan="3">说明</th></tr><tr><thalign="center"valign="middle">单选题</th><thalign="center"valign="middle">5</th><tdalign="center"valign="middle"colspan="3"">考生须知</td><tdrowspan="3"></td></tr><tr><thalign="center"valign="middle">多选题</th><thalign="center"valign="middle">5</th><tdalign="center"valign="middle"colspan="3"">考生在考试之前请阅读考生手册</td></tr><tr><thalign="center"valign="middle">填空题</th><thalign="center"valign="middle">5</th><tdalign="center"valign="middle"colspan="3">具体操作如:1.考生点击试题管理查看你所需考的科目和题目的难度记住你所需考科目的编号</td></tr><tr><thalign="center"valign="middle">判断题</th><thalign="center"valign="middle">5</th><tdalign="center"valign="middle"colspan="3">2.再点击进入考试,填写你所需考的科目和学号,并且提交就可以考试</td></tr><tr><thalign="center"valign="middle">题套Id</th><thalign="center"valign="middle">试卷名字</th><thalign="center"valign="middle">试卷编号</th><thalign="center"valign="middle">考试时间</th><thalign="center"valign="middle">删除操作</th></tr><tr><tdalign="center"valign="middle"><%out.println(i);%></td><tdalign="center"valign="middle"><%out.println(rs.getString("Tname"));%></td><tdalign="center"valign="middle"><%out.println(rs.getInt("LessonID")+"<br>");%></td><tdalign="center"valign="middle"><%out.println(rs.getDate("JoinTime")+"<br>");%></td><tdalign="center"valign="middle">选择</td></tr><%}%></table></body>3.2.4科目信息管理图3.6科目信息管理界面图3.7添加科目信息界面设计思路:管理对科目的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加科目记录窗口(如图3.7)添加科目记录。实现代码(部分):<body><center><h2><%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("Tname");name=newString(name.getBytes("iso-8859-1"),"utf-8");StringLessonId=request.getParameter("Lessonid");LessonId=newString(LessonId.getBytes("iso-8859-1"),"utf-8");Stringjointime=request.getParameter("jointime");jointime=newString(jointime.getBytes("iso-8859-1"),"utf-8");Connectioncon=null;Statementsql=null;ResultSetrs=null;Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");con=DriverManager.getConnection("jdbc:odbc:EXAM","sa","123");sql=con.createStatement();Stringcondition="insertintoTB_Taovalues"+"("+"'"+id+"','"+name+"','"+LessonId+"','"+jointime+"')";sql.executeUpdate(condition);%><%rs=sql.executeQuery("selectidas学号,Tnameas课程名,LessonIdas课程号,JoinTimeas时间fromTB_Tao");%><tableborder=2width=500><tralign=center><td><b>记录条数</b></td><td><b>学号</b></td><td><b>姓名</b></td><td><b>课程名</b></td><td><b>时间</b></td></tr><%while(rs.next()){%><

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论