基于B-S架构的雅思的在线考试系统的设计与实现.doc_第1页
基于B-S架构的雅思的在线考试系统的设计与实现.doc_第2页
基于B-S架构的雅思的在线考试系统的设计与实现.doc_第3页
基于B-S架构的雅思的在线考试系统的设计与实现.doc_第4页
基于B-S架构的雅思的在线考试系统的设计与实现.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

论文 摘 要 随着信息技术的发展 教育网络化已经渗透到各个领域 作为对传统考试方式的 改革 网络化考试是近年来研究的一个热点课题 在线考试系统是网络化考试系统的 重要组成部分 本论文的主要工作是研究并实现一个在线考试系统 该系统由学生考试模块 教师管理模块两部分组成 可允许学生和教师在客户端 使用浏览器通过Internet访问该系统数据库 其中学生考试模块具有在线考试的功能 教师管理模块具有添加试题 试卷管理 学生信息管理 批阅试卷等功能 本系统利用 Windows XP 作为开发平台 JSP 作为开发技术 后台数据库使用 SQLSERVER2000 实现连接 设计的软件综合了具有一定代表性的在线考试系统的模式 在中间层采用的技术主要有 JSP 最终 该系统完成了课题设计要求的任务 达到了简 化试卷的出 答 改 管理的目的 关键词 关键词 在线考试 JSP SQLSERVER2000 ABSTRACT With the development of information technology education network has infiltrated into various fields As a way to the traditional examination of the reforms in recent years the network is on the examination of a hot topic Online network examination system is an important component part of this paper s main task is to study and the realization of online examination system This system consists of students and teachers management module exam module two parts Allows students and teachers in the client browser through the use of Internet SQLServer2000 the database system including test module is online examination function the teacher management module is added test examination management information management the students read papers etc This system uses Windows XP as development platform JSP as the development of technology the backend database using SQLSERVER2000 realize connecting The software design of integrated with typical online examination system model In the middle of the main technology using JSP Finally this system has completed the task design requirements subject to simplify the papers and answer change management purpose Key word online examination JSP SQLSERVER2000 目目 录录 第一章 绪论 1 1 1 1 开发背景 1 1 2 目的及意义 1 1 3 系统的开发工具 2 第二章 需求分析 4 4 2 1 问题分析 4 2 2 方案选择 4 2 2 1 JSP 优点 4 2 2 2 SQLServer2000 简介 4 第三章 系统总体设计 6 6 3 1 系统功能设计 6 3 1 1 系统结构图 6 3 1 2 系统功能 6 3 2 系统功能流程图 7 第四章 数据库设计 1010 4 1 系统 E R 图 10 4 2 数据库中表的设计 10 第五章五章 系统详细设计与实现 1313 5 1 学生考试模块的详细设计 13 5 2 管理员管理模块的详细设计 15 5 3 管理员管理模块的详细设计 17 第六章 软件测试 1919 6 1 软件测试的目的及意义 19 6 2 测试的方法 19 6 3 测试用例 19 总 结 2121 谢 辞 2222 参考文献 2323 第一章 绪论 1 1 开发背景 随着网络技术的飞速发展 现在很多国外的大学和社会其他部门都已经开设了远 程教育 通过计算机网络实现异地教育和培训 现在 计算机硬件技术的发展已经达 到了相当高的水平 但是 远程教育软件的开发目前还处于起步阶段 随着这项技术 的不断深入发展 就要求有更好 更完善的软件系统应用到远程教育当中去 这就给 软件设计人员提出了更高的设计要求 远程教育包括很多环节 例如教学系统 答疑系统和考试系统等等 其中很重要 的一个环节就是在线考试系统 同时它也是最难实现的环节 在我国 虽然远程教育 已经蓬勃地发展起来 但是目前学校与社会上的各种考试大都采用传统的考试方式 在此方式下 组织一次考试至少要经过五个步骤 即人工出题 考生考试 人工阅卷 成绩评估和试卷分析 显然 随着考试类型的不断增加及考试要求的不断提高 教师 的工作量将会越来越大 并且其工作将是一件十分烦琐和非常容易出错的事情 可以 说传统的考试方式已经不能适应现代考试的需要 随着计算机应用的迅猛发展 网络 应用不断扩大 如远程教育和虚拟大学的出现等等 且这些应用正逐步深入到千家万 户 人们迫切要求利用这些技术来进行在线考试 以减轻教师的工作负担及提高工作 效率 与此同时也提高了考试的质量 从而使考试更趋于公证 客观 更加激发学生 的学习兴趣 例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采 用这种方式 在线考试是现阶段研究开发的一个热点 它是建立在国际互联网上的应用系统 客户端的配置可以极为简单 使考试不受地域的局限 一个完备的在线考试系统可以 使用户在网上学习过后及时检验自己的学习效果 已发现自己的不足 使得学习效率 得到很大提高 在线考试系统中题目的生成 试卷的提交 成绩的批阅等都可以在网 络上自动完成 只要形成一套成熟的题库就可以实现考试的自动化 这样一来 教师 所要做的只是精心设计题目 维护题库 而不是组织考试 从而大大减轻了教师的负 担 这表明其经济性是相当可观的 为了适应新形势的发展 我进行了这一系统的初 步设计工作 也可以说是做一个初步的探索 希望它能够在各类考试中发挥高效 便 捷的作用 把老师从繁重的工作中解脱出来 1 2 目的及意义 通过互联网实现授课的同时 也可以实现集中统一的网上考试 实现考试现代化 科学化的管理 在线考试是现阶段研究开发的一个热点 它是建立在国际互联网上的 应用系统 客户端的配置可以极为简单 使考试不受地域的局限 一个完备的在线考 试系统可以使用户在网上学习过后及时检验自己的学习效果 发现自己的不足 使得 学习效率得到很大提高 为此 本次设计基于 B S 架构的雅思的在线考试系统 正是顺应了教育信息化改 革的大趋势 是 Internet 技术与计算机技术在教育教学领域的应用 网络考试系统 它将给现代教育教学的考试 提供一个很好的解决方案 成为教育教学管理的最佳辅 助方式之一 让传统教育中的考试也朝网络化的方向发展 在线考试系统借助计算机技术 能够在 Windows 平台上 使用 IE 浏览器 完成考 试 交卷等考试任务 还可以通过互联完成考试的控制 借助原来的数据库 各考点 可以通过网络决定试卷 学生通过网络选择开考的试卷 然后进行在线作答 答卷后 学生可在线自动交卷 交卷同时 系统将自动评分 生成考试成绩数据 教师可在线 查看各考生的成绩 同时本系统 可对学生基本信息及考试成绩信息进行查询 更改 等管理 也有利于学校教务的管理 在线考试系统是集合现代考试理论 方法和现代信息技术手段的智能化网上考试 系统 为学生的个性化学习提供 灵活 方便 科学 公平 的 个别化考试服务 是终结性评价系统 本系统适合各类的成人远程教育管理使用 也适合组织校园内在 校生开考用 1 3 系统的开发工具 系统的开发中使用到的工具有 S 微软公司生产的 SQLSERVER2000 数据库和 Visual studio 2008 操作系统是 Microsoft Windows XP SP2 JSP 是 Active Server Page 的缩写 意为 动态服务器页面 JSP 是微软公司开 发的代替 CGI 脚本程序的一种应用 它可以与数据库和其它程序进行交互 是一种简单 方便的编程工具 JSP 的网页文件的格式是 JSP 现在常用于各种动态网站中 JSP 是一种服务器端脚本编写环境 可以用来创建和运行动态网页或 Web 应用程序 JSP 网 页可以包含 HTML 标记 普通文本 脚本命令以及 COM 组件等 利用 JSP 可以向网页中 添加交互式内容 如在线表单 也可以创建使用 HTML 网页作为用户界面的 web 应用 程序 与 HTML 相比 JSP 网页具有以下特点 1 利用 JSP 可以实现突破静态网页的一些功能限制 实现动态网页技术 2 JSP 文件是包含在 HTML 代码所组成的文件中的 易于修改和测试 3 服务器上的 JSP 解释程序会在服务器端执行 JSP 程序 并将结果以 HTML 格 式传送到客户端浏览器上 因此使用各种浏览器都可以正常浏览 JSP 所产生的网页 4 JSP 提供了一些内置对象 使用这些对象可以使服务器端脚本功能更强 例 如可以从 web 浏览器中获取用户通过 HTML 表单提交的信息 并在脚本中对这些信息进 行处理 然后向 web 浏览器发送信息 5 JSP 可以使用服务器端 ActiveX 组件来执行各种各样的任务 例如存取数据 库 发现和那个 Email 或访问文件系统等 6 由于服务器是将 JSP 程序执行的结果以 HTML 格式传回客户端浏览器 因此 使用者不会看到 JSP 所编写的原始程序代码 可防止 JSP 程序代码被窃取 7 方便连接 SQLSERVER2000 与 SQL 数据库 8 开发需要有丰富的经验 否则会留出漏洞 让黑客利用进行注入攻击 当在 Web 站点中融入 JSP 功能后 将发生以下事情 1 用户向浏览器地址栏输入网址 默认页面的扩展名是 JSP 2 浏览器向服务器发出请求 3 服务器引擎开始运行 JSP 程序 4 JSP 文件按照从上到下的顺序开始处理 执行脚本命令 执行 HTML 页面内容 5 页面信息发送到浏览器 SQLServer2000 是微软公司推出的基于 Windows 的桌面关系数据库管理系统 RDBMS 即 Relational Database Management System 是 Office 系列应用软件之 一 它提供了表 查询 窗体 报表 页 宏 模块 7 种用来建立数据库系统的对象 提供了多种向导 生成器 模板 把数据存储 数据查询 界面设计 报表生成等操 作规范化 为建立功能完善的数据库管理系统提供了方便 也使得普通用户不必编写 代码 就可以完成大部分数据管理的任务 SQLServer2000 的最初名称是 Cirrus 它 开发于 Visual Basic 之前 当时的窗口引擎称作 Ruby 比尔盖茨看过 Ruby 的原型后 决定把这个基于 Basic 语言的组件作为一个独立的可扩展应用程序与 SQLServer2000 联合开发 这个项目称作 Thunder 这两个项目互相独立的被作为底层的窗口引擎开发 并且互不兼容 然而 在 VBA 出现后它们被合并在一起 1995 年末 SQLServer2000 95 发布 这是世界上第一个 32 位关系型数据库管理系统 使得 SQLServer2000 的应用 得到了普及和继续发展 1997 年 SQLServer2000 97 发布 它的最大特点是在 SQLServer2000 数据库中开始支持 web 技术 这一技术上的发展 开拓了 SQLServer2000 数据库从桌面向网络的发展 21 世纪初 microsoft 发布 SQLServer20002000 这是微软强大的桌面数据库管理系统的第六代产品 也是 32 为 位 SQLServer2000 的第三个版本 至此 SQLServer2000 在桌面关系型数据库的领域的 普及已经跃上了一个新台阶 2003 年微软正式发布了 SQLServer2000 2003 这是继 2002 年后发布的最新版本 它在继承了以前版本的有点外 又新增了一些使用功能 第二章 需求分析 2 1 问题分析 传统的学校教学中 进行一场考试 要求老师刻试卷 印试卷 安排考试 监考 收集试卷 评改试卷 讲评试卷和分析试卷 这是一个繁杂的过程 需要大量人力 物力与时间的投入 已经越来越不适应学校信息化建设与现代教学的需要 尤其在远 程网络教学中 学生分布广 不易统一集中安排考试 给校方和学生带来了众多的不 便 而网络考试系统 正是信息化建设的产物 它是传统考场的延伸 它可以利用互 联网络和局域网 随时随地的对学生进行考试 加上数据库技术的利用 大大简化了 传统考试的过程 因此网络考试是电子化教学的不可缺少的辅助手段 在线考试系统 是基于计算机网络的应用系统 它可以使考试不受时间 地域限制 一方面 极大地 减轻了教师出卷 改卷的工作量 另一方面 在线考试系统采用试题库方式提供试题 来源 考前无任何成套试卷 考试时考卷由计算机现场随机生成 各考生试卷不完全 相同 从而避免了互相参看等作弊现象或不公平成绩的出现 此外 试题库还可指定 专人负责管理 因而增强了试卷的保密性 采用传统的卷面考试时 由于出卷 印刷 等方面的原因 一般一次考试所印试卷套数较少 使得试卷整体覆盖面有限 容易形 成小范围复习或猜题等现象 影响了考试的客观性 在线考试系统采用随机抽题的方 式 试题抽取范围相对较大 从而使试卷整体覆盖面变大 可较全面的考察考生的实 际水平 保证了考试的客观准确性 还可以使学生能随时检验自己的学习效果 使学 习效率得到更大的提高 另外 考试者选择答案提交后 应该由计算机自动判卷 得 到成绩后可以显示并且能够打印 考试完毕后 考试者可以返回登录界面或继续考试 此外 还应该能够方便 快捷的对在线考试系统进行管理 2 2 方案选择 用户的需求具体体现在各种信息的提供 保存 更新和查询 这就要求数据库结 构能充分满足各种信息的输出和输入 收集基本数据 数据结构以及数据处理的流程 组成一份详尽的数据字典 为后面的具体设计打下基础 2 2 1 JSP 优点 从技术角度来分析 Microsoft Active Server Pages 即我们所称的 JSP 其实 是一套微软开发的服务器端脚本环境 JSP 内含于 APACHE 之中 通过 JSP 我们可 以结合 HTML 网页 JSP 指令和 ActiveX 元件建立动态 交互且高效的 WEB 服务器 应用程序 有了 JSP 你就不必担心客户的浏览器是否能运行你所编写的代码 因为所 有的程序都将在服务器端执行 包括所有嵌在普通 HTML 中的脚本程序 当程序执行 完毕后 服务器仅将执行的结果返回给客户浏览器 这样也就减轻了客户端浏览器的 负担 大大提高了交互的速度 2 2 2 SQLServer2000 简介 目前 绝大多数流行的关系型数据库管理系统 如 Oracle Sybase Microsoft SQLServer2000 Access 等都采用了 SQL 语言标准 虽然很多数据库都对 SQL 语句进行 了再开发和扩展 但是包括 Select Insert Update Delete Create 以及 Drop 在 内的标准的 SQL 命令仍然可以被用来完成几乎所有的数据库操作 SQLServer2000 能够 管理 OLTP 和 OLAP 两种数据库 OLTP 数据库和 OLAP 数据库 OLTP 数据库 通常情况 下 为了降低数据库的冗余信息 并加快数据库更新的速度 OLTP 数据库中的数据被 组织存放到关系表中 SQLServer2000 能够允许大量用户执行事务处理 并且能够并发 更改 OLTP 数据库中的实时数据 在实际工作中 OLTP 数据库得到了广泛的应用 诸如 航空售票系统和银行事务系统等 OLAP 数据库 通过利用 OLAP 技术对大量数据进行组 织和汇兑 分析程序能够对数据进行快速评价 甚至得到实时分析结果 Microsoft SQLServer2000 2000 Analysis Services 能够对数据进行组织 使其能够适用于大量 的企业解决方案 诸如企业报告 企业分析 数据建模和决策支持等领域 根据本系统的特点 本系统采用的是 SQLServer2000 MS SQLSERVER2000 是微软 公司生产的中型关系数据库管理系统 它有如下的一些特点 1 客户 服务器体系结构 2 图形化的用户界面 使系统的管理更加直观和 简单 3 丰富的编程接口 为用户进行应用程序设计提供了更大的选择余地 4 与Windows NT操作系统的有机集成 多线程体系结构设计 提高了系统对用户并发访 问的速度 5 对Web技术支持 使用户能够很容易的将数据库中的数据发布到网上 6 价格上的优势 与其它一些大型数据库系统如Oracle Sybase等相比 SQLServer2000的价格非常便宜 综上所述 此系统开发目标已明确 在技术和经济等方面都可行 并且投入少 见效快 因此系统的开发是完全可行的 第三章 系统总体设计 3 1 系统功能设计 软件在需求分析结束后的下一个阶段就是系统总体设计 系统设计的方法有 面向 数据流的设计 面向功能的设计和面向对象的设计 本考试系统采用面向对象的设计 面向对象分析和面向对象的设计之间有密切的衔接关系 从分析到设计是一个逐 渐扩充的过程 是在同一个对象模型基础上调整改进和扩充的过程 OOA以问题为中心 OOD则解决如何在计算机系统中实现 它遵循抽象 求精和模块独立性的原则 抽象是一种思考和解决问题的方式 它关注于事物的一般特性 不考虑底层细节 求精是一个和抽象相反的过程 它将某个宏观功能不断分解 逐步细化 模块独立性 指模块之间的接口唯一 高内聚低耦合 各个模块相对独立式的软件容易开发 容易 维护 3 1 1 系统结构图 根据需求分析 本系统总体可以分为两大部分 学生子系统 教师子系统 分别面 向学生和教师 其系统总体结构如下图3 1所示 在线考试系统 学生子系统教师子系统 学 生 登 陆 学 生 考 试 试 卷 管 理 批 阅 试 卷 考 生 信 息 管 理 图 3 1 在线考试系统结构图 3 1 2 系统功能 本系统主要包含了两大功能 学生考试和教师管理 1 学生考试功能 学生登录 学生考试系统必须给出有效身份 如用户名或密码等 该功能是确 认考生身份及成绩的重要部分 在线考试 该功能是考试系统中最关键的部分 考生登录后 由系统根据考生 登录情况 判别考生是否初次登录 如是则依据组卷规则产生随机数 从试题库中随 机抽取试题组成试卷 并直接在屏幕上显示 同时转入考生考试状态 如不是初次登 录 则说明考生可能在考试中途因机器故障或其它原因需重新进入考试 此时 考生 试卷可重新恢复到已答试题的状态 因此系统不需做新试卷抽取工作 而直接恢复考 生原有试卷即可 试卷提交 包括考生在规定时间内主动提交试卷和考试时间己到系统强迫提交 试卷的相关处理 自动判卷 考生交卷后 系统根据评分标准会自动准确 迅速评分 并得出客 观题的成绩 2 教师管理功能 题库管理 题库管理系统包括试题录入 试题分类 试题库维护等功能 试题 库是试题来源 对试题库的管理非常重要 试题录入可采取集中录入或随时录入 试题 库中的试题可长期保存使用 试题库中的试题以单个试题存放并不形成成套试卷 试题 库中的试题 按类别的不同分别分类管理 试题库维护主要包括对试题库中的试题进行 添加 删除 修改 浏览等功能 试卷类型设置 考试前 由教师对本次考试试卷组成进行设置 如各类型题量 如单选题 x 道 多选题 y 道 各类型试题分值及考试时间等的设置 学生考试时考 试系统根据试卷类型随机生成符合要求的试卷 考生成绩查询 对所有考生考试成绩的显示以及各分数段考生人数的统计 密码修改 系统提供对教师管理密码的修改功能 考生信息管理 由管理员实现对考生信息的浏览和删除等操作 成绩管理 对所有考生考试成绩的显示以及对不及格考生可以给与二次考试的 机会 同时可以作弊考生进行显示和处理 批阅试卷 对试卷上的主观题进行批阅 密码修改 管理员可以对自己的密码进行修改 3 2 系统功能流程图 在线考试系统的用户分为学生和教师 两种用户的功能各不相同 所以功能流程 图也不同 学生考试的流程为 首先进入登录页面 输入正确的用户名和密码 用户名和密 码由管理员分配 系统验证成功后转入考生考试页面 考生可以参加考试 其功能示 意流程图如图 3 2 所示 开始 考生登录 身份验证 登陆成功 开始考试 结束 是 否 图 3 2 学生考试功能示意流程图 教师管理的流程为 首先进入登录页面 输入正确的用户名和密码 用户名和密 码由管理员分配 系统验证成功后转入教师管理页面 教师可以对题库进行增加 删 除 修改等维护 当学生考完试时 教师可以查看所有考生的考试成绩以及各分数段 考生人数 还可以修改自己的密码 其功能示意流程图如图 3 3 所示 开始 考生登录 身份验证 登陆成功 结束 是 否 题 库 维 护 试 卷 设 置 修 改 密 码 成 绩 统 计 图 3 3 教师管理功能示意流程图 学生考试功能流程图 教师管理功能和管理员管理功能流程图三个加在一起就构 成了本系统的一个完整的功能流程图 第四章 数据库设计 数据库结构是在线考试系统设计方案中的一个重要组成部分 在进行数据库逻辑 结构设计时 应尽量使一个功能操作较少的数据表 所以在数据库结构设计时 要将 数据进行合理组合 在数据表设计时 应遵循 3NF 规范 使数据库的逻辑结构合理 尽量避免重复存储 数据库设计的好坏将直接影响系统的效率以及实现效果 4 1 系统 E R 图 图 4 1 学生考试 E R 图 该图描述了通过组卷规则 从试题库中随机抽取试题生成试卷的过程和学生考试 功能用到的数据 图中数据实体有学生 试卷 试题 关系有考试 组卷 考试关系 联系了学生和试卷两个实体 一个学生使用本考试系统考试多次 是一对多的关系 组卷关系联系了试卷和试题两个实体 随机的多道试题组成了多张试卷 是多对多的 关系 4 2 数据库中表的设计 通过系统需求分析及总体设计 数据库的需求设计也就变得逐渐清晰起来了 按 照前面的需求分析 在 SQLServer20002000 中 建立了如下六个表 学生信息表 4 1 主要是存储学生用户的基本信息 包括 ID name pwd 等 学生 的信息由管理员添加 学生登录后可以修改自己的密码 当学生忘记自己的密码时可 以通知管理员 由管理员进行密码重置 当学生结课不需要再进行考试时 由管理员 删除学生的所有信息 表 4 1 tb Student 学生信息表 名称类型长度含义是否为空备注 IDvarchar16学生编号not主键 namevarchar20学生姓名not pwdvarchar20学生密码not sexvarchar20学生性别not joinTimedatetime8注册时间not questionvarchar50密码问题not answervarchar50问题答案not professionvarchar30专业not cardNovarchar18身份证号码not 管理员信息表 4 2 主要是存储管理员的基本信息 包括 logname password 等 管理员的信息由系统设定时添加 管理员登录后可以对自己的信息进行修改 表 4 2 tb manager 管理员信息表 名称类型长度含义是否为空备注 IDbigint8管理员编号not主键 namevarchar30 管理员用户 名 not PWDvarchar30管理员密码not 学生成绩表 4 3 主要是存储学生的考试成绩 在学生参加考试前此表为空 当学 生考试结束后由系统计算考试成绩并添加进数据库中 管理员通过管理界面可以对此 表进行管理 表 4 3 tb StuResult 学生成绩信息表 名称类型长度含义是否为空备注 idbigint8编号not主键 stuIdvarchar16学生编号not JoinTimedatetime8考试时间not whichLessonvarchar60考试科目not resSingleint4单选得分not resMoreint4多选得分not resTotalint4总分not 课程信息表 4 4 主要是存储课程信息 每一位学生都会有多门课程可以考试 管 理员根据具体情况可以添加 修改 删除课程 而学生在考试之前也必须对课程进行 选择 否则无法参加考试 表 4 4 tb lesson 课程信息表 名称类型长度含义是否为空备注 IDbigint8课程编号not主键 Namevarchar60课程名称not JoinTimedatetime8添加时间not 表 4 5 为套题信息表 主要负责存储每一门课程所包含的套题信息 包括套题编号 名称 所属课程 添加时间这些内容 学生在考试时选择完课程后也必须选择套题 否则无法参加考试 表 4 5 tb TaoTi 套题信息表 名称类型长度含义是否为空备注 IDbigint8套题编号not主键 namevarchar50套题名称not LessonIDbigint8所属课程not JoinTimedatetime8添加时间not 表 4 6 为试题信息表 负责存储所有试题的信息 包括试题的 id 所属课程 试 题类型 添加时间等信息 管理员在后台可以添加 修改 删除试题信息 表 4 6 tb Questions 试题信息表 名称类型长度含义是否为空备注 idbigint8试题编号not主键 subjectvarchar50所属课程not typechar6试题类型not jointimedatetime8添加时间not lessonIdint4所属课程 IDnot taoTiIdbigint8所属套题 IDnot optionAvarchar50选项 Anot optionBvarchar50选项 Bnot optionCvarchar50选项 Cnot optionDvarchar50选项 Dnot answervarchar10答案not notevarchar50备注 第五章五章 系统详细设计与实现 为了更好 更合理地开发这个系统 进行模块化设计是非常必要的 模块之间可 以独立设计 以便设计可以同时进行 互不干扰 最后模块可进行独立测试 最终构 成一个完整的系统 经过前期的分析 本系统分为以下几大模块 学生考试模块 管理 员管理模块 管理员管理模块 下面我们将对各个模块进行详细的说明 5 1 学生考试模块的详细设计 学生考试模块包括登录注册 在线考试 修改密码 成绩查询 个人资料修改等 部分 出于对系统操作安全性方面的考虑 学生参加考试必须先到登录页进行身份验证 通过此窗口学生输入用户名和密码 只有正确才能登录本系统 学生的登录界面如图 5 1 所示 图 5 1 学生的登录页面图 以下是将学生登录的核心部分实现的思路进行说明 学生在主页面上填写用户名 密码 通过表单发送到本页 然后调用验证函数来判断格式的合法性 如果格式合法 然后主页面将执行相应重定向操作 做如下分析 当表单发送信息后 跳转到验证用 户的 usercheck jsp 中 usercheck jsp 接收到信息后 判断用户类型 查询数据库核 对相关信息 如果信息不正确就发出相应的提示信息 提醒学生错误原因 如果信息 与数据库中一致 那么该学生为合法用户 并保存学生的信息到服务器变量 Session 中 然后指向学生考试页面 学生登录后就可以进入考试页面了 在刚进入考试页面看到的是听到考场规则和 注意事项 考生必须遵守考场纪律 否则将被罚出考场 在听完考场规则后考生可以 选择开始考试和修改个人密码及查看上次考试成绩 如图 5 2 所示 图 5 2 学生考试页面图 学生可以随时参加考试 不再受时间的限制 关于考试部分的具体设计如下 组题方式 采用完全随机抽题机制 根据题库中试题的数量和考试设置中所要求 的题量来决定组题的成功与否 随机数由 Random 类中的 nextInt n 方法产生 它返回一个整数随机数 范围介于 0 n 之间 这里 n 的值为题库中试题的数量 但 n 的值必须大于考试设置中 所要求的题量 否则系统会提示错误 随机数产生后 用一个数组来统计所抽出的题 以免出现重复 然后从数据库中读取试题 当抽的试题数目满足条件时退出抽题程序 然后在考试页面上显示试题 考试方法 学生在规定的时间内答题 考试时间从进入答卷部分开始 考试结束之 前二分钟 系统自动给予考生注意时间的提示 考试时间一到如果考生自己没有交卷 系统则自动完成交卷步骤 如图 5 3 所示 图 5 3 考试界面 考生考试过程中如果关闭了答题窗口 考生可以重新登录系统再参加考试 考试 过程禁止刷新和后退 系统已经通过程序禁止了各种刷新的方式 如点击刷新按钮 考试考试的成绩会保存下来 考试完毕后可以查看考试结果 成绩查询的试图如下 图 5 4 成绩查询 用户可以修改个人密码 做如下分析 当表单发送信息后 跳转到验证用户的 passwordcheck jsp 中 passwordcheck jsp 接收到信息后 判断用户名和密码是否正 确 查询数据库核对相关信息 如果信息不正确就发出相应的提示信息 提醒学生错 误原因 如果信息与数据库中一致 那么该学生为合法用户 并保存学生的信息到服 务器变量 Session 中 然后指向修改个人密码页面 试图如下 图 5 5 修改密码 5 2 管理员管理模块的详细设计 管理员管理模块包括管理员信息管理 考生信息管理 课程信息管理 试题信息 管理等部分 其中登录部分的设计与学生登录类似 这里不再赘述 界面图如下 图 5 6 管理员管理模块 考试题目管理是与整个考试系统紧密关联的部分 首先介绍试题显示页面的制作 在默认的条件下 将显示题库中的所有记录 并将试题分页显示 同时统计数据库中 试题的总量 也可以根据实际需要 显示满足条件的题目 将所有的题目进行分页显 示的原理为 首先统计满足条件的记录条数 然后定义页面的大小即每页显示记录的数 量 这样可以得到需要的总页数 通过上一页 下一页等链接方式传递当前页的位置 得到位置后就可以显示属于本页面的记录了 当所在页的页码等于总的页数时即位置 为末页 当页码为一时 既分页的第一页 如果是有一定条件显示的记录要求分页 则将查询条件保存下来 这样在翻页时才能正确显示满足要求的记录 另外在查询可 以通过匹配关键字的方式进行查找 匹配方法在查询数据库时使用 通过 SQL 中的 LIKE 语句实现 以下就题库的添加 修改 删除三个部分的设计过程做详细介绍 添加功能 在选定所要添加试题类别后就可以进入添加页面进行试题添加 在填 写完试题内容后 点击保存即可 如果试题内容 答案为空时会自动判断 并提示管 理员完整填写试题内容 表单判断通过JavaScript实现 如果添加成功 则都试题保 存到数据库 选择题的添加和试题的添加原理基本相同 修改及查看功能 在列表中每个试题都有修改按钮 通过它能查看试题的详细内 容 并且能够修改试题内容 实现方法与添加类似 不同点是添加会将新的题目添加 到数据库中 而修改只是修改原有数据库中的试题 并且在列表中每个试题的题干都 可以点击 点击后也可以查看试题的详细内容 删除功能 删除试题相对其它功能来说容易实现 只需要得到要删除题目的编号 主键 执行数据库删除语句即可 在删除之前做出相应的提示 因为一旦删除后就 无法恢复 在删除功能中全部选定 取消按钮 通过JavaScript来实现 原理是通过循 环使表单内所有的复选框被选定 题库维护的实现页面如图5 7所示 图5 7 题库维护界面 考生成绩查询是查看和分析考试的结果 首先是分页显示所有考生考试成绩 考 生成绩查询的实现页面如图5 8所示 图 5 8 考生成绩查询的页面图 5 3 管理员管理模块的详细设计 管理员管理模块包括登录 学生信息管理 管理员管理 学生成绩管理 修改密 码等部分 其中管理员登录页面如图 5 10 所示 图 5 10 管理员登录界面 用户管理在系统中具有重要的意义 它的设计决定着考试系统的成功与否 本系 统的用户分为 学生 管理员 以及管理员 在设计用户管理功能时 不同类型用户能 够进行的管理操作是不同的 管理员能够对使用本系统的用户进行操作 包括 添加 编辑 删除 其他用户都只能修改自己的登录密码 不能修改自己的其他信息 更无 权操作别人的信息 管理员可以操作题库管理 管理员之间的数据是不可以浏览和共 享的 考生之间的数据也是不能共享的 这里对用户进行操作时 要考虑到数据库的 一致性操作 对用户的修改都要先去检查其他表中是否有与该用户相关的信息记录 如果有 必须同时处理 否则数据的一致性就会受到破坏 会出现不存在的用户却有 其他的考试记录 由于学生用户的数量比较多 管理较复杂 所以学生与管理员的管 理分开 当学生的信息被删除后 学生的成绩也随之失效 所以成绩也必须在系统中 删除 这个操作由系统自动完成 学生管理的实现页面如图 5 11 所示 图 5 11 考生信息管理页面图 第六章 软件测试 6 1 软件测试的目的及意义 系统测试是系统的开发周期中的一个十分重要环节 尽管在系统开发周期的各个 阶段均采取了严格的技术审查 但依然难免会留下错误 如果没有在投入运行前的系 统测试阶段被发现并纠正 问题迟早会在运行中暴露出来 到那时要纠正错误将会付 出更大的代价 因此系统在投入使用之前必须进行严格的测试 软件工程的根本目标 是开发出高质量的完全符合用户需要的软件 因此 通过测试发现错误之后 还必须 诊断并改正错误 这就是调试的目的 6 2 测试的方法 任何商品都有两种测试方法 白盒测试和黑盒测试 白盒测试 白盒测试是按照程序内部的逻辑测试程序 检验程序中的每条通路是 否都能按预定的要求正确工作 白盒测试又称为结构测试 主要对程序的内部细节进 行检查的过程 在编码和测试的早期阶段使用 黑盒测试 黑盒测试时完全不考虑程序内部的结构和处理过程 只按照规格说明 书的规定来检查程序是否符合它的功能要求 黑盒测试是在程序接口进行的测试 又 称为功能测试 主要对程序的功能进行检查 常使用在测试的后期阶段 测试用例指对一项特定的软件产品进行测试任务的描述 体现测试方案 方法 技术和策略 内容包括测试目标 测试环境 输入数据 测试步骤 预期结果 测试 脚本等 并形成文档 不同类别的软件 测试用例是不同的 测试用例更趋于是针对 软件产品的功能 业务规则和业务处理所设计的测试方案 对软件的每个特定功能或 运行操作路径的测试构成了一个个测试用例 本次系统测试主要使用了黑盒测试方法 黑盒测试也称功能测试或数据驱动测试 它是在已知产品所应具有的功能 通过测试来检测每个功能是否都能正常使用 在测 试时 把程序看作一个不能打开的黑盆子 在完全不考虑程序内部结构和内部特性的 情况下 测试者在程序接口进行测试 它只检查程序功能是否按照需求规格说明书的 规定正常使用 程序是否能适当地接收输入数据而产生正确的输出信息 并且保持外 部信息的完整性 6 3 测试用例 测试的主要内容是按实际操作的数据向系统的各个功能模块输入数据 检测输出 结果是否符合预期要求 管理员登录是管理员进行后台管理的开始 所以管理员登录 用例是一个非常重要的用例 管理员要输入用户名和密码进行登录 系统根据用户输 入的用户名和密码 在数据库中进行查找 如果用户名和密码在数据库中与 admire 表 中 logname 列和 password 列中的内容相符 则管理员成功登录 如果系统查询到用户 名和密码与 admire 表中的一项不符则提示 用户名或密码错误 登录不成功 管理员 登录测试用例如表 6 1 所示 表 6 1 管理员登录测试用例 用例名称管理员登录测试 基本描述 管理员登录测试就是用户输入的用户名和密码进行管理员登录 系 统判断该用户的输入是否合法 对此功能进行测试 测试方案 分别使用系统承认的合法用户名及密码和系统不承认的非法用户名 和密码进行测试 输入数据 1 用户名 admin 和密码 admin 2 用户名 admir 和密码 admir 测试结果 第一组用户名和密码正确用户成功登录到管理员界面 第二组用户名和密码不合法 系统提示错误信息 当系统查询到用户名和密码与 admire 表中的一项不符则提示 用户名或密码错误 登录不成功 如图 6 1 所示 图 6 1 管理员登陆错误时提示界面 系统的其它测试用例在此不再详述 整个系统的功能都严格按照测试用例进行了 测试 并根据测试结果进行相应的处理 最终达到测试用例描述的预期结果 经过初步测试 系统在服务器端和客户端均能正常运行 对于不同显示分辨率下 网页也能够正常显示而且网页的链接基本正确 但由于系统对操作人员录入的错误数 据和数据本身的错误所造成数据的不完整性 系统的约束力较弱 应加强数据的完整 性约束提高系统数据的正确性和相容性 以及系统的容错性 加强对用户输入端的数 据进行检验 总 结 通过以上对在线考试系统的详细介绍 已经基本上能够阐明整个系统的开发制作 过程 本系统在实现预计功能的前提下 还具有以下优点 1 设计了一个B S模式的雅思在线考试系统的总体框架 为计算机辅助考试向网 络化发展提供了一套方案 2 提出了一个可行的 简洁的 高效的随机出卷算法 并在系统中得到了初步 的运用 3 给出了对试题的自动评分的算法 为多题型试卷全自动评分提供了一条可行 道路 4 操作简单 方便 5 数据安全性好 6 系统稳定性高 运行快速 通过本文的研究 能较好的将Web Service架构及MVC模式运用于在线考试系统中 并在此基础上实现了一个在线考试系统 但该系统还有一些地方需要继续完善 比如 提高试题质量 增加主观题等 虽然对系统做了一定的安全和保密措施 但仍然有待 改进的地方 不过有了本文研究的基础 在以后的研究中其它的问题都会迎刃而解 经过几个月的设计与开发 基于 BS 架构的雅思的在线考试系统 已经完成了 在对课题的研究过程中 碰到了不少困难 经过老师同学们的帮助得到了解决 使自 己的程序有了很大的进展 对于自己提高动手能力和掌握另一门程序语言有了很大的 帮助 从此次在线考试系统的开发过程中 使我充分认识到做任何事之前都要做好规划 对可能出现的问题预先作好解决的方案 在做毕业设计之前 我对在线考试系统的认 识只是停留在表面 对系统运作和管理知之甚少 缺乏本质的和深入地调查研究 以 至于在设计的过程中 各种意想不到的苦难接踵而至 面对各种困难无从下手 不知 道如何解决 我后来又对此次设计重新做了全面的调查和认真细致的规划 浏览了很 多考试系统 对系统的基本功能 应用前景 可行性和新特点做了全面的分析 这对 我后来的设计起到了事半功倍的效果 整个设计流程也清晰明了 但由于时间紧 经验不足 本系统也存在一些不足之处 比如不能实现抽题内容 的不重复性且不能够对考试时间进行显示 此外本系统在使用过程中还有一些具体细 节问题需要解决 例如为了达到对考生资料的保密性可用加密的方法来防止泄露信息 即在数据库存储过程中需在程序中编写加密函数 本系统存在的不足之处有待日后改 进 随着计算机科学及数据库技术的发展 我们相信在不久的将来会有功能更加完善 的在线考试系统来减轻老师和考生的负担 谢 辞 转眼间 我已在大连交通大学度度过了四个半年头 四年半 一段不短的时间 四年半的光阴让我成长 让我从青涩走向成熟 特别是 读双专业 让我的人生有了 不同的轨迹毕业设计是我走出校门的最后一堂课 也是对五年的大学学习的一个总结 和检验 首先感谢我的指导教师杨光老师 从毕业设计的选题 设计到论文的撰写过程 我始终得到了杨光老师的悉心指导和孜孜不倦的教诲 在此表示深深的感谢 同时感谢学院领导对我们的关心和支持 感谢其他老师在学习和生活中给予我的 支持和帮助 感谢杨光老师在程序设计方面对我的指导 在我的毕业论文即将完成之 际 我的大学生活也接近尾声 要说的是 五年来我的大学同学不论在学习上还是生 活上都给了我极大的帮助 我在大连交通大学不仅学到了知识 而且从各位老师那里 学到了严谨的治学态度 踏实认真的工作精神和为人正直的作风 这都将使我终身受 益 最后还要感谢我的父母 是他们一直在背后支持着我 最后再次向所有支持和帮助过我的老师和同学表示衷心的感谢 参考文献 1 谭浩强 JSP 中文版提高与应用 M 北京 电子工业出版社 1999 2 Thomas Connolly Carolyn Begg Database Systems A Practical Approach to Design Implementation and Management Third Edition M 北京 电子工业出版社 3 萨师煊 王珊 数据库系统概论 M 北京 高等教育出版社 2000 4 蒋斌 欧阳柳波 杨超 JSP 程序设计 M 北京 电子工业出版社 2002 5 Roger S Pressman Software Engineering A Practitioner s Approach 5th ed M 北京 清华大学 出版社 2001 6 Stephen R Schach Object Oriented and Classical Software Engineering M 北京 机械工业出版 社 中信出版社 英文版第 5 版 7 丁爱萍 刘瑞斯 JSP 程序设计 M 西安 西安电子科技大学出版社 2001 8 师伯乐 何继朝 崔靖 关系数据库的理论及应用 M 河南 河南科技出版社 1990 9 Roger S Pressman 软件工程 实践者的研究方法 M 北京 机械工业出版社 1999 10 谭浩强 SQL 数据库操作导引 M 北京 电子工业出版社 2000 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆

温馨提示

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

评论

0/150

提交评论