基于acm-icpc在线测评系统设计

基于acm-icpc在线测评系统设计

ID:32636333

大小:57.14 KB

页数:6页

时间:2019-02-14

基于acm-icpc在线测评系统设计_第1页
基于acm-icpc在线测评系统设计_第2页
基于acm-icpc在线测评系统设计_第3页
基于acm-icpc在线测评系统设计_第4页
基于acm-icpc在线测评系统设计_第5页
资源描述:

《基于acm-icpc在线测评系统设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于ACM/1CPC在线测评系统设计摘要:针对ACM国际大学生程序设计竞赛培训教学中程序评测的需求,开发程序在线测评系统。系统基于Apache服务器,采用PHP和MYSQL数据库技术运行于WindowsSever2003平台。采用软件工程黑盒测试的思想对用户提交的程序进行测评,系统主要分为三个部分:网站部分,数据库部分及测评部分。数据库部分对系统提供数据存储支持;网站部分则是系统与用户的交互接口;测评部分则是对用户提交程序运行的主要控制部分,它将控制提交程序的运行时间以及内存,并对运行程序的结果进行

2、判断。关键词:在线测评;ACM;Apache;PHP中图分类号:TP311文献标识码:A文章编号:1009-3044(2013)22-5004-03ACM/ICPC国际大学生程序设计竞赛始于1970年,是全球大学生计算机程序能力竞赛活动中最有影响的一项赛事。竞赛是展示大学生创新能力、团队精神和在压力下编写程序、分析和解决问题能力的比赛。经过近30年的发展,竞赛规模的迅速扩大对阅卷工作的自动化、高效性、合理性和公正性提出了更高的要求,建立一套准确、高效的程序评测系统成为非常迫切的需求。通过对在线评测系

3、统相关知识的学习,以及对目前已有软件系统的功能分析,该文在总结以往系统开发设计经验并结合当今系统发展趋势的基础上,设计了一个基于B/S结构的多用户在线测评系统,允许用户在线提交自己的解题代码,系统自动编译运行给出裁判结果,并根据用户解题数和用时排出名次。1需求分析设计本系统的主要目的是给学习计算机程序设计的学生提高程序设计能力和对ACM/ICPC兴趣浓厚的学生提供一个学习、练习和交流的平台。为了设计出一个高效、稳定、实用的在线测评系统。我们结合程序设计的需要和ACM/ICPC的特点,认为系统应具有以

4、下功能需求:用户需要认真填写资料进行注册,未注册用户只能浏览不能进行提交或者参与比赛。用户可以通过页面浏览题目,查询题目,找到自己感兴趣或者比较新的题目,然后进行提交。用户做题目时可以选择提交的语言,此系统支持的语言有C++、C、Pascal.Java等。用户可以随时查看自己和他人的提交情况,做了哪道题目、做题结果是AC还是一些常见的错误,如结果错误、运行时间和运行空间超过题目要求运行的时间和空间,以及用户提交时用的是什么语言、提交时间、提交的序号等等。用户可以查看整个做题数的一个排名,做的题目越多

5、排名越在前,若做出同样的题目,则花费时间少的排名靠前。用户可以通过添加比赛用于举行比赛或者考察学生的编程能力。管理员可以对用户信息的进行管理,添加、修改和删除题目或比赛,以及对数据库进行备份。2体系结构及技术分析2.1体系结构2.2实现技术本系统采用Apache服务器、MYSQL数据库和PHP技术。Apache全称为ApacheHTTPServer,是一个开放源码的网页服务器。可以在大多数计算机操作系统中运行,是最流行的Web服务器端软件之一。因为它是自由软件,所以不断有人来为它开发新的功能、新的特

6、性、修改原来的缺陷。Apache具有简单、快速、多平台性、扩展性和性能稳定等特点,有着非常广泛地应用。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,增加了速度并提高了灵活性。特点:使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性,为多种编程语言提供了API,支持多线程,充分利用CPU资源,优化的SQL查询算法,既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中,支持多种存储引擎。PHP为“PHP:Hypertex

7、tPreprocessor的缩写,是一种HTML内嵌式的语言,一种在服务器端执行的嵌入HTML文档的脚本语言。PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展。PHP站点保存的数据一般都存在MYSQL数据库里。和MYSQL“关系”非常的好

8、。故采用PHP+MYSQL的配合使用完成此次项目设计。3系统设计3.1功能设计用户模块主要包括由用户自行操作的用户注册和登录、更新用户信息的功能及由管理员对用户进行管理的一些操作主要有添加用户、删除用户、更新用户等。在线评判模块是系统的一个核心,对于应用层的用户来说主要包括查看竞赛题目、提交竞赛代码、查看排名、查看竞赛状态等功能。在线比赛模块,用户能参与竞赛查看比赛信息及规则,看看往届比赛题目等。题库模块是主要是用户能打开相关问题集进行练习,也可以通过站内搜索功能通过

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。