考前自救题库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. svg click event bug & css pointer-events

    svg click event bug & css pointer-events svg click event not working Error OK ??? css class /* d ...

  2. WebView & WKWebView & UIWebView

    WebView & WKWebView & UIWebView WebView WKWebView https://developer.apple.com/documentation/ ...

  3. APP 金刚区图标设计 & UI

    APP 金刚区图标设计 & UI https://www.zcool.com.cn/article/ZNzk4Njg0.html

  4. Flutter: 监听App显示,隐藏

    关键代码 class _MyAppState extends State<MyApp> with WidgetsBindingObserver { @override void initS ...

  5. 全网算力总量暴增,SPC能否成为币圈新宠?

    据最新数据显示,在经历了本周初(1月11日)的下跌之后,比特币市场在本周四(1月14日)终于出现了反弹并试图突破4万美元,重新向4万美元上方发起挑战. 这也让加密市场的生态建设者重拾信心,重新对数字货 ...

  6. Android 比较好看的注册登录界面

    各位看官姥爷: 对于一款android手机app而言,美观的界面使得用户有好的使用体验,而一款好看的注册登录界面也会给用户好的用户体验,那么话不多说,直接上代码 首先是一款简单的界面展示 1.登陆界面 ...

  7. django学习-4.url动态传值

    1.前言 我们在浏览器访问一个网页A是通过一个指定的url地址去访问的.但在浏览器用一个不存在的url地址去执行访问是打不开正确的网页的,只会打开一个浏览器自带的有错误提示的网页. 在django框架 ...

  8. jQuery编写组件的几种方式

    原文链接:https://w.cnblogs.com/xiao-xi/p/8572471.html 三种方式: 1.通过$.extend()来扩展jQuery 2.通过$.fn 向jQuery添加新的 ...

  9. 配置mysql数据库时出再错误:LookupError: No installed app with label 'admin'.

    版本: windows10+py37+django2.2 错误: 项目启动时出现,No installed app with label 'admin' 解决办法: 安装最新的 pip install ...

  10. 后台用JSONObject接收前端传过来的字符串数组,并转成集合(JSONObject---JSONArray---List)

    前端传递数据: handleSubmit() {this.dialogVisible = false; const param = { 'bidSampleImgList': this.fileLis ...