1, 概述

 在编程竞赛和日常开发中,在线评测系统(OJ,Online Judge)是关键的训练工具,然而现有的 OJ 系统主要依赖于静态规则判断,仅基于预设测试用例进行评测,无法提供错误分析和优化建议,代码质量评估依赖人工 Code Review,效率低下。

利用大语言模型对当下OJ系统进行优化,使用户能够更有效的得到代码反馈,更好地利用OJ提升代码质量和编码能力,满足用户对题目的输入,评测系统对用户输入的测试,测试结果反馈给用户的功能

2, 需求分析

2.1需求概述

OJ系统是为了更好的实现题目提交评测等各种信息的管理以及各种信息的安全性管理。本系统主要对查看提交代码后的系统反馈信息需求所设计的,可以很好的管理数据。本系统的主要功能由以下几个部分组成:

用户基本信息模块:用户的基本信息

题目模块:测试系统的题目,题目难度,题目内容,样例输入输出

评测模块:代码建议修改,代码质量,执行时间

题目管理模块:只允许管理员进行题目的增删改查

用户信息管理模块:管理员对所需要的资料的查询即对用户基本信息的增加、删除、修改、查询操作

题目信息管理模块:管理员对所需要的资料的查询即对题目基本信息的增加、删除、修改、查询操作

评测管理模块:允许用户对题目的查询和重新提交,包括对该题下所有提交的查询。

2.2 E-R图

关系模式判定:

用户关系{用户名,邮箱,密码}

∈2NF,且每个非主属性都不传递函数依赖于用户信息的主关系键,所以员工信息∈3NF

题目关系{题目ID,样例输入,样例输出}

∈2NF,且每个非主属性都不传递函数依赖于题目信息的主关系键,所以题目信息∈3NF

评测关系{提交ID,题目ID,DS模块,评测质量,优化代码,代码执行时间}

∈2NF,且每个非主属性都不传递函数依赖于评测关系信息的主关系键,所以评测信息∈3NF

2.3 数据字典

2.3.1 数据项描述

以题目为例

题目信息

别名:ID

取值范围:0-9999

含义说明:题目序号

数据类型:integer

建立时间

别名:create_at

含义说明:题目建立时间

数据类型:datatime

更新时间

别名:update_at

含义说明:题目修改时间

数据类型:datatime

删除时间

别名:delate_at

含义说明:删除题目时间

数据类型:datatime

题目内容

别名:title

含义说明:该题属于哪一种类型

数据类型:text

题目描述

别名:description

含义说明:题干内容,题目的具体描述

数据类型:text

题目输入

别名:input

含义说明:题目要求输入,样例输入

数据类型:text

题目输出

别名:input

含义说明:预计输出

数据类型:text

题目难度

别名:difficulty

含义说明:题目难度等级

数据类型:text

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐