OJ系统的需求说明文档
1.引言
经过一周的修改及完善,我们基本完善了对OJ系统的需求分析,绘制了思维导图并撰写了用户故事,并设计出了与之相应的原型图。
2.思维导图
如上图所示,我们重新绘制了思维导图。经过重新分析与讨论,我们认为在整个OJ系统中还应加上管理员这一角色,以用来管理账号,以及管理考试等功能;除此之外,在教师端与学生端,我们引入了“题库”等概念,并新增了老师及学生之间关于题目的简单互动等功能,这些在之后的具体介绍中都会提及。
3.用户故事及原型图
我们设计了管理员,教师,学生的用户故事及原型图,在之后的介绍中我们会在原型图的旁边附上对应的用户故事。
3.1 管理员角色
3.1.1 登陆界面及主界面
管理员角色是设定用来进行管理老师及的学生账号,还有处理考试的。
首先是管理员的登录界面,在登录界面可以在学生,教师及管理员三个身份之间切换。需先正确选择身份再输入账户密码。
若用户名及密码正确,则管理员进入管理员界面,如下所示:
界面右上角分为账号管理、课程管理及学生考试三部分。
3.1.2 账号管理
在账号管理界面,管理员可点击“管理教师账号”或“管理学生账号”,若点击“管理教师账号”,则进入教师账号的管理界面:
如图所示,在界面中列出了教师列表及他们的一些信息,教师账号可通过翻页查找或搜索框查找,可对教师账户进行创建、注销、重置密码等操作。
教师账号的编辑。管理员可在这里对教师信息进行编辑,如重置密码等。修改信息需经过确认。
若点击“学生账号管理”,则进入学生账号管理界面。两者过程基本类似,因此不作特殊声明:
学生账号的注销及查找
3.1.3 课程管理
管理员点击右上角的课程管理,可以进入课程管理界面
如上图所示,在课程管理界面可以查看课程信息,并对课程进行增删改查操作。
在这里我们引入了母课程与子课程的概念,以方便不同年份的某一课程的管理。母课程就是例如上图中“算法”,“数据结构”这些课程,而母课程所属的子课程与母课程所属同一门课,但子课程还会加上子课程开放的年份。
管理员创建母课程,母课程的创建不能与已有的母课程重名。
管理员删除课程。
管理员编辑课程。
当管理员在母课程界面点击任一母课程,即可进入到该母课程下属的子课程界面。
子课程的创建
子课程的修改
3.1.4 考试管理
管理员点击右上角“学生考试”,可进入考试管理界面。
在这里,我们实际上是把考试当成一门母课程来处理。以下为与考试相关的原型图及用户故事:
管理员查询考试信息
管理员修改考试信息
以上为管理员端的相关功能
3.2教师角色
3.2.1 登录界面及个人信息
在输入正确的用户名及密码之后,即进入到教师的主界面:
教师界面分为三大板块:题库,课程及个人信息(我的)。点击“我的”可进入教师个人信息界面:
教师个人资料的修改
3.2.2 题库管理
当教师登录后,他所教的课程的题库便会出现在题库列表中,如上图所示。其中这里出现的都是母题库,母题库与母课程相绑定。点击任意一门课程下的“进入题库”,即可进入该门课程对应的母题库。
上图即为母题库界面,如图所示可以在这里进行对题目的增删查改以及可以查看题目的具体信息。
添加题目界面。需输入题目的ID,标题,具体描述及测试用例等信息。
查看题库界面。中间上方的位置显示了题目的名称及编号,在下方教师可在题目描述及测试用例之间切换以分别查看题目的具体描述与测试用例。
题库的修改界面。修改界面与创建界面基本相似,不同的是修改界面的输入框及测试用例表格里保存着已有的信息。
3.2.3 课程管理
教师点击右上方的“课程”,即可进入子课程列表。
这里列出的就是教师所教的子课程。子课程列出了子课程的题目名称以及开始及结束的时间。点击任意子课程中的“查看详情”,即可进入该子课程的管理界面。
子课程管理界面如上,子课程里主要包含的是该子课程下属的题库,题库包含对题目的增删查改;以及可以上传学习资料;回答学生问题。
子课程题库添加题目。点击添加题目后,可以直接在子课程所属的母课程的母题库中进行勾选进行添加。勾选完成后点击下一步,设置被添加题目的开始以及截止日期。
点击“学习资料”,可以进行学习资料的上传。
教师点击任意题目后的“问号”图标,可查看学生对该题目提出的问题,并给予解答
【 题目描述界面 】
在课程中点击任意题目,即可进入该题目的题目描述界面
点击“提交结果”,可查看该题下所有学生最近一次的提交结果。除此之外还可点击右上角“查看统计图”。
【 统计图界面 】
在统计图界面,可查看当前提交的总体情况。
教师点击任意一次提交结果,可以在这里对学生的提交结果进行评价。
以上为教师端相关的功能
3.3学生角色
3.3.1登录界面与个人信息
学生的登录界面,登录成功后进入学生界面
学生界面中的个人信息界面,可以在这里进行个人信息的修改,并获取关于课程的重要提醒等。
学生修改密码,修改密码需要输入原始密码,新密码以及确认新密码。
学生获取信息提醒。
3.3.2学生题库
学生点击右上角“题库”可进入题库界面,在这里列出了本学期的包含题库的课程。题库中的题是老师开放给学生供练习使用的题。
学生点击“查看详情”,即可进入该门课程的题库。题库界面如上,显示了题目的基本信息及通过率、提交次数等。
学生点击任意题目,即进入该题目的代码提交界面。如图所示,在提交界面可提交代码,及报告题目问题(即向老师提问)
题目问题提交界面
而共享区如上图所示。共享区是指学生之间可互相查看并交流某一道题的代码的区域,但是如果想进入该题的代码共享区,需先AC后方有权限进入。在代码共享区里可以对别人的代码进行点赞评论等。
3.3.3学生课程
学生点击右上角“课程”,进入学生课程界面。
点击任意课程,进入该课程的题目列表,这里与学生题库中不同的是课程里的题目列出了当前的题目的开放、截止时间、提交状态及得分,如上所示。而后点击任意题目即进入该题目的提交代码界面。此后的提交代码及查看提交结果等界面与学生题库中展示的界面一样。
以上为学生端的相关功能