毕业设计(论文)基于ASP和Access数据库技术实现网上考试系统_第1页
毕业设计(论文)基于ASP和Access数据库技术实现网上考试系统_第2页
毕业设计(论文)基于ASP和Access数据库技术实现网上考试系统_第3页
毕业设计(论文)基于ASP和Access数据库技术实现网上考试系统_第4页
毕业设计(论文)基于ASP和Access数据库技术实现网上考试系统_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南昌航空大学学士学位论文目录第一章 引言11.1 题的依据意义11.2 内外研究概况及发展趋势21.3 究内容2第二章 需求分析及功能模块分析42.1 需求分析42.2 功能模块规划及分析4第三章 软件数据表的设计83.1 数据字典设计83.2 系统e-r图的设计93.3 基本数据表设计11第四章 软件功能及模块的设计实现144.1 总体设计方案144.2 创建数据库154.3 在dreamweaver中建立站点154.4 系统模块的设计与实现16第五章 软件程序框图325.1 学生登录考试模块流程图325.2 管理员登录模块流程图325.3 学生考试流程图335.4 信息管理流程图345.5

2、 添加流程图355.6 删除流程图355.7 修改流程图36第六章 软件测试及调试37第七章 结论391、 毕业设计完成的工作392、 总结393、 展望40参考文献41致 谢42附录43第一章 引言1.1选题的依据意义考试是教学至关重要的一个环节,是检查学生对知识掌握程度的尺码,也是测评任课老师教学效果的标准,然而这又会受到考试本身质量的影响。随着计算机技术、网络信息技术的不断发展,现在很多国内外的大学和社会其他部门都已经通过计算机网络实现异地教育和培训,这就对传统的考试系统提出了挑站,同时传统的考试方式的种种不足和局限日益显露,网上考试系统于是就应运而生了。虽然现在网上考试系统仍然仅限于计

3、算机类的考试当中,但随着个人计算机的普及和应用,网上考试系统的普及已经是大势所趋,这对网上考试系统的安全性和性能提出了相当高的要求,也个软件设计人员提出了更高的设计要求。如果深入的比较传统的考试系统与网上考试系统,可以发现传统的考试系统有如下弊端:1.传统考试方式从组卷命题、试卷印刷,考场安排、监考到组织判卷都是通过人工操作完成,所以周期长、浪费大、效率低。2.传统考试缺乏有效的监考管理手段,学生作弊现象普遍,加上考试的各个环节人工参与因素过多,如人工出题、判卷等都会影响到考试的客观性和公平性。3.传统考试的形式单一、测评方式死板,缺少有效的统计分析手段,不能及时准确地收集教学反馈信息。4.传

4、统的考试,教师的工作量大,教师要承担包括试卷出题、审阅批改、统计分数等高强度的体力劳动,耗费了大量的工作时间和精力。而基于计算机考试的优越性具体体现在以下几个方面:1.考试实行无纸化、自动化。大大减少了财力物力的浪费,降低了考试成本。简化了繁重的考务工作,缩短的考试工作周期,减少了低水平的重复劳动。2.考试试卷从题库抽取,能避免过多的人工干预,能确保考试的客观性和公平性。同时,可以合理调整试题内容,控制试卷的质量,保证考试的科学性。3.考试自动随机出题,每份试题内容都不一样,可以有预防考试作弊的发生。提高了考试的安全性。4.考试结合了网络资源的优势,有利于组织实施大规模的异地实时考试。1.2国

5、内外研究概况及发展趋势目前,网络考试在试卷生成和考试方式上还存在许多不足之处,它们影响了远程教育的教学效果的提升。现阶段,国内绝大多数网络考试主要是以3种形式提供给学生学习使用的。第一,使用word等工具编写的文本文件。学生主要是通过网络浏览器下载网页进行测试学习或者是教师从国家题库中进行选题、组卷,然后印发成文本形式的试卷,供学生考试学习用。这种以题库形式的方法无法真正在教学过程中发挥其应有的作用,不能得到广泛的应用。第二,基于客户机/服务器结构的专用考试系统。学生一般是通过特定的客户端软件在局域网内进行考试。专用考试系统克服了文本形式的弊端,实现了实时高效的网络考试和考试资料的批改分析。但

6、由于它需要一定的客户端软件的支持,而且只能在某一时段内实行特定考试,限定了使用者的范围。比如计算机等级考试中的上机操作题,虽然可以对操作性的内容进行考查,但是它主要是用于局域网,且客户端必须安装相应的客户软件,受到了时空的限制。第三,b/s模式的考试系统。b/s是近几年伴随internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是web server,而web server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大。它的主要优点是便于扩充应用、升级、维护简便。服务器端的应用一般采用web server+数据库系统+asp组件,来构

7、成中间及后端的应用服务系统。它超越了传统的客户机/服务器两层结构,采用了三层体系结构:用户界面层/事务层/数据库层,因此,web结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器。目前来看,第三种考试方案将是网上考试未来发展的趋势,当然,在一些特殊领域,并不排除第一种与第二种交叉出现的可能性。1.3研究内容本课题利用asp和access数据库技术实现网上考试系统。该系统使得学生通过网络登陆系统自动下载试题,答卷,提交答案。老师可以对题库、试卷进行设置,自动出题,自动评分,试题分析。实现用

8、户登陆和密码验证功能,账户信息修改,限制用户的访问权限。1 用户登陆和密码验证功能;帐户信息修改,限制用户的访问权限。2 题库设置模块:题库信息的添加、修改、删除。 3 试卷设置模块:题目设置(题目类型,数量、分数、答案)4 试卷生成模块:自动生成功能。5 阅卷模块:自动评分。第二章 需求分析及功能模块分析2.1需求分析用户的需求具体体现在对各种信息的提供、保存、更新和查询等方面。因此,一个满足要求的数据库必须充分满足对各种信息的输入输出需要。通过前面对系统的分析,总结出网上考试系统系统的数据库需要满足以下信息需求。a用户一般分学生用户和管理员用户。b非注册用户需要管理员用户进行添加,身份由管

9、理员确定。c已存在用户登陆成功后可以维护个人信息,管理员用户可以对所有用户的个人信息进行维护。d管理员用户可以对考卷信息及试题信息进行维护。e学生可以选择考卷进行考试,已考科目不得再考。综合上面对基于asp的网上考试系统的数据库需求分析,考虑到未来功能上的扩展,设计如下数据项和数据结构:a 学生表包括的数据项:用户id、用户名、用户密码。b 科目表包括的数据项:科目id、单选题每题分数、多选题每题分数、单选题题量、多选题题量、科目名称、考试时间。c 试题表包括的数据项:试题id、试题题目、a项内容、b项内容、c项内容、d项内容、答案、试题类项、科目名称、是否选取。d 考分表包括的数据项:考分i

10、d、学生登录名、科目名、分数、试题结束时间。e 管理员表包括的数据项:管理员id、管理员帐号、管理员密码。2.2功能模块规划及分析总体来说,该网站分为两大模块:管理端与客户端。客户端模块包括登陆界面模块、信息显示模块、网上考试模块、试卷批改模块。a 网站登录模块提供登录功能,在此模块学生可以登录、管理员可以选择管理员登陆。b 信息显示模块提供学生已考科目以及考试成绩,显示已有试卷、并由学生选择考卷开始考试。c 网上考试模块是主要模块,为学生提供网上考试功能,学生可以在此模块里进行已选择科目的考试,本模块还有计时功能,当考试时间结束后试卷将自动提交。d 成绩显示模块,可以将前一模块提交的学生选择

11、并与标准答案进行比较,将成绩显示出来,并提供学生继续考试与返回登录界面的链接。客户端界面的功能模块图如图2.1所示:图2.1 客户端界面功能图管理端模块包括管理员登录模块、管理员信息管理模块、考试科目管理、学生信息管理模块、学生成绩管理模块。a 管理员登录模块通过学生登录模块跳转至,并可以在此模块里跳转回学生登录模块。b 管理员信息管理模块可以对已有管理员的进行密码修改、删除,以及添加新的管理员。c 学生信息管理模块可以对已有学生用户进行密码修改、删除,以及添加新的学生。d 考试科目管理模块可以对已有科目的信息进行修改、删除,以及添加新的科目。对科目进行考题管理,则可以添加每个科目的题库,并对

12、题库中的题目进行修改、添加、删除。e 学生成绩管理模块,为了避免修改成绩的事情发生,只有删除功能。管理端界面的系统功能模块如图2.2所示:图2.2 管理端界面的系统功能模块图对上述功能模块进行集中、分块、按照结构化程序的设计要求,可以得到系统功能模块框图,如图2.3所示图2.3 系统功能模块框图系统的各模块流程如图2.4所示。首先,管理部分需要管理员身份认证及维护;i其次,管理部分还包括考生账号的管理;然后,管理员对试卷信息及题库信息进行维护,当考生登陆成功后选择考试;最后,随机抽题让考生参加考试,提交动作结束后,显示分数并返回。以上即是系统模块流程,如下:图2.4 系统的各模块流程图第三章

13、软件数据表的设计根据本网站的实现内容的需要,数据库主要用来存储管理员信息、学生信息、成绩信息、题目信息、考卷信息、成绩信息。本例采用microsoft access作为网站的后台数据库,他适合中小型应用的一种关系数据库产品。网上考试系统的主要对象是学生及管理员,所以必须建立学生表及管理员表,包括学生及管理员的基本情况;学生的主要活动是考试,所以必须建立成绩表、题库表、试卷表,成绩表包括学生考试后的成绩,题库表包括各个试卷的题库,试卷表包括试卷的基本信息。因为考试的成绩、题库和试卷的设置不能由学生决定,所以学生仅有成绩的查询权,而管理员则拥有所有表的操作权限。在基本表的设计中,为了能达到最佳的数

14、据表结构,必须遵循一定的准则和标准,其中为了避免数据库中的表现出现数据冗余、数据不一致等现象,必须遵循数据表的范式要求,常用的范式有第一范式、第二范式和第三范式。根据分析,本系统应该满足第三范式,第三范式(3nf)是要求一个数据表中不包含已在其他表中包含的非主关键字信息。所以在满足第三范式的要求下,系统设计过程中应该有以下数据表:学生信息表、管理员信息表、学生成绩信息表、科目信息表、题库信息表。3.1 数据字典设计数据字典是系统中各类数据描述的集合,是各类数据结构和属性的清单。它贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容形式和用途各有区别,在需求分析阶段,它通常包含以五个部

15、分内容:数据项,数据结构,数据流,数据存储,处理过程。归结起来分为实体信息和实体之间的联系。网上考试系统数据库文件为exam.mdb,其中所包含的信息集为学生信息、管理员信息、学生成绩、题库信息、考卷信息。学生信息集主要是存储学生的相关信息,管理员信息集主要是存储管理员的相关信息,成绩信息集主要是用来存储学生成绩,题库信息集主要用来存储各科目的题库信息,试卷信息集主要是用来存储各考试科目的试卷相关信息。1.“学生表”是一个数据文件,其条目内容与书写格式如表3.1所示:表3.1数据文件“学生表”字典条目文件名:学生表组成:学生编号+学生用户名+密码2.“管理员表”是一个数据文件,其条目内容与书写

16、格式如表3.2所示:表3.2数据文件“管理员表”字典条目文件名:管理员组成:管理员编号+管理员用户名+密码3.“分数表”是一个数据文件,其条目内容与书写格式如表3.3所示:表3.3数据文件“分数表”字典条目文件名:分数表组成:分数编号+学生用户名+科目+分数+日期4.“题库表”是一个数据文件,其条目内容与书写格式如表3.4所示:表3.4数据文件“题库表”字典条目文件名:题库表组成:考题编号+题目+a项+ b项+ c项+ d项+答案+科目+随机抽题标识5.“科目表”是一个数据文件,其条目内容与书写格式如表3.5所示:表3.5数据文件“科目表”字典条目文件名:科目表组成:科目编号+单选数目+多选数

17、目+ 单选分值+ 多选分值+ 科目名+答案+测试时间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基本数据表设计【学生信息表】只有登陆的学生才能参与考试,所以必须建立一个学生信息表来收集学生的登陆信息,学生登陆身份的获得

18、必须通过管理员进行添加,管理员能够改变学生的登录密码并添加新的学生用户。会员信息表里包括用户编号、用户名、密码三类信息。详细的会员信息如下表3.6所示:表3.6 学生信息表字 段说 明类型(长度)备 注id标识长整形主键,自动编号studentname登陆账号文本不允许为空studentpassword登录密码文本不允许为空【科目表】学生想要考试则必须抽取试卷,但试卷生成需要足够的试卷信息,因此就有了科目信息表。但是科目信息表,学生只有使用权,只有管理员拥有科目表信息的添加、修改、删除的权限。科目表主要包括用户编号、单选分值、多选分值、单选题量、多选题量、科目名称、考试时间七类信息。详细的科目

19、信息如下表3.7所示:表3.7 科目表设计字 段说 明类型(长度)备 注id标识长整形主键,自动编号multiper多选题每题分数数字sigleper单选题每题分数数字multinumber多选题题量数字siglenumber单选题题量数字subjectname科目名称文本不允许为空testtime考试时间数字【试题表】学生想要考试则必须抽取试卷,但试卷生成需要足够的对应科目的试题,因此就有了试题信息表。但是试题信息表,学生只有使用权,只有管理员拥有试题表信息的添加、修改、删除的权限。试题表主要包括用户编号、问题、各个选项内容、答案、试题类型、科目名称、是否选取信息。详细的试题信息如下表3.8

20、所示:表3.8 试题表设计字 段说 明类型(长度)备 注id标识长整形主键,自动编号question试题问题内容文本不允许为空aa选项内容文本不允许为空bb选项内容文本不允许为空cc选项内容文本不允许为空dd选项内容文本不允许为空answer答案文本不允许为空type试题类型文本不允许为空subjectname科目名称文本不允许为空haveselect是否选取数字默认0haveselect的值为1则表示已抽取,为0表示未抽取,添加此项是为了防止题目重复抽取。【考分表】学生考试结束后,将会得到考试结果分数,因此就有了考分信息表。但是考分信息表,学生只有查询权,只有管理员拥有考分表信息的添加、修改

21、、删除的权限。考分表主要包括用户编号、学生登录名、科目名称、分数、考试结束时间信息。详细的考分信息如下表3.9所示:3.9 考分表设计字 段说 明类型(长度)备 注id标识长整形主键,自动编号studentname学生登录名文本不允许为空subjectname科目名称文本不允许为空score分数数字endtime考试结束时间日期/时间【管理员表】网上考试系统需要有人对用户、试题、科目、成绩四项进行管理,而管理员就执行此类功能。但是管理员信息表,只有管理员拥有管理员表信息的添加、修改、删除的权限。管理员表主要包括用户编号、学生登录名、登录密码信息。详细的管理员信息如下表3.10所示:表3.10

22、管理员表字 段说 明类型(长度)备 注id标识长整形主键,自动编号name管理员登陆账号文本不允许为空passeword管理员登录密码文本不允许为空第四章 软件功能及模块的设计实现当对数据表的设计完成之后,即要对系统的功能模块进行设计。dreamweaver是macromedia公司推出的主页编辑工具,在不用书写一行代码的情况下,就能够快速创建各种极具动态特性的网页。在本次设计中主要使用dreamweaver制作界面和实现部分功能,再加上使用vbscript进行编程,两者结合完成了各个模块的设计。activex data objects(ado)是微软最新的数据访问技术,数据库access和a

23、sp通过ado来实现连接,ado使用内置的recordsets对象作为数据的主要接口,使用vbscript语言来控制对数据库的访问。4.1总体设计方案本系统是一个网上考试系统,因此是一个电子教育网站。传统的c/s(客户机/服务器)架构通常适合于开发面向企业内部的应用,例如库存管理信息系统。作为面向internet上的web应用,需要使用b/s(浏览器/服务器)架构。这种方式简单易学,客户端使用人们上网冲浪时使用的ie浏览器即可,因此b/s架构能够得到迅速发展。随着电子商务的高速发展,b/s架构甚至已经取代了许多传统的c/s架构的市场。windows server 2010 是windows操作

24、系统中的一种,属于服务器或企业使用的操作系统。它具有如下优点:稳定性佳,能提供所以的windows服务功能;数据安全性强,善于处理商业数据,同时集成了iis信息服务器。dreamweaver是macromedia公司推出的主页编辑工具。dreamweaver不仅提供了强大的网页编辑功能,而且提供了完善的站点管理机制,同时提供了强大的设计工具,在不用书写一行代码的情况下,就能够快速创建各种极具动态特性的网页。在选用数据库时宜使用microsoft access,这种数据库能提供关系管理系统rdbms 核心和一组外围管理工具软件采用标准数据库语言和远程数据访问标准,能够实现网络环境下数据库之间互联

25、。基于以上分析,确定系统在微软的windows server 2010系列的平台上运行,使用iis7.0信息服务器作为web服务器,使用dreamweaver8和asp完成动态交互功能,后台使用access数据库。系统的总体功能设计如图4.1所示。图4.1 系统总体功能设计4.2创建数据库打开access,在弹出的窗口中选择使用设计器创建表,然后根据满足三范式的要求,在表中输入各个表对应的字段,最后将表分别命名为user、score、admin、question、subject、score.4.3在dreamweaver中建立站点打开dreamweaver 软件,在菜单栏中选择站点 管理站点

26、新建 站点 ,然后按屏幕提示操作,首先是给站点命名为web_test,然后按下一步,在哪种服务器技术栏中选择 asp vbscript ,再按下一步,在您把文件存储在计算机上的什么位置栏中,选择“e:web_test ”,按下一步,在您应该使用什么url来浏览站点的根目录栏中填写“http:/localhost:8078/”,单击下方的“测试url(t)”,如果出现弹出窗口中显示“url前缀测试已成功”,则按下一步。建好站点后在dreamweaver右下方的文件面板中将出现刚刚命名的站点。4.4系统模块的设计与实现4.4.1层样式在css中要设置一个样式,需要用到css的选择器,选择器就是用某

27、个特定的符号或表达式,操作页面上的某类标签的样式。要设置一个层的样式,首页要写一个层,一般是用<div></div>你可以给它一个class类,或一个id,如:<div id="layer"></div>这里给了这个div一个id叫layer,然后用css选择这个id为layer的div,如下:#layer,#井号就表示选择一个id元素。然后就可以直接操作样式了。4.4.2错误调用未了方便错误显示,单独建立一个错误页面checkuser.asp,以方便调用。此页面定义了两个变量:founderror,指示当前是否错误;erro

28、rmsg,错误信息内容。未登录执行登录操作的会出现出现错误,此时founderror会变成true。页面checkuser.asp定义过程disperrs()用于在网页显示错误信息。如果页面中founderror的值为true,则使用过程disperrs()显示保存在errormsg中的错误信息。图4.2即为无登陆的错误提示页面checkuser.asp。图4.2 未登录错误信息4.4.3数据库的连接新建一个动态网页,在【数据库】面版中单击【添加】按钮,在弹出的下拉菜单中选择【自定义字符串】命令,打开自定义连接字符串对话框。在【连接名称】文本框中输入conn,在【连接字符串】文本框中输入如下代

29、码:"driver=microsoft access driver (*.mdb);dbq="+server.mappath("/web_test/exam.mdb").再“使用测试服务器上的驱动程序”,然后点击右方的测试按钮,如果成功的话,单击确定,完成连接;否则就需要更新字符串。4.4.4用户登录界面的设计及功能实现(一)学生登录界面的设计及功能实现学生要参加网上考试系统,首先需要拥有参考资格,即要拥有教师(本设计中教师不单独存在,而以管理员身份存在)或者管理员分配的账号和密码。为学生分配考试资格只需要为要参加考试的学生添加一个账号和密码,然后学生使

30、用该账号和密码就可以登录网络网上考试系统参加考试。学生登陆的设计界面如下图4.3所示:图4.3 学生登录界面通过上图界面的“登录”按钮进行学生登录,通过“管理”按钮跳转至管理员登陆界面。(二)管理员登陆界面的设计及功能实现管理员或者教师要对系统的各种信息实现操作,首先需要拥有登录资格,即要拥有教师(本设计中教师不单独存在,而以管理员身份存在)或者管理员分配的账号和密码。拥有管理员资格账号和密码操作权限的只有同身为管理员身份的第二人,拥有管理员资格后,管理员或教师就可以登录网络网上考试系统后台,对各种系统信息进行操作。管理员登陆的设计界面如下图4.4所示:图4.4 管理员登录界面通过上图界面的“

31、登录”按钮进行管理员登录,通过“退出”按钮跳转至学生登陆界面。4.4.5管理欢迎界面的设计及功能实现管理员登陆成功后将转入此管理欢迎界面,以根据实际需要来选择进一步操作,进一步操作包括学生信息管理、管理员信息管理、考试科目管理、学生成绩管理四种功能模块的链接。管理欢迎界面的设计如下图4.5所示:图4.5 管理欢迎界面4.4.6学生管理界面的设计及功能实现(一)学生管理界面以管理员身份登录系统后,首次打开页面mgstudent.asp的执行结果如下图4.6所示。页面上半部分包含已有学生信息的列表,下半部分为增加学生的表单。表单仅含有两个文本框,即用用户名称和密码文本框。图4.6 学生管理界面(二

32、)学生编辑界面在上图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”,然后现实文本“编辑学生信息”,并显示要修改的学生

33、名称,在文本框中有学生的原始代码,如图4.7所示。此界面代码(见附录代码1-1)的作用是修改学生的密码,通过单击“确定”按钮提交表单给mgstudent.asp页面自身。页面mgstudent.asp根据“request(“action”)=“modify”判断修改学生信息。首先使用“if trim (request(“studentpassword”)=“”判断密码不能为空,然后将学生的信息更新到数据库中。更新成功后,重新回到如图所示的学生信息列表。(三)学生添加界面如图4.8所示,在“用户名”和“用户密码”文本框中输入学生的名称和密码,然后单击“确定”按钮将提交表单给mgstudent.a

34、sp页面自身。图4.8 添加学生界面在此界面的功能实现代码中,页面mgstudent.asp根据“request(“action”)=“add”开始增加学生。首先使用语句“if trim (request(“studentname”)=“”or trim(request(“studentpassword”)=“”判断用户名称和用户密码是否为空,如果不为空则检查数据库中是否有重复的学生存在。然后使用sql语句insert插入学生信息到数据库中。学生信息插入成功后,弹出提示对话框,如图4.9所示。单击“确定”按钮,显示如图4.6所示页面。新增加的学生信息会出现在学生信息列表的底部。图4.9 添加成

35、功弹出窗口(四)学生删除界面在图4.6中,选中某个学生后单击“删除”链接,将弹出确认对话框,确认是否删除,如图4.10所示。“删除”链接定义为“<a href=javascript:suredel(“&cstr(rs(“id”)&”)>删除</a>”,其中suredel为客户端javascript函数。suredel函数也使用url参数打开mgstudent.asp页面,url参数为action=del&id=+id。在图4.10中,单击“确定”按钮,使用url参数打开mgstudent.asp页面,mgstudent.asp页面根据reques

36、t(“action”)=“del”判断删除学生信息。代码层面,使用sql语句delete从数据库中删除该学生的信息,删除成功后返回到如图4.6所示的学生信息列表,被删除学生的信息从列表中消失。4.4.7考试科目管理界面的设计及功能实现科目管理界面是网上考试系统中的一个很重要的部分,每个科目对应一门考试。一科考试包含有若干试题,在添加完科目以后可以添加考试试题。科目的信息包括考试试题的类型、每种类型的试题数量和每题分值等。mgsubject.asp也是一个自响应页面,同mgstudent.asp页面一样也将添加、删除和修改科目放在一个页面内完成;但“管理”链接文字则不同于其他链接文字,它将页面传

37、至新的链接页面:mgquestion.asp。(一)考试科目管理界面以管理员身份登录系统后,首次打开页面mgsubject.asp的执行结果如下图4.10所示。页面上半部分包含已有科目信息的列表,下半部分为增加科目的表单。表单仅含有多个文本框,包括科目名称、考试时间、单选题题量、多选题题量、单选题分值、多选题分值等。图4.10 考试科目管理界面(二)编辑考试科目区域在上图4.6中,选中某个科目后单击“编辑”链接,将以url参数的形式打开mgsubject.asp页面。参数为“subjectname=计算机&action=edit”。“编辑”链接的定义是“mgsubject.asp?su

38、bjectname=<%=trim(rs(“subjectname”) %>action=edit”。修改编辑完成之后,单击“确定”按钮提交科目信息表单,将打开自身页面mgsubject.asp,修改的科目将取代原科目的位置出现在科目列表中。界面如下图4.11所示:图4.11 考试科目编辑区域(三)添加考试科目区域下图4.12所示添加考试科目区域属于页面mgsubject.asp,此页面根据request(“action”)=“add”开始增加考试科目。判断输入的考试时间、单选题题量、多选题题量、单选题分值、多选题分值是否为空,如果不为空,使用sql语句insert插入考试科目到数

39、据库中。新增加的考试科目信息会出现在考试科目列表底部。图4.12 添加考试科目区域(四)删除考试科目下图4.13所示删除考试科目功能属于页面mgsubject.asp,如果request(“action”)=“del”,使用sql语句delete从数据库中删除考试科目信息,删除成功后返回如图4.10所示的考试科目信息列表,被删除考试科目的信息从列表中消失。“删除”链接的定义是“mgsubject.asp?action=del&id”+id”。图4.13 删除考试科目弹出框4.4.8管理考试试题考试试题的管理师考试系统的核心部分。在添加完科目后可以为该科目添加试题,试题页面mgquest

40、ion.asp同学生管理与科目管理页面一样,也是一个自响应页面,它将添加、删除、修改试题放在同一个页面内完成。在图4.10中,单击某个科目后的“考题管理”链接,打开页面mgquestion.asp,并传递url参数“subjectname=”。页面mgquestion.asp首先根据subjectname查询所有该科目的试题,并列表显示。然后,根据request(“action”)是否为edit来显示修改实体表单或者增加试题表单,如图4.14所示。图4.14 管理考题界面(一) 考题删除区域删除区域如图4.15,功能原理与前几个界面大致相同。图4.15 考题删除弹出框(二) 考题编辑、添加区域

41、增加考试试题以及修改考试试题的后台处理页面是addquestion.asp。如图4.16所示。填写增加试题表单中的各项信息,然后单击“确认”按钮提交表单,既可增加考试试题。图4.16 增加试题区域添加的数据实现流程为,先读取addquestion.asp页面中提交的表单信息,然后放回mgquestion.asp界面里进行列表显示。而编辑则在最开始的部分增加了读取数据库的步骤,如图4.17编辑试题区域。图4.17 编辑试题区域(三) 分页栏区域此区域的作用是显示分页栏,并实现翻页。本功能应用request.write语句实现。如图4.18所示。图4.18 分页栏区域4.4.9管理考试分数学生考试

42、完毕,考试分数被存储在系统中,教师或者考试管理员可以对学生的考试分数进行管理。考试分数管理比较简单,只包含学生分数列表,列表后提供“删除”链接,如图4.19(a)所示,4.19(b)为删除成功弹出框。图4.19(a) 成绩管理图4.19(b) 删除成功弹出框在图4.19中单击某门科目后的“删除”链接,使用url参数“mgscore.asp?action=del&id=”+id”打开mgscore.asp页面,页面根据request(“action”)=“del”执行sql语句delete,从数据库中删除该学生成绩。“返回管理员界面”链接则跳转至primarypage.asp。连接字符串

43、4.4.10选择科目模块学生登录成功后,可以选择参加考试的科目,实现选择考试科目模块的是selectsubject.asp页面源代码。如图4.20所示,为学生登陆成功后进入的科目选择页面。图4.20 选择考试科目页面上半部分显示学生已经参加过的考试科目和成绩,下半部分定义了科目选择表单,学生可以选择其中一个科目进行考试。(一) 选择考试科目区域在图4.21中,选择一个科目,然后单击“下一步”按钮提交表单,将打开自身页面,页面根据request.form(“submit”)=“下一步”开始处理考试科目信息。根据学生账号查找学生考试成绩表中是否存在该学生该科目的成绩。如果存在,该学生不能再参加此科

44、目的考试,显示图2.22已考科目提示;如果不存在该学生该科目的成绩,从科目信息表中查询该科目的信息并保存到session中,然后使用客户端javascript函数tgotourl(“examine.asp”),打开考试页面。图2.21考试科目选择界面如果已经考过此门科目则将显示如下提示:图2.22 已考科目提示(二) 随机抽题模块详解本部分以单选题为例,详细叙述下,随机抽题的过程:程序首先创建testform表单,提交表单数据给getresult.asp。然后从question数据表中读取所选科目并且选取haveselect为0(即没有被选择过的)的单选记录。而后使用temp=fix(coun

45、t*rnd(10)获得随机的单选题记录。最后将已经选择的单选题的haveselect属性值设为1。其中,rnd()函数用于产生一个小于1大于0的随机数值,该函数必须与randomize()结合使用,表达式:rnd(number)。程序实例及注释如下:创建testform表单,提交表单数据给getresult.asp<form method="post" action="getresult.asp" name="testform">创建表格 <table border="0" cellspacing

46、="0" bordercolor="#111111" width="100%" > <tr><td width="100%" height="25"><b><font size="3" color="#000080">一、单项选择题(每题<%=session("singleper")%>分,共<%=session("singlenumber")%

47、>题)</font></b></td> </tr> </table><% strid1="" strid2="" '从试题表随即抽出试卷指定数量的单选题 randomize for i=1 to session("singlenumber")查询所有的数据库中的单选题记录 set rs=server.createobject("adodb.recordset")创建rs记录集从question数据表中读取所选科目和没有被选过的单选题记录

48、 sql="select * from question where subjectname='"&session("selectsubjectname") & "'and type='单选题' and haveselect=0 " rs.open sql,conn,3,2打开数据库 count=rs.recordcount统计记录数量 temp=fix(count*rnd(10)获得随机数记录 rs.move temp移动到随机记录 rs("haveselect")

49、=1写入已经选择标识 strid1=strid1 & rs("id") & "," '显示题目%>(三)显示考试结果区域图4.23的作用是现实selectsubject.asp页面上半部分,这里显示了学生已经参加的科目和考试成绩。图4.23 显示考试结果4.4.11考试答题考生选择了考试科目后,正式进入考试页面开始考试,考试页面的执行结果如图4.24所示。图4.24 进入考试页面在图4.24中单击“开始考试”按钮,提交表单给自身页面,页面根据request.form(“submit”)=“开始考试”判断学生选择开始考试进行考

50、试答题,开始答题页面如图4.25所示。4.25 开始答题在图4.24至图4.25之间有后台程序运行,步骤如下:1生成试卷:使用在选择科目页面中保存在session中的科目信息,将该科目考试的信息首先插入到数据库分数表中,然后使用rs.update语句更新数据库。2提交试卷:该页面用于显示该科目总的考试时间,并使用客户端javascript函数显示当前学生已经答题的时间。考试时间到了以后,则自动交卷,如图4.26自动提交弹出框。图4.26 自动提交弹出框3抽取及显示试题:先查找符合条件的单选或多选,系统随机抽题后,显示出来即生成了试卷。4.4.12批阅试卷在考试答题页面中,在运行“交卷”功能后,

51、将会打开getresult.asp,执行后:1 计算单选题得分:首先从session变量中读取有关该科目考试的信息,然后循环读取学生试卷中的单选题的答案,与数据库查询答案结果比较,计算单选题得分。2 使用1的方法计算多选题,然后将学生考试分数、试卷总分数等信息保存到session变量中,并重定向到考试结果显示页面result.asp。4.4.13显示考试结果统计过考生成绩后,系统自动将考试结果显示在result.asp页面上,如图4.27所示。图4.27 显示考试结果此界面的作用是读取session中的考试分数、考卷总分等信息,并显示出来。第五章 软件程序框图5.1学生登录考试模块流程图图5.

52、1 学生用户登录考试模块的流程图用户登录模块的流程图如图5.1 所示,用户登录主要是通过判断用户名和密码是否匹配,也就是要和数据库中用户名和密码一一对应才能登录成功。登陆成功后,转向考生页面。5.2管理员登录模块流程图图5.2管理员登录模块流程图用户登录模块的流程图如图5.1 所示,用户登录主要是通过判断用户名和密码是否匹配,也就是要和数据库中用户名和密码一一对应才能登录成功。登陆成功后,转向管理员页面。5.3学生考试流程图图5.3学生考试流程图学生考试是此次系统设计的最主要所在。本流程的主要部分是:数据库的链接,数据记录集的各种基本操作,rnd()随机数的产生,session的存储数据应用及

53、数据传递,haveselect的标识的使用,此外当然还有数据库的频繁操作,包括查询、修改、删除。 具体的各代码功能可参见附录注释。5.4信息管理流程图图5.4信息管理流程图当用户登录成功后及转向相应的操作页面,管理员身份拥有管理权限当登陆成功后,会对应四个表的操作转移界面,点击链接文字后则对应转到相应的数据库进行操作,操作包括添加、修改、删除,隐形部分包括数据库查询,这属于默认的功能,所以没有操作按钮,而是直接显示出来,以上三种操作均已request对象的action状态作为标识,以用来读取对应数据信息;并建立rs记录集,同时使用.close和.update来实现关闭及更新数据记录集功能。5.

54、5添加流程图图5.5添加流程图这是此系统应用最频繁的流程之一,先判断request对象传送的action是否为add,如果真,则添加用户,此外还需判断用户名和密码是否为空和用户名是否重名,如果没有则将记录放置进rs记录集中。5.6删除流程图图5.6删除流程图这是此系统应用最频繁的流程之一,先判断request对象传送的action是否为del,如果真,则删除用户,此外还需创建suredel()函数,确认是否删除用户。5.7修改流程图图5.7修改流程图这是此系统应用最频繁的流程之一,先判断request对象传送的action是否为modify,如果真,则允许修改用户,将编辑后将记录放置进rs记录

55、集中。当然在不同情况下,编辑的语句使用不尽相同,例如在学生用户管理中,用户名不可修改,密码可修改;而在考题修改中,任何数据都可修改。第六章 软件测试及调试对于本网上考试系统的设计,旨在模拟实现考生远程网上考试的过程,同时网站的设计也必须符合一般的考试设计,所以根据考试的需要,本次网站毕业设计按照模块式逐步实现和完成,这样做能够方便调试和检查错误,及时发现错误并修改,进而完成下一步的设计。所以在整个设计过程中都是以模块为基础,逐步调试,这样使得测试和调试井然有序,相对简单。本次网站的界面设计采用的软件是dreamweaver8,它能够很方便的制作出各种界面和实现一部分的模块功能。在用dreamw

56、eaver8做界面时一定要先熟悉它的使用和各个菜单的功能,要知道表格、表单、插入图像等基本操作,例如在表格中插入图片一定要注意图片的地址,否则就不能正常显示。这时只需要修改一下图片的地址,例如改为图片的相对地址就可以。其实之所以选择dreamweaver8做开发工具,是因为在设计过程中,如果不慎出现了错误,在预览界面时dreamweaver8就会自动报错,而且会提示错误的具体类型和具体位置,这为调试提供极大的方便。在调试过程中经常会出现dreamweaver8报“名称重定义”、“找不到相关记录集”或“参数不足”等错误,刚开始时对于这些错误都无从下手,后来通过百度查找相关资料,尝试着慢慢修改,逐

57、渐积累了一些常见问题修改的方法,这为后面的测试和调试打好了基础。调试开始前,要设置好服务器的iis信息,把主目录设置成自己目录所在位置,否则就找不到测试的主目录,还要选中脚本资源访问这个选项,只有设置好了iis,才能为以后的设计和调试打好基础。在dreamweaver中建立站点时也需要注意一些问题,例如“在哪种服务器技术”栏中要注意选择 asp vbscript,因为本次设计是使用vbscript。 在做页面跳转时有时会遇到传递参数不正确或不足等错误,这样就导致模块之间的衔接不正确,虽然有些模块是独立的,但是有的模块联系还是很紧凑的。例如考题的添加、修改、删除、查询是一体的,会员通过查询获得信息,点击编辑、添加、删除则会使

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论