摘要在线判题(Online Judge,简称 OJ)是为程序设计竞赛而产生的一种自动阅卷 模式。能够将用户提交的程序源代码在服务器端完成编译、连接、测评等工序,并 将最终结果反馈给用户。
本次毕业设计使用 web 开发的最新技术,设计并实现了一个完整的 OJ 系统。该 系统分为四大模块—前端模块、后端模块、数据库模块和判题模块。前端模块作为用 户直接接触的部分,主要分为问题页、详情页、提交页、结果页、管理页五大部分, 使用 EJS 模板引擎,并使用 bootstrap 构建响应式布局;后端模块主要负责网址和解 析和数据库内容的获取,主要使用 Node。js 运行环境,采用 express 框架,利用 mongoose 连接数据库;数据库模块主要负责数据的存储和维护,选用了开源免费的非关系型数 据库—MongoDB。判题模块通过调用本地 bat 批处理文件执行,利用 MinGW 中的 G++完成编译链接,然后使用写好的测评程序加以运行、比对。80372
本文论述了毕业设计的整个流程,并记录分析了开发过程中遇到的问题。以期为 将来的开发者提供参考和帮助。
毕业论文关键词:在线判题;Node。js;自动阅卷
Abstract Online Judge(OJ) is a kind of automatic judging mode which is produced for the program contest。 The user’s program source code can be submitted to the server to complete the compilation, linking, running, scoring and other processes, and show the final results to the user。
The project design and implements a complete an OJ system with the latest web development technology。 The system consists of four modules: front-end module, back-end module, database module and judgement module。 As a display part, Front-end module mainly pided into five pages—the page of problem, the page of detail, the page of submission, the page of result and the page of management, which uses EJS template engine and uses bootstrap to construct the response type layout。 Back-end module is mainly responsible for parsing web site and the accessing contents of the database, mainly using the node。js operating environment, the framework of express and mongoose to connect to the database。 Database module is mainly responsible for data storage and maintenance, which uses NoSQL(non relational) database and open source MongoDB database。 The judgement module calls the local bat file, which uses G++ of MinGW to compile and link, then excutes the written program to judge。
In this paper, the whole process of the project is summarized。 In order to provide reference and help for future developers, the problems encountered in the development process are recorded and analyzed。
Keywords: Online judge;Node。js;Automatic judging
目 录
第一章 绪论 。 1
1。1 研究背景与意义 。。。 1
1。2 研究现状 。 2
1。3 主要内容 。 3
第二章 相关技术及环境配置 4
2。1 相关技术介绍 4
2。1。1 Bootstrap 介绍 。。 4
2。1。2 Node。js 介绍 。 4
2。1。3 MongoDB 介绍 。 5
2。2 开发工具 5
2。2。1 编辑工具 VSCode 。。 5
2。2。2 Edge 浏览器 。。 6
2。2。3 数据库管理工具 Robomongo 。 6
2。3 运行环境配置 6
2。3。1 Node。js 环境配置 。 6
2。3。2 MongoDB 数据库配置 。。。 7
第三章 需求分析与分析建模 9
3。1 需求分析 9
3。1。1 功能需求 9
3。1。2 性能需求 。。。 10 Node.js在线判题自动阅卷系统设计与实现:http://www.youerw.com/jisuanji/lunwen_93331.html