团队作业3--需求改进&系统设计
这个作业属于哪个课程 | 班级链接 |
---|---|
这个作业要求在哪里 | 作业要求链接 |
这个作业的目标 | 需求改进、系统设计、Alpha计划、测试计划 |
Github 团队项目链接:https://github.com/OJteam/Chen-OJ
一、团队展示
队名:OJteam
项目:Chen OJ在线判题测试系统
队员学号
姓名 | 学号 |
---|---|
陈国金 (队长) | 3122004301 |
凌枫 | 3121005661 |
陈卓恒 | 3122004905 |
谭立业 | 3122004365 |
廖俊龙 | 3118005817 |
曾平凡 | 3122004326 |
曾俊涛 | 3122004373 |
薛秋昊 | 3122004369 |
二、需求&原型改进
1、针对问题对需求进行修改
问题一:用户如何知道自己做题的结果
修改:提供浏览题目提交页,用户能看到每次提交的情况,同时,还提供单次提交判题的详情页,可以看到通过的样例数、自己提交的代码等内容
问题二:用户如何找到适合自己水平的题目
修改:每道题目提供难度以及题型的标签,方便用户找到自己想要和适合的题目
2、修改完善需求规格说明书
《需求规格说明书》初稿的不足
对各项功能描述不够具体详细,针对用户如何选择题目去练习以及如何知晓自己提交情况的功能没有写入
改进内容
添加对各项内容更具体的介绍与描述,添加浏览题目提交和查看单次提交情况等功能
功能分析的四个象限
外围功能 | 杀手功能 | |
---|---|---|
必要需求 | 看题做题 | 提供判题结果与分析 |
辅助需求 | 个人信息可修改 | 每道题有提交及提交记录 |
调整任务分解WBS及相应的项目进度计划
任务分解WBS
项目进度计划
第 9 周 | 1.团队组队、团队博客(已完成) |
---|---|
2.团队介绍、成员展示、角色分配、选题确定(已完成) | |
3.制定团队计划安排,团队贡献分的规定 (已完成) | |
第 10 周 | 1.需求规格说明书(已完成) |
2.调研市面上各大OJ平台,探讨功能实现 (已完成) | |
3.原型设计,队员估计任务难度并学习必要的技术 (已完成) | |
4.编码规范完成、平台环境搭建完成、初步架构搭建 (已完成) | |
第 11 周 | 1.根据功能需求,进一步确定需求文档(已完成) |
2.初步架构设计(已完成) | |
3..前端队员和UI确定好页面设计(已完成) | |
4.后端队员根据需求文档初步设计数据库表(已完成) | |
第 12周 | 1. 团队项目Alpha任务分配 |
2.前端队员和UI确定好页面样式,实现前端页面开发。 | |
3.后端成员完成发布任务和接取任务的功能实现,并且规范接口。 | |
4.根据功能的实现进度,准备Alpha敏捷冲刺 | |
第 13 周 | 1.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 |
第 14 周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第 15 周 | 1. 团队项目Alpha博客:事后分析 |
三、系统设计
1、系统的架构设计
2、项目数据库设计
用户表
字段 | 描述 |
---|---|
id | 用户主键id |
userAccount | 账号 |
userPassword | 密码 |
gender | 性别 |
userName | 用户昵称 |
userProfile | 用户简介 |
userRole | 用户角色 |
createTime | 创建时间 |
updateTime | 更新时间 |
isDelete | 是否删除 |
题目表
字段 | 描述 |
---|---|
id | 题目主键id |
title | 标题 |
content | 内容 |
tags | 标签列表 |
answer | 题目答案 |
submitNum | 题目提交数 |
acceptedNum | 题目通过数 |
judgeCase | 判题用例 |
judgeConfig | 判题配置 |
userId | 创建用户 id |
userAccount | 创建用户账号 |
createTime | 创建时间 |
updateTime | 更新时间 |
isDelete | 是否删除 |
题目提交表
字段 | 描述 |
---|---|
id | 题目提交主键id |
language | 编程语言 |
code | 用户代码 |
judgeInfo | 判题信息 |
status | 判题状态 |
questionId | 题目 id |
userId | 创建用户 id |
createTime | 创建时间 |
updateTime | 更新时间 |
isDelete | 是否删除 |
四、Alpha任务分配计划
Product Backlog
Sprint Backlog
甘特图
五、测试计划
1.产品
用于在线评测编程题目代码的系统,能够根据用户提交的代码,出题人预先设置的题目输入和输出用例,进行编译代码、运行代码判断代码是否运行正确。
2.测试方案
1)页面测试:测试前端界面显示是否正常,各前端标签元素显示是否正常
2)数据库连接、交互测试:测试项目是否可以正常连接上数据库
3)工具类单元测试:对后台对数据库和前端界面的各类工具类进行测试,确保项目正常运行
4)安全测试:针对代码沙箱进行安全测试,对时间、内存、网络、权限等多角度进行测试
3.测试时间
测试与开发过程同步进行,每实现一个模块之后进行测试
4.测试人员
由本项目测试的两位队员负责,其他队员协助测试