考试报名系统的设计与实现.docx
- 文档编号:3519260
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:22
- 大小:335.73KB
考试报名系统的设计与实现.docx
《考试报名系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《考试报名系统的设计与实现.docx(22页珍藏版)》请在冰点文库上搜索。
考试报名系统的设计与实现
哈尔滨德强商务学院
管理信息系统
课程实训论文
题目:
考试报名系统的设计与实现
学号:
2009512460
姓名:
丁志宇
班级:
09级
(1)班
专业:
信息管理与信息系统
指导教师:
王知强
2011年12月
考试报名系统的设计与实现
摘 要
网络技术的飞速发展正无时无刻影响着人们的工作、在教育体系中,网络的应用也成为现代教育发展的基础.网络教育逐渐发展起来,校园网建设逐步成熟,基于Web的也伴随着网络技术的发展应运而生.它即简化了传统的考试模式,节约人力物力,也可以有效利用校园网资源,辅助教学.该系统采用了目前流行的B/S模式,即浏览器、应用服务器、数据库服务器三层体系结构,indowsServer2003操作系统、后台数据库采用SQLServer2005,客户端采用IE浏览器和服务器连接,最终形成了基于B/S模式的在线考试系统.该系统具备了以下功能:
学生信息管理、考试、平时测验、自动评分、成绩查询等功能.论文以基于B/S模式的在线考试系统为研究对象,按照软件工程的开发思想,用UML来构建在线考试系统模型,采用Dreamweaver+ASP来设计开发,后台采用数据库相结合.际需求出发,结合《信息处理技术》课程,论述了开发在线考试系统的背景、目的与意义,讨论了开发系统的关键技术,并通过UML分析对系统设计与实现,最后总结系统的特点以与不足之处。
设计思路和方法采用瀑布模型开发,用统一建模语言UML进行描述,经历了文献检索,需求分析,分析模型设计,数据模型设计,构建级设计,系统部署,系统测试六个个环节。
系统以数据库为核心,使用B/S架构下流行的PHP脚本语言作为宿主语言对系统核心功能模块进行设计。
采用PowerDesigner软件作为UML语言的实现工具和数据库设计的开发工具。
实现了用户登录、注册功能,出题组卷功能,考试评卷功能以与用户信息查询功能。
关键词:
考试报名系统;ASP.NET;MicrosoftSQLServer2005
目 录
第1章 绪论
随着计算机网络技术的发展,通过Internet进行的在线考试已逐渐普与。
与传统的考试方式相比较,网上在线考试对教学质量的提高、实现考教分离、大范围地实现教学资源共享等有极大的促进作用。
网上在线考试系统的好处是一方面可以动态地管理各种考试信息,只要有足够大的题库,就可以实现计算机自动组卷;另一方面,考试时间地点不受限制,考生只要在联网的任何一台计算机上,在规定时间段内的任意时间参加考试;还有这种考试的最大特点是在考试结束后计算机的自动阅卷与判分,它不仅提高阅卷速度,而且给了考生最大的公平感。
本文研究了一个基于B/S的在线考试系统的设计和开发方案。
1系统结构目前比较流行的两种网络开发模式分别是C/S(Client/Server)模式和B/S(Browser/Server)模式。
传统的C/S模式主要是以局域网为基础的环境下开展的应用,虽然它的体系结构采用了开放模式,但只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件,没有能提供用户期望的真正的开放性。
本次系统目的在于设计和开发出一个能够适应各种考试的并能够自动出题组卷的、人性化、智能化的在线考试系统。
考生只需要一台可以上网的计算机登录在线考试系统就可以足不出户的参加各种类型的考试和练习。
在线考试系统中题库中的试题资源来自各种渠道,试题种类丰富,试题设计思路巧妙。
同时可以大大减少考生购买纸质试题、参加考试的车旅住宿费用。
考试举办方或考试组织者,尤其是学校学生考试的组织者和出题者,无需经常对同一年级的同一个科目进行出题,免去了出题者重复出题的工作量,也减轻了考试组织方的工作量。
出题者通过浏览器登录到在线考试系统,就可以随时随地将试题添加到题库。
第2章 系统概述
ERS采用面向对象的ASP.NET技术搭建B/S体系结构,使用户在有网络的地方,登陆网页就可以方便使用该系统完成报名工作。
同时,结合关系型数据库管理系统MSSQLServer2005作为管理和存储数据的数据库。
SQLServer2005可以提供完整的用户解决方案,并且可以很好地支持B/S模式,同时,也将.NETFrameworkCLR集成到数据库引擎中,使其在.NET平台上开发具有更高的效率。
该系统主要解决当前考试报名的人数多,信息量大,管理复杂的问题,并旨在为用户提供一个友好的界面,使报名和管理工作相对轻松。
用户使用之前需要先注册用户名和密码,然后登陆系统填写报名信息。
2.1 开发环境
本系统采用PHP脚本在Windows操作系统下进行开发和设计。
Web服务器采用开源免费的Apache软件。
数据库管理系统采用开源免费的MySQL关系数据库管理系统。
PHP脚本解释器采用开源免费的PHP。
数据库设计工具采用Sybase公司的PowerDesigner软件。
代码编辑器采用EditPlus软件。
详细内容请看下表:
2.2 程序功能介绍
考试管理系统主要包括命题子系统,考试子系统,阅卷子系统和查询子系统。
主要涉与的信息数据包括系统管理员信息、系部信息、班级信息、学生信息、教师信息、考试信息和各种题库等数据,设计的操作主要包括信息数据的管理,为考试定制试卷、试卷管理等管理操作。
功能包括:
1基本信息管理:
包括对系统管理元登录信息、系部信息、班级信息、学生信息、教师信息的录入、修改和删除等功能。
2试卷管理:
包括创建的试卷数据的删除、添加、修改,定制考试试卷、选择考试试卷、输出考试试卷等功能。
3题库管理:
包括对选择题、填空题、单选、多选题题库的管理功能。
第3章 系统规划
3.1 整体规划思路
整个项目采用软件工程的通用设计模式设计。
整个设计思路大致经历了:
文献检索并写出文献综述、进行需求分析、分析模型建模、数据模型建模、构建级设计、系统测试等六大环节。
所涉与到的软件工程的内容都使用统一建模语言UML(UnifieldMoudelLanguage)进行描述和完成。
需求分析等之后的步骤都是按照软件工程的要求进行。
其所作的图包括:
用例图、活动图、协同图、部署图、类图等。
3.2 选择开发架构
1、C/S架构
Client/Server架构中,每个客户端(Client)都是可以独立处理数据的主机(Host),可以对本地计算机上的软硬件资源进行无障碍的使用,比如访问本地计算机上的数据库、本地计算机操作系统的系统功能调用、对本地计算机磁盘的读写等。
只有当应用软件需要一个本地计算机资源无法提供的数据时,才通过去访问服务器,下载所需的资源和数据。
通常,大型的应用软件采用这种架构。
1、B/S架构
Bowser/Server架构中,每台客户端主机(Host)不能够独立的处理数据,绝大多数的数据都是由服务器(Server)来处理。
因此用户所需要的服务取决于服务器(Server)端能够提供怎样的服务,可以做到服务和数据的实时更新。
在线考试系统是一个数据更新速度很快的系统,需要实时的处理用户任意时间提交的数据,比如用户的登录、考试、查询以与试题的添加、删除、更新。
基于上述的分析,在线考试系统适合采用B/S架构。
3.3 搭建开发环境—WindowsApacheMysqlPHP平台
本软件既然采用B/S架构进行设计,就必须要选择一个适合该架构的开发环境。
在B/S架构中,所有的数据处理都是在服务器(Server)端的计算机上进行的,因此需要一个服务器软件。
数据是整个考试系统的血液,因此需要一个数据库管理系统。
目前,B/S架构下的开发环境有两种选择。
第一,IIS6.0MSSQL2000与以上ASP.NET。
这是一个只能运行和搭建在Windows平台的开发环境,也是一个最容易使用,最容进行配置的开发平台,然而开发出的系统只能够在Windows下运行,使得代码的可移植性收到局限。
同时,搭建环境所付出的资金成本也非常的昂贵11。
购买费用大致如下表所示:
第二,LinuxApacheMysqlPHP。
这是Linux下进行B/S架构下Web开发的最佳组合并且是开源免费的,其运行的稳定性是无与伦比的。
ApacheMysqlPHP不仅是开源免费的,同时由于PHP脚本语言和Apache服务器以与MySQL数据库管理系统可以跨平台的运行在Windows环境和Linux环境下,所以开发的系统具有性能稳定,可移植性强的优势。
然而,多数开发者已经形成了Windows环境下工作方式和思维方式,更换Linux会非常的不适应,需要重新调整思维方式和工作方法。
经过上面的分析,WindowsApacheMysqlPHP的混合模式是一种非常不错的方案。
这种平台搭建规避了两种平台不足的地方,对两者进行了优势互补。
3.4 选择开发方法
在线考试系统的核心是出题组卷子系统。
目前,出题组卷系统的算法设计有以下几种:
(1)结构化生命周期法:
根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止。
(2)原型法:
这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止。
(3)面向对象法:
是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
这种组卷算法组卷质量和组卷效率非常好。
遗传算法现在已经发展成了一门独立研究的课题,因此对于没有接触过遗传算法的开发人员,在使用遗传算法时存在较大的知识壁垒。
结合上面诸多算法的优缺点,在下考试系统采用了一种以数据库设计为核心的组卷方式。
这种组卷方法充分利用SQL语言高度非过程化的优势,在数据库级别完成出题组卷功能,利用宿主语言的缓冲将组好的试卷显示出来。
第4章 系统需求分析
4.1 整体性需求分析
第一,系统分析,在线考试系统开发的目的就是利用当今发达的网络技术满足用户考试练习的需求。
所要收集到的系统需求可以分为三类:
功能性需求、非功能性需求、可用性需求。
功能性需求和非功能性需求是系统分析与设计的常用种类。
功能性需求描述了系统可以做什么或被期望做什么,可以用用例来描述。
非功能性需求描述了系统与更好地提供功能需求有关的方面,如性能、安全性等;可用性需求则描述了特定用户在特定环境下有效地、顺利地达到特定目标的程度。
在线考试系统的系统分析表述如下:
在考试系统中,要为每一个考生和试题上传人员建立一个用户,也即需要进行注册。
注册信息包括用户名、密码等信息。
只有已经注册的用户才能登陆系统并进行下一步的操作。
同时借鉴强制存取控制(MAC)思想对用户进行标记,使得不同级别的用户使用不同的功能和数据;借鉴自主存取控制(DAC)思想对用户的角色类型进行检查。
用户登陆,首先要进行的登陆信息验证,验证如果判定用户类型为考生,则前往考生页面;如果是出题者,则进入出题页面;如果是系统管理员,则进入系统管理员页面。
进入考生页面的用户可以选择参加考试和成绩查询。
进入出题者页面的用户,可以进行试题上传和查询上传记录。
不同类型的用户对同一个功能的使用权限不同。
同一类型的用户对不同的功能的使用权限也不同。
比如考生和出题者属于普通用户,然而两者所能使用的系统功能是截然不同的。
用户登录活动依赖于用户注册系统。
一个没有注册的用户是一个非法用户,将不能对系统进行任何操作。
用户在注册时必需按照系统规定的方式填写注册信息。
为了保证用户填写信息的正确性,在实际使用当中,比如在学校,可以在学校人员管理系统的数据库管理系统中申请一个拥有只读权限的用户。
用户在注册时学号,教工号是必须填写的内容。
当一个新用户注册时,用户填写完信息以后便可以立刻连接数据库进行真实性验证。
对上述在线考试系统的分析可以获得如下功能性需求:
(1)用户能够按照自己的实际情况和实际需求选择一种用户类型进行注册。
(2)以考生类型登录的用户可以进行考试和成绩查询的活动而不受限制。
(3)以试题上传者类型登录的用户可以进行试题上传。
(4)管理员可以对用户和题库进行最高权限的管理,包括用户和试题的插入,更新和删除。
(5)在线考试系统能够正确识别和判断登录用户。
(6)在线考试系统能够按照组卷策略随机从题库中抽出相应的试题组成试卷。
(7)在线考试系统能够正确的评卷并计算出考生的成绩。
(8)在线考试系统能够正确相应用户对试题进行插入、更新、删除操作。
(9)在线考试系统能够正确的记录用户考试结果和试题上传记录。
(10)在线考试系统能够记录用户(考生,试题上传者,管理员)的登录记录。
第二,识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:
考生、试题上传者、系统管理员。
参与者描述如下:
(1)考生:
通过注册系统验证后的任何以考生类型注册的用户。
(2)试题上传者:
通过注册系统验证后的任何以试题上传者类型注册的用户。
(3)系统管理员:
在线考试的拥有者或管理者。
第三,识别用例通过上述分析,可以确定系统中有如下用例存在。
(1)用户登录
本用例为用户提供了进入在线系统的接口功能。
(2)用户注册
本用例为用户使用在线考试系统打下前提基础。
(3)成绩查询
本用例为考生类型的用户提供了注册信息查询和成绩查询管理的功能。
(4)修改注册信息
本用例为用户提供了修改密码和注册信息的功能。
(5)考试
本用例为考生类型的用户提供了出题组卷、评卷、计算成绩并记录的功能。
(6)查看登录记录
本用例为考生类型用户提供查看个人登录在线考试系统记录的功能;为系统管理员提供查看所有用户登录在线考试系统记录的功能。
(7)试题上传
本用例为试题上传者类型的用户提供试题上传功能。
(8)试题修改
本用例为试题上传者类型的用户提供个人对上传试题修改,插入,更新的功能。
(9)试题上传查询
本用例为试题上传者类型的用户提供对个人上传试题情况的查询功能。
(11)添加用户
本用例为系统管理员提供添加新用户的功能。
(12)更新用户
本用例为系统管理员提供更新用户注册表和用户信息的功能。
(13)删除用户
本用例为系统管理员提供删除用户注册表和用户信息的功能。
(14)试题插入
本用例为系统管理员提供向题库添加试题的功能
(15)试题删除
本用例为系统管理员提供删除题库和试题信息的功能。
(16)试题更新
本用例为系统管理员提供更新题库和试题信息的功能。
(17)设置试卷难度配比
本用例为系统管理员提供添加、更新、删除组卷策略的功能。
(18)登录并修改信息
本用例为系统管理员提供普通用户的功能。
4.1.1用例分析
根据上述分析,系统的角色可以分为两种类型。
一种是普通类型的角色,包括考生和上传试题者;另一种是系统的管理员。
由于所处的角色不同,所使用的功能就有所不同。
下面是普通用户的用例分析结果。
系统管理员是系统中权限最高的角色,除了可以使用普通用户可以使用的功能外还有普通用户不能够拥有的功能。
4.1.2功能性分析
(1)用户登录、注册、修改信息的功能
该功能模块是整个系统的入口。
要求用户分角色进行登陆、注册。
不同角色的用户设置不同的权限去访问不同的网页;对于相同的网页,不同权限的用户有各自的访问方法或无法访问。
(2)出题组卷的功能
该模块是整个系统的基础和核心,所有的功能都是围绕着出题组卷这一核心功能展开。
能够实现出题组卷的功能需要有两个要素的支持。
一个是题库,里面长期存放着可以不断添加、更新、删除的各个学科的题目;另一个是组卷策略,它使得题库当中杂乱无章的题目能够以人们要求的形式和难度配比出现在一张卷子上面。
4.2 命题子系统的分析
在该子系统的设计,要考虑到命题库的特点与其类型。
其大致可分为两类:
主观题部分和客观题部分。
在教师登陆时,需要输入相应的指令,据此,可以分析教师在该子系统中的一个属性。
通过登陆到系统中从而进行命题。
教师的属性可以用关系模型来表示:
如下所示:
数据的需求:
如题目的录入与随机的组合,用数据字典(DD)记录数据。
该子系统完成主观题与客观题两部分的录入,组合成试题库,老师登陆管理后,可以在该系统内进行题目的更改和增加,完成命题的功能。
在客观题部分,可以将不同题型题目输入进去;如填空题和选择题,然后再把标准的答案分装进去。
主观题部分,对于题目给出的答案只能作为参考,真正考试阅卷时,需对不同的考生进行不同的阅读。
4.3 考试子系统的分析
此模块的功能是学生窗口,学生登陆考试子系统,进行考试。
在考试子系统中,其需要有识别考生的功能,并记录考生的考试状况,以便后面子系统的设计查询。
对学生这个实体而言,可以用如下的一个关系模型来表示:
在考生登陆该系统进行考试后,考试系统能完成随机抽题的功能,试题可自动生成,例如题目可以设置为选择题,判断题。
其属性也可以用关系模型来表示(如下图所示),在考试结束后系统会保存考生的答题与试卷,然后送至阅卷子系统进行评分。
4.4 阅卷子系统的分析
在此模块内,系统会自动对填空题、选择题以与判断题进行确定,评分,该环节包括了对考试子系统生成考生文件的核对,完成评分功能。
那么在阅卷子系统中,就必须要对标准答案进行保存,并能够在考试子系统送来的文件后进行比较判断考生的答案是否正确。
以上属于客观题评分部分,那么对于主观题,可以要求教师登陆系统,抽出考生的试卷,参照给出的标准答案进行人工的评分阶段。
当完成主观题和客观题部分,提示完成阅卷并自动生成考试成绩文件,可以供考生查询。
4.5 查询子系统的分析
在考生登陆该系统后,根据考生的信息,可以查询考试成绩。
对于成绩可以用如下(见下图)的关系模型来表示。
查询子系统模块中,系统要有识别考生信息的功能,能够把在阅卷子系统中产生的考试成绩文件调入该查询模块系统,可以供考生查询。
以上各部分完成了四个子系统的功能模块的需求性分析,对不同的模块进行可功能的分工,相互之间却又建立着紧密的联系。
总体上完成了对该考试管理系统的需求性分析与设计要求的规划。
第5章 数据库设计
5.1 概念模型设计
根据需求分析,该系统中存在两个实体:
管理员和用户,并结合两个实体各自的属性以与它们之间的关系,由此确定数据库的E-R关系图,如图:
5.2 数据模型设计
基于上述的需求分析,可以得到下面的数据库设计图:
设计图中中各个关系表的的含义如下表所示:
5.3 数据表结构
为了避免数据库产生插入异常、删除异常和数据冗余,所设计的数据表至少要满足第三范式(3NF),因此,在ERSDB.mdf中,需要构建三张表:
注册信息表(表1)、报名信息表(表2)和管理员信息表(表3),分别存储相应的数据。
第6章 系统设计
6.1 系统结构设计
按照使用者权限的不同,考试报名系统分为两个模块,一个用户模块,一个管理员模块。
在用户模块中又分为注册模块、报名模块和个人信息管理模块。
用户模块完成了考试报名的主要功能,是该系统的核心模块。
系统的功能模块结构如图:
6.2 用户模块设计
6.2.1注册模块
注册模块主要是面向第一次使用考试报名系统的用户。
新用户需要向数据库提交用户名、密码、邮箱、密码提示问题、答案等一些简单信息,当用户忘记密码时可以通过密码提示问题找回忘记的密码。
完成注册后便可以使用系统的功能。
用户注册流程如图:
6.2.2报名管理模块
考试报名的主要工作都在此模块中完成。
用户如果是首次报名,将需要填写一份完整的报名信息表,包括姓名、性别,身份证号,照片等各项信息,用户填写完报名信息表,点击预览按钮,系统会在预览模式下生成一张虚拟信息表,这与将来需要打印的报表格式相同(如图),如果用户确认无误,便可以提交给数据库完成报名工作,这时系统会按照递增顺序产生一个报名号,以方便日后考生缴费使用,并有利于管理员统计报名人数。
如果发现信息有错误,可以返回报名信息表重新填写。
倘若用户在已经提交数据后才发现所填信息有遗漏或是错误,可以登录系统后在查询页面核对信息表,在编辑页面里修改信息,确认后重新提交数据库,这样可以方便用户多次核对信息和修改信息,以确保报名信息准确无误。
首次报名提供的信息表同时可以作为报名其它考试的基本信息,以后再次使用该系统报名,用户不必再次填写重复信息,只需从数据库中调取查看已有的信息记录,仅修改考试类型、联系方式等相对上次报名有变化的信息即可,然后再次提交数据库,便可以完成新一轮的报名工作,这样既节省时间又减少信息冗余。
报名模块流程如图:
6.2.3个人信息管理模块
为了确保用户报名信息的安全性,每个用户都有自己用户名和密码,必须通过登陆验证才可以查询和编辑自己的报名信息,其它任何用户(除管理员),在非授权的情况下,无法查询他人的报名信息。
用户可以在个人信息模块中不定期的修改用户名和密码,以确保安全性。
个人信息管理模块流程如图:
6.3 管理员模块
管理员模块是分配给教务管理人员使用的。
同样,管理员凭借合法的账号和密码登录系统,然后可以发布考试信息和相关规定,并可以查看所有学生的报名情况,对其进行统计和打印报表工作。
在管理员模块中也有类似于用户模块中的个人信息管理模块,管理员也可以随时修改用户名和密码来确保安全性。
结 论
为了方便高校管理各类考试报名信息,设计并实现了考试报名系统。
管理人员可以在该系统上与时发布考试信息和注意事项,同时可以完成对报名信息的统计工作,而学生可以利用该系统完成报名、查询信息、修改信息等,从而极大的提高了信息收集的管理的效率,同时也减少了教务管理的压力。
在于设计和开发出一个能够适应各种考试的并能够自动出题组卷的、人性化、智能化的在线考试系统。
考生只需要一台可以上网的计算机登录在线考试系统就可以足不出户的参加各种类型的考试和练习。
在线考试系统中题库中的试题资源来自各种渠道,试题种类丰富,试题设计思路巧妙。
同时可以大大减少考生购买纸质试题、参加考试的车旅住宿费用。
考试举办方或考试组织者,尤其是学校学生考试的组织者和出题者,无需经常对同一年级的同一个科目进行出题,免去了出题者重复出题的工作量,也减轻了考试组织方的工作量。
出题者通过浏览器登录到在线考试系统,就可以随时随地将试题添加到题库。
参考文献
[1]MichaelOteyDenielleOtey(美)著高猛译MicrosoftSQLServer2005开发指南[M]清华大学出版社北京2007.1
[2]廖信彦ASP.net交互式Web数据库程序设计[M]中国铁道出版社北京2003
[3]杨凌云基于.Net的毕业论文选题系统的设计与实现[J]计算机时代2010年第3期
[4]赖麟石永革苏志伟基于.NET平台的电信宽带障碍预处理系统[J]计算机与现代化2010年第4期
[5]周长发C#面向对象编程[M]电子工业出版社北京2007.7
[6]唐玉芳张永胜基于.NET的学生信息管理系统的设计与实现[J]计算机技术与发展2010年第4期
[7]张惠茹周姝栾永华学生信息管理系统的设计与实现[J]计算机与网络2010.3.26
[8]程云志,张帆,崔翔等数据库原理与SQLServer200
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 报名 系统 设计 实现