




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题 目 程序在线评测系统 题 目 程序在线评测系统 姓 名 学 号 所在学院 年级专业 指导教师 * 职称 讲师 完成时间 2011 年 月 日 综合评定成绩: 指导教师评语 : 评定成绩: 指导教师签名: 日期: 答辩小组意见 : 评定成绩: 答辩小组长签名: 日期 : I 程序在线评测系统 后台评测模块 摘 要 : ACM 国际大学生程序设计竞赛,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近 30 多年的发展, ACM 国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。随着其发展,各高校也越来越重视这项竞赛,广东外语外贸大学的程序在线评测系统也应运而生。在这个平台中,用户只需要提交他们的代码,系统就可以自动地为其程序做出相应的评测,并且返回相应的评测结果。通过这个平台,用户不但可以巩固学科知识,也可以大大提高代码 的实践能力。 后台评测模块主要负责对用户提交的源程序进行编译,运行,得到是评测结果再反馈给用户。 关键词 :在线评测,程序设计, ACM II Online Judge System Background Judge Module Cheng Jin Yu School of Informatics Abstract: ACM international collegiate programming contest, is an annual competition that aims at showing their abilitities of innovation, teamwork, programming under pressure, analysing and solving problems. Through more than 30 years development, it has become the most influential computing contest for college students and been taken more seriously by many higher eduction universities and colleges, so there comes the Guangdong University of Foreign Studies Online Judge. System which can provide great convenience for programming lovers and students. Users only need to submit their code, then the system can automatically make the appropriate evaluation of its procedures, and returns the corresponding evaluation results. Wiht this platform, users can not only consolidate the academic knowledge, but also can greatly improve the ability of pratical programming. Background judge module is mainly responsible for a user to submit the source code to compile, run, and return the judge result to the user. Key words: Online judge, Programming, ACM III 目 录 摘 要 . I Abstract . II 第一章 绪论 . 1 1.1 课题的背景、研究意义 . 1 1.2 软件开发环境描述 . 1 1.3 软件运行环境描述 . 2 第二章 系统总体设计 . 3 2.1 模块介绍 . 3 2.2 项目分工 . 错误 !未定义书签。 2.3 数据流图 . 错误 !未定义书签。 2.4 数据库设计 . 错误 !未定义书签。 第三章 GOJ 内核设计 . 5 3.1 定义 . 5 3.2 性能要求 . 错误 !未定义书签。 3.3 判题流程 . 错误 !未定义书签。 3.4 接口设计 . 错误 !未定义书签。 第四章 内核数据结构设计 . 6 4.1 逻辑结构设计 . 6 4.3 出错信息 . 错误 !未定义书签。 4.4 补救措施 . 6 第五章 内核实现难点 . 7 5.1 JNI 本地调用 . 7 5.2 内存测量 . 错误 !未定义书签。 5.3 进程数控制 . 错误 !未定义书签。 5.4 连接到其他 Online Judge System . 错误 !未定义书签。 第六章 结语 . 8 参考文献 . 9 致 谢 . 10 1 第一章 绪论 1.1 课题的背景、研究意义 程序设计类课程,具有实践性强的特点。它不但要求学生掌握基础的理论知识,更重要的是要求学生不断提高自身的编程实践能力。因此,在这类课程中,老师务必会布置大量的程序设计作业,传统通过电子邮件或手写提交作业的方式让老师感到批改作业的任务繁重,让学生感到费时费力,难以提高编程的实践能力。为方便教学,提高学生动手编程的实践能力,开发一个自动化,智能化的评测系统成为需要。随着现代信息化的发展,软硬件的不断升级,使得开发这样一个评测系统成为可能。 Online Judge System,则是指一个在线的裁判系统,它可对程序源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。 ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛 )是由国际计算机界历史悠久、颇具权威性的组织 ACM( Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。 现在各高校也越来越重视 ACM 程序设计比赛,都 纷纷建立起自己的测评平台供老师和学生使用,广东外语外贸大学的程序在线评测系统也就应运而生。 1.2 软件开发环境描述 操作系统: Windows NT 5.1 以上 开发平台: MyEclipse 6.0.1 数据库: MySQL 5.1.40 开发语言: Java 1.6 + Jsp + C+ WEB 服务器: Tomcat 6.0 2 1.3 软件运行环境描述 CPU: PIII 800Mhz 或更高 内存: 256MB 或更高 硬盘: 100MB 或以上剩余空间 操作系统: Windows NT 5.1 以上 数据库 : MySQL 5.1.40 WEB 服务器: Tomcat 6.0 3 第二章 系统总体设计 本系统主要是分为五个模块:用户维护,题目维护,竞赛维护,后台评测,论坛。 2.1 模块介绍 2.1.1 用户维护 2.1.2 题目维护 2.2 后台管理 可以添加、删除、修改竞赛; 查询竞赛。 2.2.1 后台评测 2.2.2 论坛 顶层图如下 : 图 2.2 顶层图 4 2.2.3 数据表 表 2-1 用户信息表( userinfo) 字段名 中文名称 类型 长度 默认值 5 第三章 GOJ 内核设计 3.1 定义 广东外语外贸大学程序在线评测系统,简称为 GOJ。其中负责评测用户提交的源程序的模块称为广东外语外贸大学程序在线评测系统的内核,简称为 GOJ内核。 6 第四章 内核数据结构设计 4.1 逻辑结构设计 错误原因 错误代码 可能情况 4.2 补救措施 出现错误,应重复执行该内核,若确定为 Bug 的,要进行源代码级别的修复。 7 第五章 内核实现难点 5.1 JNI 本地调用 8 第六章 结语 在 GOJ 的开发过程中,受到的阻力很大。刚开 始是整体的模块划分问题,因为在设计的时候,没有考虑周全系统的可扩展行,导致开始开发时发现很多地方需要重构。但经过和组员讨论后,采用了 MVC 的方法,分清楚各个模块,考虑清楚系统的扩展性,这才使得后面的工作可以顺利进行。接着遇到的问题是代码的统一性问题,比如代码规范,枚举类型的统一等。功夫不负有心人,经过大家的努力,再加上大家的热情,最后还是解决了这个问题。最后是整合的问题,因为每个人负责的模块和别的模块联系较小,大家只顾着开发自己的模块,所以在整合的时候,其他模块要进行的一些配置等问题都出来了,但是组员们都非 常的耐心,各自帮助别人进行配置。虽然我们组有五人之多,但从开始开发到结束,大家都和睦地走过来了,而且互相学习的氛围使得大家的能力都得到了很大的提升。 在内核的开发过程中,让我明白了要懂得询问,懂得交流,懂得查阅。身边每个人,每样事物都可以给你启发。比如,在我不解怎么测量内存时,询问了广州大学的一位同学,他建议我去看核心编程,而且还给我讲解核心编程的各个章节,这给我后面的开发起到了很大的推动作用。又比如,经常上百度、 Google,你会搜索到很多很有用的知识。当然,学校的资源更是丰富。 总之,要注意的事情很多, 要学的东西也很多,只有耐心走下去,最终还是可以走到终点。 9 参考文献 1 北京大学在线评测系统, /JudgeOnline/ 2 乌拉尔大学在线评测系统 , http:/acm.timus.ru/archive.aspx 3 Microsoft Developers Network (MSDN) Library, / 4 Sun Developers Network (SDN), / 5 张亚飞 .JSP 开发王 M. 电子工业出版社, 2008 年 6 朱战力,沈伟 .Java 程序设计实用教程 M.电子工业出版社, 2004 年 7 吴建,张旭东 .JSP 网络开发入门与实践 M.人民邮电出版社, 2006 年 8 李树清 .Java 通用范例开发金典 M.电子工业出版社, 2009 年 9 林上杰,林康司 .JSP 2.0 技术手册 M.电子工业出版社, 2004 年 10 刘长炯 .MyEclipse 6 Java 开发中文教程, 2007 年 11 Jeffrey Richter, WINDOWS 核心编程 M.Microsoft Press 出版社, 1999 年 10 致 谢 在 Online Judge 后台的开发过程中遇到了很多困难。在此特别感谢 老师的指导。从选定课题到完成项目和论文,郑老师一直关心项目设计和论文写作进度,细心地指出设计的不合理之处和待改善之处,提出最优设计方案建议,并且认真地给我修改论文。郑琪老师诲人不倦的工作作风,一丝不苟的工作态度,严肃认真的治学风格给我留下深刻的影响,值得我永远学习。在此,谨向导师郑琦老师致以崇 高的敬意和衷心的感谢! 我还要向组员致谢,感谢各位对我的指导和鼓励,令合作项目得以顺利进行。 在攻读学士学位期间,感谢学院领导和老师的教导和帮助,我从他们身上学到了很多专业知识与为人处事的道理,树立了正确的人生价值观,培养了科学严谨的治学态度。感谢同学对我的关心和照顾,班集体、年级集体、学院集体、学校集体都给了我自豪感和归属感。 最后,谨向本论文所参阅的所有文献资料的编著者表示谢意,您们的工作为本项目奠定了基础。 广东外语外贸大学 毕业论文(设计)学术诚 信 声 明 本人 郑重声 明:所呈交的 毕业论文(设计) ,是本 人在 导师 的指 导 下, 独 立进 行研究工作所取得的成果。除文中已 经 注明引用的 内 容外,本 论文(设计) 不包含任何其它 个 人或集体已 经发 表或撰 写过 的作品成果。 对 本文的研究做出重要贡献 的 个 人和集体,均已在文中以明确方式 标 明。本人完全意 识到 本 声 明的法律结 果由本人承 担 。 作 者签名 : 日期: 年 月 日 广东外语外贸大学 毕业论文(设计) 版 权 使用授 权书 本 毕业论文(设计) 作者同意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花卉销售合同模板2025年
- 2025年军队文职人员招聘之军队文职政治学通关试题库(有答案)
- 基于物联网的2025年基层医疗卫生机构信息化建设实践案例分析
- 能源与资源行业:2025年煤炭清洁利用与环保政策影响分析报告
- 二零二五年度婚礼现场主题宴会设计合同
- 2025版住宅拆迁安置补偿合同示范文本
- 2025版冷链物流车辆运输及仓储管理服务合同样本
- 二零二五年度水利行业劳动合同模板
- 二零二五年度房地产贷款居间服务合同(包含法律)
- 2025版会展租赁服务与展会推广合同
- 《瘢痕治疗》课件
- 2023通信中级传输与接入(有线)实务知识点大汇总
- 科室梯队护理人才培养方案
- 中医中药穴位敷贴护理
- 中国传统文化(酒文化)课件
- 热稳定校验计算书
- 福建省住宅工程防渗漏技术导则(2023年)
- 贵港市展旺木业有限公司年产5万立方米生态板项目环境影响报告
- 养老院凉晒被子记录表
- 珠海市斗门区事业单位考试历年真题2023
- 乌兰察布市综合物流产业园区地质灾害评估报告
评论
0/150
提交评论