在线考试系统

摘 要

随着科技的发展,网络技术已经深入到人们的日常生活中,同时带来了教育方式的一次变革。而网络考试则是一个很重要的方向。基于 Web 技术的网络考试系统可以借助于遍布全球的 Internet 进行。因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。并且缩短了传统考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这个漫长而复杂的过程,使考试更趋于客观、公正。

本文介绍了一个具有在线考试、及时阅卷、成绩查询以及考题和考生信息管理等功能的无纸化《C 语言程序设计》在线考试系统。该系统是基于 PHP 和 MySQL,为了配合网上教学建立的“网上考试系统”,实现网上学习一体化而设计的。设计本系统要熟悉 HTML,PHP 语言及 MySQL 数据库的编辑和应用。其中用到了 Eclipse 帮助进行站点和网页设计,还用到了 phpmyadmin 对 MySQL 数据库进行可视化操作。

关键词:在线考试系统;及时阅卷;PHP;MySQL

一、 系统概述

1.1 开发背景

随着现代科技的发展,互联网已经渗透的我的生活的方方面面,大到航空航天技术,小到千千万万的手机用户,它改变了我们人类的生活、工作的方式,使人类由传统低效、低速手工化迈向高效、快速、智能化的信息时代。现代化的教学模式也在这高速发展的时代发生了翻天覆地的变化, 传统教学模式就是一张白纸黑字,人们只能在这样的书本上找到自己要学的东西,考试也只能通过一张写满问题的答卷来检测一个人的学习水平,这样的学习方式极为低效,不能满足现代社会日新月异的发展需求,而智能化的学习、考试信息系统正好弥补了不足之处,实现了人们对知识的追求这一美好愿望。

世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,采取措施推进教育信息化。美国政府在 1996 年提出了“教育技术规划”,指出到 21 世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能在“21 世纪教师”网络服务。澳大利亚国家公共资源管理局已于 1995 年 4 月建立“澳大利亚教育网”,并联通 Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。

网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。特别是 Internet 业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。例如在美国,一些著名的考试就采用了网上在线考试的形式包括 Microsoft 公司的 MCSE(微软系统工程师认证考试)GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等等,并己在全范应用。

在国内,普遍地看绝大多数远程教育的考试还停留在传统考试方式。在此方式下,组织一次考试至少要经过 5 个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。但是对互联网的真正应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网考试的规模。而在国外一些国家,网上提交作业和网上考试已经相当普及了。所以说传统的考试方式已经不能适应现代考试的需要。

近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。人们迫切要求利用网络技术进行在线考试,来提高了考试的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率。于是许多教育教学类的课程在线考试软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线考试软件,也推出了一批优秀的在线考试软件产品。比如全国计算机等级考试软件、职称计算机能力考试等等。有力地推动了我国网络化在线考试的发展水平,并积累了大量有价值的经验。

1.2 系统目标

本考试系统设计为在高校中使用,主要包含三种角色即管理员、教师和学生,主要实现的目标功能如下:

管理员可以进行系统维护,主要用来设置系统的一些初始化信息,如添加教师,学生,为老师分配课程等。维护包括用户权限添加、删除、修改三种基本的操作。管理员还兼有老师和学生的功能,可以查询有关学生和老师的相关信息是最大权限的用户,拥有系统的所有功能的权限。

教师教师登录系统后,教师可以进行考试试题录入,并可以对录入的试题进行修改和删除等操作,并可以添加学生和查询学生的考试成绩信息。

学生学生登录后可以参加考试,系统会自动的抽出一套试题,开始考试后,系统进行倒计时,在规定的时间内考生如果没有交卷,系统会自动帮他交卷,并在考试结束、自动评卷后,学生能及时的查看到自己的考试成绩和答题情况,并可以查询自己以往的考试成绩信息。

1.3 系统特点

在线考试具有动态出题、自动阅卷、成绩分析等优点,不仅大大减轻了教师人工组卷繁琐的工作量,提高资源利用率,其运行过程中,组卷速度较快,较少出现重复的现象,而且有利于教考分离的实施,符合目前教学改革的目标。更节省纸张资源,增强环保意识。因此,在线考试系统具有潜在的巨大商机和研究价值,是未来数字化校园系统研究的热点内容。

在线考试系统的开发目的是使在线考试模式从手工记录转变成信息管理,为在线考试人员提供方便条件。对在线考试的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。随着学校信息系统的不断完善,学校的管理将越来越依赖于信息化的管理。所以系统开发将围绕在线考试工作的实际情况,使之能迅速适应学校考试的需要。

在线考试系统的实施的现实意义:减少管理考试的工作人员;管理人员可以随时浏览查看,而且更加直观;改变了以前工资手工记录的方式,电脑录入更加方便快捷;实现了在线考试的计算机化。

二、可行性分析

2.1 问题描述

传统纸质化考试系统必要经过 5 个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准,采用纸质化考试系统存在工作量大、效率低、成本高等问题。

2.2 可行性分析研究

可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。通过分析解法的利弊,来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。网络在线考试系统的可行性可从以下三方面考虑。

2.2.1 经济可行性

定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本。另一方面,在线考试系统能够快速进行考试和评分,体现出考试的客观与公正性。

由以上分析可知,在线考试系统在经济上是可行的。

2.2.2 技术可行性

系统架构

本系统可采用 B/S 架构,即浏览器与服务器架构,无需安装客户端即可运行,系统部署到服务器端,用户只需通过浏览器即可访问。

B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,零安装、零维护。系统的扩展非常容易。

B/S 结构的使用越来越多,特别是由需求推动了 AJAX 技术的发展,它的程序也能在电脑上进行部分处理,从而大大的减轻了的负担;并增加了交互性,能进行局部实时刷新。

B/S 的优点如下:

维护和升级方式简单。目前,的改进和升级越来越频繁,的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但 B/S 架构的软件只需要管理就行了,所有的只是,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对进行;如果是异地,只需要把服务器连接专网即可,实现、升级和共享。所以客户机越来越“瘦”,而越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”。

成本降低,选择更多。

应用服务器运行数据负荷较重。由于 B/S 架构管理软件只安装在端(Server)上,人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过 WWW 实现,极少部分事务逻辑在前端(Browser)实现,所有的只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库,以防万一。

系统开发环境

Wamp 是由 Apache+Mysql+Perl/PHP/Python 缩写,WAMP 是指在 Windows 服务器上使用 Apache、MySQL 和 PHP 的集成安装环境,可以快速安装配置 Web 服务器,一组常用来搭建动态网站或者服务器的开源,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的 Web 平台。

http server 是世界使用排名第一的软件。它可以运行在几乎所有广 使用的上。

Apache 源于 NCSAhttpd 服务器,经过多次修改,成为世界上最流行的软件之一。Apache 取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是,所以不断有人来为它新的功能、新的特性、修改原来的缺陷。Apache 的特点是简单、速度快、性能稳定,并可做来使用。

本来它只用于小型或试验网络,后来逐步扩充到各种系统中,尤其对的支持相当完美。Apache 有多种产品,可以支持技术,支持多个。Apache 是以为基础的结构,进程要比消耗更多的系统开支,不太适合于多处理器环境,因此,在一个 Apache Web 站点扩容时,通常是增加或扩充群集节点而不是增加。到目前为止 Apache 仍然是世界上用的最多的 Web 服务器,市场占有率达 60% 左右。世界上很多著名的网站如、Yahoo!、W3 Consortium、Financial Times 等都是 Apache 的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持的应用(可以运行在几乎所有的、Windows、系统平台上)以及它的可移植性等方面。

Apache 的诞生极富有戏剧性。当 NCSAWWW 服务器项目停顿后,那些使用 NCSA WWW 服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了 Apache Group,后来这个团体在的基础上创建了 Apache。

Apache 软件拥有以下特性:

支持最新的 HTTP/1.1 通信协议

拥有简单而强有力的基于文件的配置过程

支持通用网关接口

支持基于 IP 和基于域名的虚拟主机

支持多种方式的认证

集成处理模块

集成模块

支持实时监视服务器状态和定制服务器日志

支持服务器端包含指令(SSI)

支持安全 Socket 层(SSL)

提供用户会话过程的跟踪

支持 FastCGI

通过模块可以支持 Java Servlets

如果准备选择 Web 服务器,毫无疑问 Apache 是最佳选择。

开发语言

PHP 是英文预处理语言 Hypertext Preprocessor 的缩写,它是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入 HTML 文档的,PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比或者更快速的执行。

用 PHP 做出的与其他的相比,PHP 是将嵌入到文档中去执行,执行效率比完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后,编译可以达到加密和优化代码运行,使代码运行更快。PHP 具有非常强大的功能,所有的 CGI 的功能 PHP 都能实现,而且支持几乎所有流行的以及操作系统。

以下罗列了 PHP 所具有的一些特点:

开放的。所有的 PHP 源代码事实上都可以得到。

PHP 是免费的。和其它技术相比,PHP 本身免费。

PHP 的快捷性。程序开发快,运行快,技术本身容易学习,上手快。嵌入 HTML:因为 PHP 可以嵌入 HTML 语言,它相对于其他语言,简单,实用性强,更适合初学者。

跨平台性强。由于 PHP 是运行在服务器端的,可以运行在、、下。

效率高。PHP 消耗相当少的。

用 PHP 动态创建图像

面向对象。在 php5 中,面向对象方面都有了很大的改进,现在 PHP 完全可以用来开发大型商业程序。

专业专注。PHP 支持脚本语言为主,同为。

开发框架

ThinkPHP 是为了简化企业级应用开发和敏捷 Web 应用开发而诞生的。最早诞生于 2006 年初,2007 年元旦正式更名为 ThinkPHP,并且遵循 Apache2 发布。ThinkPHP 从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进。

ThinkPHP 是一个快速、兼容而且简单的轻量级国产 PHP 开发框架,诞生于 2006 年初,原名 FCS,2007 年元旦正式更名为 ThinkPHP,遵循 Apache2 开源协议发布,从 Struts 结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用的开发结构和 MVC 模式,融合了 Struts 的思想和 TagLib(标签库)、RoR 的 ORM 和 ActiveRecord 模式。

ThinkPHP可以支持windows//Linux等服务器环境,正式版需要5.0以上版本支持,支持MySql、、多种数据库以及PDO扩展,ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。

作为一个整体开发解决方案,ThinkPHP 能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、库、数据库访问层、、缓存机制、机制、角色认证、处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

是一个使用了 XML 技术的编译型,支持两种类型的模板标签,使用了和缓存技术,而且支持自定义标签库。其特点包括:

支持 XML 标签库和普通标签的混合定义;

编译一次,下次直接运行而无需重新编译;

模板文件更新后,自动更新模板缓存;

自动加载当前操作的模板缓存文件,无需指定模板文件名称;

支持编码转换和-Type 更换;

模板变量输出前缀支持,避免变量名称冲突;

模板常量替换,无需设置模板变量;

支持变量组合调节器和格式化功能;

支持替换其它使用;

支持获取模板页面内容。

内置模板引擎,支持

2.2.3 社会可行性

本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。

法律因素:本系统是根据在线考试系统的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。

用户使用可行性:本系统对用户的要求,除了需要具备在 Microsoft Windows 平台上使用个人电脑的知识外,并不需要特别的技术能力。使用系统的管理员,需要具备对 Apache 服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。这样既减少投入成本又简化了操作环节。目前,大多数 PC 机和局域网能够运行该系统,该系统的安装、调试、运行不会改变原计算机系统的设置和网络的布局,并且大多数用户几乎不用做任何培训都能够方便的操作系统。因此从操作可行性的角度来衡量,本系统的开发方案也是可行的。

由以上分析可知,本系统具有社会可行性。

2.3 结论意见

根据前面各节的研究分析结果,对项目在技术、经济、社会进行全面的评价,对建设方案进行总结,本系统在理论上完全可行。

三、 需求分析

3.1 功能需求

随着计算机技术的发展和网络技术的日益成熟,通过网络进行信息交流已成为一种快捷的交互方式。在这种网络环境下,学校或考试机构希望通过建立网络在线考试网站来扩大知名度、降低管理成本和减少人力物力的投资,从而为考生提供更全面、更灵活的服务,并全面、准确地对考试进行跟踪和评价。与此同时,考生希望根据自己的学习情况进行测试,并能够得到客观、科学的评价;教务人员希望能够有效地改进现有的考试模式,提高考试效率。

  • 通过实际情况的调查,要求网络在线考试系统具有以下功能:
  • 界面设计美观大方、方便、快捷、操作灵活,树立企业形象。
  • 要求实现在线考试功能,自动核算考试成绩。
  • 要求提供考试时间倒计时功能,使考生实时了解考试剩余时间。
  • 要求系统自动阅卷,保证考试成绩真实有效。
  • 要求考生凭准考证号查询考试成绩,以保证信息安全。

3.2 业务流程图

在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。

业务流程分析可以帮助使用者了解本系统处理过程,业务流程分析是通过业务流程图来进行,在本套《C 语言程序设计》在线考试系统中的具体业务流程如图 3.1 所示:

图 3.1 业务流程图

3.3 系统流程图

图 3.2 系统流程图

3.4 数据流图

  • 在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。该系统的数据流图分为顶层、一层、二层。现行的顶层数据流图如图 3.3 所示。
  • 1 在线考试系统的顶层数据流图
  • 2 在线考试系统第一层数据流图
  • 图 3.4 在线考试系统第一层数据流图

四、4 总体设计

4.1 系统功能模块设计

如图 4.1,这是整个《C 语言程序设计》在线考试系统的系统总体功能模块图,包括各个功能模块的联系。

图 4.1 总体功能模块图

4.1.1 用户登录模块

考生用浏览器登录服务器网址进入考试系统的主页,输人准考证号、身份证号、验证码、密码(初始密码即为 123456)后,如果准考证号、身份证号和密码都正确,即可登录到考生考试管理后台,如果登录不上,会有相应提示,提示密码错误或者学号无效(即教师没有录入此准考证号的考生信息)。

4.1.2 考试模块

该模块主要负责考生通过计算机进行在线考试,考生登录系统后,进入到考试界面,系统自动从考题数据库中抽出事先教师设定好的考题来,并通过浏览器显示,考生在规定时间内答题。在考试过程中考生可以随意选择答不同类型题的答题顺序,还可以反复检查、修改答案以及查询考试时间等。通过点击“交卷”按钮提交试卷或到规定时间后系统自动提交试卷。

4.1.3 考生模块

考生,可以对个人的资料进行修改,包括修改个人联系电话、邮箱、家庭地址、政治面貌等基本信息,但考生的学号和所在院系、班级信息,不能由考生修改(这些信息只能由老师或管理员来修改)。

考生也可以修改个人的登录密码,考生输入原始密码(123456)、输入新密码和确认密码后,如果所有输入无误后,即可修改成功。

4.1.4 题库管理模块

本模块主要负责题库的建立、试题和答案的添加、修改、查询、删除等。系统提供多种类型的试题,包括单选题、填空题、程序题。题库中的试题有试题编号、题型、答案等属性。教师登录系统后台后可以对这些进行管理。

4.1.5 考生管理模块

本模块主要有两个功能,一个是对考生信息的增删改查,一个是对考生信息的维护(包括对考生信息的备份)。

4.1.6 成绩统计模块

在考生提交试卷由系统自动判定部分考生成绩,程序题部分由于技术原因需要老师或管理员手动阅卷。

4.1.7 管理员账号管理模块

系统管理员(admin 账号)登录教师管理后台后,可以添加、修改、删除教师或普通管理员账号,不同的管理员对应不同的管理权限,系统管理员的权限大于普通管理员,普通管理员的权限大于教师。

4.1.8 公告管理模块

本模块主要功能是发布学校考试公告,考试信息等,并对历史公告信息记录,增删改查等。

4.1.9 系统日志模块

本模块主要功能是记录所有管理员或教师的登录日志,教师的操作日志,让教师的每一个操作都可以清晰的显示出来,保证数据的安全性。

4.2 概念设计

通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为“考生信息”、“实体信息”、“教师信息”、“成绩信息”等。

其中考生实体包括准考证、性别、身份证号、系别、专业,教师实体包括姓名、电话、编号,试题试题包括编号、题目、答案等,成绩实体包括编号,考生号、分数、考生姓名等,具体实体关系见下一章节 4.3 实体关系模型。

4.3 实体关系模型

本系统共有 4 个实体,各实体 E-R 图以及总体 E-R 图如图所示:

考生实体 E-R 图:

图 4.2 考生实体 E-R 图

教师实体 E-R 图:

图 4.3 教师实体 E-R 图

试题实体 E-R 图:

图 4.4 试题实体 E-R 图

成绩实体 E-R 图:

图 4.5 成绩实体 E-R 图

总体 E-R 图:

图 4.6 总体 E-R 图

4.4 数据库设计

数据库的设计在整个系统中是及其重要的,数据库表的设计直接影响整个系统的性能。依据项目的处理需求,对应数据表的设计及其功能如下。

图 4.7 数据库总体结构图

本系统总共设计了 8 个数据表,管理员表(ts_manager)、学生表(td_student)、考题表(ts_question)、考题类别表(ts_type)、答案存储表(ts_mark)、公告表(ts_acticle)、权限表(ts_auth)、角色表(ts_role),数据结构分别如下个表所示。

表 4.1 管理员表(ts_manager)

名称 类型 长度 备注
id int 11 自动编号也是主键
name varchar 10 管理员用户名
number varchar 11 电话号码
password varchar 50 密码
add_time varchar 15 添加时间
last_time varchar 15 最后一次操作时间
role Tinyint 4 角色
ip varchar 20 最后一次操作 ip 地址

表 4.2 学生表(td_student)

名称 类型 长度 备注
t_number int 50 自动编号也是主键
name varchar 20 学生姓名
dept varchar 11 系别
major varchar 50 专业
sex varchar 15 性别
class varchar 15 班级
password Tinyint 4 密码
Id_number varchar 20 身份证号
teacher Int 11 教师
mark int 4 分数

表 4.3 考题表(ts_question)

名称 类型 长度 备注
id int 11 自动编号也是主键
content varchar 50 题目
Select_a varchar 200 选项 A
Select_b varchar 200 选项 B
Select_c varchar 200 选项 C
Select_d varchar 200 选项 C
type tinyint 4 类型
answer varchar 50 答案
Add_time varchar 20 添加时间

表 4.4 考题类别表(ts_type)

名称 类型 长度 备注
type_id int 11 自动编号也是主键
type_name varchar 20 试题类型
value varchar 4 展示
en_name varchar 20 别名
info varchar 50 简介

表 4.5 答案存储表(ts_mark)

名称 类型 长度 备注
id int 11 自动编号也是主键
St_id int 4 考生准考证号
Qu_id varchar 50 题目 id
answer varchar 200 考生答案

表 4.6 公告表(ts_acticle)

名称 类型 长度 备注
id int 11 自动编号也是主键
tittle int 4 考生准考证号
content varchar 50 题目 id
add_time varchar 200 添加时间

表 4.7 权限表(ts_auth)

名称 类型 长度 备注
auth_id smallint 6 自动编号也是主键
auth_name varchar 20 权限名称
auth_pid smallint 6 父 id
auth_c varchar 32 控制器
auth_a varchar 32 操作方法
auth_path varchar 32 全路径
auth_level tinyint 32 权限级别
Is_index int 4 是否首页

表 4.8 角色表(ts_role)

名称 类型 长度 备注
role_id smallint 6 自动编号也是主键
role_name varchar 20 角色名称
role_auth_ids varchar 128 权限 ids
role_auth_ac text 全路径

五、5 系统详细设计

5.1 系统模块组成

根据系统的功能要求,《C 语言在线》考试系统中涉及两种不同的用户:考试用户、管理员,他们的职能各不相同。考试用户进入网络考试系统,可以按照学习通知完成查询考试通知,查询个人考试成绩,修改密码,在线考试。管理员能够发布学习通知,发布考试通知,设置考试题型比例,进行试题库维护,包括删除,添加,及时更新,按不同条件查询考生的成绩并进行分析。所有数据都存储在服务器的数据库中,具体应达到以下目标:

采用开放、动态的系统框架,加强用户与网站的交互性。

具有空间性。被授权的用户可以在异地登陆考试系统,无须到指定地点 行进行考试。

操作简单方便,界面简洁美观。

系统提供考试倒计时功能,使考生了解考试剩余时间。

随机抽取试题。

实现自动提交试卷的功能。当考试时间到达规定时间,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。

系统自动阅卷,保证成绩的真实准确。

考生可以查询自己的考试成绩。

5.2 详细功能实现

5.2.1 入口文件配置

配置文件中,配置内容有文件类型皆为 HTML,开启调错功能,Home_URL、Admin_URL 两个链接地址等。

文件所在地:\test.cn\Test\index.php

代码实现如下:

<?php
header( "content-type:text/html; charset=utf-8" );
define ( 'APP_DEBUG', true );
define("Home_URL", "/Test/Home/Public/" );
define("Admin_URL", "/Test/Admin/Public/" );
define("TITLE", "《C语言程序设计》在线考试系统" );
include '../ThinkPHP/ThinkPHP.php';

5.2.2 数据库连接配置

本系统数据库用户名 root,密码 000,服务器地址 localhost,数据库表前缀 ts_,并且开启 smarty 模板引擎。

文件所在地:\test.cn\Test\Common\Conf\confid.php

代码实现如下:

<?php
return array(
//'配置项'=>'配置值''SHOW_PAGE_TRACE' => TRUE,'DEFAULT_MODULE' => 'Home', // 默认分组'MODULE_ALLOW_LIST' => array ('Home','Admin'), // 允许访问的分组'TMPL_ENGINE_TYPE' => 'Smarty', // 开启Smarty模板'DB_TYPE' => 'mysql', // 数据库类型'DB_HOST' => 'localhost', // 服务器地址'DB_NAME' => 'test', // 数据库名'DB_USER' => 'root', // 用户名'DB_PWD' => '000', // 密码'DB_PORT' => '3306', // 端口'DB_PREFIX' => 'ts_', // 数据库表前缀'DB_PARAMS' => array (), // 数据库连接参数'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志'DB_FIELDS_CACHE' => true, // 启用字段缓存'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'DB_RW_SEPARATE' => false, // 数据库读写是否分离 主从式有效'DB_MASTER_NUM' => 1, // 读写分离后 主服务器数量'DB_SLAVE_NO' => '');

5.2.3 学生系统登陆

本系统中,考生在输入账号和密码后,还需要填写验证码,一切信息得到确认后才能进入到系统中。

文件所在地:\test.cn\Test\Home\View\Index\login.html

程序流程图如图 5.1:

图 5.1 学生登录程序流程图

代码实现如下:

function login() {if (!empty($_POST)) {$ver = new Verify();if (!$ver->check($_POST['code'])) {$error = '验证码错误';$this->assign('error',$error);} else {$student = D('Student')->where('t_number=' . $_POST['t_number'])->find();if ($student) {if ($student['id_number'] == $_POST['id_number']) {if ($student['password'] == MD5($_POST['password'])) {session('t_number',$student['t_number']);session('name',$student['name']);$this->redirect('Index/index');} else {$error = '输入密码不正确,请核对后重试!';$this->assign('error',$error);}} else {$error = '身份证号码不正确,请核对后重试!';$this->assign('error',$error);}} else {$error = '准考证号不正确,请核对后重试!';$this->assign('error',$error);}}}$this->display();
}

登录界面如图 5.2:

图 5.2 登陆界面

5.2.4 学生考试实现

进入考试中,试卷包含选择题,填空题,程序题等,考试时间有一定限制,规定时间内未完成考试,系统将自动提交并判卷。

文件所在地:\test.cn\Test\Home\View\Index\index.html

程序流程图如图 5.3:

图 5.3 学生考试程序流程图

部分代码实现如下:

if (is_array($p)) {$p = implode(',', $p);
}
$z = D('Question')->where('id=' . $k)->find();
$zz = fopen($z['answer'], 'r');
$r = fread($zz,filesize($z['answer']));
if ($z['type'] != 5 and $z['type'] != 6) {if ($r === '{literal}' . $p . '{/literal}') {$v[] = $k;array_merge($v);}
} else {$an[] = $k;array_merge($an);$repet = D('Mark')->where('st_id=' . $t_number)->find();if (!$repet) {'Mark')->st_id = $t_number;$new = D('Mark')->add();}$qu_id = implode(',', $an);$a[] = $p;array_merge($a);$anser = implode('<test/>', $a);$question = new \Model\QuestionModel();$file = $question->writefile('Upload/sanswer/', $anser);
}

考试界面如图 5.4 所示:

图 5.4 考试界面

5.2.5 管理员登录入口

系统中,管理员用户在输入账号和密码后,还需要填写验证码,一切信息得到确认后才能进入到系统中,而且根据用户权限进入相对应的界面,本系统有三个角色:admin(超级管理员,普通管理员,教师)。

文件所在地:\test.cn\Test\Admin\View\Manager\login.html

程序流程图如图 5.5:

图 5.5 管理员登录程序流程图

部分代码实现如下:

function login() {if (!empty($_POST)) {$ver = new Verify();if (! $ver->check($_POST['code'])) {$error = '验证码错误';$this->assign('error',$error);} else {$user = new \Model\ManagerModel();$name = $_POST['name'];$z = $user->where("name='$name'")->find();if ($z) {if (md5($_POST['pass']) == $z['password']) {session('id',$z['id']);session('name',$z['name']);$this->redirect('Index/index');} else {$error = '密码错误,请重试';$this->assign('error',$error);}} else {$error = '管理员用户不存在';$this->assign('error',$error);}}}$this->display();
}

管理员登陆界面如图 5.6 所示:

图 5.6 管理员登录界面

5.2.6 后台管理

正确输入管理员账号和密码及验证码后,管理员顺利进入其后台管理界面,其中包含了学生信息管理、教师信息管理、试题录入、考试结果管理以及个人信息维护等数个功能模块,其使用了内联框架分别将功能模块粘合在一起,并将点击后产生的信息附在另一个内联框架中。

文件所在地:\test.cn\Test\Admin\View\Index\index.html

程序流程图如图 5.7:

图 5.7 后台管理程序流程图

部分代码实现如下:

function index() {include ('top.php');$q1 = D('Question')->where('type=1')->count();$this->assign('q1',$q1);$q2 = D('Question')->where('type=2')->count();$this->assign('q2',$q2);$q3 = D('Question')->where('type=3')->count();$this->assign('q3',$q3);$q4 = D('Question')->where('type=4')->count();$this->assign('q4',$q4);$q5 = D('Question')->where('type=5')->count();$this->assign('q5',$q5);$q6 = D('Question')->where('type=6')->count();$this->assign('q6',$q6);$this->display();
}

后台管理界面如图 5.8 所示:

图 5.8 后台管理界面

5.2.7 试题管理

后台管理中的试题信息管理包含了查询已添加的试题的信息,以及可添加相应的试题如:选择题、填空题和程序题等,此功能相对应的角色为教师、管理员。

文件所在地:\test.cn\Test\Admin\View\Test\entering.html

程序流程图如图 5.9 所示:

图 5.9 试题管理程序流程图

部分代码实现如下:

function entering() {$type = D('Type');$en_name = $type->where('value=0')->select();$this->assign('en_name',$en_name);$question = new \Model\QuestionModel();if (!empty($_POST)) {if (!empty($_POST['content'])) {$dirname = 'Upload/question/';$_POST['content'] = '{literal}' . $_POST['content'] . '{/literal}';$z = $question->writefile($dirname, $_POST['content']);if ($z) {$_POST['content'] = $z;}}if (!empty($_POST['answer'])) {$dirname = 'Upload/answer/';$_POST['answer'] = '{literal}' . $_POST['answer'] . '{/literal}';$z = $question->writefile($dirname, $_POST['answer']);if ($z) {$_POST['answer'] = $z;}}$_POST['add_time'] = strtotime(date('Y-m-d H:i:s'));}$z = $question->add($_POST);if ($z) {$this->redirect('Tips/tips');}include ('top.php');$this->display();
}

试题录入界面如图 5.10 所示:

图 5.10 试题录入界面

5.3 设计重点

代码的实现。

分页设计,在线考试系统的分页由于涉及到搜索查询,因此要在一页处理不同查询条件下的分页显示。通过判断搜索条件和当前页数分别来设置分页,这也是此次设计的难点。

为了让考试更公正公平,本系统不支持随机抽题的功能,所有考生的考生的题目都是相同的,所有考生都必须限定在规定的时间内考试,早于或超过规定时间都不能进行考试。

为了方便网络教学,本系统设置了多种管理员较色,有系统管理员,超级管理员,普通管理员这三个较色,系统管理员可以添加超级管理员和普通管理员,超级管理员只能添加普通管理员,也可以设置一些考试参数等,超级管理员角色相当于学院教务办管理人员,而普通管理员是各个班级的授课老师,可以管理各自班级学生的考试情况。

5.4 设计难点

《C 语言程序设计》在线考试系统设计难点有以下几点:

管理员模块,管理员可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。

在管理页面中题目的分页显示,分页设计由于涉及到搜索查询,因此要在一页处理不同查询条件下的分页显示,那么要通过判断搜索条件和当前页数分别来设置分页,以实现查询及显示的准确性。

数据库中表的建立。因为每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部试题放入文件把文件路径存入数据库。

为了防止出现大量考试同时在线考试,会出现服务器瘫痪的情况,本系统在设计方面最多支持 150 位考生同时在线考试。

5.5 设计中的不足

页面设计。因为本程序为《C 语言程序设计》在线考试系统,所以对于页面设计的较为简单便捷,方便管理。这样就缺乏了美感。

页面传值。在试题和试卷的添加页面中,需涉及到页面传值的问题,就显得链接栏中就出现代码(少许情况)。

在线考试。由于是网络考试,学生在参加考试期间可能会出现很多不确定性问题,如:突然断网、断电、死机等状态,这些状态可能会导致数据的丢失或者考试的公平性。

5.6 改良方案

页面设计,在设计网站的前台页面时,参考了在线考试的页面,吸收了一下别人网站的优点,结合自身能力。设计出网站中的前台页面。页面的整洁、美观能吸引,所以此次的设计也是本着整洁、美观、大众化地去设计。

添加页面,将数据库中的 id 值改为标识种子,增量为 1。在添加试题时,数据库会根据添加的数据自动在数据库中添加 id 值。

解决断电、断网的情况相对较容易,只要考生每一个动作都提交到数据库,最大限度保证数据完整性,但是出现死机状态,由于死机很难辨别其机子的状态,因此很难做到最大限度保证数据的完整性,只能保证考生在死机前的数据的完整。

六、6 软件测试与分析

测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是"探测",在“探测”中发现软件的毛病。

6.1 软件测试的重要性

软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。

事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的 40%以上。而在软件开发的总成本中,用在测试上的开销要占 30%到 50%。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。

6.2 测试实例的研究与选择

程序测试的主要方法分为两大类,白盒测试和黑盒测试。

白盒测试:一种是以程序的内部逻辑结构为依据而设计测试用例的方法,因而又称结构测试或玻璃盒测试,将软件看成一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。白盒测试就是要选取足够的测试用例,对源代码实行比较充分的覆盖,以便尽可能多地发现程序中的错误。主要有两种方法:一种称为逻辑覆盖法,另一种称为路径覆盖法。

黑盒测试:也称功能测试,数据驱动测试等,它将待测对象堪称是一个黑盒子,在完全不考虑程序的内部结构和特性的情况下,只依据规格说明书检查程序的功能是否能正常使用。

黑盒测试主要是根据输入条件和输出条件的确定测试数据,来检查程序是否能产生正确的输出。进行黑盒测试主要有下面几种方法:等价分类法、边界值分析法、猜错法、因果图法。

本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:功能检查:检查功能是否争取,是否遗漏或实现不了应该实现的功能等。接口检查:检查能否正确地接受信息或输出信息。数据检查:检查数据结构或外部信息是否有(如数据文件)访问错误。性能检查:检查性能需求能否得到满足。初始化、终止检查:检查是否能进行正确地初始化或终止。

6.3 测试环境与测试条件

  • 处理器:Inter® Core ™2 Duo T5750
  • 内存:8GB
  • 硬盘:1T
  • 操作系统:Windows 10
  • 数据库:MySQL

6.4 系统运行情况

6.4.1 后台管理员登录

测试用例:管理员:admin,登录密码:111111,验证码:3wk7 经测试可以成功登录,测试页面如图 6.1。

图 6.1 后台管理员登录

6.4.2 试题录入功能测试

测试用例:选择题测试,题目名称:若以下 main 函数经过编译、连接后得到的可执行文件名为 echo.exe,若希望在系统的命令状态下输入某一命令行后得到的输出是 chian tianjin,则命令行的内容应是();选项:A.chian tianjin; B.echo chian tianjin;C.echo D.echochian tianjin chinatianjin;答案:B。经测试试题录入成功。

图 6.2 试题录入功能测试

6.4.3 添加考生测试

测试用例:考生姓名:李维祥,性别:男,身份证号:622223166656565620,系别:电气与信息工程系,专业:电气工程,班级:12 班,授课老师:薛之谦,经测试添加考生功能成功。测试页面如图 6.3 所示:

图 6.3 添加考生测试

6.4.4 考生登陆测试

测试用例:准考证号:2017010101,身份证号:622223199408115113,登录密码 111111。 经测试可以成功登录,测试页面如图 6.4。

图 6.4 考生登陆测试

6.4.5 成绩查询

测试用例:输入准考证号:2017010102,经测试可成功查出该考生成绩。

查询结果页,如图 6.5 所示:

图 6.5 成绩查询测试

6.5 系统评价

系统评价是指系统在正式运行了一段时间之后,对它在功能上、技术上和经济上所进行的审核评价。针对本系统的评价如下:

系统功能评价:根据本系统开发前所订的目标,在系统完成后经过测试运行,该系统达到了预定的开发目标,在实际使用中的功能可以满足用户需求。

系统技术评价:本系统设计合理,功能达到了预期目标,且系统运行后稳定可靠,安全性高,具有实用性,大大提高了信访办公效率。

系统经济评价:在规定时间内,该系统完成了系统分析时所确定的系统开发目标,达到了设计要求,投入使用后为用户节省了大量人力物力财力,提高了科学管理水平。

总 结

离毕业的时间已经越来越近了,在大学的美好时光也越来越短了,四年丰富多彩的大学生活也即将画上一个圆满的句号。在毕业设计过程中,遇到很多很多的问题,也遇到一些困难,当然困难并没有阻挡我完成毕业设计的决心,做毕业设计就像跨栏一样,每遇到一个难题,我都抱着不服输的态度,请同学帮忙,在网上各个地方查阅资料,最终一个一个的问题还是被我解决了,我最大的成就感就是每次遇到一个一 个难题,但最终被我巧妙解决了,那种成功的喜悦是我最值得骄傲的。

当然做毕业设计也不是一帆风顺的,有的时候,完成一个非常小的功能也会遇到各种各样的难题,有时解决这些难题会花费一天甚至更多时间才能解决此问题;有的时候也有自己不细心的原因,在代码设计的时候,将英文符号写成中文符号了;有的时候是因为数据库设计的时候,将数据表字段的类型写错了,导致数据插入时报错···当然这些问题是每个程序员都会犯的错误,一个优秀的程序员也是不断从这些错误中积累经验得来的。以前我在做程序时,我总是害怕出现错误,因为一旦出现错误,我都不知道怎么解决,或者解决要话费很多脑筋和精力,现在我不害怕错误了,因为只有出现这样或那样的错误,我才会想办法去解决这些问题,才能不断从这些错误中积累经验。

还有重要的一点体会是写程序不能太“死心眼”,一旦遇到一个错误时,不能老是停留在这个错误上,一旦花了很长时间不能解决,就不能按照以往的惯性思维去解决,可以换一种思维去解决,否则很容易进入“死循环”,要换一种方法去解决,很多程序至少会有一种方法来解决,我们不能局限于一种方法。当然,如果用尽各种方法都不能解决问题,我们可以选择跳过这个问题,去完成另一个功能部分,也许在完成另一个功能的时候会突然来了灵感,找到解决问题的方法了。

七、参考文献

飞思科技产品研发中心编著 电子工业出版社,2003.8 周影

基于 B/S 模式的“计算机网络”网上考试系统的设计和实现 电气电子教学学报 2004(03)[J]吴青松

基于 B/S 结构的网络考试系统[J] 计算机辅助工程 2003(02)马荣飞

《基于 Web 的考试系统设计与实现》陕西科技大学 2006[10] 期[9] 郭立文。

David Powers 著.PHP 与 Dreamwaver 基础教程[M].北京:人民邮电出版社,2008.1~50

聂庆鹏,毛书鹏,王志乐编著.PHP+MySQL 动态网站开发与全程实例[M].北京:清华大学出版社,2007.30~70

王维.基于 PHP 和 MySOL 的考试系统的研究[D].中国教青技术装备, 2010.1~7

赵鹤 吧芹.设计动态网站的最佳方案:Apache+PHP+MySQL[D].计算机工程与设计,2007.1~4

宗杰,马国强,刘冉编著.PHP 网络编程学习笔记[M].北京:电子工业出版社,2008.1~68

王石,杨英娜编著.精通 PHP+MySQL 应用开发[M].北京:人民邮电出版社,2006.60~100

Tim Boronczyk,Martin E.Psinas 编著.熊伟译.PHP&MySQL 范例精解——创建、修改、重用[M].北京:清华大学出版社,2009.23~56

丁月光,孙更新,闫吉辉编著.PHP+MySQL 动态网站开发[M].北京:清华大学出版社,2008.243~258

张银鹤,肖新峰,崔程编著.PHP+Ajax 网站开发典型实例[M].北京:电子工业出版社,2009.15~50

凯文瑞克著.田佳淳改编.PHP5&MySQL5 基础与实例教程[M].北京:中国电力出版社,2007.10~87

张仿彦,刘中华,杨丽编著.PHP 项目开发全程实录[M].北京:清华大学出版社,2008.567~614

八、致 谢

在贾娟娟老师的耐心指导下,经过长三个月的漫长实践,我顺利的完成了这次毕业设计任务。贾娟娟老师倡导我们的独立思考,不懂的问题自己亲自动手查资料,实在是解决不了的问她会细心耐心的给我们讲解。贾娟娟老师在这段时间给予了我很大的帮助,使我得到很大的提高,这些对于我以后的工作和学习都是一种巨大的帮助,感谢她耐心的辅导。在本次毕业设计中,我从对任务书上的要求完全陌生到最后能够的完成本次毕业设计,让我体会到不懂不会并不可怕,通过自我学习,我们已经能够解决一些我们现在不会的问题。这次毕业设计对我的自学能力也是一个验证,大学四年,最大的收获就是老师培养了我们自我的学习的能力,在此对老师们表示感谢。

同时,《C 语言程序设计》在线考试系统中所遇到很多技术性的难题,也不是我就能解决的,这就多亏了老师和很多同学对我的悉心帮助,要不是他们的帮助最终也不能完成本次设计,在这里也对在本次设计中给与我帮助和鼓励的老师及同学表示最衷心诚挚的的感谢。

九、外文翻译

外文原文

Regard along with the network technology daily popularization and the information construction, now the school generally all compounded the test safe monitoring equipment, and has built the management information system in this foundation, to information construction positive impetus function. But has the software construction in the practical work to fall behind the phenomenon which constructs to the hardware, for example, the education administration level also pauses to examinee's inspection in the traditional test pattern, not only the efficiency is low, moreover also has many malpractices, creates the information resource the waste.
Test non- paper, network, not only can effectively reduce the correlation personnel's work load, the better use computer and the network superiority, enhances the working efficiency, also can fairly cause the test, to be fair. Based on this kind of demand, we developed set of performance stably for the test design, safe have been reliable the network which, the ease of operation was allowed to satisfy massively simultaneously uses to take a test the system. Causes   the  test the security, fairness, fair greatly to enhance. After this system actual movement uses, effect good, not only greatly advanced the test information construction advancement, moreover causes the school to examinee's inspection more scientific, air, fair, to be highly effective and the network.
The network test system should be able to satisfy the massive examinees in any place, any time all can participate in the test, and automatic judgment result. Through to the test service demand multianalysis, the main function which this system should provide as follows:
The examinee may on-line carry on the test, after the test had finished by computer automatic judgment score, and the recording result, the examinee also may examine the standard answer. If the test time, the system automatic prompt completes an assignment and stops doing answers.
The teacher may on-line establish the revision question bank, revises the examinee individual material, and monitors the examination place situation and so on.
the manager may on-line establish reference material and so on the examinee, teacher, the verification question bank, arranges the examinee to take a test, revises the examinee and the examination place condition, inquires the examinee to take a test the result, monitors the examination place situation as well as the establishment test project with tests the test question number and so on.
Moreover for the guarantee test fair, is fair, the examination paper test question stochastically extracts by the computer from the question bank. For strictly will cease the test to cheat the behavior, the system later is best also should provide the function which the fingerprint confirmation will register.
Its main flow is:After the user basis is authorized registers, the system basis user jurisdiction difference, establishes the corresponding operation. After the train attendant registers may carry on the test, operation and so on examination result and standard answer;
After the teacher registers may carry on revises operation and so on examinee's individual material, revision question bank, revision user password as well as monitoring test situation; After the manager registers besides has teacher's all functions, but also may carry on the verification question bank (only has verified question bank only then to be allowed to carry on test),establishment operation and so on test time, inquiry, printing test result.
Also may establish following several items:
Test workstation:
Carries on the test to the examinee the customer end procedure. Mainly provided has carried on according to the system disposition stochastically sets the topic of a composition, the confirmation registers, test function and so on time prompt, automatic judgment result, examination test result as well as standard answer. Test workstation divides into the customer end procedure and the Web way in the realization way, former allows the examinee (support touches screen test pattern) through the customer end procedure the way to carry on the test, latter allows the examinee to carry on the test through the test special-purpose network.
The test establishes the workstation:
Carries on the establishment tote test service the customer end procedure. Mainly provided the revision question bank, the verification question bank, revised the examinee material, establishes the examinee/examination place condition, the inquiry/printing test result, the question bank inducts/derives function and so on function as well as monitoring test situation.
Test application server:
Network on-line test system application server. Mainly has realized the data cushion and the test service logic seal and duplicate uses the function, is takes a test the workstation, the test establishes the workstation and the database server connection. Has provided the rich connection using the server, may increase or the reduced service rule through the module way, considered later will take a test the service promotion, also should reserve the new test type connection using the server level, will cause later the system to expand conveniently. Moreover, for guarantee test effectiveness, using server support hot backup database server pattern, namely if presently is using the database server breaks down, then in the system disposition reserve database server automatic cutover for the current database server, all these is does not know in the user with in the intervention situation carries on. Through application server level effectiveness, truly caused the test service to achieve the use easily, the function formidable, the performances table, the modular degree was strong, has satisfied the new time to an information construction higher request.
Furthermore, considered the system the stability with carries out the efficiency, in the analysis network configuration foundation, the system later might select distributional three C/S and B/S will mix with the overhead construction method, namely: The examinee if miscarries on the test in this section, may choose the C/S structure to touch the screen test and the examination site test pattern;
If the examinee is carries on the test in the outside areas, may choose the B/S structure the examination site test pattern.
The network on-line test system needs to carry on the data through the network the transmission, therefore applies the server, the Web server and the database server security must from the system design time carries on the plan. We might use below the security measure:
In stalls the reliable firewall, carries on the effective containment to the exterior malicious attack.
The server (including applies server, database server and the Web server) the hard disk district transformation is the NTFS form, open sure sportive jurisdiction according to the different demand for the user.
May write the essential code the DLL module, not only streng the need the security, simultaneously also caused the system the modular degree to strengthen, enhanced the system performance.
May carry on two times of encryptions in the database to the essential data.
,000 data backups with restores the function using SQL the SERVER, guarantees the database information the integrity and the security.
The current software quite popular system structural model mainly has:
C/S structural model and B/S structural model. These two kinds of structures may divide into two with the multilayered overhead con saturation, the main difference lies in whether has used them idle ware (for example COM+ or CORBA) comes the overhead construction to apply the server level. This structural model unified distributional multilayered C/S and the B/S merit designs, divides into the customer level, business logic level and the data level in the usual situation.
Customer level:
Below mainly uses for to satisfy the overall system each kind of visit demand and processes works:The receive user's in put, carries on the analysis inspection to user's input and makes corresponding processing;
Sends out the data to the server to request that, demonstrated by movement result which transmits using the server. The customer level usually is composed by the customer advancement, the customer advancement mainly includes the advancement in this model which the IE browser dynamic foundation the advancement as well as the customer end test workstation founds and so on.
Business logic level:
Will be responsible to receive the request which will transmit from the customer end or the tour and to request will bequeath the first floor to carry on processing, simultaneously will request the processing result transmission for the customer end or the brow ser. Business logic level advancement mainly is composed by middle ware MTS/COM+ as well as some related processing advancements.
Microsoft Corporation has promoted Windows DNA under the Windows platform (Distributed inter Net Application Architecture, distribution network application structure) strategy. Takes Windows COM+ in the DNA strategy the middleware. In the Windows 2,000 above operating systems, COM+ has become a system part. COM+ was the intermediate level has characteristic provided the load balance, the object pond (Object Pooling), business characteristic and so on a series of force support, and the procedure which worked in COM+ receives the operating system the protection, thus the biggest guarantee system security, stable and was highly effective.
In this model, mainly through the ADO realization data dynamic ration, ADO is the Microsoft current mainstream data accessing module, compares with the former data accessing technology, it has provided the extremely simple object model, and has sealed the complex first floor visit technology. Data level:Mainly provides the digital data service for business logic level, like the stored datum operating result, returns to the data retrieval result and so on.This structural model has overcome two C/S malpractice, fully has used distributional multilayered C/S and the multilayered B/S merit, extremely good has used the existing network resources, and is to the existing network resources effective integration, the use as well as the expansion.Then what is XML?XML (eXtended Markup Language) is one kind of mark language, likes HTML which we is familiar with to be same, but the XML label is according to own needs to come by the people to have custom-made, in other words, any word and the character all may do for the label uses, so long as can the accurate expression data attribute. The accurate expression data meaning is the biggest advantage which XML brings. Moreover, the XML use text mode saves its form, is advantageous for between the procedure, the operating system links up, the exchange, the adapt ion at present the Internet development. XML appeared the short several years to obtain the widespread application, at present newly promotes software nearly could support XML. For example Microsoft Net series software, Office series software and so on. Does not leave for several years, XML can replace HTML to become on Internet the standard mark language?This system if introduces the XML language expression data the advantage, is causes in the system the customer end data demonstration and the system processing data separation, reduces the development system complex, reduces the system process time, reduces the network transmission quantity, thus enhances the system to carry out the efficiency. The unified modeling language (Unified Modeling Language, UML) is the object-oriented software standardized modeling language. Because its simple, is unified, also can express in the software design the tendency and the static information, at present already became the visible modeling language in fact industry standard.From enterprise information system to base on Web distributional application, even is strict real-time inserts the type system all suitably to come in handy UML to come the modeling. This is one kind of rich expression strength language, may describe each kind of view which the development needs, then take this as foundation assembly system. This system if introduces UML the main superiority enhances the software development efficiency, reduces the development time, saves the development cost. Take the UML language modeling should be by Rational Corporation's Rose tool as best. But Rose quite expensive, and Rose quite is huge, uses is not too convenient. Borland Corporation produces the ModelMaker modeling tool not only supports, moreover also has its original place in the object modeling. Therefore the modeling tool selects ModelMaker.If you can secure a strong knowledge of PHP, as well as some practical experience building Web sites with it, you should never have trouble getting work as a Web developer. A quick search of your favourite online job directory with the keyword 'PHP' should be more than enough to convince you of that.In this first article, I'll help you get your feet wet by introducing the PHP  programming language, and how to use it to write dynamic Web pages with PHP. Before I get to that, I shall stop to explain how server-side scripting, and PHP in particular, differs from other Web scripting technologies that you may be familiar with, such as client-side JavaScript. This will get you armed with the proper vocabulary and ensure that we're on the same page before launching headlong into the brave, new world of PHP.Server-Side ScriptingTo understand where PHP fits into the big picture of Web development, you need to understand the concept of a server-side scripting language. If you've programmed Web pages in Perl, PHP, JSP, or Cold Fusion before, you can safely skip this section – all of those are server-side scripting languages, and PHP works in much the same way. If you're coming to PHP armed only with knowledge of HTML (and perhaps with some CSS and/or JavaScript experience) then you'll find that server-side scripting is quite a bit different.Let me begin by giving you a quick review of how standard, non-PHP Web pages work. As shown in Figure 1, the Web browser on the client computer (the computer belonging to the user) makes a request for a page, say file.html (1). Assuming the requested file exists on the Web host computer where the Web Server software can find it, that software replies to the request by sending the file back to the browser (2). Any additional files (images, for example) required to display the page are requested and received in the same way. The protocol used for this exchange, and indeed for all communication between Web browsers and Web servers is called Hypertext Transfer Protocol (HTTP).If you've ever used any JavaScript in your pages, you know that the requested Web page (file.html) can contain, in addition to plain HTML code, small programs written in JavaScript. These programs, or scripts, are read and executed by the Web browser while the page is displayed in the browser. So the Web browser must understand not only how to read HTML and display textand images, but it must also be able to run JavaScript programs appearing inside Web pages. This arrangement, where the Web browser runs the script after receiving it from the Web server, is called client-side scripting. The name makes sense – all of the script runs on the client-side – the right-hand side of Figure 1. The Web server is completely oblivious to whether the file it is sending contains a script or not;
it’s all up to the browser (the client) to handle execution of the script.
PHP fits into a different category of technologies, called server-side scripting, where it is no longer the browser running on the client that is responsible for running the script;
instead, it is the Web server that runs the script. This process is illustrated in Figure 2. As before, the Web browser requests a file (1). In this case, however, the filename ends with .php (file.php, for example), branding it as a file containing an PHP script that needs to be processed by the server. The server recognizes this, and instead of directly sending the requested file back to the browser, it sends the file to the PHP scripting engine (2). The engine is a component of the Web server software that can interpret PHP scripts and output the results as HTML. The trick here is that any given script can output different HTML each time it is run, so what comes out of the PHP engine can be different for each client (browser) request. That dynamically generated page is then sent to the browser in response to its request (3), in exactly the same way as the static page was sent in the previous example.Just as when the page contained client-side JavaScript and the server was completely unaware of this fact, when the page contains server-side PHP script, the browser does not know this at all. The PHP code contained in the page is interpreted and converted to plain HTML by the PHP engine before the browser gets to see it;
so as far as the browser is concerned an PHP page looks just like any normal Web page. All the work is done on the server-side;
thus the name, server-side scripting.
With the rapid development of computer technology, the school also has entered the information age. To make the school exam management more efficient, more scientific, decided to develop online examination system based on JSP technology.
In this paper, the top-down structured systems analysis approach, elaborated the development process of a full-featured online examination system, operating procedures and some of the core technology. Firstly, an overview of the project conducted a brief introduction to the project development background, purpose and significance of the project to develop the project development;
followed by the system planning stage, the actual business processes through research, analysis of the organizational structure of the system, specifically the completion of an online examination system needs analysis, feasibility analysis, analysis of existing business processes, and through the optimization of existing business processes, business process system obtained;
followed by a systematic analysis of specific data flow analysis and complete data dictionary;
system design phase completed a major division of functional modules, database design and system interface design. This phase of the function of each module were designed in detail, forming a functional block diagram of the system, on this basis, choose the right development model;
design of the database structure design concepts were first, followed by the logical structure of the design, and finally complete database table design.
This system is the basis of online examination system based on the design and SQL2008 data base using JSP and complete the online examination system.Through the system debugging results show that the system is basically completed the functional requirements.Throughout the design process,using the waterfall mode land structured design methods.The system is friendly and beautiful interface, easy operation, made its own characteristics . However, due to time constraint sand lack of experience in systems development,systems design process inevitably en count era variety of problems.
The system design uses B/S mode, using JSP technology for the design an d realization of the basic functions of the page,choose the background database SQL Server 2008 database.Design and implementation of the system as a foundation for the operation of the online examination system, providing o od conditions for online examination system.

外文译文

随着网络技术的日益普及和信息化建设的出视,现在学校普遍都配制了考试安全监控设备,并在此基础上搭建了管理信息系统,对信息化建设起到了积极的推动作用。但在实际工作中存在着软件建设落后于硬件建设的现象,例如,教育管理层对考生的考核还停留在传统的考试模式,不仅效率低下,而且还存在许多弊端,造成信息资源的浪费。

考试的无纸化、网络化,不仅能有效减少相关人员的工作量,较好的利用计算机与网络的优势,提高工作效率,也能使考试更加公平、公正。基于这种需求,我们为考试设计开发了一套性能稳定、安全可靠、操作方便的可以满足大量同时使用的网络考试系统。使得考试的安全性、公平性、公正性大大提高。

本系统实际运行后使用后,效果良好,不仅大大推进了考试的信息化建设进程,而且使得学校对考生的考核更加科学化、公平化、公正化、高效化和网络化。

网络考试系统应该能满足大量考生在任何地方、任何时间都能参加考试,并自动判断成绩。通过对考试业务需求的详细分析,本系统应提供的主要功能如下:

  • 考生可以在网上进行考试,考试结束后由计算机自动判断分数,并记录成绩,考生还可以查看标准答案。如果考试时间到,系统自动提示交卷并停止作答。
  • 教员可以在网上建立、修改题库,修改考生个人资料,监控考场情况等。
  • 管理员可以在网上建立考生、教员等档案资料,审核题库,安排考生考试,修改考生和考场状态,查询考生考试成绩,监控考场情况以及设置考试项目与考试题数等。
  • 另外为保证考试的公平、公正,试卷的试题由计算机随机从题库抽取。为严格杜绝考试的作弊行为,系统以后最好还应该提供指纹验证登录的功能。

其主要流程是:用户根据授权登录后,系统根据用户权限的不同,设置相应的操作操作。乘务员登录后可以进行考试,查看成绩及标准答案等操作;教员登录后可以进行修改考生的个人资料、修改题库、修改用户密码以及监控考试情况等操作;管理员登录后除具有教员的一切功能外,还可以进行审核题库(只有审核过的题库才可以进行考试)、设置考试时间、查询、打印考试成绩等操作。

也可以设置以下几项:

考试工作站:对考生进行考试的客户端程序。主要提供了根据系统配置进行随机出题、验证登录、考试时间提示、自动判断成绩、查看考试成绩以及标准答案等功能。其中考试工作站在实现方式上又分为客户端程序与 Web 方式,前者允许考生通过客户端程序(支持触摸屏考试模式)的方式进行考试,后者则允许考生通过考试专用网进行考试。

考试设置工作站:对考试业务进行设置的客户端程序。主要提供了修改题库、审核题库、修改考生资料、设置考生/考场状态、查询/打印考试成绩、题库的导入/导出功能以及监控考试情况等功能。

考试应用服务器:网络在线考试系统的应用服务器。主要实现了数据缓冲及考试业务逻辑的封装与复用功能,是考试工作站、考试设置工作站与数据库服务器的接口。应用服务器提供了丰富的接口,可以通过模块方式增加或者减少业务规则,考虑到以后考试业务的升级,应用服务器层还应预留了新考试类型的接口,使得以后的系统扩展较为方便。另外,为保证考试的高效性,应用服务器支持双机热备份的数据库服务器模式,即如果当前正在使用的数据库服务器发生故障,则系统配置中的后备数据库服务器自动切换为当前数据库服务器,这一切都是在用户所不知晓与干预的情况下进行的。通过应用服务器层的高效,真正使考试业务做到了使用简便、功能强大、性能稳定,模块化程度强,满足了新时期对信息化建设的较高要求。

再者,考虑到系统的稳定性与执行效率,在分析网络配置的基础上,系统以后可采用分布式的三层 C/S 与 B/S 混用的架构方式,即:考生如果是在本段进行考试,可以选择 C/S 结构的触摸屏考试和考点考试模式;如果考生是在外地进行考试,可以选择 B/S 结构的考点考试模式

网络在线考试系统需要通过网络来进行数据的传输,因此可应用服务器、Web 服务器与数据库服务器的安全性必须从系统设计时就进行规划。我们可采用了以下安全措施:

  • 加装可靠的防火墙,对外部的恶意攻击进行有效的遏制。
  • 将服务器(包括应用服务器、数据库服务器与 Web 服务器)的硬盘分区转化为 NTFS 格式,根据不同的需求为用户开设各自的权限。
  • 将关键代码可写成 DLL 组件,不但增强了安全性,同时也使系统的模块化程度加强,提高了系统性能。
  • 在数据库中对关键数据可进行二次加密。
  • 应用 SQL SERVER 2000 的数据备份与恢复功能,保证数据库信息的完整与安全。

当前软件界比较流行的系统结构模型主要有:C/S 结构模型与 B/S 结构模型。这两种结构又可分为二层和多层架构,主要的区别在于是否使用了中间件(例如 COM+ 或 CORBA)来架构应用服务器层。结构模型结合了分布式多层 C/S 与 B/S 的优点而设计,在通常情况下分为客户层、事务逻辑层和数据层。

客户层:主要用来满足整个系统的各种访问需求并处理以下工作:接收用户的输入,对用户的输入进行分析检查并作相应的处理;向服务器发出数据请求,显示由应用服务器传来的运行结果。客户层通常由客户进程组成,在该模型中客户进程主要包括 IE 浏览器动态创建的进程以及客户端的考试工作站创建的进程等。

事务逻辑层:负责接收从客户端或游览器传来的请求并将请求传给底层进行处理,同时将请求处理结果发送给客户端或者浏览器。事务逻辑层的进程主要由中间件 MTS/COM+ 以及一些相关的处理进程组成。

在 Windows 平台下微软公司推出了的 Windows DNA(Distributed inter Net Application Architecture,分布式网络应用结构)策略。把 COM+ 作为 Windows DNA 策略中的中间件。在 Windows 2000 以上操作系统中,COM+ 成为了系统的一部分。COM+ 为中间层提供了负载平衡、对象池(Object Pooling)、事务特性等一系列的强力支持,并且在 COM+ 中工作的程序受到操作系统的保护,从而最大的保证了系统的安全、稳定和高效。

  • 在该模型中,主要通过 ADO 实现数据动态操作,ADO 是微软当前主流的数据访问组件,与以往的数据访问技术相比,它提供了极为简单的对象模型,并封装了复杂的底层访问技术。
  • 数据层:主要为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
  • 本结构模型克服了二层 C/S 的弊端,充分利用了分布式的多层 C/S 与多层 B/S 的优点,,极好地利用了现有的网络资源,是对现有网络资源的有效集成、利用以及扩展。
  • 那么什么是 XML?

XML(eXtended Markup Language)是一种标记语言,就像我们熟悉的 HTML 一样,但是 XML 的标签是由人们根据自己的需要来定制的,也就是说,任何词和字都可以做为标签来用,只要能准确的表达数据的属性。准确表达数据的含义就是 XML 带来的最大好处。另外,XML 使用文本方式存储其格式,便于程序之间、操作系统之间沟通、交流,适应目前互联网的发展。

XML 出现短短几年就得到了广泛的应用,目前新推出的软件几乎都会支持 XML。例如微软的.Net 系列软件、Office 系列软件等等。不出几年,XML 就会代替 HTML 成为因特网上标准的标记语言。

本系统如果引入 XML 语言表达数据的好处,是使得系统中客户端数据的显示和系统处理的数据分离,减小开发系统的复杂度,减少系统处理时间,减少网络传送量,从而提高系统的执行效率。

统一建模语言(Unified Modeling Language, UML)是面向对象软件的标准化建模语言。由于其简单、统一,又能够表达软件设计中的动态和静态信息,目前已经成为可视化建模语言事实上的工业标准。

从企业信息系统到基于 Web 的分布式应用,甚至严格的实时嵌入式系统都适合用 UML 来建模。这是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础来装配系统。

本系统如果引入 UML 的主要优势是提高软件开发效率,减少开发时间,节约开发成本。以 UML 语言建模应该是以 Rational 公司的 Rose 工具为最好。不过 Rose 比较昂贵,并且 Rose 比较庞大,使用不是太方便。Borland 公司出品的 ModelMaker 建模工具不仅支持 UML,而且在对象建模上也有其独到的地方。因此建模工具就选用 ModelMaker。

PHP 是构建动态网页应用的被实践证明了的技术,为你需要创建任何的东西从一个基于图片库个人网页到一个完整的目录,为你的下一个商业项目提供全面的系统提供了强大的功能和灵活性。PHP 唯一的特性即让你选择你最喜欢的脚本语言,像 JavaScript 或者 PHP ,然而 PHP 是至今为止最流行的脚本语言。在本文中,我将带你学习 PHP 的基本 syntax,包括变量,操作数和控制结构。

本文是 PHP 系列教程的第二本,该系列教程的目标是教你一切你需要了解使用 PHP 创建动态网页。本文需要在掌握在系列教程的前面部分,从 PHP 学起,不要遗漏。

变量

这里列出了在前面部分我帮你创建的 PHP 脚本的开头:

<html>
<head>
<title> My First PHP Page </title>
</head>
<body>
<?php
Write out a simple HTML paragraph
Echo  "<p>This is a test of PHP.</p>"
?>
</body>
</html>

当然我承认在文章中,这是一个 PHP 脚本完整而没有兴趣的例子。当写下例子,这个脚本不能做普通传统网页不可能做的任何事情。当然,我给了一个稍微有兴趣的例子,它显示当前服务器的时间,但是真正有用的脚本使用有兴趣的方式需要执行一些计算的格式,操纵目前动态信息。

写 PHP 程序使用最多的语言,我们通过这个系列叫做 PHP 。像许多其它程序语言一样, PHP 让你用变量存储数据。一变量可以被认为是内存里的一个位置,这个位置是用来存储数据的。PHP 被认为是最自由的一类程序语言,这意味着一特殊的变量可以存储任何类型的信息,可以是一个数字,一篇文章,一个数据或者一些复杂的数据堆(与严格程序语言相对的,你只能用每一个变量来存储一种类型的信息)。在你使用一个变量时,虽然你必须声明它,即你必须让 PHP 了解你想用一个特殊的名字创建一个变量。

让我们看一个例子来巩固在你脑子里的概念。即你在做一张网页是执行 Celsius 和 Fahrenheit 温度的转换。Celsius 在乡村被使用,20&deg。C 被认为是一个房间温度的值。下面的代码是创建一个 intRoomTempC 的变量,然后赋值为 20:

New Revised 2nd Edition Out NOW!
"Build Your Own Database Driven Website Using PHP & MySQL"
Fully updated for PHP 4.3.
Installation instructions for Mac OS XFull index providedNew wider book sizeEnhanced fontsNew cover designLay-flat spineAll content revisitedDownload the First 4 Chapters FREETell me more about this top-selling book.$ intRoomTempC     ' Create a variableintRoomTempC = 20    ' Assign the variable a value of 20

在上面关键字 的范围比较小,在使用 P H P 创建一个名字确定的变量(就如 i n t R o o m T e m p C )你会问为什么要范围呢 ? 我同意,这不是最清晰的选择,但是基本上涉及了你问 P H P 所做的一切。当创建一个变量, P H P 需要在内存中留一些空间来存储放在变量中的任何值,它的部分任务是明确所分配的空间大小。在任何情况下,创建一个变量就像打 的范围比较小,在使用PHP 创建一个名字确定的变量(就如intRoomTempC)你会问为什么要范围呢?我同意,这不是最清晰的选择,但是基本上涉及了你问PHP 所做的一切。当创建一个变量,PHP 需要在内存中留一些空间来存储放在变量中的任何值,它的部分任务是明确所分配的空间大小。在任何情况下,创建一个变量就像打 的范围比较小,在使用PHP创建一个名字确定的变量(就如intRoomTempC)你会问为什么要范围呢?我同意,这不是最清晰的选择,但是基本上涉及了你问PHP所做的一切。当创建一个变量,PHP需要在内存中留一些空间来存储放在变量中的任何值,它的部分任务是明确所分配的空间大小。在任何情况下,创建一个变量就像打 后跟变量名。

上面例子的第二行赋了一个值给刚创建的变量,明确了它变量赋值是数字 20。等号是一个明确的操作符,因为它来确定变量的赋值。在本文的课程学习中,你将碰到许多其他的操作符,用来给变量另外离奇而有意思的东西,以及它们存储的值。

你应该在确定一个值时,先创建一个变量,通常在使用它前给想给它一个确定的值。试着给变量一个不存在的值,不管怎么样,将引起自动创建一个全名的新变量。这个叫隐式说明,因为新的变量被隐式的说明由于你试者给一个不存在的变量赋值。由于你能自由的对你所有的变量进行隐式说明,你可以知道的关键是手动的用 $ 命令创建任何一个和每一个变量。

如何容易处理的找出在你的代码中的打字中错误的解答。PHP 提供了另一个命令 Option Explicit ,在你试着给一个不存在的变量赋值时,它将导致不允许的隐式说明和代替显示错误信息。你想为什么会发生这种情况呢 ?考虑一下下面的例子:

$ intRoomTempC     ' Create a variable
intRomTempC = 20     ' Assign the variable a value of 20

如果你有一双敏锐的眼睛,你可可以注意到第二行的变量名拼写错误。这种类型的错误甚至在有经验的程序员中也一直存在。在变量能隐式说明的帮助下,第二行将创建另一个新的变量 intRomTempC,然后代替那个变量存储值。现在,你的剩余的脚本希望在 intRoomTempC 存储值,你的运行将出现问题。在更大的脚本中,对像这样一个小的打字中错误的追踪是非常的费时间的。Option Explicit 的来源:

这时,PHP 将用非法的隐式说明报告打印错误,用精确的每一行数字显示打字中错误信息。因为这个原因,我往往用 $ 来隐式说明所有的我的变量以及明确我的 PHP 脚本中第一行的 Option Explicit。它可能花更多的时间打,但是它省去当问题出现时的许多头痛的问题。

在同一行上创建几个变量的一个捷径。例如,下面一行将创建两个变量 ntRoomTempC, 和 intFreezingC:$intRoomTempC, intFreezingC’ Two variables in one line 到目前为止你可以知道我对变量命名的的惯例。在上面的小片段中用 int 开头创建了两个变量。我使用的这些变量都包含整型前缀(全部数字)的。你可以自由的命名你的变量,无论你喜欢什么以及你喜欢在他们中存储什么的数据,但是我更喜欢用这个惯例作为每一个变量的信息类型的有用的提醒者。关于前缀变量名字的线索的实行是以 Hungarian notation 而著称的,对上面这一些列都了解的前提下,我将介绍其它的数据类型的附加前缀。

Web 发展已经超出了在线小册子将满足典型公司对 Web 存在的需求的关键点。如果你作为 Web 站点管理员的市场瞄准的是自己,你需要有构建在线应用的一些技能—Web 站点能使用户相互作用,或者做一些事情(如发邮件),得到他们明确需要的目标信息(如实时库存引文),或者和别的用户相互作用(如在线社团)。

在这一系列文章,我通过学习最流行的框架的过程引导你创建动态 Web 站点像这些 PHP。如果你能够获得 PHP 大量知识,还有一些实践用它来构建 Web 站点,你作为一个 Web 开发者应该做工作决不会问题。用关键字 PHP 来快速查找你喜爱的在线工作目录应该更能够使你相信。

在文章的第一部分,我将帮助你通过介绍 PHP 程序语言让你感觉你是新手,然后怎么使用 PHP 来写动态 Web 网页。在我得到那个以前,我将停止解释服务器端脚本,特别是 PHP,与你可能熟悉其它的 Web 脚本技术不同,像客户端 Java 脚本语言。这使你用适当的词汇武装自己确保我们在头向前的勇敢进入 PHP 新世界。

服务器端的脚本为了理解 PHP 适合 Web 开发的大图片,你需要理解服务器端的脚本语言的概念。如果你用 Perl, PHP, JSP 或者 Cold Fusion 编写 Web 页面前,你能够安全略过这部分—所有这些是服务器端的脚本语言,PHP 工作在许多相同的方式。如果你只是用 HTML 知识来辅助 PHP(也许有过一些 CSS 或者 Java 脚本的经历),那么你将发现服务器端的脚本是有点不同之处的。

让我开始给你一个标准的快速回顾,非 PHP Web 网页工作。图 1 中显示客户端的计算机(计算机属于用户)Web 浏览器对页面做请求即 HTML (1)文件。假定在 Web 主机上存在被请求的文件,Web 服务器软件能发现它,软件能通过发回文件给浏览器来回应请求。任何附加文件(如图象文件)要求显示页面是用同样的方式请求和接收。协议用做交易,的确 Web 浏览器和 Web 服务器通信是叫做 HTTP。

如果你曾经在你的网页上用过 Java 脚本,你知道请求 Web 网页(HTML 文件)能包含除了普通 HTML 代码,用 Java 脚本写的小程序。这些程序或者脚本通过 Web 浏览器是可读可执行的当页面显示在浏览器上时。所以 Web 浏览器必须理解怎么读 HTML 和显示文本和图象,但是它必须能运行显示在 Web 页面的 Java 脚本程序。浏览器收到 Web 服务器这个安排后运行脚本,这个安排叫客户端脚本。在图 1 右手边所有名字有意义的脚本在客护端运行。Web 服务器文件发送是否包含脚本是完全健忘的,这是浏览器(客户端)处理执行脚本。

PHP 适合不同的技术种类,叫客户端脚本,它不在浏览器运行客户端而是在 Web 服务器上负责运行脚本。这个过程在图 2 中描绘。 像前面一样,Web 浏览器请求文件(1)。然而在这样的情况下,文件名末尾用 PHP(如文件 PHP),标志着这个文件包含 PHP 脚本需要服务器来处理。服务器认识这个,代替直接送请求文件给浏览器,它送文件给 PHP 脚本引擎(2)。引擎是 Web 服务器的重要软件,它能够解释 PHP 脚本和作为 HTML 输出结果。这里的诀窍是任何已给的脚本每次运行能输出不同的 HTML,所以 PHP 引擎的出现能对每一个客户(浏览器)请求是不同的。那动态生成的网页被送到浏览器以响应它的请求,这跟以前的静态网页有相同的方式。

正象页面包含客户端的 Java 脚本和服务器是完全没有意识到这个事实,当页面包含服务器端的 PHP 脚本,浏览器是根本不知道的。PHP 代码包含在页面被解释和传送到 PHP 页面看起来像其它任何普通的 Web 页面。所有的工作在服务器端,所以名字就是服务器端脚本。

随着计算机技术的飞速发展,学校也已进入信息化时代。为了使学考试管理更高效、更科学,决定开发基于 PHP 技术的在线考试系统。

本文采用自顶向下的结构化的系统分析方法,阐述了一个功能全面的在线考试系统的开发过程、操作流程及其一些核心的技术。本文首先进行了项目概述,简单介绍了项目开发的背景、项目开发的目的和项目开发的意义;接下来是系统规划阶段,通过实际的业务流程调研,分析了系统的组织结构,具体完成了在线考试系统的需求分析、可行性分析、现行业务流程分析,并通过对现行业务流程的优化,得出了系统的业务流程;之后是系统分析,具体完成了数据流分析和数据字典;系统设计阶段主要完成了功能模块的划分、数据库的设计和系统界面设计。该阶段对各个模块的功能进行了详细设计,形成了本系统的功能模块图,在此基础上选择了合适的开发模式;数据库的设计先进行了概念结构设计,之后进行了逻辑结构设计,最后完成了数据库表的设计。

本系统是在线考试系统的基础上,用 PHP 和 MySQL 数据库设计并完成在线考试系统。通过系统调试结果显示,本系统基本完成了功能需求。在整个设计过程中,采用瀑布模型和结构化的设计方法。本系统界面美观友好,操作方便,做出了自己的特色。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题

本系统在设计方面采用 B/S 模式,同时使用 PHP 技术进行基本页面的设计与功能实现,后台数据库选用 MySQL 数据库。本系统的设计实施为在线考试系统的运行做基础,为在线考试系统提供良好的条件。

♻️ 资源

大小: 16.2MB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87430293
注:如当前文章或代码侵犯了您的权益,请私信作者删除!

基于PHP+MySQL实现在线考试系统【100010717】相关推荐

  1. python基于PHP+MySQL的在线考试系统

    随着时代发展,人们不再希望通过传统的考试模式来进行考试.传统模式的考试有很多的弊端,而且会造成很多资源的浪费.通过调查研究发现例利用计算机和互联网进行在线考试是一个解决当前传统考试问题的一个很好的解决 ...

  2. 考试 mysql 数据库设计_基于MySQL的在线考试系统数据库设计

    2017年第8期信息通信2017 (总第176 期)INFORMATION & COMMUNICATIONS (Sum. No 176) 基于M ySQL的在线考试系统数据库设计 陈松楠,侯丽 ...

  3. 基于Java Web的在线考试系统的实现

    摘  要 随着互联网的发展,教育的方式逐渐步入信息化.智能化,网络教育逐渐成为教育未来发展的重要趋势,在线考试系统成为教育成果考察的主流方向.在线考试充分利用现代信息化技术的优势,使考试更方便.更高效 ...

  4. 基于java web的在线考试系统(源码+论文)

    今天介绍的一个项目是, 基于java web的在线考试系统 1 设计内容及要求 1.1 在线考试系统概述 基于Java web开发的在线考试系统不仅可以充分利用校园内各种资源,对学校的各种教学资源进行 ...

  5. 基于PHP+MySQL+Apache在线考试管理系统(附源码)

    作者:BSXY_陈永跃 BSXY_信息学院 注:未经允许禁止转发任何内容 基于PHP+MySQL+Apache在线考试管理系统 项目体验 1.前言 1.1.编写目的 1.2.项目需求 1.3.项目环境 ...

  6. 基于JAVA四六级在线考试系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA四六级在线考试系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA四六级在线考试系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  7. 基于SSM实现的在线考试系统【附源码】(毕设)

    一.项目简介 本项目是一套基于SSM实现的在线考试系统 或 网络考试系统 或 考试管理系统 或 在线考试平台,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者. 详细介绍了该 ...

  8. php mysql英语在线考试系统+论文

    php mysql英语在线考试系统,分学生和管理员两个角色,普通考生输入准考证进入考试,可以查看自己信息,可以选择答A卷B卷,提交可以查看自己的分数,可以退出考试后台:管理员登录.添加.修改.删除会员 ...

  9. 毕业设计 - 基于java web的在线考试系统【源码+论文】

    文章目录 前言 一.项目设计 1. 模块设计 2. 基本功能 2.1 登录功能 2.2 系统答题 2.3 答题得分 2.4 错题解析 3. 实现效果 二.部分源码 项目源码 前言 今天学长向大家分享一 ...

最新文章

  1. 计算机仿真和vr的区别,AR对比VR有何不同?你能分清楚他们的区别么
  2. 使用机器学习检测TLS 恶意加密流——业界调研***有开源的数据集,包括恶意证书的,以及恶意tls pcap报文***...
  3. 数据库设计:pd工程创建数据库表
  4. 第二章导数与微分思维导图_线性代数第二章 矩阵 思维导图
  5. excel条形码字体_在Excel中批量生成条形码,竟如此简单!
  6. 学java需要哪些js知识点_JS重要知识点
  7. Shell排序(改良的插入排序)
  8. java与javascript
  9. Docker系列(六)镜像与仓库
  10. NSight统计数据的颜色,缩写意义是什么?来自NV Jeff Kiel 比较官方的解释!
  11. !!!css如何让img图片居中?css的display属性实现图片居中(代码实例)
  12. XXX集团财务决策支持系统——现有系统功能(系列三)
  13. HyperLynx(十六)PCI-E的设计与仿真
  14. 特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...
  15. lbe+android6.0+免root,LBE安全大师|lbe安全大师免root下载v6.1.2482 - 欧普软件下载
  16. IOS - 七大手势操作
  17. 霍夫圆检测(HoughCircles)
  18. 简单关键字中英文翻译机代码~
  19. python中tan怎么表示_python中Tan的逆(tan-1) - python
  20. 浏览器网站密码忘记了、xshell里面的服务器密码忘记了

热门文章

  1. kibana 查看索引库中文档个数_两款超好用的Kubernetes实时日志查看工具
  2. VOA Special English 简介
  3. Spring Cloud Gateway 限流适配多规则的解决方案
  4. 揭秘Context(上下文)
  5. 博士申请 | 香港理工大学Lap-pui Chau教授招收人工智能/CV方向全奖博士生
  6. mysql支不支持fulljoin_MySQL5中是否可以进行完整外连接查询(full join)?解决方法
  7. eclipse开发linux内核/驱动/应用测试实例
  8. Apache Doris的动态分区dynamic_partition
  9. QML 控件—按钮控件—圆角按钮(RoundButton)
  10. 共有 n 个非凡拔尖的人才参加竞选,现在票数已经统计完毕,得票最多的人当选。请你算出谁能够当上学生会主席。