防灾科技学院毕业设计 引言
当今社会是一个信息社会,计算机业飞速发展,从而也要求有更好、更完善的软件系统应用到远程教育当中去。远程教育包括很多环节例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。
目前,网络应用软件运行的模式主要有二类Browser/Web 和Client/server模式模式。考虑到B/S结构的数据处理同步方式带来的时间冗余、响应速度慢、功能弱化、无状态方式带来的会话控制成本,C/S结构数据处理速度快,能够完成个性化以及复杂应用的先天优势,并且数据处理很大一部分工作是在客户端完成,可以减轻服务器压力。C/S技术发展历史更为长久,技术更加成熟,C/S版本有着长时间的用户的成功的应用经验,而B/S是近几年才开始发展起来的。从而我开发了基于C/S模式在线考试系统,实现了用户注册、用户登录、随机出题、在线考试、自动判卷等功能,也就是说实现了真正的无纸化考试满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。
本文引言部分主要介绍了在线考试系统软件的背景,第一章对本课题进行概述,从课题研究的意义目的,研究中遇到的问题以及方案出发全面了解要设计的课题所要具有的功能,第二章系统分析,好的系统首先要做好充分的需求分析,从它的功能分析,数据的存
1
防灾科技学院毕业设计 储分析,可行性等多方面来分析整个系统,做好开发前的准备工作。第三章主要介绍了系统的详细设计部分,主要包括用户层的设计、系统功能的总体逻辑层次,设计要求、系统规划、数据存储设计。第四章介绍系统功能的实现,包括开发工具的介绍、注册模块的实现、登录模块的实现、考试模块的实现。其中考试模块又包含进入考试部分,查看分数部分、考试规则部分。第五章主要介绍系统的测试,包括运行环境,测试方案等。第六章讲解一下系统的部署情况,包括其所要求的软硬件环境要求及安装过程,论文最后是结论、致谢及参考文献。
2
防灾科技学院毕业设计 概述
1.1课题的意义、目的
在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着改革,而网络考试则是一个很重要的方向。基于Java技术的在线考试系统是传统考场的延伸,可以大大简化传统考试的过程。考生可通过姓名、准考证和口令进行登录,试卷可根据题库中的内容即时生成,可避免考前的压题,体现了对考生公平性;而且可以使用大量标准化试题,从而使用计算机判卷,体现了答案的安全性,大大提高阅卷效率。因此,采用在线考试系统将是以后考试发展的趋势。
为了将教师从繁重的试卷命题、批阅试卷、试卷分析等工作中解放出来,又免去印制纸质试卷、按考场分发试卷、纸质试卷保存等很多繁重工作,从而开发出本系统。本项目研究拟利用Java技术,在windows环境下,使用便于维护的文件式存储基于C/S模式为平台开发的一套在线考试系统,从而解决了上述繁琐的工作。
1.2研究中遇到的主要问题
1)怎样完成整个系统界面的设置与开发。
2)怎样用抖动窗口的形式提示考生用户名不存在以及密码输入错误。 3)怎样确保考生抽取不同的试题并且题目不可以重复出现在一张试卷中。 4)怎样进行考试倒计时。 5)怎样解决试卷的判题和出成绩。 6)怎样解决试题的存储与读取。 1.3研究方案 1)系统开发平台
本系统是在windows下开发,考虑到使用B/S结构时当网络不稳定会造成响应速度慢,使用C/S结构完成的在线考试系统,它不仅可满足用户的个性化设计,而且事务处理能力强大。采用MVC架构进行分层开发,使用Swing技术完成对界面的开发,包括登录界面、菜单界面、考试界面等等。
2)研究方法
本课题的研究方法是采用MVC分层设计模式,即“模型—视图表示—控制器”的思路
3
防灾科技学院毕业设计 来完成系统实现的。首先使用Swing技术完成对界面的开发,包括登录界面、菜单界面、考试界面等,然后对整个系统进行逐个模块开发工作;获取当前窗口的坐标,用一个Point实例来保存其x、y坐标,添加一个任务来周期性改变窗口坐标模拟晃动效果;将试题存储在questions集合中,从集合的随机下标中获取这个元素,同时将刚获取完的元素从集合中删除防止本套试题中出现相同的题目;用计时器Timer来进行考试的倒计时,时间到了之后强行交卷;将Question中的正确答案集合和用户答案集合进行equals然后保存用户正确题目的数量分数来得出成绩;编写一个共通的配置文件来解析user.txt文件以及question.txt文件信息,然后分别将其转化为User实例和Question集合并对其进行操作。
2.系统分析
2.1 需求分析
软件的需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素,即就是发现、求精、建摸、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第一步是尽可能了解当前用户的情况和需要解决的问题。
2.1.1 功能需求分析
本系统的用户可分为管理员和普通用户两类。
系统会自动判断用户的登录类型,根据用户的登录类型判断是普通用户还是管理员登录。
如果是管理员登录,系统会自动进入管理员界面,管理员可以对试题和用户进行管理,可以对试题库中试题进行修改和删除,添加试题等,同样也可以对用户进行相同管理。
如果是普通用户登录,即学生登录,会自动跳转到考试界面,学生可以根据考试界面的提示信息来进行答题,考生可以查看考试规则,选择开始答题,考生开始答题后计时器开始计时,考试根据随机出现的不重复题目来进行考试,当考试快要结束的时候,计时器会变动颜色来提示考生时间快要结束,时间结束之前考生可以自愿交卷,当时间结束之后,系统会提示考生考试时间已经结束,然后强制进行自动交卷,考试结束后系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩,并可以查看考试成绩,当考生结束考试之后,系统不会再让考生重新考试。
4
防灾科技学院毕业设计 2.1.2 数据存储分析
针对一般的系统可能会考虑选择用什么数据库来存储信息,例如本系统中,需要保存用户的信息,更需要保存试题的信息,由于考试系统需要保存大量的考试试题,因此我考虑用txt文件来存储相应的试题信息以及用户信息。
这种存储方式既便于操作又便于维护,但考虑到读写方式,不可以盲目存储,用共通的配置文件来解析用户文件以及试题文件信息,然后分别将其转化为对应的用户实例和试题集合并对其进行操作。
2.2 可行性分析
实用性原则:传统考试的弊端日益增多,在线考试也随之而产生,在线考试已渐渐被人们所接受,并有逐渐代替传统考试的趋势。考生通过用户名、口令进行登录,试卷可以根据题库中的内容即时生成,可避免考试前的压题,而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率,在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。
经济性原则:随着网络技术的发展,计算机软件技术的提高,硬件的性价比也在不断提高,建立适合在线考试系统用户自身需求的平台,提供广泛的涵盖用户多种需求的功能,数据处理方式灵活满足需求,并确保其较好的拓展性和开放性;与此做这些事的同时,其花费与传统的考试过程相比,大大节省了人力物力;同时能够自主的对系统中大部分内容作更新、修改操作,节省了老师学生的宝贵时间,提高了信息更新、传播效率。
扩充性原则:系统的整体规划及框架设计是具可扩充性的,系统在设计开发中充分考虑了移植、扩展的问题。这是每个系统都要考虑的重要问题,本系统是基于Java开发的,众所周知,Java平台将面向对象系统扩展成包括程序和数据的网络计算机(CN),而这个平台的核心就是java平台成为万能开发平台,实现了Java程序“编写一次,到处运行”。本系统用分层的设计方法设计,细化模块可以很好的解决将来系统扩展中不改变基本架构的同时增加功能。前台页面的设计能保证系统在更新后不会破坏系统的整体结构。
安全性原则:Java设计时对系统的安全,特别是网络安全做了周密的考虑,通过字节验证、内存调用方式、资源使用权限等进行多次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。由于Java垃圾收集器会做自动的垃圾收集(Garbage Collection),这里的垃圾指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动地管理,Java本身提供了许多面向对象的异常(Exccption)处理,所以程序在执行时期所发生的错误,都可以由程序自己来处理。
5
相关推荐: