预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在线程序竞赛评判系统的设计与实现的任务书 任务概述: 在本项目中,你将负责设计和实现一个在线程序竞赛评判系统。这个系统将为参与者提供一个切实可行的平台,让他们可以提交程序代码、测试这些代码的解决方案以及接收反馈和排名结果。该系统应该有以下基本功能: 1.提供一个用户注册/登录系统 2.允许用户提交C、C++、Java等编程语言的程序源代码 3.允许管理员创建和管理竞赛题目,包括添加、修改、删除题目和设置评判参数等 4.允许参赛者提交各种编程题目的代码,并将代码提交到正确的评审环节中(例如:样例测试、系统测试等) 5.针对参赛者提交的代码,给出相应的评分和排名(如时间,空间等指标) 6.提供参赛者个人排行榜以及题目排行榜,以便参赛者对自己和其他人的竞争情况做出更好的分析和决策 7.同时保留历史竞赛记录、提交记录、评分数据等详细的数据,并对其进行备份和管理,以便在错误发生时可恢复数据。 任务要求: 1.设计并实现一个基于Web的在线程序竞赛评判系统 2.系统必须具有扩展性和可维护性,可以添加新的功能和更新已有功能。 3.需要至少支持一种以上的编程语言,可以为竞赛制定不同的场次,每个场次包括多个对抗题目。 4.系统应该友好地向用户提供反馈和错误处理机制,同时保留日志信息和必要的安全性。 5.设计和实现数据库,必须具有基本的数据管理功能(例如:增删查改)和应用事务处理机制 6.系统的界面需要清晰、美观、友好,需要实现响应式设计,以便在不同设备上显示时适应 7.代码必须使用最佳的编程实践,必须确保编写的代码严格遵循基本的软件工程规范,如代码注释、可读性、模块化和封装等。 预期产出: 1.需要提交详细的系统设计方案、系统架构图和数据库设计方案。 2.提交完整的源代码、编译脚本和部署脚本等。 3.提交测试用例和测试报告,包括单元测试、集成测试、系统测试,以及性能测试、稳定性测试、可靠性测试等。 4.提交安装和使用说明文档,解释如何部署和使用系统。 5.最终实现一个功能完整、稳定、可靠、易用的在线竞赛评判系统。 注意事项: 除非有特殊说明,否则系统必须使用开源技术进行开发。如需使用专有技术,必须得到项目批准,并提供详细的解释和证明。 建议: 你可以参考开源项目,如DOMJudge,HUSTOJ等等,以了解竞赛评判系统的常见特征和流程。同时,你可以合理利用第三方库和框架,如Spring,SpringMVC,Hibernate,MyBatis等等,以提高开发效率。