考前自救题库NABCD分析

项目 内容
这个作业属于哪个课程 2021春季软件工程(罗杰 任健)
这个作业的要求在哪里 团队项目-初次邂逅,需求分析

项目名称:考前自救题库(暂定)

项目简介:本产品计划完成一个多功能题库,包括航概、军理、数据结构等科目的学习平台。

N (Need 需求)

现阶段北航的大一大二同学在期末复习时经常会面对这样很多问题:航概、军理、数据结构怎么背题啊?航概APP怎么没有其他科目呀?怎么只有选择题呀?以上种种问题给烤漆中的同学们带来了很多困扰。

归纳一下目前的同学们在期末背题时会遇到如下的问题:

  • 相关产品较少

    • 当前市场上题库软件主要包括英语打卡和阅读软件,少有关于航概以及军理这些北航特色的答题软件
    • 仅有的航概题库在同学中的知名度也较低
  • 已有题库的设计功能较为欠缺

    • 科目只有航概,题型只有选择题,只能对题目进行评论,不能回复
    • 题型缺少标签,难以形成体系,用户不能针对性选择题目
    • 没有用户社区,答题缺少趣味性,缺少交流功能
    • 功能类型单一,用户背题时缺乏动力

同时因为使用纸质的相关习题集还需要自己购买,复习时还需要手动翻页查找。目前学弟学妹复习时基本都使用电子题库。

针对以上需求,我们推出了该题库小程序,提供多科目的各题型练习。其中使用标签对题型进行分类,提供社区功能让大家对题目进行评论和回复,增加排行榜和在线PK功能,实现友好交互,帮助用户更好地规划烤漆时间。

A (Approach 做法)

产品总架构实现前后端分离实现,具体分析如下:

  • 前端:使用 uni-app进行小程序开发,在Alpha阶段预计需要重建五至十个界面。
  • 后端: 使用 springboot 构建,如果需要做高并发优化,将需要更大的学习成本。

关于高并发优化方面我们可以尝试采用优化的后端架构,做缓存代理,使用squid,varnish,将经常访问的图片等静态内容缓存下来,提高访问速度;关于题库系统的手动和批量导入系统,我们使用形式化的数据集格式例如json之类,实现批量导入和导出,对于单个用户我们可以专门做一个页面,用户可以提交相关信息,手动输入,后台自动转化。

B (Benefit 好处)

为用户提供学习的外部激励:许多用户是在接近考期时火急火燎地去复习,本产品不仅能让用户在紧迫的时间中享受高质量的题库服务,还能通过趣味性、规划性的方式激励用户有计划地学习,让用户高效地完成复习。

C (Competitors 竞争)

目前类似的产品有微信小程序上的北航航概练习题库,但如同NEED阶段中中提到的,航概练习题库存在着诸多缺陷。

相比于航概练习题库,我们的小程序主要的竞争优势有:

  • 提供排行榜功能,激励用户学习

  • 像其他APP一样允许用户设置每日目标,自己给自己施加动力

  • 题目的评价体系与评分系统,同时完善题目的讨论区功能,实现用户的进一步交互

  • 给题目添加标签,针对错题对应的标签进行推荐。

  • 增加类似于你问我答的PK功能,提高用户之间的互动性

D (Delivery 交付, Data 数据)

交付:以推送的方式在学弟学妹的各大水群里宣传。

数据:在产品中进行问卷调查或采访产品的试用者。

用户量评估: 我们的产品预计以小程序的形式发布,预计一周后的用户量有多少:

  • Alpha版本:预计发布一周内模型的使用次数达到100左右
  • Belta版本:预计发布以后一周内模型的使用次数达到300左右

视频

https://www.bilibili.com/video/BV1fX4y1g7pn/

考前自救题库NABCD分析的更多相关文章

  1. NOI题库 1768最大子矩阵 题解

    NOI题库 1768最大子矩阵  题解     总时间限制: 1000ms 内存限制: 65536kB   描述   已知矩阵的大小定义为矩阵中所有元素的和.给定一个矩阵,你的任务是找到最大的非空(大 ...

  2. OCP 认证考试报名费技巧题库051052053解析合格线

    本人于2017年4月22日通过参加OCP考试,第一次参加,一天之内考了三门,三门一次性通过,052 - 95% ,053 - 86% ,051 - 100% 一.关于考试考试报名费: 052:158$ ...

  3. 北大POJ题库使用指南

    原文地址:北大POJ题库使用指南 北大ACM题分类主流算法: 1.搜索 //回溯 2.DP(动态规划)//记忆化搜索 3.贪心 4.图论 //最短路径.最小生成树.网络流 5.数论 //组合数学(排列 ...

  4. Linux题库练习

    转一个Linux的题库供自己学习使用(滑稽) 转自:http://www.linuxdiyf.com/view_202485.html 选择题1 在终端下输入mount -a命令的作用是:CA 强制进 ...

  5. 更新 | 2019年9月计算机二级office模拟题库

    随着2019年上半年计算机二级考试的完美落幕,紧接着的便是9月份的考试了. 到目前为止,下半年9月份计算机二级考试报名开通时间在6月前后,现在也基本结束. 2019年9月(56次)全国计算机等级考试( ...

  6. jzyz 题库 题目选做

    题库中也有很多我想不出来的模拟赛的题目.做还是必要的.做自己的题目 时间很紧 想想自己的文化课 我又没有那么强 我必须得刷. LINK:水题一道 发现是一道计数题 计数题拿高分的才是王者,但是 计数题 ...

  7. 软工AI Bot NABCD分析

    目标: 打造一个基于大数据的 IT 问答机器人服务,通过运用人工和AI 技术,极大提高问答产品的用户满意度. 适合高校<软件工程>,<人工智能>课程作为结对编程或者团队项目. ...

  8. 《PHP面试笔试真题库》——PHP面试的好帮手

    你好,是我琉忆. 一个文艺的PHP开发工程师. 很荣幸能够在这里带来我的第一本新书--<PHP程序员面试笔试真题库>. 一.创作过程 <PHP 程序员面试笔试真题库>是我的第三 ...

  9. 打造smali代码库辅助分析

    打造smali代码库辅助分析 在分析Android应用程序的时候,我们往往会插入代码重打包apk来辅助我们分析的工作 一个比较取巧的方法就是先用java写好代码以及相关的调用之后, 然后直接扣出代码 ...

随机推荐

  1. ng 设置动态的document title

    使用Title服务 相关文章 配置路由, 添加data.title参数 import { NgModule } from '@angular/core'; import { RouterModule, ...

  2. 运行Chrome浏览器如何添加Options

    原文档 Options Windows: 退出Chrome的所有正在运行的实例. 右键单击"Chrome"快捷方式 选择属性 在"目标:"行的末尾添加命令行标志 ...

  3. 23_MySQL单行和多行子查询语法规则(重点)

    本节涉及SQL语句: -- 如何用子查询查找FORD和MARTIN两个人的同事? 1 WHERE子查询 SELECT ename FROM t_emp WHERE deptno IN (SELECT ...

  4. 高性能环形队列框架 Disruptor 核心概念

    高性能环形队列框架 Disruptor Disruptor 是英国外汇交易公司LMAX开发的一款高吞吐低延迟内存队列框架,其充分考虑了底层CPU等运行模式来进行数据结构设计 (mechanical s ...

  5. 宝塔面板配置Let's Encrypt证书自动续签失效及解决方案

    一.背景小故事 笔者手里有个朋友交给我去日常运维项目是PHP+微信小程序,部署在Linux系统上. 这个项目是用宝塔面板去进行日常的可视化运维管理,用起来蛮香的. 如不清楚宝塔的同学,可以自行了解,这 ...

  6. 1020 Tree Traversals——PAT甲级真题

    1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Give ...

  7. Django Admin 删除文件同时删除资源文件(delete_upload_files)

    一  使用环境 开发系统: windows IDE: pycharm 数据库: msyql,navicat 编程语言: python3.7  (Windows x86-64 executable in ...

  8. 微信小程序:block标签

    代码中存在block标签,但是渲染的时候会移除掉. 例子: 如果将view改为block: 当你要渲染某些数据时,如果不想额外的加一层外边的标签,此时可以使用block标签来进行占位.

  9. python自动化测试生成HTML报告

    自动化测试结果执行完毕后,需要对测试结果进行查看,今天就来讲一讲如何生成HTML报告首先下载HTMLTestRunner.py文件,放在python安装目录的Lib文件夹下https://pan.ba ...

  10. iPhone去除input默认样式

    /*<!---->去掉苹果短的样式*/ input[type="button"], input[type="submit"], input[type ...