欢迎来到天天文库
浏览记录
ID:27195234
大小:315.50 KB
页数:15页
时间:2018-12-01
《程序在线评测系统-毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、题目程序在线评测系统题目程序在线评测系统姓名学号所在学院年级专业指导教师职称讲师完成时间2011年月日1综合评定成绩:指导教师评语:评定成绩:指导教师签名:日期:答辩小组意见:评定成绩:答辩小组长签名:日期:1程序在线评测系统——后台评测模块摘 要:ACM国际大学生程序设计竞赛,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。随着其发展,各高校也越来越重视这项竞赛,广东外语外贸大学的程序在线评测系统
2、也应运而生。在这个平台中,用户只需要提交他们的代码,系统就可以自动地为其程序做出相应的评测,并且返回相应的评测结果。通过这个平台,用户不但可以巩固学科知识,也可以大大提高代码的实践能力。后台评测模块主要负责对用户提交的源程序进行编译,运行,得到是评测结果再反馈给用户。关键词:在线评测,程序设计,ACM10目录摘 要IAbstractII第一章绪论11.1课题的背景、研究意义11.2软件开发环境描述11.3软件运行环境描述2第二章系统总体设计32.1模块介绍32.2项目分工62.3数据流图62.4数据库设计8第三章GOJ内核设计1
3、33.1定义133.2性能要求143.3判题流程143.4接口设计15第四章内核数据结构设计194.1逻辑结构设计194.3出错信息204.4补救措施20第五章内核实现难点215.1JNI本地调用215.2内存测量235.3进程数控制295.4连接到其他OnlineJudgeSystem30第六章结语36参考文献37致谢3810第一章绪论1.1课题的背景、研究意义程序设计类课程,具有实践性强的特点。它不但要求学生掌握基础的理论知识,更重要的是要求学生不断提高自身的编程实践能力。因此,在这类课程中,老师务必会布置大量的程序设计作业
4、,传统通过电子邮件或手写提交作业的方式让老师感到批改作业的任务繁重,让学生感到费时费力,难以提高编程的实践能力。为方便教学,提高学生动手编程的实践能力,开发一个自动化,智能化的评测系统成为需要。随着现代信息化的发展,软硬件的不断升级,使得开发这样一个评测系统成为可能。OnlineJudgeSystem,则是指一个在线的裁判系统,它可对程序源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。ACM/ICPC(ACMInternationalCollegiateProgrammingContest,国际大学生程序
5、设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(AssociationforComputingMachinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。现在各高校也越来越重视ACM程序设计比赛,都纷纷建立起自己的测评平台供老师和学生使用,广东外语外贸大学的程序在线评测系统也就应运而生。1.2软件开发环境描述操作系统:WindowsNT5.1以上开发平台:MyEclipse6.0.1数据库:MySQL5.1.40开发语言:Java1.6+Jsp+C++WEB服务器:Tomcat
6、6.0101.1软件运行环境描述CPU:PIII800Mhz或更高内存:256MB或更高硬盘:100MB或以上剩余空间操作系统:WindowsNT5.1以上数据库:MySQL5.1.40WEB服务器:Tomcat6.0第二章10系统总体设计本系统主要是分为五个模块:用户维护,题目维护,竞赛维护,后台评测,论坛。1.1模块介绍1.1.1用户维护1.1.2题目维护1.2后台管理可以添加、删除、修改竞赛;查询竞赛。1.1.3后台评测1.1.4论坛顶层图如下:图2.2顶层图101.1.1数据表表2-1用户信息表(userinfo)字段名
7、中文名称类型长度默认值10GOJ内核设计1.1定义广东外语外贸大学程序在线评测系统,简称为GOJ。其中负责评测用户提交的源程序的模块称为广东外语外贸大学程序在线评测系统的内核,简称为GOJ内核。第二章10内核数据结构设计1.1逻辑结构设计错误原因错误代码可能情况1.2补救措施出现错误,应重复执行该内核,若确定为Bug的,要进行源代码级别的修复。10内核实现难点1.1JNI本地调用第二章10结语在GOJ的开发过程中,受到的阻力很大。刚开始是整体的模块划分问题,因为在设计的时候,没有考虑周全系统的可扩展行,导致开始开发时发现很多地方
8、需要重构。但经过和组员讨论后,采用了MVC的方法,分清楚各个模块,考虑清楚系统的扩展性,这才使得后面的工作可以顺利进行。接着遇到的问题是代码的统一性问题,比如代码规范,枚举类型的统一等。功夫不负有心人,经过大家的努力,再加上大家的热情,最后还是解决了这个问题。最
此文档下载收益归作者所有