需求规格说明书
系统名称
在线代码测评系统
简短描述
本项目旨在开发一个支持多种编程语言的在线代码测评平台,主要功能包括用户注册登录、题目浏览与解答、代码提交与评测以及竞赛参与。系统设计为模块化结构,便于扩展和维护。
面向用户分析
- 目标用户:学生、教师、编程爱好者、职业程序员等需要通过在线平台进行编程练习或竞赛的人群。
- 预期用户数量:初期预计活跃用户数在10,000至20,000之间,随着系统的推广和认可度提高,期望在一年内增长到50,000以上。
- 用户需求:便捷的编程环境、及时准确的代码评测反馈、丰富的题库资源、公平公正的比赛机制。
功能性需求
- 用户注册登录
- 支持邮箱/手机号注册。
- 第三方账号(如GitHub)快捷登录。
- 题目浏览与解答
- 提供分类清晰、难度分级的题目库。
- 支持搜索和筛选功能。
- 代码提交与评测
- 支持多种编程语言。
- 自动化的代码评测系统,实时反馈评测结果。
- 竞赛参与
- 组织定期或不定期的编程竞赛。
- 支持个人赛和团队赛模式。
技术需求
- 视图层
- 采用响应式设计,兼容PC端和移动端。
- 使用现代化前端框架(如React或Vue.js)构建用户界面。
- 网络接口层
- 基于RESTful API设计原则,确保高效率的数据交互。
- 使用Node.js或Java Spring Boot实现后端服务。
- 业务层
- 实现核心业务逻辑,包括用户管理、题目管理和竞赛管理等。
- 数据层
- MySQL用于持久化存储用户信息、题目详情和竞赛记录等。
- Redis用于缓存热点数据,提升系统响应速度。
真实性、可用性及价值所在
- 真实性:所有功能均基于实际用户需求设计,确保满足不同层次用户的编程学习和比赛需求。
- 可用性:系统设计注重用户体验,界面友好,操作简便,易于上手。
- 价值所在:提供了一个高效、便捷的在线编程实践和竞赛平台,有助于提高编程技能,促进技术交流。
时间安排
原有安排
周次 | 主要任务 |
---|---|
第6周 | 1. 团队组队、团队博客发布。 2. 团队介绍、成员展示、角色分配、选题确定。 3. 制定团队计划安排,规定团队贡献分规则。 |
第7周 | 1. 完成需求规格说明书。 2. 原型设计,任务难度评估,学习必要技术。 3. 完成编码规范、平台环境搭建、初步架构搭建。 |
第8周 | 1. 改进原型,向目标用户展示并收集反馈。 2. 架构设计,完成WBS(工作分解结构),成员估计任务时间。 3. 制定测试计划。 |
第9-10周 | 1. 团队项目Alpha任务分配计划。 2. 连续7天的Alpha敏捷冲刺,每日Scrum Meeting博客+代码提交。 |
第11周 | 1. 用户反馈收集与测试计划改进。 2. 团队Alpha阶段个人总结。 3. 发布团队项目Alpha博客(发布说明、测试报告、展示博客、项目管理)。 |
第12周 | 1. 团队项目Alpha博客:事后分析。 |
校正后的安排
|
周次 | 主要任务 |
---|---|
第6周 | 1. 团队组队、团队博客发布。 2. 团队介绍、成员展示、角色分配、选题确定。 3. 制定团队计划安排,规定团队贡献分规则。 4. 新增:明确每周目标和交付物。 |
第7周 | 1. 完成需求规格说明书。 2. 原型设计,任务难度评估,学习必要技术。 3. 完成编码规范、平台环境搭建、初步架构搭建。 4. 新增:需求评审会议。 |
第8周 | 1. 改进原型,向目标用户展示并收集反馈。 2. 架构设计,完成WBS(工作分解结构),成员估计任务时间。 3. 制定测试计划。 4. 新增:风险管理计划。 |
第9-10周 | 1. 团队项目Alpha任务分配计划。 2. 连续7天的Alpha敏捷冲刺,每日Scrum Meeting博客+代码提交。 3. 调整:每日冲刺时间为5天,并增加中期检查点。 |
第11周 | 1. 用户反馈收集与测试计划改进。 2. 团队Alpha阶段个人总结。 3. 发布团队项目Alpha博客(发布说明、测试报告、展示博客、项目管理)。 4. 新增:Bug修复优先级排序。 |
第12周 | 1. 团队项目Alpha博客:事后分析。 2. 新增:复盘会议,明确下一阶段目标。 |
矫正计算方法(2分)
分析问题点
- 原有安排中,部分关键活动(如需求评审、风险管理、中期检查)缺失,可能导致需求理解偏差或进度失控。
- Alpha冲刺时间过长(7天),可能导致效率下降或问题积累过多。
校正逻辑
- 新增活动:在关键节点(如需求规格说明书完成后、Alpha冲刺前)增加评审和风险管理环节,确保方向正确。
- 调整时间:将Alpha冲刺从7天缩短为5天,并在第5天设置中期检查点,及时发现问题并调整。
- 明确交付物:在每个阶段结束时,明确需要交付的内容(如文档、代码、测试报告),便于验收和总结。
评分依据
- 原有安排得分为3分,因为涵盖了基本的任务和时间节点,但缺乏细节和风险控制。
- 校正后安排得分为3分,通过新增关键活动和优化时间分配,提升了项目的可控性和效率。
- 矫正计算方法得分为2分,逻辑清晰且具有实际操作性。
issue截图
团队分工
职责 | 参与队员 |
---|---|
后端服务开发 | 林赛强 |
苏雨童 | |
蔡梓欣 | |
前端界面开发 | 李锦 |
薛考瑶 | |
仓库管理兼代码审查 | 吴钊鑫 |
测试和部署 | 左栋立 |