企业实习开发-需求初步分析

需求整理

把整个系统拆解成两部分,⼀部分是OJ系统,另⼀部分是课程管理系统。

根据需求,OJ系统在实现普通OJ功能以外,争取要能帮助学生学习。不需要关心OJ部分的具体实现,但是可以给OJ提要求。OJ部分会提供submission list,即各个学生对各个问题的全部提交。

下⾯是第二部分(课程管理系统)的⼀些任务和说明。

用户与学生管理模块、成绩与统计模块(张志毅)

​        ● 用户与学⽣模块:账号⽣成、发放、修改密码、个⼈资料等等

​        ● 成绩与统计模块:对于⽼师布置的题⽬,提供成绩和统计数据(正确率、提交时间等等)

考试管理模块、超级用户与总管理模块(封雨希)

​        ● 考试管理模块:如何组织考试,为了防止作弊采取的各种措施

​        ● 超级用户与总管理模块:唯⼀一个超级用户,管理教师账号的发放等

课程管理模块(薛兴运)

​        ● 教师添加课程 (course 算法导论、数据结构...) ,在课程下添加课 (lesson 第⼀课、第⼆ 课...) ,为课程添加

OJ模块(金鹏翔)

# 设计

用户与学生管理模块

注册和登陆功能

​    ● 提供基本的注册和登录功能

​        ○ 邮箱和用户名为必填字段;昵称选填

​    ● 使用邮箱校验,避免重复注册和恶意注册,减轻服务器负担

​        ○ 密码通过邮箱发送,完成校验

​    ● 注册后提供与学号绑定功能

​        ○ 不绑定学号不可使用课程、考试等模块

修改资料功能

​    ● 上传头像

​    ● 修改密码

​        ○ 通过输入当前密码验证

​    ● 编辑个人简介

​        ○ 是否允许其他用户查看自己的已选课程

​        ○ 是否允许作业DDL结束后其他人查看代码

​        ○ 是否允许其他用户查看自己的成绩

查看他人代码

​    ● 在每次作业和测试的DDL结束后,可以查看“已允许他人查看自己代码”的同学的代码

加入课程功能

​    ● 选课和退课功能

成绩与统计模块

教师可用功能

  • 统计全班成绩
    • 平均分
    • 最低分、最高分
    • 各分数段人数及百分比
  • 查看每名学生的提交
    • 查看成绩
    • 修改成绩
    • 给予反馈,发回给学生
  • 学生可用功能
    • 查看自己的成绩
    • 查看自动批改指出的错误(运行错误、编译错误等)
    • 对成绩有疑问,申请老师人工批阅
  • 查看“已允许他人查看自己成绩”的同学的成绩

非认证用户不可用成绩统计模块

考试管理模块

​ 教师可创建、修改、删除考试。

​ 一场考试应包含时间、考生、题目。

​ 为防止作弊,应为每个考生生成考试专用随机密码;考试开始时,停用一切现有模块,使用账户+密码+附加码进入考试系统。

超级用户与总管理模块

​ 管理教师账号的发放和删除。

课程管理模块

需求:

用户动作(教师-OJ平台)

  • 添加问题
  • 问题描述
  • 实例测试集
  • 添加实际测试集(in, out)

用户动作(教师-课程)添加课程

  • 限定课程的开始时间和结束时间
    • 选定学生范围
      • 标准 -> 年级 ? √(99.9% ) 选课系统√(100%)
  • 为课程添加子课
    • 为课程添加 介绍、附件、练习题(关联到具体OJ题目)
    • 附属问题:教师组有添加OJ问题的权利

OJ模块

  • “源码检查”:

    为了避免很多初学者易犯的错误,我们尝试对提交的代码先进行一遍检查,排查以下错误(包括但不限于):

    • 缺少头文件
    • 缺少命名空间
    • 包含中文字符

● “脚手架”

​ 进一步提供代码框架(把“作文”简化为“填句子”)(类leetcode)

图示

relation
mindmap
course
Homework of a lesson

界面设计

界面对比
判题状态对比
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。