目 錄
摘 要 Ⅰ
Abstract Ⅱ
1 緒 論 1
1.1 背景 1
1.2 國(guó)內(nèi)外現(xiàn)狀 2
1.3 系統(tǒng)開(kāi)發(fā)的目標(biāo)與意義 2
1.3.1 系統(tǒng)開(kāi)發(fā)目標(biāo) 2
1.3.2 意義 2
2 開(kāi)發(fā)技術(shù)背景 4
2.1 Java語(yǔ)言 4
2.2 Struts2 4
2.3 Spring 5
2.4 Hibernate 5
2.5 JavaScript 6
2.6 JSP 6
2.7 MySQL數(shù)據(jù)庫(kù) 7
2.8 開(kāi)發(fā)環(huán)境 7
3 系統(tǒng)需求分析和設(shè)計(jì) 9
3.1 系統(tǒng)的基本需求 9
3.2 系統(tǒng)的設(shè)計(jì)思想 10
3.3 系統(tǒng)功能需求分析 10
3.4 系統(tǒng)的功能模塊 11
3.5 系統(tǒng)的工作流程 13
3.6系統(tǒng)模塊詳細(xì)設(shè)計(jì) 16
4 數(shù)據(jù)庫(kù)設(shè)計(jì) 19
4.1 數(shù)據(jù)庫(kù)需求分析 19
4.2 數(shù)據(jù)表的結(jié)構(gòu)設(shè)計(jì) 19
5 系統(tǒng)實(shí)現(xiàn)與編碼 24
5.1 學(xué)生登錄實(shí)現(xiàn) 24
5.1.1 學(xué)生登錄選擇頁(yè)面 24
5.1.2 學(xué)生登錄頁(yè)面 24
5.1.3 學(xué)生登錄主頁(yè)面 25
5.1.4 進(jìn)行考試 26
5.1.5 考試記錄 27
5.1.6 我的班級(jí) 28
5.1.7 完善信息 29
5.1.8 修改密碼 29
5.2 教師登錄 30
5.2.1 教師登錄選擇頁(yè)面 30
5.2.2 教師登錄頁(yè)面 30
5.2.3 教師登錄主頁(yè)面 31
5.2.4 題庫(kù)管理 31
5.2.5 試卷管理 32
5.2.6 班級(jí)管理 33
5.2.7 學(xué)生管理 34
5.2.8 我的信息 35
5.3 管理員登錄 36
5.3.1 管理員登錄選擇頁(yè)面 36
5.3.2 管理員登錄頁(yè)面 36
5.3.3 管理員登錄主頁(yè)面 37
5.3.4 管理員-題庫(kù)管理 37
5.3.5 管理員-試卷管理 37
5.3.6 管理員-班級(jí)管理 37
5.3.7 管理員-學(xué)生管理 37
5.3.8 管理員-我的信息 37
5.3.9 考試管理 37
5.3.10 教師管理 39
6 系統(tǒng)測(cè)試 40
6.1 界面測(cè)試 40
6.2 功能測(cè)試 40
7 總 結(jié) 42
致 謝 43
參考文獻(xiàn) 44
3 系統(tǒng)需求分析和設(shè)計(jì)
很多學(xué)校學(xué)生的期末考試仍采用任課教師(個(gè)人或集體)考前出題的方式。為解決學(xué)生壓題,考前漏題,補(bǔ)(緩)考試題與正式考試試題題量及難度差異問(wèn)題,教務(wù)管理部門(mén)通常要求教師同時(shí)出多套試卷,其題量與難度要求相同,并且要同時(shí)給出答案和評(píng)分標(biāo)準(zhǔn)。這樣做雖能解決一些問(wèn)題,但給教師增加了很大的工作負(fù)擔(dān),若上下屆學(xué)生的同一門(mén)課程由同一教師承擔(dān),則難免幾屆學(xué)生用相同幾套試卷;若由不同教師任課出題,則上下屆學(xué)生的成績(jī)之間又不具有可比性。 若建立題庫(kù),每次考試前由題庫(kù)中題目隨機(jī)生成試卷,則可較好地解決考教分離的問(wèn)題,也可將廣大教師從每學(xué)期末繁重的命題工作中解放出來(lái)。近年來(lái),部分學(xué)校陸續(xù)開(kāi)發(fā)了一些基于微機(jī)的題庫(kù)系統(tǒng),并作為成果向其它學(xué)校推廣,但這些題庫(kù)一般都是結(jié)合本校具體情況,針對(duì)單一課程的小型題庫(kù),甚至某些學(xué)校購(gòu)得的題庫(kù)系統(tǒng)中的題目本身是不可維護(hù)的,即使題目已不適合自己的學(xué)生考試使用,也無(wú)法更新題庫(kù)中的題目。為解決題庫(kù)系統(tǒng)中存在的這些問(wèn)題,最后給出了一個(gè)較為理想的題庫(kù)系統(tǒng)解決方案,并結(jié)合當(dāng)前比較使用的B/S結(jié)構(gòu)開(kāi)發(fā)一個(gè)功能完備的網(wǎng)上在線(xiàn)考試系統(tǒng)。。
3.1 系統(tǒng)的基本需求
結(jié)合現(xiàn)階段互聯(lián)網(wǎng)技術(shù)的發(fā)展和用戶(hù)的需求,《基于JavaWeb的在線(xiàn)考試系統(tǒng)》應(yīng)具有以下鮮明特點(diǎn):
1.學(xué)生登錄功能:
學(xué)生在線(xiàn)考試,考試記錄查詢(xún),答題詳情查詢(xún),班級(jí)查詢(xún),完善信息,修改密碼。
2.教師登錄功能:
題庫(kù)管理,試卷管理,班級(jí)管理,學(xué)生管理,我的信息。
3.管理員登錄功能:
題庫(kù)管理,試卷管理,班級(jí)管理,考試管理,教師管理,學(xué)生管理,我的信息。
3.2 系統(tǒng)的設(shè)計(jì)思想
系統(tǒng)的設(shè)計(jì)主要面對(duì)的是用戶(hù)的需求,因?yàn)橹挥杏脩?hù)的需求才是在線(xiàn)考試系統(tǒng)成功的根本。
界面設(shè)計(jì)充分考慮瀏覽用戶(hù)的習(xí)慣,而且所有網(wǎng)頁(yè)設(shè)計(jì)清新、簡(jiǎn)潔、合理,不會(huì)讓用戶(hù)感到視覺(jué)疲勞??刹僮餍院軓?qiáng)。
3.3 系統(tǒng)功能需求分析
本系統(tǒng)適用于學(xué)校進(jìn)行在線(xiàn)考試,實(shí)現(xiàn)了學(xué)生登錄功能:學(xué)生在線(xiàn)考試,考試記錄查詢(xún),答題詳情查詢(xún),班級(jí)查詢(xún),完善信息,修改密碼。教師登錄功能:
題庫(kù)管理,試卷管理,班級(jí)管理,學(xué)生管理,我的信息。管理員登錄功能:題庫(kù)管理,試卷管理,班級(jí)管理,考試管理,教師管理,學(xué)生管理,我的信息。
在需求分析的基礎(chǔ)上,結(jié)合基于JavaWeb的在線(xiàn)考試系統(tǒng)的總體目標(biāo),從信息系統(tǒng)目標(biāo)、業(yè)務(wù)功能、技術(shù)性能等方面對(duì)用戶(hù)的需求進(jìn)行分析,最終確定了可行的、合理的系統(tǒng)功能需求。系統(tǒng)主要功能需求如下:
1.用戶(hù)登錄功能:新用戶(hù)輸入相關(guān)注冊(cè)信息進(jìn)行驗(yàn)證注冊(cè)。
2.學(xué)生在線(xiàn)考試功能:學(xué)生登錄后可進(jìn)行目前正在進(jìn)行的考試。
3.考試記錄查詢(xún):學(xué)生可查詢(xún)考試記錄。
4.答題詳情查詢(xún):學(xué)生可查詢(xún)歷史考試的具體試題、答案、分?jǐn)?shù)等信息。
5.班級(jí)查詢(xún):學(xué)生可查詢(xún)個(gè)人所在班級(jí)信息。
6.完善信息:學(xué)生可完善修改個(gè)人相關(guān)信息。
7.修改密碼:學(xué)生可修改登錄密碼。
8.題庫(kù)管理:教師/管理員可對(duì)題庫(kù)進(jìn)行管理。
9.試卷管理:教師/管理員可對(duì)試卷進(jìn)行管理。
10.班級(jí)管理:教師/管理員可對(duì)班級(jí)進(jìn)行管理。
11.學(xué)生管理:教師/管理員可對(duì)學(xué)生信息進(jìn)行管理。
12.教師管理:管理員可對(duì)教師信息進(jìn)行管理。
13.我的信息:教師/管理員可對(duì)個(gè)人信息進(jìn)行查看修改。
3.4 系統(tǒng)的功能模塊
基于JavaWeb的在線(xiàn)考試系統(tǒng)由三個(gè)大模塊組成:學(xué)生登錄,教師登錄,管理員登錄。
學(xué)生登錄功能模塊有:本文轉(zhuǎn)載自http://www.biyezuopin.vip/onews.asp?id=12755學(xué)生在線(xiàn)考試,考試記錄查詢(xún),答題詳情查詢(xún),班級(jí)查詢(xún),完善信息,修改密碼。
教師登錄功能模塊有:題庫(kù)管理,試卷管理,班級(jí)管理,學(xué)生管理,我的信息。
管理員登錄功能模塊有:題庫(kù)管理,試卷管理,班級(jí)管理,考試管理,教師管理,學(xué)生管理,我的信息。
1.學(xué)生框架圖如圖3.1所示。
圖3.1 學(xué)生登錄框架圖文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-545050.html
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'tdenglu.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
body{
margin:0;
padding:0;
}
.div1{
background-color:#EDEDED;
margin:0 auto;
padding:0px;
width:80%;
height:768px;
}
.div2_1{
width:100%;
height:100px;
background-color:#1183C2;
}
.div2_2{
margin:50px 0 0 250px;
background-color:#CCC;
width:50%;
height:300px;
}
.div3_1{
margin:0;
padding:0;
width:80px;
height:80px;
float:left;
}
.div3_2{
margin:25px 0 0 200px;
padding:0px;
float:left;
color:#FFF;
font-size:48px;
}
#errspan{
text-align: center;
font-size: 14px;
color: red;
}
img{
width:100%;
height:100%;
margin:15px 0 0 120px;
}
table{
margin:50px 0 0 0 ;
padding:50px 0 0 0 ;
width:500px;
height:250px;
text-align:center;
table-layout:fixed ;
}
</style>
<script type="text/javascript">
function checkId(){
var sid = document.getElementById("sid").value;
var idspan = document.getElementById("idspan");
var reg = /^[0-9]{2,11}$/i;
var flag ;
if(sid == ""){
idspan.innerHTML = "* 學(xué)號(hào)不能為空".fontcolor("red").fontsize("2px");
flag = false;
}else if(!reg.test(sid)){
idspan.innerHTML = "* 學(xué)號(hào)只能是數(shù)字".fontcolor("red").fontsize("2px");
flag = false;
}else{
idspan.innerHTML = "";
flag = true;
}
return flag;
}
function checkPW(){
var password = document.getElementById("password").value;
var pwspan = document.getElementById("pwspan");
var flag = false;
if(password == ""){
pwspan.innerHTML = "* 密碼不能為空".fontcolor("red").fontsize("2px");
flag = false;
}else{
pwspan.innerHTML = "";
flag = true;
}
return flag;
}
function checkForm(){
if(checkId() && checkPW()){
return true;
}else{
return false;
}
}
</script>
</head>
<body>
<div class="div1">
<div class="div2_1">
<div class="div3_1">
<img src="${pageContext.request.contextPath }/images/bzxylogin.jpg"/>
</div>
<div class="div3_2">
<span>在線(xiàn)考試系統(tǒng)V1.0</span>
</div>
</div>
<div class="div2_2">
<center>
<form id="form1" action="${pageContext.request.contextPath }/student_login.action" method="post" onsubmit="return checkForm()" >
<table border="0px">
<tr>
<td style="text-align:center" colspan="3">學(xué)生登錄</td>
</tr>
<tr>
<td style="text-align:right;">學(xué) 號(hào)</td>
<td style="text-align:left;">
<input id="sid" type="text" style="width:160px;" name="sid" onblur="checkId()" />
</td>
<td style="text-align:left;"><span id="idspan"></span></td>
</tr>
<tr>
<td style="text-align:right;">密 碼</td>
<td style="text-align:left;">
<input id="password" type="password" style="width:160px;" name="password" onblur="checkPW()"/>
</td>
<td style="text-align:left;"><span id="pwspan"></span></td>
</tr>
<tr>
<td colspan="3">
<input style="width:100px; height:30px" type="submit" value="登錄"/>
<input style="width:100px; height:30px" type="reset" value="重置"/>
</td>
</tr>
</table>
</form>
</center>
<span id="errspan" style="test"><s:actionerror/></span>
</div>
</div>
</body>
</html>
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-545050.html
到了這里,關(guān)于基于JavaWeb的在線(xiàn)考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!