毕业设计论文基于CS模式的在线考试系统的设计与实现

上传人:痛*** 文档编号:65608388 上传时间:2022-03-24 格式:DOC 页数:44 大小:1.70MB
收藏 版权申诉 举报 下载
毕业设计论文基于CS模式的在线考试系统的设计与实现_第1页
第1页 / 共44页
毕业设计论文基于CS模式的在线考试系统的设计与实现_第2页
第2页 / 共44页
毕业设计论文基于CS模式的在线考试系统的设计与实现_第3页
第3页 / 共44页
资源描述:

《毕业设计论文基于CS模式的在线考试系统的设计与实现》由会员分享,可在线阅读,更多相关《毕业设计论文基于CS模式的在线考试系统的设计与实现(44页珍藏版)》请在装配图网上搜索。

1、 毕业设计(论文)基于C/S模式的在线考试系统的设计与实现学院(系): 信息工程学院 专业班级: 通信0906 目 录摘 要IAbstractII1 绪论11.1 研究背景11.2 研究的目的与意义21.3 实现技术21.4 需求分析31.5 可行性分析31.6 论文框架及主要内容42 系统总体设计52.1 系统结构功能52.1.1 在线考试模块52.1.2 后台管理模块52.2 系统用例62.2.1 管理员UML用例62.2.2 学生UML用例72.3 系统流程图73 数据库设计93.1 数据库分析93.2 数据库设计步骤93.3 数据库概念设计103.4 数据库逻辑结构设计124 客户端在

2、线考试系统详细设计154.1考生登录界面154.2 在线考试系统主界面164.3 个人信息维护界面174.4 修改密码界面184.5 考试协议界面204.6 在线考试界面214.7 成绩查询界面235 服务器端后台管理系统详细设计255.1 管理员登录界面255.2 后台管理系统主界面265.3 个人信息维护界面275.4 修改密码界面295.5 试题维护界面295.6 考生信息维护界面315.7 成绩查询界面336 结论和展望356.1 结论356.2 展望35参考文献37致 谢38摘 要在线考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网或局域网进行,方便校方考务的管理,也

3、方便了考生,尤其适合考生分布广,不易集中的远程教育。本系统采用ASP.NET和Microsoft Access 2003数据库,编程采用C#语言,开发了基于C/S体系结构的在线考试系统。系统分为两大模块:服务器端后台管理模块和客户端在线考试模块。其中服务器端后台管理模块是进行题目的添加、修改和删除,考生信息的维护,以及考试成绩查询,是系统运行的基础;客户端在线考试模块是考生通过自己的姓名和密码登录系统,进入考试界面后由系统按照管理员预先设置好的试卷结构从题库中随机抽取适合的题目,生成试卷,考生开始答题,交卷后可以查询考试历史记录及成绩。本系统改进了学生的考核手段,实现了由传统考试方式向网络无纸

4、化考试方式的转变。 关键词: ASP.NET;Access;在线考试系统;C#语言AbstractOn-line examination system the aim is carry out examination of have no the paper turn a management, can carry on through Internet or bureau area net to some examinations of categories, convenient school square test the management of duty, also conveni

5、ent the examinee is particularly suitable for examinee to distribute widely and not easily concentrated of long range education.The system uses ASP.NET and Microsoft Access 2003 database, and C# language, is developed based on C/S system structure examination system. The system is divided into two m

6、odules: Background management module on the server and client on-line examination module. The background management module is to add, store and delete questions, student information maintenance and test scores query, is the basis of the system; The on-line examination module is a client module , stu

7、dents can enter the interface by their names and passwords, then the system will set papers in accordance with the administrator s set from the questions ,After students submit their exam paper, they can scan history records and test results.The system is to improve the courses teaching quality, imp

8、rove students assessment means, achieved by the traditional examination way to network paperless examination mode.Keywords:ASP.NET ; Access 2003 ; Online Exam System ; C# languageII1 绪论在现今的生活中相信每个人都经历过无数的考试,例如:在学校阶段不仅需要完成各学科的考试,还要完成英语等级考试、计算机等级考试等。随着社会的发展,考试也逐渐自动化、电子化。使用电子化的考试方式,可以实现自动阅卷,大大减轻了老师的负担。

9、在本文中,就来开发一个学生在线考试、自动阅卷的系统 1。1.1 研究背景近几年来,随着Internet的崛起,远程教育开始发展,普及网络教育的呼声日益高涨,其势头不亚于电子商务2。联合国教科文组织1998年在其一项调查报告中指出:无论是发达国家还是发展中国家,都不同程度存在教育滞后于现实需要的问题,特别是第三世界国家3。而普及远程教育,尤其是网络教育,不仅是解决这一问题的有效途径,而且将成为革新传统教育模式的重要动力4。中国的网络教育也随Internet的发展而同步增长,同时,网络教育也为中国的教育事业开辟了新的天地。对于网络考试系统的前身计算机辅助测验系统的研究,国外很早就开始了,并且在题库

10、建设、统计测量等方面取得很多显著理论成果。由于互联网技术最近几年才发展起来,关于Internet环境下的网络考试测评系统的研究目前还处于发展阶段,在设计开发方面缺乏系统的理论指导5。关于网络考试测评系统开发规范与标准的研究方面,我国教育部高教司于2000年5月推出了现代远程教育资源建设技术规范(试行本),其中对网络题库、考试系统的建设规范进行了定义。目前这些标准还处于不断检验、完善阶段,符合这些标准的网络考试系统还很少。我国的CELTS标准主要参考IEEE和IMS,目前完成了11项规范,处于试用阶段。目前国内的大多数产品,无论是商业公司或学校开发的网络考试系统大都与这些规范有一定差距。实践应用

11、计算机应用于考试源于美国,历经多年,已经在国外得到了广泛的应用。国外有许多专门的考试机构采用计算机辅助测试对参加考核的对象进行评价。如在信息技术领域中全球领先的计算机公司的授证考试,还有专业人员的认证考试,建筑师和股票经纪人的考试、医护人员的专业测试、美国飞机驾驶员(FAA)的考试等。世界上最大的考试机构美国教育考试服务中心从1993年开始在GRE(研究生入学考试)采用自适应考试模式,同时逐步减少纸卷笔试为基础的考试。2000年开始,TOEFL考试在中国采用自适应考试模式。总的看来,国外的考试特别是技术资格认证的考试,都逐步采用了计算机辅助测试的方法,且自适应考试的形式开始广泛运用。我国在这方

12、面相对落后,目前主要是计算机题库的应用,只有计算机类的考试部分采用了计算机辅助测试的方式,如大学计算机初级考试、高中信息技术会考。1.2 研究的目的与意义随着网络的迅速发展和广泛普及,网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。远程教育成为现代教育技术未来发展的重要方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域6。传统的考试方式一般要经过人工出卷、考生考试、人工阅卷等过程。对于一些课程来说,随着考生数量的增加,教师出卷阅卷的工作量将会越来越大,并且其工作十分烦琐且容易出错。在线考试系统课题产生的背景是当今教育信息化的趋势

13、及我国高校教育信息化系统的建设,目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工考试的不足7。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过计算机来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义5。可以实现考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观性、公证性,自动化组卷、阅卷可以减轻教师的工作强度。在线考试系统是传统考场的延伸,它可以利用网络的广阔空间 ,随时随地的对学生进行考试,加上数据库

14、技术的利用,大大简化了传统考试的过程8。另外考虑到C/S模式的系统能充分发挥客户端的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。此次开发的网上考试系统,旨在探索一种基于C/S模式的计算机考试模式。通过这种新的模式,创造一种新的考试环境,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过计算机进行考试。基于这些优点,我们开始着手开发在线考试系统。1.3 实现技术硬件平台CPU:Intel(R) Core(TM) i3内存:2G硬盘:250G软件平台操作系统:Windows 7数据库:Microsoft Office Acce

15、ss 2003/Microsoft SQL Sever 2005开发环境:Microsoft .NET Framework 3.5开发工具:Microsoft Visual Studio 2010开发语言:C#语言1.4 需求分析传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要9。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互

16、联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革10。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。现在很多高校都配备了大量先进的计算机设备,联通了局域网,具备了无纸化在线考试方式的基本条件,硬件上完全具备了计算机随机抽题、临时组卷、自动评分、回收成绩的条件,我们着手设计开发一个基于CS

17、模式的在线考试系统。本系统开发的具体目标为:能将考生信息保存在数据库中,并支持考生信息的增删修改。管理员事先所拟试题, 亦能保存在数据库中,并支持试题的增删修改。考生登录后,自动生成题目,组成试卷。学生自点击开始答题按钮,即进入考试计时,学生在计算机上完成答题。自动控制考试时间。试后自动评分,计算考试成绩。支持试后考生成绩查询。具有方便、简单的界面,有较高的安全性和稳定性。1.5 可行性分析可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功11。可行性研究的目的就是用最小的代价在尽

18、可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1)经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,所以本系统在经济上是可行的。(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了C/S模式进行开发,结合了Internet技术。数据库服务器选用Access数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新

19、的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。(3)时机可行性:目前,大学的校园网络覆盖了教学区和学生区的主要建筑物及部分家属宿舍,学校良好的网络设施为开发使用网络考试系统提供了坚实的基础。(4)管理上的可行性:主要是教务处管理人员进行管理,现有的管理制度和方法科学,规章制度齐全,为系统的建设提供了制度保障。 综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。1.6 论文框架及主要内容第一章:绪论。主要包括研究背景、意义、目的,以及实现技术、需求分析、可行性分析。第二章:系统总体设计。包括系

20、统功能结构分析,用例和系统流程图。第三章:数据库设计。包括数据库分析,数据库概念设计和逻辑结构设计。第四章:客户端在线考试系统详细设计。包括考生登录界面、客户端主界面、个人信息维护界面、密码修改界面、考试界面、成绩查询界面的窗体设计及代码分析。第五章:服务器端后台管理系统详细设计。包括管理员登录界面、后台管理主界面、管理员信息维护界面、密码修改界面、试题维护界面、考生信息维护界面、成绩查询界面的窗体设计及代码分析。第六章:结论和展望。包括本次论文的完成结果分析及改进方法。2 系统总体设计2.1 系统结构功能本系统基于C/S模式,即Client/Sever模式,所以本系统主要分为两大模块:Cli

21、ent端考试模块;Sever端后台管理模块。在线考试系统功能结构如图2.1所示。图2.1 系统功能结构图2.1.1 考试模块在本模块中,已登录的学生可以先完善个人资料,再选择在线考试。考试过程中系统自动倒计时,提交试卷答案后自动阅卷,同时把一些相关信息提交到服务器端,供以后其它模块使用。学生提交答案之后,系统自动对照数据库的正确答案算出分数,并将成绩提交到数据库。考生参加完考试以后,管理员能对所有成绩进行查询,并可以删除指定纪录。学生只能登录查看自己的考试记录和成绩。2.1.2 后台管理模块此模块只对管理员用户开放。在此模块中,管理员用户可以修改学生信息、创建试卷、对试卷进行维护、查询学生以往

22、考试成绩等功能。因考试系统功能所限,在试卷的维护过程中只允许录入选择、判断型题目。录入题目过程中,要求教师同时给出每题正确答案,并可随时对录入的试题进行修改。教师可以根据上课的进度,随时添加新一期的考试。添加完毕后,由系统自动从相应的题库中抽取设定的试题,生成试卷。2.2 系统UML用例用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。作用是帮助开发人员以一种可视化的方式理解系统的功能需求。用例图包含的主要元素如下:1.参与者(Actor)表示与应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。2.用例(Use Case)用例

23、就是外部可见的系统功能,对系统提供的服务进行描述。用椭圆表示。3.关系用例图中涉及的关系有:关联、泛化、包含、扩展。2.2.1 管理员UML用例管理员UML用例如图2.2所示。图2.2 管理员用例图它包括参与者管理员,用小人表示;系统提供的服务,即用例,用椭圆表示;以及参与者与用例之间的关系,用箭头表示。该用例图表明管理员可以参与的系统功能有:登录,个人信息维护,学生信息管理,试题管理,系统管理,考试成绩管理。2.2.2 学生UML用例学生UML用例如图2.3所示。图2.3 学生用例图它包括参与者学生,用小人表示;系统提供的服务,即用例,用椭圆表示;以及参与者与用例之间的关系,用箭头表示。该用

24、例图表明学生可以参与的系统功能有:系统登录,个人信息维护,获取试题,完成答题,查看成绩。2.3 系统流程图在线考试系统的流程图如图2.4所示。用户登录,首先进行身份识别,只有合法的用户才能登录,身份识别不合法则重新回到身份识别模块。身份识别合法后接下来判断身份,学生进入考试系统主界面,管理员进入后台管理主界面。考试系统主界面包含三个模块:个人信息维护,在线考试,查看考试成绩,在线考试又包含阅读考试协议,开始考试,提交试卷三个模块。后台管理主界面包含四个模块:个人信息维护,考生信息管理,试题信息管理,考生成绩管理。图2.4 系统流程图3 数据库设计Access数据库具有强大的数据管理与处理能力、

25、具有较高的安全性能、支持远程存取等,同时可做到与ASP.NET前台开发工具的无缝连接12,符合考试系统的需求,因此选择Access 2003作为服务器的后台数据库。3.1 数据库分析ASP.NET本身无法存取数据库,必须与ADO.NET配合起来才能存取数据库记录。ADO.NET对象可以快速简单地存取各种数据,其对象模型中有六个主要的组件,分别是OleDbConnection对象、OleDbCommand对象、OleDbDataAdapter对象、DataSet对象、DataTable对象以及OleDbDataReader对象13。这些组件中负责建立联机和数据操作的部分称为数据操作组件(Mana

26、ged Providers),分别由OleDbConnection对象、OleDbCommand对象、OleDbDataAdapter对象、DataTable对象以及OleDbDataReader对象所组成。数据操作组件最主要的作用是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中以及将数据存回数据源的工作。各组件主要运作方式及功能如下:(1)OleDbConnection对象:建立程序和数据源之间的联机,以便存取数据源内的数据。(2)OleDbCommand对象:通过OleDbConnection对象对数据源下达操作数据库的命令。(3)OleDb

27、DataAdapter对象:用于从数据源获取数据,填充DataSet中的表和约束,并将OleDbCommand对象通过OleDbConnection对象对数据源下指令与数据源进行互动。(4)DataSet对象:必须结合OleDbDataAdapter对象使用,一次读取所有的数据,可对网页中显示的数据做编辑,也可以在数据中任意移动。(5)DataTable对象:用于从数据库中读取数据到缓存。(6)OleDbDataReader对象:必须结合OleDbCommand对象使用,一次读取一个数据,只读且数据只能单向向前移动,一般用于单独显示数据。3.2 数据库设计步骤一个运行良好的系统必须建立在一个设

28、计合理的数据库基础上,如果没有一个设计合理的数据库模型,将会增加客户端和服务器端程序的编程和维护的难度,并且会影响系统实际运行的性能,使系统的功能不能完全的展现出来。考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:(1)需求分析阶段:进行数据库设计首先必须准确了解与分析用户需求,这是整个设计过程的基础。(2)概念结构设计阶段:是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立与具体的DBMS的概念模型。(3)逻辑结构设计阶段:逻辑结构设计是将概念结构转换为DBMS所支持的数据模型,并对其进行优化。(4)数据库物理设计阶段:数据库物理设计是为逻辑数据模型选

29、取一个最适合应用环境的物理结构。(5)数据库实施阶段:设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段:数据库应用系统经过试运行后即可投入正式运行。3.3 数据库概念设计本系统比较复杂,需要保存的信息很多,所以需要规划多个实体。本系统中最基本的实体有管理员登录信息实体、考生信息实体、考试信息详细记录实体、考试成绩实体、试题信息实体等。(1)为了记录管理员和每个学生的姓名,学号,密码,成绩等信息,需要创建管理员以及学生信息表。管理员及学生信息实体E-R图如图3.1,图3.2所示。图3

30、.1 管理员信息实体E-R图图3.2 学生信息实体E-R图(2)为了方便统计每个考生每道题的答题及得分情况,需要创建考生成绩详细记录表来保存考生每道题的答题及得分结果信息。考生成绩详细记录实体E-R图如图3.3所示:图3.3 考生成绩详细记录实体E-R图(3)每种类型的题目都在发生变化,管理员需要将失去意义的考题从题库中删除,并添加一些新题目。创建试题信息表,用来存储试题内容。试题信息实体E-R图如图3.4所示:图3.4 试题信息实体E-R图3.4 数据库逻辑结构设计Access的对象包括表、查询、窗体、报表、页、宏和模块,这些对象需自行定义14。根据系统的需要本次设计的数据库数据表包括四个方

31、面:1.题库数据:可以包括判断题,选择题,填空题3种类型题目,包括题目的题干,选项和答案。2.管理员和学生资料信息数据:包括姓名,密码,性别,班级和学号等基本信息。3.成绩资料表数据:包括学生姓名,分数,考试日期等基本数据。4.考试答题记录数据:包括学生姓名,考试题目,学生作答结果,正确答案,是否正确等基本信息。通过对系统的分析,以及对所需数据的统计,设计的数据库中包括的数据表和其相应的功能如下:表3.1 系统数据表及其功能 数据表功能Admin(管理员信息表)存放管理员用户的基本信息Student(学生信息表)存放考生用户基本信息Question(试题信息表)存放试题基本信息ExamScor

32、e(成绩信息表)存放学生考试成绩基本信息HisScoreItem(考生成绩详细记录表)存放考生答题记录详细信息根据对考试系统中数据的分析,得出数据库中的数据表的字段,类型等,具体设计由以下五张表组成。(1) 管理员信息表admin此表用于存放管理员的基本数据信息,包括登录用户名和密码、真实姓名、身份证号、联系方式、性别、地址。表3.2 管理员信息表字段名数据类型是否主键描述LoginIDvarchar(20)是管理员登录用户名Passwordvarchar(20)否管理员登录密码Admin_namevarchar(20)否管理员真实姓名Sexchar(2)否性别Addressvarchar(2

33、0)否地址Telephonevarchar(20)否管理员联系方式IdentityNOvarchar(20)否管理员身份证号(2) 学生信息表student此表用于存放学生的基本信息,包括登录用户名和密码,学号、姓名、班级、性别、联系方式、地址以及考试状态等。表3.3 学生信息表字段名数据类型是否主键描述StudentIDint是学生编号LoginIDvarchar(20)否学生登录用户名Passwordvarchar(20)否学生登录密码StudentNamevarchar(20)否学生姓名Telephonevarchar(20)否联系方式StudentNOvarchar(20)否学号Cla

34、ssvarchar(20)否班级Sexchar(2)否性别Telephonevarchar(20)否联系方式Addressvarchar(20)否地址Stateint否考试状态(3)试题信息表Question此表用于存放试题信息,包括试题编号、试题内容、选项及答案。表3.4 试题信息表字段名数据类型是否主键描述QuestionIDint是试题编号Questionvarchar(20)否试题内容OptionAvarchar(20)否选项A内容OptionBvarchar(20)否选项B内容OptionCvarchar(20)否选项C内容OptionDvarchar(20)否选项D内容Answer

35、varchar(20)否答案(4) 考试成绩信息表ExamScore此表用于存放考生考试成绩的信息,包括学生编号、考试记录编号、学生成绩、考试日期。表3.5 考试成绩信息表字段名数据类型是否主键描述StudentIDint是学生编号HisIDint否考试记录编号Scorefloat否考试成绩Datesmalldatetime否考试日期(4)考生成绩详细记录表HisScoreItem此表用于存放考生考试详细记录,包括考试记录编号、题号、正确答案、是否答对。表3.6 考试成绩详细记录表字段名数据类型是否主键描述HisIDint是考试记录编号QuestionIDint否题号Answervarchar

36、(20)否正确答案isRightvarchar(20)否是否答对4 客户端在线考试系统详细设计4.1考生登录界面考生登录界面用于验证考生用户登录系统时输入的用户名、密码是否正确,只有合法的用户才可以进入系统,考生登录界面如Error! Reference source not found.所示。图4.1 考生登录界面核心代码:private void btnOK_Click(object sender, EventArgs e) try string username = txtUserName.Text.Trim(); string pwd = txtPwd.Text.Trim(); if

37、(username=) MsgBox.InfoShow(请输入用户名!); txtUserName.Focus(); return; if (pwd=) MsgBox.InfoShow(请输入密码!); txtPwd.Focus(); return; if (new Student().Login(username, pwd) new frmMain().Show(); this.Hide(); else MsgBox.InfoShow(您输入的用户名或密码不正确!); txtUserName.SelectAll(); return; 代码分析:此段代码是单击“登录”按钮后的触发事件,功能是:

38、若输入的用户名为空,则弹出“请输入用户名!”对话框;若输入的密码为空,则弹出“请输入密码!”对话框;若用户名和密码均输入,则调用自定义的Student类中的Login()方法,该方法的作用是建立数据库连接,将输入的用户名和密码与数据库学生表中对应的用户名、密码比较,若一致则返回true,打开考试系统主界面;不一致则返回false,弹出“用户名或密码不正确!”对话框。4.2 在线考试系统主界面考生输入的用户名、密码正确后,即可登录客户端在线考试系统主界面,如图4.2所示。在该界面有两个菜单项“系统管理-个人信息维护,修改密码,退出”和“考试管理-在线考试,成绩查询”,考生进入主界面后,可以对自己

39、的信息进行完善和修改,也可以为了信息安全,修改个人密码。然后在开始考试,若已经考试过的学生,可以查看考试记录。图4.2 在线考试系统主界面4.3 个人信息维护界面考生选择菜单项“系统管理-个人信息维护”后单击,即可进入个人信息维护界面,如图4.3所示。若考生资料不完整,则可以完善个人资料;若资料已经完整,考生可根据错误的信息做相应的更改。完成后单击“保存”按钮,弹出提示“修改成功!”则表明考生个人信息已更新至数据库,最后单击“关闭”按钮。图4.3 学生个人信息维护界面核心代码:private void btnOK_Click(object sender, EventArgs e) try st

40、ring studentNO = txtNo.Text.Trim(); string studentName = txtName.Text.Trim(); string phone = txtPhone.Text.Trim(); string studentidno = txtCNO.Text.Trim(); string address = txtAddress.Text.Trim(); string email = txtEmail.Text.Trim(); string sex = rbMan.Checked ? 男 : 女; if (studentNO = ) MsgBox.InfoS

41、how(学号不能为空!); txtNo.Focus(); return; if (studentName = ) MsgBox.InfoShow(姓名不能为空!); txtName.Focus(); return; student.SaveStudentInfo(Global.loginid,studentno,studentName,phone, studentidno, address, email, sex); MsgBox.InfoShow(修改成功!); 代码分析:本段代码是“保存”按钮单击触发事件,功能是:学号和姓名为必填项,若为空则弹出“请输入姓名!”“请输入学号!”对话框;调用

42、自定义Student类的SaveStudentInfo()方法,将所填信息保存进数据库中的学生表中。该方法的作用是建立数据库连接,更新Stuent表中loginid所在行的信息。4.4 修改密码界面考生选择菜单项“系统管理-修改密码”后单击,即可进入修改密码界面,如图4.4所示,修改好后点击“保存”按钮。注意:考生只能修改自己的登录密码,登录用户名不可更改,只能由管理员事先设置好。若考试忘记密码,可以及时联系管理员,对密码进行重置。图4.4 修改密码界面核心代码:private void btnOK_Click(object sender, EventArgs e) try string op

43、wd = txtOldpwd.Text.Trim(); string pwd = txtPwd.Text.Trim(); string pwd2 = txtPwd2.Text.Trim(); if ( = opwd) MsgBox.InfoShow(请输入旧密码! ); txtOldpwd.Focus(); return; if ( = pwd) MsgBox.InfoShow(请输入新密码!); txtPwd.Focus(); return; if ( = pwd2) MsgBox.InfoShow(请确认新密码! ); txtPwd2.Focus(); return; if (pwd !=

44、 pwd2) MsgBox.InfoShow(两次输入的新密码不一致!); txtPwd.Focus(); return; if (opwd != Global.loginpwd) MsgBox.InfoShow(您输入的旧密码不正确!); txtPwd.Focus(); return; new Student().UptPwd(pwd); Global.loginpwd = pwd; MsgBox.InfoShow(修改成功!); this.Close(); 代码分析:本段代码是“确定”按钮单击事件,功能是:确认旧密码,新密码,确认密码三栏都不能为空;验证旧密码正确;验证新密码和确认密码相同

45、;在满足的条件下,调用自定义类Student类的UptPwd()方法,建立数据库连接,用新输入的密码更新数据库Student表中的相应的pwd值。4.5 考试协议界面考生选择菜单项“考试管理-在线考试”后单击,即会出现考试协议界面,如图4.5所示。请考试务必仔细阅读考试协议的内容,在阅读完毕并且接受考试协议的前提下,再单击界面右下方“开始考试”按钮,进入在线考试界面,开始考试。图4.5 考生须知界面核心代码:private void btnStart_Click(object sender, EventArgs e) frmOnline frmonline = new frmOnline();

46、 /定义考试主窗体 frmonline.ShowDialog(); /显示考试主窗体 this.Close(); /关闭窗体 代码分析:本段代码是“开始考试”按钮单击事件,功能是打开考试窗体,关闭当前窗体。4.6 在线考试界面考生阅读完毕考试协议后,单击“开始考试”按钮即可进入在线考试界面。如图4.6所示,该界面主要分为4个栏:操作导航栏、考试信息栏、试题信息栏、当前答案栏。单击操作导航栏中的“开始考试”按钮,试题区即生成试卷,计时器开始计时,此时考生开始答题,同时“开始考试”按钮隐藏,答题完毕单击“交卷”按钮,可立即显示考试成绩。在考试信息栏中,管理员可以设置考试题目的类型分值等说明。试题信

47、息栏显示当前题目的内容及选项。当前答案栏显示考生题目作答情况,如未作答则显示“未作答”,已作答的题目会显示考生给出的答案。图4.6 在线考试界面核心代码:private void btnStart_Click_1(object sender, EventArgs e) pnBody.Visible = true; btnSubmit.Visible = true; lblTime.Visible = true; btnStart.Visible = false; lblTime.Text = ; label1.ForeColor = Color.Gray; /获取题目加载 dt = new Q

48、uestion().GetQuestion(20); LoadQuestion(0); currQ = 1; timer1.Enabled = true; timer1.Interval = 1000; timer1.Start(); string strSql = update student set state= 1 where loginid = + Global.loginid + ; DBHelper.ExecuteNoeQuery(strSql);private void LoadQuestion(int num) lblQuestion.Text = 第 + (num + 1)

49、+ 题: + dt.Rowsnumquestion.ToString(); lblOption_A.Text = A. + dt.RowsnumOptionA.ToString(); lblOption_B.Text = B. + dt.RowsnumOptionB.ToString(); lblOption_C.Text = C. + dt.RowsnumOptionC.ToString(); lblOption_D.Text = D. + dt.RowsnumOptionD.ToString(); lblQuestion.ForeColor = Color.Green; if (num %

50、 2 = 0) lblQuestion.ForeColor = Color.Black; 代码分析:本段代码是“开始考试”按钮单击事件。功能是:调用自定义类Question类的GetQuestion()方法,该方法的作用是建立数据库连接,将数据库Question表中的内容放在DataTable对象dt中,供自定义方法LoadQuestion()使用;加载第一题到窗体中显示;开始倒计时;调用自定义类DBHelper类中的ExecuteNoeQuery()方法,建立数据库连接,将Student表中的State更新为“1”,表示此考生状态为正在考试。4.7 成绩查询界面考生选择菜单项“考试管理-成绩

51、查询”后单击,即可进入成绩查询界面,如图4.7所示。成绩查询界面分为两块,左侧为考生考试记录,包括记录编号、考生姓名、成绩、考试日期;右侧为考试情况详细记录,包括试题内容、每道题的选择情况、是否正确等。考试单击左侧的一条考试记录,则右侧会显示对应的详细记录,如图4.8所示。图4.7 成绩查询界面核心代码:private void frmScoreSearch_Load(object sender, EventArgs e) DataTable dt = qt.GetQuestionHis(Global.studentid);lvHis.GridLines = true; lvHis.FullR

52、owSelect = true; lvHis.View = View.Details; lvHis.Scrollable = true; lvHis.MultiSelect = false; lvHis.HeaderStyle = ColumnHeaderStyle.Clickable; lvHis.Columns.Add(姓名, 55, HorizontalAlignment.Center); lvHis.Columns.Add(考试时间, 130, HorizontalAlignment.Center); lvHis.Columns.Add(分数, 45, HorizontalAlignm

53、ent.Right);ListViewItem itme; for (int i = 0; i dt.Rows.Count; i+) itme = new ListViewItem(); itme.SubItems.Clear(); itme.Tag = dt.Rowsihisid.ToString(); itme.Text = dt.Rowsistudentname.ToString(); itme.SubItems.Add(dt.RowsidateStr.ToString(); itme.SubItems.Add(dt.Rowsiscore.ToString(); lvHis.Items.

54、Add(itme); 代码分析:本段代码是“成绩查询界面”的加载事件。功能是:调用自定义类Question类的GetQuestionHis()方法,建立数据库连接,获取该考生的考试历史记录详情表中的信息,并显示在窗体控件中。5 服务器端后台管理系统详细设计5.1 管理员登录界面此界面只对管理员用户开放。管理员类用户可以对试题库进行增加,删除,修改等操作。检查系统管理员用户在登录的时候输入值是否正确,然后给出相应的提示,确保只有系统注册的管理员才能登录,保证了系统运行的安全性。后台管理模块登录界面如图5.1所示。图5.1 管理员登录界面核心代码:private void btnOK_Click(

55、object sender, EventArgs e) try string username = txtUserName.Text.Trim(); string pwd = txtPwd.Text.Trim(); if (username=) MsgBox.InfoShow(请输入用户名!); txtUserName.Focus(); return; if (pwd=) MsgBox.InfoShow(请输入密码!); txtPwd.Focus(); return; if (new Admin().Login(username, pwd) new frmMain().Show(); this.Hide(); else MsgBox.InfoShow(您输入的用户名或密码不正确!); txtUserName.SelectAll(); return; 代码分析:此段代码是“登录”按钮单击触发事件。与考生登录界面设计相同,功能是:若输入的用户名为空,则弹出“请输入用户名!”对话框;若输入的密码为空,则弹出“请输入密码!”对话框;若用户名和密码均输入,则调用自定义的Admin类中的Login()方法,该

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!