考试系统的设计与实现.docx
《考试系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《考试系统的设计与实现.docx(44页珍藏版)》请在冰豆网上搜索。
考试系统的设计与实现
基于C/S架构考试系统的设计与实现
毕
业
论
文
基于C/S架构考试系统的设计与实现
摘要:
计算机技术的发展,人们已经进入了信息时代,也有人称为数字化时代;在数字化的网络环境下,学生希望得到个性化的满足,根据自己的情况进行学习,同时也希望能够得到科学的评价,老师希望有效改进现有的考试模式,提高考试的效率。
本系统主要以VisualStudio2010为开发环境,C#为开发语言,使用SQLServer2008数据库,实现了对系统管理,考生管理,题库管理,在线考试,试卷的审批的功能。
减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
关键字:
考试系统VisualStudio2010C#SQL
一、绪论
1.1研究背景及意义
目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代化考试的需要。
随着计算机应用的迅猛发展,计算机的网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
考试系统是全新的科学教育模式的完美的体现,它可以及时是学生学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。
在本系统中,题目的生成、试卷的提交、成绩的批阅等都可以自动完成。
只要形成一套成熟的题库就可以实现考试的自动化。
这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的[1]。
本系统的功能包括系统管理,考生管理,题库管理,在线考试,试卷审批的功能。
开发设计这一考试系统,目标是对学生学能力的测验,可以使学生对自我掌握知识能力的自检;只需录入试题,自动生成试卷,减少教师的工作负担。
随机生成的试卷,是高是公平公正,提高了考试质量。
此课题的研究目的在于,对于C/S模式系统的熟练掌握,C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。
客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS的核心功能。
这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。
它可以充分发挥客户PC的处理能力,使应用服务器运行数据负荷矫情,数据的存储管理功能较为透明。
1.2国内外发展现状及趋势
随着计算机技术的飞速发展,其强大的功能已为人们深刻认识,计算机在高等学校考试中应用日趋普及,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对网络化环境下的组织考试、审批,具有着人工管理所无法比拟的优点。
例如:
管理简单、节约时间、无空间限制、存储量大、保密性好、寿命长、成本低、可重复利用以有资源等。
这些优点能够极大地提高网络化环境下的高校考试效率,也是高校网络在线考试的科学化、正规化管理,与世界接轨的重要条件。
而基于网络的在线考试系统,正是信息化建设的产物,它是传统考场的延伸。
它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。
因此网络是电子化教学的不可缺少的辅助手段。
考试系统或题库管理系统在国内已有很多成型的项目与产品,其中比较著名的有永中题库管理系统,海天题库管理系统等。
考试系统的趋势是安装客户端,即可实现网上考试、成绩排行等功能,还有试卷保存、自动判分、成绩查询和分析等功能。
该系统同时拥有最开放的题库管理系统和最灵活的智能组卷系统,能够提供Excel题目导入导出、题库导入导出等设计,提供资源的快速收集和高度共享。
系统能提供基于网络教室、校园网及Internet的网上考试、测验、模拟考等,尤其是能网上组织考试,学生能在家通过Internet参加考试和查询分数和教师批语等。
手工管理方式在题库管理等需要大量事务处理的应用中已显得不相适应,采用IT技术提高服务质量和管理水平势在必行[2]。
1.3论文主要工作
系统以C#为开发语言,以SQL2008为后台数据库。
考试系统实现的功能有:
功能包括系统管理,考生管理,题库管理,在线考试,试卷的审批、
在本文的论述中,首先介绍了项目的背景、国内外现状和发展趋势,研究的意义。
对系统的特点做了比较详细的分析,描述了所要开发系统的实现目标。
然后详细分析了系统需求。
通过对使用用户的具体需求,构架了具体的功能,为系统的设计及实现打下一个良好的基础。
接着详细介绍系统的设计与实现。
通过对系统的需求分析,确定了系统应该具有的功能,并从整体到局部把系统的功能模块化;还将这些功能进行实体化,得到相应的实体及实体关系图,构建合适的数据库。
并且结合相关技术及具体实现方案描述整个系统的功能实现。
最后对全文工作进行了总结,说明了在撰写论文过程中的心得和不足,并对以后而应用前景做出了展望。
本论文主要由以下五部分组成:
1绪论。
主要介绍了项目研究的背景及意义,国内外现状,以及本文的主要工作。
2系统分析。
对本系统进行了需求、功能以及可行性进行了全面分析。
3系统设计。
结合需求分析划分系统的功能模块和对数据库表的设计。
4系统实现。
介绍了系统各模块的具体实现步骤。
5系统功能运行和测试。
介绍了软件测试和部分测试用例。
二、系统分析
2.1系统需求分析
2.1.1编写目的
需求分析是确定系统的目的、范围、定义和功能时需要做的工作。
本文中需求分析的目的是了解用户对于在线考试系统的基本需求。
在分别了解学生用户、教师用户对于考试系统所需要的功能后,寻求和分析系统的解决方案。
确保最终实现的系统可以满足用户的基本需求。
本系统的用户可分为管理员和普通用户两类。
管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等。
普通用户登录,主要负责在线考试、查询考试成绩,教师对试题的管理等。
2.1.2可行性分析
可行性分析采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。
由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。
(1)技术可行性
本系统以SQLServer2008为后台数据库,SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本,而且它具有简单、易用等优点[3]。
基于VisualStudio2010[4]环境而进行开发的。
VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件,最为流行的开发工具之一,它提供了相当齐备的类库和友好的界面,为数据库开发提供了比较好的开发环境,提供了多种数据库访问技术,可视化的编程环境,使操作更加直观简便,保证了代码的模块化要求,而代码模块化提高,非常有利于以后对新系统的扩展与修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都满足,因此,在技术上是可行的。
。
(2)经济可行性
成本方面:
完全可以利用现有硬件条件,不需增加新的硬件设备。
效益方面:
目前的情况还不确定具体的效益。
(3)社会因素方面的可行性
法律方面的可行性
本系统的开发所涉及到的模板与资源不会侵犯他人、集体和国家的利益,遵循相关的法律法规。
使用方面的可行性
使用本系统的用户只需拥有基本的计算机基础。
2.1.3用例图及用例描述[5]
(1)管理员角色的相关用例图如图2-1所示
图2-1管理员角色相关用例图
管理员登陆用例描述
用例名称:
管理员登陆
用例目的:
完成管理员权限的登录
参与者:
管理员
前置条件:
点击打开登陆界面
基本事件流:
①进入登陆界面。
②输入相应的用户名、密码、角色类型。
③点击登陆按钮。
后置条件:
完成管理员的登陆,进入管理员界面。
管理员用户管理用例描述
用例名称:
用户管理
用例目的:
对其他用户进行添加、删除、修改操作。
参与者:
管理员
前置条件:
成功登陆程序,进入管理员界面
基本事件流:
①进入管理员用户界面。
②点击修改用户按钮。
③选择添加或者修改用户信息。
进行对数据的保存
后置条件:
在管理员界面进入修改用户界面,完成对其他用户的操作,对数据的保存。
扩展点:
管理员只对用户名,密码,姓名,班级进行初始化保存。
用户浏览窗口,可以对于学生,教师进行浏览查询,修改。
试题管理用例描述
用例名称:
试题管理
用例目的:
对试题进行删除、修改操作。
参与者:
管理员
前置条件:
成功登陆程序,进入管理员界面
基本事件流:
①进入管理员用户界面。
②点击试题管理按钮,进入试题管理界面。
③选择添加或者修改试题信息。
进行对数据的保存
后置条件:
在管理员界面进入修改试题界面,完成对试题的操作,对数据的保存。
扩展点:
管理员可以对试题的类型、难易程度进行修改保存。
管理员可以按照科目,对试题进行查看浏览。
成绩管理用例描述
用例名称:
成绩管理
用例目的:
对成绩进行查看、修改操作。
参与者:
管理员
前置条件:
成功登陆程序,进入管理员界面
基本事件流:
①进入管理员用户界面。
②点击试题管理按钮,进入试题管理界面。
③选择添加或者修改试题信息。
进行对数据的保存
后置条件:
在管理员界面进入成绩查看界面,对数据的保存。
扩展点:
管理员可以对成绩按照学生学号浏览查看,仅管理员可以对成绩进行修改。
科目管理用例描述
用例名称:
科目管理
用例目的:
对科目进行删除、修改操作。
参与者:
管理员
前置条件:
成功登陆程序,进入管理员界面
基本事件流:
①进入管理员用户界面。
②点击科目管理按钮,进入科目管理界面。
③选择添加或者修改科目信息。
进行对数据的保存
后置条件:
在管理员界面进入修改科目界面,完成对科目的操作,对数据的保存。
(2)学生角色相关用例图如图2-2所示
图2-2学生角色相关用例用例图
学生登陆用例描述
用例名称:
学生登陆
用例目的:
完成学生权限的登录
参与者:
学生
前置条件:
点击打开登陆界面
基本事件流:
①进入登陆界面。
②输入相应的用户名、密码、角色类型。
③点击登陆按钮。
后置条件:
完成管学生的登陆,进入学生界面。
管理信息用例描述
用例名称:
学生信息管理
用例目的:
完善学生个人信息资料
参与者:
学生
前置条件:
点击打开学生用户界面
基本事件流:
①进入学生界面界面。
②点击信息修改按钮。
③对数据选项进行填写。
保存数据。
后置条件:
完成学生个人信息资料的完善。
扩展点:
学生无法对学号、班级、姓名进行修改。
在线考试用例描述
用例名称:
在线考试
用例目的:
实现学生在线考试
参与者:
学生
前置条件:
点击打开学生用户界面
基本事件流:
①进入学生界面界面。
②点击在线考试。
③浏览并同意考试前注意事项,开始考试。
提交试卷。
等待系统自动评分生成考试成绩。
后置条件:
完成对选择科目的自我测试。
扩展点:
系统在开始考试之后,自动显示考试时间给与考生提醒。
在规定时间之内没有交卷,系统会自动提交试卷。
考试结束之后,系统自动评分。
浏览成绩用例描述
用例名称:
浏览考试成绩
用例目的:
查看本人以往考试成绩
参与者:
学生
前置条件:
点击打开学生用户界面
基本事件流:
①进入学生界面界面。
②点击浏览成绩。
后置条件:
查看以往考试成绩。
扩展点:
学生对于成绩只能进行浏览,不能进行修改。
(3)教师角色相关用例图如图2-3所示
图2-3教师角色相关用例图
教师登陆用例描述
用例名称:
教师登陆
用例目的:
完成教师权限的登录
参与者:
教师
前置条件:
点击打开登陆界面
基本事件流:
①进入登陆界面。
②输入相应的用户名、密码、角色类型。
③点击登陆按钮。
进入相关界面。
后置条件:
完成管教师的登陆,进入教师界面。
管理个人信息用例描述
用例名称:
教师信息管理
用例目的:
完善教师个人信息资料
参与者:
教师
前置条件:
点击打开教师用户界面
基本事件流:
①进入教师界面界面。
②点击信息修改按钮。
③对可填写数据选项进行填写。
保存数据。
后置条件:
完成教师个人信息资料的完善。
扩展点:
教师无法对工号、姓名进行修改。
试题管理用例描述
用例名称:
试题管理
用例目的:
对试题进行删除、修改操作。
参与者:
教师
前置条件:
成功登陆程序,进入教师界面
基本事件流:
①进入管理员用户界面。
②点击试题管理按钮,进入试题管理界面。
③选择添加或者修改试题信息。
进行对数据的保存
后置条件:
在教师界面进入修改试题界面,完成对试题的操作,对数据的保存。
扩展点:
教师可以对试题的类型、难易程度进行修改保存。
教师可以按照科目,对试题进行查看浏览。
浏览成绩用例描述
用例名称:
浏览考试成绩
用例目的:
查看学生以往考试成绩
参与者:
教师
前置条件:
点击打开教师用户界面
基本事件流:
①进入教师界面界面。
②点击按班级浏览成绩。
后置条件:
查看学生考试成绩。
扩展点:
教师对于成绩只能进行浏览,不能进行修改。
2.1.4非功能性需求[5]
(1)性能需求如表2-1所示。
表2–1性能需求
主要性能
详细要求
处理器
1.6GHZ
内存
2G
编程语言
C#
编程技术
ASP.NetAjax
服务器
IIS
服务器所在系统环境
WindowsXP/Windows7
(2)质量属性如表2-2所示。
表2–2质量属性
主要质量属性
详细要求
正确性
能实现基本功能
健壮性
能长时间运行不出问题
可靠性
比较稳定
性能
性能良好
易用性
易用
清晰性
清晰
安全性
安全
可扩展性
可以扩展
兼容性
兼容各个系统
可移植性
可移植
2.2系统功能分析
从总体上考虑,系统应该实现下列功能:
对管理员来说,包括试卷管理、题库管理、成绩管理。
1、试卷管理:
管理员可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则。
同时,管理员还可以对库中已有的试卷进行修改和删除,添加新试卷等。
2、题库管理:
管理员可以对题库中的试题进行三种基本操作:
添加新的考题、删除旧有考题、修改原有考题,目前试题类型主要为选择题。
3、成绩管理:
管理员可以查看并修改考生的考试成绩
4、学生管理:
管理员可以对学生的资料进行查询、删除。
5、教师管理:
可以对教师的资料进行查询、删除。
对学生用户来说,包括修改个人信息,在线考试的功能。
1、在线考试:
学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。
2、查询以往考试成绩:
学生可以在线查询以前参加过的每门课程的考试相关信息。
3、修改个人信息:
只能修改密码,姓名电话,地址等个人普通信息,禁止修改学号登录名。
对于教师用户来说,可以修改个人信息、添加试题
1、修改个人信息:
同样只能修改普通信息,禁止修改工号。
2、添加试题:
针对自己所教授课程提交试题,可以设置题目难易度。
试题的难易程度分为简单、中等、困难三个等级。
2.3技术分析
2.3.1VisualStudio2010简介
本学生信息管理系统是基于VisualStudio2010环境而进行开发的。
VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件,最为流行的开发工具之一,它提供了相当齐备的类库和友好的界面,为数据库开发提供了比较好的开发环境,提供了多种数据库访问技术,可视化的编程环境,使操作更加直观简便,因此借助VisualC#可以开发出功能强大、速度快、应用广泛并且占用资源少的中小型数据库信息管理系统。
2.3.2SQLServer2008简介
本系统以SQLServer2008为后台数据库,SQLServer2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQLServer版本。
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
这个平台有以下特点[6]:
1、可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
在过去的SQLServer2005的基础之上,SQLServer2008扩展了它的安全性:
SQLServer2008可以对整个数据库、数据文件和日志文件进行简单的数据加密,而不需要改动应用程序。
进行加密使公司可以满足遵守规范和及其关注数据隐私的要求。
简单的数据加密的好处包括使用任何范围或模糊查询搜索加密的数据、加强数据安全性以防止未授权的用户访问、还有数据加密。
这些可以在不改变已有的应用程序的情况下进行,可以审查你的数据的操作,从而提高了遵从性和安全性。
高效的——使得公司可以降低开发和管理他们的数据基础设施的时间和成本。
SQLServer2008降低了管理系统、.NET架构和VisualStudio®TeamSystem的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。
推出了陈述式管理架构(DMF),它是一个用于SQLServer数据库引擎的新的基于策略的管理框架。
陈述式管理提供了以下优点[10]:
遵从系统配置的政策
·监控和防止通过创建不符合配置的政策来改变系统。
·通过简化管理工作来减少公司的总成本。
·使用SQLServer管理套件查找遵从性问题。
改进了安装,加速开发过程。
3、智能的——提供了一个全面的平台,可以在你的用户需要的时候给他发送观察和信息。
(1)集成任何数据
公司继续投资于商业智能和数据仓库解决方案,以便从他们的数据中获取商业价值。
SQLServer2008提供了一个全面的和可扩展的数据仓库平台,它可以用一个单独的分析存储进行强大的分析,以满足成千上万的用户在几兆字节的数据中的需求。
下面是SQLServer2008中在数据仓库方面的一些优点。
数据、备份压缩可以更有效的存储数据,同时还提高了性能,降低了I/O要求。
捕获变更数据,变更会被捕获并被放在变更表中。
它捕获变更的完整内容,维护交叉表的一致性,甚至是对交叉的schema变更也起作用。
这使得公司可以将最新的信息集成到数据仓库中。
(2)发送相应的报表
SQLServer2008提供了一个可扩展的商业智能基础设施,使得IT人员可以在整个公司内使用商业智能来管理报表以及任何规模和复杂度的分析。
SQLServer2008使得公司可以有效的以用户想要的格式和他们的地址发送相应的、个人的报表给成千上万的用户。
通过提供了交互发送用户需要的企业报表,获得报表服务的用户数目大大增加了。
这使得用户可以获得对他们各自领域的洞察的相关信息的及时访问,使得他们可以作出更好、更快、更符合的决策。
SQLServer2008使得所有的用户可以通过企业报表引擎、报表设计器来制作、管理和使用报表。
SQLServer2008扩展了报表中可用的可视化组件。
强大的可视化工具例如地图、量表和图表等使得报表更加友好和易懂[11]。
(3)使用户获得全面的洞察力
及时访问准确信息,使用户快速对问题、甚至是非常复杂的问题作出反应,这是在线分析处理的前提(OnlineAnalyticalProcessing,OLAP)。
SQLServer2008基于SQLServer2005强大的OLAP能力,为所有用户提供了更快的查询速度。
这个性能的提升使得公司可以执行具有许多维度和聚合的非常复杂的分析。
这个执行速度与MicrosoftOffice的深度集成相结合,使SQLServer2008可以让所有用户获得全面的洞察力。
SQLServer分析服务具有下面的分析优势[12]:
SQLServer2008加强了分析能力和提供了更复杂的计算和聚合,使得能进行的分析更宽广。
新的立方体设计工具帮助用户将分析基础设施的开发工作流线化,使他们可以为优化性能建立解决方案。
块计算提供了一个在处理性能方面的显著提高,使得用户可以增加他们的层级深度和计算的复杂度。
在SQLServer2008中一个新的资源监控器提供了对资源利用情况的详细观察,这使得管理员可以更好的优化服务器的使用。
2.3.3C#简介
VisualC#2010(版本号:
4.0)[7]是微软开发的一种面向对象的编程语言,是微软.NET开发环境的重要组成部分。
它是为生成在.NETFramework[8]上运行的多种应用程序而设计的。
是微软公司研究员AndersHejlsberg的最新成果。
C#是面向对象的编程语言。
它使得程序员可以快速地编写各种基于MICROSOFT.NET平台的应用程序,MICROSOFT.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。
但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#简单、功能强大、类型安全,而且是面向对象的。
C#凭借它的许多创新,在保持C样式语言的表示形式和优美的同时,实现了应用程序的快速开发[14]。
C#是一种安全的稳定的、简单的、优雅的,由C和C++衍生出来的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。
C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的预言特性和便捷的面向组件编程的支持成为.Net开发的首选语言。
三、系统设计
3.1系统架构设计
C/S结构,即大家熟知的客户机和服务器结构。
它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件
3.2系统流程设计
用户登录模块是系统的唯一入口,任何用户必