- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序在线评测系统设计毕业论文
目 录
TOC \o 1-2 \h \z \u 摘 要 I
Abstract II
第一章 绪论 1
1.1 课题的背景、研究意义 1
1.2 软件开发环境描述 1
1.3 软件运行环境描述 2
第二章 系统总体设计 3
2.1 模块介绍 3
2.2 项目分工 6
2.3 数据流图 6
2.4 数据库设计 8
第三章 GOJ内核设计 13
3.1 定义 13
3.2 性能要求 14
3.3 判题流程 14
3.4 接口设计 15
第四章 内核数据结构设计 19
4.1 逻辑结构设计 19
4.3 出错信息 20
4.4 补救措施 20
第五章 内核实现难点 21
5.1 JNI本地调用 21
5.2 内存测量 23
5.3 进程数控制 29
5.4 连接到其他Online Judge System 30
第六章 结语 36
参考文献 37
致 谢 38
绪论
课题的背景、研究意义
程序设计类课程,具有实践性强的特点。它不但要求学生掌握基础的理论知识,更重要的是要求学生不断提高自身的编程实践能力。因此,在这类课程中,老师务必会布置大量的程序设计作业,传统通过电子邮件或手写提交作业的方式让老师感到批改作业的任务繁重,让学生感到费时费力,难以提高编程的实践能力。为方便教学,提高学生动手编程的实践能力,开发一个自动化,智能化的评测系统成为需要。随着现代信息化的发展,软硬件的不断升级,使得开发这样一个评测系统成为可能。
Online Judge System,则是指一个在线的裁判系统,它可对程序源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。现在各高校也越来越重视ACM程序设计比赛,都纷纷建立起自己的测评平台供老师和学生使用,广东外语外贸大学的程序在线评测系统也就应运而生。
软件开发环境描述
操作系统: Windows NT 5.1以上
开发平台: MyEclipse 6.0.1
数据库: MySQL 5.1.40
开发语言: Java 1.6 + Jsp + C++
WEB服务器: Tomcat 6.0
软件运行环境描述
CPU: PIII 800Mhz或更高
内存: 256MB或更高
硬盘: 100MB或以上剩余空间
操作系统: Windows NT 5.1以上
数据库: MySQL 5.1.40
WEB服务器: Tomcat 6.0
系统总体设计
本系统主要是分为五个模块:用户维护,题目维护,竞赛维护,后台评测,论坛。
模块介绍
用户维护
题目维护
后台管理
可以添加、删除、修改竞赛;
查询竞赛。
后台评测
论坛
顶层图如下:
图2.2 顶层图
数据表
表2-1 用户信息表(userinfo)
字段名
中文名称
类型
长度
默认值
GOJ内核设计
定义
广东外语外贸大学程序在线评测系统,简称为GOJ。其中负责评测用户提交的源程序的模块称为广东外语外贸大学程序在线评测系统的内核,简称为GOJ内核。
内核数据结构设计
逻辑结构设计
错误原因
错误代码
可能情况
补救措施
出现错误,应重复执行该内核,若确定为 Bug 的,要进行源代码级别的修复。
内核实现难点
JNI本地调用
结语
在GOJ的开发过程中,受到的阻力很大。刚开始是整体的模块划分问题,因为在设计的时候,没有考虑周全系统的可扩展行,导致开始开发时发现很多地方需要重构。但经过和组员讨论后,采用了MVC的方法,分清楚各个模块,考虑清楚系统的扩展性,这才使得后面的工作可以顺利进行。接着遇到的问题是代码的统一性问题,比如代码规范,枚举类型的统一等。功夫不负有心人,经过大家的努力,再加上大家的热情,最后还是解决了这个问题。最后是整合的问题,因为每个人负责的模块和别的模块联系较小,大家只顾着开发自己的模块,所以在整合的时候,其他模块要进行的一些配置等问题都出来了,但是组员们都非常的耐心,各自帮助别人进行配置。虽然我们组有五人之多,但从开始开发到结束,大家都和睦地走过来了,而且互相学习的氛围使得大家的能力都得到了很大的提升。
在内核的开发过程中,让我明白了要懂得询问,懂得交流,懂得查阅。身边每个人,每
您可能关注的文档
- 2015年创新能力培养与提高题库答案(全)第二部分.doc
- 2015证券从业资格考试证券发行与承销真题与答案.docx
- A5塔式起重机基础工程施工设计方案.doc
- Android平台上的计算器设计方案.doc
- DES加密Verilog模块设计方案.doc
- enterprise architec生命周期软件项目设计方案.doc
- Java程序的设计_复习题参考答案.doc
- UPS电源60Kw配套设计方案.doc
- 鞍山市博雅小区高层剪力墙结构住宅楼建筑结构设计.doc
- 八步区职校示范特色专业与实训基地建设方案设计书.doc
- 七年级英语下册《Unit 1 Section A (2a-2d)》课件.pptx
- 2025年贵州盘州市事业单位招聘144人笔试模拟试题带答案详解.docx
- 眼科护理与治疗.pptx
- 营养医学最新成果.pptx
- 2025年贵州盘州市事业单位招聘144人笔试模拟试题附答案详解.docx
- 2025年贵州盘州市事业单位招聘144人笔试模拟试题及答案详解1套.docx
- 2025年贵州盘州市事业单位招聘144人笔试模拟试题及参考答案详解一套.docx
- 2025年贵州盘州市事业单位招聘144人笔试模拟试题参考答案详解.docx
- 2025年贵州理工学院招聘17人方案笔试模拟试题附答案详解.docx
- 七年级英语下册《Unit 1 Section B (1a-1f)》课件.pptx
文档评论(0)