资源描述
摘要随着计算机网络技术和网络教育的不断发展,传统的基于纸笔的考试形式已不能适应现在的发展需要,计算机在线考试正在逐步取代传统考试。计算机在线考试利用网络实现在线考试、评分等环节,实现教考分离,在一定程度上减少了影响考试的人为主观因素,同时减少了教师的工作量。在线考试系统的设计就是基于上述目的开发设计的。网络考试系统是一种以互联网为基础的考试模式,可以为学校创造一种新的考试环境,提高考试工作效率和标准水平。本系统是用PHP和MYSQL数据库的开发工具,PHP对数据库有强大的处理功能,与MYSQL是公认的最完美的组合。同时它也利用当今最流行的也很实用的PHP框架和模板引擎,以及根据实际设计出了最合适本项目开发的设计模式,提高了编程效率和可靠性。本系统主要包括学生考试、用户资料(学生、教师和管理员)管理两大模块,具有在线考试、成绩查询、题库管理、试题管理、试卷管理、考试管理和成绩管理、系统管理、用户管理等功能。整个系统层次结构简单,操作容易,并具备一定的安全性。考生借助此系统,可以很方便的进行课程考试,同样,老师使用该系统能更高效、便捷的组织在线考试。 关键词:在线考试;B/S;PHP;MYSQL数据库43华北科技学院毕业设计(论文)AbstractWith the development of computer network technique and network education,the traditional test form cannot meet the needs of modern development. Therefore,little by little,the traditional test is replaced by the on-line test. Te computer on-line examination,grading and so on so as to separate teaching from testing,to a degree,which reduces human factors and the workload of teachers. The design of the on-line examination system is based on the above purposes.On-line Examination system is an Internet-based test mode, you can create a new test the school environment, improve efficiency and standard level examinations.This system is PHP and MYSQL database development tools, PHP database with powerful processing capabilities, and MYSQL is recognized as the most perfect combination. It also used todays most popular PHP framework is also very practical and template engine, and based on the actual design the most appropriate design of the project development model to improve programming efficiency and reliability.The system includes examinations of students, the user data (students, teachers and administrators) management of two modules with online tests, performance check, bank management, test management, paper management, test management and performance management, system management, user management, etc. function. The entire system hierarchy is simple, easy, and have some security. Candidates With this system, the curriculum can easily test the same, the teacher can use the system more efficient, convenient organization online exam.Keywords: On-line Examination system;B/S;PHP;MYSQL database目录摘要iAbstractii第1章 绪论11.1本文工作的来源11.2目的和意义21.3 国内外进展21.3.1 国外进展21.3.2 国内进展31.4 本文工作的内容3第2章 需求分析52.1 系统的需求分析52.1.1 系统的目标52.1.2 需求定义52.1.3 功能说明52.1.4性能需求分析52.1.5主要技术指标62.2 系统的硬件要求72.3 系统所用技术72.3.1 PHP技术72.3.2 MYSQL9第3章 总体设计113.1 设计原则113.2 设计思想113.3 系统结构模块图113.4 系统流程图123.5 数据库的设计133.6 系统E-R图设计16第4章 详细设计174.1 学生模块设计174.2 管理员模块设计204.2.1 对学生资料管理214.2.2 题库管理设计214.2.3 试题管理设计224.2.4 试卷管理设计224.2.5 考试信息管理设计23第5章 测 试25结 论28参 考 文 献29致 谢30外文科技资料翻译31外文原文31中文翻译38第1章 绪论1.1本文工作的来源本文工作来源于教学,符合教学要求的模拟题目。随着标准化考试的日益普及,在各种考试中越来越多地采用了计算机考试的方式。 相对于传统的卷面考试而言,由于传统的卷面考试从出题印刷到下发试卷等环节需要较长的时间,接触的人员相对较多,因而在保密方面具有一定的困难。而计算机考试系统采用试题库方式提供试题来源,考前无任何成套试卷,考试时考卷由计算机现场随机生成,各考生试卷不完全相同,从而避免了互相参看等作弊现象或不公平成绩的出现。此外,试题库还可指定专人负责管理,因而增强了试卷的保密性;采用传统的卷面考试时,由于出卷、印刷等方面的原因,一般一次考试所印试卷套数较少,使得试卷整体覆盖面有限,容易形成小范围复习或猜题等现象,影响了考试的客观性。计算机考试系统采用随机抽题组卷的方式,试题抽取范围相对较大,并可同时生成多套试卷,从而使试卷整体覆盖面变大,可较全面的考察考生的实际水平,保证了考试的客观准确性;另外,计算机考试系统可自动评分,无任何人为因素,不仅能够使教师摆脱繁重的阅卷负担,提高阅卷速度,而且可以避免人为误差及人情分等问题,保证了考试的公平公正,此外,通过计算机网络还可以组织实施大规模异地实时考试。网络考试系统极大地提高了教学的灵活性,现在在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GRE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会变成了每个工作日都可以参加的考试。目前流行的网络考试系统主要有两种,一是基于局域网的C/S模式的考试系统,一种是基于WEB的B/S模式的考试系统。C/S模式的考试系统主要由“考试服务器”和“考试工作站”两部分构成。采用C/S模式,系统具有较好的稳定性和安全性,数据传输速度快,交互性强,能够处理大量的,适时的数据流,目前大多数考试系统都是采用该模式设计。但是该类考试系统也存在一定的局限性,主要表现在:1.试题库设立在考试服务器本机上,题库的更新需要技术人员在本地计算机实施,对外具有“封闭性”,不利于广大教师适时参与题库建设,易造成题库建设的滞后;2.考试在局域网范围内进行,要求考试人员相对集中,但管理和维护工作量大。基于WEB的B/S模式的考试系统。与上述基于C/S模式的两层结构体系相比,B/S模式采用了三层体系结构,用户界面层;事务层;数据库层。用户机上只需安装标准的WEB浏览器和很小的PHP/VB/JAVA脚本支持库,应用安装在事务层所在的计算机上,试题存放在数据库服务器上。该体系的优点是安全可靠性高;安装简便;数据集中管理,便于维护;适用范围更广,不仅可用于校内,也可对外使用,是目前比较有发展前途的考试方式。1.2目的和意义网络在线考试系统提高了考试的可靠性、有效性和工作效率,降低了考试成本,顺应了社会的网络化趋势,必将成为一种不可或缺的考试方式。本文研究的目的是设计一个易于管理和维护的面向教学的考试系统,具有一定的通用性,能够满足多门课程的测试与考核要求。为教师开展平时考核级期末考核提供一个考核平台;为学生利用网络自主学习提供条件;为不同课程的网上考试提供平台。 为了满足系统的先进性、安全性、可扩展性等方面的要求,系统总体架构设计采用先进的基于B/S的体系结构。要求建立后台数据库,教师可以在题库中添加、编辑和删除试题;教师可以添加新的考试科目;可以充分利用题库中的试题由系统随机组卷;学生参加完考试能立即得到答案,并分析考试中答错的题目;教师能得到学生考试后传送到系统的反馈信息,可以方便的对成绩进行查询和分析,同时对学生考试中出现的错误进行统计以便今后的教学。此外,还应具有良好的用户界面,操作方便,尽量减少误操作率。1.3 国内外进展1.3.1 国外进展随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。国外很多知名IT公司的认证考试更是利用INTERNET把全球的考试中心联系在一起,让考生在考完试后第一时间知道自己的成绩,而总公司也可以根据成绩在最短时间内给考生的颁发成绩单和证书。计算机在各类考试当中的应用不但节省了资源,还提高了评分的准确度,大大改善了考试工作的效率。近年随着php,asp,jsp等网页交互技术的出现,很多网站也提供了基于浏览器的在线考试系统。1.3.2 国内进展在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。全国教育考试科研工作“十五”规划中,明确需求教育考试的科研工作要在教育评价体系中发挥重要作用,在考试研究领域创造出与我国教育事业蓬勃发展相适应的成果,以全面提高教育考试质量,推进考试事业的发展,为改革和完善教育考试制度工作服务。国家在中小学教育中已经开展了建立题库的工作,大学英语四、六级考试(CET)都采用计算机抽题出卷的方式进行测验。1.4 本文工作的内容网络考试系统是一种以互联网为基础的考试模式,可以为学校创造一种新的考试环境,提高考试工作效率和标准水平。由前台学生登录考试、学生注册、找回密码和后台管理4部分组成。前台功能模块包括课程选择、开始考试、成绩查询等;后台功能模块包括管理员资料、注册学生资料、专业信息、课程信息、套题信息、考生成绩考试题目的增、删、改、查等。本论文共分五章,主要内容如下:第1章 绪论主要介绍了网络考试系统的国内外进展,以及本次设计的网络考试系统的目的、意义和本系统的主要内容。第2章 需求分析主要介绍了本系统的需求,包括系统的目的、需求定义、 功能分析、性能需求分析、主要技术指标、系统硬件要求和系统所用技术。第3章 总体设计主要从总体来对系统进行设计,包括设计原则和设计思想,然后分析画出系统的总体结构图与流程图,并且对数据库表进行相关设计。第4章 详细设计是对系统的模块功能进行详细设计,主要包括资料管理设计、题库管理设计、试题管理设计、试卷管理设计和考试信息管理设计等,并且画出系统的E-R图。第5章 测试是针对本系统的特征,对系统的界面、功能等进行测试,主要是从登录、资料注册时的信息判断来进行说明的。第2章 需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能满足用户需求的程序只会令用户失望,给开发者带来麻烦。本系统所做的需求分析有:系统目的、需求定义、系统功能、性能分析、技术指标分析、系统硬件要求分析及系统所用技术等。2.1 系统的需求分析2.1.1 系统的目标(1) 提高教师工作效率和减轻教师工作量。(2) 具有严肃性和公正性,时间到系统自动交卷。(3) 系统自动阅卷,保证成绩真实、准确。(4) 考生可随时查看考试成绩。(5) 对考生、教师信息进行管理。2.1.2 需求定义本考试系统是基于网络技术的一种考试系统,管理员通过网络对题库进行维护,添加试题、修改试题、删除试题等操作;考生通过网络完成考试、分数查询等操作;系统自动组卷并且完成试卷的批阅、分数的统计等操作。2.1.3 功能说明网络考试系统是一种以互联网为基础的考试模式,可以为学校创造一种新的考试环境,提高考试工作效率和标准水平。由前台学生登录考试、学生注册、找回密码和后台管理4部分组成。前台功能模块包括课程选择、开始考试、成绩查询等;后台功能模块包括管理员资料、注册学生资料、专业信息、课程信息、套题信息、考生成绩考试题目的增、删、改、查等。2.1.4性能需求分析安全性是网络考试系统中一个非常重要的问题,试卷库与答案库的安全性是指在考试过程中,如何保证试卷与答案不被窃取或恶意删除。网络考试系统可能会出现一些安全性问题,诸如:考试题很容易被现场高水平考生删除,引发考场混乱。考生也可以将不会做的试题放到事先约定的共享文件夹中,由他人作完之后,再通过使用“复制”,“粘贴”功能将答案窃走,这种作弊方式比传统的考试作弊方式更隐蔽,更简便快捷,传播速度更快。这在非常重要的网上考试过程中,是必须防止发生的。2.1.5主要技术指标网络在线考试系统的设计与实现是一项系统工程,为了保证系统的质量,设计开发人员必须尽可能地提高系统的各项指标。具体的指标如下:(1) 实用性指标要力求最大限度地满足实际考试的需要,充分考虑各教师与学生的权限、各管理环节数据处理的实用性,满足教师考核学生、方便学生考试等需求。操作界面尽可能做到美观大方,操作简便实用。(2) 可扩展性与可维护性指标为适应将来的发展,网络在线考试系统应具有良好的可扩展性和可维护性。软件尽可能模块化、组件化,使应用系统可灵活配置,适应不同的情况。数据库的设计尽可能考虑到未来的需要。(3) 安全可靠性指标网络在线考试系统要做到安全可靠,防止非法人员的入侵,防止试题、答案的泄露或丢失等问题。(4) 用户界面设计指标用户界面应当直观、明了、条理清晰。实现“傻瓜型”管理易学、易用、易管理。(5) 数据库设计指标一致性指标:对信息进行统一、系统的分析与设计,协调好各数据源,做到“数出一门”、“算法统一”、“度量一致”。保证系统数据的一致性和有效性。完整性指标:数据库的完整性是指数据的正确性和相容性。要防止合法用户使用数据库时向数据库加人不规范的数据。对输人到数据库中的数据要有审核和约束机制。安全性指标:数据库的安全性是指保护数据,防止非法用户使用数据库或合法用户非法使用数据库造成数据泄露、更改或破坏。要有认证和授权机制。可伸缩性指标:数据库结构的设计应充分考虑发展的需要、移植的需要,具有良好的扩展性、伸缩性和适度冗余。2.2 系统的硬件要求软件研究所管理信息系统是基于B/S架构的,采用PHP和MYSQL数据库开发,客户端通过浏览器访问,具体配置如下:l PHP开发环境:UltraEditl 数据库:MYSQL数据库l 操作系统:Microsoft Windows XP Service Pack 3、WIN7等l 浏览器:Internet Explorer 6.0等2.3 系统所用技术2.3.1 PHP技术PHP 最早由 Rasmus Lerdorf 在1995年发明,而现在PHP的标准由PHP Group和开放源代码社区维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。PHP(PHP:Hypertext Preprocessor)是一种在计算机上运行的脚本语言,主要用途是在于处理动态网页,也包含了命令行运行接口(command line interface),或者产生图形用户界面(GUI)程序。PHP 是作为一个小开放源码,随着越来越多的人意识到它的实用性从而逐渐发展起来。Rasmus Lerdorf 在 1994 年发布了 PHP 的第一个版本。从那时起它就飞速发展,并在原始发行版上经过无数的改进和完善现在已经发展到版本 4.0.3 。PHP 是一种嵌入在 HTML 并由服务器解释的脚本语言。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL Server。PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。PHP有以下几方面特点:(1)数据库连接PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQL是现在绝佳的组合。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。(2)可扩展性就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。(3)面向对象编程PHP提供了类和对象。基于web的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发。 (4)可伸缩性传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性。(5)更多特点PHP的开发者们为了更适合web编程,开发了许多外围的流行基库,这些库包含了更易用的层。你可以利用PHP连接包括Oracle,MS-Access,MySQL在内的大部分数据库。你可以在苍蝇上画图,编写程序下载或者显示e-mail。你甚至可以完成网络相关的功能。最好的是,你可以选择你的PHP安装版本需要哪些功能。引用Nissan的Xterra的话来说就是PHP可以做到你想让它做到的一切而且无所不能!2.3.2 MYSQLMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual FoxporoPow,erBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。SQL已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。SQL语言的常用操作有:建立数据库数据表(CREATE TABLE);从数据库中筛选一个记录集(SELECT),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE)。MySQL有以下特征:(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。(3)为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。(4)支持多线程,充分利用CPU资源。(5)优化的SQL查询算法,有效地提高查询速度。(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。(8)提供用于管理、检查、优化数据库操作的管理工具。(9)可以处理拥有上千万条记录的大型数据库。华北科技学院毕业设计(论文)第3章 总体设计3.1 设计原则(1) 安全性 安全性是指系统能够保护数据或基础结构避免受到恶意攻击或者盗用。安全性是通过信息的机密性、完整性和可靠性提供充分的保护来预防风险。保障系统安全是任何系统成功的基本要素。对于在线考试系统来说,题库、试卷、成绩三者的安全性是必须要加以考虑的。(2) 可管理性 可管理性是指可以方便地堆系统进行管理,确保系统的正常运行管理和运作。主要涉及以下几个因素:维护系统服务及其服务正常工作所需的基础结构以及管理员和技术人员。在线考试系统需要所有操作基本上都能在线完成,即通过IE浏览器实现对考试系统的维护和运行管理。3.2 设计思想目前比较流行的两种网络开发模式分别是C/S模式与B/S模式。C/S模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。而B/S模式通过Internet进行通信,可以不受地域的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,速度较慢。对于在线考试系统,其功能目标是将现有的纸张答题式考试向基于Internet的无纸张考试系统的转变,所以他必须事先整个考试流程的进行,实现多用户的管理,以及完成阅卷、评分这些环节的处理。由于系统数据收集的实时性要求并不够,因此采用B/S结构进行设计是合理可行的。3.3 系统结构模块图考试管理模块的关系结构如图3.1所示:图3.1 网络在线考试系统关系结构图3.4 系统流程图考生对系统进行操作的流程也用图作了形象的解释,系统对操作学生反馈其对应的信息。老师能够很方面的举行考试,学生对考试过程透明,但系统能对学生的考试自动存档、打印出考试成绩。并对学生信息加以记录以方便查询。其流程图3.2如下所示:图3.2 系统流程图3.5 数据库的设计在数据库设计时,考虑到系统不同用户,不同权限,以及系统所使用范围和试卷的特有属性,分别建立了相应的表。以下就是系统中几个关键的表。 表3.1 考生信息表(user)字段名称字段类型名称非空UIDInt(10)自增编号yesUSER_IDVarchar(20)用户名yesPASSWORDVarchar(50)密码yesUSER_NAMEVarchar(200)姓名yesE_NAMEVarchar(200)英文名字noSEXChar(1)性别yesBIRTHDAYdate生日yesNATIVE_PLACEVarchar(200)籍贯yesDEPT_IDInt(11)部门(班级、系别)yesCARD_NOVarchar(50)身份证号yesNATIONALITYVarchar(16)民族yesPOLITICAL_STATUSVarchar(16)政治面貌yesJOIN_PARTY_TIMEdate入党时间noMAJORVarchar(200)专业yesPHONEVarchar(50)联系电话noMOBILEVarchar(50)手机号码noEMAILVarchar(50)电子邮件noQQVarchar(50)QQnoHOME_ADDRESSVarchar(200)家庭住址yesREMARKtext备注no 表3.2 学院信息表(unit)字段名称字段类型名称非空UNIT_NAMEVarchar(100)学院名称noTEL_NOVarchar(100)联系电话noFAX_NOVarchar(100)传真noPPOST_NOVarchar(50)邮政编码noADDRESSVarchar(100)学院地址noURLVarchar(100)学院网站noEMAILVarchar(100)电子信箱no 表3.3 系别(班级)信息表(department)字段名称字段类型名称非空DEPT_IDInt(11)系别(班级)IDyesDEPT_NAMEVarchar(50)系别(班级)名称yesDEPT_NOVarchar(200)系别(班级)排序号yesDEPT_PARENTInt(11)上级系别(班级)noMANAGEtext系别(班级)主管noLEADER1text上级主管领导noLEADER2text上级分管领导noDEPT_FUNCtext系别(班级)描述noTEL_NOVarchar(50)电话号码noFAX_NOVarchar(50)传真号码no 表3.4 试题信息表(exam_shiti)字段名称字段类型名称非空QUESTIONS_IDInt(11)试题编号yesTIKU_IDInt(11)题库编号yesQUESTIONS_TYPEChar(1)试题题型yesQUESTIONS_GRADEChar(1)试题难度yesQUESTIONStext试题题目yesANSWER_AVarchar(200)答案AnoANSWER_BVarchar(200)答案BnoANSWER_CVarchar(200)答案CnoANSWER_DVarchar(200)答案DnoANSWER_EVarchar(200)答案EnoANSWERSVarchar(200)正确答案yes 表3.5 考试信息表(exam_data)字段名称字段类型名称非空FLOW_IDInt(11)考试信息编号yesRANKMANVarchar(20)noPARTICIPANTVarchar(20)参加考试人员noSTARTTIMEdatetime考试开始时间yesENDTIMEdatetime考试结束时间yesSCOREtext分数yesANSWERtext答案yesRANK_DATEdateyesEXAMEDChar(1)是否交卷yes3.6 系统E-R图设计系统E-R图如图4.13所示:图4.13 系统E-R图华北科技学院毕业设计(论文)第4章 详细设计4.1 学生模块设计当用户第一次登录时首先要注册,成为注册用户后,才可以进行其他操作,用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图4.1所示:图4.1 登录界面有关登录时的身份验证,关键代码如下:/- 检查登录重试次数 -if($SEC_RETRY_BAN=1) $query = SELECT count(*) from SYS_LOG where (TYPE=2 or TYPE=9 or TYPE=10) and USER_ID=$USERNAME and IP=$USER_IP and UNIX_TIMESTAMP(.date(Y-m-d H:i:s,time().)-UNIX_TIMESTAMP(TIME)=$SEC_RETRY_TIMES) return 用户名或密码错误超过 $SEC_RETRY_TIMES 次,请等待.$SEC_BAN_TIME.分钟后重试!; /-验证用户名是否存在 - if($LOGIN_KEY & $SEC_KEY_USER=0) $query = SELECT * from USER where USER_ID=$KEY_USER; $cursor= exequery($connection,$query); if(!$ROW=mysql_fetch_array($cursor) $query = SELECT * from USER where USER_ID=$USERNAME; $cursor= exequery($connection,$query); if(!$ROW=mysql_fetch_array($cursor) add_log(10,USERNAME=$USERNAME,$USERNAME); return 用户名或密码错误,注意大小写!; else $query = SELECT * from USER where USER_ID=$USERNAME ; $cursor= exequery($connection,$query); if(!$ROW=mysql_fetch_array($cursor) add_log(10,USERNAME=$USERNAME,$USERNAME); return 用户名或密码错误,注意大小写!2; /- 验证用户名大小写 - $UID=$ROWUID; $USER_ID=$ROWUSER_ID; $USER_NAME=$ROWUSER_NAME; $ON_STATUS=$ROWON_STATUS; if($USERNAME!=$USER_ID & $USERNAME=) add_log(10,USERNAME=$USERNAME,$USERNAME); return 用户名或密码错误,注意大小写!;如果需要注册,点击注册后,进入注册界面,运行结果如图4.2所示:图4.2 注册界面注册提交后,等待管理员的审批,审批通过后,管理员将会通知注册成功,即可登录系统。登录成功后运行的结果如图4.3所示:图4.3 系统主界面学生登录后,可以点击在线考试-参加考试,进入考试列表,运行结果如图4.4所示:图4.4 参加考试如果你是没有参加相应的考试,则可点击“考试”,进入考试界面,运行结果如图4.5所示:图4.5 考试界面考试完成后,提交试卷,返回进入考试的界面,并且可以从参加考试界面查看试卷情况及分数等。4.2 管理员模块设计系统管理员或教师相比学生来说,权限更加多,可以对学生的资料进行管理、题库管理、试题管理、试卷管理、学生考试信息管理等。4.2.1 对学生资料管理系统管理员或教师登录系统后,可以对学生的资料进行管理,运行界面如图4.6所示:图4.6 档案资料管理界面如果系统管理员或教师要对学生的信息进行修改,可以点击编辑,进入修改界面,然后提交即可,修改界面与注册界面及代码基本相似。当然,系统管理员及教师还可以对学生资料进行更深层次的管理,比如修改学生的班级等。4.2.2 题库管理设计 主要实现题库的新建、查看以及题库的修改删除等功能。首先教师可以实时地在题库管理模块中添加新题库(课程),题目从试题管理模块中添加,然后选择进题库,同时可以根据教学要求删除一些已经没有了的课程的相关题库,以确保题库的设置更为合理,也省去数据库占用的空间。运行界面如图4.7所示:图4.7 题库管理界面4.2.3 试题管理设计主要实现试题的新建、试题的查看、划分试题的难易程度以及各类题型的自定义等功能。首先教师可以实时地在试题管理模块中添题,同时可以根据教学要求删除一些失去时效性的题目,以保证试题的设置更为合理。运行界面如图4.8所示:图4.8 试题管理界面4.2.4 试卷管理设计主要实现试卷的新建、查看以及试卷的修改删除等功能。首先教师可以实时地在试卷管理模块中添加新试卷(课程),题目从题库中选择,同时可以根据教学要求删除一些已经过期或失效的相关试卷,以确保题库的设置更为合理,也省去数据库占用的空间。教师进行组成试卷供学生考试,试卷组成可是手动选题,也可以是自动选题,运行界面如图4.9所示:图4.9 试卷管理界面4.2.5 考试信息管理设计教师可以在试卷未生效前,对试卷进行修改、删除等操作,生效后可以对学生考试的试卷进行管理,得出相应试卷的全部考试成绩、导出分数和对试卷中的每题进行统计。运行结果如图4.10,图4.11,图4.12所示:图4.10 考试信息总界面图4.11 查阅分数界面图4.12 考试结果统计界面第5章 测 试测试是软件开发必不可少的环节,每个开发者都应该养成良好的测试习惯,一个系统的完善就是通过不断地测试与维护来完成的。测试的意义有以下几点:(1) 测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;(2) 这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;(3) 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。测试一般有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品的内部动作是否按照说明书的规定正常运行。前一个方法称为黑盒测试,后一个称为白盒测试。对于本系统,我采取第一个方法,即黑盒测试。做完一个模块,就进行测试,看所做的模块能不能实现所需要的功能。经过了模块测试,本系统实现了规格说明书的所有功能,达到了预期的要求。下面我们就来对一些模块进行测试:例1:在系统安装配置好后,点开浏览器,输入http:/Tsinghua-pc/这个网站进入系统登录界面如图4.1,然后进行登录,在用户名和密码处分别输入你注册时的用户名和密码,然后点击登录,系统会将你的用户名和密码与数据库中的信息进行对比。如果你点击登录后,如果提示如下图5.1。图5.1 登录错误提示说明你的输入的用户名或密码错误,而且提示你是否是因为大小写出错引起的,或者你的用户名没有注册等。例2:在注册时,要填写正确的格式信息,如身份证信息、电子邮件等。注册时,系统对姓名、身份证号码、电子邮件等几个信息有相应的要求,比如没有填写姓名时提交会提示如图5.2所示;图5.2 未填写姓名提示如果身份证号码填写位数不对时会提示如图5.3所示;图5.3 身份证号码位数提示如果电子邮件填写格式不是邮件格式时,会提示如图5.4所示:图5.4 电子信箱验证例3:在教师新建或修改试卷等模块的时候,都需要符合实际情况,比如新建试卷时填写的试题数问题与组卷时的难度选择问题等。新建试卷时,如果填写的试题数多于选择题库数据库中的试题数时,就会提示如图5.5所示:图5.5 选题数量提示组卷时的试题类型、试题难度等的选择以后,如果数据库中没有这么多符合条件的试题时,也会提示如图5.5所示。结 论计算机网络技术的日益成熟及校园网的逐步普及,都为考试信息化提供了良好的基础。利用计算机和网络技术对考试进行管理,具有人工管理无法比拟的优点。在这次的毕业设计中主要设计一个易于管理和维护的面向考生考试的在线考试系统,具有一定的通用性,能够满足多门课程的测试及考核要求。为教师展开平时考核及期末考试提供一个考核平台;为学生利用网络自动学习提供条件;为不同课程的网上考试提供平台。在本文中对在线考试系统研究的背景、目的、现状进行了详细的阐述。通过对系统的需求分析、总体设计及详细设计,完成了本次的设计要求。但是由于毕业设计时间较短,所以其中还存在一些问题。在本系统设计中,由于对主观题的判分等地方没有找到有效的解决方案,所以在本系统中,没有涉及到主观题,都是对单选题、多选题进行考核,这是本系统的一个缺陷。希望随着我技术的改进和努力的学习,能够找到有效的解决方案。这次毕业设计是我从理论走向实践迈出的坚实的一步,是我对系统开发设计有了更深的认识,通过此次毕业设计,是我认识到了其中有很多不足的地方。并且需要进一步学习和加强的方面还很多。通过这次毕业设计,我深深体会到,要真真用心去做的一件事,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。参 考 文 献1 黄杰湘.MYSQL5.1参考手册M/OL.(2005-11-15)2011-06-10.2 澳大利亚Luke Welling,Laura Thomson .php和mysql web开发M.武欣译注.北京:机械工业出版社,2009.3 德 James Kalbach.Web导航设计M.李曦琳译注.北京:电子工业出版社,2009.4 简朝阳.mysql性能调优与架构设计M.北京:电子工业出版社,2009.5 电脑报编写组.电脑报2009合订本N.重庆:重庆出版社,2009.6 美 Drucker.P.F .Reilly-PHP Cookbook 2nd EditionM.重庆:重庆出版社,2005.7 杨明华.LAMP网站开发黄金组合Linux+Apache+Mysql+PHPM.北京:电子工业出版社,2008.8 美 W.Jason Gilmore .PHP与Mysql程序设计(第3版)M.朱涛江译注.北京:人民邮电出版社,2009.9 美 Rusmus Lerdoof .php designM.北京:电子工业出版社,2009.10 黄杰湘.mysql参考手册D.北京:电子工业出版社,2005.11 何冬梅,黄志良.基于Web的在线考试系统的设计与实现D.福建:福建电力职业学院信息工程系,2007.12 樊海玮.基于WEB的网络化在线考试系统研究与实现D.西安:长安大学,2006.13 王云.PHP从入门到精通M. 北京:清华大学出版社,2008.14 王力.关系数据库理论及应用M.武汉:华中科技大学出版社,2005.15 陈军.PHP+MySQL经典案例分析M.北京:清华大学出版社,2008.16 许登旺.PHP程序开发范例宝典M.北京:人民邮电出版社,2007.17 王石.精通PHP+MySQL应用开发M.北京:人民邮电出版社,2006.致 谢此次的毕业设计中,我受到了多方面的帮助,在此表示真诚的感谢。首先,我特别感谢的是我的指导老师徐花芬老师。在这期间,老师严谨的治学态度、实事求是的研究风格给我留下了深刻的印象。在设计的过程中,老师们的每一次指导都是那样的耐心,每一阶段都渗透着老师的心血和汗水,因为有了他们的帮助,我才能顺利完成毕业设计,并且从中学习到更多知识。在设计的过程中,还得到了同学们支持与帮助,在此深表感谢。感谢华北科技学院所有的教过我的老师,正是他们的无私奉献,才有我们今天的意气风发。最后,再一次感谢所有帮助过我的人们!外文科技资料翻译外文原文DATA SERVERIn this information age, the data server has become the heart of a company. This one piece of software controls the rhythm of most organizations and is used to pump information lifeblood through the arteries of the network. Because of the critical nature of this application, the data server is also the one of the most popular targets for hackers. If a hacker owns this application, he can cause the companys heart to suffer a fatal arrest.Ironically, although most users are now aware of hackers, they still do not realize how susceptible their database servers are to hack attacks. Thus, this article presents a description of the primary methods of attacking database servers (also known as SQL servers) and shows you how to protect yourself from these attacks. You should note this information is not new. Many technical white papers go into great detail about how to perform SQL attacks, and numerous vulnerabilities have been posted to security lists that describe exactly how certain database applications can be exploited. This article was written for the curious non-SQL experts who do not care to know the details, and as a review to those who do use SQL regularly. What Is a SQL Server?A database application is a program that provides clients with access to data. There are many varia
展开阅读全文