在线考试系统的设计与实现毕业设计(论文)_第1页
在线考试系统的设计与实现毕业设计(论文)_第2页
在线考试系统的设计与实现毕业设计(论文)_第3页
在线考试系统的设计与实现毕业设计(论文)_第4页
在线考试系统的设计与实现毕业设计(论文)_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计(论文) 在线考试系统的设计与实现在线考试系统的设计与实现 学生学号 学生姓名 学院名称 专业名称 指导教师 2013 年11 月20 日 摘要 在线考试系统旨在实现在线考试中阅卷过程的计算机化。在线考试通过网络进行, 可以有效提高教学考试的效率,减少教师的工作量,有助提高教学质量。本文所述的 在线考试系统包括试题库管理、考生及教师信息管理、在线制作试卷、控制学生考试 时长的设置、试卷状态修改等功能。本论文主要介绍了对 java 在线考试系统的分析、 设计和开发的全部过程。 全文共分为开发背景和目的、需求分析、关键技术、系统设计、系统实现,结论 六部分。开发背景和目的中主要介绍开发在线

2、考试系统的应用背景和目的、开发方案 的选择及开发框架的技术的确定;需求分析介绍了在线考试系统的总体需求及系统各 模块的功能需求;关键技术介绍了在具体实现时需解决的一些技术,如开发框架的整 合技术、开发框架与其他用到的技术;系统设计介绍了系统设计的指导思想、数据库 的设计、系统模块的设计;系统实现部分主要是功能模块的分析、整体页面的设计、 代码的设计;结论部分是自己开发的一些感想和遇到的一些问题。 关键词关键词: java;在线考试;j2ee;struts2 abstract the online exam system designed to achieve the computerizati

3、on of the online exam marking process. online examination through the network, can effectively improve the teaching efficiency of the examination, to reduce the workload of teachers to help improve the quality of teaching. described in this article online exam marking management subsystem includes a

4、 test library management, candidates and teachers, information management, online production of paper settings in the control students examination papers state change function. this paper introduces the java online exam marking management subsystem analysis, design and development process. the full

5、text is divided into a development background and objectives, requirements analysis, key technologies, system design, system implementation, the conclusion of six parts. introduces the development background and purpose of the application background and purpose of the development of online examinati

6、on system, the technology selection and development framework for the development of programs to determine the function of each module of the overall demand for online examination system and system needs; needs analysis; key technology to be addressed in the concrete realization of a number of techn

7、ical, such as the development framework for the integration of technology and development framework with other techniques used; system design introduces the guiding ideology of the system design, database design, system module design; system to achieve some of the major analysis of functional module

8、s, the overall page design, the design of the code; conclusion developed some feelings and some of the problems encountered. keywords: java; online examination; j2ee; struts2 目目 录录 1 绪 论.6 1.1 选题的背景和意义 .6 1.2 国内外研究现状 .6 1.3 本论文的主要内容与结构 .7 2 系统的开发环境及技术简介.8 2.1 系统开发环境.8 2.1.1 myeclipse.8 2.1.2 mysql.8

9、 2.2 系统开发的思想与技术 .9 2.2.1jsp 技术与 mvc 模式.9 2.2.2 jquery 技术.9 2.2.3 ajax 技术.9 3 系统分析.11 3.1 需求分析.11 3.2 任务概述 .11 3.3 数据流程图 .12 3.3.1 顶层数据流程图.12 3.3.2 学生数据流程图.12 3.3.3 教师数据流程图.13 3.3.4 管理员数据流程图.14 4 系统总体设计.16 4.1 总体功能模块.16 4.2 管理员功能模块 .16 4.2.1 用户信息管理子模块.17 4.2.2 科目和题库管理子模块.17 4.2.3 试卷管理子模块.18 4.2.4 其他管

10、理子模块.19 4.3 教师管理功能模块.20 4.3.1 阅卷管理子模块.20 4.4 学生管理功能模块.21 4.4.1 考试管理子模块.21 5 系统详细设计与实现.23 5.1 设计思想概述 .23 5.2 数据库设计 .24 5.2.1 概念模型设计.24 5.2.2 数据库逻辑模型.27 5.2.3 数据库表结构.27 5.3 部分功能模块的设计与实现 .29 5.3.1 用户信息管理子模块.29 5.3.2 题库管理子模块.33 5.3.3 试卷管理子模块.35 5.2.4 阅卷管理子模块.37 5.2.5 考试管理子模块.40 6 系统测试.43 6.1 开发期测试 .43 6

11、.2 功能测试 .44 6.2.1 测试策略.44 6.2.2 测试用例.45 6.2.3 测试结果.47 结论.48 致谢.50 参考文献.51 1 绪 论 1.1 选题的背景和意义 在线考试并不是一个新概念,可以说,在几十年前主机系统出现时就诞生了。近 年来,internet 的出现给了在线考试系统以新的活力,基于网络的在线考试系统已经成 为一个新的热点。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在 网络上自动完成。只要形成一套成熟的题库就可以实现学生学习的自动化。教师所要 做的只是精心设计题目、维护题库,从而大大减轻了工作量。学习者可以不受时间、 空间和地域的限制,在任何时

12、间、任何地点都可以通过网络自主测试。 我们研究的在线考试系统,改变原有的同步交互为异步交互方式,使页面在后台 按需获取数据,前台进行局部刷新,不仅节省了带宽,同时提高了网络响应速度,大 大提升了用户体验。建立该系统有两个主要原因:第一,为同学们的学习提供了便利, 从而也通过这个在线测试系统,来提高在校大学生的自主学习能力;第二,减少老师 们批改作业的工作量,同时也让老师们对自己的学生们在掌握知识的程度方面有更好 的评估,从而提高老师的讲课质量,最终达到学生和老师互利双赢的良好教学成果。 1.2 国内外研究现状 教育信息化工作是目前教育改革和发展的主旋律之一,考试是教学过程中的一个 重要环节。如

13、何充分利用计算机,构建一个具有开放性、实用性和灵活性的在线测试 系统,是一个值得探讨的课题。 纵观国内外教育,从 90 年代末开始,在短短的十几年时间里,实行网络教学的理 念早己经成为教育界的一大研究热点,研发人员和教育者对网络教学平台的开发也处 于不断地探索和发展之中,从最开始的单一的网络教学,逐步发展成为一种集合网络 教学和在线考试系统的综合系统。 随着网络的不断发展,多媒体网络技术也越来越趋向于成熟,网络能够实现实时 地检索在线教学内容,部分网上学习系统能根据学生的要求简单选择教学的内容,对 学生的学习进行一定的评估测试,而这里,我就开发一个在线考试系统,用来进行测 试分析。当然,随着技

14、术及学校和学生需求的不断提高,考试的形式也变的多种多样, 网络上的学习及考试种类都在不断增加,并且网络速度也是一个不得不关注的问题; 例如:现行城市里的交通堵塞,需要交通灯疏通,而网络堵塞时又该如何解决呢?为此, 我们需要一个可以解决网络堵塞的技术ajax 技术,该技术的特点是不必刷新整个页 面,而是只是针对页面的局部进行更新,这样就减少了数据的流通,从而可以节省网 络带宽、提高网页加载速度,减少用户在线等待时间,改善操作体验,是一个强大的 客户端脚本库的网站技术开发包。本课题设计的基于 ajax 技术的在线考试系统,充分 利用了 ajax 的各项技术特点,结合 java 的各项技术,实现了系

15、统所需的各项功能。 1.3 本论文的主要内容与结构 本论文在第二章论述系统开发平台以及相关技术,包括 jsp 技术,mvc 模式, ssh 框架,jquery 框架技术,ajax 技术。第三章是系统分析,分别画出了顶层数据流 程图,其他功能模块的数据流程图。第四章是系统功能设计,分别描述了总体功能模 块,管理员功能模块,教师功能模块和学生功能模块。管理员功能模块包括:科目管 理的功能,用户管理的功能,成绩管理的功能,试题库管理的功能,试卷管理的功能; 教师管理模块包括:改卷管理的功能,成绩管理的功能,以及成绩管理的功能;学生 管理模块:在线测试的功能,错题集管理的功能,历史试卷管理的功能,以及

16、成绩查 询等功能。第五章论述了系统详细设计与实现,系统模块结构设计,数据库设计中的 数据库 e-r 图,数据库关系模型,数据库表结构。第六章是系统的运行和测试,最 后是结束语和参考文献。 2 系统的开发环境及技术简介 2.1 系统开发环境 2.1.1 myeclipse 在开发本系统所用到的开发工具为 myeclipse。myeclipse 企业级工作平台 (myeclipse enterprise workbench ,简称 myeclipse)是对 eclipse ide 的一种扩展, 利用 myeclipse,我们可以在数据库和 j2ee 的开发、发布,以及在应用程序服务器的整 合当中极

17、大地提高系统的工作效率。myeclipse 是一个功能非常丰富的 j2ee 集成开发 环境,包括了完备的编码、调试、测试和发布功能,完整支持 html, struts, jsp, css, javascript, sql, hibernate。 从结构角度来讲,myeclipse 具有以下特征,分别是 j2ee 模型、ejb 开发工具、 web 开发工具、应用程序服务器的连接器、j2ee 项目部署服务、数据库服务、 myeclipse 整合帮助等。 简单来说,myeclipse 就是 eclipse 的插件,也是一款功能强大的 j2ee 集成开发 环境,支持代码编写、配置、测试以及除错。 2.

18、1.2 mysql 数据库使用的是业界流行使用的 mysql 开源数据库。 数据库 mysql 具有的特性:第一,mysql 使用 c 和 c+语言开发而成,而且 用多种编译器进行测试过,这样就保证了源码的可移植性。第二,它可以运行在多种 操作系统上,比如 linux、solaris、windows 等。第三,mysql 为 c、c+、eiffel、java、perl、php、python、ruby 和 tcl 等编程语言提供了应用程序 接口。第四,支持多线程充分利用 cpu 资源。第五,优化的 sql 查询算法,有效地 提高查询速度。第六,mysql 能够作为一个单独的应用程序应用在客户端服

19、务器网 络环境中,同时也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码 方法有中文的 gb2312 和 big5 等。第七,提供多种连接数据库的方法,例如通过 tcp/ip、odbc 和 jdbc 等方式。 mysql 以其自身的许多优点,它有着很广泛的应用。相比其他的大型数据库 oracle、db2、sql server,mysql 也有许多不足之处,比如规模较小、功能不是很 强大等,但是这对于一般的个人客户和中小型企业来说,mysql 提供的功能已经完 全能够满足,除此之外,mysql 是开源软件,所以可以大大降低软件开发成本。 2.2 系统开发的思想与技术 2.2.1jsp

20、 技术与 mvc 模式 本系统采用 jsp 技术,基于 mvc 模式开发,使用 ssh 框架 (struts2、spring、hibernate)来增加系统的开发速度。所谓的 mvc 模式是model- view-controller的缩写,中文翻译为模式-视图-控制器。程序就是用 struts2 和 hibernate 这两个框架来实现模式和控制器这两层,jsp 实现视图这一层。一般来说程序 就是在数据库和页面之间起桥梁作用的,jsp 页面请求先到 action,再到 dao,再回到 action,回到 jsp 页面,action 主要处理来自页面的请求,dao 主要是和数据库的交互, st

21、ruts2 主要用在 action,处理来自页面的请求,处理完请求后跳转回页面。hibernate 主要用在 dao,包括对数据库的增、删、改、查的操作,spring 控制程序的流程。 2.2.2 jquery 技术 本系统采用 jquery 框架来对 ajax 进行封装,运用 jquery 框架为系统提供 ajax 技 术的交互。jquery 是继 prototype 之后又一个优秀的 javascrpt 框架。它是轻量级的 js 库(压缩后只有 21k) ,它兼容 css3,还兼容各种浏览器 (ie 6.0+, ff 1.5+, safari 2.0+, opera 9.0+) 。jque

22、ry 使用户能更方便地处理 html documents、events、实现动 画效果,并且方便地为网站提供 ajax 交互。jquery 还有一个比较大的优势是,它的 文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jquery 能够使用户的 html 页保持代码和 html 内容分离,也就是说,不用再在 html 里 面插入一堆 js 来调用命令了,只需定义 id 即可。 2.2.3 ajax 技术 ajax 是(asynchronous javascript and xml)的简写,它并不是单纯的一种技术, 而是由几种蓬勃发展的技术以新的强大方式组合而成。主要有

23、三部分组成: dhtml(动态 html) 、xmlhttprequest、server files(服务器文件) 。dhtml 过滤 用于在页面上显示的数据,在这当中,ajax 用 xhtml 来制作内容,用 css 来制作 外观,用 dom 和 javascript 来制作动态内容显示;xmlhttprequest 主要通信代理, 在服务器和页面间传送数据,进行异步数据的交互,是实现 ajax 应用的核心技术。 ajax 技术最大的优点就是页面无刷新,在页面内与服务器通信,给用户的体验非 常好,这一优点在本系统中也有很好的体现,例如:管理员的试题添加与筛选试题的 功能等等。 ajax 技术

24、之中,最核心的技术就是 xmlhttprequest,主要是通过 activex 组件 来创建 xmlhttprequest 对象。本系统中判断浏览器类型也是运用了该对象。 xmlhttprequest 对象是整个 ajax 开发的基础,提供了客户端和服务器端进行异步 通信的能力。一方面它向服务器提交一个请求,获取指定的内容;另一方面将指定的 数据提交到服务器端。xmlhttprequest 对象由 javascript 创建并使用,客户端可以只 从服务器端获取需要的信息,通过与 dom 和 css 的结合,可以实现局部刷新;同时 还可以通过 xmlhttprequest 对象异步提交信息,将

25、输入的数据在后台提交到服务器 而无需每次刷新页面,也不用每次都将数据处理的工作都交给服务器来做;这样既减 轻了服务器负担又加快了响应速度、缩短了用户的等待时间。 3 系统分析 3.1 需求分析 通过调查分析,在线考试系统主要包括教师、管理员、学生。我重点调查分析的 三种用户的职能。其中管理员主要负责教师、学生以及管理员用户信息的添加、修改 和删除操作,以及科目、试题的添加、删除和修改操作,并创建试卷,同时也具有查 看成绩以及修改个人信息的功能。教师主要根据学生考好的试卷进行阅卷,查看学生 考试试题,以及学生测试成绩生成的检查和修改操作,同时也具有查看学生成绩以及 修改个人信息的功能。学生主要是

26、负责在线测试并且可以在线查看自己提交的试卷答 案,学生可以在成绩查询一栏中查看自己的成绩,同时也具有修改个人信息的功能。 在考试系统的设计和实现过程中,为了使系统便于管理和保障系统的安全性,在线测 试系统中编辑设计了管理员登录,并且在添加管理员信息的时候,管理员必须先验证 自己的用户名密码,再进行添加。管理员在添加用户信息时,将用户的登录密码默认 设置为该用户登录的账号,因此用户登录后,可以先修改自己的登录密码,以保证个 人账户的安全性。学生登录后可以选择自己测试的课程,选用考卷卷进行考试,测试 完成后可以查看自己的试题和分数;查询考过课程的历史试卷。为了方便管理员对系 统的管理,还特地为用户

27、、科目和试题这三栏添加的搜索功能,以方便管理员查找, 并且对其进行各项操作。 3.2 任务概述 1)由于考试对应的是特定的对象,所以系统需要经过身份验证才可以登陆相应的 主页。 2)系统的权限分为三种:管理员,老师和学生。不同的身份使用不同的权限和功 能。 3)教师权限的老师需要参与阅卷,查看和修改学生的成绩等等。 4)管理人员需要对教师和考生账号进行有效的管理,并负责试题的收录及更新和 修改,对试题的分类,每次考试前,需要对试场环境和考生状态进行考前初始化工作。 要注意的是, 鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到 规范,对于每个应试者来说,试卷的试题和题量都应是相同

28、的。 5)系统要有良好的试卷提交功能,确保信息传送的正确性。 6)系统要有一个亲和的界面,这样才能确保考生考试的顺利进行。 7)因为试卷中的主观题需要老师批改,需要教师阅卷以后才能查询到成绩。但如 果试卷是由客观题型组成的,考生就可以在考试结束后查询到自己客观题的成绩了。 8)系统提供对考生成绩的查询和历史试卷的查询等管理功能。 9)系统应具有一定的安全性管理 3.3 数据流程图 3.3.1 顶层数据流程图 顶层数据流程图说明了系统与其外部环境中各实体之间的信息交流。如图 3-1 所 示,在线测试系统的外部实体主要有教师、管理员和学生。系统管理人员通过添加教 师学生等信息,以及添加测试科目与教

29、师学生建立关系。学生通过在线测试与教师建 立关系。并且教师可以评阅学生的试卷,评阅成功之后,系统将自动统计老师给的分 数,给出学生的总成绩,学生也可以通过成绩查询来查看自己的成绩。 管理员 在线考试系统 学生 参加考试 给出试卷 修改成绩 教师 查看成绩 查看试卷 修改个人信息 查看个人信息 提交试卷提交阅卷 修改个人信息 查看个人信息 查看成绩 添加修改删除用户 添加修改删除试题 查看用户 查看试题 添加修改删除试卷 查看试卷 添加修改删除科目 图 3-1 顶层数据流程图 3.3.2 学生数据流程图 首先学生开始测试,需要登陆系统。此时需要读取学生信息表匹配用户名密码是 否正确。然后开始进入

30、系统进行测试。学生可选择试卷名称,从而生成试卷。当提交 之后,生成成绩并显示答案,系统自动判断试卷的选择和判断题,并且学生的考试记 录将被提交到考试试题记录表中。其他题型将由老师进行阅卷后产生,并且把该学生 的成绩提交到考试阅卷信息表,之后学生可以查看成绩,并且可以查看自己的历史试 卷,当学生要查看自己的历史试卷时,系统将从考试试题记录表中取出考生曾考过的 试题。 学学生生 用用户户信信息息表表 登登录录系系统统 读读取取用用户户和和密密码码登登录录 试试卷卷 题题库库信信息息表表 试试卷卷信信息息表表 参参加加考考试试 生生成成试试卷卷 考考试试阅阅卷卷信信息息表表 生生成成成成绩绩 提提交

31、交试试卷卷信信息息 提提交交试试卷卷 查查询询成成绩绩 查查看看 读读取取成成绩绩 考考试试试试题题记记录录表表 历历史史试试卷卷管管理理 读读取取试试题题 查查看看 教教师师 提提交交阅阅卷卷结结果果 阅阅卷卷 图 3-2 学生测试管理数据流程图 3.3.3 教师数据流程图 教师登陆该系统以后可以对学生考试产生的试卷进行阅卷,这也是教师部分主要 的功能。 教教师师 用用户户信信息息表表 登登录录系系统统 读读取取用用户户和和密密码码登登录录 阅阅卷卷 生生成成试试卷卷 考考试试阅阅卷卷信信息息表表 生生成成成成绩绩 查查询询成成绩绩 查查看看 读读取取成成绩绩 考考试试试试题题记记录录表表

32、提提交交阅阅卷卷结结果果 阅阅卷卷 存存入入 图 3-3 教师数据流程图 3.3.4 管理员数据流程图 管理员可以添加用户,并将该用户信息保存在用户信息表中,以及对学生、教师 和管理员用户的信息修改,管理员还可以对试题、科目进行相应的操作,并进行组卷。 主要目的是让更多的教师和学生可以更好地使用该在线测试系统。通过让更多的教师 和学生参与,才能保证题库的题量更多,学生做试题的次数更多,从而让在线测试系 统更好地发展起来。 管管理理员员 用用户户信信息息表表 登登录录系系统统 读读取取用用户户和和密密码码登登录录 学学生生用用户户 添添加加修修改改删删除除 教教师师用用户户 组组卷卷 组组卷卷

33、存存入入 试试题题信信息息表表 存存入入 添添加加修修改改删删除除 试试题题 科科目目 科科目目信信息息表表 存存入入 添添加加修修改改删删除除 添添加加修修改改删删除除 存存入入 考考试试试试题题记记录录表表 图 3-4 管理员数据流程 4 系统总体设计 4.1 总体功能模块 通过了解学校现行的考试流程,和学校教务管理人员进行交谈,获取需求,并据 此设计出系统的功能模块。在线考试系统主要有三种用户:管理员,教师用户,学生 用户。总体功能图 4-1 所示: 图 4-1 总体结构图 根据对高校正在使用的在线考试系统的实地调查,本系统根据以事物为中心的设 计策略,系统主要包括了五个子功能模块还有其

34、他小的功能模块,其中五个主要功能 模块分别为在线测试模块、题库管理模块、试卷管理、阅卷管理模块、用户信息管理 模块。 4.2 管理员功能模块 管理员主要有科目和题库管理、试卷管理、用户管理、成绩管理和个人信息管理 这五个模块。管理员的功能图如 4-2 所示: 管管理理员员 用用户户管管理理 科科目目管管理理 试试题题库库管管理理 试试卷卷管管理理 成成绩绩管管理理 个个人人信信息息管管理理 图 4-2 管理员的功能 4.2.1 用户信息管理子模块 用户信息管理模块:管理员可以添加用户,并将该用户信息保存在用户信息表中, 以及对用户信息进行修改和删除等功能,主要目的是让教师和学生可以使用该在线考

35、 试系统。让教师和学生能够更好的使用该系统,完成教育的宗旨。用户管理功能图如 4-3 所示: 图 4-3 用户管理的功能 4.2.2 科目和题库管理子模块 科目管理的功能主要用于管理科目的信息,管理员可以对科目进行查询、添加、 删除和修改操作。科目管理功能图如 4-4 所示: 科科目目管管理理 查查询询科科目目 添添加加科科目目 删删除除科科目目 修修改改科科目目 图 4-4 科目管理的功能 题库管理模块:管理员登陆该系统以后可以对在线考试系统的试题题库进行管理。 题库管理的功能主要是对添加试题,并将试题保存与题库信息表中,同时也可以对试 用用户户管管理理 管管理理员员用用户户管管理理 教教师

36、师用用户户管管理理 学学生生用用户户管管理理 修修改改密密码码 添添加加用用户户 删删除除用用户户 修修改改用用户户 添添加加用用户户 删删除除用用户户 修修改改用用户户 题进行删除和修改操作。管理员主要包括负责不同科目试题的录入以及对试题进行编 辑、修改和删除。如果管理员发现存在一些问题,可以将该试题删除或者修改,这也 是该系统主要的功能。这个功能模块是决定生成随机试卷的关键。 试题管理的功能主要用于查看当前科目的所有试题,并且可以添加、修改、删除 (选 择题、判断题、填空题、简单题) ,试题管理功能图如 4-5 所示: 试试题题管管理理 查查看看相相应应科科目目试试题题 选选择择题题 判判

37、断断题题 填填空空题题 简简答答题题 添添加加 修修改改 删删除除 图 4-5 试题管理的功能 4.2.3 试卷管理子模块 试卷管理模块:该模块,是管理员模块的关键模块之一,管理员可以这里创建考 卷,并将考卷保存到试卷信息表中,同时还可以进行修改试卷、删除试卷、使用试卷、 停用试卷等操作,当学生登陆在线测试系统以后,选择试卷,便可以进行在线考试了。 试卷管理的功能主要是组卷,在试卷管理中,管理员可以创建、修改、删除试卷, 并且可以查看、管理试卷里面的试题,对已经有的试卷可以进行状态设置。基本功能 图如 4-6 所示: 试试卷卷管管理理 创创建建 修修改改 删删除除 使使用用 添添加加 删删除除

38、 修修改改分分值值 停停用用 题题目目管管理理 图 4-6 试卷管理的功能 4.2.4 其他管理子模块 成绩管理主要用于用户查看成绩和已考考卷的信息。如 4-7 所示: 成成绩绩管管理理 查查询询成成绩绩 查查看看答答卷卷 图 4-7 成绩管理的功能 个人信息管理主要用于用户修改个人的基本信息。如 4-8 所示: 个个人人信信息息管管理理 修修改改个个人人信信息息 图 4-8 个人信息管理的功能 4.3 教师管理功能模块 教师主要有阅卷管理、查看学生考卷、修改个人信息这三项功能,在这里我们主 要介绍一线教师所特有的阅卷功能。教师总体功能图如 4-9 所示: 教教师师 个个人人信信息息 管管理理

39、 成成绩绩查查询询 阅阅卷卷管管理理 图 4-9 教师管理的功能图 4.3.1 阅卷管理子模块 阅卷管理模块:当学生提交考过的试卷后,试卷将被保存到考试阅卷信息表中, 系统将自动批阅选择题和判断题的成绩,填空题和问答题将由教师在改卷管理中评分, 给出成绩,从而生成学生的总成绩,并将该学生的成绩保存在数据库中。如果教师在 批阅期间发现存在一些问题,可以修改该学生的成绩,这也是该系统主要的功能。 教师管理模块主要体现在阅卷管理中,对学生考的试卷的题目进行阅卷,并且对 每道题进行评分,评分成功之后,系统将自动计算每道试题的分数,显示试卷的总分。 具体功能图 4-10 所示: 阅阅卷卷管管理理 进进行

40、行评评分分 查查看看考考卷卷 图 4-10 改卷管理的功能图 4.4 学生管理功能模块 学生的功能主要有参加考试、查询成绩、个人信息管理这三项主要功能,成绩查 询与管理员和老师的成绩管理的功能是一样的。学生总体功能图如 4-11 所示: 学学生生 进进行行评评分分 查查看看考考卷卷 个个人人信信息息管管 理理 图 4-11 学生管理的功能图 4.4.1 考试管理子模块 考试管理模块:首先学生开始考试,需要登陆系统。此时需要读取学生信息表匹 配用户名密码是否正确。然后开始进入系统进行测试。选择自己要考的试卷名,系统 将从试卷信息表中读取试卷信息,学生开始进行考试。当提交时候生成成绩,系统自 动评

41、阅试卷的选择题和判断题,并显示选择题和判断题的分数,填空题和问答题,由 教师进行批阅改卷后产生,并且把该学生的成绩提交到数据库。 参加考试管理功能是该在线测试系统的核心,学生也是通过该功能模块进行在线 测试和在线联系的。首先学生登陆进入自己的页面,点击参加考试,点击确定开始考 试之后,系统会让你选择卷子,例如系统中所提到的,期末模拟卷 1、期末模拟卷 2 等等,提交之后,系统依然呈现正确答案,和自己的答案,学生也可以查看自己的历 史试卷查看自己的错误之处,来加强和提升自己的学习成绩。 5 系统详细设计与实现 5.1 设计思想概述 在线考试系统充分利用了 brower/server 结构的特点,

42、实现了将考试系统移植到 internet 的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的试题, 做到了出题的多样性。 目前比较流行的两种网络开发模式分别是 client/server 模式与 brower/server 模式。 client/server 模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制, 并需要事先在客户端机上装载 client 端。而 brower/server 模式样通过 internet 进行通 信,可以不受地域和客户端的限制,但是它不能够进行联机事务处理,并且在大量数 据处理的情况下,服务器访问速度较慢。从目前的开发技术来看,brower

43、 端作为信息 收集源,特别是大量的数据录入工作 brower 还不能完全取代 client 端的用户界面。在 大量数据录入工作这方面,client 端的各种开发工具的功能更加强大也更加灵活,相 对而言 browser 端却由于其结构的限定显得过于“瘦小”和不稳定。 对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于 internet 的无纸张考试系统的转变,所以它必须面向整个考试流程,实现对系统不同权限的账 号不同管理,以及完成考试、阅卷、评分这些分类环节上的处理。由于本考试系统对 数据收集的实时性要求并不高,并且数据的流通量也不是很多,因此采用 browser/server 结

44、构来进行设计是可行的。图 5-1 是本系统的网络应用原理示意图。 考生浏览器服务器 internet 统后台 数据库 图 5-1考试系统原理示意图 5.2 数据库设计 5.2.1 概念模型设计 概念模型设计的典型方法是用 e-r 图方法,即用实体-联系模型表示。e-r 方法是 用 e-r 图来描述显示世界,e-r 图包含三个基本成分:实体、联系、属性。它直观易 懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织 情况。 本在线考试系统 e-r 图如下: 学生 教师 试题 管理员 管理 管理 管理 阅卷 用户名 id密码 创建时间 角色 状态 真实姓名 用户 1 1 1

45、1 n n n 图 5-2整体关系 e-r 图 图 5-3用户信息的 e-r 图 课程 id id 题目 分数 选项 d 选项 c 选项 b 选项 a 答案 状态 试题 添加时间 题型 图 5-4试题 e-r 图 课程名 id 状态 课程 图 5-5课程信息 e-r 图 试卷名 id 总分 用户 id课程编号 状态 试卷 考生时间 使用状态 图 5-6试卷信息 e-r 图 状态 试卷 id 成绩 用户 id考试编号 阅卷状态 阅卷 添加时间 成绩 2 图 5-7阅卷信息 e-r 图 状态 id试题 id 用户 id考试编号 得分 测试时间 题目使用编号 答案 考试记录 点评 是否给分 图 5-

46、8考试记录信息 e-r 图 状态 id 用户 id试题编号 试卷编号 试题使用 分值 图 5-9试题使用信息 e-r 图 5.2.2 数据库逻辑模型 课程信息表(课程编号、课程名称) 用户信息表:(用户编号、姓名、用户名、管理员号、密码、添加时间、用户类 型、状态) 题库信息表(试题编号、题目、a、b、c、d、答案、创建时间、题型、知识点、 正确、错误、课程编号、用户编号) 试卷信息表(试卷编号、创建时间、试卷名、考试时间、使用状态、总分、课程 编号、用户编号、学院编号) 考试阅卷信息表(考试阅卷编号、成绩、成绩 2、测试时间、考试编号、阅卷状 态、试卷编号、用户编号) 考试试题记录表(试题记

47、录编号、测试时间、得分、考试编号、我的答案、题目 使用编号、试题编号、用户编号) 考试题目使用信息表(题目使用编号、分值、试卷编号、试题编号、用户编号) 5.2.3 数据库表结构 1.1. 用户信息表用户信息表 字段类型长度说明 idbigint20主键 自动增长 usernamevarchar255用户名 passwordvarchar255用户密码 truenamevarchar255真实姓名 createtimedatetime/添加时间 roleint11角色 userlockint11状态 2.2. 课程信息表课程信息表 字段类型长度说明 idbigint20主键 自动增长 kech

48、engmingvarchar255课程名 kechenglockint11状态 3.3. 试卷信息表试卷信息表 字段类型长度说明 idbigint20主键 自动增长 createtimedatetime/添加时间 juanmingvarchar255试卷名 kaoshishijianint11考试时间 shifoushiyongvarchar255使用状态 zongfendouble/总分 kechengidbigint20课程编号 shijuanlockint11状态 useridbigint20外键 用户编号 4.4. 考试阅卷信息表考试阅卷信息表 字段类型 长度 说明 idbigint2

49、0主键 自动增长 createtimedatetime/添加时间 chengjivarchar255成绩 chengji2double/成绩 2 kaoshibianhaovarchar255考试编号 zhuangtaivarchar255阅卷状态 shijuanidbigint20外键 试卷编号 useridbigint20外键 用户编号 5.5. 考试试题记录表考试试题记录表 字段类型长度说明 idbigint20主键 自动增长 createtimedatetime/测试时间 defendouble/得分 kaoshibianhaovarchar255考试编号 wodedaanvarcha

50、r255我的答案 shijuanitemidbigint20题目使用编号 shitiidbigint20外键 试题编号 useridbigint20外键 用户编号 dianpingvarchar255点评 shifougeifenvarchar255是否给分 6.6. 考试题目使用信息表考试题目使用信息表 字段类型长度说明 idbigint20主键 自动增长 fenzhidouble/分值 shitiidbigint20外键 试题编号 shijuanidbigint20外键 试卷编号 useridbigint20外键 用户编号 shijuanitemlockint11状态 7.7. 考试题目信

51、息表考试题目信息表 字段类型长度说明 idbigint20主键 自动增长 avarchar255a bvarchar255b cvarchar255c dvarchar255d createtimedatetime/创建时间 shitilockint11状态 daanvarchar255答案 leixing varchar255题型 zhishidianvarchar255知识点 wentivarchar255 题目 kechengidbigint20外键 课程编号 useridbigint20外键 用户编号 5.3 部分功能模块的设计与实现 5.3.1 用户信息管理子模块 功能设计 用户信息

52、管理子模块:首先要登录系统,验证用户身份,判断是否是管理员,是 管理员则进入管理员端,管理员可以管理学生和教师账号,管理员可以先添加账号, 然后修改、删除账号,这里就需要把账号信息显示在页面上,才能实现操作。 登录系统首先进入一个登录到用户登录界面,根据身份的不同可以登录相应的界 面。 从数据库中判断用户名是否合法,用户密码,用户类型是否正确,若果都正确, 用户是管理员则进入管理员端,用户是教师则进入教师端,用户是学生则进入学生端, 如果用户名或密码错误则提示错误,要求重新登录。该模块的流程图见图 5-10 所示。 图 5-10 登录系统流程图 界面设计 完成用户管理模块需要登录页面、管理员首

53、页、用户管理界面。登录界面需要账 号和密码录入窗口,还需要登录和退出按钮;管理员首页主要左边要有菜单项,主体 部分有欢迎语,还要显示当前登录的管理员名称和退出按钮。用户管理界面要有用户 的信息显示和一些包括(添加、修改、删除)操作的按钮。如下图 5-11-abc 所示: y n n 进入相应功能主界面 登录密码及用户 类型验证? 用户名及密码 操作是否结束? 退出系统 y 开始 图 5-11-a 登录页面 图 5-11-b 管理员首页 图 5-11-c 用户管理界面 部分实现代码 验证登录的部分代码如下: publicpublic string login() throwsthrows ioe

54、xception httpservletrequest request = servletactioncontext.getrequest(); string username = request.getparameter(username); string password = request.getparameter(password); user user = userdao.selectbean( where username = + username + and password= + password + and userlock=0); ifif (user != nullnul

55、l) httpsession session = request.getsession(); session.setattribute(user, user); thisthis.seturl(index); returnreturn redirect; elseelse httpservletresponse response = servletactioncontext.getresponse(); response.setcharacterencoding(gbk); response .getwriter() .print( alert(用户名或者密码 错误);window.locat

56、ion.href=index;); returnreturn nullnull; 个人信息系统管理主要包括管理员密码修改,学生、教师用户的添加、修改、删 除。代码都有点相似之处,所有列举管理员密码修改的部分代码,如下: public string userupdate() httpservletrequest request = servletactioncontext.getrequest(); user bean = userdao.selectbean( where id= + request.getparameter(id); request.setattribute(bean, be

57、an); this.seturl(/web-inf/manage/user/userupdate.jsp); return success; 5.3.2 题库管理子模块 功能设计 题库管理子模块:管理员登陆该系统以后可以对在线考试系统的试题题库进行管 理。题库管理的功能主要是对添加试题,并将试题保存与题库信息表中,同时也可以 对试题进行删除和修改操作。管理员主要包括负责不同科目试题的录入以及对试题进 行编辑、修改和删除。如果管理员发现存在一些问题,可以将该试题删除或者修改, 这也是该系统主要的功能。 界面设计 根据题库管理的功能,首先需要一个显示各个科目信息的页面,该页面一个具有 按钮操作,以

58、便对所对应的题库进行管理。如下图 5-12-ab 所示: 图 5-12-a 科目信息界面 图 5-12-b 题目信息界面 部分实现代码 该部分主要是对数据库的修改操作,列举一个修改试题的部分代码: public string shitiupdate() httpservletrequest request = servletactioncontext.getrequest(); shiti bean = shitidao.selectbean( where id= + request.getparameter(id); request.setattribute(bean, bean); req

59、uest.setattribute(kemu, kechengdao.selectbean( where kechenglock=0 and id= +request.getparameter(kechengid); this.seturl(/web-inf/manage/shiti/shitiupdate.jsp); return success; 5.3.3 试卷管理子模块 功能设计 试卷管理子模块:管理员管理可以对试卷进行管理,主要是有试卷的创建、修改、 删除,除此之外还可以对创建的试卷进行状态设置。试卷有了,但是试卷里面没有试 题、考试时间、总分,那么就需要试卷的设置,其中包括试题的添

60、加、修改、删除, 分值的修改和考试时间的添加、修改等操作。 界面设计 根据该功能模块的功能,应该有个界面显示各个试卷信息,里面有各种对试卷的 操作按钮。进入试卷,首先应该显示出所有试卷里的试题和属性,并有对应的操作按 钮。如下图 5-13-ab 所示: 图 5-13-a 试卷信息界面 图 5-13-b 试卷里试题信息界面 部分实现代码 这里列举一个创建试卷的代码,如下: public string shijuanadd() httpservletrequest request = servletactioncontext.getrequest(); request.setattribute(l

温馨提示

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

评论

0/150

提交评论