毕业论文在线考试系统应用设计.docx
《毕业论文在线考试系统应用设计.docx》由会员分享,可在线阅读,更多相关《毕业论文在线考试系统应用设计.docx(37页珍藏版)》请在冰豆网上搜索。
![毕业论文在线考试系统应用设计.docx](https://file1.bdocx.com/fileroot1/2023-5/15/2814d0d2-7461-433a-8190-6d5e63592ff4/2814d0d2-7461-433a-8190-6d5e63592ff41.gif)
毕业论文在线考试系统应用设计
第1章 绪论
1.1 研究背景
随着社会各个行业信息化进程的加快,互联网已经成为连接世界的纽带。
不仅仅是企业、政府和各种商业组织的正常工作离不开网络,教育事业同样需要网络。
在教育界,远程教育已成为现代教育面向未来发展的新方向,在线考试系统便是实现远程教育的一个重要组成部分。
如今中国的教育体制急需改革,在周济同志的任职期间,我们在教育上虽然引入了新的课题,引入了新的技术和设备,但是在思想上、模式上我们的教育都有照搬传统教育模式,因此我们需要改革。
在线考试具有很多优越性,它可以将传统考试过程中的试卷的组织、传送、收集、登记、评判等各个环节缩减到很少的几个环节,降低了大量人工直接干预考试的可能性,这不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试的客观性和公正性。
在线考试系统课题产生的背景是当今教育信息化的趋势也是我国高等教育信息化建设的需要;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试和办公,来纠正传统考试的不足。
1.2 国内外研究现状
ETS(美国教育考试中心)举办的GPE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。
而且国外的一些计算机水平考试中也都使用了在线考试来代替传统的笔试,如美国计算机专业人员认证学会ICCP实施的有关认证考试。
目前国内做这方面的软件,以奥瑞文在线考试系统为最佳,他是唯一一个用php开发,并且实现大多数题型,并且支持题型自由排序功能,客户端监考也很强大。
国内典型的还有由教育部考试中心主办的全国计算机等级考试、各省的非计算机专业大学生水平考试,还有用于教考分离的各种题库等。
而且在去年英语四六级考试在在全国范围内设置试点进行机考。
在线考试系统的实现,虽然将将教师从繁琐的出题、监考、阅卷、试卷分析和成绩统计的传统考试中解脱出来,其系统自身也充分体现了准确、客观、公正、快速等特点。
但我们认为国内对于在线考试系统的认识,跟国外还是有相当大的差距的。
这些很多都是基于传统的客户机/服务器模式的,如全国计算机等级考试。
而基于B/S模式的考试系统还没有广泛的使用。
1.3 论文结构
本论文第一章为绪论,主要介绍了在线考试系统的开发背景和国内外的发展现状;第二章是相关技术介绍,主要介绍了ASP.NET技术、SQL数据库、JavaScript、IIS服务器;第三章是系统的需求分析,着重分析该系统要完成的功能以及系统体系结构和系统的设计思想;第四章系统概要设计,主要是针对要实现的功能做一个简单的说明,以及系统总体结构的设计和数据字典的设计;第五章是系统的详细设计,其中包括了功能模块的详细设计和的数据库的详细设计。
第2章 系统开发关键技术概述
本系统主要采用ASP.NET、SQL数据库、JavaScript等技术工具,整体设计遵循软件工程的方法,经过需求分析、总体设计和代码的编制和系统实现几个阶段。
2.1 ASP.NET技术简介
ASP.NET是在ActiveServerPage(ASP)的基础上开发出来的,是一种建立在通用语言上的程序构架,能被建立强大的Web应用程序。
ASP.NET集成了许多Web开发模式的强大优势。
2.1.1 ASP.NET的特性
(1)强大性和适应性
ASP.NET是基于通用语言的编译运行程序,所以它几乎可以在所有Web应用软件开发平台上运行。
通用语言的基本库、消息机制、数据接口的处理都能无缝的整合到ASP.NET的Web应用之中。
ASP.NET同时也是language-independent的独立化,所以,你可以选择任何一种适合你的语言来编写程序,在ASP.NET中已经支持的有C#,VB,J#,C++等。
ASP.NET一般可分为两种开发语言,C#和VB.NET,C#是目前比较常用的语言,它是.NET独有的语言,VB.NET则是VisualBasic程序设计,适用于VisualBasic程序员。
(2)简单性和易学性
ASP.NET相对于其他技术来说使一些日常的应用变得非常简单。
例如表单的提交、网站的配置等。
其中包含的强大控件可以使初学者轻松地制作一些简单的网页。
(3)灵活性和可扩展性
很多ASP.NET功能都可以扩展,这样便可以轻松地将自定义的功能集成到应用程序中;其中的程序模型可以为不同的数据源提供插入支持。
(4)安全性和完整性
Web应用项目中的验证控件可以更好地为开发的程序提供安全保障;并且新增的功能和现有的功能协同工作,可以创建解决实时Web开发挑战的端对端方案。
2.1.2 ASP.NET三层结构
应用程序一般分为三层:
表示层、业务逻辑层和数据访问层。
(1)表示层(UserShowLayer,USL)
表示层主要表现为web或winform方式,主要包括用户控制、服务器控制、aspx页面以及某些与安全有关的类和对象。
(2)业务逻辑层(BusinessLogicLayer,BLL)
业务逻辑层用于对数据业务逻辑的处理,业务逻辑层在数据访问层之上,就是用BLL调用DAL的类和对象。
DAL访问数据并将其转给BLL。
(3)数据访问层(DataAccessLayers,DAL)
数据层主要是对数据的操作。
在ASP.NET中,起到数据接口的作用。
2.2 SQL简介
SQL(StructuredQueryLanguage)是IBM公司开发的结构化查询语言,它是一种数据库查询和程序设计的语言,用于存取数据以及查询、更新、删除和管理关系数据库系统等。
SQL语言主要有以下4部分组成:
(1)数据定义语言(DDL),如:
create、drop、alter等语句。
(2)数据操作语言(DML),如:
insert(插入)、update(修改)、delete(删除)语句。
(3)数据查询语言(DQL),如:
select语句。
(4)数据控制语言(DCL),如:
grant、revoke、commit、rollback等语句。
2.3 JavaScript简介
JavaScript是一种轻型的、解释型的脚本语言。
靠浏览器内有的解释器解释执行,在每次程序运行时,先翻译在执行。
JavaScript有有两种形式,即客户端JavaScript和服务器JavaScript。
客户端JavaScript是指把JavaScript解释器嵌入到web浏览器中,这是最普通的JavaScript变体,也是大家常提到的JavaScript。
服务器端的JavaScript是被web服务器用来访问文件系统、与其应用程序向通信、访问数据库和执行其他任务的。
JavaScript是一种常规用途的程序设计语言,他的使用并不仅仅限于web浏览器,其基于对象的结果与java恰恰相反。
JavaScript加入网页有两种方法:
(1)直接加入HTML文档
这是最常用的方法,大部分含有JavaScript的网页都采用这种方法,如:
--document.writeln("这是JavaScript!
采用直接插入的方法!
");//-JavaScript结束-->
(2)第二种:
高级版本的嵌入脚本
它使用了HTML中的CDATA语法(CharacterData,就是把CDATA中的文本全部当作纯文本处理,除非遇到CDATA的结束)
--//-->
CDATA[[//>
-- //javascript代码 //-->
]]>
2.4 IIS的配置
IIS称为Internet信息服务,它使得在网上发布信息变得非常容易,主要的配置方法如下:
(1)开始菜单——控制面板——添加和删除程序——添加或删除Windows组件;
(2)在弹出菜单中选择Internet信息服务(IIS),如图2-2;
(3)配置IIS,如图2-3、图2-4。
2.5 系统开发的软硬件需求
(1)客户端配置:
硬件环境:
单机Pentium41.8GHz256M600M以上硬盘空间。
系统软件:
Windows2000/XP/vista
(2)服务端配置:
硬件环境:
100MLAN100节点
系统软件:
WindowsServer2003
数据库:
SQLServer2005
开发工具:
VisualStudio.NET2005
开发语言:
C#语言
服务器:
IIS6.0
第3章 系统分析
3.1 用户需求
3.1.1 创立电子题库,实现试题的数字化管理
实施数字化管理就是为了追求办公的高效化,缩减一些非必要的业务流程,减少工作中心的负荷,从而做到高效,简约而不简单。
试题题库也就是试题的电子化,是把所有考试科目存储到电脑里,可以供教师随时查询和使用;便利了科目的保存、分类和检索,使得试卷的编制更高效率和低成本化。
试题题库是网络考试系统的重要组成部分,也是考试系统中最具有特色和实用价值的部分。
3.1.2 使考试和判卷更具规范性、合理性和公正性
在线考试系统使用计算机系统来进行考试和自动判卷,因此它必须达到更好的规范性、合理性和公正性。
试题的呈现和判卷的标准都是严格统一的,避免发生学生忘记书写姓名,答题卡填写方法不正确或错位等意外丢分情况。
学生答题过程中,由于系统限制也必将更加规范,不会出现笔试中经常出现的由于学生没有严格按照答题要求做,判卷时被强行扣分的事情。
判卷由系统自动完成,极大的提高了准确性,防止了人工判卷时经常出现的错判、漏判和分数计算错误的情况。
使考试更加公正合理,具有权威性。
3.1.3 实现自动判卷和成绩的保存
考试是教学过程中重要的工作之一,判卷又是教师在考试实施过程中最重要和最烦琐的工作之一。
而判卷有两个最基本的要求,那就是快速和准确。
学生希望在最短的时间内知道自己的考试成绩、自己在集体中的位置、问题出现的所在和应该努力的方向,这也是考试教育功能的重要体现。
判卷越慢这种对学生的反馈和激励的效果就会越小,达不到原有的考试目的,如果出现错误对学生的影响更会成倍呈现。
快速和准确对传统的手工判卷来说是一对矛盾,它们加重了教师的工作负担。
使用在线考试系统的自动判卷功能,便能很好的解决这些问题。
而且用计算机来保存考试成绩,更是无与伦比的。
3.1.4 具有强大的数据统计分析功能
计算机的可爱之处莫不在于它强大的计算能力。
强大的统计功能,使得原来非常烦琐甚至手工难以进行的分析统计计算工作,现在可以在瞬间完成了。
因此它能够提供精确的数据明细记录、实时的、精确的数据报表以便教师和管理员更及时更全面的得到学生信息的反馈。
3.2 可行性分析
3.2.1 技术可行性分析
为了响应教育厅的要求,现在各学校都已实现信息化,基础的软硬件设施和网络布线都已完备。
而我们开发的在线考试系统是采用.NET技术开发的基于B/S结构的网站系统,数据库采用SqlServer2005便能够满足所有需求。
因此在现有的硬软件基础上,只需安装SqlServer2005数据库软件经过简单的修改使用access便可投入使用。
3.2.2 经济可行性分析
本系统是由指导老师提供,由我们自己抽选的作为学校毕业设计的题目,无需开发经费。
如果是购买商业软件,因为其技术难度相对较小,开发团队只需两到三人,所以价格不会太高,单个系也可以进行购置。
为了合理的利用学校的资源,由学生结组针对各自学校的教学特色进行开发,是一个比较好的选择。
3.2.3 组织管理可行性分析
本系统的管理员可以由教学部的老师充当,利用学校已有的网络进行任务的布置和分配,具体任务可具体到各个老师。
这样采用在线考试系统后学校的系别和老师并没有发生变化,但在试卷的管理和学生成绩的管理上凸显了方便性和高效性。
3.3 系统的目标
系统共有三个角色,分别是管理员、教师和学生。
这三个角色都可以进行的操作有新闻的浏览、个人信息查看和各自密码的修改;学生登陆后可以进行日常训练、在线答题和查看自己成绩的操作;教师可以制作和修改试卷、发布新闻、统计成绩的查看和主观题阅卷;管理员的职能有新闻的审核与删除、发布消息、试卷的审核和删除、删除管理、权限管理和查看统计成绩。
第4章 系统概要设计
4.1 系统数据流程设计
第0层:
第1层:
4.2 系统模块结构设计
4.3 数据字典
表4-1 数据流(新闻)
4.3.1 数据流
系统名:
在线考试系统编 号:
001
条目名:
新 闻别 名:
来 源:
教 师去 处:
登录用户
数据流结构:
新闻信息:
{新闻编号,发布时间,新闻内容}
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
系统名:
在线考试系统编 号:
002
条目名:
试 卷 别 名:
来 源:
教 师 去 处:
学 生
数据流结构:
试题信息:
{试题编号,所属科目,问题,选项,答案,解析}
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-2 数据流(试卷)
系统名:
在线考试系统编 号:
003
条目名:
考试成绩别 名:
来 源:
学 生去 处:
教 师
数据流结构:
考试成绩:
{试卷编号,学生编号,科目名称,试题成绩}
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-3 数据流(成绩)
表4-4 数据存储(学生)
系统名:
在线考试系统编 号:
004
条目名:
学生信息别 名:
存储组织:
每个学生一条记录记录数:
5
主关键字:
学生编号
记录组成:
字段:
学生编号 姓名 性别 所在系 密码
长度:
8 15 2 30 20
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
4.3.2 数据存储
系统名:
在线考试系统编 号:
005
条目名:
教师信息别 名:
存储组织:
每个教师一条记录记录数:
5
主关键字:
教师编号
记录组成:
字段:
教师编号 姓名 性别 所在系 密码
长度:
8 15 2 30 20
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-5 数据存储(教师)
表4-6 数据存储(题库)
系统名:
在线考试系统编 号:
006
条目名:
题 库别 名:
存储组织:
每个试题一条记录记录数:
5
主关键字:
试题编号
记录组成:
字段:
试题编号 科目名称题型问题选项正确答案
长度:
3030104005004
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-7 数据存储(新闻)
系统名:
在线考试系统编 号:
007
条目名:
新闻信息别 名:
存储组织:
每条新闻一条记录记录数:
4
主关键字:
发布时间
记录组成:
字段:
发布时间 主题内容编号
长度:
203020020
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
4.3.3 外部项
表4-8 外部项(审核)
系统名:
在线考试系统编 号:
008
条目名:
领导审核别 名:
输入数据流:
新闻、试卷输出信息流:
审批意见
主要特征:
教师制作新闻、试卷必须通过领导(管理员)审核方能发布。
简要说明:
已发布的新闻、试卷,教师无法修改、删除。
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
系统名:
在线考试系统编 号:
009
条目名:
权限管理别 名:
输入数据流:
学生、教师权限输出信息流:
设置权限
主要特征:
领导(管理员)可以对学生、教师设置权限,方便管理。
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-9 外部项(权限)
4.3.4 加工
系统名:
在线考试系统编 号:
010
条目名:
考试别 名:
输入数据流:
试卷输出信息流:
审核管理
加工逻辑:
根据具体情况合理安排考试。
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-10 加工(考试)
表4-11 加工(新闻)
系统名:
在线考试系统编 号:
011
条目名:
新闻别 名:
输入数据流:
新闻信息输出信息流:
审核管理
加工逻辑:
根据最新消息及时发布新闻,可以对新闻的样式进行设置。
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
4.3.5 数据元素
表4-12 数据元素(试题)
系统名:
在线考试系统编 号:
012
条目名:
试题别 名:
属于数据流:
试题、试卷存储于:
题库
数据元素结构:
代码类型字符
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
表4-13 数据元素(信息)
系统名:
在线考试系统编 号:
013
条目名:
信息别 名:
属于数据流:
学生信息、教师信息
存储于:
学生信息表教师信息表
数据元素结构:
代码类型字符
编 写:
宋文韬日 期:
2010.04.19
审 核:
史 良日 期:
2010.05.01
第5章 系统详细设计
5.1 数据库设计
本系统一共用了16个表,分别为leader(管理员信息表)、teacher(教师信息表)、student(学生信息表)、Tauthority(教师权限表)、Sauthority(学生权限表)、subject(考试科目表)、subjectstyle(科目样式表)、singlechoice(单选题题库)、multiplechoice(多选题题库)、blank(填空题题库)、judge(判断题题库)、macro(宏观题题库)、department(部门信息表)、macroanswer(主观题答案数据)、score(成绩表)和news(新闻表)。
在设计各个数据库表时,我们进行了多次的修改,大大的降低了数据的冗余度,在集中的测试中发现并修复了更新和插入时发生的异常。
最终本系统的数据库关系已经能够符合规范化要求的第三范式要求。
表5-1 学生信息
编号
字段名称
字段类型
字段说明
1
number
nchar(8)
学生编号(主键)
2
name
nchar(15)
姓名
3
sex
nchar
(2)
性别
4
depatmentid
nchar(30)
所属院系
5
password
nchar(20)
密码
表5-2 学生权限
编号
字段名称
字段类型
字段说明
1
number
nchar(8)
学生编号(主键)
2
train
int
训练权限
3
answer
int
考试权限
4
result
int
查看成绩权限
5
account
int
个人账户权限
表5-3 考试科目
编号
字段名称
字段类型
字段说明
1
subjectid
datetime
科目编号(主键)
2
id
nchar(30)
教师编号(主键)
3
subjectname
nchar(30)
科目名称
4
levels
int
入学年级
5
classallowed
nchar(48)
班级
6
tag1
int
判定是否通过审核
7
tag2
int
判定是否需要修改
8
tag3
int
判定是否制作完成
9
tag4
int
判定是否标记不合格
表5-4 单选题题库
编号
字段名称
字段类型
字段说明
1
id
datetime
单选题编号(主键)
2
tid
nchar(10)
教师编号
3
subjectid
nchar(30)
科目编号
4
problem
text
问题
6
opt1
nchar(40)
选项1
7
opt2
nchar(40)
选项2
8
opt3
nchar(40)
选项3
9
opt4
nchar(40)
选项4
10
amount
nchar(10)
单选题数量
11
mark
nchar(10)
分数
12
answer
nchar(10)
答案
13
analyze
text
解析
表5-5 新闻
编号
字段名称
字段类型
字段说明
1
id
datetime
新闻编号(主键)
2
title
text
主题
3
contents
text
内容
4
number
nchar(10)
教师编号
表5-6 考试成绩
编号
字段名称
字段类型
字段说明
1
subjectid
datetime
科目编号(主键)
2
number
nchar(10)
学生编号(主键)
3
Score1
int
单选题得分
4
Score2
int
多选题得分
5
Score3
int
判断题得分
6
Score4
int
填空题得分
7
Score5
int
宏观题得分
5.2 学生作答和训练
5.2.1 学生作答的流程
学生在作答之前,系统会依据该考生的学号来提取出相适应的试题,而且每个科目只限考试一次。
在作答完成之后,系统会给出该考生该试卷的成绩,同时给出试卷每道试题的分析。
5.2.2 学生训练的流程
日常训练的模式与作答模式大体相同,不同点就是学生在选题时,系统给出的题库是除去该学生入学年级之外其它年级的该专业的试题。
在答题完毕后,系统会给出统计成绩,但不会记录成绩。
5.2.3 操作截图
5.3 新闻的发布与浏览
我们设计的新闻数据库表有这样几个字段:
时间、标题、内容和两个tag标签。
其中标签1为1时表示已通过审核,0则相反;标签2为1是表示需要重新修改,0则相反;两个标签的默认值都是0。
在新闻发布页面,我们为内容添加了一个文本编辑器。
在主页面的新闻浏览子页面,数据库只允许查看通过审核的消息。
同时,所有用户都可以查看新闻,教师和管理员可以发布新闻,而只有管理员可以对新闻进行管理。
图5-4 新闻浏览
5.4 试卷管理
我们对于试卷管理的操作,都是仅对subject这个数据库表进行操作。
与试题相关的style表和五种题库表,都设计成是与subject表相关联的,只有通过subject的主键才可以找到其它几个表的内容。
subject表中我们设置了四个标签,其中标签一表示是否通过审核,标签二表示是否需要修改,标签三表示是否完成试题的制作,标签4表示是否设定不合格。
在进行试卷管理的操作时,只需更改标签的值,便可完