南京邮电大学通达学院软件设计实验周大作业_在线评测平台.docx

南京邮电大学通达学院软件设计实验周大作业_在线评测平台.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共25页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE18

PAGE

南京邮电大学通达学院

软件设计实践报告

题目:在线评测平台

在线评测平台

一、课题内容和要求

本课题主要设计一个在线的评测平台,该平台设计主要包括用户模块、公告模块、题库模块、评测模块、记录模块、竞赛模块、班级模块、作业模块、讨论模块和后台管理。用户可以注册、登录和维护个人信息,管理员可以管理用户、发布公告。题库模块提供题目管理功能,评测模块可以评测学生的答案并记录评测历史。竞赛模块支持组织竞赛。讨论模块提供用户间的交流平台。管理后台用于系统配置和维护。

二、需求分析和总体设计

2.1本课题的主要功能包括:

(1)用户模块:主要实现用户注册、登录,后台管理员查看用户信息、修改用户信息、修改用户权限、修改用户密码等。

(2)公告模块:主要实现用户查看公告内容,后台管理员发布新公告、修改已发公告内容。

(3)题库模块:主要实现用户查看所有题目,后台管理员对题目的增、删、改、查等功能。存储各类题目及其相关信息,为评测模块和作业模块提供题目资源。

(4)评测模块:主要实现评测用户已做题目,后台管理员对评测机token的展示、评测机token的创建、评测机token的删除、评测机token的编辑(停用)。提供对题目、竞赛的评测功能,可以自动评测用户提交的答案,并给出实时反馈和评分。

(5)记录模块:主要实现记录用户的评测历史,包括做过的题、答题情况等,用户可以随时查看。

(6)竞赛模块:主要实现用户查看竞赛、查看竞赛题日列表、递交竞赛题目答案、查看竞赛排名等,后台管理员创建比赛、设置比赛题目、设置比赛时间、设置比赛语言等。

(7)讨论模块:主要实现用户发表文章、修改文章、删除文章,后台管理员设置文章的可见性、编辑文章。提供用户间的讨论和交流平台,支持用户发布问题、分享经验等。针对题目、比赛提供讨论模块,以供发布题解。

(8)语言模块:主要实现后台管理员对评测语言的新增和删除。

(9)小组模块:主要实现后台管理员新建小组、设置小组名称及管理用户。

本项目的后端主要使用了SpringBoot框架,对外提供RESTfulAPI服务;使用Kotlin语言提高编码效率;使用SpringDataJPA实现服务端与数据库之间的访问;使用Caffeine实现缓存功能;使用PostgreSQL数据库实现数据存储。

前端使用React渲染;使用TypeScript提供类型检查功能;使用Axios与SWR提供请求访问、管理功能;使用Unocss原子化CSS框架提供CSS的复用,减少CSS的编写。

2.2本课题的数据表设计

数据表名:t_users

字段名

字段类型

字段是否可以为空

字段说明

user_id

bigint

N

用户ID

created_at

timestamp

Y

数据创建时间

updated_at

timestamp

Y

数据修改时间

username

varchar(255)

N

用户名

password

varchar(255)

Y

加盐加密后密码

salt

varchar(255)

Y

密码盐值

email

varchar(255)

Y

用户邮箱

real_name

varchar(255)

Y

真实姓名

bio

varchar(255)

Y

用户签名

user_role

integer

Y

用户角色

数据表名:t_problems

字段名

字段类型

字段是否可以为空

字段说明

problem_id

bigint

N

题目ID

created_at

timestamp

Y

数据创建时间

updated_at

timestamp

Y

数据修改时间

title

varchar(255)

N

题目标题

p_alias

varchar(255)

N

题号

description

text

Y

题目描述

input_description

text

Y

输入描述

output_description

text

Y

输出描述

time_limit

integer

Y

时间限制

memory_limit

integer

Y

空间限制

judge_times

integer

Y

评测次数

samples

jsonb

Y

样例

note

text

Y

题目提示

author_user_id

bigint

Y

题目作者ID

background

text

Y

题目背景

visible

boolean

Y

题目是否可见

allow_all_languages

boolean

N

允许使用所有语言

code_length

integer

N

代码最长长度

accepted_times

bigint

N

题目通过次数

submit_times

bigint

N

题目提交次数

testcase_file_id

bi

文档评论(0)

蓝色天空下的男孩 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档