毕业设计(论文)-基于Web的在线考试系统设计开发.doc_第1页
毕业设计(论文)-基于Web的在线考试系统设计开发.doc_第2页
毕业设计(论文)-基于Web的在线考试系统设计开发.doc_第3页
毕业设计(论文)-基于Web的在线考试系统设计开发.doc_第4页
毕业设计(论文)-基于Web的在线考试系统设计开发.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录目录 1 项目概况1 1.1 开发环境.1 1.2 运行环境.1 2 设计目的和意义.1 3 设计思路和设计方案.2 3.1 整体设计思路.2 3.2 选择开发架构.2 3.3 搭建开发环境windows+apache+mysql+php 平台 3 3.4 算法选择和设计.3 4 详细设计.4 4.1 需求分析.4 4.2 数据模型设计.8 4.3 模型分析.9 4.4 动态行为模型.18 4.5 关键技术及其实现方法.20 5 界面设计.22 5.1 配色方案以及页面布局设计.22 6 系统部署.24 总结.24 致谢.25 参考文献.25 塔里木大学毕业设计 第 1 页 共 26 页 基于基于 web 的在线考试系统设计开发的在线考试系统设计开发 摘要摘要 本文详细介绍了基于 web 的在线考试系统设计开发项目的设计和开发过程。 设计思路和方法采用瀑布模型1-2开发,用统一建模语言 uml2进行描述,经历了文 献检索,需求分析,分析模型设计,数据模型设计,构建级设计,系统部署,系统测 试六个个环节。系统以数据库为核心,使用 b/s 架构4下流行的 php 脚本语言作为宿 主语言对系统核心功能模块进行设计。采用 powerdesigner 软件作为 uml 语言的实 现工具和数据库设计的开发工具。实现了用户登录、注册功能,出题组卷功能,考试 评卷功能以及用户信息查询功能。 关键词:关键词:b/s 架构 php 软件工程 出题组卷 在线考试系统 1 项目概况 1.1 开发环境 本系统采用 php 脚本在 windows 操作系统下进行开发和设计。web 服务器5采 用开源免费的 apache 软件。数据库管理系统采用开源免费的 mysql 关系数据库管 理系统。php 脚本解释器采用开源免费的 php。数据库设计工具采用 sybase 公司的 powerdesigner 软件。代码编辑器采用 editplus 软件。详细内容请看下表: 表 1-1 开发环境表 版版本本 professional 2.2.6 5.0 6.0 12.5 cs3 3.0 apache sybase powerdesigner adobe dreamvewear 代码编辑器edit_plus 页面设计工具 开开发发环环境境/ /工工具具名名称称 mysql phpphp脚本解释器 数据库设计工具 操作系统windows xp web服务器 数据库管理系统 1.2 运行环境 由于系统采用 b/s 架构设计,因此对于本地计算机的性能要求非常的低。只需要 有网络环境和浏览器就可以。 2 设计目的和意义 塔里木大学毕业设计 第 2 页 共 26 页 目的在于设计和开发出一个基于 web 的、能够适应各种考试的并能够自动出题 组卷的、人性化、智能化6的在线考试系统。 考生只需要一台可以上网的计算机登录在线考试系统就可以足不出户的参加各种 类型的考试和练习。在线考试系统中题库中的试题资源来自各种渠道,试题种类丰富, 试题设计思路巧妙。同时可以大大减少考生购买纸质试题、参加考试的车旅住宿费用 6。 考试举办方或考试组织者,尤其是学校学生考试的组织者和出题者,无需经常对 同一年级的同一个科目进行出题,免去了出题者重复出题的工作量,也减轻了考试组 织方的工作量7。出题者通过浏览器登录到在线考试系统,就可以随时随地将试题添 加到题库。 3 设计思路和设计方案 3.1 整体设计思路 整个项目采用软件工程的通用设计模式设计。整个设计思路大致经历了:文献检 索并写出文献综述、进行需求分析、分析模型建模、数据模型建模、构建级设计、系 统测试等六大环节。所涉及到的软件工程的内容都使用统一建模语言 uml(unifield moudel language)7-10进行描述和完成。 利用塔里木大学购买的中文全文数据库中的文献资源,主要在中国知网全文数据 和万方全文数据库中进行相关的题名关键字检索并查看全文。需求分析等之后的步骤 都是按照软件工程的要求进行。其所作的图包括:用例图、活动图、协同图、部署图、 类图等。 3.2 选择开发架构 1、c/s 架构 client/server 架构中,每个客户端(client)都是可以独立处理数据的主机 (host) ,可以对本地计算机上的软硬件资源进行无障碍的使用,比如访问本地计算 机上的数据库、本地计算机操作系统的系统功能调用、对本地计算机磁盘的读写等。 只有当应用软件需要一个本地计算机资源无法提供的数据时,才通过去访问服务器, 下载所需的资源和数据。通常,大型的应用软件采用这种架构。 2、b/s 架构 bowser/server 架构中,每台客户端主机(host)不能够独立的处理数据,绝大多 塔里木大学毕业设计 第 3 页 共 26 页 数的数据都是由服务器(server)来处理。因此用户所需要的服务取决于服务器 (server)端能够提供怎样的服务,可以做到服务和数据的实时更新4。 在线考试系统是一个数据更新速度很快的系统,需要实时的处理用户任意时间提 交的数据,比如用户的登录、考试、查询以及试题的添加、删除、更新。基于上述的 分析,在线考试系统适合采用 b/s 架构。 3.3 搭建开发环境windows+apache+mysql+php 平台 本软件既然采用 b/s 架构进行设计,就必须要选择一个适合该架构的开发环境。 在 b/s 架构中,所有的数据处理都是在服务器(server)端的计算机上进行的,因此 需要一个服务器软件。数据是整个考试系统的血液,因此需要一个数据库管理系统。 目前,b/s 架构下的开发环境有两种选择。 第一,iis6.0+mssql2000 及以上+asp.net。这是一个只能运行和搭建在 windows 平台的开发环境,也是一个最容易使用,最容进行配置的开发平台,然而开 发出的系统只能够在 windows 下运行,使得代码的可移植性收到局限。同时,搭建 环境所付出的资金成本也非常的昂贵11。购买费用大致如下表所示: 表 3-1 windows 平台下搭建运行环境费用(数据来自中关村在线) microsoft windows server2003 standerd¥20,000.00 ¥220,000.00 品名价格 ¥2,600.00 ¥242,600.00 microsoft sqlserver 2005 microsoft visusl studio 2005 总计 第二,linux+apache+mysql+php。这是 linux 下进行 b/s 架构下 web 开发的最 佳组合并且是开源免费的,其运行的稳定性是无与伦比的。apache+mysql+php 不仅 是开源免费的,同时由于 php 脚本语言和 apache 服务器以及 mysql 数据库管理系 统可以跨平台的运行在 windows 环境和 linux 环境下,所以开发的系统具有性能稳定, 可移植性强的优势。然而,多数开发者已经形成了 windows 环境下工作方式和思维 方式,更换 linux 会非常的不适应,需要重新调整思维方式和工作方法。 经过上面的分析, windows+apache+mysql+php 的混合模式是一种非常不错的 方案。这种平台搭建规避了两种平台不足的地方,对两者进行了优势互补。 3.4 算法选择和设计 塔里木大学毕业设计 第 4 页 共 26 页 在线考试系统的核心是出题组卷子系统。目前,出题组卷系统的算法设计有以下 几种12-13: (1)随机选取法:根据状态空间的控制指标,由计算机随机的抽取一道试题放入试 题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题 为止 14。 该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说 组卷成功率低,即使组卷成功,花费时间十分长。卷往往以失败而告终14。 (2)回溯试探法:这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时 释放上次纪录的状态类型,然后再依据一定的规律变换一种新的状态类型进行试探, 通过不断的回溯试探直到试卷生成完毕或退回出发点为止15。 这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组 卷成功率较好,但是在这种算法对内存的占用量很大,程序结构比较复杂,而且选取 试题缺乏随机性,因此它也不是一种很好的用来组卷的算法。 (3)遗传算法:是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程 的计算模型,是一种通过模拟自然进化过程搜索最优解的方法16。这种组卷算法组卷 质量和组卷效率非常好。遗传算法现在已经发展成了一门独立研究的课题,因此对于 没有接触过遗传算法的开发人员,在使用遗传算法时存在较大的知识壁垒。 结合上面诸多算法的优缺点,在下考试系统采用了一种以数据库设计为核心的组 卷方式。这种组卷方法充分利用 sql 语言高度非过程化17的优势,在数据库级别完 成出题组卷功能,利用宿主语言的缓冲将组好的试卷显示出来。 4 详细设计 4.1 需求分析 第一,系统分析,在线考试系统开发的目的就是利用当今发达的网络技术满足用 户考试练习的需求。 所要收集到的系统需求可以分为三类18-19:功能性需求、非功能性需求、可用性 需求。功能性需求和非功能性需求是系统分析与设计的常用种类。功能性需求描述了 系统可以做什么或被期望做什么,可以用用例来描述。非功能性需求描述了系统与更 好地提供功能需求有关的方面,如性能、安全性等;可用性需求则描述了特定用户在 特定环境下有效地、顺利地达到特定目标的程度。 塔里木大学毕业设计 第 5 页 共 26 页 在线考试系统的系统分析表述如下: 在考试系统中,要为每一个考生和试题上传人员建立一个用户,也即需要进行注 册。注册信息包括用户名、密码等信息。只有已经注册的用户才能登陆系统并进行下 一步的操作。同时借鉴强制存取控制(mac)思想对用户进行标记,使得不同级别的 用户使用不同的功能和数据;借鉴自主存取控制(dac)思想对用户的角色类型进行 检查。 用户登陆,首先要进行的登陆信息验证,验证如果判定用户类型为考生,则前往 考生页面;如果是出题者,则进入出题页面;如果是系统管理员,则进入系统管理员 页面。进入考生页面的用户可以选择参加考试和成绩查询。进入出题者页面的用户, 可以进行试题上传和查询上传记录。不同类型的用户对同一个功能的使用权限不同。 同一类型的用户对不同的功能的使用权限也不同。比如考生和出题者属于普通用户, 然而两者所能使用的系统功能是截然不同的。 用户登录活动依赖于用户注册系统。一个没有注册的用户是一个非法用户,将不 能对系统进行任何操作。用户在注册时必需按照系统规定的方式填写注册信息。为了 保证用户填写信息的正确性,在实际使用当中,比如在学校,可以在学校人员管理系 统的数据库管理系统中申请一个拥有只读权限的用户。用户在注册时学号,教工号是 必须填写的内容。当一个新用户注册时,用户填写完信息以后便可以立刻连接数据库 进行真实性验证。 对上述在线考试系统的分析可以获得如下功能性需求: (1)用户能够按照自己的实际情况和实际需求选择一种用户类型进行注册。 (2)以考生类型登录的用户可以进行考试和成绩查询的活动而不受限制。 (3)以试题上传者类型登录的用户可以进行试题上传。 (4)管理员可以对用户和题库进行最高权限的管理,包括用户和试题的插入, 更新和删除。 (5)在线考试系统能够正确识别和判断登录用户。 (6)在线考试系统能够按照组卷策略随机从题库中抽出相应的试题组成试卷。 (7)在线考试系统能够正确的评卷并计算出考生的成绩。 (8)在线考试系统能够正确相应用户对试题进行插入、更新、删除操作。 (9)在线考试系统能够正确的记录用户考试结果和试题上传记录。 (10)在线考试系统能够记录用户(考生,试题上传者,管理员)的登录记录。 塔里木大学毕业设计 第 6 页 共 26 页 第二,识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:考生、 试题上传者、系统管理员。参与者描述如下: (1)考生:通过注册系统验证后的任何以考生类型注册的用户。 (2)试题上传者:通过注册系统验证后的任何以试题上传者类型注册的用户。 (3)系统管理员:在线考试的拥有者或管理者。 第三,识别用例通过上述分析,可以确定系统中有如下用例存在。 (1)用户登录 本用例为用户提供了进入在线系统的接口功能。 (2)用户注册 本用例为用户使用在线考试系统打下前提基础。 (3)成绩查询 本用例为考生类型的用户提供了注册信息查询和成绩查询管理的功能。 (4)修改注册信息 本用例为用户提供了修改密码和注册信息的功能。 (5)考试 本用例为考生类型的用户提供了出题组卷、评卷、计算成绩并记录的功能。 (6)查看登录记录 本用例为考生类型用户提供查看个人登录在线考试系统记录的功能;为系统管理 员提供查看所有用户登录在线考试系统记录的功能。 (7)试题上传 本用例为试题上传者类型的用户提供试题上传功能。 (8)试题修改 本用例为试题上传者类型的用户提供个人对上传试题修改,插入,更新的功能。 (9)试题上传查询 本用例为试题上传者类型的用户提供对个人上传试题情况的查询功能。 (11)添加用户 本用例为系统管理员提供添加新用户的功能。 (12)更新用户 本用例为系统管理员提供更新用户注册表和用户信息的功能。 (13)删除用户 塔里木大学毕业设计 第 7 页 共 26 页 本用例为系统管理员提供删除用户注册表和用户信息的功能。 (14)试题插入 本用例为系统管理员提供向题库添加试题的功能 (15)试题删除 本用例为系统管理员提供删除题库和试题信息的功能。 (16)试题更新 本用例为系统管理员提供更新题库和试题信息的功能。 (17)设置试卷难度配比 本用例为系统管理员提供添加、更新、删除组卷策略的功能。 (18)登录并修改信息 本用例为系统管理员提供普通用户的功能。 4.1.1 用例分析用例分析 根据上述分析,系统的角色可以分为两种类型。一种是普通类型的角色,包括考 生和上传试题者;另一种是系统的管理员。由于所处的角色不同,所使用的功能就有 所不同。下面是普通用户的用例分析结果。 图 4-1 普通用户用例图 系统管理员是系统中权限最高的角色,除了可以使用普通用户可以使用的功能外 还有普通用户不能够拥有的功能。 塔里木大学毕业设计 第 8 页 共 26 页 图 4-2 系统管理员用例图 4.1.2 功能性分析功能性分析 (1)用户登录、注册、修改信息的功能 该功能模块是整个系统的入口。要求用户分角色进行登陆、注册。不同角色的用 户设置不同的权限去访问不同的网页;对于相同的网页,不同权限的用户有各自的访 问方法或无法访问。 (2)出题组卷的功能 该模块是整个系统的基础和核心,所有的功能都是围绕着出题组卷这一核心功能 展开。能够实现出题组卷的功能需要有两个要素的支持。一个是题库,里面长期存放 着可以不断添加、更新、删除的各个学科的题目;另一个是组卷策略,它使得题库当 中杂乱无章的题目能够以人们要求的形式和难度配比出现在一张卷子上面20。 4.2 数据模型设计 基于上述的需求分析,可以得到下面的数据库设计图。 塔里木大学毕业设计 第 9 页 共 26 页 图 4-3 数据库设计图 设计图中中各个关系表的的含义如下表所示。 表 4-1 设计图清单 关系名称所含属性备注 userregist 用户名、密码、用户类型等 用户注册表 qestion 试题编号,试题内容、选项a等 题库 course 课程编号,课程名称。 试题所属课程表 paberconfig 策略编号,容易题,一般题,等 组卷策略 exam 考试编号,考试课程,考生,开始时间等 考试记录表 4.3 模型分析 4.3.1 架构设计架构设计 本系统选择采用 php 脚本语言作为整个系统的宿主语言和数据传输的媒介和载 体,同时有选择了 b/s 架构开发模式,其构架设计图如下; 塔里木大学毕业设计 第 10 页 共 26 页 图 4-4 系统架构设计图 如图 4-4 中所示,客户端计算机上的操作系统可以使用任意平台的操作系统,但 必须至少安装一种浏览器,如:ie 浏览器、firefox 浏览器等。服务器端计算机所部 署的操作系统和 web 服务器、数据库管理系统以及脚本解释器,既是开发环境也可 以是将来的运行环境。服务器端计算机开发环境详细信息如下: 表 4-2 系统架构设计详细信息 版版本本 professional 2.2.6 5.0 6.0 数据库管理系统mysql php脚本解释器php 开开发发环环境境/ /工工具具名名称称 操作系统windows xp web服务器apache 如图 4-4 所示,用户使用浏览器登陆在线考试系统请求访问.php 页面,通过网络 将数据传送到服务器端计算机。服务器端计算机操作系统开放相应端口。数据通过端 口访问 web 服务器 apache。apache 服务器通过自身调度算法,启动 php 解释器。 php 解释器对用户所请求的.php 页面中的 php 语句进行解释执行。在解释执行的过 程中,如果 php 程序需要访问数据库资源,则 php 按照程序中的语句连接数据库, 执行完毕后将数据返回 php 程序。当页面中的所有 php 语句全部执行完后,php 解 释器将执行后的结果传递给 apache 服务器。apache 服务器通过操作系统开放的相应 端口利用网络将执行后的结果返回给用户浏览器21。 4.3.2 体系结构设计体系结构设计 根据以上的分析,可以将整个系统的结构进行如下的设计和方案设计。 塔里木大学毕业设计 第 11 页 共 26 页 图 4-5 系统体系结构分析设计 4.3.3 模块数据流模型模块数据流模型 基于系统体系结构的设计工作,对系统体系结构进行细化,对整个系统的数据流 进行分析设计。采用自顶向下,层层递进和细化的设计方法对系统数据流进行了三个 级别的设计。三个级别的数据流图,自上而下抽象程度逐渐降低,数据流的环节逐渐 精细22。 图 4-6 第一级数据流图 接着,对第一级数据流图的每一个环节进行拆解和分析,主要是对第一级数据流 图中的“在线考试系统”对象进行拆解。同时也对第一级数据流图中的数据流进行相 应的拆解和细化,得到精细化的数据流图。 塔里木大学毕业设计 第 12 页 共 26 页 图 4-7 精细化后的数据流图 从精细化的数据流图中的数据流密度来看,整个系统是以数据库设计为依托,以 组卷模块为核心,同时以用户和试题管理等模块进行整个系统的功能完善。下图显示 了除去大多数数据库后各模块之间的数据流情况。 图 4-8 各模块之间的数据流图(局部) 以下是有数据库参与的系统数据流图设计情况。从图中可以看出,数据库中的各 种关系表是整个系统数据流的核心节点,离开了这些节点的支持,数据流的链条将会 出现大范围的断裂,如上图 4-9 所示。 塔里木大学毕业设计 第 13 页 共 26 页 图 4-9 有数据库节点的数据流图(局部) 4.3.4 系统目录结构设计系统目录结构设计 根据以上系统结构设计和系统数据流设计,对整个系统在磁盘上的目录编排和页 面组织进行设计。对于大多数页面都要用到元素,比如图片,系统图标以及为了整个 系统风格统一而设计的配色方案等,存放在同一级目录的不同文件夹中。对于分工不 同的、用以实现各个模块功能的页面,按照类别存放在相应的模块中。 图 4-10 系统目录图 整个系统目录机构采用了三级结构设置。将用户管理和试题管理功能统一放在了 user 目录里进行实现。landing 目录是整个系统中用户登录模块功能页面的存放目录。 整个目录结构设计大体遵循了系统结构设计图的设计思路其主要目录简介如下。 landing 目录:存放了整个系统中最重要的三大参与者,考生、用户、管理员进 塔里木大学毕业设计 第 14 页 共 26 页 入系统的接口页面,是登陆模块和整个考试系统之间的枢纽。 图 4-11 landing 目录图 order 目录:存放了系统的规定,比如考试守则以及帮助文档。 warning 目录:存放了用户出现操作错误或者违规操作时的提示页面,如:用户 名密码错误,权限不足等。 logo 目录:单独用来存放系统的图标,本系统遵循简洁的设计原则,因此没有 采用图片去增加色彩,只是用单纯的色彩块体现明快的风格。 exam 目录:存放了访问题库页面,访问组卷策略页面,出题组卷页面,阅卷评 卷页面等实现出题组卷系统功能的 php 页面。 login 目录:存放实现用户注册功能的 php 页面。 manage 目录:存放系统管理员功能的 php 页面。 modify 目录:存放了实现用户修改注册信息、更改试题功能的 php 页面。 paper 目录:存放了访问组卷策略的 php 页面和组卷数据传输的 php 页面。 query 目录:存放了用户信息查询、考试记录查询、上传题目记录查询等功能的 php 页面。 4.3.5 用例的事件流描述用例的事件流描述 (1)登录 首先系统提示用户输入用户名和密码,然后用户输入上述信息并选择用户类型后, 系统验证用户名和密码以及用户类型是否正确,如果正确,则进入系统的相应页面, 否则给出错误提示,并提示用户重新输入登录信息。 以上用例的事件流可以用以下的活动图来进行表示。 塔里木大学毕业设计 第 15 页 共 26 页 图 4-12 用户登录活动图 (2)注册 首先,用户进入注册页面。系统会显示所要填写的信息,其中表明了哪些是必须 填写的信息。当用户填写完注册信息后,系统变对用户填写的注册信息进行各方面的 审核和验证。如果用户填写的信息通过系统的验证,那么提示注册成功;否则进行错 误提示,并提示用户再次填写注册信息。 以上的用例活动可以用如下的活动进行描述。 图 4-13 用户注册活动图 塔里木大学毕业设计 第 16 页 共 26 页 (3)出题组卷 在用户顺利登陆并提出考试请求的情况下,首先系统发出组卷请求。之后系统访 问数据库管理系统调出组卷策略,读取组卷策略信息,同时将数据传回系统。系统按 照组卷策略进入题库,按照组卷策略组成一套试卷。 以上的用例活动可以用如下的活动图描述。 图 4-14 出题组卷活动图 (4)考试评卷 首先,用户以考生类型顺利登陆并进入考试页面。系统会提示用户选择考试科目, 以及相关信息。用户选择完毕后,系统访问出题组卷模块生成一套试卷,用户进行答 卷。答卷完毕以后,用户将结果提给系统,系统随机计算出用户的考试成绩,并显示 与考试相关的各项信息,将其汇聚成一个用户成绩的清单。同时将本次考试活动的数 据记录下来,以供查询。 以上的用例活动可以用如下的活动图进行描述。 塔里木大学毕业设计 第 17 页 共 26 页 图 4-15 考试评卷活动图 (5)用户/试题管理 首先,用户以系统管理员身份或者以试题上传者身份顺利登陆系统。首先,系统 会提示用户进行操作的选择。用户按照提示选择操作并进入相应的页面。系统执行完 用户操作后,给出执行结果的反馈信息。 以上的用例活动可以用如下的活动图进行描述。 图 4-16 试题管理模块活动图 塔里木大学毕业设计 第 18 页 共 26 页 4.4 动态行为模型 4.4.1 用户登陆用户登陆/注册模块设计注册模块设计 登录的过程是:系统提示用户输入用户名和密码,并选择用户类型。这些登录信 息通过浏览器 post 方法提交到 php 脚本语言提供的超级全局数组$_post 中并在 landing.php 页面上进行处理。首先,对数据进行控制检查。之后,以$_post 中的数 据为条件,到用户注册表中使用 sql 语言进行条件查询。如果结果不为空,则根据 $_post 中用户类型值进入到相应的页面,如果结果为空,则通过浏览器跳转到注册 页面23。 注册过程:注册页面提示用户填写注册信息,并且已经事先规定好了哪些内容是 必需填写的。注册信息通过浏览器 post 方法提交到 php 脚本语言提供的超级全局数 组$_post 中并在 login.php 页面上进行处理。和用户登录模块一样,首先进行数据 空值检查。之后对部分数据使用正规式进行匹配。如果数据验证完毕,则 php 脚本 解释器访问用户注册表以$_post 中的数据为条件并使用 sql 语言进行条件查询操作 23。如果查询结果为空则写入数据库并提示注册成功,否则要求用户使用另外一个用 户名并再次提示用户填写注册信息。 、 以上分析可以用如下的顺序图进行描述。 图 4-17 用户登录注册顺序图 4.4.2 出题组卷模块设计出题组卷模块设计 出题组卷过程是:出题组卷模块发出组卷请求并连接数据库,访问组卷策略表, 读出组卷策略数据。在组卷策略22-24上设计的触发器被激活,以组卷策略中数据为条 塔里木大学毕业设计 第 19 页 共 26 页 件执行查询语句,并完成组卷返回结果。可以用顺序图进行描述。 图 4-18 出题组卷顺序图 4.4.3 考试评卷模块设计考试评卷模块设计 考试评卷过程:用户选择考试课程后,同样使用 php 脚本语言中的超级全局数 组$_post 将信息传递给出题组卷模块,组卷模块发出组卷请求并访问数据库按照组 卷算法生成一套试卷。用户进行答卷并提交。连接数据库,以试题编号为条件进行在 题库中进行条件查询,查找正确答案并在 php 中打开会话,将正确答案存放到超级 全局数组$_session 中,对用户提交的答案进行逐一匹配,计算出用户成绩。同时访 问 php 超级全局数组$_server,读取$_serverremote_addr的值获取用户 计算机的 ip 地址24。将这些信息写入数据库用户考试表中。 图 4-19 考试评卷顺序图 4.4.4 查询管理模块设计查询管理模块设计 塔里木大学毕业设计 第 20 页 共 26 页 查询管理的过程:用户进入查询界面并选择查询操作。系统进行权限判断。如果 允许当前用户进行操作,则用户选择要查询的内容。系统会提示用户填写查询条件。 用户提交查询条件,系统通过 php 脚本语言访问数据库25,进行条件查询。 以上分析可以使用顺序图进行描述 图 4-20 查询管理顺序图 4.5 关键技术及其实现方法 4.5.1 文件上传的实现文件上传的实现 为了能够让用户不光能够进行文字注册,还能够在打印成绩单的时候出现自己的 免冠照片,那么只有让照片数字化,比如使用扫描仪转换成各种类型的图片文件或者 直接使用数码相机进行拍摄。经过这一个过程后还需要从本地计算机通过网络上传的 服务器指定的文件夹下面,供在服务器端的在线考试系统进行访问和读写。这个过程 就是文件上传的简要描述。 要实现远程文件上传需要几个条件,其一,web 服务器支持文件上传,其二,脚 本语言为服务器端运行脚本,其三,脚本语言支持文件上传,并且有一定的方法去实 现文件上传。 现在绝大多数 web 服务器均支持文件上传,而脚本语言对文件上传的支持则参 差不齐。运行在客户端的脚本无法支持文件上传,运行在服务器端的脚本大多支持文 件上传,只是实现方法有难有异。 本系统的开发和运行使用 apache 软件作为服务器端 web 服务器,以 php 脚本语 塔里木大学毕业设计 第 21 页 共 26 页 言进行数据流的传导。apache 服务器支持文件上传,php 脚本语言也支持文件上传。 因此首先要对 php 脚本编译器配置文件进行如下的更改26,使之开启文件上传功能。 图 4-21 php.ini 配置文件中有关文件上传参数 如图 4-22 所示,打开 php.ini 配置文件后对“file uploads”的三个参数进行设置。 其中第一个参数“file_uploads”的值为多少是决定能否进行文件上传的重要参数之一, on 表示可以进行文件上传,反之则表示不可以进行文件上传。由于安装在 windows 操作系统环境下,因此第二个参数上传文件的临时文件路径“upload_tmp_dir”无需 设置,被默认设置为操纵系统自身临时文件的路径。第三个参数,表示一次上单个传 文件的大小。26 第二部,在程序中对 html 表单的头部添加一个属性,所做的处理如下。 上传图片格式:*.jgp 或*.jpeg 类型上传图片大小:不超过 50kb 上传照片:* 这个属性向浏览器头部发出一个信息,表示所传递的数据将不仅仅是数字文本信 塔里木大学毕业设计 第 22 页 共 26 页 息,还有上传文件信息。使用 php 脚本语言提供的超级全局数组$_files 就可以将文 件传递到服务器端计算机操作系统的临时目录下。再使用 php 文件移动函数 move_uploaded_file(“源地址” , “目的地址”)将文件上传到指定的目的地址当中。在 本系统中根目录下“user/image/”就是服务器端计算机专门存放用户图片上传的目录。 4.5.2 抽题组卷的实现抽题组卷的实现 出题组卷功能是本系统的核心功能,使用 php 脚本语言将题目从试题库中按照 一定的难度系数和要求将题逐一抽出来组成一套试卷的实现技术非常关键。本系统采 用了在循环嵌套和 sql 查询语言对抽提组卷进行了实现。 首先,使用 php 语言连接 mysql 数据库管理系统27,并选择数据库。 $link=mysql_connect(“localhost“,“root“,“123“)or die(“链接数据库失败!“); mysql_select_db(“new“,$link)or die(“无法进入指定的数据库!“); 第二部,取出出题组卷策略数据后进入循环语句。其核心 sql 语句为如下图所 示。 $q=“select * from testtwo where qdegree=$i and course=$_getcourse order by rand() limit $num$i“; 其中使用试题难度变量作为循环变量$i,超级全局数组的$_getcourse中存放的 是用户提交的考试课程信息。数据$num 中存放的是从组卷策略中读取的每种难度级 别试题的数量信息。使用数据库管理系统的 rand()随即函数17使得抽出的试题处于随 机排列的状态。使用 select 查询语句中 limit 属性保证了取出试题的数量是组卷 策略中规定的数量28-29。 使用两层循环语句结构,第一层循环执行核心 sql 查询语句,用第二层循环显 示查询结果。当第一层循环结束后,一套按试卷就按着组卷策略生成完毕并通过网络 发送到用户的浏览器上。 5 界面设计 5.1 配色方案以及页面布局设计 界面的色彩搭配方案借鉴了微软公司官方主页的配色方案和设计风格。整个界面 的设计风格以简洁明快为主。背景色选择 rgb(200,200,200)的银灰色,前景图案采用 rgb(0,151,254)的天空蓝,以 rgb(220,220,220)的深灰色与背景色形成对比,字体颜 塔里木大学毕业设计 第 23 页 共 26 页 色采用 rgb(0,0,11)的黑色彰显沉稳。其色彩搭配方案如图 5-1 所示。 图 5-1 配色方案 界面的主题设计风格,如用户登陆页面所示。 图 5-2 登陆页面设计风格 塔里木大学毕业设计 第 24 页 共 26 页 图 5-3 考生页面 图 5-4 考试设置页面 6 系统部署 系统的部署30如下图所示,其中连接线表示通过网络连接。 图 6-1 系统部署图 总结 本次毕业设计对四年的学习成果进行了一次大检验,让理论和时间进行了一次紧 密联系。在系统的设计过程中,本人有很多值得改进的地方。 塔里木大学毕业设计 第 25 页 共 26 页 系统的设计过程也是对人意志品质的锻炼过程。当设计进行的顺利的时候,每个 人都会心情舒畅;然而,设计遇到困难和挫折时,本人没有及时进行困难分析,盲目 下了结论,强行进行下一个阶段的设计,使得在整体功能实现上出现了更大问题,以 至于不得不进行查找。然而,此时查找已错过了查找错误的最佳时期。由于设计已经 进行了很多,也并不好查找。此时,正是考验人的耐力的时候。 本人深刻感到书到用处方恨少。在进行设计的时候常常感到知识储备量不足,知 识遗忘量很大,以至于一个很简单的专业问题都会犹豫不定,非得重新翻看书本进行 确认才放心。而对于一个陌生的问题,除了向直到老师请教外,没有一个有效的解决 途径。这也是由于知识遗忘量大的原因。 通过本次毕业设计,本人严重意识到自己无论是从个人意志品质还是专业知识都 还需要一个长期累计和不断历练的过程,绝对不能满足于现有的状态。幸运的是本人 清楚的意识到了之一点,相信能够在以后的人生道路上走的更远。 致谢 范振歧老师做为指导老师该项目的指导老师倾注了大量的心血,对系统设计、数 据库设计、组卷算法设计以及后期的系统测试和系统改进均给予专业而细致可行的指 导,并最后为该系统的完成进行严格把关。在此向范振歧老师致以诚挚的谢意。学院 为本次毕业设计提供了优厚的设计条件并配备了优秀的指导教师团队,为本次毕

温馨提示

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

评论

0/150

提交评论