## 项目视图与范围
项目涉及的内容和解决的问题是有限的,而且项目应该是十分有目的性的,是为了实现某个可度量的目标而做的。
因此需求分析前期应当将“项目的目标和范围”这一项目的本质文档化,让每一个项目成员对其达成共识。
### 1 需求
#### 1.1 背景
如能完成,此项目将用于我院作业批改和考试,以替代部分不便于纸质考试的科目。如编程语言课、算法课等。此外还要辅助助教评判作业。
1、计算机系作业量大,因此评判作业不及时。机械的批改作业是对师资的极大浪费。
2、考试全纸质,部分课程需要上机考试,在线编译执行用例,没有符合需求的相关系统(定制可控)。
#### 1.2 目标
首要目标
* 减少教学成本(主要是批改作业和考试)
* 支持在线考试和评阅(考完试直接出成绩,10个用例我居然错了5个)
* 支持作业的在线提交批改(5分,下一个)
* 界面可用性(呐,交作业的按钮在哪?)
* 开发低成本(此处开发=代码,不是设计)
次要目标
* 健壮性(看,学长的程序又Bug了)
* 细节功能(如对接教务信息、密码邮件找回)
小目标
* 安全性(特别是OJ,` for(file:C:/ ){Delete file} `)
* 界面兼容性(IE8+,可检测的国产浏览器直接弹窗要求换浏览器)
* 界面美观度
* 可拓展(反面教材MC)
* 重写使用的开源代码