毕业设计论文基于Web的在线考试系统设计开发.doc

上传人:sccc 文档编号:4864596 上传时间:2023-05-20 格式:DOC 页数:27 大小:1.21MB
返回 下载 相关 举报
毕业设计论文基于Web的在线考试系统设计开发.doc_第1页
第1页 / 共27页
毕业设计论文基于Web的在线考试系统设计开发.doc_第2页
第2页 / 共27页
毕业设计论文基于Web的在线考试系统设计开发.doc_第3页
第3页 / 共27页
毕业设计论文基于Web的在线考试系统设计开发.doc_第4页
第4页 / 共27页
毕业设计论文基于Web的在线考试系统设计开发.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《毕业设计论文基于Web的在线考试系统设计开发.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于Web的在线考试系统设计开发.doc(27页珍藏版)》请在三一办公上搜索。

1、塔里木大学毕业设计目录1项目概况11.1开发环境11.2运行环境12 设计目的和意义13 设计思路和设计方案23.1整体设计思路23.2选择开发架构23.3搭建开发环境Windows+Apache+Mysql+PHP平台33.4算法选择和设计34 详细设计44.1 需求分析44.2 数据模型设计84.3模型分析94.4 动态行为模型184.5关键技术及其实现方法205 界面设计225.1配色方案以及页面布局设计226 系统部署24总结24致谢25参考文献25基于Web的在线考试系统设计开发摘要 本文详细介绍了基于Web的在线考试系统设计开发项目的设计和开发过程。 设计思路和方法采用瀑布模型1-

2、2开发,用统一建模语言UML2进行描述,经历了文献检索,需求分析,分析模型设计,数据模型设计,构建级设计,系统部署,系统测试六个个环节。系统以数据库为核心,使用B/S架构4下流行的PHP脚本语言作为宿主语言对系统核心功能模块进行设计。采用PowerDesigner软件作为UML语言的实现工具和数据库设计的开发工具。实现了用户登录、注册功能,出题组卷功能,考试评卷功能以及用户信息查询功能。关键词:B/S架构 PHP 软件工程 出题组卷 在线考试系统1项目概况1.1开发环境本系统采用PHP脚本在Windows操作系统下进行开发和设计。Web服务器5采用开源免费的Apache软件。数据库管理系统采用

3、开源免费的MySQL关系数据库管理系统。PHP脚本解释器采用开源免费的PHP。数据库设计工具采用Sybase公司的PowerDesigner 软件。代码编辑器采用EditPlus 软件。详细内容请看下表:表1-1 开发环境表1.2运行环境由于系统采用B/S架构设计,因此对于本地计算机的性能要求非常的低。只需要有网络环境和浏览器就可以。2 设计目的和意义目的在于设计和开发出一个基于Web的、能够适应各种考试的并能够自动出题组卷的、人性化、智能化6的在线考试系统。考生只需要一台可以上网的计算机登录在线考试系统就可以足不出户的参加各种类型的考试和练习。在线考试系统中题库中的试题资源来自各种渠道,试题

4、种类丰富,试题设计思路巧妙。同时可以大大减少考生购买纸质试题、参加考试的车旅住宿费用6。考试举办方或考试组织者,尤其是学校学生考试的组织者和出题者,无需经常对同一年级的同一个科目进行出题,免去了出题者重复出题的工作量,也减轻了考试组织方的工作量7。出题者通过浏览器登录到在线考试系统,就可以随时随地将试题添加到题库。3 设计思路和设计方案3.1整体设计思路整个项目采用软件工程的通用设计模式设计。整个设计思路大致经历了:文献检索并写出文献综述、进行需求分析、分析模型建模、数据模型建模、构建级设计、系统测试等六大环节。所涉及到的软件工程的内容都使用统一建模语言UML(Unifield Moudel

5、Language)7-10进行描述和完成。利用塔里木大学购买的中文全文数据库中的文献资源,主要在中国知网全文数据和万方全文数据库中进行相关的题名关键字检索并查看全文。需求分析等之后的步骤都是按照软件工程的要求进行。其所作的图包括:用例图、活动图、协同图、部署图、类图等。3.2选择开发架构1、C/S架构Client/Server架构中,每个客户端(Client)都是可以独立处理数据的主机(Host),可以对本地计算机上的软硬件资源进行无障碍的使用,比如访问本地计算机上的数据库、本地计算机操作系统的系统功能调用、对本地计算机磁盘的读写等。只有当应用软件需要一个本地计算机资源无法提供的数据时,才通过

6、去访问服务器,下载所需的资源和数据。通常,大型的应用软件采用这种架构。2、B/S架构Bowser/Server架构中,每台客户端主机(Host)不能够独立的处理数据,绝大多数的数据都是由服务器(Server)来处理。因此用户所需要的服务取决于服务器(Server)端能够提供怎样的服务,可以做到服务和数据的实时更新4。在线考试系统是一个数据更新速度很快的系统,需要实时的处理用户任意时间提交的数据,比如用户的登录、考试、查询以及试题的添加、删除、更新。基于上述的分析,在线考试系统适合采用B/S架构。3.3搭建开发环境Windows+Apache+Mysql+PHP平台本软件既然采用B/S架构进行设

7、计,就必须要选择一个适合该架构的开发环境。在B/S架构中,所有的数据处理都是在服务器(Server)端的计算机上进行的,因此需要一个服务器软件。数据是整个考试系统的血液,因此需要一个数据库管理系统。目前,B/S架构下的开发环境有两种选择。第一,IIS6.0+MSSQL2000及以上+ASP.NET。这是一个只能运行和搭建在Windows平台的开发环境,也是一个最容易使用,最容进行配置的开发平台,然而开发出的系统只能够在Windows下运行,使得代码的可移植性收到局限。同时,搭建环境所付出的资金成本也非常的昂贵11。购买费用大致如下表所示:表3-1 Windows平台下搭建运行环境费用(数据来自

8、中关村在线)第二,Linux+Apache+Mysql+PHP。这是Linux下进行B/S架构下Web开发的最佳组合并且是开源免费的,其运行的稳定性是无与伦比的。Apache+Mysql+PHP不仅是开源免费的,同时由于PHP脚本语言和Apache服务器以及MySQL数据库管理系统可以跨平台的运行在Windows环境和Linux环境下,所以开发的系统具有性能稳定,可移植性强的优势。然而,多数开发者已经形成了Windows环境下工作方式和思维方式,更换Linux会非常的不适应,需要重新调整思维方式和工作方法。经过上面的分析, Windows+Apache+Mysql+PHP的混合模式是一种非常不

9、错的方案。这种平台搭建规避了两种平台不足的地方,对两者进行了优势互补。3.4算法选择和设计在线考试系统的核心是出题组卷子系统。目前,出题组卷系统的算法设计有以下几种12-13:(1)随机选取法:根据状态空间的控制指标,由计算机随机的抽取一道试题放入试题库,此过程不断重复,直到组卷完毕,或已无法从题库中抽取满足控制指标的试题为止 14。该方法结构简单,对于单道题的抽取运行速度较快,但是对于整个组卷过程来说组卷成功率低,即使组卷成功,花费时间十分长。卷往往以失败而告终14。(2)回溯试探法:这是将随机选取法产生的每一状态类型纪录下来,当搜索失败时释放上次纪录的状态类型,然后再依据一定的规律变换一种

10、新的状态类型进行试探,通过不断的回溯试探直到试卷生成完毕或退回出发点为止15。这种有条件的深度优先算法,对于状态类型和出题量都较少的题库系统而言,组卷成功率较好,但是在这种算法对内存的占用量很大,程序结构比较复杂,而且选取试题缺乏随机性,因此它也不是一种很好的用来组卷的算法。(3)遗传算法:是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法16。这种组卷算法组卷质量和组卷效率非常好。遗传算法现在已经发展成了一门独立研究的课题,因此对于没有接触过遗传算法的开发人员,在使用遗传算法时存在较大的知识壁垒。结合上面诸多算法的优缺点,在下考试

11、系统采用了一种以数据库设计为核心的组卷方式。这种组卷方法充分利用SQL语言高度非过程化17的优势,在数据库级别完成出题组卷功能,利用宿主语言的缓冲将组好的试卷显示出来。4 详细设计4.1 需求分析第一,系统分析,在线考试系统开发的目的就是利用当今发达的网络技术满足用户考试练习的需求。所要收集到的系统需求可以分为三类18-19:功能性需求、非功能性需求、可用性需求。功能性需求和非功能性需求是系统分析与设计的常用种类。功能性需求描述了系统可以做什么或被期望做什么,可以用用例来描述。非功能性需求描述了系统与更好地提供功能需求有关的方面,如性能、安全性等;可用性需求则描述了特定用户在特定环境下有效地、

12、顺利地达到特定目标的程度。在线考试系统的系统分析表述如下:在考试系统中,要为每一个考生和试题上传人员建立一个用户,也即需要进行注册。注册信息包括用户名、密码等信息。只有已经注册的用户才能登陆系统并进行下一步的操作。同时借鉴强制存取控制(MAC)思想对用户进行标记,使得不同级别的用户使用不同的功能和数据;借鉴自主存取控制(DAC)思想对用户的角色类型进行检查。用户登陆,首先要进行的登陆信息验证,验证如果判定用户类型为考生,则前往考生页面;如果是出题者,则进入出题页面;如果是系统管理员,则进入系统管理员页面。进入考生页面的用户可以选择参加考试和成绩查询。进入出题者页面的用户,可以进行试题上传和查询

13、上传记录。不同类型的用户对同一个功能的使用权限不同。同一类型的用户对不同的功能的使用权限也不同。比如考生和出题者属于普通用户,然而两者所能使用的系统功能是截然不同的。用户登录活动依赖于用户注册系统。一个没有注册的用户是一个非法用户,将不能对系统进行任何操作。用户在注册时必需按照系统规定的方式填写注册信息。为了保证用户填写信息的正确性,在实际使用当中,比如在学校,可以在学校人员管理系统的数据库管理系统中申请一个拥有只读权限的用户。用户在注册时学号,教工号是必须填写的内容。当一个新用户注册时,用户填写完信息以后便可以立刻连接数据库进行真实性验证。对上述在线考试系统的分析可以获得如下功能性需求:(1

14、)用户能够按照自己的实际情况和实际需求选择一种用户类型进行注册。(2)以考生类型登录的用户可以进行考试和成绩查询的活动而不受限制。(3)以试题上传者类型登录的用户可以进行试题上传。(4)管理员可以对用户和题库进行最高权限的管理,包括用户和试题的插入,更新和删除。(5)在线考试系统能够正确识别和判断登录用户。(6)在线考试系统能够按照组卷策略随机从题库中抽出相应的试题组成试卷。(7)在线考试系统能够正确的评卷并计算出考生的成绩。(8)在线考试系统能够正确相应用户对试题进行插入、更新、删除操作。(9)在线考试系统能够正确的记录用户考试结果和试题上传记录。(10)在线考试系统能够记录用户(考生,试题

15、上传者,管理员)的登录记录。第二,识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:考生、试题上传者、系统管理员。参与者描述如下:(1)考生:通过注册系统验证后的任何以考生类型注册的用户。(2)试题上传者:通过注册系统验证后的任何以试题上传者类型注册的用户。(3)系统管理员:在线考试的拥有者或管理者。第三,识别用例通过上述分析,可以确定系统中有如下用例存在。(1)用户登录本用例为用户提供了进入在线系统的接口功能。(2)用户注册本用例为用户使用在线考试系统打下前提基础。(3)成绩查询本用例为考生类型的用户提供了注册信息查询和成绩查询管理的功能。(4)修改注册信息本用例为用户提供了修改密

16、码和注册信息的功能。(5)考试本用例为考生类型的用户提供了出题组卷、评卷、计算成绩并记录的功能。(6)查看登录记录本用例为考生类型用户提供查看个人登录在线考试系统记录的功能;为系统管理员提供查看所有用户登录在线考试系统记录的功能。(7)试题上传本用例为试题上传者类型的用户提供试题上传功能。(8)试题修改本用例为试题上传者类型的用户提供个人对上传试题修改,插入,更新的功能。(9)试题上传查询本用例为试题上传者类型的用户提供对个人上传试题情况的查询功能。(11)添加用户本用例为系统管理员提供添加新用户的功能。(12)更新用户本用例为系统管理员提供更新用户注册表和用户信息的功能。(13)删除用户本用

17、例为系统管理员提供删除用户注册表和用户信息的功能。(14)试题插入本用例为系统管理员提供向题库添加试题的功能(15)试题删除本用例为系统管理员提供删除题库和试题信息的功能。(16)试题更新本用例为系统管理员提供更新题库和试题信息的功能。(17)设置试卷难度配比本用例为系统管理员提供添加、更新、删除组卷策略的功能。(18)登录并修改信息本用例为系统管理员提供普通用户的功能。4.1.1用例分析根据上述分析,系统的角色可以分为两种类型。一种是普通类型的角色,包括考生和上传试题者;另一种是系统的管理员。由于所处的角色不同,所使用的功能就有所不同。下面是普通用户的用例分析结果。图4-1 普通用户用例图系

18、统管理员是系统中权限最高的角色,除了可以使用普通用户可以使用的功能外还有普通用户不能够拥有的功能。图4-2 系统管理员用例图4.1.2功能性分析(1)用户登录、注册、修改信息的功能该功能模块是整个系统的入口。要求用户分角色进行登陆、注册。不同角色的用户设置不同的权限去访问不同的网页;对于相同的网页,不同权限的用户有各自的访问方法或无法访问。(2)出题组卷的功能该模块是整个系统的基础和核心,所有的功能都是围绕着出题组卷这一核心功能展开。能够实现出题组卷的功能需要有两个要素的支持。一个是题库,里面长期存放着可以不断添加、更新、删除的各个学科的题目;另一个是组卷策略,它使得题库当中杂乱无章的题目能够

19、以人们要求的形式和难度配比出现在一张卷子上面20。4.2 数据模型设计基于上述的需求分析,可以得到下面的数据库设计图。图4-3 数据库设计图设计图中中各个关系表的的含义如下表所示。表4-1 设计图清单4.3模型分析4.3.1 架构设计本系统选择采用PHP脚本语言作为整个系统的宿主语言和数据传输的媒介和载体,同时有选择了B/S架构开发模式,其构架设计图如下;图4-4 系统架构设计图如图4-4中所示,客户端计算机上的操作系统可以使用任意平台的操作系统,但必须至少安装一种浏览器,如:IE浏览器、FireFox浏览器等。服务器端计算机所部署的操作系统和Web服务器、数据库管理系统以及脚本解释器,既是开

20、发环境也可以是将来的运行环境。服务器端计算机开发环境详细信息如下:表4-2 系统架构设计详细信息如图4-4所示,用户使用浏览器登陆在线考试系统请求访问.php页面,通过网络将数据传送到服务器端计算机。服务器端计算机操作系统开放相应端口。数据通过端口访问Web服务器Apache。Apache服务器通过自身调度算法,启动PHP解释器。PHP解释器对用户所请求的.php页面中的PHP语句进行解释执行。在解释执行的过程中,如果PHP程序需要访问数据库资源,则PHP按照程序中的语句连接数据库,执行完毕后将数据返回PHP程序。当页面中的所有PHP语句全部执行完后,PHP解释器将执行后的结果传递给Apach

21、e服务器。Apache服务器通过操作系统开放的相应端口利用网络将执行后的结果返回给用户浏览器21。4.3.2 体系结构设计根据以上的分析,可以将整个系统的结构进行如下的设计和方案设计。图4-5 系统体系结构分析设计4.3.3 模块数据流模型基于系统体系结构的设计工作,对系统体系结构进行细化,对整个系统的数据流进行分析设计。采用自顶向下,层层递进和细化的设计方法对系统数据流进行了三个级别的设计。三个级别的数据流图,自上而下抽象程度逐渐降低,数据流的环节逐渐精细22。图4-6 第一级数据流图接着,对第一级数据流图的每一个环节进行拆解和分析,主要是对第一级数据流图中的“在线考试系统”对象进行拆解。同

22、时也对第一级数据流图中的数据流进行相应的拆解和细化,得到精细化的数据流图。图4-7 精细化后的数据流图从精细化的数据流图中的数据流密度来看,整个系统是以数据库设计为依托,以组卷模块为核心,同时以用户和试题管理等模块进行整个系统的功能完善。下图显示了除去大多数数据库后各模块之间的数据流情况。图4-8 各模块之间的数据流图(局部)以下是有数据库参与的系统数据流图设计情况。从图中可以看出,数据库中的各种关系表是整个系统数据流的核心节点,离开了这些节点的支持,数据流的链条将会出现大范围的断裂,如上图4-9所示。图4-9 有数据库节点的数据流图(局部)4.3.4 系统目录结构设计根据以上系统结构设计和系

23、统数据流设计,对整个系统在磁盘上的目录编排和页面组织进行设计。对于大多数页面都要用到元素,比如图片,系统图标以及为了整个系统风格统一而设计的配色方案等,存放在同一级目录的不同文件夹中。对于分工不同的、用以实现各个模块功能的页面,按照类别存放在相应的模块中。图4-10 系统目录图整个系统目录机构采用了三级结构设置。将用户管理和试题管理功能统一放在了user目录里进行实现。landing目录是整个系统中用户登录模块功能页面的存放目录。整个目录结构设计大体遵循了系统结构设计图的设计思路其主要目录简介如下。Landing目录:存放了整个系统中最重要的三大参与者,考生、用户、管理员进入系统的接口页面,是

24、登陆模块和整个考试系统之间的枢纽。图4-11 landing目录图Order目录:存放了系统的规定,比如考试守则以及帮助文档。Warning目录:存放了用户出现操作错误或者违规操作时的提示页面,如:用户名密码错误,权限不足等。Logo目录:单独用来存放系统的图标,本系统遵循简洁的设计原则,因此没有采用图片去增加色彩,只是用单纯的色彩块体现明快的风格。Exam目录:存放了访问题库页面,访问组卷策略页面,出题组卷页面,阅卷评卷页面等实现出题组卷系统功能的PHP页面。Login目录:存放实现用户注册功能的PHP页面。Manage目录:存放系统管理员功能的PHP页面。Modify目录:存放了实现用户修

25、改注册信息、更改试题功能的PHP页面。Paper目录:存放了访问组卷策略的PHP页面和组卷数据传输的PHP页面。Query目录:存放了用户信息查询、考试记录查询、上传题目记录查询等功能的PHP页面。4.3.5 用例的事件流描述(1)登录首先系统提示用户输入用户名和密码,然后用户输入上述信息并选择用户类型后,系统验证用户名和密码以及用户类型是否正确,如果正确,则进入系统的相应页面,否则给出错误提示,并提示用户重新输入登录信息。以上用例的事件流可以用以下的活动图来进行表示。图4-12 用户登录活动图(2)注册首先,用户进入注册页面。系统会显示所要填写的信息,其中表明了哪些是必须填写的信息。当用户填

26、写完注册信息后,系统变对用户填写的注册信息进行各方面的审核和验证。如果用户填写的信息通过系统的验证,那么提示注册成功;否则进行错误提示,并提示用户再次填写注册信息。以上的用例活动可以用如下的活动进行描述。图4-13 用户注册活动图(3)出题组卷在用户顺利登陆并提出考试请求的情况下,首先系统发出组卷请求。之后系统访问数据库管理系统调出组卷策略,读取组卷策略信息,同时将数据传回系统。系统按照组卷策略进入题库,按照组卷策略组成一套试卷。以上的用例活动可以用如下的活动图描述。图4-14 出题组卷活动图(4)考试评卷首先,用户以考生类型顺利登陆并进入考试页面。系统会提示用户选择考试科目,以及相关信息。用

27、户选择完毕后,系统访问出题组卷模块生成一套试卷,用户进行答卷。答卷完毕以后,用户将结果提给系统,系统随机计算出用户的考试成绩,并显示与考试相关的各项信息,将其汇聚成一个用户成绩的清单。同时将本次考试活动的数据记录下来,以供查询。以上的用例活动可以用如下的活动图进行描述。图4-15考试评卷活动图(5)用户/试题管理首先,用户以系统管理员身份或者以试题上传者身份顺利登陆系统。首先,系统会提示用户进行操作的选择。用户按照提示选择操作并进入相应的页面。系统执行完用户操作后,给出执行结果的反馈信息。以上的用例活动可以用如下的活动图进行描述。图4-16试题管理模块活动图4.4 动态行为模型4.4.1用户登

28、陆/注册模块设计登录的过程是:系统提示用户输入用户名和密码,并选择用户类型。这些登录信息通过浏览器Post方法提交到PHP脚本语言提供的超级全局数组$_POST中并在Landing.php页面上进行处理。首先,对数据进行控制检查。之后,以$_POST中的数据为条件,到用户注册表中使用SQL语言进行条件查询。如果结果不为空,则根据$_POST中用户类型值进入到相应的页面,如果结果为空,则通过浏览器跳转到注册页面23。注册过程:注册页面提示用户填写注册信息,并且已经事先规定好了哪些内容是必需填写的。注册信息通过浏览器Post方法提交到PHP脚本语言提供的超级全局数组$_POST中并在Login.p

29、hp页面上进行处理。和用户登录模块一样,首先进行数据空值检查。之后对部分数据使用正规式进行匹配。如果数据验证完毕,则PHP脚本解释器访问用户注册表以$_POST中的数据为条件并使用SQL语言进行条件查询操作23。如果查询结果为空则写入数据库并提示注册成功,否则要求用户使用另外一个用户名并再次提示用户填写注册信息。、以上分析可以用如下的顺序图进行描述。图4-17 用户登录注册顺序图4.4.2出题组卷模块设计出题组卷过程是:出题组卷模块发出组卷请求并连接数据库,访问组卷策略表,读出组卷策略数据。在组卷策略22-24上设计的触发器被激活,以组卷策略中数据为条件执行查询语句,并完成组卷返回结果。可以用

30、顺序图进行描述。图4-18 出题组卷顺序图4.4.3考试评卷模块设计考试评卷过程:用户选择考试课程后,同样使用PHP脚本语言中的超级全局数组$_POST将信息传递给出题组卷模块,组卷模块发出组卷请求并访问数据库按照组卷算法生成一套试卷。用户进行答卷并提交。连接数据库,以试题编号为条件进行在题库中进行条件查询,查找正确答案并在PHP中打开会话,将正确答案存放到超级全局数组$_SESSION中,对用户提交的答案进行逐一匹配,计算出用户成绩。同时访问PHP超级全局数组$_SERVER,读取$_SERVERREMOTE_ADDR的值获取用户计算机的IP地址24。将这些信息写入数据库用户考试表中。图4-

31、19 考试评卷顺序图4.4.4查询管理模块设计查询管理的过程:用户进入查询界面并选择查询操作。系统进行权限判断。如果允许当前用户进行操作,则用户选择要查询的内容。系统会提示用户填写查询条件。用户提交查询条件,系统通过PHP脚本语言访问数据库25,进行条件查询。以上分析可以使用顺序图进行描述图4-20查询管理顺序图4.5关键技术及其实现方法4.5.1文件上传的实现为了能够让用户不光能够进行文字注册,还能够在打印成绩单的时候出现自己的免冠照片,那么只有让照片数字化,比如使用扫描仪转换成各种类型的图片文件或者直接使用数码相机进行拍摄。经过这一个过程后还需要从本地计算机通过网络上传的服务器指定的文件夹

32、下面,供在服务器端的在线考试系统进行访问和读写。这个过程就是文件上传的简要描述。要实现远程文件上传需要几个条件,其一,Web服务器支持文件上传,其二,脚本语言为服务器端运行脚本,其三,脚本语言支持文件上传,并且有一定的方法去实现文件上传。现在绝大多数Web服务器均支持文件上传,而脚本语言对文件上传的支持则参差不齐。运行在客户端的脚本无法支持文件上传,运行在服务器端的脚本大多支持文件上传,只是实现方法有难有异。本系统的开发和运行使用Apache软件作为服务器端Web服务器,以PHP脚本语言进行数据流的传导。Apache服务器支持文件上传,PHP脚本语言也支持文件上传。因此首先要对PHP脚本编译器

33、配置文件进行如下的更改26,使之开启文件上传功能。图4-21 php.ini配置文件中有关文件上传参数如图4-22所示,打开php.ini配置文件后对“File Uploads”的三个参数进行设置。其中第一个参数“file_uploads”的值为多少是决定能否进行文件上传的重要参数之一,On表示可以进行文件上传,反之则表示不可以进行文件上传。由于安装在Windows操作系统环境下,因此第二个参数上传文件的临时文件路径“upload_tmp_dir”无需设置,被默认设置为操纵系统自身临时文件的路径。第三个参数,表示一次上单个传文件的大小。26第二部,在程序中对HTML表单的头部添加一个属性,所做

34、的处理如下。 上传图片格式:*.JGP或*.jpeg类型/p上传图片大小:不超过50KB 上传照片:*这个属性向浏览器头部发出一个信息,表示所传递的数据将不仅仅是数字文本信息,还有上传文件信息。使用PHP脚本语言提供的超级全局数组$_FILES就可以将文件传递到服务器端计算机操作系统的临时目录下。再使用PHP文件移动函数move_uploaded_file(“源地址”,“目的地址”)将文件上传到指定的目的地址当中。在本系统中根目录下“user/image/”就是服务器端计算机专门存放用户图片上传的目录。4.5.2 抽题组卷的实现出题组卷功能是本系统的核心功能,使用PHP脚本语言将题目从试题库中

35、按照一定的难度系数和要求将题逐一抽出来组成一套试卷的实现技术非常关键。本系统采用了在循环嵌套和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=$_GETcour

36、se order by rand() limit $num$i;其中使用试题难度变量作为循环变量$i,超级全局数组的$_GETcourse中存放的是用户提交的考试课程信息。数据$num中存放的是从组卷策略中读取的每种难度级别试题的数量信息。使用数据库管理系统的rand()随即函数17使得抽出的试题处于随机排列的状态。使用SELECT查询语句中LIMIT属性保证了取出试题的数量是组卷策略中规定的数量28-29。使用两层循环语句结构,第一层循环执行核心SQL查询语句,用第二层循环显示查询结果。当第一层循环结束后,一套按试卷就按着组卷策略生成完毕并通过网络发送到用户的浏览器上。5 界面设计5.1配色

37、方案以及页面布局设计界面的色彩搭配方案借鉴了微软公司官方主页的配色方案和设计风格。整个界面的设计风格以简洁明快为主。背景色选择RGB(200,200,200)的银灰色,前景图案采用RGB(0,151,254)的天空蓝,以RGB(220,220,220)的深灰色与背景色形成对比,字体颜色采用RGB(0,0,11)的黑色彰显沉稳。其色彩搭配方案如图5-1所示。图5-1 配色方案界面的主题设计风格,如用户登陆页面所示。图5-2登陆页面设计风格图5-3 考生页面图5-4考试设置页面6 系统部署系统的部署30如下图所示,其中连接线表示通过网络连接。图6-1系统部署图总结本次毕业设计对四年的学习成果进行了

38、一次大检验,让理论和时间进行了一次紧密联系。在系统的设计过程中,本人有很多值得改进的地方。系统的设计过程也是对人意志品质的锻炼过程。当设计进行的顺利的时候,每个人都会心情舒畅;然而,设计遇到困难和挫折时,本人没有及时进行困难分析,盲目下了结论,强行进行下一个阶段的设计,使得在整体功能实现上出现了更大问题,以至于不得不进行查找。然而,此时查找已错过了查找错误的最佳时期。由于设计已经进行了很多,也并不好查找。此时,正是考验人的耐力的时候。本人深刻感到书到用处方恨少。在进行设计的时候常常感到知识储备量不足,知识遗忘量很大,以至于一个很简单的专业问题都会犹豫不定,非得重新翻看书本进行确认才放心。而对于

39、一个陌生的问题,除了向直到老师请教外,没有一个有效的解决途径。这也是由于知识遗忘量大的原因。通过本次毕业设计,本人严重意识到自己无论是从个人意志品质还是专业知识都还需要一个长期累计和不断历练的过程,绝对不能满足于现有的状态。幸运的是本人清楚的意识到了之一点,相信能够在以后的人生道路上走的更远。致谢范振歧老师做为指导老师该项目的指导老师倾注了大量的心血,对系统设计、数据库设计、组卷算法设计以及后期的系统测试和系统改进均给予专业而细致可行的指导,并最后为该系统的完成进行严格把关。在此向范振歧老师致以诚挚的谢意。学院为本次毕业设计提供了优厚的设计条件并配备了优秀的指导教师团队,为本次毕业设计的顺利完

40、成提供了坚实的基础,在此致以诚挚的谢意。参考文献1Shari Lawrence Pfleeger(美),吴丹(译).软件工程理论与实践M.清华大学出版社.2007:1-6002陈宏刚,张亚勤编著.软件开发过程与案例M.北京:清华大学出版社.2008.9:1-4503UML基础与PowerDesigner建模案例(第二版) M.北京人民邮电出版社.2008:1-5214类激扬.C/S于B/S的融合M.计算机世界报.2007.6:32-355蔡月茹.Web Service基础教程M. 北京清华大学出版社.2007:1-2506王轶,林家薇.远程教育考试系统设计的方法研究J.教育信息化.2006(1

41、):63-647尤克滨.UML应用建模实践过程M.北京:机械工业出版社.2007.1:1-3008丁峰,柳西玲.UML技术及应用M北京:高等教育出版社.2007:1-4009冀振燕.UML系统分析设计与应用案例M.北京:人民邮电出版社.2006.6:1-400 10孙志明.用例风暴M.水利水电出版社.2007.5:1-30011李明.使用UML语言进行软件设计初探J.哈尔滨工业大学学报(自然科学版).2007 (2):58-6412唐朝舜,董玉德.在线随机组卷算法研究及实现J.合肥工业大学学报.2006(3):104-10813林雪明.试题难度系数确定数学模型的建立与实现J.杭州应用工程技术学

42、院学报, 2007, 13(1): 47-5014安吉尧等.电子考试中动态抽题算法的应用研究与实现J.计算机工程与设计.2008,25(2):45-4815王彦.回溯算法的形式模型M.计算机研究与发展.2007.9:123-18016初文科.遗传算法研究D.中国优秀硕士学位论文全文数据库.2008.(08) 17陆昌辉,吴晓华.MySQL核心技术揭秘M.北京:北京希望电子出版社.2002:256-26018张友生.系统分析师之路M.北京电子工业出版社.2007:210-23019范明亮,孙斌.通用试题库管理系统的研发J.计算机工程与设计.2007.28:2185-218720李海兵.智能组卷系

43、统的研究和实现D.中国优秀硕士学位论文全文数据库.2008.(01)21明仲,戚杰.基于PHP的网上考试系统的设计与实现J.中国电化教育.2007(2):83-8522Kent Tegds(美),袁勤勇(译).编程思想M.北京清华大学出版社.2007:1-20123李明.Web考试系统的设计与实现.D.中国优秀硕士学位论文全文数据库.2008.(08) 24王秋云,董健康.基于B/S的在线考试系统的设计与开发J.计算机与现代化.2007(5): 46-47.25盛志伟,刘仕筠,刘双虎.基于Web的网络考试系统的设计与实现J.计算机与现代化.2008(7): 58-6126汪永明.基于B/S模式的在线考试系统M.微机发展.2007,14(1):59-6027国家教委考试中心主编.题库建设理论与实践.北京光明日报出版社.2006:56-7828范立南.MySQL实用教程M.北京:清华大学出版社,2007:250-26029陶永进.浅谈新型无纸化考试系统J.长沙通信职业技术学院学报.2007,3(1):62-6430RonPaton(美),张小松等(译).软件测试Software Testing(2nd Edition) M.北京机械工作出版社.2007:156-275第 26 页 共 26 页

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号