监考系统PLUS——需求分析

背景

​ 市面的监考系统要不就是要收钱,要不就是有很多功能没有实现,导致在具体使用的时候给本人带来了许多不便之处。

​ 为此,本人打算自己设计一个既可以写选择、填空、简答题,也可以实现代码在线编程同时进行在线测试功能的一个监考系统,同时同学们还可以实时观察自己是否出分,是不是很方便呢。

​ 同时对于该网站本人还打算扩展一些题库刷题功能,题库搜索功能等等等。

需求分析

最基本的页面功能

  • 基本的登录,注册功能了(尽可能使用redis的session登录)

  • 导航栏信息(需要实现以下各类功能)

    • 首页目录下展示信息为各种算法还有各种学习笔记等学习方面的帖子

    • 题库目录下展示的为

      • 算法类型题库:从比如说leetcode,acwing,luogu还有啥codeforces等爬来的题库(这里最好可以调用一个王道的翻译接口来实现英文翻译功能),当然还有基本的分页功能,还有就是各个题目的状态栏信息,此处还会提供题目通过总数以及各个难度类型题目数量统计的接口,VIP功能尚不考虑。
      • 考研408题库: 这一部分的题目就得自己随后慢慢找,主要以选择填空为主。
      • 高数I和II题库: 这一部分准备在考验完之后对其进行大幅度扩展工作。
      • 题库集成专题训练: 这一部分在后期尝试实现。
    • 竞赛(名字暂定)

      • 此部分需要严格区分管理员和普通用户身份,用户等待界面可参考牛客还有codeforces的等待时间界面来实现。
      • 管理员权限:
        • 可以指定正式比赛和报名比赛的时间(包含起始时间和结束时间)
        • 可以备注比赛
        • 可以设置比赛密码
        • 对于代码题而言具体仅仅以ACM赛制模式(扩展再说)
        • 基本信息设置完成之后
        • 可以选择多种方式设置题目(注意:这些题目在正式比赛之后会自动实现逻辑删除功能,比赛结束会自动解除)
          • 选择题设置(可分单多选)
          • 填空题设置
          • 简答题设置
          • 编程大题设置(在线测试功能看情况)
      • 普通用户权限:
        • 仅仅可以参加比赛以及等待比赛开始
        • 不可修改比赛任何信息
        • 只有输入正确密码才可以参加比赛
      • 此处有个关键的作弊检测功能的基于深度学习的检测功能,尝试实现…..!!!!!!!!!!!!!!!!!
      • 对于该竞赛系统,对于选择题可以实现提交即可直接出分的功能,后续的填空、简答题需要手动修改,对于编程题这个题目之后再详细考虑……
    • 讨论(实际上就是之前的大型聊天室学习websocket实现)

      • 可以拉人私人聊天
      • 可以大群中聊天
      • 其他功能另行拓展
      • 管理员可以禁止某人聊天功能
    • 记录

      • 所有提交过验证过对错的题目都会有像洛谷里的这种样子显示出来,但是这里的记录仅仅是本人自己的提交记录

        image-20240708220324582

      • 对于每道题目而言,都应该显示所有人的像luogu这样的提交记录,至于代码是否允许展示,这个后期考虑

    • 写文章

      • 普通用户仅有发帖、删除、修改自己帖子的功能
      • 管理员拥有删除任何帖子功能,但是无法修改帖子,可以发出总公报
      • 对于帖子的排列顺序暂定按照发布时间顺序来定,不考虑大数据分析算法
  • 个人中心

    • 刚开始为默认名称:菜鸟n号(这里的n表示注册序列号)
    • 可以直接在此处修改个人密码,用户名,喜好,所在地,性别,手机号,邮件,生日,简述,个人网站,学校这些信息。
    • 题单收藏
    • 自己做题分析(Echarts直接分析)
    • ………