基于Web技术的网络考试系统的设计与实现.docx

上传人:b****8 文档编号:28404047 上传时间:2023-07-13 格式:DOCX 页数:40 大小:328.15KB
下载 相关 举报
基于Web技术的网络考试系统的设计与实现.docx_第1页
第1页 / 共40页
基于Web技术的网络考试系统的设计与实现.docx_第2页
第2页 / 共40页
基于Web技术的网络考试系统的设计与实现.docx_第3页
第3页 / 共40页
基于Web技术的网络考试系统的设计与实现.docx_第4页
第4页 / 共40页
基于Web技术的网络考试系统的设计与实现.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于Web技术的网络考试系统的设计与实现.docx

《基于Web技术的网络考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Web技术的网络考试系统的设计与实现.docx(40页珍藏版)》请在冰豆网上搜索。

基于Web技术的网络考试系统的设计与实现.docx

基于Web技术的网络考试系统的设计与实现

 

摘  要

本论文主要阐述了基于Web技术的网络考试系统的设计与实现。

在介绍动态网页程序开发和数据访问技术基础上,提出了网络考试系统的组成与结构,阐述了系统的设计方案、实现方法以及所采用的开发工具和相关技术,还重点剖析了网络考试系统中套题管理、考生成绩管理、课程信息管理三个模块的设计和实现方法。

本考试系统采用B/S模式开发,不需安装客户端,被授权用户通过浏览器即可登录系统,从而开始正常的考试。

本系统是基于ASP.NET与SQLServer数据库平台构建而成。

微软公司产品优异的性能为本系统提供了高效稳定的运行环境,使本系统无论在运行速度、易用性还是在数据吞吐能力方面都表现卓越。

本系统采用了以下技术方案保证考试正常稳定的进行。

全面的容错处理使考试作业流程得到有序的控制,对用户的误操作能够进行有效的屏蔽;在考试过程中,禁止考生刷新浏览器,防止考生误操作导致答案丢失;对鼠标右键操作进行限制,保证考试系统用户界面的完整性;另外,系统还提供了考试时间倒计时功能,使考生随时了解考试剩余时间。

在考试结束前一分钟和最后10秒种,系统会提醒考生注意保存答案,防止答案丢失。

考试到时后,如果考生还未提交试卷,系统将自动交卷,保证考试严肃、公正的进行。

【关键词】网络考试系统WebB/S结构ASP.NET

 

网络考试系统之课程与成绩管理的设计与实现

1.绪论

在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着变革,而网络考试则是一个很重要的方向。

基于Web技术的网络考试系统可以借助于遍布全球的因特网进行,因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。

试卷可以根据题库中的内容即时生成,可避免考试前的压题;而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。

所以现在较好的考试方法为网络考试,试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。

因此,采用网络考试方式将是以后考试发展的趋势。

1.1开发背景

考试是整个教学过程中至关重要的一个环节,科学化的考试对于促进学生的学习、了解学生对知识的掌握程度、评测教师的教学效果、规范和引导教师的教学行为以及进一步优化教学改革都起着非常重要的作用。

考试的组织与管理是一项复杂且艰巨的工作,传统考试模式涉及到组织命题、试卷印刷、考场安排、监考、组织阅卷、统计成绩、试卷分析等诸多环节,因此整个考试任务周期长,工作效率低下,造成了人力、物力资源的浪费,另外人工阅卷、统计成绩等环节易受到教师主观因素影响,也会影响到考试的公正性。

随着计算机技术和互联网的发展,应用现代信息技术构架的网络考试系统显示了越来越多的优越性。

以学分制教学和交互协作教学为主要特征的现代教育能实现优秀教育资源不受时间和空间的限制,网上考试系统作为现代教育的重要组成部分也以其方便、快捷、准确、及时等特点成为考核学生知识掌握的一种重要手段。

网络考试从根本上解决了传统考试过程中的人工阅卷工作量大、效率低、反馈周期长、反馈能力弱、资源浪费等缺陷,成为现代教育技术发展与研究的方向。

基于Internet的开放性、分布性的特点使得考试突破了时间和空间的限制,具有较高的公平公正性,从而受到各界的一致推崇。

在线考试系统是利用计算机资源和网络资源根据设定的算法和策略进行组卷、考试、评分、分析,相对减少了考试各环节的人为主观因素影响,能更快速、客观、安全地组织考试,帮助教师摆脱繁重的阅卷负担,大幅提高阅卷速度,有效避免人为误差及人情分等问题,从而保证了考试的公平公正,提高了考试的效率和信度。

在线考试系统可以充分发挥计算机处理速度的优势,从不同角度对考试进行数据分析,得到内容更详细和层次更高的分析结果,使教师能及时了解学生对知识的掌握程度,发现其中的问题,从而改进教学方法,对进一步优化教学改革,提高教学效果和教学质量。

通过在线考试的题库管理系统,不断丰富题库内容,使考试试题覆盖面更广,准确界定并合理设置题库的难度与区分度,使考试能准确反映考生对知识的掌握程度。

在线考试系统能够促进高校考试命题的科学化、合理化,将日益成为对学生进行评价的一种重要的方法,对实现教学与考试相分离,促进高校教学改革有着重要的作用。

2.系统分析

2.1需求分析

2.1.1设计目标

网络考试系统是将传统的考试模式与先进的网络应用相结合进行开发设计的,主要实现如下目标:

1)在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数计算总结的所有工作。

2)所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。

3)考试数据的存放和处理必须对考试保密,需要一定的安全性保障。

4)题目最好有一定的稳定性和随机性。

稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。

5)考试的部分客观题在考生考完之后系统就能自动评分,并保存考生的主观题答案。

2.1.2.系统性能要求

系统应该有7*24小时的稳定性,内部信息系统的架构和设计应具备支持3000人并发访问和使用的能力。

2.2可行性分析

网络考试系统的开发及应用,避免以往学校里考试纸张、笔、监考和巡考等各种资源的浪费。

使用这种新的考试模式,可以为考生提供一种全新的考试环境,在很大程度上对考试的效果、效率和标准水平进行提高。

考生可以随时随地通过网络进行考试、查询考试成绩,对一个时期内的学习情况进行总结、分析,有助于学生对自己的学习情况做进一步的了解和提高。

考生只需要通过自己的学生编号和密码就可以进入前台考试系统进行在线考试,按步骤依次选题和答题,答题完毕后系统会自动判断考卷,核对出考试的分数,解决了以往在学校考试之后等待考卷分数通知的问题。

考试系统的后台管理部分是对试题的内容、课程、专业以及学生的考试成绩等做了详细的分类之后形成的,管理员在登录以后,可以对各类信息进行更加直观、统一地管理和维护。

此外网络考试系统的开发及应用为学校的管理人员提供了一种更加新颖、方便、快捷、直观地工作环境,可以避免以往传统地在学校里考试时对纸张、笔、监考和巡考等各种资源的使用,使管理人员可以更加方便地对考试内容、考生成绩等信息进行管理和维护,提高了管理人员的工作效率,而且后台管理是管理员唯一的管理方式,更加确保了程序的安全性。

综上所述,网络考试系统是一个具有实时性、公正性、真实准确性的新型考试模式,无论对于考生考试,还是对于管理人员管理维护来说,都将是一个巨大的改变。

2.3系统制作开发工具介绍

2.3.1ASP.NET简介

ASP.NET是微软公司推出的一种Internet编程技术,它采用效率较高的、面向对象

的方法来创建动态Web应用程序。

ASP.NET是一种独立于浏览器的编程模型,可以在最新版本的IE、以及诸如Opera等被广泛使用的浏览器上运行。

ASP.NET是一种建立在通用语言上的程序构架,一个已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。

ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。

与以前的Web开发模型相比,ASP.NET存在着数个重要的优势:

1.世界级的工具支持

ASP.NET框架补充了VisualStudio集成开发环境中的大量工具箱和设计器、WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。

2.威力和灵活性

由于ASP.NET基于公共语言运行库,因此Web应用程序开发人员可以利用整个平台的威力和灵活性。

Microsoft.NET框架类库、消息处理和数据访问解决方案都可从Web无缝访问。

ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。

3.简易性

ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。

例如,ASP.NET页框架可以生成将应用程序逻辑与表示代码清楚分开的用户界面。

另外公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。

4.可管理性

ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。

由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。

此“零本地管理”哲学也扩展到了ASP.NET框架应用程序的部署。

只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。

不需要重新启动服务器,即使是在部署或替换运行的编译代码时。

5.可缩放性和可用性

ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。

另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。

6.自定义性和扩展性

ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。

实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。

7.安全性

借助内置的Windows身份验证和基于每个应用程序的配置,可保证应用程序是安全的。

2.3.2SQLServer简介

SQLServer是一个关系数据库管理的系统,它支持客户机/服务器结构(c/s),能够进行联机分析处理和分布式事务处理,为数据库数据的分析与处理提供了丰富的管理工具,支持数据库的安全性、完整性及其作业管理,具有非常强大的网络功能,同时也支持接受电子邮件和web页面的发布。

在系统运行时,其将工作负荷分解为两个方面运行:

1)服务器任务:

管理和操作数据库中的数据。

2)客户端任务:

将与用户的交互界面显示出来,在数据处理时,用Transact-SQL语言进行描述,并将其传输到服务器端,在服务器端对其进行处理,执行T-SQL语句,生成查询结果,使其返回值客户器端。

SQLServer比同比数据处理系统具有非常大的优越性,其特点如下:

1)存储大量的数据信息,使得检索变得方便、可行。

2)具有更强的数据共享性和安全性。

3)在数据的存储与处理方面,具有更好的一致性和完整性,并且能够降低数据的冗余度。

4)对数据能够进行智能化分析,使得数据转变为有用信息。

3.总体设计

3.1项目规划

网络考试系统是一个功能完善的网络应用程序,由前台学生登录考试、学生注册、找回密码和后台管理四部分组成。

Ø前台功能模块:

前台页面窗口主要包括登陆前台和后台的主页、选择考试课程、课程相关的套题、准备考试、开始考试、查询考试成绩和退出系统。

Ø学生注册功能模块:

学生注册页面只是单一的学生资料注册窗口。

Ø密码找回功能模块:

密码找回页面也只是单一的密码找回窗口。

Ø后台功能模块:

后台页面窗口主要包括系统管理员资料查询、添加、修改、删除,注册学生资料查询、删除,专业信息查询、添加、修改、删除,课程信息查询、添加、修改、删除,套题信息查询、添加、修改、删除,考生成绩查询、删除,考试题目查询、修改、删除,添加试题及退出系统等功能。

3.2系统功能结构图

网络考试系统完整功能结构,如图3-1所示。

图3-1网络考试完整功能结构图

3.3开发及运行环境

Ø硬件环境:

CPU:

P41.8GHz以上

内存:

256MB以上

Ø软件环境:

操作系统:

WindowsXP/Windows2000/Windows2003(推荐)

开发环境:

.Netframework2.0,Visualstudio2005

开发语言:

C#

数据库:

SQLServer2000

服务器:

IIS6.0

浏览器:

IE5.0,推荐使用IE6.0

分辨率:

最佳效果1024*768像素

4.模块涉及的数据库设计

4.1数据表概要说明

为从多方面保障考生考试信息的安全性、可信性和考试成绩的可依赖性,本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(管理员信息、考题信息、试卷信息、学生成绩信息等)。

在设计数据表的过程中遵循以下几条原则:

设计一个数据库表最好只存储一个实体或对象的相关信息,不同的实体最好存储在不同的数据表中;如果实体还可以再划分,实体的划分原则是最好能够比当前系统要开发的实体的颗粒度小;数据表的信息结构一定要合适,表的字段数量一定不要过多;扩充信息和动态变化的信息一定要在不同的表里分开;对于多对多这样的表的关系系统,尽量不出现。

基于上述原则网络考试系统采用SQLServer2000数据库,数据库名称为db_Examination,该数据库中包含7张表分别为:

套题信息表(tb_TaoTi)、学生信息表(tb_student)、管理员信息表(tb_Administrator)、学生成绩表(tb_StuResult)、课程信息表(tb_Lesson)。

4.2数据表结构及实现

1、管理员信息表tb_Administrator:

用于保存管理员登录网络考试系统的用户名及密码,该表的结构如表4-1所示,表中记录如图4-1所示。

列名

数据类型

长度

主键

标识列

说明

ID

bigint

8

系统管理员编号

Name

Varchar

50

管理员名称

PWD

Varchar

50

管理员密码

joinTime

datetime

8

加入时间

表4-1管理员信息表tb_Administrator的结构

图4-1管理员信息表中记录

2、课程信息表tb_Lesson:

用于保存课程的详细信息,该表的结构如表4-2所示,课程表中记录如图4-2所示。

列名

数据类型

长度

主键

标识列

说明

ID

bigint

8

课程编号

Name

Varchar

50

课程名称

Ofrofession

bigint

8

所属专业编号

joinTime

datetime

8

加入时间

表4-2课程信息表tb_Lesson的结构

图4-2课程信息表中记录

3、学生信息表tb_Student:

用于保存学生的详细信息,该表的结构如表4-3所示,表中记录如图4-3所示。

列名

数据类型

长度

主键

标识列

说明

ID

varchar

50

学生证号

Name

varchar

20

学生姓名

PWD

varchar

20

学生密码

Sex

varchar

2

性别

JoinTime

datetiom

8

加入日期

question

varchar

50

学生回答的问题

answer

varchar

50

学生回答的答案

profession

bigint

8

学生回答问题所属专业

IPAddress

char

30

学生IP地址

表4-3学生信息表tb_Student的结构

图4-3学生信息表中的记录

4、套题信息表tb_TaoTi:

用于保存套题的详细信息,该套题表与课程表的关系为多层附属对应,主要考虑到考试题与所学课程的相互关系,套题表是从属于课程表。

该表的结构如图4-4所示,表中记录如图4-4所示。

列名

数据类型

长度

主键

标识列

说明

ID

bigint

8

套题编号

Name

varchar

50

套题名称

LessonID

bigint

8

课程号

JoinTime

datetime

8

加入时间

表4-4套题信息表tb_TaoTi的结构

图4-4套题信息表中记录

5、学生成绩表tb_StuResult:

用于保存学生成绩的详细信息,该表的结构如表4-5所示,学生成绩表中记录如图4-5所示。

列名

数据类型

长度

主键

标识列

说明

res_id

bigint

8

考试成绩ID

stu_id

varchar

50

学生证号

which_lesson

varchar

50

考试课程

taotiid

bigint

8

套题号

taotiname

varchar

50

套题名称

res_single

int

4

单选成绩

res_more

int

4

多选成绩

res_total

int

4

全部总成绩

res_subdate

datetime

8

考试时间

表4-5学生成绩表tb_StuResult的结构

图4-5学生成绩表中记录

6、试题信息表tb_Questions:

用于保存试题的详细信息,该表的结构如表4-6所示,表中记录如图4-6所示。

列名

数据类型

长度

主键

标识列

说明

Id

bigint

8

考试问题ID

que_subject

varchar

50

考试问题科目

que_type

char

10

考试问题类型

que_joindate

datetime

8

考试问题加入时间

que_lessonid

int

4

考试问题的课程

que_professionid

int

4

考试问题的专业

que_taotiid

bigint

8

考试问题的套题

optionA

varchar

50

问题答案A

optionB

varchar

50

问题答案B

optionC

varchar

50

问题答案C

optionD

varchar

50

问题答案D

que_answer

char

10

问题的答案

Note

varchar

50

答案为空的题

表4-6试题信息表tb_Questions的结构

图4-6试题信息表中的记录

7、专业信息表tb_Profession:

用于保存专业信息的详细内容,该表的结构如表4-7所示,表中记录如图4-7所示。

列名

数据类型

长度

主键

标识列

说明

ID

bigint

8

考试科目ID

Name

varchar

200

考试科目名称

JoinTime

datetime

8

加入时间

表4-7专业信息表tb_Profession的结构

各表之间的关系图如图4-8所示。

图4-8各表之间的关系图

 

5.套题管理模块的设计与实现

5.1主要功能

套题管理模块实现对考题进行删除,修改,查找操作,管理员可以在这里对考题信息进行维护工作。

在界面中首先显示的是各门的科目名称。

可通过点击“添加套题”按钮即可跳转到套题添加页面,输入套题名称,选好所属课程,设置好后点击“添加”按钮返回套题管理界面。

如果对之前设置的套题不满意,有需要修改的地方,你可以点击“修改”按钮进入套题修改界面进行套题的修改,直到满意为止。

点击“修改”按钮,返回套题管理界面,完成套题的修改。

“删除”按钮,是对于不再使用的套题进行删除。

套题管理模块的运行效果如图5-1所示。

加截图,日期要当前的!

图5-1套题管理模块的运行效果图

5.2公共类的编写

公共类中封装了数据库连接,及一些对数据库的常用命令。

这样即有利于数据库的迁移,又保证了安全以免连接只开不关。

1.dataconn类中的getcon()方法:

getcon()方法用于连接数据库,返回值类型为SqlConnection。

其代码如下:

publicSqlConnectiongetcon()

{

stringstrCon="DataSource=(local);DataBase=db_Examination;UserID=sa;PWD=";

SqlConnectionsqlCon=newSqlConnection(strCon);

returnsqlCon;

}

这段代码为数据库的配置信息,每次做增删改查时,都会调用此类。

实现对数据库内的信息的更改。

Public为公共类,定义getcon()为SqlConnection的一个方法。

并将SqlConnection实例化,所调用的值为strCon,也就是,连接数据库的服务器为本地服务器。

用户名为:

sa,密码为:

admin。

2.dataconn类中的eccom方法:

调用时首先向该方法传递一个SQL语句,然后与SQLServer数据库建立连接,应用SqlCommand对象执行所传过来的SQL语句,最后应用Try-catch-finally语句进行异常处理,如果执行该SQL语句则返回true,反之则返回false。

此为检查异常类,通过try{}catch{}语句来实现此功能。

抛出异常,返回true的值,弹出对话框,显示错误;如果为其他,则数据库关闭。

该方法的代码段如下:

publicbooleccom(stringsqlstr1)

{//创建连接,调用getcon方法

SqlConnectioncon=this.getcon();

con.Open();//打开连接

//创建SqlCommand对象

SqlCommandmycommand=newSqlCommand(sqlstr1,con);

try

{

mycommand.ExecuteNonQuery();//执行Sql语句

returntrue;

}

catch

{

returnfalse;

}

finally

{

con.Close();

}

}

3.dataconn类中的ecDropDownList()方法:

调用时首先向该方法传递四个值,分别为DropDownList控件、SQL语句、列表项提供的内容字段和列表项提供值。

然后与SQLServer数据库建立连接,应用SqlDataAdapter对象填充数据集并指定DropDownList控件的数据源,最后设置列表项提供的内容字段和列表项提供值所绑定的数据源。

应用Try-catch-finally语句进行异常处理,如果DropDownList控件执行DataBind方法则返回true,反之则返回false。

该方法的代码段如下:

publicboolecDropDownList(DropDownListDDL,stringsqlstr3,stringDTF,stringDVF)

{

SqlConnectioncon=this.getcon();//创建连接

con.Open();//打开连接

SqlDataAdaptermydataadapter=newSqlDataAdap

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1