个人作业——软件评测
1.个人作业——软件评测
1.1. 作业描述
问题 | 内容 |
---|---|
这个作业属于哪个课程 | 这个作业属于哪个课程 |
这个作业要求在哪里 | 个人作业——软件评测 |
作业正文 | 作业1 |
其他参考文献 | 无 |
1.2. 调研,评测
1.2.1. 截图
微信小程序demo
web端
安卓端
1.2.2. 功能性BUG
1.web端接收到群组内的消息,用户查看了消息然后切换到其他的会话时,收到新消息的红点会重新出现,只有在单机了上方刷新的按键之后才会消失.
2.微信小程序端的下方提示栏的信息红点只有在别人回复信息后才会消失,其他情况下不消失。
3.安卓端的自己的发送的消息永远处于未读状态,即使其他人对你的消息进行了回复。
4.web端的要添加群组的是否,无法找到已经存在的群组,会提示没有找到该群。
1.2.3. 你觉得为什么这个产品组的人没有发现这些bug??
对于一个软件的demo来说,重要的是体现该软件的具体功能,能够让用户大致的进行对功能的使用,在一些小问题上该产品组的人无需关系,也不用耗时间去修改这些小问题,因为这些小BUG不会影响大致的功能体验。
1.3. 采访
1.3.1. 根据该SDK想要开发的产品
- 产品主要功能
- 通过该SDK开发一个为家校沟通的在线班级管理平台,使家长能够及时了解孩子在学校的表现。
- 提供班级通讯录,记录每一个学生家长的联系方式。
- 具有一键发送班级通知,支持班级群发和部分发送,查看已读未读的家长
- 支持发送文本/图片/链接/录音/网盘文件,支持查看已读未读的家长
- 提供各科成绩,平均分,最高分,分数段等自动生成
- 提供家长私信老师,老师私信家长
- 提供各科老师之间的交流
- 提供作业完成情况的统计
- 提供群直播功能
- 产品面向的用户
- 各个学校的教师
- 学生家长
- 产品的NABCD分析
N(Need,需求)
很多情况下家长对孩子在学校的学习情况以及日常表现是不知情的或者获得的信息具有滞后性。而这不利于孩子的学习。因此,我们希望开发一个家校沟通的在线班级管理平台,解决家长对孩子在学校的学习情况以及日常表现不知情的情况,可以督促孩子的学习以及加强教师和学生家长之间的沟通与交流,共同促进孩子在校的学习情况
- 可以导入班级学生的信息和家长联系方式
- 提供教师对各个班级学生家长的通知,文件的推送
- 提供成绩分析,在线生成可视化数据
A(Approach,做法)
我们把该平台部署在web端,通过使用腾讯提供的IM SDK 来进行开发。通过向demo提供的已有的功能的修改,以及添加新的功能来完成本应用
B(Benefit,好处)
我的这个产品给客户/用户带来的好处
- 免于下载,使用户在线即可操作,方便快捷
- 应用的功能具有针对性,可以更好的解决用户的痛点
- 家长可以方便的和老师进行沟通
- 家长可以知道孩子成绩的变换趋势,以及了解孩子的作业完成情况,有利于督促孩子的学习。
- 老师可以更好的管理班级
C(Competitor,竞争)
- 优势
- 界面简单明了,操作简单,上手快速
- 应用的功能具有针对性,可以更好的解决用户的痛点
- 通过web平台发布,免于下载,可以注册后直接使用
- 劣势
- 同款产品层出不穷,且技术成熟,市场被更早的占领
D(deliver,推广)
- 通过公众号推送,使习惯微信平台阅读的用户也能通过这个途径获取信息
- 到学校和学校领导沟通交流,让他们试用该应用
1.3.2. 采访内容
- 介绍采访对象的背景和需求
采访对象背景:一位老师
采访对象的需求:差不多和微信一样就可以
- 描述用户使用这个demo的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
用户在使用这个demo的过程中,大致需求都可以解决。但还是确实像朋友圈这样的功能。用户在使用demo的过程中经常找不到某个功能在哪里。因此该demo缺少用户引导。
- 用户对腾讯即时通信的功能有什么改进意见?
希望可以增加类似朋友圈这样的功能,同时希望添加个搜索框,可以直接定位到要的功能,免于寻找。
- 介绍你想用这个SDK开发怎样的产品?
希望开发一个家校沟通的在线班级管理平台,强教师和学生家长之间的沟通与交流
- 用户对你想开发的产品有哪些意见?
希望该产品能简单好用,或者提供功能使用的引导
-
体验IM的 照片
-
结论:
一般,市面上有很多比他好用而且功能完善且成熟的产品
1.4. 分析
- 使用腾讯即时通信的所有功能,联系第二部分的分析,估计这个SDK做到这个程度大约需要多少时间?(团队人数大约6人左右,计算机大学毕业生)
大约需要三个月吧。 - 分析这个软件目前的优劣(和类似软件相比,如网易云信),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)
优势:UI比较好看
劣势:其他的类似软件具有更多的功能,比如网易云信允许用户看直播,还可以同手机传递文件
意见:丰富一下该软件的功能
1.5. 建议和规划
- 如果你是项目经理,如何提高从而在竞争中胜出?
要突出产品的主要特色,并且到更多的学校去推广该产品。
- 目前市场上有什么样的产品了?
微班,钉钉
- 你要设计什么样的功能?
成绩的可视化以及分析
- 为何要做这个功能,而不是其他功能?
家长最为关心的就是孩子的成绩,把成绩可视化,进行阶段性的分析,可以让家长更清楚哪个科目比较薄弱,也可以明白孩子在年段中所在的位置。
- 为什么用户会用你的产品/功能?
因为我们的产品更具有针对性
- 你的创新在哪里?可以用 NABCD 分析。
NABCD见上文
- 如果你来领导这个团队,会有什么不一样?
团队内更为平等和谐,团队内成员能了解到当前项目最新的进度。
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
美工2个,开发2个,测试1个
- 描述你的团队在周期为16周,每周都要做什么,才能保证在第16周如期发布软件。
周数 | 任务 | 里程碑 |
---|---|---|
1-2 | 需求分析,初步确定产品功能,市场调研,完成需求分析报告书.明确分工 | 需求分析完成 |
3-4 | 深化需求分析,制定代码规范,构建架构,进行原型设计,统一开发环境 | 原型设计完成 |
5-8 | 代码实现,前端和后端并行。 | |
9-11 | 前后端接口对接,对各个功能模块进行测试 | Alpha版本发布 |
12-13 | 接受意见反馈,修复bug,完善功能。 | Beta版本发布 |
14 | 进行严格的性能测试、压力测试、集成测试等 | |
15 | 编写用户手册。 | 用户手册完成 |
16 | 项目部署,发布最终版本的产品。 | 发布正式版本 |
- 项目发布后,有没有考虑过项目该怎么部署才能满足需求?依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。
应用服务器配置:4核8G x 1
后端服务器配置:8核16G x 1
关系型数据库:SQL Sever/Oracle/MySql数量:2(读写合并、备份 x 1)
缓存数据库:Redis数量 :2(主备)
网站安全性:WAF,DDOS