资源描述
第 页 基于 Web 的在线考试系统的开发与实现 摘 要 随着计算机及网络技术的飞速发展,Internet/Intranet 应用在全球范围内日益普及, 当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而使我们从繁 杂的事务中解放出来,提高了我们的工作效率。目前存在各级各类的考试,而它们的 各种工作主要还是依赖于手工完成,但是手工管理还存在着许多弊端,比如会由于不 可避免的人为因素,造成数据的遗漏、误报。计算机信息化管理有着储存量大,速度 快等许多优点,因此我们可以利用计算机网络以及 JSP 技术实现动态的管理。在众多 的网络服务中,Web 给人耳目一新的感觉,而在这其中,JSP 技术则因为可以进行复 杂的数据库操作、很强的交互性以及方便用户控制和管理备受青睐。随着计算机网络 技术的进一步发展和普及,利用 JSP 技术开发的各种网络在线考试系统必将大行其道。 本说明书主要介绍了该系统的开发背景和发展前景、研究内容和设计理念以及系 统的实现过程,该系统是一个基于 Web 采用 B/S 即浏览器和服务器结构模式,服务器 端采用 JDBC 方式连接数据库。 关键词:在线考试, 试卷,JSP,SQL Server2005 第 I 页 The Online Exam System Based On Web Development and Implementation Author: Liu Zhuan Tutor: Ye Maogong Abstract Along with the computer and network technology rapid development, Internet/Intranet applications growing popularity in the global scope, the society is rapidly towards information society forward, information automation function also is more and more big, make our from multifarious affairs liberate, improve our work efficiency. At present, the exam at various levels and of various kinds of work that they still basically rely on done manually, manual management still exist many shortcomings, due to the inevitable man-made factors, the omission, cause data material misstatement. In many of the network service, the Web gives a person refreshing, but in this one, because the technology was the JSP can be complex database operation, strong interactivity and user-friendly control and management is favour. Computer information management has a large storage capacity, speed and many other advantages, so we can use computer network and JSP technology to achieve dynamic management. With the further development of the computer network technology and popularization of using the JSP technology development, various network on-line examination system will be flourishing. This paper mainly introduces the system development background and development prospects, research content and design concept and system implementation process, this system is based on a Web adopts B/S namely the browser and server structure mode,the server using JDBC way connect to database. Keywords: Online Examination, the Examination Paper, JSP, SQL Server2005 第 II 页 目 录 1 绪论 .1 1.1 系统开发背景 .1 1.2 系统开发的目的和现实意义 .1 1.3 系统设计思想及实施方案 .3 1.4 可行性分析 .3 1.4.1 资源可行性 .3 1.4.2 时间可行 性 .4 1.4.3 技术可行性 .4 1.4.4 经济可行性 .4 1.4.5 社会的可行性 .4 1.5 本文内容安排 .4 2 系统需求分析 .6 2.1 系统功能分析 .6 2.1.1 系统功能模块 .6 2.1.2 系统界面设计分析 .6 2.2 系统性能分析 .7 2.3 数据库分析 .7 2.3.1 系统数据库分析 .7 2.3.2 数据库结构分析 .11 2.4 系统开发环境 .11 2.4.1 硬件、软件平台 .11 2.4.2 系统开发技术描述 .11 3 系统概要设计 .12 3.1 总体结构设计 .12 3.1.1 系统 HIPO 图 .12 3.1.2 系统主要功能模块 .13 第 III 页 3.2 数据库结构设计 .13 3.2.1 数据库概念结构设计 .13 3.2.2 数据库逻辑结构设计 .13 3.2.3 数据库物理结构设计 .14 4 系统详细设计 .17 4.1 系统总体设计 .17 4.1.1 用户登录页面设计 .17 4.1.2 系统管理员主页界面设计 .20 4.1.3 系统学生主页设计 .21 4.2 系统管理员操作设计 .21 4.3 学生操 作设计 .24 4.4 连接 数据库 .25 5 系统运行与测试 .27 5.1 登录测试 .27 5.2 管理员添加学生测试 .27 5.3 管理员生成试卷测试 .27 5.4 管理员添加模板测试 .28 5.5 测 试总结 .28 6 系统的使用说 明与安装 .29 6.1 运行环境要求 .29 6.2 安装设置 .29 6.3 源程序用户名和密码 .29 结 论 .30 致谢 .31 参 考文献 .32 附 录 .33 第 0 页 1 绪 论 计算机应用迅猛发展,网络应用不断扩大,各级各类的考试层出不穷,使得开发 在线考试系统成为现实。在线考试系统可以发挥网络的优势,建立大型、高效、共享 的题库和实现随时随地的考试,从而降低考试成本,减少人为干扰,减轻教师负担, 节约人力、物力和财力。 1.1 系统开发背景 在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于 Web 在线考试与无纸化办公一样已成为大势所趋。基于 Web 在线考试也越来越成为学校的 好帮手,它的优势不但体现在人力上也体现在物力上,基于 Web 的在线考试系统的自 动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员,提 高效率。 相比传统的考试方式,基于 Web 的在线考试系统的主要好处是一方面可以动态地 管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷; 另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机 化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出客观题考试成绩,计 算机阅卷给了考生最大的公平感。 在线考试系统极大地提高了教学的灵活性,现在在许多领域已经有了广泛的应用。 最有影响的案例就是 ETS(美国教育考试中心)举办的 GRE(美国研究生入学考试) 的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作 日都可以参加的考试。 本论文讲述了一个基于 Web 的在线考试系统的大体实现过程,该系统基本上可以 满足学校及现代信息化企业的内部考试要求,可以实现学校或企业的低成本投入、高 效率办公的宗旨。例如:一个学校或公司如果使用了本系统,老师和领导即使在外地 出差也可以通过访问 Internet 轻松设置审批考试,考试结束后也不要传统的繁琐的阅 卷过程,极大地提高了办公效率。考试的题型可以都是标准化客观题目,对于其他类 型的题目只要在本文的基础上稍加修改即可。 第 1 页 利用 JSP 技术开发的基于 Web 的多用户在线考试系统 2,它具有用户登录、多用 户同时在线考试、动态随机出题、考试时间控制、自动判卷、题库维护、用户管理、 分数管理等功能。本系统主要由管理模块和在线考试模块组成。随机选题及自动评分 的实现是本系统的关键。 1.2 系统开发的目的和现实意义 在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人 们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网 络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式、提 高学校教学效果和教学效率、提高科研和管理水平的必要手段。随着计算机网络在生 产、生活、科技、教育中的普及,传统的考试出卷、答卷方式以及学绩管理正发生着 巨大的变革,因此如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个 重要课题。目前的一个发展趋势是采用大规模试题库的计算机网络考试模式。在线考 试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地对学生进行考 试,加上数据库技术的利用,大大简化了传统考试的过程。因此在线考试系统是电子 化教学不可缺少的一个重要环节。有趋势表明,考试的标准化、计算机网络化已当今 考试的发展方向,当前国际上许多考试认证,例如 GRE、CISCO,其出题、答卷以及 评分都是在计算机上完成的。无纸化的考试形式有着其科学、及时、准确、公平等优 点,具有传统考试形式无法替代和比拟的优势。 (1) 实现无纸化考试。考试结果直接提交并存储在服务器上,无需上任何纸张。考 卷也是实时下载显示在考生机器的屏幕上,当考试结束后自动批阅试卷,显示成绩。 (2)安全性好:系统通过对网络通讯数据的加密,采用系统随机产生试卷以及老师 手工筛选、修改的组卷方式取代简单的题库抽题方式,能更加科学的组织试卷对考生 进行考核。试题顺序的随机性能够有效地防止考生的舞弊行为;同时采用考试监控系 统和考生身份验证系统,更有效的保证了考试的安全性和公平性。 (3) 有效的监考。系统拒绝其他考生用相同的学号注册进行考试,保证考生的唯一 性;系统拒绝时间已经用完的考生再注册进行考试,以保证考试的有效性;监考人员 可在任意一台联网的机器进行监控,查询考生的考试状态等信息。 (4)通用性和可扩展性佳:题库导入可以将第三方试题库转换成系统识别的试题库 第 2 页 格式,有效地增强了试题库的扩充能力。较为严格地按模块划分,为扩展和完善留下 了余地。 (5)自动化程度高:实现了组卷自动化、阅卷自动化和成绩分析统计自动化。 (6)界面设计合理,使用方便:体贴的考试界面设计将使考生作起来更方便。电子 试卷提供了自动记时、纵观全卷、即选即作、试题标记等友好的界面设定,加上计算 器和草稿纸的设计,让考试的过程更流畅。所有的一切完全从考生的角度出发,力争 提供最优化的考试环境。 (7)考试/ 练习终端采用键盘鼠标输入与手写输入方式相结合进行答题,加快了考生 的答题速度。 (8) 快速、透明的自动阅卷。 1.3 系统设计思想及实施方案 本系统主要采用 JSP 语言进行开发维护 3,用 Photoshop CS4 进行前台的设计与美 化,后台采用机动灵活的 SQL server 2005 建立数据库 10,并在设计过程中采用系统框 架实现系统的构架,使用 JDBC 的方式对数据库进行链接,编辑过程中使用 Smart Server V-13 作为系统运行服务器,在 IE 中对系统进行浏览,并且采用 Vbscript 和 Javascript 脚本语言对系统的前台数据的操作,整个系统在各项技术和开发工具的配合 下相得益彰,充分体现出了 JSP 在开发软件中的优势。 1.4 可行性分析 可行性研究 7是一个系统开发前最关键的部分,它决定着系统是否要开发和开发的 意义。可行性研究的主要任务是对新系统是否能够实现和值得实现等问题作出判断, 避免在花费了大量的人力和物力之后才发现系统不能实现或新系统投入使用后没有实 际意义而引起浪费。内容包括:资源可行性、时间可行性、技术可行性、经济可行性、 社会因素方面的可行性。 1.4.1 资源可行性 资源可行性是指完成本系统需要的各种设施,现在所具备计算机(Windows XP 操 作系统,内存 265MB,网络系统良好,所需资料随时可以搜索、下载) 。 Eclipse6.0、Pohoshop CS4 等安装文件和 Smart Server V-13 服务器程序并且有 SQL 第 3 页 Server 2005 数据库程序,以上可以达到资源可行性的要求。 1.4.2 时间可行性 本次毕业设计 2011 年 2 月已经开始准备,到答辩时间百十余天,在现有的理论知 识和部分实践的基础上能够完成对本系统的开发。 1.4.3 技术可行性 技术可行性是指设备条件、技术解决方案的实用性和技术资源的可用性的度量。 由于在大学期间,开过 JSP、JAVA 程序设计语言和 SQL sever2000 以及数据库概论等 课程,因此本系统采用 JSP/SQL Server 来设计,可以达到技术的可行性。 1.4.4 经济可行性 经济可行性是希望以最小的成本开发具有最佳的经济效益的软件产品,主要进行 投资及效益的分析。本系统规模不大,运用的人力、物力、财力相对也较小,因此开 发本系统的成本相对较低。总而言之,本系统能获得良好的收益/投资比,可达到经济 可行性。 1.4.5 社会的可行性 社会可行性主要从法律、用户等方面分析可行性。本系统是为了解决传统的考试 方式带来的问题而开发的,也是为广大学者而服务的。因此不管从法律还是用户方面 都是可行的。 1.5 本文内容安排 本文主要研究内容是基于 Web 的在线考试系统的开发与实现,主要内容包括如下 三点: (1)深入分析了国内外考试的现状及发展趋势,并针对我国传统考试方式存在的 问题,设计出了具有交互、及时、安全的在线考试系统。 (2)深入对系统进行了需求分析、可行性研究与系统设计。 (3)在详细设计的基础上,进一步对系统进行了编码实现。 论文共分为六部分: 绪论 介绍课题的相关背景、研究现状以及论文研究的主要内容及意义。 第 4 页 需求分析 介绍了本系统的可行性研究、需求分析及相关关键技术。 概要设计 系统的概要设计(主要功能模块、数据库概念结构和逻辑结构设计、 数据库物理结构设计) 详细设计 介绍了本系统的详细设计(各个模块的实现及数据库的连接) 。 系统测试 介绍系统测试案例和测试结果。 使用说明 介绍系统运行环境的要求和用户操作提示。 第 5 页 2 系统需求分析 经过对本系统的调查研究,本系统的功能模块主要分为以下两个部分:前台考试 部分和后台管理部分。 2.1 系统功能分析 2.1.1 系统功能模块 前台考试部分:包括查看个人信息、开始考试、查看个人成绩三部分。 后台管理部分:包括用户管理、题库管理、试卷管理、成绩管理四部分,其中用 户管理包括添加考生、学生列表;题库管理包括添加试题、试题列表、导入试题;试 卷管理包括试卷列表、试卷模板、生成试卷。 2.1.2 系统界面设计分析 本系统不是一种娱乐性的系统而是在线考试系统,所以系统界面不易太花哨,要 设计成让人一目了然的效果。所以本系统在考虑到诸多问题之后,对各个方面的问题 采取了一定的措施: (1)用户友好性:用户操作使用系统时主观操作的复杂性低。本系统针对系统的 友好性,把系统设计的尽量减少用户的键盘操作,进而减少用户的操作。 (2)计算机启动的交互系统:一般具有良好的可学习性和可使用性,用户启动的 交互系统要具有交互能力强、灵活性高、运行速度快等特点。 (3)用户需求:用户需求包含功能需求和使用需求两方面,功能需求已经说了, 使用需求主要为:系统设计必须考虑到人使用计算机时的身体、心理要求,同时能让 用户舒适地使用计算机完成他们的工作。 2.2 系统性能分析 1、时间特性要求 管理功能操作:小于 3 秒 添加处理:小于 3 秒 第 6 页 查找操作:不超过 3 秒 2、可靠性 时间:该系统需长期持续正常工作。 环境:该系统只要是满足 CPU 在 Pentium IV 2Ghz,内存 256M,硬盘 50.0MB 剩 余空间以上即可正常运行。 3、输入输出要求 用户输入的信息都是通过键盘来实现的,输出信息为系统处理后的显示信息。 4、数据处理能力要求 系统运行期间可根据服务器的承受能力的不同,处理相应的用户操作,本系统的 处理能力与硬件信息有关。 5、故障处理要求 该系统所选择设计的模块能够提示用户所进行的不当操作或者是当前处理信息时 所遇到的错误 ,提醒用户进行适当的操作。 6、其他专门要求 灵活性:能够正确方便的进行模块的更新和根据用户的需求进行修改。 扩展性:能够根据信息的变迁、改动进行模块的延伸。 2.3 数据库分析 2.3.1 系统数据库分析 根据系统的平台需求,结合实际的需求分析,并对各个模块加以分析综合,确定 设计八张表 8:用户信息表、学生信息表、学生成绩信息表、考试试卷信息表、试卷模 板表、试卷内容表、题库表、题库类型表,各数据表及功能如下。 1用户信息表 dbo.admin 用户信息表用于存放用户的基本信息。用户信息数据表结构如表 2.1 所示。 表 2.1 dbo.admin 字 段 名 数据类型及长度 说 明 备 注 id int 编号 主键(自动增长) adminName nvarchar(30) 用户姓名 不允许为空 adminPwd nvarchar(20) 用户密码 不允许为空 第 7 页 2学生信息表 dbo.student 学生信息表主要用于存放学生用户的基本信息。学生信息表结构如表 2.2 所示。 表 2.2 dbo.student 字 段 名 数据类型及长度 说 明 备 注 id int 学生编号 主键(自动增长) stuNumber nvarchar(20) 学生学号 不允许为空 stuName nvarchar(10) 学生姓名 不允许为空 stuPwd nvarchar(6) 学生密码 不允许为空 stuSex nvachar( 2) 学生性别 允许为空 stuClass nvarchar(30) 学生班级 允许为空 stuRegDate smalldatetime 注册日期 允许为空 3考试成绩信息表 dbo.score 考试成绩信息表主要用于存放学生用户的考试成绩。考试成绩信息表结构如表 2.3 所示。 表 2.3 dbo.score 字 段 名 数据类型及长度 说 明 备 注 id int 试卷 id 不允许为空 paperId nvarchar(20) 试卷编号 不允许为空 stuNumber nvarchar(10) 学生学号 不允许为空 Score money(4,1) 学生成绩 允许为空 examDate smalldatetime 考试日期 允许为空 4考试试卷信息表 dbo.exam 每次考试之前,由管理员(教师)创建本次考试的试卷,试卷信息被保存在试卷 信息表中。 试卷编号组成:两位试卷类型(网络试卷:NW;软件试卷:SF)+年月日+5 位随机 码。 如:网络:NW2010041988888 或 软件:SF2010041977777 考试试卷信息表结构如表 2.4 所示。 第 8 页 表 2.4 dbo.exam 字 段 名 数据类型及长度 说 明 备 注 id int 试卷 id 主键,递增 type varchar(20) 试卷类型 不允许为空 paperId varchar(20) 试卷编号 不允许为空 title varchar(20) 标题 不允许为空 estimateCount int 判断题数量 不允许为空 estimateScore numeric(2,1) 判断题每题分数 不允许为空 choiceCount int 选择题数量 不允许为空 choiceScore numeric(2,1) 选择题每题分数 不允许为空 mangchoiceCount int 多选题数量 不允许为空 mangchoiceScore numeric(2,1) 多选题每题分数 不允许为空 doTime int 答题时间 不允许为空 setupDate smalldatetime 设置考试日期 不允许为空 5试卷模板表 dbo.examTemplate 试卷模板表主要保存生成试卷的基本条件。试卷模板表结构如表 2.5 所示。 表 2.5 dbo.examTemplate 字 段 名 数据类型及长度 说 明 备 注 id int 编号 主键 (自动增长) modelName varchar(20) 名称 不允许为空 estimateCount int 判断题数量 不允许为空 estimateScore numeric(2,1) 判断题每题分数 不允许为空 choiceCount int 选择题数量 不允许为空 choiceScore numeric(2,1) 选择题每题分数 不允许为空 Ext_Fill_Count int 填空题数量 不允许为空 Ext_Fill_Score numeric(2,1) 填空题每题分数 不允许为空 6试卷内容表 dbo.examContent 试卷内容表负责存储试卷的题目信息。试卷内容表结构如表 2.6 所示。 第 9 页 表 2.6 dbo.examContent 字 段 名 数据类型及长度 说 明 备 注 paperId varchar(20) 试卷 id 不允许为空 tkId int 题目编号 不允许为空 7题库表 dbo.tk 存储题目信息的题库表。题目级别:主要指题目是属于初级、中级、还是高级。 题库表结构如表 2.7 所示。 表 2.7 dbo.tk 字 段 名 数据类型及长度 说 明 备 注 id int 题目编号 主键(自动增长) Type int 题目类型 不允许为空 level int 题目等级 不允许为空 tkType int 科目类型 不允许为空 question nvarchar(MAX ) 题目内容 不允许为空 answer nvarchar(20) 正确答案 不允许为空 date smalldatetime 添加题目日期 允许为空 8题库类型表 dbo.tkType 存储题目信息的题库类型。题库类型表结构如表 2.8 所示。 表 2.8 dbo.tk 字 段 名 数据类型及长度 说 明 备 注 id int 试卷 id 不允许为空 typeName varchar(20) 题目类型 不允许为空 2.3.2 数据库结构分析 该系统的开发采用 SQL Server2005 数据库 10,在数据库中建立了八张表,各表都 有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程 序等优点,系统在运行过程中通过与各自不同的主键进行匹配完成相关操作,其中在 管理员信息表中设置“身份”这一字段,分别用“管理员”和“学生”进行区分用户 第 10 页 权限。 2.4 系统开发环境 2.4.1 硬件、软件平台 鉴于以上对系统的分析,可以得出开发运行本系统所要求的硬件平台主要为: (1)操作系统:WindowXP; (2)CPU:P 以上; (3)内存:256 MB 以上; (4)开发工具软件:Eclipse6.0、Photoshop CS4; (5)数据库程序:SQL Server2005; (6)服务器:Smart Server V-13。 2.4.2 系统开发技术描述 本系统的管理界面采用 JSP 中的 MVC 分层技术 12,MVC 是三个单词的缩写,分别 为:模型(Model),视图(View)和控制 Controller)。MVC 模式的目的就是实现 Web 系统 的职能分工。在对服务器端和客户端操作中使用 Vbscript 和 Javascript 脚本语言,使能 在客户端解决问题在客户端解决,减轻服务器的负担,提高系统的速度。在对与数据 库的交互操作中,使用 SQL 检索技术。 在系统的代码实现过程中,把代码模块化,代码间相互调用,这样便于系统的扩 充系统代码维护和代码重用。 第 11 页 3 系统概要设计 3.1 总体结构设计 3.1.1 系统 HIPO 图 根据认真详细的系统需求分析 7可以得出开发本系统的结构,本系统的 HIPO 图为: 基 于 W E B 的 在 线 考 试 系 统 前台考试 后台管理 学生管理 系统信息 用户管理 题库管理 试卷管理 成绩管理 系统信息 查看个人信息 开始考试 个人成绩 退出系统 添加学生 学生列表 添加试题 试题列表 导入试题 试卷列表 试卷模板 生成试卷 查看考试成绩 当前登录用户 系统首页 退出系统 系统首页 图 3.1 系统 HIPO 图 第 12 页 3.1.2 系统主要功能模块 本系统的功能模块主要分为以下两个部分:前台考试部分和后台管理部分。 前台考试部分:包括查看个人信息、开始考试、查看个人成绩三部分。 后台管理部分:包括用户管理、题库管理、试卷管理、成绩管理四部分,其中用 户管理包括添加考生、学生列表;题库管理包括添加试题、试题列表、导入试题;试 卷管理包括试卷列表、试卷模板、生成试卷。 3.2 数据库结构设计 3.2.1 数据库概念结构设计 根据软件工程所学知识和以上对本次毕业设计系统的分析,最终画出系统的实体 关系图(E-R 图)如下所示。 用户名 密码 试卷编号 科目类型 题型 等级 学号 姓名 注册时间 成绩 班级 性别 密码 管理员 学生 试卷管理 选择管理 图 3.2 系统实体关系图 3.2.2 数据库逻辑结构设计 由图 3.2 实体关系图可以得到系统的关系模式为: 管理员(用户名,密码) 学生(学号,姓名,密码,性别,班级,成绩,注册时间) 试卷(试卷编号,科目类型,题型,等级) 第 13 页 3.2.3 数据库物理结构设计 根据上述层层分析,系统数据库物理结构设计如图所示。 图 3.3 用户信息表 图 3.4 考试试卷信息表 图 3.5 试卷内容表 第 14 页 图 3.6 试卷模板表 图 3.7 考试成绩表 图 3.8 学生信息表 第 15 页 图 3.9 题库表 图 3.10 题库类型表 第 16 页 4 系统详细设计 无论是管理员还是学生只有登录成功后才能使用本系统。登录成功后的学生即可 执行权限主要有:查看个人信息、开始考试、查看个人成绩三部分。登录成功后的管 理员即可执行权限主要有:用户管理、题库管理、试卷管理、成绩管理四部分,其中 用户管理包括添加考生、学生列表;题库管理包括添加试题、试题列表、导入试题; 试卷管理包括试卷列表、试卷模板、生成试卷。 4.1 系统总体设计 4.1.1 用户登录界面设计 用户向系统输入身份验证信息并提交,等待系统的验证,验证成功即可进入系统 主界面页面,如果身份认证失败,则无法进入系统,系统再次转向登录界面。 图 4.1 用户登录页面 package com.bean; /* * 管理员 Bean * author DLZZ * */ public class Admin private int id; private String adminName; 第 17 页 private String adminPwd; public String getAdminName() return adminName; public void setAdminName(String adminName) this.adminName = adminName; public String getAdminPwd() return adminPwd; public void setAdminPwd(String adminPwd) this.adminPwd = adminPwd; public int getId() return id; public void setId(int id) this.id = id; package com.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.JDBC.DBConnection; import com.bean.Admin; /* 第 18 页 * 管理员 Dao * author DLZZ * */ public class AdminDao private Connection conn; private PreparedStatement pstmt; private ResultSet rs; /* * 根据姓名查询管理员信息 * param adminName 管理员姓名 * return admin 内容集合 * throws SQLException Dao 层抛出的异常 */ public Admin findByName(String adminName) throws SQLException Admin admin = new Admin(); conn = DBConnection.getConnection(); try pstmt = conn.prepareStatement(select * from Admin where adminName=? ); pstmt.setString(1, adminName); rs = pstmt.executeQuery(); while (rs.next() admin.setId(rs.getInt(id); admin.setAdminName(rs.getString(adminName); admin.setAdminPwd(rs.getString(adminPwd); catch (SQLException e) throw new SQLException(执行 SQL 语句出错了,原因 =+e); finally 第 19 页 try if(rs != null) rs.close(); if(pstmt != null) pstmt.close(); if(conn != null) conn.close(); catch (SQLException e) throw new SQLException(关闭连接出错了,原因 =+e); return admin; 4.1.2 系统管理员主页设计 系统管理员主页是管理员操作的直接界面,该界面上包含着管理员的所有功能模 块,本系统的管理界面采用 JSP 中的 MVC 分层技术 12,MVC 是三个单词的缩写,分别 为:模型(Model),视图(View)和控制 Controller)。MVC 模式的目的就是实现 Web 系统 的职能分工。 图 4.2 系统管理员主页 第 20 页 4.1.3 系统学生主页设计 系统学生主页是学生操作的直接界面,该界面上包含着学生的所有功能模块,本 系统的管理界面采用 JSP 中的 MVC 分层技术 12,MVC 是三个单词的缩写,分别为:模 型(Model),视图(View)和控制 Controller)。MVC 模式的目的就是实现 Web 系统的职能 分工。 图 4.3 系统学生主页 4.2 系统管理员操作设计 登录成功后的管理员即可执行权限主要有:用户管理、题库管理、试卷管理、成 绩管理四部分,其中用户管理包括添加考生、学生列表;题库管理包括添加试题、试 题列表、导入试题;试卷管理包括试卷列表、试卷模板、生成试卷。 1、添加学生页面 管理员可以在此添加学生信息或者取消添加操作,其中学生学号、姓名、班级为 必填,性别为必选项,密码不做要求,填写完毕后点击“提交”就可以完成提交学生 信息操作,或点击“取消”就可以取消本次操作,如图 4.4 添加学生信息页面。 图 4.4 添加学生界面 2、学生列表页面 管理员可以在此查找、修改、删除学生信息,学生信息有学生编号、考号、姓名、 班级、注册日期。在“根据名称” 、 “学号”填入相关信息点击搜索符号就可以查找学 生信息;双击一个学生信息就可以修改学生信息;在每个学生信息后面都有一个“删 除”操作,点击“删除”就可以删除该学生的信息,如图 4.5 学生列表页面。 第 21 页 图 4.5 学生列表界面 3、添加试题页面 管理员可以在此添加试题,在这里管理员可以选择“单选” 、 “判断” 、 “多选”题 目类型,还可以选择“类型” 、 “级别” ,并在文本框中输入考试题目、设置正确答案, 点击“保存”就可以完成添加试题工作,如图 4.6 添加试题页面。 图 4.6 添加试题界面 4、试题列表界面 管理员可以在此查找、修改、删除试题信息,试题列表信息有题目编号、题目种 类、题目等级、题目类型、题目内容、正确答案、录入时间。在“试题类型” 、 “等级” 、 “科目”选择相关信息点击“开始搜索”就可以查找试题列表信息;双击一个试题就 可以修改试题信息;在每个试题列表信息后面都有一个“删除”操作,点击“删除” 就可以删除该试题列表信息,如图 4.7 试题列表界面。 图 4.7 试题列表界面 5、导入试题界面 管理员可以在此选择导入试题路径并导入试题信息,在这里管理员可以选择“类 型” 、 “级别” 、 “题库” ,点击“浏览.”可以选择带入试题的路径,选择好试题后点击 “开始导入题库”就可以完成导入试题操作,如图 4.8 导入试题界面。 第 22 页 图 4.8 导入试题界面 6、试卷列表界面 管理员可以在此查看、删除试卷列表信息,试卷列表信息有题目编号、专业类型、 试卷编号、试卷名称、判断题、单选题、多选题、录入时间、答题时间(分钟) 。在每 个试卷列表信息后面都有一个“删除”操作,点击“删除”就可以删除该试卷列表信 息,如图 4.9 试卷列表界面。 图 4.9 试卷列表界面 7、试卷模板列表界面 管理员可以在此查看、删除试卷模板列表信息,试卷模板列表信息有模板名称、 判断题数量、判断题分值、选择题数量、选择题分值、多选题数量、多选题分值,在 每个试卷模板列表信息后面都有一个“删除”操作,点击“删除”就可以删除该试卷 模板列表信息,如图 4.10 试卷模板列表界面。 图 4.10 试卷模板列表界面 8、生成试卷界面 管理员可以在此选择并填写试卷信息点击提交生成试卷,其中“命名试卷标题” 、 “添加选择题数量” 、 “选择题分值” 、 “添加判断题数量” 、 “判断题分值” 、 “添加多选 题数量” 、 “多选题分值” 、 “设置考试时间”为必填项,其他项可以根据自己的需要进 行选择填写,如图 4.11 生成试卷界面。 第 23 页 图 4.11 生成试卷界面 9、当前登录界面 管理员可以在此查看自己的登录信息,内容包括管理员账号、登录密码,如图 4.12 当前登录界面。 图 4.12 当前登录界面 4.3 学生操作设计 登录成功后的学生即可执行权限主要有:查看个人信息、开始考试、查看个人成 绩三部分。 1、个人信息界面 学生可以在此查看自己的个人信息,学生信息包括学号、姓名、密码、性别、班 级、注册时间,如图 4.13 个人信息界面。 图 4.13 个人信息界面 2、选择试卷界面 学生可以在此选择自己要参加的考试试卷,在此会显示题目编号、专业类型、试 卷编号、试卷名称、判断题数量、判断题分值、单选题数量、单选题分值、录入时间、 操作等信息,如图 4.14 选择试卷界面。 第 24 页 图 4.14 选择试卷界面 3、个人成绩记录界面 学生可以在此查看自己个人成绩记录,在此会显示学生号、姓名、性别、班级、 试卷标题、成绩,如图 4.15 个人成绩记录界面。 图 4.15 个人成绩记录界面 4.4 连接数据库 使用 JDBC 方式连接 SQL Server 2005 数据库,步骤如下: 1. 关闭防火墙。 2. 配置 TCP 端口: a. 开始 -所有程序-Microsoft SQL Server 2005-配置工具-SQL Server 配置管理 器-SQL Server 2005 网络配置-MSSQLSERVER 协议 b. 启用“TCP/IP”(右键单击选择“启动” ) c. 双击“TCP/IP”-“IP 地址”-“IPAll”-“TCP 端口” 项添加默认的“1433” 端口 3. 外围应用配置:Microsoft SQL Server 2005-配置工具 -SQL Server 外围应用配 置器-服务和连接的外围应用配置器- a.选 SQLEXPRESS-Database Engine-远程连接-本地连接和远程连接- 同时使用 TCP/IP 和 named pipes b.选 SQL Server Browser-服务- 启动类型改为 “自动”-应用-启动-确定 4. 修改默认的登录验证模式(如果在安装过程中是默认按“Windows 身份验证模 第 25 页 式”方式安装,所以 sa 登录是被禁用的,即使将身份验证模式更改为“SQL Server 和 Windows 身份验证模式”,sa 登录仍处于禁用状态,所以需要启用 sa 登录帐户): a.在 SQL Server Management Studio 的对象资源管理器中,安全性 -登录名-右击 “sa”-属性 - 常规-将登录名 sa 的密码和确认密码设为强密码 -状态-登录-启用-确定 b.在 SQL Server Management Studio 的对象资源管理器中,右击服务器-属性-安 全性-服务器身份验证-选择“SQL Server 和 Windows 身份验证模式”-确定- 确定 5. 在 SQL Server Management Studio 中新建一个数据库(例如“mytest”,如果测试程 序带有数据库文件也可不用新建而直接附加到当前 SQL Server 数据库服务器);在 SQL Server Management Studio 的对象资源管理器中右击服务器 -重新启动-是 6. 运行下载的 JDBC 文件“sqljdbc_1.2.2828.100_chs.exe”,解压到“C:Program Files”文件夹中;将 Classpath 设置为包含 sqljdbc.jar 文件(也可加到系统环境变量中), 建议从解压文件夹下找到 sqljdbc.jar,将其复制到自己常用的 Jar 文件夹里,用的时候 方便找到。 7. 在 Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5 进行 JDBC 连接设置并测试 a.打开 Eclipse3.2 / 3.3 或 MyEclipse6.0 / 6.5,新建 Java Project”,项目名为 Test b.选择“Window”“Preferences”“Java”“Installed JREs”,选定已安装的 JRE, 点击“Edit.”“Add External JARs”,找到 sqljdbc.jar 并添加OK c.Window-Open Perspective-MyEclipse Database Explorer-(左侧)DB Browser右键“New”-填写链接属性 Driver name,URL 为:jdbc:sqlserver:/ localhost:1433;databaseName=mytest,User name: sa,Password:密码。然后在 Driver JARs 点 Add JARs 添加 sqljdbc.jar,点及 Test Driver 测试,勾上 Save Password 保存密 码,点击完成结束即完成了在 DB Browser 中连接数据库配置。 第 26 页 5 系统运行与测试 软件测试是软件系统完成前的一项重要工作,客户应该尽可能完整地运行自已的 软件,检查所有的链接是否正确,文字是否准确,效果是否恰当,功能是否完善。在 这里,本人就该系统几个重要部分的测试做几点阐述。 5.1 登录测试 登录测试主要是测试系统与数据库的连接 9。用户在登录界面输入用户名和密码, 点击“登录”按钮,便可查看测试结果。在这里我进行的测试有: (1) 输入相应正确的用户名和密码,点击“登录” ,便可成功进入系统的主界面。 (2) 用户名或密码为空或者不正确,点击“登录” ,不能正常进入系统,会跳转到 一个出错界面并提示退出系统,然后系统再次转向登录界面。 5.2 管理员添加学生测试 管理员成功登录系统后,在主界面左侧中点击“添加学生” ,右侧会出现“添加学 生”界面。管理员可以在此添加学生信息或者取消添加操作,填写完毕后点击“提交” 就可以完成提交学生信息操作,或点击“取消”就可以取消本次操作,在这里我进行 的测试有: (1)学生学号、姓名、班级、性别、密码全部填写后,点击“提交” ,便可成功添加 一个学生信息。 (2) 学生学号、姓名、班级、性别其中有一项没有填写,点击“提交” ,系统会提 示出错信息,提示这四项为必填项必须全部填写。 5.3 管理员生成试卷测试 管理员成功登录系统后,在主界面左侧中点击“生成试卷” ,右侧会出现“生成试 卷”界面。根据自己的需求选择和填写各个选项,然后点击“提交试卷” ,就可以完成 生成试卷工作。在这里在这里我进行的测试有: (1)所有选项全部填写,可以成功完成生成试卷工作。 (2)必填选项一个没有填写,就不可以完成生成试卷工作。 第 27 页 5.4 管理员添加模板测试 管理员成功登录系统后,在主界面左侧中点击“添加模板” ,右侧会出现“添加模 板”界面。根据自己的需求选择和填写各个选项,然后点击“提交” ,就可以完成添加 模板工作。在这里在这里我进行的测试有: (1)在填写判断题数量和分值是填入数字,可以成功完成添加模板工作。 (2)在填写判断题数量和分值是不填入数字,就不可以完成添加模板工作。 5.5 测试总结 通过以上测试,证明了该系统的正确性、健壮性和软硬件兼容性。系统通过了测 试。 第 28 页 6 系统的使用说明与安装 6.1 运行环境要求 由于本系统需要安装 SQL server2005(个人版)服务器,本系统所要求的硬件平台主 要为: (1)操作系统:Windows XP; (2)CPU:P 以上; (3)内存:256MB 以上; (4)最佳效果:1024800。 6.2 安装设置 (1)在电脑中安装好所需软件(SQL Server 2005) ; (2)打开 SQL server 的“企业管理器” ,右击数据库“所有任务”“添 加附加数据库” ,点击该按钮 ,找到“onlineExam /data”文件夹中的“datak” 数 据库文件夹,将该目录下的“datak_Data.MDF”选中,之后点击确定即可添加数据库成 功; (3)双击“onlineExam”文件夹中的 Smart Server V-13 服务器,即可打开本系统。 6.3 源程序用户名和密码 本系统程序管理员用户名和密码为: 用户名:admin, 密 码:123456 学生用户名和密码为: 用户名:A000 ,密 码:123 第 29 页 结 论 计算机应用迅猛发展,网络应用不断扩大,各式各样的考试层出不穷,使得在线 考试系统成为现实。在线考试系统可以发挥网络的优势,建立大型、高效、共享的题 库和实现随时随地的考试,降低考试成本,减少人为干扰,减轻教师负担,节约人力、 物力和财力。本说明书主要介绍了该系统的开发背景和发展前景、研究内容和设计理 念以及系统的实现过程,该系统是一个基于 Web 采用 B/S 即浏览器和服务器结构模式, 服务器端采用 JDBC 方式连接数据库。经过对本系统的调查研究,对本系统的功能模 块主要分为以下两个部分:前台考试部分和后台管理部分,其中前台考试部分:包括 查看个人信息、开始考试、查看个人成绩三部分;后台管理部分:包括用户管理、题 库管理、试卷管理、成绩管理四部分。 毕业论文是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比 较完整的基于 Web 的在线考试系统设计,摆脱了单纯的理论知识学习状态,和实际设 计的结合锻炼了综合运用所学的专业基础知识,解决实际问题的能力,同时也提高查 阅文献资料、设计手册、设计规范等其他专业能力水平,而且通过对整体的掌控,对 局部的取舍,以及对细节的斟酌处理,都得到了锻炼,经验得到了丰富,并且意志品 质力,抗压能力及耐力也都得到了不同程度的提升。 第 30 页 致 谢 在本次毕业设计过程中,我得到了指导老师叶老师给予的指导与支持,在此特别 感谢指导老师耐心的指导和技术帮助,同时感谢我身边的同学的帮助。指导老师的悉 心指导和大力支持,让我从中学了很多知识,这对于我完成这次毕业设计起到了关键 性的作用。 我还要感谢我的母校,以及在大学四年生活中给予我关心和帮助的老师和同学, 是他们教会了我专业的知识和做人的道理。通过这次毕业设计我还明白了作为一名软 件工程专业的大学毕业生,我们要会的不仅仅是编写代码,更重要的是要有整体把握 系统设计的能力。我会在以后的工作和学习中不断完善自己,为我最热爱的母校争光, 为自己翻开辉煌的新篇章。 最后,对阅读和评审我的论文的各位专家老师表示衷心的感谢,谢谢你们能够在 百忙之中抽出时间来批阅我的论文! 第 31 页 参考文献 1 丁振凡 Java 语言使用教程M北京:北京邮电大学出版社,2005 2 郭学涛 JSP 基于 SQLserver 构建中小企业电子商务网站 M北京:微型电脑应 用,2004 3 刘剑JSP 网站开发与设计 M上海:电脑知识与技术:学术交流,2005 4 权宁一 JSP 技术及其在企业电子商务系统中的应用M重庆:电脑与信息技术, 2004 5 林刚,罗彬,杨传金基于 JSP 档案管理系统设计M 北京:读者工作,36 卷 1 6王珊数据库系统概论M 北京:高等教育出版社,2002 7 张海藩软件工程导论(第四版)M 北京:清华大学出版社,2003.11 8 王珊,萨师煊数据库系统概论(第四版)M 北京:清华大学出版社, 2006.7 9 符静波,马辉明中小型企业网站建设解决方案J成都:计算机应用研究, 2001 10 陈伟 编著 SQL Server 2005 数据库应用与开发教程 北京:清华大学出版社, 2007 11 刘乃丽精通 JAVA EE 项目实例J 北京:人民邮电出版社,2008 12 陈欣,缪天鹏基于 JSP 动态网站的建设M南京:计算机与数字工程,2004 13 朱福喜,黄昊 Java 项目开发与毕业设计指导J 北京:清华大学出版社, 2008.6.
展开阅读全文