毕业设计基于ASP和Access数据库技术实现网上考试系统.docx
- 文档编号:10437530
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:69
- 大小:703.98KB
毕业设计基于ASP和Access数据库技术实现网上考试系统.docx
《毕业设计基于ASP和Access数据库技术实现网上考试系统.docx》由会员分享,可在线阅读,更多相关《毕业设计基于ASP和Access数据库技术实现网上考试系统.docx(69页珍藏版)》请在冰点文库上搜索。
毕业设计基于ASP和Access数据库技术实现网上考试系统
基于ASP和Access数据库技术实现网上考试系统
目录
第一章引言
1.1选题的依据意义
考试是教学至关重要的一个环节,是检查学生对知识掌握程度的尺码,也是测评任课老师教学效果的标准,然而这又会受到考试本身质量的影响。
随着计算机技术、网络信息技术的不断发展,现在很多国内外的大学和社会其他部门都已经通过计算机网络实现异地教育和培训,这就对传统的考试系统提出了挑站,同时传统的考试方式的种种不足和局限日益显露,网上考试系统于是就应运而生了。
虽然现在网上考试系统仍然仅限于计算机类的考试当中,但随着个人计算机的普及和应用,网上考试系统的普及已经是大势所趋,这对网上考试系统的安全性和性能提出了相当高的要求,也个软件设计人员提出了更高的设计要求。
如果深入的比较传统的考试系统与网上考试系统,可以发现传统的考试系统有如下弊端:
1.传统考试方式从组卷命题、试卷印刷,考场安排、监考到组织判卷都是通过人工操作完成,所以周期长、浪费大、效率低。
2.传统考试缺乏有效的监考管理手段,学生作弊现象普遍,加上考试的各个环节人工参与因素过多,如人工出题、判卷等都会影响到考试的客观性和公平性。
3.传统考试的形式单一、测评方式死板,缺少有效的统计分析手段,不能及时准确地收集教学反馈信息。
4.传统的考试,教师的工作量大,教师要承担包括试卷出题、审阅批改、统计分数等高强度的体力劳动,耗费了大量的工作时间和精力。
而基于计算机考试的优越性具体体现在以下几个方面:
1.考试实行无纸化、自动化。
大大减少了财力物力的浪费,降低了考试成本。
简化了繁重的考务工作,缩短的考试工作周期,减少了低水平的重复劳动。
2.考试试卷从题库抽取,能避免过多的人工干预,能确保考试的客观性和公平性。
同时,可以合理调整试题内容,控制试卷的质量,保证考试的科学性。
3.考试自动随机出题,每份试题内容都不一样,可以有预防考试作弊的发生。
提高了考试的安全性。
4.考试结合了网络资源的优势,有利于组织实施大规模的异地实时考试。
1.2国内外研究概况及发展趋势
目前,网络考试在试卷生成和考试方式上还存在许多不足之处,它们影响了远程教育的教学效果的提升。
现阶段,国内绝大多数网络考试主要是以3种形式提供给学生学习使用的。
第一,使用WORD等工具编写的文本文件。
学生主要是通过网络浏览器下载网页进行测试学习或者是教师从国家题库中进行选题、组卷,然后印发成文本形式的试卷,供学生考试学习用。
这种以题库形式的方法无法真正在教学过程中发挥其应有的作用,不能得到广泛的应用。
第二,基于客户机/服务器结构的专用考试系统。
学生一般是通过特定的客户端软件在局域网内进行考试。
专用考试系统克服了文本形式的弊端,实现了实时高效的网络考试和考试资料的批改分析。
但由于它需要一定的客户端软件的支持,而且只能在某一时段内实行特定考试,限定了使用者的范围。
比如计算机等级考试中的上机操作题,虽然可以对操作性的内容进行考查,但是它主要是用于局域网,且客户端必须安装相应的客户软件,受到了时空的限制。
第三,B/S模式的考试系统。
B/S是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Webserver,而Webserver与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大。
它的主要优点是便于扩充应用、升级、维护简便。
服务器端的应用一般采用Webserver+数据库系统+ASP组件,来构成中间及后端的应用服务系统。
它超越了传统的‘客户机/服务器’两层结构,采用了三层体系结构:
用户界面层/事务层/数据库层,因此,Web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器。
目前来看,第三种考试方案将是网上考试未来发展的趋势,当然,在一些特殊领域,并不排除第一种与第二种交叉出现的可能性。
1.3研究内容
本课题利用ASP和Access数据库技术实现网上考试系统。
该系统使得学生通过网络登陆系统自动下载试题,答卷,提交答案。
老师可以对题库、试卷进行设置,自动出题,自动评分,试题分析。
实现用户登陆和密码验证功能,账户信息修改,限制用户的访问权限。
1.用户登陆和密码验证功能;帐户信息修改,限制用户的访问权限。
2.题库设置模块:
题库信息的添加、修改、删除。
3.试卷设置模块:
题目设置(题目类型,数量、分数、答案)
4.试卷生成模块:
自动生成功能。
5.阅卷模块:
自动评分。
第二章需求分析及功能模块分析
2.1需求分析
用户的需求具体体现在对各种信息的提供、保存、更新和查询等方面。
因此,一个满足要求的数据库必须充分满足对各种信息的输入输出需要。
通过前面对系统的分析,总结出网上考试系统系统的数据库需要满足以下信息需求。
A.用户一般分学生用户和管理员用户。
B.非注册用户需要管理员用户进行添加,身份由管理员确定。
C.已存在用户登陆成功后可以维护个人信息,管理员用户可以对所有用户的个人信息进行维护。
D.管理员用户可以对考卷信息及试题信息进行维护。
E.学生可以选择考卷进行考试,已考科目不得再考。
综合上面对《基于asp的网上考试系统》的数据库需求分析,考虑到未来功能上的扩展,设计如下数据项和数据结构:
A.学生表包括的数据项:
用户ID、用户名、用户密码。
B.科目表包括的数据项:
科目ID、单选题每题分数、多选题每题分数、单选题题量、多选题题量、科目名称、考试时间。
C.试题表包括的数据项:
试题ID、试题题目、A项内容、B项内容、C项内容、D项内容、答案、试题类项、科目名称、是否选取。
D.考分表包括的数据项:
考分ID、学生登录名、科目名、分数、试题结束时间。
E.管理员表包括的数据项:
管理员ID、管理员帐号、管理员密码。
2.2功能模块规划及分析
总体来说,该网站分为两大模块:
管理端与客户端。
客户端模块包括登陆界面模块、信息显示模块、网上考试模块、试卷批改模块。
A.网站登录模块提供登录功能,在此模块学生可以登录、管理员可以选择管理员登陆。
B.信息显示模块提供学生已考科目以及考试成绩,显示已有试卷、并由学生选择考卷开始考试。
C.网上考试模块是主要模块,为学生提供网上考试功能,学生可以在此模块里进行已选择科目的考试,本模块还有计时功能,当考试时间结束后试卷将自动提交。
D.成绩显示模块,可以将前一模块提交的学生选择并与标准答案进行比较,将成绩显示出来,并提供学生继续考试与返回登录界面的链接。
客户端界面的功能模块图如图2.1所示:
图2.1客户端界面功能图
管理端模块包括管理员登录模块、管理员信息管理模块、考试科目管理、学生信息管理模块、学生成绩管理模块。
A.管理员登录模块通过学生登录模块跳转至,并可以在此模块里跳转回学生登录模块。
B.管理员信息管理模块可以对已有管理员的进行密码修改、删除,以及添加新的管理员。
C.学生信息管理模块可以对已有学生用户进行密码修改、删除,以及添加新的学生。
D.考试科目管理模块可以对已有科目的信息进行修改、删除,以及添加新的科目。
对科目进行考题管理,则可以添加每个科目的题库,并对题库中的题目进行修改、添加、删除。
E.学生成绩管理模块,为了避免修改成绩的事情发生,只有删除功能。
管理端界面的系统功能模块如图2.2所示:
图2.2管理端界面的系统功能模块图
对上述功能模块进行集中、分块、按照结构化程序的设计要求,可以得到系统功能模块框图,如图2.3所示
图2.3系统功能模块框图
系统的各模块流程如图2.4所示。
首先,管理部分需要管理员身份认证及维护;I其次,管理部分还包括考生账号的管理;然后,管理员对试卷信息及题库信息进行维护,当考生登陆成功后选择考试;最后,随机抽题让考生参加考试,提交动作结束后,显示分数并返回。
以上即是系统模块流程,如下:
图2.4系统的各模块流程图
第三章软件数据表的设计
根据本网站的实现内容的需要,数据库主要用来存储管理员信息、学生信息、成绩信息、题目信息、考卷信息、成绩信息。
本例采用MicrosoftAccess作为网站的后台数据库,他适合中小型应用的一种关系数据库产品。
网上考试系统的主要对象是学生及管理员,所以必须建立学生表及管理员表,包括学生及管理员的基本情况;学生的主要活动是考试,所以必须建立成绩表、题库表、试卷表,成绩表包括学生考试后的成绩,题库表包括各个试卷的题库,试卷表包括试卷的基本信息。
因为考试的成绩、题库和试卷的设置不能由学生决定,所以学生仅有成绩的查询权,而管理员则拥有所有表的操作权限。
在基本表的设计中,为了能达到最佳的数据表结构,必须遵循一定的准则和标准,其中为了避免数据库中的表现出现数据冗余、数据不一致等现象,必须遵循数据表的范式要求,常用的范式有第一范式、第二范式和第三范式。
根据分析,本系统应该满足第三范式,第三范式(3NF)是要求一个数据表中不包含已在其他表中包含的非主关键字信息。
所以在满足第三范式的要求下,系统设计过程中应该有以下数据表:
学生信息表、管理员信息表、学生成绩信息表、科目信息表、题库信息表。
3.1数据字典设计
数据字典是系统中各类数据描述的集合,是各类数据结构和属性的清单。
它贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容形式和用途各有区别,在需求分析阶段,它通常包含以五个部分内容:
数据项,数据结构,数据流,数据存储,处理过程。
归结起来分为实体信息和实体之间的联系。
网上考试系统数据库文件为exam.mdb,其中所包含的信息集为学生信息、管理员信息、学生成绩、题库信息、考卷信息。
学生信息集主要是存储学生的相关信息,管理员信息集主要是存储管理员的相关信息,成绩信息集主要是用来存储学生成绩,题库信息集主要用来存储各科目的题库信息,试卷信息集主要是用来存储各考试科目的试卷相关信息。
1.“学生表”是一个数据文件,其条目内容与书写格式如表3.1所示:
表3.1数据文件“学生表”字典条目
文件名:
学生表
组成:
学生编号+学生用户名+密码
2.“管理员表”是一个数据文件,其条目内容与书写格式如表3.2所示:
表3.2数据文件“管理员表”字典条目
文件名:
管理员
组成:
管理员编号+管理员用户名+密码
3.“分数表”是一个数据文件,其条目内容与书写格式如表3.3所示:
表3.3数据文件“分数表”字典条目
文件名:
分数表
组成:
分数编号+学生用户名+科目+分数+日期
4.“题库表”是一个数据文件,其条目内容与书写格式如表3.4所示:
表3.4数据文件“题库表”字典条目
文件名:
题库表
组成:
考题编号+题目+A项+B项+C项+D项+答案+科目+随机抽题标识
5.“科目表”是一个数据文件,其条目内容与书写格式如表3.5所示:
表3.5数据文件“科目表”字典条目
文件名:
科目表
组成:
科目编号+单选数目+多选数目+单选分值+多选分值+科目名+答案+测试时间
3.2系统E-R图的设计
系统的总体E-R图如图3.1所示:
图3.1系统的总体E-R图
学生信息实体E-R图如图3.2所示:
图3.2学生信息实体E-R图
管理员信息实体E-R图如图3.3所示:
图3.3管理员信息实体E-R图
试卷信息实体E-R图如图3.4所示:
图3.4试卷信息实体E-R图
成绩信息实体E-R图如图3.5所示:
图3.5成绩信息实体E-R图
题库信息实体E-R图如图3.6所示:
图3.6题库信息实体E-R图
3.3基本数据表设计
【学生信息表】
只有登陆的学生才能参与考试,所以必须建立一个学生信息表来收集学生的登陆信息,学生登陆身份的获得必须通过管理员进行添加,管理员能够改变学生的登录密码并添加新的学生用户。
会员信息表里包括用户编号、用户名、密码三类信息。
详细的会员信息如下表3.6所示:
表3.6学生信息表
字段
说明
类型(长度)
备注
ID
标识
长整形
主键,自动编号
studentname
登陆账号
文本
不允许为空
studentpassword
登录密码
文本
不允许为空
【科目表】
学生想要考试则必须抽取试卷,但试卷生成需要足够的试卷信息,因此就有了科目信息表。
但是科目信息表,学生只有使用权,只有管理员拥有科目表信息的添加、修改、删除的权限。
科目表主要包括用户编号、单选分值、多选分值、单选题量、多选题量、科目名称、考试时间七类信息。
详细的科目信息如下表3.7所示:
表3.7科目表设计
字段
说明
类型(长度)
备注
ID
标识
长整形
主键,自动编号
multiper
多选题每题分数
数字
sigleper
单选题每题分数
数字
multinumber
多选题题量
数字
siglenumber
单选题题量
数字
subjectname
科目名称
文本
不允许为空
testtime
考试时间
数字
【试题表】
学生想要考试则必须抽取试卷,但试卷生成需要足够的对应科目的试题,因此就有了试题信息表。
但是试题信息表,学生只有使用权,只有管理员拥有试题表信息的添加、修改、删除的权限。
试题表主要包括用户编号、问题、各个选项内容、答案、试题类型、科目名称、是否选取信息。
详细的试题信息如下表3.8所示:
表3.8试题表设计
字段
说明
类型(长度)
备注
ID
标识
长整形
主键,自动编号
question
试题问题内容
文本
不允许为空
A
A选项内容
文本
不允许为空
B
B选项内容
文本
不允许为空
C
C选项内容
文本
不允许为空
D
D选项内容
文本
不允许为空
answer
答案
文本
不允许为空
type
试题类型
文本
不允许为空
subjectname
科目名称
文本
不允许为空
haveselect
是否选取
数字
默认0
haveselect的值为1则表示已抽取,为0表示未抽取,添加此项是为了防止题目重复抽取。
【考分表】
学生考试结束后,将会得到考试结果分数,因此就有了考分信息表。
但是考分信息表,学生只有查询权,只有管理员拥有考分表信息的添加、修改、删除的权限。
考分表主要包括用户编号、学生登录名、科目名称、分数、考试结束时间信息。
详细的考分信息如下表3.9所示:
3.9考分表设计
字段
说明
类型(长度)
备注
ID
标识
长整形
主键,自动编号
studentname
学生登录名
文本
不允许为空
subjectname
科目名称
文本
不允许为空
score
分数
数字
endtime
考试结束时间
日期/时间
【管理员表】
网上考试系统需要有人对用户、试题、科目、成绩四项进行管理,而管理员就执行此类功能。
但是管理员信息表,只有管理员拥有管理员表信息的添加、修改、删除的权限。
管理员表主要包括用户编号、学生登录名、登录密码信息。
详细的管理员信息如下表3.10所示:
表3.10管理员表
字段
说明
类型(长度)
备注
ID
标识
长整形
主键,自动编号
name
管理员登陆账号
文本
不允许为空
passeword
管理员登录密码
文本
不允许为空
第四章软件功能及模块的设计实现
当对数据表的设计完成之后,即要对系统的功能模块进行设计。
Dreamweaver是Macromedia公司推出的主页编辑工具,在不用书写一行代码的情况下,就能够快速创建各种极具动态特性的网页。
在本次设计中主要使用Dreamweaver制作界面和实现部分功能,再加上使用VBscript进行编程,两者结合完成了各个模块的设计。
ActiveXDataObjects(ADO)是微软最新的数据访问技术,数据库Access和ASP通过ADO来实现连接,ADO使用内置的Recordsets对象作为数据的主要接口,使用VBscript语言来控制对数据库的访问。
4.1总体设计方案
本系统是一个网上考试系统,因此是一个电子教育网站。
传统的C/S(客户机/服务器)架构通常适合于开发面向企业内部的应用,例如库存管理信息系统。
作为面向Internet上的Web应用,需要使用B/S(浏览器/服务器)架构。
这种方式简单易学,客户端使用人们上网冲浪时使用的IE浏览器即可,因此B/S架构能够得到迅速发展。
随着电子商务的高速发展,B/S架构甚至已经取代了许多传统的C/S架构的市场。
WindowsServer2010是Windows操作系统中的一种,属于服务器或企业使用的操作系统。
它具有如下优点:
稳定性佳,能提供所以的Windows服务功能;数据安全性强,善于处理商业数据,同时集成了IIS信息服务器。
Dreamweaver是Macromedia公司推出的主页编辑工具。
Dreamweaver不仅提供了强大的网页编辑功能,而且提供了完善的站点管理机制,同时提供了强大的设计工具,在不用书写一行代码的情况下,就能够快速创建各种极具动态特性的网页。
在选用数据库时宜使用MicrosoftAccess,这种数据库能提供关系管理系统RDBMS核心和一组外围管理工具软件采用标准数据库语言和远程数据访问标准,能够实现网络环境下数据库之间互联。
基于以上分析,确定系统在微软的WindowsServer2010系列的平台上运行,使用IIS7.0信息服务器作为Web服务器,使用Dreamweaver8和asp完成动态交互功能,后台使用Access数据库。
系统的总体功能设计如图4.1所示。
图4.1系统总体功能设计
4.2创建数据库
打开Access,在弹出的窗口中选择[使用设计器创建表],然后根据满足三范式的要求,在表中输入各个表对应的字段,最后将表分别命名为user、score、admin、question、subject、score.
4.3在Dreamweaver中建立站点
打开Dreamweaver软件,在菜单栏中选择[站点]→[管理站点]→[新建]→[站点],然后按屏幕提示操作,首先是给站点命名为web_test,然后按下一步,在哪种服务器技术栏中选择ASPVBScript,再按下一步,在您把文件存储在计算机上的什么位置栏中,选择“E:
\web_test”,按下一步,在您应该使用什么URL来浏览站点的根目录栏中填写“http:
//localhost:
8078/”,单击下方的“测试URL(T)”,如果出现弹出窗口中显示“URL前缀测试已成功”,则按下一步。
建好站点后在Dreamweaver右下方的文件面板中将出现刚刚命名的站点。
4.4系统模块的设计与实现
4.4.1层样式
在CSS中要设置一个样式,需要用到CSS的选择器,选择器就是用某个特定的符号或表达式,操作页面上的某类标签的样式。
要设置一个层的样式,首页要写一个层,一般是用
你可以给它一个class类,或一个ID,如:#layer,#井号就表示选择一个ID元素。
然后就可以直接操作样式了。
4.4.2错误调用
未了方便错误显示,单独建立一个错误页面Checkuser.asp,以方便调用。
此页面定义了两个变量:
founderror,指示当前是否错误;Errormsg,错误信息内容。
未登录执行登录操作的会出现出现错误,此时founderror会变成true。
页面Checkuser.asp定义过程disperrs()用于在网页显示错误信息。
如果页面中founderror的值为true,则使用过程disperrs()显示保存在Errormsg中的错误信息。
图4.2即为无登陆的错误提示页面Checkuser.asp。
图4.2未登录错误信息
4.4.3数据库的连接
新建一个动态网页,在【数据库】面版中单击【添加】按钮,在弹出的下拉菜单中选择【自定义字符串】命令,打开自定义连接字符串对话框。
在【连接名称】文本框中输入conn,在【连接字符串】文本框中输入如下代码:
"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="+server.mappath("/web_test/exam.mdb").
再“使用测试服务器上的驱动程序”,然后点击右方的测试按钮,如果成功的话,单击确定,完成连接;否则就需要更新字符串。
4.4.4用户登录界面的设计及功能实现
(一)学生登录界面的设计及功能实现
学生要参加网上考试系统,首先需要拥有参考资格,即要拥有教师(本设计中教师不单独存在,而以管理员身份存在)或者管理员分配的账号和密码。
为学生分配考试资格只需要为要参加考试的学生添加一个账号和密码,然后学生使用该账号和密码就可以登录网络网上考试系统参加考试。
学生登陆的设计界面如下图4.3所示:
图4.3学生登录界面
通过上图界面的“登录”按钮进行学生登录,通过“管理”按钮跳转至管理员登陆界面。
(二)管理员登陆界面的设计及功能实现
管理员或者教师要对系统的各种信息实现操作,首先需要拥有登录资格,即要拥有教师(本设计中教师不单独存在,而以管理员身份存在)或者管理员分配的账号和密码。
拥有管理员资格账号和密码操作权限的只有同身为管理员身份的第二人,拥有管理员资格后,管理员或教师就可以登录网络网上考试系统后台,对各种系统信息进行操作。
管理员登陆的设计界面如下图4.4所示:
图4.4管理员登录界面
通过上图界面的“登录”按钮进行管理员登录,通过“退出”按钮跳转至学生登陆界面。
4.4.5管理欢迎界面的设计及功能实现
管理员登陆成功后将转入此管理欢迎界面,以根据实际需要来选择进一步操作,进一步操作包括学生信息管理、管理员信息管理、考试科目管理、学生成绩管理四种功能模块的链接。
管理欢迎界面的设计如下图4.5所示:
图4.5管理欢迎界面
4.4.6学生管理界面的设计及功能实现
(一)学生管理界面
以管理员身份登录系统后,首次打开页面mgstudent.asp的执行结果如下图4.6所示。
页面上半部分包含已有学生信息的列表,下半部分为增加学生的表单。
表单仅含有两个文本框,即用用户名称和密码文本框。
图4.6学生管理界面
(二)学生编辑界面
在上图4.6中,选中某个学生后单击“编辑”链接,将以URL参数的形式打开mgstudent.asp页面。
“编辑”链接定义的URL参数为“student=<%=trim(rs(“studentname”))%>&action=edit”,在如图4.7的界面所示的浏览器地址中将可以看到“studentname=df”和“action=edit”
图4.7学生管理界面编辑界面
页面mgstudent.asp根据“request(“action”)=“edit””判断开始修改学生信息,设置局部变量“isedit=true”,然后现实文本“编辑学生信息”,并显示要修改的学生名称,在文本框中有学生的原始代码,如图4.7所示。
此界面代码(见附录代码1-1)的作用是修改学生的密码,通过单击“确定”按钮提交表单给mgs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 基于 ASP Access 数据库技术 实现 网上 考试 系统