课程考试系统的设计与实现.docx
- 文档编号:2457272
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:17
- 大小:2.59MB
课程考试系统的设计与实现.docx
《课程考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《课程考试系统的设计与实现.docx(17页珍藏版)》请在冰豆网上搜索。
课程考试系统的设计与实现
通达学院
专业课程设计II
题目:
《英语》课程考试系统的设计与实现》
专业计算机科学与技术(计算机通信)
学生姓名
班级学号
指导教师
指导单位计算机学院计算机科学与技术系
日期2012.11.12-2012.11.23
《英语》课程考试系统的设计与实现
一、课题内容和要求
1、系统具有管理员和学生两类用户,各类用户都要进行登录认证;
2、公共数据库,主要记录用户信息,权限信息等;
3、试题数据库----添加、删除、修改试题库中的试题内容;
4、根据实际需要在试题库考虑组卷算法实现题目的自动选取,动态生成试卷;
5、实现在线考试,系统根据录入的答案实现评分并进行数据的统计分析。
二、需求和思路分析
【1】用户、管理员权限
管理员:
在此系统中可以由若干个管理员,即系统管理员。
他们具有管理用户、试题以及试卷等内容的权力。
它不需注册,在数据库有一个表来存放相关信息,可由以存在的管理员添加或删除管理员。
一般用户:
主要是指学校的学生,这些用户不具备管理用户、试题以及试卷等内容的权力。
【2】功能模块设计
一、管理模块
1、试题管理
(1)试题录入
首先,用户选择试题所属科目。
若菜单中没有该科目,则可以新增一个。
(2)试题修改
管理员可以对试题进行修改。
不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱。
如果用户执行了非法操作,则必须重新操作。
(3)试题删除
管理员可以删除不再需要的试题。
1.科目管理
(1)添加科目
其基本信息有科目名称、题型、题量和考试总时间等。
(2)科目删除
管理员可以删除不再需要的科目。
3.用户管理
管理员可以通过管理界面添加或删除用户。
4.管理管理员
管理员可以通过管理界面添加新管理员或删除原有管理员。
5.考试记录管理
系统中的管理员可以查询考试记录,也可以删除考试纪录。
二、在线考试模块
考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。
考生的其答题信息通过单、复选按钮选择答案来反映。
考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以实现。
三、用户注册模块
用户输入想要注册的用户名和密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库中,完成注册。
三、概要设计
本系统采用Access数据库:
【1】数据库中表的设计
1.question表结构
question表
字段名称
类型
说明
Haveselect
数字
常整型
ID
自动编号
常整型,递增,主键
Question
文本
字段大小200
A
文本
字段大小50
B
文本
字段大小50
C
文本
字段大小50
D
文本
字段大小50
Answer
文本
字段大小50
Type
文本
字段大小50
subjectname
文本
字段大小50
各字段说明:
(1)haveselect字段代表在随机选题时是否已经被某用户选过,类型为数字。
(2)ID是问题的id号,用来唯一标志该问题,把它设为主键,类型为自动编号。
(3)Question字段为问题内容,类型为文本。
(4)A字段代表选项A的内容
(5)B字段代表选项B的内容
(6)C字段代表选项C的内容
(7)D字段代表选项D的内容
(8)Answer字段表示答案选项
(9)Type字段表示试题类型
(10)subjectname字段代表试题所属科目名称
2.subject表结构
subject表
字段名称
类型
说明
Multiper
数字
常整型
Singleper
数字
常整型
multinumber
数字
常整型
singlenumber
数字
常整型
subjectname
文本
字段大小50
Testtime
数字
常整型
Id
自动编号
常整型,递增,主键
各字段说明:
(1)multiper字段代表在某考试科目的考试题中每个多选题的分值。
(2)singleper字段代表在某考试科目的考试题中每个单选题的分值。
(3)multinumber字段为某科的多选题题量。
(4)singlenumber字段为某科的多选题题量。
(5)subjectname字段代表科目名称。
(6)testtime字段代表某科的考试总时间。
(7)id字段代表科目的id号。
3.score表结构
score表
字段名称
类型
说明
Studentname
文本
字段大小50
Subjectname
文本
字段大小50
Score
数字
常整型
Id
自动编号
常整型,递增,主键
Endtime
日期/时间
各字段说明:
(1)studentname字段代表在某次考试记录中学生的名字。
(2)subjectname字段代表在某次考试纪录中考试科目名。
(3)score字段为某次考试纪录中考试分数。
(4)id字段为某次考试纪录的标志号。
(5)endtime字段代表考试的结束时间。
4.student表结构
student表
字段名称
类型
说明
Studentname
文本
字段大小50
Studentpassword
文本
字段大小50
Id
自动编号
常整型,递增,主键
各字段说明:
(1)studentname字段代表学生的名字。
(2)studentpassword字段代表密码。
(3)id字段为学生的标志号。
5.admin表结构
admin表
字段名称
类型
说明
Name
文本
字段大小50
Password
文本
字段大小50
Id
自动编号
常整型,递增,主键
各字段说明:
(1)name字段代表管理员的名字。
(2)password字段代表密码。
(3)id字段为管理员的标志号。
该系统主要分为两部分
一、用户登录:
(1)首先系统要有一个登录界面default.asp,用户登录该界面参加考试。
(2)在考生正确输入用户名和密码以后,接着应该进入考试科目选择界面。
在selectsubject.asp该界面上,考生选择参加考试的科目。
(3)进入开始考试界面test.asp,考生进行考试,答完试题后交卷,由计算机进行处理--判卷,得出考试分数,在result.asp中显示出来,并把该生考试记录存入数据库。
二、管理员登陆(admin)
(1)管理员在login.asp登录以后,应该有一个管理项目选择界面primarypage.asp,其中包括管理用户选项、管理管理员选项、管理考试科目选项、管理考试纪录选项以及管理各科试题选项。
(2)管理用户的界面mgadmin.asp可以实现用户的增加、和删除的功能,管理员在此可以对用户进行管理。
考试科目界面mgsunject.asp用来增加或删除考试的科目,考试纪录界面mgscore.asp可以对考生的每次考试进行纪录,管理员科可以对考生成绩、考试科目、时间及考试各相关纪录进行查询和删除。
试题库管理界面mgquestion.asp,它根据各科进行分类。
通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。
四、详细设计
各文件功能介绍及详解
1.
该文件实现的是连接数据库和断开连接的功能。
文件中主要是定义了两个过程conn_init()和endConnection()。
第一个是连接数据库,第二个是实现断开连接。
其中conn_init()过程中的连接是通过下面语句实现的:
connstr="DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"
setconn=server.createobject("ADODB.CONNECTION")
conn.openconnstr
connstr确定了数据文件的路径和数据库驱动程序。
Conn的含义是定义了一个变量用,来存放数据库连接所创建的对象。
conn.openconnstr则真正实现了数据库的连接。
该文件主要被包含在其他文件中实现数据库的连接和断开功能
。
2.
该文件的功能是系统登陆的入口,在此可以实现用户注册入口,管理员管理入口以及用户进入考试系统登陆界面的功能。
该文件的功能使这样实现的:
表单提交给文件本身。
再由HTML上面的ASP程序对提交信息进行处理。
最上面的<%@Language=VBScript%>表示脚本语言是VBScript。
--#includefile="conn.asp"-->表示包含conn.asp文件。
以下的程序进行了选择判断,如果提交的表单中的submit值为“登录”,就继续判断看student表中是否存在与该用户输入的用户名和密码相同的记录,如果存在就转到selectsubject.asp页进行考试科目选择。
不存在就返回“对不起,请输入正确的用户名和密码。
”如果submit值为“注册”,就转到register.asp页进行用户注册。
如果submit的值为“管理”就转到admin文件夹中的login.asp页。
重点程序如下:
setrs=server.createobject("adodb.recordset")
rs是一个变量,用来存放一个recordset对象。
sql="select*fromstudentwherestudentname='"&Request.Form("studentname")&"'andstudentpassword='"&Request.Form("studentpassword")&"'"
变量sql代表一个SQL语句,功能是从表student中选出用户名和密码与考生提交的用户名和密码都相同的记录。
rs.opensql,conn,1,1
该语句的功能是执行sql语句并把记录集结果存储在变量rs中。
rs.close的作用是关闭纪录。
session("studentname")=request.form("studentname")
该句的意思是把表单提交的变量studentname的值赋给一个session对象studentname。
这个对象用来存储用户名,它在该用户对每个页面的访问中有效。
setrs=nothing含义是清空rs变量。
callendConnection()是调用conn.asp中的过程,用来关闭于数据库的连接。
3.
该文件实现了用户注册的功能,用户只要填写想要注册的用户名及密码,文件首先查看用户名是否已经存在,如果存在就提示该用户名已经存在,否则就将用户输入的信息添加到数据库中的student表内。
然后用户就可以使用自己注册的用户名和密码登录在线考试系统进行在线考试。
在文件中,表单提交给register.Asp自身进行处理,如果submit值为“注册”首先进行判断看用户名或密码是否为空。
如果为空就显示“错误!
用户名或密码不能为空!
”的信息。
如果不为空,进行下一步判断,看student表中是否已经存在用户想要注册的用户名,如果存在,就显示信息“错误!
该用学生存在!
”,如果不存在就将要注册的用户名和密码写入student表。
代码如下:
sql="
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 考试 系统 设计 实现