基于java的在线考试系统设计与实现--毕设论文.doc

上传人:可****阿 文档编号:93369969 上传时间:2023-07-03 格式:DOC 页数:63 大小:860.54KB
返回 下载 相关 举报
基于java的在线考试系统设计与实现--毕设论文.doc_第1页
第1页 / 共63页
基于java的在线考试系统设计与实现--毕设论文.doc_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《基于java的在线考试系统设计与实现--毕设论文.doc》由会员分享,可在线阅读,更多相关《基于java的在线考试系统设计与实现--毕设论文.doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、防 灾 科 技 学 院毕 业 设 计题目基于Java的在线考试系统的设计与实现学生姓名学号系 别 灾害信息工程系 专 业计算机科学与技术 班级 开题时间 答辩时间指导教师职 称 58基于Java的在线考试系统的设计与实现作 者:魏增丽指导老师:白灵摘要: 随着高校的信息化建设进程日益深入,计算机网络技术的飞速发展,高校校园网建设的逐步完善,传统的考试方式已经不能适应现代化考试的需要。开发基于Java的在线考试系统,通过此软件可以实现多学科网上在线考试,既能把教师从繁重的试卷命题、批阅试卷、试卷分析等工作中解放出来,又免去了印制纸质试卷、按考场分发试卷、纸质试卷保存等很多繁重工作,而且提高了试卷

2、的保密性。本文设计了基于C/S模式,采用了易于维护的文件来存储试题和用户,服务器采用Java组件构成的考试系统,它运用方便、操作简单,效率很高。也就是说实现了真正的无纸化考试,满足考生随时随地考试并迅速获得成绩,大大减轻了教师出题、组卷和改卷等繁重的工作量。关键词: 在线考试;客户/服务器模式;文件存储The design and implementation of online examination system based on JavaAuthor:WEI Zeng-liInstructor:BAI LingAbstract: As colleges and universities

3、information construction process is becoming more and more deeply,the rapid development of computer network technology,campus network construction of colleges and universities gradually improve,the traditional examination way already can not adapt to the need of modern test。Development of on-line ex

4、amination system based on Java,by this software can realize multidisciplinary online exam,can the teachers from the onerous paper proposition, marking examination papers, papers and tests, analysis, and was relieved from the printed paper-based test, according to the test venue distribution examinat

5、ion paper, paper-based test to save a lot of hard work,and improve the confidentiality of the test paper。In this paper, based on C/S mode is designed,adopted the file to store the test question and the user easy to maintain,server using Java components of the test system,is it convenient to use, sim

6、ple operation, high efficiency。That is the real paperless examination,meet the candidates and quickly obtain test anytime and anywhere,greatly reduced the teacher, group volume and change the questions such as heavy workload。Key words: The online test;C/S mode;File storage目 录引言1概述31.1课题的意义、目的31.2研究中

7、遇到的主要问题31.3研究方案32.系统分析42.1 需求分析42.1.1 功能需求分析42.1.2 数据存储分析52.2 可行性分析52.3 技术分析63.系统的详细设计93.1用户层的设计93.2系统功能的总体逻辑层次93.3设计要求103.3.1 系统稳定性103.3.2 数据的安全性103.3.3 系统健壮性103.4系统规划113.4.1 系统功能结构图113.4.2 系统流程图113.5数据存储的设计123.5.1用户信息存储133.5.2试题信息存储144.系统功能实现154.1 开发工具介绍154.2 登录模块的实现164.4 考试模块的实现254.4.1 进入考试管理324.

8、4.2 自动判卷管理434.4.3 查看分数管理454.4.4 考试判别管理464.4.5 考试规则管理505.系统测试535.1运行环境535.2测试方案535.2.1 等价类划分法535.2.2 系统测试54总结55致谢56参考文献57防灾科技学院毕业设计引言当今社会是一个信息社会,计算机业飞速发展,从而也要求有更好、更完善的软件系统应用到远程教育当中去。远程教育包括很多环节例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要

9、经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教

10、师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来。目前,网络应用软件运行的模式主要有二类Browser/Web 和Client/server模式模式。考虑到B/S结构的数据处理同步方式带来的时间冗余、响应速度慢、功能弱化、无状态方式带来的会话控制成本,C/S结构数据处理速度快,能够完成个性化以及复杂应用的先天优势,并且数据处理很大一部分工作是在客户端完成,可以减轻服务器压力。C/S技

11、术发展历史更为长久,技术更加成熟,C/S版本有着长时间的用户的成功的应用经验,而B/S是近几年才开始发展起来的。从而我开发了基于C/S模式在线考试系统,实现了用户注册、用户登录、随机出题、在线考试、自动判卷等功能,也就是说实现了真正的无纸化考试满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。本文引言部分主要介绍了在线考试系统软件的背景,第一章对本课题进行概述,从课题研究的意义目的,研究中遇到的问题以及方案出发全面了解要设计的课题所要具有的功能,第二章系统分析,好的系统首先要做好充分的需求分析,从它的功能分析,数据的存储分析,可行性等多方面来分析

12、整个系统,做好开发前的准备工作。第三章主要介绍了系统的详细设计部分,主要包括用户层的设计、系统功能的总体逻辑层次,设计要求、系统规划、数据存储设计。第四章介绍系统功能的实现,包括开发工具的介绍、注册模块的实现、登录模块的实现、考试模块的实现。其中考试模块又包含进入考试部分,查看分数部分、考试规则部分。第五章主要介绍系统的测试,包括运行环境,测试方案等。第六章讲解一下系统的部署情况,包括其所要求的软硬件环境要求及安装过程,论文最后是结论、致谢及参考文献。概述1.1课题的意义、目的在网络技术逐渐渗入社会生活各个层面的今天,传统的考试方式也面临着改革,而网络考试则是一个很重要的方向。基于Java技术

13、的在线考试系统是传统考场的延伸,可以大大简化传统考试的过程。考生可通过姓名、准考证和口令进行登录,试卷可根据题库中的内容即时生成,可避免考前的压题,体现了对考生公平性;而且可以使用大量标准化试题,从而使用计算机判卷,体现了答案的安全性,大大提高阅卷效率。因此,采用在线考试系统将是以后考试发展的趋势。为了将教师从繁重的试卷命题、批阅试卷、试卷分析等工作中解放出来,又免去印制纸质试卷、按考场分发试卷、纸质试卷保存等很多繁重工作,从而开发出本系统。本项目研究拟利用Java技术,在windows环境下,使用便于维护的文件式存储基于C/S模式为平台开发的一套在线考试系统,从而解决了上述繁琐的工作。1.2

14、研究中遇到的主要问题1)怎样完成整个系统界面的设置与开发。2)怎样用抖动窗口的形式提示考生用户名不存在以及密码输入错误。3)怎样确保考生抽取不同的试题并且题目不可以重复出现在一张试卷中。4)怎样进行考试倒计时。5)怎样解决试卷的判题和出成绩。6)怎样解决试题的存储与读取。1.3研究方案1)系统开发平台本系统是在windows下开发,考虑到使用B/S结构时当网络不稳定会造成响应速度慢,使用C/S结构完成的在线考试系统,它不仅可满足用户的个性化设计,而且事务处理能力强大。采用MVC架构进行分层开发,使用Swing技术完成对界面的开发,包括登录界面、菜单界面、考试界面等等。2)研究方法本课题的研究方

15、法是采用MVC分层设计模式,即“模型视图表示控制器”的思路来完成系统实现的。首先使用Swing技术完成对界面的开发,包括登录界面、菜单界面、考试界面等,然后对整个系统进行逐个模块开发工作;获取当前窗口的坐标,用一个Point实例来保存其x、y坐标,添加一个任务来周期性改变窗口坐标模拟晃动效果;将试题存储在questions集合中,从集合的随机下标中获取这个元素,同时将刚获取完的元素从集合中删除防止本套试题中出现相同的题目;用计时器Timer来进行考试的倒计时,时间到了之后强行交卷;将Question中的正确答案集合和用户答案集合进行equals然后保存用户正确题目的数量分数来得出成绩;编写一个

16、共通的配置文件来解析user.txt文件以及question.txt文件信息,然后分别将其转化为User实例和Question集合并对其进行操作。2.系统分析2.1 需求分析软件的需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素,即就是发现、求精、建摸、规格说明和复审的过程。为了发现用户的真正需求,首先应该从宏观角度调查、分析用户所面临的问题。也就是说,需求分析的第一步是尽可能了解当前用户的情况和需要解决的问题。2.1.1 功能需求分析本系统的用户可分为管理员和普通用户两类。系统会自动判断用户的登录类型,根据用户的登录类型判断是普通用户还是管

17、理员登录。如果是管理员登录,系统会自动进入管理员界面,管理员可以对试题和用户进行管理,可以对试题库中试题进行修改和删除,添加试题等,同样也可以对用户进行相同管理。如果是普通用户登录,即学生登录,会自动跳转到考试界面,学生可以根据考试界面的提示信息来进行答题,考生可以查看考试规则,选择开始答题,考生开始答题后计时器开始计时,考试根据随机出现的不重复题目来进行考试,当考试快要结束的时候,计时器会变动颜色来提示考生时间快要结束,时间结束之前考生可以自愿交卷,当时间结束之后,系统会提示考生考试时间已经结束,然后强制进行自动交卷,考试结束后系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩,

18、并可以查看考试成绩,当考生结束考试之后,系统不会再让考生重新考试。2.1.2 数据存储分析针对一般的系统可能会考虑选择用什么数据库来存储信息,例如本系统中,需要保存用户的信息,更需要保存试题的信息,由于考试系统需要保存大量的考试试题,因此我考虑用txt文件来存储相应的试题信息以及用户信息。这种存储方式既便于操作又便于维护,但考虑到读写方式,不可以盲目存储,用共通的配置文件来解析用户文件以及试题文件信息,然后分别将其转化为对应的用户实例和试题集合并对其进行操作。2.2 可行性分析实用性原则:传统考试的弊端日益增多,在线考试也随之而产生,在线考试已渐渐被人们所接受,并有逐渐代替传统考试的趋势。考生

19、通过用户名、口令进行登录,试卷可以根据题库中的内容即时生成,可避免考试前的压题,而且可以采用大量标准化试题,从而使用计算机判卷,大大提高阅卷效率,在线考试还能充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重中做中解脱出来。经济性原则:随着网络技术的发展,计算机软件技术的提高,硬件的性价比也在不断提高,建立适合在线考试系统用户自身需求的平台,提供广泛的涵盖用户多种需求的功能,数据处理方式灵活满足需求,并确保其较好的拓展性和开放性;与此做这些事的同时,其花费与传统的考试过程相比,大大节省了人力物力;同时能够自主的对系统中大部分内容作更新、修改操作,节省了老师学生的宝贵时

20、间,提高了信息更新、传播效率。扩充性原则:系统的整体规划及框架设计是具可扩充性的,系统在设计开发中充分考虑了移植、扩展的问题。这是每个系统都要考虑的重要问题,本系统是基于Java开发的,众所周知,Java平台将面向对象系统扩展成包括程序和数据的网络计算机(CN),而这个平台的核心就是java平台成为万能开发平台,实现了Java程序“编写一次,到处运行”。本系统用分层的设计方法设计,细化模块可以很好的解决将来系统扩展中不改变基本架构的同时增加功能。前台页面的设计能保证系统在更新后不会破坏系统的整体结构。安全性原则:Java设计时对系统的安全,特别是网络安全做了周密的考虑,通过字节验证、内存调用方

21、式、资源使用权限等进行多次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。由于Java垃圾收集器会做自动的垃圾收集(Garbage Collection),这里的垃圾指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动地管理,Java本身提供了许多面向对象的异常(Exccption)处理,所以程序在执行时期所发生的错误,都可以由程序自己来处理。2.3 技术分析本课题采用C/S开发模式,运用java语言J2SE版本开发,充分利用java语言的面向对象特点及其跨平台性,采用MVC分层设计模式,即“模型视图表示控制器”的思路来完成系统实现的。Java平台是一种纯软件平台,它有

22、三个版本Java SE、JavaEE、Java ME。Java SE(Java Platform,Standard Edition)这个版本以前叫做J2SE,后来版本号从1.4直接跳到5.0,其实也就是1.5,所以就叫成Java SE 5.0。目前Java开发人员使用较多的版本是5.0,当然还有Java SE 6.0这个更新的版本。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE还包含了支持Java Web服务开发的类,并为Java EE这个版本提供基础。一、Java语言与其他语言比较,具有以下特点:(1) 简单性 Java继承了C/C+的语法,丢

23、弃了其中不常用又容易引起混淆的功能,特别是非面向对象的内容,取消了C语言的结构、指针、#define语句、多重继承、全局变量和函数、GOTO语句、操作符重载、自动类型转换等等。(2) 面向对象Java是一种纯面向对象的语言,具有封装、继承和多态的特性,无全局变量或函数,可以被用于面向对象这种现代软件工程。(3) 分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URI,打开并访问网络上的对象,象本地一样。(4) 解释型 Java写成的源代码需要被编译成高阶的字节码,它们与机器架构无关。然后,这种字节码在任何Java的运行环境中由Java虚拟机解

24、释执行,保证了Java的与平台无关性和可移植性。解释执行与及时编译技术(JIT)的完美结合,提供了相当高的运算性能。(5) 多态的支持 Java 是一种非常注重对象形态转换的语言,所以在编译时期就会做形态转换检查,在执行时期,Java也会做一些形态上的检查。(6) 垃圾收集和异常处理由于Java垃圾收集器会做自动的垃圾收集(Garbage Collection),这里的垃圾指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动地管理,Java本身提供了许多面向对象的异常(Exccption)处理,所以程序在执行时期所发生的错误,都可以由程序自己来处理。(7) 安全性Java设计时对系统

25、的安全,特别是网络安全做了周密的考虑,通过字节验证、内存调用方式、资源使用权限等进行多次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。二、Java的技术平台:Java不仅是一种语言,更重要的是一种区别于传统系统,遵循“网络就是计算机”信条的平台技术。Java平台将面向对象系统扩展成包括程序和数据的网络计算机(CN),而这个平台的核心就是java平台成为万能开发平台,实现了Java程序“编写一次,到处运行” 9。Java虚拟机(JVM)是一种抽象化的计算机,可以再上面执行Java的字节码。它本身的设计原则是“小而简单”,目的是为了尽可能在所有的机器上都能安装。这样的精简原则,使得

26、它能够在现有的各种平台上都可以顺利执行,适合各种网络的环境10。Java 的技术平台的工作原理:第一步:Java用一个编译器将资源程序代码(.java)转换成可执行程序(.class),Java编译器生成的独立于处理器结构的字节码。第二步:字节代码用一个Java虚拟机(JVM)来执行,JVM是理想化的Java处理芯片,通常是在软件上实现而不是在硬件上实现11。三、C/S与B/S结构的选择:考试系统的研究方向主要是围绕以Client/Server(C/S)模式或Browser/Server(B/S)模式开发进行研究。C/S模式考试系统常用于局域网范围内的考试。考试前,先在客户机安装客户端软件,客

27、户端软件遵循相关协议连接至服务器端10。客户端发送考试请求后,由服务器把相关的考卷传送回客户端13。B/S模式网络应用程序技术是考生在客户端通过浏览器向服务器发送考试请求,服务器将相关考卷发送至客户端浏览器。C/S结构(Client/Server的简称,客户机/服务器模式)。在上个世纪八九十年代以及八九十年代初期已经得到了大量应用,最直接的原因是可视化开发工具的推广。最初为两层结构,随着技术的进步以及应用的需要,逐步的向三层结构发展。C/S结构的优点:(1) 响应速度快。C/S结构是客户端与数据库直接相连,没有中间环节,因此响应速度快。(2) 软件设计个性化,可满足用户个性化的需求。因为C/S

28、机构有着自己的客户端,在客户端的设计上,可以根据客户的需求进行个性化的设计,可以满足客户复杂的个性化需求。特别是在操作界面、报表工具等方面。(3) C/S结构充分利用客户端的硬件设施,将很多的数据处理工作在客户端完成,故数据处理能力比较强大,对一些复杂的业务流程,也容易实现。同时,C/S结构也有它的缺点:1、分布能力差。成也萧何,败也萧何,因为有客户端的安装带来的一系列个性化的方便的同时,也造成了在系统部署时,对每一个用户都要安装客户端才能进行使用,如用户数量庞大分布广泛的话,此时给部署带来及大的不便。2、维护成本高昂由于客户端数量庞大,对系统的维护和升级都是很大的考验。 3、跨平台使用难以实

29、现 C/S系统如果需跨平台使用,必须重新开发在其系统平台下的客户端才能使用。B/S结构(Browser/Server的简称,浏览器/服务器)。是相对于C/S的登录方式的不同而命名的。是一种终端只是用来显示和接受输入,所有的数据存储、计算、格式化以及页面代码的生产都是在WEB服务器上。B/S结构的优点:1、分布性广,灵活方便 只要有浏览器并且能够上网就能够登陆服务器进行信息的处理、采集工作。不受客户端的限制。2、维护简单方便 只要在服务器端进行配置就可以完成部署。如需升级,也只要在服务器端进行维护,客户端就自动登录最新的系统。同时,B/S结构仍有它的缺点:1)数据处理同步方式带来的时间 余 WE

30、B是以一问一答(request/response)的方式来完成信息交互的,并且是同步方式。如果有一问而没一答,我们就必须等待,等待答复完成才提出下一问。举个大家最为常用的 电子邮件的例子,在使用web邮箱时,你写完一封邮件提交,只有当此邮件提交完成,页面刷新到 邮件提交已完成时,你才可以进入下一封邮件的书写,如遇到网络问题,前期的工作还有可能全部重新来过。而使用本地邮件客户端(如outlook)书写邮件完成后,你可以按一下发送按钮,然后继续下一封邮件的书写,让客户端自行在后台完成邮件发送任务。先满足你书写下一封邮件的需求,邮件的提交至少不需要马上,而可以在后台自动处理完成。2)响应速度慢 页面

31、的动态更新,响应速度明显降低。主要原因是在数据传输的过程中不仅要传输所处理文件的文件,还要同步传输页面的布局等界面控制信息。3、功能弱化 B/S模式下很难实现个性化的需求,对一些在C/S下很容易实现的功能,如报表工具等,在B/S下很难实现。3)功能弱化 B/S模式下很难实现个性化的需求,对一些在C/S下很容易实现的功能,如报表工具等,在B/S下很难实现。4)无状态方式带来的会话控制成本 在浏览静态页面时,各个静态页面并不构成一个需要前后关联的事务,因此不需要保存当前页面的状态,这好比你可以在一本书前后页随便翻阅。而一旦前后处理有着明确的逻辑程序,服务器在保存数据的同时还要保存用户的状态(到逻辑

32、的那一步),开发人员要精心设计提交的次序及信息的完整性,大费周章的进行控制。而对C/S而言,只需全部完成后提交即可。在线考试系统的开发首先考虑到数据的安全性和程序的方便性,该系统没有采用B/S模式而采用C/S模式13。因为B/S模式不易实现考试时间的自动控制,提交试题的时候如果服务器忙则可能会造成服务器长期没有响应,或数据丢失。而采用C/S模式则比较易于控制,而且数据可以反复提交直到提交成功,从而确保考生答案能够被提交到服务器14。3.系统的详细设计3.1用户层的设计项目实施之前,我们对用户的工作方式、业务流程和管理模式进行了比较详细的了解和细致的分析,从总体上进行把握,再就工作流程和需求等细

33、节问题上进行多次的相互交流,并得到用户的认可。为了便于管理和开发,对于整个系统来说,现在我们在集中形成的用户界面上体现的主要功能为: 登录模块、题目管理模块、成绩管理模块、用户管理等。3.2系统功能的总体逻辑层次本课题采用C/S开发模式,采用MVC分层设计模式,即“模型M视图表示V控制器C”的思路来完成系统实现的。视图:数据的展现。视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。模型:应用对象。模型是应用程序的主体部分。

34、 模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。 当用户单击视图层页面中的提交按钮来发送数据时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。3.3设计要求 3.3.1 系统稳定性在线考试系统的用户数随着学生的日益增大而越来越多,在线考试系统对于学校管理和学生实践工作至关重要。那么在设计该系统时,很重要的一个问题就是系统的长期稳定运行。我们对于系统的启动、运行和监控等各个环节

35、可能出现的不稳定因素给予充分的考虑,以确保不影响单位的日常工作。3.3.2 数据的安全性在线考试系统中的业务数据信息是非常重要的。数据安全性是本系统需要着重考虑的另一个问题,要确保数据完整性和一致性,要确保数据经常性的备份,即使数据意外遭破坏,也要能及时恢复,而不能要人工把原始的大量的数据重新输入一遍。因此要在技术上采取一定的技术手段和措施来保证数据的安全性。Java设计时对系统的安全,特别是网络安全做了周密的考虑,通过字节验证、内存调用方式、资源使用权限等进行多次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。3.3.3 系统健壮性在线考试系统需要长期稳定地运行,用户在日常的工

36、作中要进行各种各样的操作,而操作水平参差不齐,难免会产生各种各样的误操作和错误,这就打破了本系统的正常运行流程,可能导致预想不到的后果。因此,在本系统的设计过程中,我们将预先考虑各种各样的误操作及后果,采取相应的预防措施,确保不产生灾难性的后果,保证系统的健壮性。3.4系统规划在线考试系统由登录模块、题目管理模块、成绩管理模块、用户管理等组成。3.4.1 系统功能结构图在线考试系统模块如图3-4-1。图3-4-1 在线考试系统能模块图3.4.2 系统流程图根据整个系统的总体结构,画出如图3-4-2在线考试系统流程图。图3-4-2 在线考试系统流程图3.5数据存储的设计无论做什么系统,都要存储相

37、应的数据,数据库的种类选择很多,如SQL Server,MySQL,Oracle,BD2等等,但本系统所用的数据存储方式为文件来存储数据,考虑到存放试题的数量比较大,文件存储数据易于维护等,所以采用txt文件来存储数据,设置一些数据的存放格式来保存在文件中,对文件进行读写操作。一、不管是对用户信息还是对试题信息的存储,其存储结构都要遵守如下特点:(1)能真实充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(3)易于更改,应用环境和应用要求改变时,容易对概念模型修改和扩充。

38、(4)易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。根据以上得到的数据项和数据结构,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。二、设计任何一张表都要遵守它的关系模式,如下:1. 一个实体型转换为一个关系模式的集合。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:2. 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。3. 一个1:N联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。4. 一个M:N联系转换为一个关系模式,与该联系相连的

39、各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。5. 三个或三个以上实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。3.5.1用户信息存储用户信息的实体基本属性如下图:图3-5-1用户实体属性图当用户登录考试系统时,上图为用户登录时所用到的一些基本信息,在文件中存储用户的数据时,还包括用户的电话号码,用户的邮箱等详细信息。为了便于读写,在文件中应该用相应的格式来区别每个字段属性之间的连接,如本系统中用“:”号来区分每个字段,例如存储一条用户的基本信息为,1001(编号):张三(

40、姓名):1234(密码):15652496622(电话):zhangsan(邮箱)。3.5.2试题信息存储试题信息的实体基本属性如下图:图3-5-2试题实体属性图试题的存储同样与用户的信息存储一样,在文件中存储用户的数据时,也要根据相对应的格式来存储,以遍于对文件读取的操作,比如每道题目之间用“”来区分,举个例子来说明一下,如下:指出下面语句没有编译错误的是:(题目)long n = 999999999999;(选项A)int n = 999999999999L;(选项B)long n = 999999999999L; (选项C)double n = 999999999999;(选项D)ans

41、wer=1/2(答案,表示本题的答案为BC),score=5(本题目的分数为五分),level=4(本题目的难度级别为4)下列关于数组的声明错误的是: (题目)int arry = new int100; (选项A)int3 arry = 1,2,3;(选项B)int arry = new int1,2,3;(选项C)int arry = new int3; (选项D)answer=0/1/2(答案,表示本题的答案为ABC),score=5(本题目的分数为五分),level=3(本题目的难度级别为3)4.系统功能实现4.1 开发工具介绍该考试系统主要采用Java语言、文件存储以及Myeclip

42、se等技术和软件。整体设计遵循软件工程的方法,经过需求分析、总体设计、文档代码的编制、模块测试和系统实现几个阶段。1.Java语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java是

43、由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java

44、应用编程接口(Application Programming Interface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无

45、关、可移植、高性能、多线程和动态的语言。2.txt文件存储数据Txt是微软在操作系统上附带的一种文本格式,是最常见的一种文件格式 ,早在DOS时代应用就很多,主要存文本信息,即为文字信息,在微软在操作系统等于直接存,就是它了,现在多用的操作系统得使用记事本等程序保存,大多数软件可以查看,记事本,浏览器等等。用txt文件来保存数据,易于存储,便于维护。3.Myeclipse开发工具MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEc

46、lipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目

47、前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013支持HTML5、JQuery和主流的Javascript 库。随着MyEclipse 2013支持Html5,你可以添加音频、视频和API元素到你的项目,从而为移动设备创建复杂的Web应用程序。你甚至还可以通过HTML5 可视化设计器设计令人难以置信的用户界面。同时,随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并添加动画效果到设计中。4.2 登录模块的实现用户登录由LoginFrame.java页面实现,它的代码实现文件由User.Java实体类,以及它的服务类来实现完成。用户登录是应用程序的主入口,用户只有通过该入口才能进入系统,登录时系统会自动判断身份。用户登录界面使用两个TextB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁