1、 目目 录录 摘 要 . I ABSTRACT . II 第 1章 绪论 . 1 1.1 课题背景 1 1.2 国内外研究现状 2 1.3 本课题研究的意义. 3 第 2章 系统开发工具与主要技术简介 . 4 2.1 系统开发工具 4 2.2 Online Judge 在线实验系统开发主要技术 . 4 第 3章 系统分析与数据库设计 . 10 3.1 需求分析 . 10 3.2 实验系统评判功能 11 3.3 数据库设计 . 13 第 4章 系统整体设计 . 17 4.1 系统功能框架 . 17 4.2 界面布局设计 . 19 第 5章 系统详细设计 . 21 5.1 前台设计 . 21 5.
2、2 后台设计 . 27 第 6章 编译运行与系统测试 . 32 2 6.1 安装命令 . 32 6.2 系统运行 . 33 6.3 系统测试 . 34 结 论 . 38 致 谢 39 参考文献 . 40 附 件 41 第第 1 章章 绪绪 论论 1.1 课题背景 1.1.1 Online Judge 系统 Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线 提交程序多种程序(如C、C+、Pascal)源代码,系统对源代码进行编译 和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 一个用户提交的程序在Online Judge系统下执行时将受到比较严格的限 制,包
3、括运行时间限制,内存使用限制和安全限制等。用户程序执行的结果将 被Online Judge系统捕捉并保存,然后再转交给一个裁判程序。该裁判程序 或者比较用户程序的输出数据和标准输出样例的差别,或者检验用户程序的输 出数据是否满足一定的逻辑条件。最后系统返回给用户一个状态:通过 (Accepted,AC) 、答案错误(Wrong Answer,WA)、超时(Time Limit Exceed,TLE)、超过输出限制(Output Limit Exceed,OLE)、超内存 (Memory Limit Exceed,MLE) 、运行时错误(Runtime Error,RE) 、格式 错误(Pres
4、entation Error,PE)、或是无法编译(Compile Error,CE) ,并返 回程序使用的内存、运行时间等信息。 Online Judge系统最初使用于ACM-ICPC国际大学生程序设计竞赛和 OI信息学奥林匹克竞赛中的自动判题和排名。现广泛应用于世界各地高校学 生程序设计的训练、参赛队员的训练和选拔、各种程序设计竞赛以及数据结构 和算法的学习和作业的自动提交判断中。 1.1.2 在线实验系统 随着Internet的迅速发展和广泛普及,网络化教学代表了教育改革的一个 发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。远 程教育成为现代教育技术未来发展的重要方
5、向之一,在线实验作为远程教育的 一个子系统也成为一个重要的研究领域。 Internet技术的发展使得实验操作的技术手段和载体发生了革命性的变 化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得 实验操作突破了时间和空间的限制。与传统实验模式相比,在线实验具有无可 2 比拟的优越性, 它可以将传统实验过程中的老师布置实验任务、 实验题目告知、 实验登记签到、实验评判归档等各个环节缩小到一至两个环节,几乎屏蔽了所 有人工直接干预实验任务的可能性,不但能够节约大量的时日、人力、物力与 财力,而且还可以大幅度增加实验成绩的客观性和公正性,大大提高了实验效 率。 传统的
6、实验方式一般要经过老师布置实验内容、学生进行实验、老师检验 结果等过程。对于一些课程来说,随着课程和学生数量的增加,实验工作量将 会越来越大,并且其工作十分烦琐和非常容易出错。在线实验系统课题产生的 背景是当今教育信息化的趋势及我国高校教育信息化系统的建设,目的是充分 利用学校现有的计算机软、硬件和网络资源实现无纸化实验以避免传统实验安 排时间的不足。与传统实验模式相比,在线实验渗入了更多的技术环节,对实 现安全性的途径、方法也提出了更高的技术要求。通过Internet来实现在线实 验,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教育 和实验分离以及实验任务工作的全自动化管理,可以有效利用校园网的软硬件 资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规 模的实行实验,实现实验的客观性、公证性,自动化评测可以减轻实验老师的 工作强度。 在线实验系统是传统实验的延伸, 它可以利用网络的无限广阔空间, 随时随地的对学生进行实验知道,加上Web数据库技术的利用,大大简化了 传统实验的过程。 本文以Internet为平台,研究了基于Jud