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