|
|
## 第二轮迭代
|
|
|
|
|
|
### 总体目标
|
|
|
实现“在线编程练习平台”。主要特征如下(+数量代表难度,加粗部分优先)
|
|
|
|
|
|
#### 编程练习
|
|
|
1. **练习材料**:具有一定数量的练习题,提供知识点、难度标签(+)
|
|
|
2. **练习过程**:能提供良好的编程练习体验,无需脱离平台,无需编程环境配置,可在浏览器直接运行、评测、打分(+++:前端开发较为复杂)
|
|
|
3. 学习模式:支持多种,如**自主练习**、专项练习、**连续推荐练习**、考试等(++++:后端业务逻辑需要良好设计)
|
|
|
4. **评价反馈**:能够可视化呈现学生的练习进度、练习成果、认知水平等(**简单统计和可视化呈现**++/增加雷达图等更智能的反馈++++)
|
|
|
|
|
|
#### 在线
|
|
|
1. 内容分享:分享链接生成,**自主贡题、组题、提交测试数据**(类比在线音乐平台的上传歌曲和创建歌单),**评分(类似 reddit、知乎)**,内容分享者的访问统计(++)
|
|
|
2. 在线社区:评论、收藏、投票、报告问题(需要解决一些编程教育特有的问题,比如试题评论的“剧透”问题)(++++:社区功能实现较为复杂)
|
|
|
|
|
|
#### 平台
|
|
|
1. **账户系统**:统一的账户系统,验证码,邮件、手机认证,信息维护(+++)
|
|
|
2. **行为记录**:做题记录,细粒度做题行为,分享行为(+++:记录模块设计、大量记录存储)
|
|
|
3. 算法上线:支持上线测试外部的行为分析、推荐算法(+++++:架构需要良好设计,且没有可以直接借鉴的现成系统)
|
|
|
4. 稳定与安全:充分测试,自动化,性能和瓶颈监控,基本的网络安全保障(++)
|
|
|
|
|
|
### 具体安排
|
|
|
#### 需求分析
|
|
|
- [ ] 各种学习模式用例
|
|
|
- [ ] 学生评价反馈用例
|
|
|
- [ ] 题目上传审核用例
|
|
|
- [ ] 题包/考试相关用例
|
|
|
- [ ] 账户注册、验证、登陆、信息维护等用例
|
|
|
- [ ] 根据用例整理页面列表和需求
|
|
|
|
|
|
#### 试题录入功能
|
|
|
- [ ] 试题结构完善、提供 create update 接口
|
|
|
- [ ] 试题验证逻辑,验证后赋 number
|
|
|
- [ ] 试题录入界面
|
|
|
|
|
|
#### 测评和运行功能
|
|
|
- [ ] 运行、提交、错误反馈逻辑
|
|
|
- [ ] 运行、提交详情页
|
|
|
|
|
|
#### 统计分析功能
|
|
|
- [ ] 日志模块
|
|
|
- [ ] online 统计分析模块
|
|
|
- [ ] offline/bootstrap 统计分析
|
|
|
- [ ] 统计结果展示
|
|
|
|
|
|
#### 账户系统
|
|
|
- [ ] 邮件模块
|
|
|
- [ ] 验证逻辑
|
|
|
|
|
|
#### 试题
|
|
|
- [ ] 出的题目格式整理
|
|
|
- [ ] leetcode 题目、题解
|
|
|
|
|
|
#### 其他
|
|
|
- [ ] 名称
|
|
|
- [ ] logo |
|
|
\ No newline at end of file |