Beta项目展示
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 2021春季软件工程(罗杰 任健) |
这个作业的要求在哪里 | Beta-项目展示 |
我们是谁 | 删库跑路对不队 |
我们在做什么 | 题士 |
进度如何 | 进度总览 |
一、项目与团队亮点
1.关于我们
1.1 团队成员与分工简介
姓名 | 负责 | 具体工作简介 |
---|---|---|
QSY | PM&前端 | 产品主页与后台管理系统设计与开发,服务器nginx与SSL等部署与维护,例会报告与产品相关博客的撰写,推进项目进度,审查项目质量 |
LKL | 后端 | 题目、知识卡片和考期日历相关接口、单元测试的撰写,CICD的部署,题目、知识卡片和考期日历相关数据模型的设计与建立 |
CWM | 前端 | 题库、收藏|错题列表、各种刷题模式、模拟考试、资源社区等页面相关的前端工作的设计、开发与测试 |
CYY | 后端 | 用户相关,后台管理相关接口、单元测试的撰写,服务器后端相关配置与维护,个人信息、消息通知和举报机制相关数据模型的设计与建立 |
LS | 前端 | 注册、登录、首页、我的及个人信息、产品介绍、考期日历、知识卡片和问答社区等页面相关的前端工作的设计、开发与测试 |
WCC | 后端 | 题目评论和问答社区相关接口、单元测试的撰写;题目数据的爬取、清洗与导入;题目图片与用户头像上传等接口的开发与测试 |
1.2 项目管理
Gitlab的Milestone+issue+Merge Request的方式管理
首先建立Milestone
根据Beta预计开发计划,设计相应页面,改进相关功能,修复Alpha阶段bug并逐一划分为具体任务,任务分为Design,Develop,Test,Bug和Improve五类,并以issue的形式分配给团队成员
同时划分为题士,产品主页和后台管理三个项目分别管理,团队成员分别创建个人开发分支,通过发起merge request的形式,将前端阶段性开发成果经由二次确认后merge进入front-end分支,将后端阶段性开发成果经由二次确认后merge进入back-end分支;前后端功能完善,符合Milestone设定计划后,发起merge request,经由PM审核后merge进入master分支;在每次merge的过程中,关联issue,在确认merge后,自动关闭对应issue
2.典型用户场景
临近期末,小A还没开始航概期末复习,现在他正面临着复习时间紧迫,复习资料不完整的问题,正当他不知所措的时候,小B向他推荐了题士...
小A:我使用的是IOS操作系统,一般的软件和应用都对IOS平台不支持,我能够使用题士吗?
小B:题士利用微信小程序平台对IOS和安卓平台统一支持!
小A:现在离期末考试仅剩几天,但是我对于相关知识点和题目都不了解,题士能够给我什么帮助吗?
小B:题士提供顺序刷题,随机刷题和易错刷题等多种做题模式,顺序刷题帮助你按照章节进行复习,随机刷题帮助你交叉复习不同章节内容,易错刷题统计了所有同学常见易错题,帮助你聚焦易错内容,你还可以通过知识卡片记忆概念定义,在资源社区下载对应科目的资源,在问答社区浏览科目相关的讨论,快速获取复习要点
小A:可是我对很多内容不熟悉,应该会错很多题,有没有什么比较有效的复习方式?
小B:题士能够帮助你对做错的题目进行记录,提供错题列表,也能够在错题列表中直接对错题进行复习;同时提供收藏列表,让用户自主收藏好题;而且如果对于内容不熟悉的话,也可以选择题士提供的背题模式,对航概、计算机导论和经管等科目进行快速复习
小A:真是太好了,我的期末考试有救啦!
3.特色功能
3.1 杀手功能
题士Alpha版本的杀手功能包括多模式刷题,模拟考试,知识卡片,问答社区,资源社区等功能
3.2 对比竞品
说明:✔️表示完全具备,🔺 表示不完全具备,❌表示不具备
对比内容 | 航概练习题库 | 考前自救题库 | 题士 |
---|---|---|---|
小程序端 | ✔️ | ✔️ | ✔️ |
切换科目 | ✔️ | ✔️ | ✔️ |
查看题库 | ✔️ | ✔️ | ✔️ |
关键词搜索 | ✔️ | ✔️ | ✔️ |
顺序刷题 | ✔️ | ✔️ | ✔️ |
随机刷题 | ✔️ | ✔️ | ✔️ |
错题列表 | ✔️ | ✔️ | ✔️ |
收藏题目列表 | ✔️ | ✔️ | ✔️ |
易错刷题 | ❌ | ✔️ | ✔️ |
模拟考试实时判题 | ❌ | ❌ | ✔️ |
模拟考试统一判题 | ❌ | ❌ | ✔️ |
背题模式 | ❌ | ✔️ | ✔️ |
做题天数 | ❌ | ✔️ | ✔️ |
设置用户头像 | ❌ | ❌ | ✔️ |
做题情况统计 | ✔️ | ❌ | ✔️ |
比赛 | ❌ | ✔️ | ❌ |
打卡 | ❌ | ✔️ | ❌ |
知识卡片 | ❌ | ❌ | ✔️ |
问答社区 | ❌ | ❌ | ✔️ |
资源社区 | ❌ | ❌ | ✔️ |
考期日历 | ❌ | ❌ | ✔️ |
举报机制 | ❌ | ❌ | ✔️ |
4.项目发布
4.1 面向使用人群发布
向即将进行航概、计算机导论和经管考试的同学率先推广题士,为同学们提升备考体验
4.2 题士宣传动画
4.3 宣传册
4.4 实际日活数据
发布四天平均访问次数达到546,最高支持同时1000+用户进行访问,平均访问深度达到4
日活平均达到200
累计用户量达到597
4.5 用户反馈
5.软件工程质量
5.1 设计文档
文档是开发的依据,是维护的凭证,是拓展的基础
项目有完善的API设计文档和数据库设计文档
5.2 代码规范
前端代码规范
题士uni-app开发遵循uni-app开发规范和Vue单文件规范
在产品主页和后台管理系统开发过程中,将部分内容修改后的现有业内开发规范设置为自身开发规范,具体规范代码详见gitlab仓库
后端代码规范
后端开发主要采用node.js框架,使用javascript语言,因此遵循javascript开发规范
5.3 项目继承
项目代码结构清晰,文档规范,继承项目者在查询uni-app和node.js前后端开发框架后即可接手开发,项目开发可进一步查阅uni-app和node.js开发文档
5.4 单元测试与CI/CD
前端以功能测试和性能测试为主,后端以压力测试和单元测试为主
小程序性能测试、前端功能测试和后端压力测试详见Beta阶段测试报告,后端单元测试结果如下:
部署CI/CD,编写共计207个测试用例,代码覆盖率达到95%,测试结果如图:
5.5 经验教训
内容较为独立,因此另发一篇总结博客记录,详见Beta阶段性总结
5.6 题士开发总结
5.7 未来计划
题士项目未来将完全开源,同时与航概、计算机导论等科目老师及时沟通,成为官方指定考期复习软件!
二、项目与团队总结
项目与团队总结部分为亮点中涉及的项目相关内容的进一步扩充,对亮点部分形成支撑
1. 成员沟通
Beta开发阶段团队成员在合理平衡比赛、竞赛、考试和大作业的时间投入的前提下,争取做到每两天进行一次例会,每次例会总结个人开发进度,讨论开发成果,制定开发计划,并进行集中高效开发,及时沟通,及时调整
每次例会时间在4h-8h之间,会议记录详见Scrum Meeting汇总
2. 资源平衡
团队两名前端开发人员LS与CWM负责微信小程序题士主体功能的开发工作
另一名前端开发人员QSY负责产品主页和后台管理系统的开发工作
两名后端开发人员LKL与CYY负责题士主体功能的后端开发工作
另一名后端开发人员WCC同时负责题士评论功能和问答社区的后端开发工作和题库的数据爬取、清洗和导入等相关工作
项目能够如期交付的原因如下:
- 团队各个成员的能力均十分突出,可以独当一面
- 团队各个成员对项目均抱有认同感,认为在做一件有价值、有意义的事,而非单纯地为了分数完成任务
- 团队成员彼此熟识,配合默契,可以为同一目标齐心协力,全力冲刺
- 团队成员可以主动提升团队开发任务相较于个人任务的优先级,保证项目进度正常推进
3. 进度推进
团队成员Beta开发过程开始较早,进度较快,具体燃尽图(0609)如下:
4. 成员贡献
成员贡献计算依据团队贡献分分配规则,具体结果如下:
姓名 | 基础分 | 工作量 | 额外工作 | 额外工作说明 | 总分 |
---|---|---|---|---|---|
QSY | 45 | 3 | 5 | PM工作,协调监督,完成团队博客 | 53 |
LKL | 45 | 2 | 0 | 47 | |
CWM | 45 | 2 | 1 | 改进Alpha部分功能,提升题士质量 | 48 |
CYY | 45 | 3 | 4 | 后端压力测试 整理经管知识卡片,题库 后端服务器管理与维护 后端单元测试整合及细节完善 |
52 |
LS | 45 | 3 | 3 | 帮助cwm完善UI 负责小程序的审核 |
51 |
WCC | 45 | 2 | 2 | 后端压力测试 整理经管知识卡片,题库 计算机导论,航空航天概论,经管知识卡片,题库导入 |
49 |
团队成员具体任务说明与数据支持如下:
姓名 | 负责 | 团队贡献分 | 具体工作简介 | 代码量 | 参与文档 |
---|---|---|---|---|---|
QSY | PM&前端 | 53 | 产品主页与后台管理系统设计与开发,服务器nginx与SSL等部署与维护,例会报告与产品相关博客的撰写,推进项目进度,审查项目质量 | 6099 | 除题目相关API、题目评论相关API和数据库设计文档外的所有文档 |
LKL | 后端 | 47 | 修改模拟考试接口适配前端新增模式 优化模拟考试、题库列表返回接口 完成知识卡片后端API 完成考期日历后端API 完成考期日历消息生成脚本 完善alpha question单元测试 完成知识卡片考期日历单元测试 |
1039 | 知识卡片考期日历API设计 知识卡片考期日历数据库设计 |
CWM | 前端 | 48 | 模拟考试完成界面 新增模拟考试统一判题模式 资源社区UI设计及逻辑实现 知识卡片逻辑实现 考试日历逻辑实现 alpha阶段题库页面、收藏页面、易错刷题页面优化 |
3550 | 资源社区数据库文档 资源社区API设计 |
CYY | 后端 | 52 | 完成资源社区相关功能实现 完成消息通知机制 完成举报相关机制 完成管理平台对资源社区和举报的查询、管理等功能后端 完成管理平台的消息发布功能后端 对应后端功能的单元测试 |
1604 | Beta阶段初始任务分配 消息通知机制API和数据库设计 举报机制API和数据库设计 资源社区API和数据库设计 |
LS | 前端 | 51 | 完成考期日历、资源社区、卡片、问答社区组件的开发 完成问答社区页面、消息通知页面开发和测试 实现举报功能。 |
3684 | 问答相关API设计 举报相关API设计 |
WCC | 后端 | 49 | 完成问答社区后端接口,举报信息后端接口,管理端评论相关,问答社区相关后端接口的开发 完成问答社区,举报信息后端单元测试 |
1633 | 问答社区相关API和数据库设计 举报相关API和数据库设计 |
5. 用户场景相关
项目开发前的目标
-
实现一款集刷题、题目讨论、错题整理、社区资料分享等功能为一体的优质软件
-
Alpha阶段:累计用户量为200;Beta阶段:保守估计每日活跃用户为400
预期的典型用户场景
我们针对产品的典型用户进行了以下五类划分:普通学生,大佬,DDL选手,助教和老师,具体描述如下
普普通通,平平无奇的普通学生
内容 | 说明 |
---|---|
用户姓名 | 钉崎野蔷薇 |
照片 | |
用户身份 | 19岁,女大学生,普普通通的大学生,各项能力平均 |
用户痛点1 | 有一定学习基础,想要通过做题对学习内容进行复习,获得中等偏上的成绩 |
用户痛点2 | 对基础题目能够正确作答,对于难题存在作答障碍或者理解困难 |
用户痛点3 | 对于恶心的题目,有强烈的吐槽欲望 |
软件对应功能 | 题士多模式做题功能(alpha版);题士题目搜索(alpha版);题士讨论区(beta版);题士题目评论区(alpha版)。目前可以进行多模式刷题,可以在对应的题目下进行评论 |
使用预期场景 | 日常学习时,通过题士多模式刷题及时回顾学习内容,巩固知识点;在遇到难题时,通过问答社区提问,等待大佬或者老师助教的解答;在做题的同时,在题目讨论区吐槽,创作 |
用户比例 | 50% |
学习无难事,万人膜拜的大佬
内容 | 说明 |
---|---|
用户姓名 | 伏黑惠 |
照片 | |
用户身份 | 20岁,男大学生,学习能力强,愿意为同学答疑解惑,分享做题经验 |
用户痛点1 | 想要更有效率地进行做题和复习,对题目进行整理和分类,方便记录做题笔记,获得高分 |
用户痛点2 | 没有便捷途径获得往年的考题资料,及时复习 |
用户痛点3 | 想要有个途径对自己的踩坑进行记录和分享 |
软件对应功能 | 题士题目收藏,错题自动整理功能(alpha版);题士资源分享社区(beta版);题士讨论区(beta版)。目前可以在错题和收藏题目列表中快速查看自己的错题和收藏题目 |
使用预期场景 | 日常做题,通过平台能够方便整理错题,同时收藏好题和易错题;在做题同时,记录解题思路和对应知识点;通过资源分享社区,及时获取往年真题,及时刷题 |
用户比例 | 20% |
平时玩乐,期末完了的DDL选手
内容 | 说明 |
---|---|
用户姓名 | 虎杖悠仁 |
照片 | |
用户身份 | 20岁,男大学生,摸鱼一时爽,期末火葬场,不到期末绝不复习的DDL选手 |
用户痛点1 | 期末考前,想要通过最短时间过最多的题,同时重点关注好题和易错题 |
用户痛点2 | 知识点难以在短时间记忆,希望有人分享知识点记忆技巧 |
软件对应功能 | 题士背题功能(alpha版);题士易错题刷题(alpha版);题士题目评论区(alpha版)。目前可以在背题模块中快速背题,在短时间内通过背题获取大量知识 |
使用预期场景 | 三天之后航概期末考试,在短时间内,通过大量快速过题进行复习;吸取踩坑经验,做题小技巧,尽全力不挂科 |
用户比例 | 25% |
腼腆但是热情的课程助教
内容 | 说明 |
---|---|
用户姓名 | 两面宿傩 |
照片 | |
用户身份 | 24岁,男研究生,课程助教,内向腼腆,有耐心愿意为同学答疑解惑 |
用户痛点1 | 同学们常常提问同质问题,每次都需要重新回答同样的内容 |
用户痛点2 | 班级群中发布的资料常常过期,需要重新发送 |
软件对应功能 | 题士讨论社区(beta版);题士资源共享社区(beta版)。beta阶段进一步进行场景测试 |
使用预期场景 | 助教通过翻阅提问区问题,对共性题目统一解答;通过平台上传资料,不用担心资源过期,不能下载的问题 |
用户比例 | 4% |
有责任心的老教师
内容 | 说明 |
---|---|
用户姓名 | 五条悟 |
照片 | |
用户身份 | 45岁,教授,课程主讲教师 |
用户痛点 | 希望了解同学们对于学习该门课程普遍的难点,痛点,针对性讲解题目,整理知识点,帮助同学们通过课程 |
软件对应功能 | 题士易错题(alpha版);题士讨论区(beta版)。目前可以查看易错题,根据易错题制定习题课,提升学生成绩 |
使用预期场景 | 打开题士,查询易错题和讨论区常见问题,制定习题课和复习课计划,帮助同学们针对性复习 |
用户比例 | 1% |
预期的功能描述
界面 | 功能描述 | 开发阶段 |
---|---|---|
登录 | 用户可以通过微信或邮箱两种方式进行登录 | Alpha |
注册 | 用户通过输入邮箱,获取验证码进行注册,绑定账户 | Alpha |
首页 | 首页展示产品的核心功能,并提供相应功能入口,包括考期日历、错题/收藏、知识卡片、题库、资源社区、问答社区和刷题功能等,用户可以切换不同科目,选定科目后开始使用本产品 | Alpha |
我的-题库 | 展示用户头像、昵称、累计做题数、做题天数、历史记录等内容,提供关于我们、意见反馈、分享、设置和退出等功能入口 | Alpha |
我的-社区 | 由默认的题库选项切换至社区选项,获取问答数量、获赞数量等统计数据信息,提供我的问答的链接入口,方便用户直接查看 | Alpha |
刷题|背题 | 支持用户在刷题和背题两种模式中切换,对题目进行收藏等。在刷题模式下,用户根据题干内容选择正确选项,产品反馈正误,用户可以点击查看评论按钮,查看各种评论,也可以自己发表评论或评论他人评论;在背题模式下,产品直接提供题干内容和正确答案,用户可以快速背题 | Alpha |
题库 | 支持用户在题库中根据关键词进行搜索,同时展现当前科目下各章节的所有题目的完成情况,用户可以点击某一题开始刷题 | Alpha |
错题|收藏 | 展示用户的错题数或收藏题目数,并按照不同章节整理错题或收藏的题目,用户可以点击某一章节进入题目列表,查看该章节下的所有错题或收藏的题目 | Alpha |
题目列表 | 某一章节下的错题列表或收藏题目列表,用户可以点击开始按钮对错题或收藏的题目进行练习 | Alpha |
考期日历 | 支持用户根据考期安排设置考期日历,产品将根据考期日历对用户进行贴心提醒 | Beta |
知识卡片 | 对于不便于设置为选择题形式的知识内容,均可以通过知识卡片的形式进行理解、记忆。知识卡片对知识进一步细化、整理和归纳,提升用户学习效率。开发团队将导入部分知识卡片,用户也可以自行添加设置卡片 | Beta |
问答社区 | 支持用户查看Open、Closed、All和Mine四种状态下的讨论贴,用户可以发帖,回帖,参与讨论,产品将综合关注度、发帖时间等因素对不同状态的讨论贴分别排序后呈现 | Beta |
资源社区 | 支持用户添加资源描述上传资源链接、根据链接下载资源等 | Beta |
在哪里发布了软件?
产品官网:
https://buaatishi.com
微信小程序平台,直接搜索题士,或直接扫码体验
项目发布后是否满足了全部典型场景?剩下的为何没有满足?
已满足全部典型场景
6. 竞品评价
思考一下竞品出于什么原因并没有囊括该特色功能,团队凭借什么样的优势实现了它?
根据竞品自救题库的NABCD分析可以看出,竞品开发团队并未进行充分有效的需求分析(至少在博客中并未体现需求分析调研结果)
题士开发团队在产品功能开发前,对预期使用用户进行了较为详尽的需求分析;在开发过程中,配合默契,团队开发进度推进合理,每位开发人员的开发工作均做到全身心投入
7. 自我评价
- 题士,六周之作,不只是题库
- 完成所有预期功能,并增加消息通知、举报机制
再次注明:项目与团队总结部分为亮点中涉及的项目相关内容的进一步扩充,总结部分未覆盖的内容已在亮点部分说明