1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。中文摘要本文主要研究试题库技术、 Web技术、 数据库技术, 探索将这三种技术有机的结合, 实现基于Web的题库系统。该系统能够和学校的校园网或其它基于Web的应用结合在一起, 满足教师出题、 学生在线做题和考试的需要。本文对题库系统的背景、 概念、 理论和技术进行了概述, 比较分析了其它各种试题库系统, 并在此基础上提出了通用性、 网络化的新特点, 从而实现了此试题库管理系统。研究了客户机/服务器模式、 数据库系统、 PHP等相关理论和技术, 给出了一个基于Web的题库系统的实现方案。系统采用B/S模式, 用户采用浏览器与系统实现
2、交互。应用层由Web服务器和数据库组成。系统采用PHP作为主要开发语言, 可实现试题录入, 考卷自动生成、 学生在线考试等功能。该系统由题库管理系统和在线考试子系统两部分组成。关键词 B/S结构; 题库系统; 自动组卷AbstractThis document is about to research examination question database technology, web technology, database technology and explore the combination of these three kinds of technology to achi
3、eve web-base examination database system. The system is able to integrate with the campus network or other web-base application to meet the requirement of make examination questions by teachers and the students online self-test.This paper summarizes the examination question database systems backgrou
4、nd, concept, theory and technology, comparatively analyses the existing examination question database system, and based on this proposes the new general and network characteristic, thus implements the system.It makes research about client/server model, database system, PHP and other relate theories
5、and technologies, gives a proposal to fulfill web-base examination question database system. This system adopts B/S mode, and the user accesses the system through a browser. The application layer is composed of web server and database. System users PHP as the main program language, and it can fulfil
6、l the functionality of online question input, automatic generation of the test papers, online examination etc. This system is composed of two parts: question database management subsystem and online test subsystem.Keywords: B/S structure; examination question database system; automatic test paper co
7、mbinationKeyWords: B/S structure; examination question database system; automatic test paper combination目 录中文摘要1Abstract2目 录3第一章 引 言51.1 研究背景及意义51.2 研究现状及趋势71.3 论文结构9第二章 系统分析92.1 可行性分析92.1.1 技术分析92.1.2 应用分析92.2 系统需求分析102.2.1 功能需求102.2.2 用户需求102.2.3 性能需求102.3 本章总结11第三章 系统总体设计113.1 系统的功能模块设计113.1.1 后台
8、管理系统113.1.2 前台子系统123.2 系统的运行模式133.2.1 MVC架构特征143.2.2 题库系统结构153.3 系统的数据库设计153.3.1 数据库需求分析153.3.2 数据库安全163.3 本章总结16第四章 系统详细设计164.1 开发环境和开发工具164.1.1 开发环境搭建174.1.1.1 安装MySQL174.1.1.2 安装Apache174.1.1.3 安装PHP184.1.1.4安装CodeIgniter184.1.2 主要开发工具194.2 系统数据库表结构设计194.3 系统主要模块设计234.3.1 系统前端实现234.3.1.1 首页234.3.
9、1.2 用户注册与登陆234.3.1.3 在线考试264.3.1.4 资料上传与下载274.3.2 系统后端实现294.3.2.1 后端首页实现294.3.2.2 登入登出304.3.2.3 试题管理314.3.2.4 试卷管理334.3.2.5 考卷管理364.3.2.6 上传管理384.3.2.7 科目管理和知识点管理394.3.2.7 用户和用户组管理414.4 本章总结43第五章 系统测试445.1 系统特色445.2 系统测试445.2.1 系统测试工具445.2.2 系统测试计划445.2.3 测试用例455.2.3.1 登陆模块测试455.2.3.2 试题管理测试455.2.3.
10、3 试卷管理测试455.2.3.4 在线考试测试455.2.4 测试总结465.3 本章总结46第六章 结束语46致 谢48第一章 引 言1.1 研究背景及意义 在学校教学工作中, 考试是其中重要组成部分。经过考试, 教师能够了解学生的学习情况, 并借此了解教学效果, 改进教学方法, 提高教学质量; 学生则能够经过考试了解自己对内容的掌握情况, 有目的的进行学习。同时, 考试也是衡量人的能力的重要手段, 选拔人才的重要标准。现阶段, 学校与社会上的各种考试大都采用传统的考试方式, 在此方式下, 组织一次考试至少要经过人工出卷、 文印试卷、 考试安排、 学生考试、 收集试卷、 人工阅卷、 成绩评
11、估和分析试卷等一系列步骤.。显然, 随着各种考试类型的不断增加和考试要求的不断提高, 学校教师们的工作量也将越来越大; 而且, 当考生数量比较大时, 其阅卷工作及对考生的考试成绩进行统计的工作也将是一件十分琐碎而且容易出错的事情。对于组卷方法, 当前教师大多沿用传统方式, 即经验型的手工命题方式进行命题, 供命题教师选择试题的”资料库是一些参考书和习题集, 试题的取舍取决于命题者对教学内容, 教学目标的理解和对学生学习水平的估计, 命题过程以教学经验为参照系, 因此主观认识上的局限性、 随意性难以避免。能够说, 传统的考试方式己经不能适应现代考试的需要。同时, 现代社会信息爆炸, 知识的更新速
12、度日益加快, 旧的知识传播途径已经满足不了人们的需求, 这就迫切需要一种全新的知识传播方式。随着计算机技术、 网络通信技术和多媒体技术的飞速发展和广泛普及, 为人们提供了一个巨大的资源共享空间。人们越来越依靠计算机网络作为彼此合作、 交流的主要渠道。因此, 随着计算机及其网络技术的飞速发展和社会信息化水平的不断提高, 计算机网络技术在教育测量和评价过程中得到了广泛的应用。特别是计算机辅助评价(Computer Assistant Assessment, 简称CAA)的应用, 不但带来课程教学内容、 教学方法、 教学手段的变化, 而且引发了课程评价内容、 评价方法和形式以及评价手段的深刻变革。计
13、算机考试及网上考试系统得到了广泛的应用和发展, 各种考试系统应势产生, 在教学质量的监控中发挥着越来越重要作用。当前, 全球大多数的大学都拥有自己的网站, 其中许多学校推出了网络教育课程。欧美国家的网络教育走在世界前列, 具有相当的规模。在国内, 教育部提出实施”现代远程教育工程”, 形成开放式教育网络, 构建终身学习体系。网络教育发展战略因此己成为一个有待探讨的重大课题。清华大学、 北京邮电大学、 浙江大学等高等院校进行了现代远程教育试点。如今, 这些试点学校初步探索出网络教育的办学模式, 开发了一批网上课程和教育资源, 初步形成了校内基于校园网的多媒体教育与校外远程教学相互融合的办学格局。
14、 近年来, 人们一直在研究和改进如何运用高新技术, 客观、 准确地评估人的知识和能力水平。随着虚拟大学的蓬勃兴起, 人们也迫切要求利用现有资源来创立题库并进行在线考试, 以减轻教师的工作负担及提高工作效率, 与此同时也提高了考试的质量, 从而使考试更趋于公证和客观, 增加了学生模拟练习的机会, 激发了学生的学习兴趣。Internet技术的发展使得考试的技术手段和载体发生了划时代的变化, 计算机技术、 网络技术和考试理论的日渐成熟, 使考试从传统的纸笔考试到计算机辅助考试再发展到基于Web的在线考试成为现实。Internet 的开放性、 分布性的特点和基于Internet的巨大的计算能力使得考试
15、突破了时间和空间的限制。任何人都能够随时随地开始一场考试, 检验自己的知识和水平。当然在比较正式的考试中, 还是需要进行严格的组织, 但比较传统的考试, 其形式能够更加灵活多样。另外, 利用在线题库系统能够实现更高级的考试功能, 更好地达到考试的目的。比如自适应考试、 多媒休考试等, 都能够在远程考试系统中实现。本课题的主要目标是设计并实现一个基于Web的在线题库系统, 为本学院教学考试提供服务, 希望能在相关考试中发挥高效、 便捷的作用, 从而减轻教师的工作量。同时也为解决远程教育中的远程考试问题提供参考。从方便性、 安全性、 通用性、 可扩展性及高效率等多方面入手, 克服传统网上考试系统的
16、局限性, 提高软件系统工程的质量。系统采用B/S结构, 应用程序和数据库之问的接口采用了PHP技术, 经过PHP提供的MySQL扩展互连。系统具有完善的考试与管理功能, 系统运行环境能够是Internet, 也能够是校园网的教室, 系统的扩展能够应用于考试, 也可用于学生日常在线自测练习等方面, 对学生应考等级考试的复习有很好的实践指导意义。1.2 研究现状及趋势当前类似的题库系统或考试系统有两类: 一类是基于局域网的网络系统, 一类是基于Web的网络系统。基于局域网的网络系统一般见于比较正式的考试, 如计算机等级考试、 职业技能考试、 行业考试等; 基于Web的网络系统一般见于考生自测或网络
17、教学系统。计算机辅助考试在美国诞生, 历经多年, 已经在国外得到了广泛的应用。国外有许多专门的考试机构采用计算机辅助测试对参加考核的对象进行评价。当前, 经济发达国家己经建立了完善的考试专业机构。各机构也都根据自己所承担的职能, 建立起了大型题库。如”律师资格考试”, ”GRE考试, 以及计算机方面的”CiSCO职业资格认证”、 ”Microsoft职业资格认证”、 ”计算机等级考试等。在英国已经实现了英语资格考试的网上学习和水平认证的全过程。在一些国家, 试题库系统已应用于每一个教学阶段, 在一些大学、 中学校园里, 考试、 作业、 远程教育多方面的应用, 为各级人才的培养提供了一个良好的平
18、台, 收到了较好的效果。中国在恢复高考制度以后, 随着高考标准化的实施, 特别是计算机技术应用的快速发展, 为题库建设提供了基础条件。80年代后期, 出现了多所学校或行机构联合开发试题库的局面, 同时, 也出现了许多其它学科的试题库。90年代, 政府部门在全国范围内有计划、 有组织、 系统地开展CAI教学与国家试题库的建设。但由于种种原因, 当前适合网络环境下的通用型试题库系统却不多。因此, 为了提高考试质量和促进教学水平的提高, 实现教考分离, 开发基于Web平台的题库系统具有非常重要韵意义。中国政府非常重视现代远程教育工作, 在全国教育考试科研工作”十五”规划中, 明确要求教育考试的科研工
19、作要在教育评价体系中发挥重要作用, 在考试研究领域创造出与中国教育事业蓬勃发展相适应的成果, 以全面提高教育考试质量, 为改革和完善教育考试制度工作服务。北京师范大学现代教育技术研究所的何克抗、 余胜泉研究开发成功基于Web 的通用题库系统。它具备传统单机考试系统不具备的一些特点: 集中管理, 共享使用。为了保持题库的高质量, 题库由统一的权威机构来进行维护和管理。开放使用, 广泛征集试题和测试样本。用户只要经过浏览器连接网络, 便能够使用题库包括提交试题, 参加测试等。该系统提供: 远程考试组卷、 远程考试、 阅卷、 统计与分析以及题库管理的功能。全美测评软件系统有限公司(ATA)是一家提供
20、考试技术和考试内容服务的专业公司, ATA针对中小学信息技术课程定制的校园智能化测试平台一一E考通, 支持广域网和局域网操作, 考生能够进行网上的互动练习、 课外作业和提问; 教师能够进行网上指导、 网上批改作业b1。当前大多数考试系统的系统结构比较流行的是C/S结构和B/S结构。C/S结构: 即C1ient/Server(客户机/服务器)结构, 它经过将任务合理分配到C1ient端和Server端, 降低了系统的通讯开销。但随着Internet的不断普及和应用的迅速升级, c/s的应用感到有些力不从心。这种结构的考试系统要求在服务器和客户端单机上都安装考试应用软件, 客户端软件具有考题的显示
21、, 考试计时及与服务器通信联络等功能。服务器端软件则负责维护题库、 抽取试题及考后的阅卷、 成绩的收取、 统计、 汇总等工作。考生在单机上参加考试, 考试结果被系统收集到服务器中的指定目录下。另外, 基于Web的在线考试系统除了能够进行远程考试, 还被广泛应用于校园网内的学生自学与考核。经过对题库大量题目的练习, 能够提高学生的学习和应试能力。它不受时间和空间的限制, 学生能够在任何闲暇时间进行练习和自我考查。学生的课外学习方便而且不需金钱投入; 教师能够布置在线作业, 学生完成作业后即时上交, 大大减轻工作量。而且能够利用基于Web的考试系统现有的环境实现教与学的互动, 使教师和学生能即时沟
22、通和交流, 相互促进。因此, 这也是对有限教育资源的高效共享。在线考试系统是计算机辅助教学的一个有利工具, 也是一种很有前途的教育辅助措施。1.3 论文结构本系统采用B/S结构模型, 摆脱了c/s模型对客户端的依赖; 采用三层结构设计, 增强了系统的可重用性和可移植性, 便于日后的维护和扩展。旨在为教师提供一个管理平台, 对题库进行科学、 高效、 灵活的管理, 支持多样化的试题, 实现多科目的试题存储; 提供试题和试卷的共享使用。其主要功能包括: 辅助教师组织试卷; 允许学生在线考试和自我测评; 为管理员提供基于Web模式的远程管理和有图形用户界面的本地维护。论文共分五章, 其主要内容分别为:
23、 绪论, 系统分析, 系统总体设计, 系统详细设计, 系统测试。第二章 系统分析2.1 可行性分析2.1.1 技术分析随着网络技术和计算机技术发展迅猛, 有着各种硬件、 开发工具和数据库作为技术支撑, 使技术可行性大为增强。题库存贮量大和处理速度慢等因素已不再是主要考虑的问题。利用当前流行的网络编程技术和开发经验, 以及相关的多个开发软件应用, 就能够开发出该题库系统。本系统主要以LAMP为开发平台, MySQL为后台数据库, 采用B/S模式, 经过PHP提供的MySQL扩展存取数据库的数据。本系统开发的是一种B/S(浏览器/服务器)模式的网络题库系统, 其特色就是使用户定义操作过程。”即传即
24、用、 ”即出即和”、 ”即选即用”。其实现流程如下: 用户可经过Apache Web服务器, 请求调用.php页面, 执行相应的脚本, 执行结果产生动态生成的HTML页面并返回浏览器; 用户经过浏览器对HTML 页面进行相应的操作请求(如考试试卷)返回浏览器, 供用户使用。软件的安装只在服务器端进行, 客户端实现了”零安装; 所有系统管理升级只在服务器进行, 各客户端无需任何改变。2.1.2 应用分析随着计算机和网络的普及化, 为网络化题库系统提供了良好的实施环境和设备, 教师和学生对该系统的使用不受时空的限制。在本系统中, 界面操作都是基于Web界面的, 经过系统结构设计、 表的设计及前端开
25、发, 构建网络题库系统。经过浏览器访问, 提供用户登陆, 试题库的录入、 维护, 试卷生成, 实时考试, 自动阅卷, 成绩查询等服务。对题库管理与在线考试等操作的实现更加方便和高效。本系统建成后, 能够加强在校教师的教学效果和提高工作效率。在平时教学过程中使用, 使学生能够在此系统平台上进行学习、 训练、 考试。为避免相领的考生相互抄袭, 保证了每个考生的试卷各不相同; 为避免重复抽题, 每个考生只能抽取一份试卷; 可进行在线评分; 试卷随机生成; 由于试题、 考生身份、 考生成绩等机密信息都存储在数据库中, 一旦数据库遭到破坏或者非法入侵, 都就会造成无法挽回的损失, 因此本系统确保了数据库
26、的安全性。2.2 系统需求分析为了明确用户的要求和应用现场环境的特点, 了解系统应具有哪些功能、 数据的流程和数据之间的联系, 本系统在开发前进行了较详细的系统需求分析。本系统的应用要求有两个方面: 一方面是教师能够进行试题的录入、 编辑, 试卷的配置、 生成, 以及对题库的管理, 另一方面该系统能够基于不同的知识点和难度进行组卷, 并对考卷进行自动评分。2.2.1 功能需求本系统是为教师提供一个管理平台, 对题库进行科学、 高效、 灵活的管理, 支持多样化及多科目的试题存储; 提供试题和试卷的共享使用; 为考生提供一个学习、 训练、 考试的平台。系统主要实现以下功能: 1题库管理: 试题增加
27、、 删除、 修改: 试题的批量导出、 导入; 题目类型的设置等。2试卷管理: 组卷, 试卷的添加和编辑、 删除。3权限角色与用户注册管理: 系统管理员、 教师、 考生三种角色。系统管理员负责管理控制整个站点, 负责对教师、 考生等角色进行授权: 教师负责试题收集和管理、 管理试卷、 维护试卷、 单科题库的录入和编辑; 考生可进行考试、 自测、 成绩查询。4安全机制: 数据备份, 权限管理等。5成绩管理: 自动评分等。2.2.2 用户需求1用户的处理要求: 系统管理员能够对所有的教师、 考生进行管理, 并享有全部的后台管理功能。教师能对题库执行增加、 删除和修改操作; 考试科目的增加、 删除和修
28、改操作; 由教师设置考试信息, 在考试时, 系统将根据考试信息的设置对每个考生自动生成试卷; 教师可设置考试信息, 系统控制考试时间、 防刷新、 考试成绩自动生成等。2对系统的适应性、 通用性要求: 要求系统能够不受课程设置变化的影响。通用性方面, 不但能够进行计算机基础课程的考试, 而且在稍作设置或改动后, 其它学科也能使用本系统进行在线考试。3对系统的安全性要求: 要求进入系统必须进行口令校验。2.2.3 性能需求1. 系统具有良好的扩充性; 2. 系统具有先进性、 实用性, 是在实用的基础上的先进性; 3. 系统具有良好的用户界面, 操作方便, 尽量减少误操作率; 4. 系统具有良好的安
29、全保密机制、 防止用户非法入侵系统提供三种用户登录身份: 系统管理员、 教师、 考生, 不同身份登录后能够访问的资源和对资源访问的权限都完全不同。2.3 本章总结本章从可行性分析和系统需求分析两个方面对系统进行分析, 为随后的系统总体设计做好了准备。第三章 系统总体设计3.1 系统的功能模块设计本基于Web题库系统是基于B/S三层结构开发的, 为了保证合法用户帐号的安全性, 系统提供了修改个人信息的功能, 管理员和教师能够经过这项功能, 及时修改自己的登录密码, 保证自己帐号不被其它人盗用。题库系统如果只是对试题进行管理, 那样的话意义就不是很大, 因此本人加了一项功能即在线考试。考试是有特定
30、对象的, 因此考生进入系统应该进行身份验证。考生进入考试系统后, 需要选择相应的考试科目, 因此系统还有考试科目选择的功能。鉴于考试环境一般为机房, 考试者之间的距离很近, 为了避免考试做弊, 试卷的试题和题量虽然是相同的, 但卷面并不相同。在线考试基于网络环境, 试卷是从服务器的数据库随机抽取试题后动态生成的。另外, 考试是有时间限制的, 系统还对考试时间进行控制, 结束时间到了便强迫考生交卷。考生交卷后, 由计算机自动判卷, 得到成绩后显示出来。考试结束后, 考生能够很快地查询到自己的成绩, 以方便其有目的地加强某方面的训练。本系统从功能上能够分为: 前台用户系统和后台管理系统两部分。基于
31、Web的题库系统前台用户系统后台管理系统图3-1 题库系统两大子系统后台管理系统主要是面对教师和管理员, 而前台用户系统主要面对考生。每个子系统又包含若干个功能模块。下面将对每个子系统各功能模块的具体功能进行分析和阐述。3.1.1 后台管理系统其功能结构如图3-2所示: 后台管理系统主控面板上传管理试卷管理考卷管理科目管理试题管理成绩管理用户组管理用户管理图3-2 后台管理系统功能结构图1主控模块: 提供主界面和与其它模块设置相应的入口参数。2用户管理模块: 该模块具有对登录题库管理子系统的用户进行增加、 删除、 用户所属用户组、 用户密码修改等功能。3用户组管理模块: 该模块主要用于对系统用
32、户的用户组信息进行增加、 删除、 以及权限设置等操作。4成绩管理模块: 本子模块由教师经过Web方式访问, 对于试卷的评分, 系统会自动完成客观题的评分, 主观题的评分由后台管理员完成, 然后由系统统计出总分, 这样也避免出现人为因素的统分错误。5试题管理模块: 该模块用于试题的管理, 能够对试题进行录入、 查找、 删除和修改等操作。题库信息的有效组织是开发考试系统的前提。6科目管理模块: 该模块用于对试题所属的科目进行添加, 删除等操作。由于科目是个共同的属性, 有多个模块与它有联系, 因此本系统中, 把科目独立出来, 作为一个项目进行管理。7考卷管理模块: 该模块中能够根据试卷配置信息动态
33、生成一份考卷, 并可对已有的考卷信息进行管理。8试卷管理模块: 该模块能够尽心配置试卷的操作, 并可对已有的试卷配置信息进行编辑、 浏览、 查询、 删除等管理。9上传管理模块: 该模块能够上传文件格式的试卷, 并可对已上传的文件进行浏览、 删除等操作。3.1.2 前台子系统其功能结构如图3-3所示: 前台首页资料分享分数查询在线考试用户登陆在线做题用户注册图3-3 前台用户系统结构图1用户注册模块: 用户选择注册并输入相关的用户资料完成注册。2用户登录模块: 从用户资料数据库中提取用户相关资料进行认证, 如果为合法用户, 提示用户登陆成功, 否则提示登陆失败并跳转回登陆页面。3在线考试子模块:
34、 考试子模块是本系统的重要部分。从理论上讲, 考试能够在任何时候、 任何地点进行, 但在实际操作中, 为了方便考场的组织和管理, 本系统对考试时间作了严格限制。在用户选择进行考试时, 系统首先判断当前时间是否为考试规定时间, 由于判断的时间是服务器端的时间, 跟考试客户端的计算机的时间无关, 因此即使考生修改本地计算机的时间, 也不会影响管理员规定考试的时间。如果时间符合要求, 便会显示试卷页面; 否则, 提示考试还未开始。同时在页面上动态地显示考试所剩时间, 当考试时间到或考生点击”交卷按钮时, 系统便会把考生的答案传送至服务器的数据库中保存起来。当考生做题时间达到考试规定的时间时, 系统会
35、自动提交试卷。另外, 考生能够在试卷有效时间范围内进行定制试卷的测试, 考生能够点击交卷按钮提前交卷, 也可等到考试时间结束时系统自动收卷。4在线做题子模块: 用户能够选择自己感兴趣的科目, 系统会列出该科目的试题列表, 用户点击题目边可竟如到单道试题的做题页面, 用户提交完答案就能够看到结果。5成绩查询子模块: 为了能让用户及时、 方便地了解考试成绩, 查询子模块也采用Web方式实现。考生在合法登录后, 在相关的Web页就会显示其相应考 试科目的成绩信息, 让考生从整体上了解自己该学科的学习情况。6资料分享子模块: 用户能够下载其它用户上传的试卷资料, 并能够上传资料到系统与其它用户分享。3
36、.2 系统的运行模式从信息系统运行模式的发展看, 信息系统的运行模式主要有三种: 主机/终端(M/T)模式、 客户/服务器(C/S)模式、 浏览器服务器(B/S)模式。其中B/S模式是当前在Internet/Intranet网络平台上最流行的运行模式。B/S模式由浏览器和网络服务器组成, 经过网络连接, 其结构如图3-4所示。它和C/S模式有许多相似之处, 但浏览器是通用的用户界面, 不需在浏览器端安装用户应用程序, 服务器负责提供用户需要的信息, 但要访问网络数据库中的信息还需要进行某种扩展。图3-4 B/S模式典型结构图信息系统采用此种模式能够使数据处理、 内部信息(Intranet)的浏
37、览和外部信息(Internet)的浏览界面完全一致, 方便用户使用; 同时, 由于浏览器端不安装用户应用程序, 可大大降低运行维护费用。3.2.1 MVC架构特征本系统的整个软件架构采用的是MVC架构模式。MVC( Model-View-Controller) 架构是软件工程中的一种架构模式, 把软件系统分为三个基本部分: 模型( Model) 、 视图( View) 和控制器( Controller) 。软件系统经过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。模型( Model) :模型用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。模型有对数据直接访问的权利, 例如
38、对数据库的访问。模型不依赖视图和控制器, 也就是说, 模型不关心它如何显示或是如何操作。视图( View) : 视图层能够数据有目的的显示。在视图中一般没有程序上的逻辑。控制器( Controller) : 控制器起到了不同层面的组织作用, 用于控制应用程序的流程。它介于模型和视图之间。MVC结构模式如图3-5所示: 图3-5 MVC架构模式图3.2.2 题库系统结构因为题库系统的使用环境一般是校园网, 同时题库系统具有保密性要求高的特点; 因此在研究的基于Web的试题库系统中, 采用了Web技术的基本模式即B/S(浏览器服务器)模式, 采用PHP为数据库中间件, 采用MySQL为后台数据库,
39、 形成了Internet的三层体系结构构, 本系统三层应用系统结构如图3-6 所示: 图3-6 系统结构图3.3 系统的数据库设计基于Web的题库系统的关键技术之一是Web数据库技术。Internet是推动Web数据库应用的主要因素, 近几年, Web技术的应用是数据库管理系统的重要发展方向。Web数据库技术采用三层或多层体系结构, 前端采用基于瘦客户机的浏览器技术, 经过Web服务器及中间件访问数据库。其体系结构如图3-7所示: 图3-7 Web数据库体系结构3.3.1 数据库需求分析数据库的设计是整个管理系统的重要组成部分, 直接影响到系统的是实现。现将数据库系统中关键数据库和表的设计予以
40、阐述。科目信息表: 主要存储科目的信息, 如科目名称, 管理密码, 所属类别等等。分类信息表: 主要存储分类的信息, 如可按系别分类, 可按知识点分类等等, 分类的方法是自定义的。3.3.2 数据库安全系统的所有有关课程、 试题、 用户等最有价值的信息都存储于数据库中, 一旦数据泄漏或丢失后果不堪设想, 因此数据库的安全性设计是整个系统安全性设计的重中之重。本系统采用安全性较强的MySQL数据库系统, 并采用以下安全措施: 1及时更新补丁程序: 与操作系统一样, MySQL的补丁程序能够弥补安全漏洞, 因此应及时更新。2修改root具有对MySQL数据库操作的全部权限, 极易受到攻击。因此一定
41、要选中”强制实施密码策略”, 重设root的密码, 最好把root这个登录名修改为其它名称。3数据库定期备份: 数据库备份是最根本、 最安全的方法。数据库备份有完整备份和差异备份两种类型, 本研究采用定期完整备份方式, 以保证在发生意外情况时能够恢复数据库, 把损失降到最低。另外, 本文的数据库安全还从以下两个方面确保程序运行的安全可靠: 一是作为后端的数据库管理系统自身所能提供的安全性能; 二是前端的应用程序也要提供安全性管理。前端的应用程序安全性管理包括以下内容: 一方面是提供用户认证系统的管理, 控制用户使用数据库对象的管理。设置具有一定权限的用户, 才能使用相应的数据库对象。本系统有三
42、种类型的用户: 教师、 管理员和考生, 不同类型的用户访问数据库的权限不同。系统管理员具有增、 删、 改等多种权限。教师能够对数据库进行浏览和增加试题等操作, 以及对单科题库的管理。而且同一类型的用户在访问不同对象时设置不一样的访问权限。如: 对于教师信息表中的教师用户, 教师可按照分级授权进行控制。教师能够跨学科浏览和检索题库的所有试题; 教师新增的题目, 要经过审核才可成为正式考试题; 教师只能够修改出题人为自己的试题, 可删除当天自己出的试题, 只能够逻辑删除出题人为自己的试题。另一方面, 设置数据库管理对数据库的信息进行备份。数据库备份就是制作数据库结构和数据的拷贝, 拷贝所有对象、
43、系统表和数据。在数据库遭到破坏时能够恢复数据库。3.3 本章总结本章主要对系统的总体设计进行陈述, 为开发题库管理系统的详细设计奠定了基础。第四章 系统详细设计4.1 开发环境和开发工具本项目采用了当前流行的LAMP( Linux+Apache+MySQL+PHP) 架构作为主要的开发环境。它有四个组件构成, 每个组件都是都是相对独立但又是整个架构必不可少的一部分。系统同时采用了CodeIgniter作为整个项目的开发框架。 Linux: Linux处在整个架构的最底层, 其它的每个组件都是在Linux之上运行。可是, 并不是一定局限于Linux, 如果必要, 其它组件在Windows、 Ma
44、c OS和UNIX同样能够运行。Apache: Apache是一个开源的Web服务器, 它提供了可让用户获得Web页面的机制。Apache是一款稳定的、 支持关键任务的服务器, Internet上超过65%的网站都在使用它作为Web服务器。PHP组件实际上是在Apache中, 动态页面能够经过Apache和PHP创立。MySQL: MySQL提供了LAMP机构的数据存储端。有了MySQL, 便能够获得一个非常强大的、 适合运行大型复杂站点的数据库。在Web应用程序中, 所有数据、 产品、 帐户和其它类型的数据都存放在数据库中, 经过SQL语言能够很容易的查询、 修改、 删除这些性息。PHP:
45、PHP是一门简单有效的编程语言, 它像是粘合剂, 能够将LAMP系统所有其它的组件粘合在一起, 您能够使用PHP编写能访问MySQL数据库中的数据和Linux提供的一些特性的动态内容。CodeIgniter: CodeIgniter是一套给PHP开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构, 采用了MVC的逻辑结构, 是开发人员能够更快速的进行项目开发。4.1.1 开发环境搭建4.1.1.1 安装MySQL首先去MySQL的官方网站( ) 下载安装包到/usr/local/src目录下。然后在终端输入一下命令: cd /usr/local/srctar
46、zxvf mysql-6.0.0-alpha.tar.gzcd mysql-6.0.0-alpha./configure prefix=/usr/local/mysqlmake & make installcp support-files/my-f /etc/fcd /usr/local/mysqlchown R mysqlchgrp R mysqlbin/mysql_install_db user=mysqlbin/mysql_safe user=mysql&到这里mysql就安装完毕了。4.1.1.2 安装Apache首先去Apache的官方网站( ) 下载Apache的安装包程序到/usr/local/src目录中。然后在终端键入一下命令: cd /usr/local/srctar zxvf httpd-2.2.4.tar.gzcd httpd-2.2.4./configure prefix=/usr/local/apache -with-mysql=/usr/local/mysql -enable-module=so enable-share=maxmak