驾考中心网络考试管理信息系统分析与设计Word格式文档下载.docx
《驾考中心网络考试管理信息系统分析与设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《驾考中心网络考试管理信息系统分析与设计Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
包含三个实体即考生、考官、管理员,六个数据处理即考生登录、考生考试、考官登录、考官管理、管理员登录、管理员管理。
该图反应出了考试系统总的情况
6.2考生考试数据流图
考生考试数据流图:
包括一个实体(考生)和考试等多个数据处理,该图反应出了考生情况。
学员通过考试来获得考试成绩。
其中,学员考试的试卷来自试卷数据库中,从资料记录中得到个人资料并且可以做出修改
6.3教官管理数据流图:
包括一个实(教官)和试题管理、试卷管理等多个数据处理及六个数据存储。
该图体现了教官对系统的管理情况,教官通过试题管理、试卷管理、添加试卷、添加试题来完成对试卷试题的编辑和发布。
教官从学员答题的情况和成绩的情况考虑应该增减什么试题试卷。
其数据流如图5所示。
6.4管理员管理数据流图:
包括一个实体(管理员)和科目管理等多个数据处理及四个数据存储。
该图体现了管理员对系统的管理情况,管理员可以进行所有用户的账户管理,科目的管理。
7.数据字典
以下是系统数据字典的部分数据条目,分别按照外部实体定义,处理过程定义,数据流定义编写
1)外部实体定义
名称:
管理员
说明:
管理此系统的管理员
输入数据流:
输出数据流:
账户信息
总编号:
1-01
编号:
01
考官
管理试卷和题目
题目信息试卷信息
1-02
02
2)处理过程定义
考生注册
考生信息注册
功能:
讲考生信息录入数据库
考生信息
2-01
01
考生考试
考试过程及结果
提供考试过程与结果
成绩信息
2-02
考生信息设置
修改考生信息
2-03
03
题目管理设置
对题目的设置
增加修改题目
题目信息
2-04
04
试卷管理设置
对试卷的设置
增加修改试卷
试卷信息
2-05
05
考官资料设置
增加修改考官资料
责怪修改考官资料
考官信息
2-06
06
成绩统计
统计成绩
统计成绩
2-07
07
3)数据流定义
数据流来源:
S
数据流去向:
3-01
3-02
3-03
3-04
3-05
管理员信息
3-06
8.处理模块
系统由三个大模块和十二个小模块组成
二.系统设计报告
1.系统功能模块设计
1)考试模块
由于采用Web技术实现,所以从理论上讲,考试可以在任何时候、任何地方进行,但是为了使考场易于组织和管理,所以本系统的考生必须先注册一下,然后才能进行考试,如果考生没有注册,系统也会认为是非法考生,系统给出提示信息,并重新定位到登录页面;
如信息正确,则显示试卷页面,试卷页面上的试题内容根据考生输入的试卷代号从数据库中取出符合条件的记录动态地生成。
同时在页面上显示考试设定的时间,当考生点击“交卷”按钮时,系统就会把考生答案传送至服务器的数据库中保存起来,并把数据库中标记考生是否参加过考试的标记置为已考。
考试子系统是网络考试系统的核心部分
2)试卷管理模块
进行考试必须要有试卷,网上考试也不例外。
在此模块中教官可以对所有试卷进行管理,其中包括预览、发布和删除试卷。
3)题目管理模块
试卷必须要有题目。
再次模块找那个考官可以对所有题目进行管理,其中包括查看增加修改题目。
4)成绩管理模块
考生经过考试取得成绩。
考官和管理员可以在此模块中进行管理,包括查看和统计成绩
5)信息管理模块
本模块主要分为两个部分。
一是教官用户管理,二是考生信息的管理。
这其中就包括对教官及考生信息的增加、修改与删除。
2.数据库设计
1)连接数据库
在web中连接数据库,可以创建一个conn.java文件,然后编写代码如下:
publicconn(){
try{
Class.forName("
com.microsoft.jdbc.sqlserver.SQLServerDriver"
);
}catch(Exceptione){
}
Stringpath="
jdbc:
microsoft:
sqlserver:
//127.0.0.1:
1433;
DatabaseName=user1"
;
Stringname="
sa"
Stringword="
"
conn=DriverManager.getConnection(path,name,word);
}catch(Exceptione){
2)逻辑结构设计
考生student(考号,姓名,性别,科目,密码)
成绩score(考号,成绩,科目)
考官信息表teacher(考官号,姓名,密码)
管理员信息表mananger(管理员号,姓名,密码)
题目表title(编号,考题题型,题目)
试卷表shijuan(编号,试卷名称,试卷类型,题目数量,每题分数,总分,考试时间)
答案表answer(编号,考题类型,题目,答案a,答案b,答案c,答案d,正确答案)
3)数据表设计
题目表
编号
列名
数据类型
空标记/主键
说明
1
Id
Int(4)
N/Y
2
leixing
varchar(50)
N/N
考题题型
3
Timu
题目
考生表
ID
考号
name
姓名
sex
性别
4
subject
科目
5
password
密码
表3试卷表
int(4)
shijuan_name
试卷名称
shijuan_bumen
试卷类型
timu_shuliang
题目数量
meitifenshu
每题分数
6
zongfen
总分
7
kaoshi_sj
char(10)
考试时间
考官信息表
考官号
管理员信息表
管理员号
成绩表
id
kaoshi_cj
考生成绩
答案表
空标记
1
Leixing
考题类型
varchar(5000)
Xxa
答案a
Xxb
答案b
Xxc
答案c
Xxd
答案d
8
daan
正确答案
varchar(22)
varchar(2000)
4)系统总体E-R图
3代码设计
//登录界面
<
title>
无标题文档<
/title>
<
linktype="
text/css"
rel="
stylesheet"
href="
css/load.css"
/>
scripttype="
text/javascript"
src="
js/operation.js"
>
/script>
/head>
body>
divid="
apDiv1"
p>
姓名:
inputtype="
type"
name="
name"
/p>
密码:
password"
pass"
size="
20"
palgin="
left"
>
登录身份:
selectid="
choseCon"
option>
请选择登录身份<
/option>
optionvalue="
kaoshi"
考生<
tiku"
考官<
guanli"
管理员<
/select>
<
inputid="
loginBtn"
type="
button"
value="
登录"
B1"
reg"
注册"
B3"
/div>
/body>
//登录界面CSSJSP代码
CSS
*{
margin:
0;
border:
padding:
}
body{
background:
url(../images/53166-1111111P24159.png)no-repeatfixedcentertoprgba(0,0,0,0);
_background:
url(../images/53166-1111111P24159.png)no-repeatfixedcentertopno-repeat;
background-attachment:
fixed;
text-align:
center;
#apDiv1{
position:
absolute;
width:
300px;
height:
200px;
z-index:
1;
left:
579px;
top:
314px;
font-size:
20px;
color:
#900;
#choseCon{
125px;
.loginBtn{width:
50px;
JSP代码
/**
*@authorLance
*/
functioncheck(){
if(document.form1.pass.value!
=document.form1.confirm.value){
window.confirm("
对不起,密码有误!
document.form1.pass.focus();
returnfalse;
}
elseif(document.form1.name.value=="
){
window.alert("
请输入姓名!
document.form1.name.focus();
elseif(document.form1.email.value=="
请输入Email地址!
document.form1.email.focus();
elseif(document.form1.pass.value.length<
6){
密码太短,至少输入6位密码!
elseif((document.form1.email.value.indexOf('
@'
0)==-1)||(document.form1.email.value.indexOf('
.'
0)==-1)){
输入Email地址有误!
else{
alert('
提交成功!
'
document.form1.submit();
window.location="
注册登录页面.htm"
window.onload=function(){
varchoseCon=getId('
choseCon'
varloginBtn=getId('
loginBtn'
varregBtn=getId('
reg'
varchoseContent;
choseCon.onchange=function(){
choseContent=this.value;
};
loginBtn.onclick=function(){
window.location=choseContent+'
.html'
regBtn.onclick=function(){
window.location='
zhuce.html'
};
functiongetId(idNmae){
returndocument.getElementById(idNmae);
//注册界面
html>
head>
metahttp-equiv="
Content-Type"
content="
text/html;
charset=utf-8"
js/check.js"
formmethod="
get"
form1"
action="
code/3/formdeal.jsp"
h1align="
center"
注册信息<
/h1>
palign="
姓名:
text"
性别:
radio"
男"
checkedname="
sex"
男
女"
女.&
nbsp&
nbsp
职业:
selectsize="
1"
work"
学生<
白领<
工人<
个体<
optionselected>
失业
&
nbsp身份证号:
id"
p>
联系电话:
tel"
邮箱地址:
email"
爱好:
CC"
安运"
安运
鹤城"
checked>
鹤城
捷成"
捷成
顺通"
顺通
教育"
教育
奥林"
奥林
密码:
<
确认密码:
confirm"
备注:
textarearows="
10"
des"
cols="
30"
/textarea>
提交"
onClick="
check()"
input