aspnet随机出题在线考试系统方案.docx
《aspnet随机出题在线考试系统方案.docx》由会员分享,可在线阅读,更多相关《aspnet随机出题在线考试系统方案.docx(63页珍藏版)》请在冰豆网上搜索。
![aspnet随机出题在线考试系统方案.docx](https://file1.bdocx.com/fileroot1/2023-2/22/cc303de2-7cd4-45d3-bf65-7e20f4e4432c/cc303de2-7cd4-45d3-bf65-7e20f4e4432c1.gif)
aspnet随机出题在线考试系统方案
本科毕业设计(论文)
题 目:
在线考试系统
学生:
学号:
指导教师:
院 系:
专业年级:
2009年5月3日
在线考试系统的设计与实现
摘要随着近几年来微机技术、网络技术、多媒体技术及相应软件技术的迅猛发展,学校的教学、管理、考试等工作己越来越离不开计算机了。
一方面,计算机辅助教育与计算机辅助教学是计算机技术非常重要的应用领域;另一方面,计算机与网络的应用更加促进了两者的飞速发展,目前它们已逐步成为现代教学的一个很重要且有效的手段。
本系统——在线考试系统,采用ASP.NET技术作为创建应用程序的方式,以C#.net作为编程语言,采用SQLServer数据库作为后台数据库。
它是基于Browser/Server结构下形成的数据驱动的Web应用程序。
本系统基本遵循了软件工程方法论进行系统分析、总体设计、详细设计和软件测试。
实现了用户登录、试题的管理、试题库的维护、试题库的组卷管理、在线考试管理、考试成绩评阅管理等功能。
关键词:
在线考试自动组卷ASP.NETSQLServer
OnlineExaminationSystemDesignandImplementation
ABSTRACTWiththecomputertechnologyinrecentyears,networktechnology,multimediatechnologyandthecorrespondingrapiddevelopmentofsoftwaretechnology,schoolteaching,management,examination,etc.hasbecomeincreasinglyinseparablefromthecomputer.Ontheonehand,computer-aidededucationandcomputer-aidedteachingisaveryimportantcomputertechnologyapplications;Ontheotherhand,theapplicationofcomputerandnetworktopromotemorerapiddevelopmentofthetwo,atpresenttheyhavegraduallybecomeaveryimportantteachingandeffectivemeans.
Thesystem-onlinetestingsystem,usingASP.NETtechnologyasawaytocreateapplicationstoC#.Netastheprogramminglanguage,theuseofSQLServerdatabaseastheback-enddatabase.ItisbasedonBrowser/Serverstructureformedunderthedata-drivenWebapplications.
Followedthesystemofbasicsoftwareengineeringmethodologyforsystemanalysis,design,detaileddesignandsoftwaretesting.
Therealizationoftheuserlogin,testmanagement,testdatabasemaintenance,thetestpapersquestionsTreasurymanagement,onlinetestmanagement,testmanagementfeaturessuchasmarkingresults.
Keywords:
OnlineExaminationAutomaticTestPaperASP.NETSQLServer
1概述
1.1开发背景
近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。
Internet技术持续迅猛的发展,也给传统的教学提出了新的模式。
以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。
作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型教学模式的建构提供理想的环境。
在此开发的在线考试系统,旨在探索一种以互联网为基础的教学模式。
通过这种新的模式,使学生通过自测及时的掌握学过的知识,为学院营造一种新的教学环境,从而提高工作效率和教学水平。
1.2项目提出的意义
一个完备的在线考试系统可以使用户学习过后及时检验自己的学习效果,以及时发现自己的不足,使得学习效率得到很大提高。
在线考试系统中考试科目、题库的维护、自动组卷等都可以在网络上自动完成。
只要形成一套成熟的题库就可以让学生实现在线考试的网络化。
这样一来,教师所要做的只是精心设计题目、维护题库,便可以使教学质量达到事半功倍的效果,这表明其经济性是相当可观的。
为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在使学生对自己能力的自测水平发挥高效、便捷的作用!
1.3系统的开发方法
目前,网络应用软件运行的模式主要有二类:
Client/server模式,Browser/Web模式。
前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。
另外,在线考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。
基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用SQLServer数据库系统和ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成在线考试系统各个功能模块的全过程,同时可进行远程系统维护和管理。
利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用技术,开发了基于B/S模式多用户在线自测系统这一程序。
它运用方便、操作简单,效率很高。
本系统实现了试卷的客观题部分、主观题部分等的自动出题手动出题功能,以及客观题目的自动判卷,主观题目的参考判卷等功能,具有系统登录、用户个人信息修改、用户管理、试卷管理、组卷系统,学生在线考试,教师在线评阅等重要功能,也就是说实现了真正的无纸化自测,满足任何授权的考生随时随地自测并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。
1.4系统开发工具
1.4.1C#简介
现在ASP.NET支持的开发语言包括VB.NET、C#.NET、JSCRIPT.NET、VC++.NET以及其它.NETFramework所支持的语言。
我们所做的图书销售系统是用C#语言。
所以,在这里我介绍一下C#语言。
C#(Csharp)是一种最新的、面向对象的编程语言。
它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序,Microsoft.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序。
使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
C#有以下特性:
⑴效率与安全性
⑵支持现有的网络编程新标准
⑶消除大量程序错误
⑷对版本的更新提供在的支持降低了开发成本
⑸商业过程和软件实现的更好对应
⑹扩展交互性
1.4.2ASP.NET简介
提到ASP.NET,就不得不首先搞清楚什么是ASP。
ASP的全称是ActiveServerPages,即活动服务器页面,为什么称之为活动服务器页面,这是因为以前的互联网全部是由静态的HTML页面组成,如果需要更新你的容,你不得不制作大量的HTML页面。
有了ASP以后,我们就能够根据不同的用户,在不同的时间向用户显示不同的容。
的容更新也不再是一个乏味的重复过程,它开始变得简单而有趣。
也因此在国掀起了一股学习ASP的热潮。
但是由于ASP程序和网页的HTML混合在一起,这就使得程序看上去相当的杂乱。
在现在的设计过程中,通常是由程序开发人员做后台的程序开发,前面有专业的美工设计页面,这样,在相互配合的过程中就会产生各种各样的问题。
同时,ASP页面是有脚本语言解释执行的,使得其速度受到影响。
受到脚本语言自身条件的限制,我们在编写ASP程序的时候不得不调用COM组件来完成一些功能。
所以,微软推出了ASP.NET。
ASP.NET不仅仅只是ASP3的一个简单升级,它更为我们提供了一个全新而强大的服务器控件结构。
从外观上看,ASP.NET和ASP是相近的,但是从本质上是完全不同的。
ASP.NET几乎全是基于组件和模块化,每一个页,对象,和HTML元素都是一个运行的组件对象。
在开发语言上,ASP.NET抛弃了VBSCRIPT和JSCRIPT,而使用.NETFramework所支持的VB.NET,C#.NET等语言做为其开发语言,这些语言生成的网页在后台被转换成了类并编译成了一个DLL。
由于ASP.NET是编译执行的,所以它比ASP拥有了更高的效率。
ASP.NET有以下技术特点:
Microsoft.NET平台的出现在应用程序开发这一领域开创了一个新时代,它将推动下一代Internet的进步。
作为Microsoft.NET平台的一部分,ASP.NET是一个革命性的编程框架,它实现了企业级Web应用程序的快速开发。
它提供了最简便、最具有扩展能力的方式来开发、部署和运行可以将任何浏览器或设备作为目标的Web应用程序。
实际上,这只是令ASP.NET成为程序员创建Web应用程序的首选的众多特色中的一小部分。
与以前使用的ASP相比,ASP.NET使应用程序的开发工作简单得多,因此它在很大程度上提高了程序员的工作效率。
ASP.NET让程序员可以只编写最少量的代码便能够给Web应用程序提供更为丰富的功能。
最好的一点则是ASP.NET使程序员可以选择任何一种可用的.NET编程语言。
除了常见的Web应用程序,利用ASP.NET还可以创建其他的一些类型,这就使我们的应用程序的围可以延伸到新的客户和业务合作伙伴。
对程序员来说,部署服务器应用程序一直是一件很痛苦的事。
不过,有了ASP.NET,程序员根本不必担心这个问题,因为ASP.NET大大简化了部署过程。
要部署Web应用程序,只要把它复制到Web服务器上就可以了。
除了提供了丰富的程序员这方面的经验,ASP.NET还提供了丰富的用户经验。
ASP.NETWeb应用程序比传统的ASP应用程序速度要快很多,因为ASP.NET令我们可以使用经过编译的编程语言。
因此,ASP.NET应用程序不需要明确的编译步骤,结果便是执行得更快了。
1.4.3数据库简介
随着科学技术的进步,信息已成为各行各业的重要资源。
数据库以其强大的操作和管理功能成为高速信息表达的途经。
据我所知,数据库的类型有很多,比如:
"sqlserver","vf","framework","access","Oracle""MySQL""SYBASE""DB2"等等,然而本软件选择了用SQLServer2000来作为数据库软件。
关于SQLServer2000的介绍:
MicrosoftSQLServer2000是由Microsoft公司开发的,在MicrosoftSQLServer的发展历程中,有两版本具有重要的意义。
那就是在1996年推出的SQLServer6.5和在2000年8月推出的SQLServer2000版本。
6.5版本使SQLServer得到了广泛的应用,而2000版本在功能和易用性上有很大的增强,并推出了简体中文版,它包括企业版,标准版,开发版和个人版4个版本。
MicrosoftSQLServer2000(简称SQLServer)由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。
用SQLServer2000作为数据库软件的理由为:
SQLServer2000能够满足今天的商业环境要求不同类型的数据库解决方案。
它一种应用广泛的数据库管理系统,具有许多显著的优点:
易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。
性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。
除这些核心企业品质外,SQLServer2000还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。
从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。
作为一个完备的数据库和数据分析包,SQLServer2000为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。
作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer2000是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力。
2需求分析
要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。
下面就对在线自测系统的设计进行需求分析。
2.1可行性分析
可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的容。
(1)经济可行性:
主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,提高教学质量。
所以本系统在经济上是可行的。
(2)技术上的可行性:
技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
该管理系统采用了Browser/Server模式进行开发。
Browser/Server体系结构紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。
数据库服务器SQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
它的灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。
因此系统的开发是完全可行的。
2.2系统需要解决的主要问题
首先,因为考试是面向特定的某些对象的,所以学生进入系统应该进行身份验证。
进入系统可以对自己的密码进行修改。
然后,学生需要考试题目和题库的来源,所以系统管理者需要对考试科目和试题库进行维护,最后考试者需要对所对维护的信息组成试卷,供学生考试。
2.3系统应该具备的基本功能
系统的用户可以有很多,主要包括两项客户,管理员级别的客户和考试的学生。
管理员功能:
☆系统维护:
主要包括以下几项功能:
修改密码、用户管理、权限管理、角色管理。
☆科目管理:
考试科目管理。
☆试卷管理:
主要包括以下几项功能:
试卷指定、试卷维护、试卷评阅、用户成绩
☆题库管理:
主要包括以下的功能:
单选题管理、多选题管理、判断题管理。
学生功能:
☆选择考试题目:
查看要参加的考试题目列表,选择指定考试题目考试
☆考试管理:
显示考试容,计时,进行在线考试。
☆查看考试评价:
查看各科题目考试后的成绩以及老师的评价
除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性高,稳定性强的特点。
3系统总体设计
3.1基本简介
该系统是专门用于在线考试、登录、试题查询和自动组卷的应用web程序。
它应该具有开放性、方便性和灵活性。
管理员可以轻松地向题库添加、修改和删除试题。
3.2运行环境
为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。
此应用程序可广泛运行于国际互联网即Internet,也可适用于部的局域网。
其运行要求如下:
☆软件环境:
客户端:
Windows95/98/2000/XP,InternetExplorer(IE)等
服务器端:
Windows2000/XP,InternetInformationServer(IIS)4.0及其以上版本,IE等。
数据库:
SQLserver,运行于服务器端。
☆硬件环境:
服务器CPU:
PIII500以上,存:
256M以上
客户机CPU:
P200MMX以上,存:
32M以上
3.3系统结构图
根据需求分析,在线考试系统的结构图如下:
图3.1系统结构图
3.4详细设计
详细设计是整个设计过程中,最重要的步骤之一。
下面就分如下几个部分对系统进行详细设计:
(1)用户个人信息设计
(2)数据库中表的设计(3)数据库逻辑ER图设计(4)功能模块的详细设计(5)主要模块的流程图显示。
3.4.1用户个人信息设计
用户个人信息设计,首先应该实现用户名和密码的设计。
用户名要求不能为空、重复,密码输入的两次信息应该一致,然后应该实现用户名密码的修改,最后要求管理员对用户的维护操作。
3.4.2数据库中表的设计
(1)数据库名称为TIKU.mdf
(2)数据库中的表格设置
表名:
Role表名说明:
角色权限表
序号
字段名
字段说明
标识
主键
类型
1
RoleId
角色编号
√
√
int
2
RoleName
角色名称
varchar
4
HasDuty_UserManage
用户信息管理
int
5
HasDuty_RoleManage
权限设置
int
6
HasDuty_Role
角色管理
int
7
HasDuty_UserScore
用户成绩
int
8
HasDuty_CourseManage
考试科目
int
9
HasDuty_PaperSetup
试卷制定
int
10
HasDuty_PaperLists
试卷维护
int
11
HasDuty_UserPaperList
试卷评阅
int
12
HasDuty_SingleSelectManage
单选题管理
int
13
HasDuty_MultiSelectManage
多选题管理
int
14
HasDuty_FillBlankManage
填空题管理
int
15
HasDuty_JudgeManage
判断题管理
int
16
HasDuty_QuestionManage
问答题管理
int
表名:
MultiProblem表名说明:
多选题表
序号
字段名
字段说明
标识
主键
类型
1
ID
编号
√
√
int
2
CourseID
科目编号
int
3
Title
题目容
varchar
4
AnswerA
答案A
varchar
5
AnswerB
答案B
varchar
6
AnswerC
答案C
varchar
7
AnswerD
答案D
varchar
8
Answer
答案
varchar
表名:
Paper表名说明:
试卷制定表
序号
字段名
字段说明
标识
主键
类型
1
PaperID
试卷编号
√
√
int
2
CourseID
科目编号
int
3
PaperName
试卷名称
varchar
4
PaperState
试卷状态
bit
表名:
PaperDetail表名说明:
试卷制定明细表
序号
字段名
字段说明
标识
主键
类型
1
ID
编号
√
√
int
2
PaperID
试卷编号
int
3
Type
试题类型
varchar
4
TitleID
试题编号
int
5
Mark
试题分值
int
表名:
JudgeProblem表名说明:
判断题表
序号
字段名
字段说明
标识
主键
类型
1
ID
编号
√
√
int
2
CourseID
科目编号
int
3
Title
题目容
varchar
4
Answer
答案
bit
表名:
SingleProblem表名说明:
单选题表
序号
字段名
字段说明
标识
主键
类型
1
ID
主键
√
√
int
2
CourseID
科目编号
int
3
Title
题目容
varchar
4
AnswerA
答案A
varchar
5
AnswerB
答案B
varchar
6
AnswerC
答案C
varchar
7
AnswerD
答案D
varchar
8
Answer
正确答案
varchar
表名:
Course表名说明:
考试科目表
序号
字段名
字段说明
标识
主键
类型
1
ID
主键
√
√
int
2
Name
课程名
varchar
表名:
Score表名说明:
用户成绩表
序号
字段名
字段说明
标识
主键
类型
1
ID
编号
√
√
int
2
UserID
用户编号
varchar
3
PaperID
试卷编号
int
4
Score
分数
int
5
ExamTime
考试时间
datetime
6
JudgeTime
评卷时间
datetime
7
PingYu
评语
varchar
表名:
TreeMenu表名说明:
树形菜单表
序号
字段名
字段说明
标识
主键
类型
1
NodeId
菜单节点编号
√
int
2
Pare