1、基于 B/S 的在线考试系统1湖北文理学院在线考试系统实 验 报 告专业班级: 软工 1512 姓 名: 学 号: 任课教师: 熊齐军 2018 年 1 月 4 日基于 B/S 的在线考试系统2目 录1 摘要 .32 引言 .43 开发方案 .53.1 问题的分析 .53.2 设计的目的 .53.2.1 系统的总体目标 .63.2.2 对教师的系统目标 .63.3 方案选择 .63.3.1 解决方案 .63.3.1.1 Web 应用程序开发 JSP 技术 .63.3.1.2 框架技术-SSM .63.3.1.3 Tomcat 应用服务器 .73.3.1.4 Mysql 数据库 .83.3.1.
2、5 B/S 开发模式 .84.系统需求分析 .94.1 任务概述 .94.2 功能需求概述 .94.3 各模块需完成的功能 .104. 4 运行环境 .115 系统设计 .125.1 指导思想 .125.1.1 B/S 结构开发思想 .125.2 系统总体结构设计 .135.2.1 系统的总体架构 .135. 2.2 软件系统设计原则 .135.2.3 数据存储的总体设计 .135. 2.4 系统总体功能结构设计 .145.3 系统详细设计 .145.3.1 系统结构设计 .145.3.2 数据库设计 .156 系统的实现 .176.1 数据库连接的建立 .146.2 各子系统模块程序设计举例
3、 .156.2.1 用户登陆的实现 .176.2.2 学生和教师身份验证 .186.2.3 学生考试的实现 .196.2.4 题目信息管理的实现 .246.2.5 题目包含的资源 .356.2.6 试卷的添加 .38基于 B/S 的在线考试系统36. 2.7 添加题目到试卷 .386.2.8 学生提交的试卷 .436.2.9 学生信息的显示 .506.2.10 项目基本结构 .536.3 小结 .547 结束语 .55摘要本文在第一章主要阐述在线考试系统的研究背景和研究意义,;第二章阐述了该系统的需求性分析,包括对系统的配置,系统所需要的功能和系统的需求分析;第三 章介绍了系统的体系结构和流程
4、图,各个功能模块的流程图和系统的模块流程图;系统的 E-R 图的结构;第四章对功能截了图,同时附带了相关的核心要代码,并且添加了相应注释。基于 Web 的在线考试系统 随着计算机及网络技术的飞速发展,Internet/Intranet 应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越 来越大,从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。 在众多的网络服务中,Web 给人耳目一新的感觉,而在这其中,JSP 技术和基于 Struts 框架技术则因为可以进行复杂的数据库操作、很强的交互性以及方便用户控制和管理备受青睐。 目前存在各级各类的考试,而它们的各种工
5、作主要还是依赖于手工完成,手工管理还存在这许多弊端,由于不可避免的人为因素,造成数据的遗漏、误报。计算机信 息化管理有着储存量大,速度快等许多优点,因此我们可以利用计算机网络,利用ASP 技术实现动态的管理。 随着计算机网络技术的进一步发展和普及,利用 JSP 技术开发的各种网络在线考系统必将大行其道。 关键字:JSP 技术;SSM ;在线考试系统基于 B/S 的在线考试系统4引 言现今,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。如微软的 MCSE、Cisco 的 CCNA 等。我们国家的自考或是成考,以及各省市的各种考试,现在都在朝着信息化的道路前进在走。我们相信在今后
6、这一系列的考试将会走向网络化考试的。这样才是符合信息发展的。所以我们考虑这是一个机会。我们要给不同的考试一个好的解决方案。 这个方案在技术上来讲我们是采用 B/S 模式。在 Windows 平台上,使用 chome 浏览器,完成制题、考试、交卷等考试任务。现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发
7、展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。由于时间,人员,以及我所掌握的技术问题,该系统仅仅人工出卷,考生考试,人工阅卷三个方向的问题。第一章、开发方案1.1 问 题 分 析传统的学校教学中,进行一场考试,要求老
8、师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众多的不便。而基于 B/S 的在线考试系统5在线考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程,因此在线考试是电子化教学的不可缺少的辅助手段。在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,
9、也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。1.2 设计目的1.2.1 系统的总体目标:1 在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数统计总结的所有工作。2. 所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。3 考试数据的存放和处理必须对考试保密,需要一定的安全性保障。对考试的系统目标:4. 这个软件是分布式的,这意味着只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完
10、成考试。5. 题目最好有一定的稳定性和随机性。稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。6. 考试的部分结果在考生考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由。1.2.2 对教师的系统目标:1. 提供一个功能全面的考核管理客户端,可以进行考试设计和安排。2. 通过管理客户端,教师可以进行考试的身份管理。3. 考生的考试结果可以被保存下来,供教师进行分析统计和察看。基于 B/S 的在线考试系统61.3 方案选择开发在线考试系统,提出以下解决方案:选择 JSP、JavaScript、Html 作为应用程序开发语言,采用 SSM
11、框架,运用Tomcat 服务器技术,并选择 mysql 作为后台的数据库,整个系统完全基于 B/S (Browser/Server)模式进行设计。1. Web 应用程序开发 JSP 技术JSP 的全称是 Java Server Pages,它是 SUN 推出的一种动态网页技术标准。它在传统的静态页面文件(*.html,*.htm)中加入 JAVA 程序片段和 JSP 标记,就构成了JSP 页面。JSP 具有以下的优点:1) 将业务层与表示层分离:使用 JSP 技术,网络开发人员可充分使用 HTML 来设计页面显示部分(如字体颜色等) ,并使用 JSP 指令或者 JAVA 程序片段来生成网页上的
12、动态内容;2) 能够跨平台:JSP 支持绝大部分平台,包括现在非常流行的 LINUX 系统,应用非常广泛的 Apache 服务器也提供了支持 JSP 的服务;3) 组件的开发和使用很方便:如 ASP 的组件是由 C+,VB 等语言开发的,并需要注册才能使用;而 JSP 的组件是用 Java 开发的,可以直接使用;4) 一次编写,处处运行:作为 JAVA 开发平台的一部分,JSP 具有 JAVA 的所有优点,包括 Write once , Run everywhere.2 框架技术-SSMssm 框架是 spring MVC ,spring 和 mybatis 框架的整合,是标准的 MVC 模式
13、,将整个系统划分为表现层,controller 层,service 层,DAO 层四层,使用 spring MVC 负责请求的转发和视图管理,spring 实现业务对象管理,mybatis 作为数据对象的持久化引擎。Spring MVC 工作原理:1.客户端发送请求到 DispacherServlet(分发器)2.由 DispacherServlet 控制器查询 HanderMapping,找到处理请求的 Controller基于 B/S 的在线考试系统73.Controller 调用业务逻辑处理后,返回 ModelAndView4.DispacherSerclet 查询视图解析器,找到 Mo
14、delAndView 指定的视图5.视图负责将结果显示到客户端Mybatis 的优缺点优点:SQL 写在 XML 中,便于统一管理的优化,提供映射标签,支持对象和数据库的orm 字段关系映射,可以对 SQL 进行优化。缺点:SQL 工作量大,mybatis 的移植性不好,不支持级联。为什么要用 spring?1.spring 能够很好的和各大框架整合2.spring 通过 IOC 容器管理了对象的创建和销毁 工厂模式(设计模式)3.在使用 hiberna 丶 mybatis 的时候,不用每次都编写提交事务的代码,可以使用spring 的 AOP 来管理事务3 Tomcat 应用服务器目前支持
15、JSP 的应用服务器是较多的,Tomcat 是其中较为流行的一个 Web 服务器,被 JavaWorld 杂志的编辑选为 2001 年度最具创新的 Java 产品,可见其在业界的地位。 Tomcat 是一个免费的开源的 Serlvet 容器,在 Tomcat 中,应用程序的部署很简单,你只需将你的 WAR 放到 Tomcat 的 webapp 目录下,Tomcat 会自动检测到这个文件,并将其解压。你在浏览器中访问这个应用的 Jsp 时,通常第一次会很慢,因为 Tomcat 要将Jsp 转化为 Servlet 文件,然后编译。编译以后,访问将会很快。Tomcat 也具有传统的 Web 服务器的
16、功能:处理 Html 页面。但是与 Apache 相比,它的处理静态 Html 的能力就不如 Apache。我们可以将 Tomcat 和 Apache 集成到一块,让Apache 处理静态 Html,而 Tomcat 处理 Jsp 和 Servlet。Tomcat 是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。4 Mysql 数据库MySQL 的优点: 基于 B/S 的在线考试系统81 它使用的核心线程是完全多线程,支持多处理器。 2 有多种列类型:1、2、3、4、和 8 字节长度自有符号无符号整数、FLOAT、DOUBLE、CHAR、VARCHAR、TE
17、XT、BLOB、DATE、TIME、DATETIME、 TIMESTAMP、YEAR、和 ENUM 类型。 3 它通过一个高度优化的类库实现 SQL 函数库并像他们能达到的一样快速,通常在查询初始化后不该有任何内存分配。没有内存漏洞。 4 全面支持 SQL 的 GROUP BY 和 ORDER BY 子句,支持聚合函数(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和 MIN()。你可以在同一查询中混来自不同数据库的表。 5 支持 ANSI SQL 的 LEFT 0UTER JOIN 和 ODBC。 6 所有列都有缺省值。你可以用 INSERT
18、插入一个表列的子集,那些没用明确给定值的列设置为他们的决省值。 7 MySQL 可以工作在不同的平台上。支持 C、C、Java、Perl、PHP、Python和 TCL API。5 B/S 开发模式伴随着 Internet 的迅速发展,计算机技术正在由基于 C/S(client/ Server)模式的应用系统转变为基于 B/S 模式的应用系统。过去,网络软件的开发都采用 C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:1) 系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分
19、别进行配置,同样,在软件升级时也要对客户端分别处理。2) 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。B/S 模式带来了巨大的好处:1) 开发成本及维护成本降低。由于 B/S 架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过基于 B/S 的在线考试系统9WWW 浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。2) 良好的安全性能,防火墙技术可以保证后台
20、数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过 DBMS 来访问数据库,从而大大减少了数据直接暴露的风险。第二章、 系统需求分析2.1 任务概述在线考试管理子系统主要实现题库管理、在线制作试卷、在线控制考试、教师评分(客观题部分)、自动交卷、考生管理、成绩查询、试卷管理等功能,充分利用计算机科学与技术,改变传统的考试操作方式,实现无纸化考试的模式。2.2 功能需求概述系统需要解决的主要问题在此系统中我们主要对前台考试系统的显示信息进行管理和设置。我将子系统分为以下功能模块:图 2.1 系统总结构图题库管理:用于对单个试题的增、删、改、查等基本维护。考试管理:教师也就是管
21、理员对试卷的状态,以及时间的设置,来设置当前考试要使用的试卷。在线考试管理子系统用户管理题库管理 试卷管理考试管理评卷管理成绩管理基于 B/S 的在线考试系统10成绩管理:对每次考试的学生成绩的基本信息进行维护,并提供学生成绩的统计管理。用户管理:对使用本系统的用户基本信息进行维护,用户多数为:系统管理员(老师)、学生。2.3 各模块需完成的功能:图 2.2 题库管理结构图 图 2.3 试卷管理机构图试题维护:对试题的基本信息进行增、删、改、查操作图 2.4 考试管理结构图 图 2.5 评卷管理结构图 图 2.6 成绩管理结构图考试信息维护:对考试的时间,考试用的试卷、试卷总分数及答卷总时间等考试的基本要素进行设置。考生信息维护:对考试的学生的基本信息进行增、删、改、查操作。评卷人评卷:对教师(系统管理员)可以在此进行评卷。考生成绩维护:对考试的考生成绩信息进行统计与汇总,对有权限的人可进行成绩题库管理试题维护试卷管理试卷信息维护考试管理考试信息维护成绩管理评卷人评卷考生信息维护评卷管理考生成绩维护