6.3.9 重置正在判断的编程题 32
6.3.10 接收判题结果 32
7 Judge Server的设计与实现 33
7.1 Judge Server概论 33
7.1.1 工作流程 33
7.1.2 节点信息维护 33
7.1.3 分配判题请求 34
7.1.4 节点崩溃处理 34
7.2 协议 34
7.2.1 请求 34
7.2.2 响应 35
7.2.3 反序列化请求 35
7.2.4 序列化响应 35
7.3 处理请求 36
7.3.1 处理Online请求 36
7.3.2 处理Offline请求 36
7.3.3 处理Get Submission请求 36
7.3.4 处理Get Data请求 37
7.3.5 处理Update Result请求 37
8 权限控制层的设计与实现 38
8.1 相关技术 38
8.2 与用户相关的权限 38
8.2.1 判断用户是否具有基本权限 38
8.2.2 判断用户能否建立用户组 39
8.2.3 判断用户是否能编辑或删除特定的用户组 39
8.2.4 判断用户能否修改其他用户权限 39
8.3 与题库相关的权限 39
8.3.1 判断用户是否可以查看和新建题目 39
8.3.2 判断用户是否可以修改或删除特定的题目 39
8.4 与考试相关的权限 40
8.4.1 判断用户是否可以新建考试 40
8.4.2 判断用户是否可以修改或删除特定的考试 40
8.4.3 判断用户是否可以查看特定的考试 40
8.4.4 判断用户是否可以提交特定的考试 40
8.4.5 判断用户是否能够对某考试阅卷 40
9 表现层的设计与实现 41
9.1 相关技术 41
9.1.1 ASP.NET Routing 41
9.1.2 Controller 41
9.1.3 Model 42
9.1.4 View 42
9.1.5 ASP.NET MVC的优点 42
9.2 设计与实现 42
结 论 44
致 谢 45
参 考 文 献 46
1 绪论
本章首先对课题研究的内容和背景进行简略的介绍,并介绍已经存在的在线评测系统,简要介绍这些系统的现状。同时介绍计算机辅助教学,以及在线评测系统在程序设计类课程中的作用。