2.2. 总体概述

2.2.1. 软件介绍

该Online Judge系统旨在为计算机专业学生提供一个在线编程评测平台,帮助学生练习编程、提高编程能力,并为教师提供一个自动化的作业和考试评测工具。通过即时反馈,学生可以快速了解自己的编程问题并加以改进,从而提高学习效率和编程技能,同时方便教师对班级教学进行管理。

2.2.2. 软件功能概述

该软件系统包含以下主要功能:

  • 用户管理:支持用户的注册、登录以及权限控制功能。区分普通用户和管理员(教师)权限,确保不同角色的功能访问合理分配

  • 题目管理:管理员(教师)负责创建和编辑题目、管理题目的标签分类。同时,所有用户均可浏览题目。

  • 评测管理:只有登录用户才能实现代码的提交和评测,用户可以查看评测结果和历史提交记录。支持用户更换编辑器主题以优化使用体验

  • 教学管理:管理员(教师)可以从题库中布置作业,学生能够查看作业并提交作答,实现教学活动的线上化

  • 用户界面管理:用户可以查看历史题目、已布置的作业以及自己的学习进展,增强学习体验和管理便利性

2.2.3. 用户特征

该系统的潜在用户包括:

  • 学生:主要是计算机专业的学生,他们使用该系统来进行编程练习和提交作业。这些用户具有从初学者到高级开发者不等的编程水平。

  • 教师:主要负责编程课程的教学活动,包括布置编程作业、监控学生的学习进度、评估学生的编程能力以及成绩。

  • 系统管理员:管理系统的总体配置、用户账户和权限,负责题库的更新与维护,确保系统的稳定运行和数据安全。

2.2.4. 运行环境

硬件平台

  • 服务器:至少需要双核CPU、4GB内存和100GB存储空间。

  • 客户端设备:PC、笔记本电脑、移动设备等。

操作系统

  • 服务器端:Ubuntu 20.04, CentOS

  • 客户端:支持Windows、macOS、Linux等操作系统。

编译系统

  • Python:Python 3.x

  • C/C++:GCC 9, G++

  • Java:Java Development Kit

数据库

  • 主数据库:PostgreSQL 10

  • 辅助缓存/消息系统:Redis

相关软件

  • 浏览器:支持最新版本的Chrome、Firefox、Edge等主流浏览器。

  • 开发工具:包括代码编辑器、版本控制工具(如Git)、构建和测试工具等。

其他支持软件

  • Docker

Last updated