您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 广告经营 > 本科毕业论文范文模板
题目程序在线评测系统题目程序在线评测系统姓名学号所在学院年级专业指导教师**职称讲师完成时间2011年月日综合评定成绩:指导教师评语:评定成绩:指导教师签名:日期:答辩小组意见:评定成绩:答辩小组长签名:日期:I程序在线评测系统——后台评测模块摘要:ACM国际大学生程序设计竞赛,是一项旨在展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的年度竞赛。经过近30多年的发展,ACM国际大学生程序设计竞赛已经发展成为最具影响力的大学生计算机竞赛。随着其发展,各高校也越来越重视这项竞赛,广东外语外贸大学的程序在线评测系统也应运而生。在这个平台中,用户只需要提交他们的代码,系统就可以自动地为其程序做出相应的评测,并且返回相应的评测结果。通过这个平台,用户不但可以巩固学科知识,也可以大大提高代码的实践能力。后台评测模块主要负责对用户提交的源程序进行编译,运行,得到是评测结果再反馈给用户。关键词:在线评测,程序设计,ACMIIOnlineJudgeSystem——BackgroundJudgeModuleChengJinYuSchoolofInformaticsAbstract:ACMinternationalcollegiateprogrammingcontest,isanannualcompetitionthataimsatshowingtheirabilititiesofinnovation,teamwork,programmingunderpressure,analysingandsolvingproblems.Throughmorethan30years’development,ithasbecomethemostinfluentialcomputingcontestforcollegestudentsandbeentakenmoreseriouslybymanyhighereductionuniversitiesandcolleges,sotherecomestheGuangdongUniversityofForeignStudiesOnlineJudge.Systemwhichcanprovidegreatconvenienceforprogrammingloversandstudents.Usersonlyneedtosubmittheircode,thenthesystemcanautomaticallymaketheappropriateevaluationofitsprocedures,andreturnsthecorrespondingevaluationresults.Wihtthisplatform,userscannotonlyconsolidatetheacademicknowledge,butalsocangreatlyimprovetheabilityofpraticalprogramming.Backgroundjudgemoduleismainlyresponsibleforausertosubmitthesourcecodetocompile,run,andreturnthejudgeresulttotheuser.Keywords:Onlinejudge,Programming,ACMIII目录摘要.......................................................................IAbstract....................................................................II第一章绪论..................................................................11.1课题的背景、研究意义................................................11.2软件开发环境描述....................................................11.3软件运行环境描述....................................................2第二章系统总体设计..........................................................32.1模块介绍............................................................32.2项目分工............................................错误!未定义书签。2.3数据流图............................................错误!未定义书签。2.4数据库设计..........................................错误!未定义书签。第三章GOJ内核设计..........................................................53.1定义................................................................53.2性能要求............................................错误!未定义书签。3.3判题流程............................................错误!未定义书签。3.4接口设计............................................错误!未定义书签。第四章内核数据结构设计......................................................64.1逻辑结构设计........................................................64.3出错信息............................................错误!未定义书签。4.4补救措施............................................................6第五章内核实现难点..........................................................75.1JNI本地调用.........................................................75.2内存测量............................................错误!未定义书签。5.3进程数控制..........................................错误!未定义书签。5.4连接到其他OnlineJudgeSystem.......................错误!未定义书签。第六章结语..................................................................8参考文献.....................................................................9致谢......................................................................101第一章绪论1.1课题的背景、研究意义程序设计类课程,具有实践性强的特点。它不但要求学生掌握基础的理论知识,更重要的是要求学生不断提高自身的编程实践能力。因此,在这类课程中,老师务必会布置大量的程序设计作业,传统通过电子邮件或手写提交作业的方式让老师感到批改作业的任务繁重,让学生感到费时费力,难以提高编程的实践能力。为方便教学,提高学生动手编程的实践能力,开发一个自动化,智能化的评测系统成为需要。随着现代信息化的发展,软硬件的不断升级,使得开发这样一个评测系统成为可能。OnlineJudgeSystem,则是指一个在线的裁判系统,它可对程序源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。ACM/ICPC(ACMInternationalCollegiateProgrammingContest,国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(AssociationforComputingMachinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛。现在各高校也越来越重视ACM程序设计比赛,都纷纷建立起自己的测评平台供老师和学生使用,广东外语外贸大学的程序在线评测系统也就应运而生。1.2软件开发环境描述操作系统:WindowsNT5.1以上开发平台:MyEclipse6.0.1数据库:MySQL5.1.40开发语言:Java1.6+Jsp+C++WEB服务器:Tomcat6.021.3软件运行环境描述CPU:PIII800Mhz或更高内存:256MB或更高硬盘:100MB或以上剩余空间操作系统:WindowsNT5.1以上数据库:MySQL5.1.40WEB服务器:Tomcat6.03第二章系统总体设计本系统主要是分为五个模块:用户维护,题目维护,竞赛维护,后台评测,论坛。2.1模块介绍2.1.1用户维护2.1.2题目维护2.2后台管理可以添加、删除、修改竞赛;查询竞赛。2.2.1后台评测2.2.2论坛顶层图如下:图2.2顶层图42.2.3数据表表2-1用户信息表(userinfo)字段名中文名称类型长度默认值5第三章GOJ内核设计3.1定义广东外语外贸大学程序在线评测系统,简称为GOJ。其中负责评测用户提交的源程序的模块称为广东外语外贸大学程序在线评测系统的内核,简称为GOJ内核。6第四章内核数据结构设计4.1逻辑结构设计错误原因错误代码可能情况4.2补救措施出现错误,应重复执行该内核,若确定为Bug的,要进行源代码级别的修复。7第五章内核实现难点5.1JNI本地调用8第六章结语在GOJ的开发过程中,受到的阻力很大。刚开始是整体的模块划分问题,因为在设计的时候,没有考虑周全系统的可扩展行,导致开始开发时发现很多地方需要重构。但经过和组员讨论后,采用了MVC的方法,分清楚各个模块,考虑清楚系统的扩展性,这才使得后面的工作可以顺利进行。接着遇到的问题是代码的统一性问题,比如代码规范,枚举类型的统一等。功夫不负有心人,经过大家的努力,再加上大家的热情,最后还是解决了这个问题。最后是整合的问题,因为每个人负责的模块和别的模块联系较小,大家只顾着开发自己的模块,所以在整合的时候,其他模块要进行的一些配置等问题都出来了,但是组员们都非常的耐心,各自帮助别人进行配置。虽然我们组有五人之多,但从开始开发到结束,大家都和睦地走过来了,而且互相学习的氛围使得大家的能力都得到了很大的提升。在内核的开发过程中,让我明白了要懂得询问,懂得交流,懂得查阅。身边每个人,每样事物都可以给你启发。比如,在我不解怎么测量内存时,询问了广州大学的一位同学,他建议我去看核心编程,而且还给我讲解核心编程的各个章节,这给我后面的开发起到了很大的推动作用。又比如,经常上百度、Google,你会搜索到很多很有用的知识。当然,学校的资源更是丰富。总之,要注意的事情很多,要学的东西也很多,只有耐心走下去,最终还是可以走到终点。9参考文献[1]北京大学在线评测系统,[2]乌拉尔大学在线评测系统,[3]Mi
本文标题:本科毕业论文范文模板
链接地址:https://www.777doc.com/doc-5158327 .html