基于web的在线考试系统的设计与实现毕业论文.doc_第1页
基于web的在线考试系统的设计与实现毕业论文.doc_第2页
基于web的在线考试系统的设计与实现毕业论文.doc_第3页
基于web的在线考试系统的设计与实现毕业论文.doc_第4页
基于web的在线考试系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于web的在线考试系统的设计与实现毕业论文目 录1 绪 论11.1 课题的来源及研究目的11.2 国内外研究概况及发展趋势11.3 研究内容31.4 主要技术简介31.5 预期设计目标51.6 本文的组织结构62 系统需求分析与设计72.1 问题描述72.2 可性行分析72.3 性能需求92.4 需求分析102.5 具体处理流程和功能需求133 系统数据库设计173.1 概念结构设计173.2 逻辑结构设计183.3 物理结构设计194 系统详细设计与实现214.1 主要界面设计214.2 各个模块功能设计245 总结与展望32参考文献33致 谢341 绪 论1.1 课题的来源及研究目的随着信息技术与网络技术的快速发展,计算机越来越多地应用到人们的实际生活当中,也扮演着越来越重要的角色。在我们教育飞速进步的今天,比较传统的纸质考试已经过时了,因为这不仅需要大量的人力物力去刻印试卷、还要去批改试卷,要花费大把大把的时间,更关键的是,在远程的教学教育中,不利于安排统一的考试,注定要被时代所淘汰。为了打破传统的考试模式,为了新形势的发展,把老师从繁重的工作中解脱出来,适应实现真正的无纸化的考试,使考试可以在任何地点进行,不受地域的限制,人们迫切要求利用计算机技术实现在线考试,以减轻教师的工作负担及提高工作效率,提高考试的质量,使考试更趋于公证。基于互联网的各种应用日益受到人们的重视,基于web的在线考试系统在这种形势下应运而生,它是伴随着网络技术和数据库技术的应用发展而诞生,可以利用网络,随时随地地对学生进行考试,是传统考试的延伸;另外,借助它可以有效利用校园网的资源,更好地为学校的教学管理服务1。其实,目前已有一些在线考试系统实现了这样的目标,如普通话考试、计算机等级考试等,都是网络考试系统的典型应用。但目前大部分高校仍采用传统的考试方式。因此,本课题拟基于B/S模式设计一个简单的在线考试系统。系统采用JSP来开发,后台采用MySQL作为数据库服务器,界面友好,操作简单。用户通过普通的Web浏览器即能完成出题、考试和自动阅卷等操作,简单快捷。通过使用该系统可以大大的提高考试的效率,减少人力、物力和财力的消耗。1.2 国内外研究概况及发展趋势随着计算机网络应用在中国的普及,越来越多的教育单位,包括大学、成人自考、中学等,越来越重视网络系统的应用,这就需要在线考试系统做的更好、更强大,才能够适应这样的变化,同时这项技术未来的发展前景也很好。其实,在信息爆炸的时代,传统的考试形式已经过时了,越来越多的教育单位选择网络考试。未来的高考、中考,也必将采取这种形式,这是大势所趋。因为,这种形式很灵活,更重要的是,它可以根据老师在事前的预设题库,自动生成一套试卷,而且老师可以直接在上面修改。这样考试的公平性、答案的安全性可以得到有效的保证2。 追本溯源,早在1996年底,国外开始出现支持网上教学的系统和平台。美国的NTU、英国的OPEN COLLEGE都是当时十分典型的网络教育示例。1998年后,随着国内网络教育的兴起,各高校纷纷开发了自己的网络教学平台,作为网络课程重要组成部分的在线考试系统也相继问世,例如:北京师范大学的网络教学平台、上海交通大学的网络考试平台等3。目前国内外的网络考试系统非常多,适用的网络环境也很广泛,通常按照以下三种情况分类:(1)按照用途来分:专用考试系统、固定科目的考试系统、通用考试系统。(2)按照考试系统的组卷方式来分:主要是有三种,一是将试题库当做试题集,出卷时由具有丰富经验的教师抽取;二是将试题库当做试题集,将已出好的试卷存储起来,组卷时抽取其中的一份;三是具有自动组卷功能的试题集,利用按照一定组卷规则生成试卷。(3)从结构上划分:主要有两类:C/S和B/S模式。以下介绍几个典型的网络考试系统,用以说明国内外对网络考试系统的研究状况4。 (1) 清华泰豪网络考试系统5 :它是一种多功能辅助教学系统,具有教学题库管理、自动试卷生成、自动成绩统计分析等多项功能。系统是全面网络化的多用户系统,试用的环境也非常广泛,资源也丰富,该系统主要的缺点是题型比较少,以选择题和填空题为主,系统使用复杂,需要安装相应的教学系统作为支撑。(2)清正一专业网络考试系统6:它是一款基于web方式的专业网络考试系统,完全免安装,可以适用于任何单位。它应用了最新的一门技术,微软公司生产的。它拥有一个庞大的数据库,清正一专业。它很可能是最好的支持英语题型的考试系统,而且完全基于web方式。 该考试系统较适合于英语考试,不易直接用于其他科目的考试系统之上。 众所周知,国外的各类计算机考试早已经非常成熟,而且已经投入使用,当然各类考试系统大量出现。美国心理协会特别针对这个,发布了关于如何开发,使用计算机化考试以及其他的考试,这项成果成为了考试系统开发者的标准之一。现在已经成功并投入使用的系统有很多,例如:ETS(美国教育考试中心)组织的“GRE”,这是大家都非常熟悉的,这个系统功能有时间控制,系统的安全性方面都是世界一流的。再比如,采用美国学院(在线教育方式)的American College考试。还有就是日本的“信息技术人员考试”7。目前,国外的很多大型测验出版机构,例如,英国Question Mark Computing,Ltd公司出品的Question Mark,就是一种基于项目项目反映理论的,可供广大教师使用的考试系统8。把视野放眼到国内,计算机考试系统和题库的理论研究和实践应用开展年头不长,但是发展可以说相当迅猛,在这方面的研究和开发活动呈现爆发式的增长。许多国外的高等院校都有在组织力量,致力于使用考试系统的研究和开发。自然,国内都有许多网上考试,国家教务组织的全国计算机等级考试。又比如国家教育组织的NIT 、ATC等这些知名的认证考试9。由于信息化的大力发展,国内各部门各公司都在进行信息化改革,逐渐要进入到大数据时代,这就意味着在线考试系统在国内拥有数量庞大的潜在用户,各种的通用性的在线考试系统也如雨后春笋般的一般出现,许多软件公司都有成功案例,例如E考天下网上学习考试系统等都在国内都是比较成功的案例。本文只列举少量的几个,其他系统这里不再赘述。它们统一的共同特点是:通常用于考生自测或网络教学系统。1.3 研究内容 本文的研究内容包括系统管理、考生管理、查询考生信息、在线制作试卷、控制学生考试等功能模块的设计。本论文主要介绍了系统的分析,设计开发的全部过程,通过对系统功能的分析、程序操作控制图设计等对系统设计过程进行详细的说明等等。本课题所研发的系统,采用软件工程的思想10,基于多层次系统结构进行开发。数据层设计包括数据库的建立等。本系统主要包括:(1) 系统的需求分析:需求分析主要是针对系统的目标、需求分析进行详细的分析与模块划分11。(2) 系统各功能模块的设计:这主要指的是系统从界面到核心代码的设计。其中,教师模块包括教师管理页面的设计、教师角色的添加、教师管理学生模块的设计、教师查看学生信息的设计等,管理员模块包括对学生和教师信息的管理,添加学生和管理教师模块的添加,学生模块包括学生的考试模块的设计、学生资料修改模块的设计。1.4 主要技术简介1.4.1 B/S结构模式在线考试系统的实现技术有两种,其中一种是采用传统的客户机/服务器(C/S)型的结构,即试题内容放在远程服务器上但是每次考试时要对机器进行安装、配置,这样一来考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响。另外一种考试系统采用Web 技术实现。web结构有着更好的安全性。在用户机上不需要安装任何应用程序,试题存放在数据库服务器上12。1.4.2 JSP技术JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:(1)将业务层与表示层分离;(2)能够跨平台 ;(3)一次编写,处处运行:作为JAVA开发平台的一部分,JSP具有JAVA的所有优点,包括Write once ,Run everywhere。1.4.3 Tomcat应用服务器在当下,Tomcat是其中较为流行的一个Web服务器。同时Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。另外Tomcat也提供了一个应用:manager,访问这个应用需要用户名和密码,用户名和密码存储在一个xml文件。通过这个应用,辅助于Ftp,你可以在远程通过Web部署和撤销应用。在本地也可以实现同样的功能。 Tomcat也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,它的处理静态Html的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越收到人们的重视。1.4.4 struts 技术struts的运行原理:(1)启动Tomcat,实例化actionServlet,执行init方法,读取struts-config文件;(2)客户端发出一个请求,以.do结尾,ActionServlet接管这个请求;(3)根据请求路径,找到对应的映射信息ActionMapping;(4)根据请求的路径,寻找对应的FormBean,在作用于scope的指定的范围根据name找到匹配的Form,如果不存在,就创建一个formBean,新建的form保存在一个hash表中,如果存在,就直接返回存在的form;(5)封装表单的数据到formbean中,验证表单的数据是否正确,如果不正确,根据Action的input属性跳转页面。1.4.5 Hibernate技术为什么用Hibernate技术?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任13。1.4.6 DAOFactory为什么使用DAOFactory技术?因为SQL漏洞的存在,我们不得不把HQL语句写死,这样的话,就产生了一种技术,DAO,Data Access Objects,它实际上是一种数据接口,实现了数据的增删改查。1.5 预期设计目标网上考试系统提供的是一种面向较广区域的用户群系统。它需要自身能够提供给不同区域的用户进行方便的访问及以及足够的安全性以及大量的考试数据信息。用户只需要拥有一台PC机,并能方便地接入Internet,便可实现在线的、实时性的在线考试服务。用户登陆系统主页,就可以根据用户权限登录到不同的主页面,这样不同的用户就可以享受到不同的服务。此时,对于本系统来说,学生的功能相对简单,在线考试、资料管理、退出系统等。教师的功能相对较多,比如可以管理学生。不同用户根据自己需求,进行自己的相应的操作。此过程需要用户通过系统向数据库提交试卷,经过系统自动的修改从而得到自己所得的分数,表明考试成功。学生在规定的时间段内可以考试,超过了时间就不能参加考试。在线考试系统最终实现的是学生参加考试、教师实现管理查看的功能。在线考试系统不仅能够提供譬如教师管理查看、学生考试等基本功能,对系统的输出要求是数据完整、详实、简捷、快速、实时。1.6 本文的组织结构本文将主要从以下几个部分进行阐述:第一章为绪论。概要介绍了基于Struts1+hibernate框架的在线考试系统的研究背景和在线考试系统的现状。第二章中主要介绍了系统的开发环境及开发工具,以及系统开发所选用的技术框架。 第三章主要对系统的目标、需求分析进行了详细的分析与模块划分,同时进行了用例设计。第四章主要对系统的数据库设计从概要到详细的全面设计与分析14。第五章在前文的需求分析与数据库设计基础上,对系统的各个功能模块以及子功能进行了具体实现。从界面与核心编码两个方面进行了介绍。第六章对系统进行了各个层次与方面的测试。并进行了改进。最后是总结和展望,总结本文的工作,并提出进一步深入研究、改进的一些构想。2 系统需求分析与设计随着近年来,经济迅速发展,计算机水平不断提高,人们已经不满足于在纸上考试,所以寻找一种更加方便、快捷,更重要的是,它会更加环保。以下这章就是对“在线考试系统”的开发过程。2.1 问题描述“基于Struts1+Hibernate框架的在线考试系统”的主要功能是帮助老师能够管理和了解学生的成绩,同时学生又能够在网上考试。让一切操作都在网上进行。节省了不少的纸张,同时很客观。传统的学校教学中,进行一场考试,都需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给学校和学生带来了众多的不便。而在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此在线考试必然是以后考试的趋势。在传统考试中,需要老师印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。那么在在线考试中,主要是实现考生在线考试、在线制作试卷、控制考试、自动评分、自动交卷、成绩查询、系统管理等功能,充分利用计算机网络技术,改变传统的考试操作方式,实现无纸化考试的模式15。其功能描述如下:(1) 学生注册模块16。学生可以在系统进行注册,将自己的信息保存到数据库中,实现学生的注册。(2)系统管理模块17。教师可以进行学生管理、试题管理、成绩管理、教师管理。(3)登录管理模块18。系统自动为每一个登录的人增加一项登录的记录。(4)学生查询考试模块19。学生可以自动查询考试信息。2.2 可性行分析2.2.1 分析目的(1) 要求功能:满足学生的在线进行考试、资料管理和教师后台数据维护等操作。(2) 目标人力与设备费用的减少;试卷批改速度的提高;管理信息服务的改进;更加环保;更加安全。(3) 权限管理1 教师2 学生3 管理员2.2.2 设计可行性该项目的总体的设计是MVC框架模式,由控制层、视图层、业务层构成。这种常用的开发模式,总体上来说对于一个开发者是没有难度的。这样的设计对系统的总体层次也划分的一清二楚,所以在设计上是可行的20。2.2.3 技术可行性图2.1 可行性分析图教师学生信息的管理修改和教师信息的管理MYSQL数据库jsp页面显示数据资料管理用户2在线考试用户1由于本管理系统的对象单一,仅仅只有两个对象,具体说是学生,教师。因此,这个管理系统比较适合采用数据库来设计和一些简单的框架设计。在计算机硬件和软件快速发展的今天,计算机硬件和软件已经远远满足本管理系统的要求。在数据库方面,很多优秀的数据库编程工具,如oracle,MYSQL都是非常好的,不仅安全,而且数据操作方便快捷21。本系统属于小型系统,采用MySQL数据库,功能强大,结构较复杂,工作量可由一到三个人完成,做为毕业论文,有足够的时间一个人完成,java、struts1、Hibernate、jsp,技术难度中等。2.2.4 操作可行性在进行需求分析时,就对可能的用户进行了调查,针对他们的情况,设计出合理的界面,使操作方式简单明了。本系统界面清爽简单,看上去很舒服。在加上本系统并不是很复杂,所以在操作方面不应有很大的问题22。2.3 性能需求为了保证系统能够长期、安全、稳定、可靠、高效地运行,本系统应该满足以下的性能需求。(1) 准确性和及时性系统处理的准确性和及时性是系统的必要性能。系统应能及时而且准确的根据用户权限及所输入的信息做出响应。由于本系统的在线考试功能对于整个系统的功能和性能完成有举足轻重影响,所以需要对学生的考试数据进行准确的保存,更关键的是,对时间的控制,所以的话,本系统的准确性和及时性很大程度上决定了系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性和及时性23。(2) 易用性本系统是直接面对用户的,而用户往往对计算机并不是非常熟悉。所以必须要求系统简单易用,有良好的用户接口,有比较清爽的人机交互页面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面,从而保证系统的易用性23。(3) 安全性在线考试系统中涉及到的数据是对于学校,或者是客户来说都是相当重要的信息,系统要保证用户的权限,只有老师才享有每一个学生成绩的查询权利等;系统还要提供方便的手段供系统维护人员进行数据备份、日常安全管理、以及系统意外崩溃时数据的恢复等工作。同时系统还要保证对数据库进行及时更新,保证数据一致性24。2.4 需求分析2.4.1 目标在线考试系统的总目标是:在计算机网络,数据库和现有的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的在线考试系统,实现学生的在线考试和教师的在线管理。这样的话,很环保,减少了人力和物力。这必将是未来的趋势。根据可行性研究的结果和客户的要求,分析现有情况及问题,采用B/S结构,将网上考试系统划分为前台页面和后台页面。2.4.2 系统的功能要求根据系统的需要,系统应当包含基本的功能有:用户注册、学生登录、教师登录、教师退出等。当学生需要考试时,学生首先登入网站,然后点击在线考试,选择考试科目,最后进行考试,然后会自动出成绩25。具体操作过程如。2.4.3 功能操作和角色(1)用例清单用例清单包括学生注册、学生登录、学生查看成绩单、学生进行考试、学生进行资料修改、学生退出,还包括教师登录、老师管理学生资料、教师管理考试科目和考试题、教师管理考试成绩、教师察看登陆日志、管理教师、教师退出26。具体的用例如表2.1所示。(2)角色清单角色清单包括已经注册的学生、教师、未注册用户、管理员。其中管理员可以管理学生和教师。具体角色清单如表2.2所示。 表2.2 角色清单角色名称角色描述注册学生成功注册系统的合法用户教师本系统的教师,同时管理系统 未注册用户未注册的本系统潜在学生用户管理员管理员可以管理教师和学生表2.1用例清单用例名称用例编号学生注册001学生登录002学生查看成绩单003学生进行考试004学生进行资料修改005学生退出006教师登录007老师管理学生资料008教师管理考试科目和考试题009教师管理考试成绩010教师察看登陆日志011管理教师012教师退出013本用例清单分为教师管理和学生操作两个模块。学生模块包括学生注册、学生资料管理、学生成绩查询。教师模块包括教师的添加、教师对学生的管理、教师对学生成绩的查询、教师对科目和试题的管理。当学生在线考试完毕后后,就可对分数进行统计,统计完成之后就要进行出入数据库操作,入库需要先提交到系统管理员审核,待审核通过后,管理员确认对产品的入库,成功后学生可以查询成绩信息;教师可以更改试题和它所对应的科目,还需要确定这个科目考试的有效时间,完成试题添加以后,学生才可以找到对应的科目进行考试。教师还可以添加其他管理员,实现对系统的管理与维护。教师还可以查看登录日志信息,其中这些登录信息包括登录失败的,也包括登录成功的。为了查询方便,管理员都能方便的查询考试的各种信息,能生成成绩表,极大的提高对学生管理的效率。 图22所示。2.4.4 功能操作和角色(1)用例清单用例清单包括学生注册、学生登录、学生查看成绩单、学生进行考试、学生进行资料修改、学生退出,还包括教师登录、老师管理学生资料、教师管理考试科目和考试题、教师管理考试成绩、教师察看登陆日志、管理教师、教师退出26。具体的用例如表2.1所示。(2)角色清单角色清单包括已经注册的学生、教师、未注册用户、管理员。其中管理员可以管理学生和教师。具体角色清单如表2.2所示。 表2.2 角色清单角色名称角色描述注册学生成功注册系统的合法用户教师本系统的教师,同时管理系统 未注册用户未注册的本系统潜在学生用户管理员管理员可以管理教师和学生表2.1用例清单用例名称用例编号学生注册001学生登录002学生查看成绩单003学生进行考试004学生进行资料修改005学生退出006教师登录007老师管理学生资料008教师管理考试科目和考试题009教师管理考试成绩010教师察看登陆日志011管理教师012教师退出013本用例清单分为教师管理和学生操作两个模块。学生模块包括学生注册、学生资料管理、学生成绩查询。教师模块包括教师的添加、教师对学生的管理、教师对学生成绩的查询、教师对科目和试题的管理。当学生在线考试完毕后后,就可对分数进行统计,统计完成之后就要进行出入数据库操作,入库需要先提交到系统管理员审核,待审核通过后,管理员确认对产品的入库,成功后学生可以查询成绩信息;教师可以更改试题和它所对应的科目,还需要确定这个科目考试的有效时间,完成试题添加以后,学生才可以找到对应的科目进行考试。教师还可以添加其他管理员,实现对系统的管理与维护。教师还可以查看登录日志信息,其中这些登录信息包括登录失败的,也包括登录成功的。为了查询方便,管理员都能方便的查询考试的各种信息,能生成成绩表,极大的提高对学生管理的效率。 图2.2 考试流程图2.4.5 需求规定本系统的主要输入项很少,主要是学生的考试功能。如学生信息的合法性等各种信息,要求有详细的信息,即让使用者可以了解到的信息尽可能的详细;还有系统安全方面的考虑,要保证系统的安全性。2.5 具体处理流程和功能需求2.5.1 处理流程结构系统的总体结构,包括学生的登录,教师的管理,管理员对学生和教师的管理,如图2.3所示:网上考试系统学生登录教师管理前台浏览页面学生注册页面 图2.3 系统总体结构(1)教师管理页面 教师管理包括对学生信息的管理、学生的添加、试题的管理、成绩的管理、登录管理、教师管理,管理员的操作流程如Error! Reference source not found.4所示:图2.4 教师管理功能图(2)学生在线考试(学生) 学生登陆包括资料管理、在线考试、成绩查询,退出系统。学生的考试功能图如图2.5所示。图2.5 学生考试功能图 (3)管理员管理员包括可以管理教师和学生。具体如图2.6所示。图2.6 管理员功能图(4)学生注册页面(学生)学生注册流程包括进入注册页面,然后进行资料填写,确定之后返回主页面。学生注册的操作流程如图2.7所示。图2.7 学生注册流程图2.5.2 功能需求整个功能需求包括三个功能模块。包括学生的登录功能,教师登录功能,注册功能。具体如表2.3、表2.4,表2.5所示。其中学生登录功能的要求是学生已经注册过,并且登录过。如果用户名和密码为空的话,登录不成功,只有当用户输入正确,并且在会话有效期内,才可以进入主页面。 表2.3 学生登录功能(001)用例编号001用例名称学生登录参与者已注册过的学生用例场景说明学生在操作前必须先登录前置条件系统启动后置条件可以开始执行基本操作基本事件流1,进入“登录页面”2,学生输入用户名和密码,验证码3,点击“登录”按钮4,登录成功进入“主界面”异常事件流若用户名或密码为空,若用户名和密码不正确,若该用户已经登录,并且在会话有效期内,非功能性需求用户密码最好要进行加密处理假设备注表2.4 教师登录功能(002)用例编号002用例名称教师登录参与者已经系统有的管理员用例场景说明教师,在操作之前必先登录前置条件无后置条件可以开始执行基本操作基本事件流1,进入“登录页面”2,教师输入用户名和密码,验证码3,点击“登录”按钮4,登录成功进入“主界面”异常事件流若用户名或密码为空,若用户名和密码不正确,若该用户已经登录,并且在会话有效期内非功能性需求用户密码最好要进行加密处理假设备注 表2.5 注册功能(003)用例编号003用例名称学生注册参与者未注册学生用例场景说明未注册用户在使用本系统前,需要先注册个人信息前置条件无后置条件可以执行登录操作基本事件流1,进入“注册页面”2,进行资料修改3,点击“注册”按钮4,注册成功弹出对话框提示,并进入“主界面”异常事件流若两次输入的密码不正确若当前用户已经注册过非功能性需求用户密码在保存和传输时需要加密假设备注3 系统数据库设计3.1 概念结构设计 该系统所采用的数据库是开源的MySQL数据库。数据表之间的关联关系没有建立,若之间有关系则是在表中建立相关字段,在页面进行输入控制。概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上5。描述概念模型的有力工具是E-R图。E-R模型是一个面向问题的概念模型,即用简单的图形方式(E-R图)描述现实世界中的数据。这种描述不涉及数据在数据库中表示和存取方法,非常接近人的思维方式。后来又提出了扩展实体联系模型(Extend Entity-Relationship Model),简称为“EER模型”。EER模型目前已经成为一种使用广泛的概念模型,为面向对象的数据库设计提供了有效的工具。本文要用E-R图来指定系统的数据库概念模型设计。本系统数据库需要表述的信息有以下几种:(1)考试记录信息(2)登录日志信息(3)选项信息(4)问题信息(5)成绩信息(6)科目信息(7)学生信息(8)老师信息本系统的数据库的E-R图如3.1所示。图3.1 系统E-R图3.2 逻辑结构设计概念结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的数据库管理系统所支持。为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一数据库管理系统所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构,并设计出用户子模式。这就是数据库逻辑设计所要完成的任务。数据库逻辑结构的设计分为两个步骤:首先将概念设计所得的E-R图转换为关系模型;然后对关系模型进行优化10。本在线考试系统当中包括了以上几个ER模型向关系模型的转换:考试记录表、选项表、问题表、科目表、成绩表、学生表、教师表、日志表。3.3 物理结构设计 在表中,关键字(即编号)都采用自动编号即(Increment)的数据类型;数据表的各个字段类型只采用int类型、char类型和varchar类型、decimal类型、datatime类型。各个表之间的关系我们不采用任何关系,采用的是建立相关字段,在页面输入项时强制规定用户的输入。数据设计具体如表3.1表3.8所示。表3.1 考试记录表编号字段名称字段类型字段说明1examrecordiddecimal主键2resultiddecimal成绩编号3questoniddeciment问题号4answervarchar答案表3.2 登录日志管理表编号字段名称字段类型字段说明1loginlogiddecimal主键2usernamevarchar用户名3successdecimal状态4isteacherdecimal角色5IPvarcharIP地址6logtimedatetime登录时间表3.3 选项表编号字段名称字段类型字段说明1optioniddecimal主键2questioniddecimal问题编号3contenttext内容表3.4 问题表编号字段名称字段类型字段说明1questioniddecimal主键2subjectiddecimal科目编号3contenttext内容4qtypedecimal问题类型5rightanswervarchar正确答案6sdatevarchar时间表3.5 科目表表表3.6 学生表编号字段名称字段类型字段说明1subjectiddecimal主键2namevarchar名字3timedecimal时间4statedecimal状态5introtext信息6statevarchar状态表3.6 学生表编号字段名称字段类型字段说明1studentiddecimal主键2usernamevarchar用户名3namevarchar名字4passwordvarchar密码5addressvarchar地址6sexvarchar性别7emailvarchar邮件表3.7 成绩表编号字段名称字段类型字段说明1resultiddecimal主键2subjectiddecimal科目编号3studentiddecimal学生编号4scoredecimal分数5starttimedatetime开始时间6endtimedatetime结束时间表3.8 教师表编号字段名称字段类型字段说明1teacheriddecimal主键2usernamevarchar姓名3passwordvarchar密码4 系统详细设计与实现4.1 主要界面设计在本网站中,主要设计了主登录界面、管理员页面、学生页面、学生注册页面。其中,根据页面设计的具体要求,主要使用了jsp技术,并配合相应的代码,来实现预期的功能。而且为了界面更美观,还特地用到了美图秀秀技术在背景和相关部位插入了图片。4.1.1 登录页面的实现在地址栏输入http:/localhost:8080/exams/index.jsp,进入网站登入界面,输入用户名与密码,并选择相应的身份进入网站。例如用户名:admin,密码:admin,身份:教师(用户名:admin,密码:admin,身份:教师),再输入相应的验证码,系统就会在后台根据这些信息调用相应的方法,然后进入正确的页面。简单验证从本质上说就是在服务端来验证客户端提交的form中的数据。这种验证只是对form中的数据规则进行检查,如必须输入用户名,密码必须正确。在这个验证过程中,并不需要访问数据库。因此,简单验证需要在用户提交form后,并且在服务器处理form中的数据之前进行。在进行完简单验证后,如果form中的数据不合法,程序就会forward到指定的JSP页(一般是包含form的页面),并显示相应的错误信息。如果form中的数据完全正确,程序就会继续执行。在这里如果不成功,就会跳到登录页面,重新登录。登录页面如图4.1所示。4.1.2 管理员页面的实现登录进教师的页面后,可以进行相应的操作。jsp发出请求提交给ActionServlet,ActionServlet把用户请求交给模块控制器RequestProcessor,模块控制器RequestProcessor把request请求的数据封装成ActionForm,调用对应的 Action,执行它的execute方法,execute方法调用业务逻辑进行处理,处理完返回一个ActionForward对象,最后把响应结果通过jsp展现给客户。jsp页面中用户通过填写数据库,再提交到不同actionForm中,actionForm提交到总的控制器ActionServlet,然后再提交到不同的Action,通过配置文件struts-config.xml以及Hibernate的配置文件与数据库中的数据进行实时的更新。管理员页面如图4.2所示。图4.1 登录页面图4.2 管理员主页面4.1.3 学生页面的实现学生登录后,根据相应的角色登录进来以后,可以查看资料、修改资料、在线考试、也可以进行相应的成绩查询。最后可以进行注销。在JSP项目中,我们经常需要进行一些JSP页面跳转,常用方法是跳转或者直接超链接,但是如果我们在Struts项目中使用这样的做法则在一定程度上违背了Struts框架,因为在Struts框架中要求每一个请求都通过中央控制器统一处理,以上两种方法则绕过了控制器直接进行网页间交互,在Struts框架中为统一符合Struts规范,提出了ActionForward类,客户端发送跳转请求通过控制器跳转27。学生页面如图4.3所示。图4.3 学生页面4.1.4 注册页面的实现当学生选择注册页面时,会进入到注册页面。注册页面内容有用户名、姓名、密码、性别、地址、Email。当用户输入相应的信息之后,用户会根据用户的填写进行对表单的验证,验证成功之后证明没有ActionError之后,数据是validate的之后,这些数据会通过ActionForm处理,通过Action,dao等与数据库进行连接。从而实现对数据的持久化操作。28如果验证不成功,就会跳到本页面进行重新填写。注册页面如图4.4所示。图4.4 学生注册主页面4.2 各个模块功能设计4.2.1 学生考试模块的实现(1)学生管理模块在教师输入用户名和密码,再输入验证码后,系统进行验证合法性,允许或拒绝登录,可以与学生在同一个界面上进行。系统验证用户名、密码的合法性,若合法则进入教师子系统,否则拒绝登录并提示教师拒绝登录的原因。每次登陆请求(输入的用户名,IP,老师或学生,是否登陆成功,时间,均保存在登录信息日志中,便于查看是否有人非法攻击。教师登录成功后,在浏览其他有权查看的页面时,不用再次输入用户名号和密码。禁止未登录的教师查看登录页面以外的其他功能页面29。学生管理模块包括对学生信息的查询、学生的增加、学生的修改、学生的删除。当然这个必须要教师登录成功的情况下才能用。学生管理页面如图4.5所示。图4.5 学生管理模块教师可以按照姓名来模糊查询,这时候用到的是HQL语句来查询,这个可以在控制台上看到这个语句,同时,教师也可以修改或是删除学生记录,这时候,先通过jsp页面填写相应的信息,同时要提交到相应的ActionForm,然后通过ActionServlet调用ActionForm,再通过配置文件struts-config.xml的配置文件。 如上图所示就是增加学生的action,执行它的execute方法,execute方法调用业务逻辑进行处理,处理完返回一个ActionForward对象,最后把响应结果通过jsp展现给教师。当教师要删除某学生时,系统会问是否真要删除这个学生。如果已经删除了,那么数据库保存的数据也将不复存在。同时显示页面还使用了分页技术30。(2)试题管理模块试题管理模块的jsp页面显示如图4.6所示。图4.6 试题管理图教师可以查看当前已有的试题,可以增加试题,可以删除试题,当然这一切都是在相应的科目里完成的。首先后台根据页面操作,接收到的默认参数,选择相应的action类(SubjectAction),调用相应的操作方法,得到该用户正确的信息。 然后后台会根据前台页面传过来的subjectid,调用相应的方法,(ActionForward后面紧跟的方法),对数据库中相应的用户进行修改状态参数,修改成功后调用query方法,跳转前台页面。页面利用Struts1标签读取后台的结果集,显示在页面上。当然科目里面的内容可以设置成中文,这功能模块的核心代码是:jdbc:mysql:/:3306/mysql1?useUnicode=true&characterEncoding=utf-8这属于一种强制类型转换,换句话说,就是强制将页面上的内容转换成中文。(3) 成绩管理模块成绩管理模块的页面显示为如图4.7所示。 图4.7 成绩管理页面在该模块中,教师实现对成绩的查询操作。比如教师选择科目是数学,选择用户名是xiaoli,后台会自动的调出来查询后的页面进行显示。某一用户的页面如图4.8所示。图4.8 成绩管理图Jsp页面利用表单向后台提交数据,将相应的数据封装成对应的实体类对象,该请求通过struts进行转发,简单方便。显示结果的话,可以按照科目、用户名、姓名、考试日期、考试成绩排序。教师点击察看详细信息,察看该次,这个考生答题历史纪录,包括题目id,所答答案,正确答案,是否正确,教师还可以删除,修改学生成绩。 (4) 登录管理模块登录管理模块的页面实现如图4.8所示。图4.9 登录管理图登录管理其实是一种日志管理,那么日志管理是显示一些用户或者管理员的操作行为,每当学生或者是教师进行某项操作时,系统就会自动进行记录,保存为一条记录。后台接收到页面请求,调用Dao查询数据库,利用Hibernate技术,获得数据结果集。页面将后台返回来的结果集以表格的形式显示在页面中,利用了struts标签、EL表达式。教师可以根据开始日期到结束日期进行查询,还可以根据学生或是老师进行不同角色的查询操作。当然也可以显示全部的登录日志。显示内容包括:显示输入的用户名,IP,老师或学生,是否登陆成功,时间。如何实现的?首先必须要建立一张登录日志表,然后需要建立一个javabean类,与数据库表的对应起来。然后再建一个接口ILogService,这个接口有四个待实现的方法,分别是teacherlogin、studentlogin、addlog、findLog、findLognum。再写一个接口的实现类(LogServiceImp):。为了增加分页功能,还必须写一个ILoginlogDAO,来实现IDAO,从而实现分页功能。(5) 教师管理模块教师管理模块的页面如图4.10所示。图4.10 教师管理图这个页这个页面主要实现对教师进行查看和增删改的功能。当然首先的条件是教师用户才有这个权限。用户先在jsp页面进行相应的操作,然后通过本页面的checkteacherform(this)提交到teacherForm,然后找到相应的Action(/teacher/admin/adddo),将根据接收到的参数调用相应的方法(add),然后调用相应的Dao来实现功能。实现数据的入库。最后返回教师管理页面。同理:删除教师也是同样的道理。但是前提条件是有两个用户及以上,不然会报错。(6) 退出系统模块:这个模块主要负责教师退出整个系统。前提条件是:已经登录的老师。后台通过jsp页面得到用户点击“退出系统”,通过struts找到相应的action类(TeacherLogoutAction)。4.2.2 学生考试模块的实现(1)资料管理模块资料管理模块的页面显示为如图4.11所示。图4.11 学生资料管理图学生在输入用户名和密码,系统进行验证合法性,允许或拒绝登录后,若合法则进入学生子系统并记录用户登录信息,否则拒绝登录并提示拒绝登录的原因。每次登陆请(输入的用户名,IP,老师或学生,是否登陆成功,时间),均保存在登录信息日志中。学生登录成功后,在浏览其他有权查看的页面时,不用再次输入用户名和密码。学生在登陆成功后选择资料管理后,可以进行资料的修改,包括密码等在控制台可以看到相应的HQ

温馨提示

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

评论

0/150

提交评论