- 203
- 0
- 约3.98万字
- 约 53页
- 2021-11-11 发布于江西
- 举报
桂林电子科技大学毕业设计(论文)专用纸
PAGE
PAGE 3
编号:
毕业设计
题 目: ACM在线判题系统的
开发与实现
学 院: 数学与计算科学学院
专 业: 信息与计算科学
学生姓名: 韦增棵
学 号: 0800710225
指导教师单位: 数学与计算科学学院
指导教师: 宁黎华
职 称: 讲师
√题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发
√
2012 年6 月1 日
摘 要
ACM/ICPC 国际大学生程序设计竞赛是目前全球影响力最大的计算机程序设计竞赛。Online Judge系统(简称OJ)是一个ACM在线判题系统,用户可以在线提交多种程序(如C、C++、JAVA)源代码,系统对源代码进行编译和执行,并通过预先设计的测试用例来检验程序源代码的正误,是一个为程序设计竞赛爱好者和ACM/ICPC训练队伍提供练习、竞赛及交流的平台,同时也可以为程序设计语言、数据结构、算法等课程提供练习、测验的平台。
本文从Windows平台出发设计并实现了一个B/S模式的在线判题系统,它分为网站和判题内核两大部分。系统网站部分采用Struts2+Spring+Hibernate (S2SH)组合框架开发,判题内核使用C语言开发。分析了ACM在线判题系统的功能,阐述了系统的设计与实现技术,探讨了判题内核程序对用户程序的处理流程和评判标准,分析了Windows平台下实现判题内核所需要的编译、运行、获取运行时间及内存消耗等技术以及在线判题系统的安全注意事项与处理方案等。
本系统开发完成后,经过百位用户不同时间段的千次程序代码提交的测试,以及八场网络竞赛的实践支持,验证了此系统的稳定性和安全性。
关键词:在线判题;S2SH;判题内核;分布式部署;系统安全
PAGE 51
Abstract
ACM/ICPC International Collegiate Programming Contest is the most popular and the most influential computer programming contest. Online Judge System (referred to as OJ), Users can submit a variety of program source code (such as C,C++,JAVA) online, and system will complete the compilation and execution, and through pre-designed test cases to test code sources right and wrong. It is a platform for programming fans and ACM / ICPC Training team to provide training, compete and exchange, but also for programming languages, data structures, algorithms, etc. to provide practice test platform.
In this work, a B/S mode online judge system has been designed and realized based on the Windows OS. The established platform consists of website part and judge kernel module. The website uses Struts2+Spring+Hibernate, namely combination framework S2SH and the judge kernel uses the C program language. The function of ACM online judge system is analyzed. The design and implementation technologies of the system are expounded. the judge kernel how to processes the user program, a
原创力文档

文档评论(0)