ASP在线考试制卷系统的设计与实现

链接:https://pan.baidu.com/s/1Xwd0U_KktL0hRFPaggIOGQ?pwd=6688 
提取码:6688

1 总体设计

1.1 系统设计

在线考试系统可实现考生在线答题,管理员在线录题及生成试卷,系统管理维护,共分为五大主要子系统:新闻模块,登陆,考试模块,领导审核,后台管理。

(1)进入考试系统

<1>输入管理员或普通用户的ID和密码,以普通用户的身份进入系统时选择要考试的科目,以管理员的身份进入系统,这时页面上方的导航条已经改变,增加了科目管理、试卷管理、生成试卷、新闻发布等选项。

(2)首页

<1>系统的首页主要使用框架搭建,主要分为四个部分:顶部工具条、左侧用户信息栏、右侧中部系统时间信息栏、右下侧是用户所选的功能模块界面默认为的考试新闻信息栏。

(3)新闻页面

<1>关于发布以及显示考试方面(如:考试科目,考试时间等)的相关信息,考场纪律及注意事项。

(4)登录

<1>登录界面需要让用户输入用户名、密码,以及进入系统的身份(考生和系统管理员)。如果输入错误还要返回该页面,程序还要判断是否因为错误登录信息而造成的再次进入,如果是还要显示错误信息。

(5)考试模块

<1>考试模块:只有一个考试的列表,表格的每一列的内容分别是:序号、考试科目、考试时间、操作(进入考场的链接)。

<2>成绩查询:本页面可以提供对考生以往的考试成绩的多功能查询功能,这里应该可分科目显示考生以往的考试成绩。页面的实现基本上同题库的实现页面相同。

(6)领导审核

<1>项目的审核:进入此界面后,在新闻的下方有系统提示的审批请求,单击进入审批页面。审批内容包括考试计划和考试新闻的审批,如果考试信息审核通过则考试按照计划执行,如果新闻审核通过则新闻发布。若未通过则考试信息和新闻不发布。

(7)后台管理

系统管理员界面的首页与普通用户的公共首页基本上一样,只是上方的工具栏发生变化,管理员工具条增加了对系统数据库维护的几个选项。

<1>科目管理:主要实现对考试科目的添加、删除等功能。首先,在页面上添加一个表单用来提交科目的增添操作。然后,需要在页面中显示已有的用于考试的科目。

<2>题库管理:主要的功能是实现试题内容的添加、修改、删除、查询等操作以及对现有试题库的科目、题型的浏览。首先要实现的是页面中的操作有效性提示部分,其次题库的显示可以按照科目题型分类和按照关键字显示,这里采用一个提供选项的表单。最后是要显示已有的题库。由于题库的容量庞大,所以必须采用分页显示。

<3>生成试卷:管理先向系统提交想要生成的试卷的各种信息,这个信息必须通过领导审批才能作为一次正式的考试。本系统处理考试试卷的生成总共需要三部分:第一步,管理员需要向系统提交试卷的基本信息。在页面中添加一个表单,在表单内插入一个表格,表格内输入考试的题目、题型、数目、各题的分值、考试的有效期。第二步,管理员需要向系统提交参加考试的人员名单以及审核考试信息的领导姓名。只要在页面中添加一个两行的表格,第一行显示的内容分别为:编号、姓名、职务、部门、单位。名单的显示是通过调用系统用户表生成的,这样可以方便的组织某一部门的考试。审核领导的名单是通过对系统用户的职务级别判断产生的。第三步,管理员确认所有信息无误后将所有考试信息存入数据库,生成试卷成功。制卷逻辑流程如图2-1所示。

添加图片注释,不超过 140 字(可选)

<4>信息发布:管理员添加考试新闻(如:科目的考试通知等)需要填写的内容有标题、正文、有效期、审核领导和姓名。审核领导姓名通过查询数据表自动形成。管理确认提交后,系统将信息加入数据库。当一条考试计划或者考试新闻成功添加以后,管理员在这个项目通过审批前有权取消计划。审核功能流程如图2-2所示。

添加图片注释,不超过 140 字(可选)

1.1 数据库概念模型

E-R(Eneity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模,依据概念模型设计应具的特点:真实性、易理解性、易修改性、易转换性,系统数据库的E-R图如图2-3所示。

添加图片注释,不超过 140 字(可选)

1.1 数据库的分析与设计

在线考试系统数据库采用Microsoft SQL SERVER,数据库中表及其作用如下:

(1)用户信息表(cadre_info)

用于存储所有用户的信息(包括:考号、考生姓名、密码、职务信息、管理员权限)

(2)部门信息表(department)

为了考试的分部门管理以及查询所建立的部门信息表(包括:部门名称)

(3)考试科目信息表(exam_subject)

为存储考试的科目信息所建立的科目信息表(包括:科目编号、科目名称)

(4)新闻信息表(exam_news)

考试信息发布需要存储新闻信息所建立的新闻信息表(包括:新闻编号、标题、正文内容、创建人、审核发布人、创建日期、审核通过的发布日期)

(5)题库信息表(exam_database)

为了存储题库所建立的题库信息表(包括:题目编号、题干、选项、正确答案、考试时是否以被选过的标记)

(6)考试信息表(exam_test)

存储管理员已经制定了的考试所建立的考试信息表(包括:考试编号、各科目的数量、各科目的分值、考试时间、创建者、审核者、开始日期、结束日期、设置日期)

(7)考生信息表(exam_testuser)

为存储每次参加考试又那些考生所建立的考生信息表(包括:考生考号、考试编号、是否考过标记)

(8)等待通过的项目信息表(waitforpass)

为存储等待通过的项目(包括考试和要发布的新闻)所建立的项目信息表(包括:等待通过的项目类别、编号、审核者、审核日期、是否通过)

(9)考试成绩信息表(exam_score)

为存储每个考生的考试成绩信息所建立的成绩信息表(包括:考生的各种信息、考试信息、考试成绩)

(10)考试新闻系统登录信息表(exam_news_log)

为能查看没有看新闻的考生所建立的日志表(包括:新闻编号、登录用户)

如表2-1、2-2、2-3、2-4、2-5、2-6、2-7、2-8、2-9和2-10所示。

表2-1 cadre_info

字段名

数据类型

长度

是否允许为空

字段描述

UserID

bigint

8

身份证号(主键)

UserName

nvarchar

50

真实姓名

Pwd

nvarchar

50

密码

Department

nvarchar

50

部门(外键)

Office

nvarchar

50

所在单位(外键)

Duties

nvarchar

50

职务(外键)

Rank

nvarchar

50

系统权限(外键)

Ifadmin

bit

1

是否激活

表2-2 department

字段名

数据类型

长度

是否允许为空

字段描述

department

nvarchar

50

部门(主键)

表2-3 exam_subject

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

学科ID(主键)

exam_subject

nvarchar

50

学科名称(外键)

表2-4 exam_news

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

新闻ID(主键)

newsid

int

4

新闻编号(外键)

title

ntext

16

标题

youxq

int

4

有效期

fabsj

datetime

8

开始时间

fabr

nvarchar

50

审核人

passuserid

int

4

审核人ID(外键)

passtime

nvarchar

50

通过时间

表2-5 exam_database

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

试题ID(主键)

subject

nvarchar

50

学科名称(外键)

type

nvarchar

50

试题类型(外键)

question

ntext

16

题干

text1

ntext

16

选项1

text2

ntext

16

选项2

text3

ntext

16

选项3

text4

ntext

16

选项4

text5

ntext

16

选项5

text6

ntext

16

选项6

answer

nvarchar

50

标准答案

mark

int

4

标号(在随机选题是确保不重复选题)

difficult

int

4

该试题难度等级

表2-6 exam_test

字段名

数据类型

长度

是否允许为空

字段描述

testid

int

4

试卷ID(主键)

subject

nvarchar

50

学科名称(外键)

totalper

int

4

试卷总分

singlecount

int

4

单选题数目

singleper

int

4

单选题分值

multicount

int

4

多选题数目

multiper

int

4

多选题分值

judgecount

int

4

判断题数目

judgeper

int

4

判断题分值

testtime

int

4

考试总时间

starttime

datetime

8

开始考试时间

Endtime

datetime

8

结束考试时间

settime

datetime

8

制卷时间

setuserid

int

4

制卷人ID(外键)

passuserid

int

4

审核人ID(外键)

passtime

datetime

8

考试用时

difficult

int

4

试卷难度系数

表2-7 exam_testuser

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

testid

int

4

试卷ID

userid

int

4

用户ID

havetest

bit

1

考试过标记

表2-8 waitforpass

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

objname

nvarchar

50

项目名称

objid

int

4

项目编号(对应newsid或PaperID)

passuserid

int

4

审核人ID

passadvice

ntext

16

审核意见

passtime

datetime

8

审核时间

havepass

int

4

项目状态

表2-9 exam_score

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

userid

int

4

考生ID

username

nvarchar

50

考生姓名

department

nvarchar

50

部门

office

nvarchar

50

单位

duties

nvarchar

50

职务

subject

nvarchar

50

学科名称

testid

int

4

试卷ID

starttime

datetime

8

开始考试时间

endtime

datetime

8

结束考试时间

score

int

4

考试分数

表2-10 exam_news_log

字段名

数据类型

长度

是否允许为空

字段描述

id

int

4

标示(自动编号)

newsid

int

4

新闻ID

userid

int

4

审核人ID

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值