在线考试系统Word格式文档下载.docx
《在线考试系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《在线考试系统Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
1、ASP技术
由于系统的操作界面都是Web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,所以采用动态网页技术。
目前动态网页技术有很多,本设计采用ASP技术。
MicrosoftActiveServerPages即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。
ActiveServerPage是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写产生动态网页的HTML程序代码。
因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。
ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。
有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。
当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
由ASP(ActiveServerPages)是微软公司开发的基于WindowsNTServer和IIS(InternetInformationServer)的服务器端脚本环境,它具有如下特点:
①、无需编译:
ASP脚本集成于HTML当中,容易生成,无需编译或连接即可直接解释执行.
②、易于生成:
使用常规文本编辑器(如Windows下的记事本),即可进行*.ASP页面设计.还可以使用可视化的集成编辑环境VisualInterDev.
③、独立于浏览器:
ASP脚本在服务器端解释执行,用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页.
④、面向对象:
在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制ActiveXServerComponent(ActiveX服务器组件)来扩充功能.
⑤、与任何ActiveXscript语言兼容:
除了可使用VBscript和Javascript语言进行设计外,还可通过Plug—in的方式,使用由第三方所提供的其它script语言.
⑥、源程序代码不会泄漏:
ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证编写出来的程序代码不会被他人盗取.另外,ASP支持多用户、多线程,它还具有记忆能力,拥有强有力的管理机制,可以实现各请求之间的信息共享,提高服务器的处理效率,同时,ASP在安全性方面也作了细致的考虑,包括设定虚拟目录访问权限、用户身份监测等措施.
2、SQLServer数据库
SQLServer是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。
SQLServer2005为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。
通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQLServer2005为不同规模的企业提供了一个完整的数据解决方案。
图1显示了SQLServer2005数据平台的组成架构。
图1.1SQLServer2005数据平台
SQLServer数据平台包括以下工具:
∙关系型数据库:
安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(XML)数据。
∙复制服务:
数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle数据库等。
∙通知服务:
用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。
∙集成服务:
可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。
∙分析服务:
联机分析处理(OLAP)功能可用于多维存储的大量、复杂的数据集的快速高级分析。
∙报表服务:
全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于Web的报表。
∙管理工具:
SQLServer包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如MOM和SMS紧密集成在一起。
标准数据访问协议大大减少了SQLServer和现有系统间数据集成所花的时间。
此外,构建于SQLServer内的内嵌Webservice支持确保了和其他应用及平台的互操作能力。
∙开发工具:
SQLServer为数据库引擎、数据抽取、转换和装载(ETL)、数据挖掘、OLAP和报表提供了和MicrosoftVisualStudio®
相集成的开发工具,以实现端到端的应用程序开发能力。
SQLServer中每个主要的子系统都有自己的对象模型和API,能够以任何方式将数据系统扩展到不同的商业环境中。
SQLServer2005数据平台为不同规模的组织提供了以下好处:
∙充分利用数据资产:
除了为业务线和分析应用程序提供一个安全可靠的数据库之外,SQLServer2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。
∙提高生产力:
通过全面的商业智能功能,和熟悉的微软Office系统之类的工具集成,SQLServer2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。
SQLServer2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产——数据来做出更好的决策。
∙减少IT复杂度:
SQLServer2005简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。
∙更低的总体拥有成本(TCO):
对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。
三、方案选择
开发在线考试系统,提出以下解决方案:
选择SQLServer2003作为后台的数据库,选择Asp、JavaScript、Html、div+css作为应用程序开发工具,运用IIS服务器技术,整个系统完全基于B/S(Browser/Server)模式进行设计。
第二节、功能模块划分
一、子系统分为以下功能模块
图1.2管理子系统
题库管理:
用于对单个试题的增、删、改、查等基本维护,还可对题库进行数据备份和数据还原。
我们针对不同题型、不同应用范围及不同科目对试题进行维护。
试卷管理:
可进行三种组卷方式的维护:
随机组卷、人工组卷、综合组卷。
还可对考生的基本信息进行维护。
考试管理:
对考试分配试卷,并对考试的基本信息进行维护。
相当于人工安排考试的过程
成绩管理:
对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。
用户管理:
对使用本系统的用户基本信息进行维护,用户多数为:
系统管理员、老师、教务处人员、其他
权限管理:
对系统的访问权限进行管理,并对用户可进行权限的分配。
系统应该具备的基本功能
各模块需完成以下功能:
图1.3管理
题型维护:
对试题的题型进行增、删、改、查操作。
在操作之后会自动刷新主页,以使信息更新。
范围维护:
对试题的应用范围进行增、删、改、查操作。
科目维护:
对试题的科目进行增、删、改、查操作。
试题维护:
对试题的基本信息进行增、删、改、查操作。
其他维护:
对试题信息的批量查询,并可进行数据导出、数据备份、数据恢复。
随机组卷:
用户只需对试卷题型进行设置就可组卷的方式。
人工组卷:
可使用户选择试卷的题型中的试题的组卷方式。
也可对试题不进行选择。
试卷其他维护:
对试卷信息的批量查询,对试题的数据备份与还原。
图2.3系统管理
考试信息维护:
对考试的时间、地点、监考人、考试用的试卷、试卷总分数及答卷总时间等考试的基本要素进行设置。
考生信息维护:
对考试的学生的基本信息进行增、删、改、查操作,在操作之后会自动刷新主页,以使信息更新。
分配评卷人:
对考试所用试卷的客观题分配评卷人,并对评卷的基本信息进行维护。
信息管理:
对公告信息进行增、删、改等操作。
考生成绩维护:
对考试的考生成绩信息进行统计与汇总,对有权限的人可进行成绩的增、删、改、查操作。
成绩其他维护:
对考生成绩信息的批量查询,并可进行数据导出、数据备份、数据恢复。
图1.4权限管理
用户基本信息维护:
对使用本系统的用户进行维护,而用户的权限由权限管理进行维护,并分配给用户,使用户只能访问自己拥有的权限内。
权限信息维护:
对基本的权限进行维护,用户可自定义维护权限。
用户分配权限:
对未分配权限的用户进行权限的分配,即对分配权限的增、删、改、查操作。
信息基本维护:
我们的信息除了有关考试的信息外,还有公告、新闻、留言信息需要我们维护,其中公告、新闻由后台有权限的人进行增、删、改、查操作,而留言是由前台的用户(学生)或游客录入的,我们要防止垃圾数据显示,即对留言有权更改等操作。
、
第二章系统设计
第一节实现技术
一、系统工程的流程思想
我们在系统开发过程中,采用软件工程的开发管理,在开发的过程中也遵循软件工程的思想,软件工程的主要环节有:
人员管理(自己模拟)、项目管理(我的小组模拟)、可行性与需求分析、系统设计、程序设计、测试、维护等,如下所示。
图2.1管理流程
二、面向对象机制的设计思想
所有计算机均由两种元素组成:
代码和数据。
精确的说,有些程序是围绕着"
什么正在发生"
而编写,有些则是围绕"
谁正在受影响"
而编写的。
第一种编程方式叫做"
面向过程的模型"
,按这种模型编写的程序以一系列的线性步骤(代码)为特征,可被理解为作用于数据的代码。
如C等过程化语言。
第二种编程方式叫做"
面向对象的模型"
,按这种模型编写的程序围绕着程序的数据(对象)和针对该对象而严格定义的接口来组织程序,它的特点是数据控制代码的访问.通过把控制权转移到数据上,面向对象的模型在组织方式上有:
抽象、封装、继承和多态的好处。
三、代码分层思想
由于采用B/S设计模式分层思想,同时根据软件工程的管理思想及系统分析的设计与分析的思想进行系统的开发,利用Java语言开发Web应用程序,提供String+Hibernate+Spring框架对系统的程序代码结构进行分层。
分层的策略如下:
图2.2Struts-Spring-Hibernate架构
四、系统结构图
本系统分为学生前台子系统和考试管理子系统,整个系统的结构图如下
图2.3后台管理流程
五、数据库设计
1、数据库需求分析
针对一般考试系统的需求,设计如下所示的数据项和数据结构:
●管理员信息,包括的数据项有:
管理员姓名、密码等。
●普通用户信息,包括的数据项有:
用户名、密码、性别、班号、学号等。
●试卷信息,包括的数据项有:
填空题分值、填空题数量、判断题分值、判断题数量、选择题分值、选择题数量等。
●判断题信息,包括的数据项有:
判断题编号、题干、正确答案等。
●填空题信息,包括的数据项有:
填空题编号、题干、正确答案等。
●选择题信息,包括的数据项有:
单选题编号、题干、正确答案、备选项(A、B、C、D)等。
●成绩信息,包括的数据项有:
考试科目、考生学号、成绩、考试时间、是否补考、补考成绩等。
本系统应该建立一个稳定的后台数据库系统,通过该数据库管理整个考试系统所需的信息(用户信息、试题信息、试卷信息、考试信息等)。
本系统还应该包括学生和教师的账号、后台数据库的安全机制、考试过程的控制机制。
2、数据库表
表2.1试卷表shijuan
SJ_Id
试卷编号
SJ_Name
试卷名称
SJ_kemu
试卷科目
SJ_JieSao
试卷介绍
SJ_User
试卷创建人
SJ_Time
试卷创建时间
表2.2试题表shiti
C_Id
试题Id
Question
问题
C_A
答案A
C_Answer
正确答案
C_Analytical
答案解析
C_Score
试题分数
Subjects
科目
C_Type
题型
表2.3关系表guanxi
G_Id
试题编号
表2.4用户答案表YHDA
Y_Id
U_Id
用户ID
试卷ID
试题ID
Y_Answer
用户答案
表2.5用户答案表YHDA
CJ_id
Y_ID
用户编号
SJ_ID
CJ_DeFen
得分
C_Time
测试时间
表2.6系统科目表Subjects
S_Id
S_Type
科目类型
S_User
添加人员
S_Time
添加时间
表2.6题型表Type
T_Id
T_Title
试题名称
T_fen
试题分值
T_User
试题添加人
T_Time
试题添加时间
六、题库管理模块
1、题库管理功能模块图
题库管理包括判断题管理、填空题管理、选择题管理。
管理员可以通过题库管理对各种类型的试题进行添加、删除、修改以及查询。
题库管理功能模块图如图4-2所示,由于各种类型试题的管理功能均类似,这里仅以判断题管理为例进行介绍。
判断题管理模块包括的操作有:
添加判断题、删除判断题、修改判断题和查找判断题,有关判断题管理模块操作的主要源代码参见附录C。
图2.4题库管理
七、试卷管理模块
试卷管理模块主要是对试卷进行添加、删除、修改。
1、试卷管理功能模块图
图2.5试卷管理
第三章相关代码片段
一、倒计时代码
图3.1倒计时代码
二、随机取试卷代码
图3.2随机取试卷代码
三、将Excel文档导入数据库
图3.3随机取试卷代码
四、控制相关
图3.4控制相关代码
第四章系统开发注意事项
一、注册开始/截止时间
允许/停止考生注册的时间。
在到达注册开始时间时,考生通过注册页面注册。
在完成了注册之后,考生可以用注册的用户ID和密码登录考试,访问各相关页面,完成其权限允许的各种操作。
未在注册开始/截止时间段内进行注册的考生将无法登录本系统。
二、首次登录/截止时间
三、考试开始/结束时间
考试开始时间到达后,考生可访问试题页面。
考试结束时间到达时,停止接受考生提交的考试答卷。
以年月日时分的形式描述考试的开始时间和结束时间。
四、考试结束提醒时间
该时间在考试结束时间之前,当到达该时间时,系统向考生发出考试将结束的提醒,考生应准备提交答卷。
该时间与考试结束时间有一定差值,缺省时间为15分钟。
五、答卷提交方式
一次性提交是指对任何一道题,考生只有一次机会提交答案,并以此答案作为评分的依据。
对同一道题的答案的后续提交将不被接受。
可重复提交是指对任何一道题,考生有多次机会提交答案,直至考试时间结束。
对同一道题的答案的后续提交将覆盖前一次提交的答案。
对每一道题的评分将以该题答案的最后一次提交为准。
六、成绩发布时间
指出本次考试成绩发布的时间。
到达该时间后,考生可登录网站,查询成绩。
七、成绩发布方式
成绩发布方式按发布的时间可分为即时发布、定时发布。
即时发布是在考试进行过程中,当考生提交答案后立即进行评测,并将评测结果及时发布给考生。
当提交方式设定为可重复提交时,对考生中间答案的评测成绩仅供考生参考。
只有考生最后提交的答案成绩才记录在案,予以保留。
定时发布是在考试过程结束后对考生的答案进行评测,并将评测结果在规定的时间发布给考生。
考生的成绩发布在考生专用页面上,考生只能访问自己的成绩页面。
第五章结束语
经过需求分析、设计、开发、测试,本系统已成型,其中主要使用了.NET、SQLServer2005、CSS、工厂模式的三层架构等相关技术。
这些技术的实现,满足了系统的需要,优化了系统的性能。
使用模块化设计,有助于编程人员的维护和系统的再次开发。
在线考试系统无论是在开发过程中,还是建成后的日常维护过程中,都要执行正确的操作,以保证系统的正常运行。
该系统的使用使学生考试,教师评卷变得更加轻松、快捷高效、用户感觉使用方便、界面友好、功能完善,该系统有一定的实用性。
在线考试系统中,在老师的指导下已经完成,能够实现要求的功能,但是对于在线考试系统还存在以下不足之处,首先是代码不简练,造成冗余;
然后是考虑问题的不足,没有全面的站在用户的角度上去思考问题。
最后是检测的不彻底,程序还有待改进。
对于在编程中遇到的问题,就是对待问题时,往往眼高手低,没有考虑全面。
比如说,ComoBox的dropdownlist属性的设置,为了保证某些属性用户只能选择不能输入,常常被我们忽略;
还有就是某些编号只是标识一下而没有实际意义,在呈现给用户时应该让其隐藏;
我们还可以控制datagridView的列宽,使界面看起来美观大方。
我在这个系统中主要是实现学生端的功能,其实学生端实现的功能不多,最主要是学生考试界面,在学生界面中我们是随机抽取的试卷,所以不知道题型和题量,我只能自己开始写控件系统自动生成控件来存放题目。
在这当中我遇见了很多的问题,比如:
如可存放控件,每个控件的高度和位置,以及触发控件时的事件,如可保存学生答案,如可下载学生已经回答的答案等等问题。
开始时,我都不知所措,因为考试界面中除了三个Button按钮和一个Panel外什么都没有。
后来,我通过询问同学和请教老师,渐渐的我感觉到了,其实写控件不是很难的事,难的是如可放置自己所写的控件的位置,位置不对,那么控件就可能不显示或显示不全。
在写控件位置的代码中,是考学生的思维能力和逻辑能力。
在编写保存答案和下载答案的代码时,最重要的自己的思路一定要清楚,是循环先每个控件来记录学生答案,还是先循环每道试题来找到学生答案并记录学生答案,这是非常重要的。
总之,此次毕业设计对我可谓影响深远、意义重大,可以说在毕业设计的过程中,是我整个大学生涯中过的最紧张的时期,但也是我自从上大学来感到最充实的时期,也是我学的知识和经验最多的时期。
在这个过程中我主要学会坚持,还要有耐心和恒心。
在这个行业中,不仅锻炼人的思考方式,还锻炼着人的性格。
我相信在老师的严格要求下,在以后的社会实践中定能不断的提升自己
致谢
在论文写作期间,导师王其强授给予我极大的帮助,他对我的严格要求使得我的论文有了一定的成果;
在生活和学习上,我也得到了老师的关心和照顾,不仅如此老师还传授了很多关于考试系统设计方面的经验,使我少走了很多弯路;
王老师的高瞻远瞩、博学多闻和严谨的治学态度更令我钦佩不已。
谨向王老师致以真诚的谢意!
在今后的人生道路上,我一定谨遵恩师的教诲,发挥自己的潜能。
同时,同学们的热心帮助也使我获益菲浅,没有他们我不会取得如此大的进步,在此一并感谢!
参考文献
[1].王庆华.易学易用ASP3.0.京邮电大学出版社,2000.8
[2].李瑞旭.ASP实例教程.中国电力出版社,2000.8
[3].许进华.程序设计教程----ASP.苏州大学出版社,2005.1
[4].周晓玉,步向荣.ACCESS实例教程.人民邮电出版社,2004.11
[5].刘小云.数据库技术与ACCESS应用.科学出版杜,2004.9
[6].赛奎村.ASP信息系统开发实例精选.机械工业出版社,2005
[7].求是科技.信息系统开发实例导航.机械工业出版社,2005.7
[8].宣晓平.ASP数据库系统统开发实例导航[M].机械工业出版社,2003.1
[9].廖彬杉.ASP动态网站开发教程.清华大学出版社,2003.7
[10].郑阿奇.《SQLServer实用教程》.电子工业出版社,2005年
[11].杨儒亮.《VisualBasic.Net程序设计》.武汉大学出版社,2006年