个人作业——软件产品案例分析
第一部分 调研,评测
评测:
软件的bug,功能评测,黑箱测试
- 下载并使用,描述最简单直观的个人第一次上手体验。
刚开始下载并注册福州大学微信公众号之后,有一个验证的模块,用自己的手机怎么登也登不进去,说没有绑定学生信息,而且没有在任何地方提示怎么做这个,这时候就很烦,最后还是用电脑登进去的,但是电脑也没有提示密码是身份证的最后八位,试了很久才得出答案,给人的体验真是非常差!
- 按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。
1、 我的课表功能里面不能够选择学期,这样一来,如果用户想查看自己上学期的一些课程就没有办法通过这个来查询了
2、没有成绩显示,并且没有任何错误提示信息,并且无最新学期更新,可能数据库无相关数据或接口出错。
3、学生证附卡补办申请,只有确定取消按钮,无输入框。
4、手机端邮箱无法登陆,未连接福大邮箱接口,或数据获取错误
5、附件无法下载(经傅老师提醒后,需要挂VPN才能下载)
- 你觉得为什么这个产品组的人没有发现这些bug?
产品组应该是赶着要完成先把这个公众号的模块写好,然后再慢慢完善,因为没有考虑到的问题太多了
假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。
架构方面
① 需要先弄清楚该微信公众号的整体结构和组件,通过思维导图做出直观的架构图,这样子功能就一目了然了
② 要明白,软件之中唯一不变的就是变化,要根据不同的情况作出不同的当前情景下的最优选择
③ 保持设计的简单,现在不都是崇尚简约设计?
④ 要懂得面向抽象编程
⑤ 要考虑可维护,延伸性,事后优化
部署运维方面
①我觉得应该在整体完成并且检查之后再进行部署,这样会比较方便修改;
② 运维一切行动听指挥,这样子才能够比较有效率,才不会乱糟糟;
③ 凡是要变更方案什么的必须经过审核,避免因为误操作而产生问题;
④ 做好规划,这样才能够有效率的完成事情;多多和应用的人唠唠嗑,这样子才能熟悉业务,才能推动业务采用更加合适的架构方案;
⑤ 定期做好数据库的检查;
⑥ 数据库部署要做好最小化的权限;
⑦ 多多和大家交流,多多和大家分享;
微服务方面
① 在微服务架构中,有很多可移动的组件,所以对服务的管理将变得更加复杂,因此要考虑使用均衡负载,这会帮助我们解决一些问题
② 一个应用之中会有不同的服务,因此一个请求会跨多个不同的服务,因此有必要注意网络拥塞和延迟
③ 一般来说,每个微服务都有自己的状态存储,因此必须要注意数据的一致性
④ 注意容错和弹性
采访:
第8章 用户调研,12 章 软件的用户体验,
相信每个同学的朋友中一定有人需要用这样的软件,记载你对这位用户的采访。例如使用下面的采访提要:
1、介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
采访对象为福州大学2016级计算机学生,用过类似的比如福大教务处、易班、福大助手、超级课程表等类似的软件,除了现有的功能等把其他软件的功能都结合到里面,实现一个软件能实现大学基本的功能。
2让采访对象使用微信福州大学企业号(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)
3、描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
问题1:并没有解决,因为该产品的那么多的功能,真正需要使用的就是成绩查询和课表查看,还有学校通知,其他的功能使用的比较少,而福大易班之类的保修功能却是没有的,因此没有解决问题
问题2:数据量还可以,并没有多少;界面也还行,但是希望能够不要再是竖排,这其实有很大的空间的浪费;功能挺多,但是其实许多功能是没有用到了,比如日程功能,不实用,不如将易班的那些功能加入进公众号,这将会变得很方便
问题3:界面简洁,看过去较为美观,没有什么大毛病,但是其中的很多的功能还无法使用,并没有什么具体的用户体验,但是流畅度还有界面的美观程度还是可以的;课表之中的课表界面不够简洁,应该像是福大助手那样,背景是白色,然后用各种的颜色代表不同的课程,而不是背景花里胡哨的
4、用户对产品有什么改进意见?
希望能把那么多的bug解决让它正常能用就可以了
结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
- 非常不推荐
- 不推荐
- 一般
- 推荐
- 非常推荐
一般,界面挺好看的,就是基本能实现的功能太不行了,如果能实现就很好了。
第二部分 分析
参考 8.6 节 对工作的估计, 和14.1 节 软件工程的质量
使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
模块 |
重要度(5) |
完成度(%) |
出发点 |
效果 |
企业对话 |
1 |
70 |
方便用户和企业沟通 |
还行,但是搜索栏不是很完美 |
福大邮箱 |
2 |
100 |
方便用户查看自己的邮箱 |
没有邮箱,不知 |
福大新闻 |
3 |
100 |
能够看福大的新闻 |
可以显示,界面不是很精美 |
福大黄页 |
3 |
100 |
能够查看福大各个部门电话 |
不错,但是没有查询功能 |
失物招领 |
4 |
100 |
能够找丢失的东西 |
有的,但是一些细节如去掉加号 |
我的课表 |
5 |
50 |
能够查看课表 |
未完成 |
成绩查询 |
5 |
50 |
能够查询成绩 |
未完成 |
个人日程 |
1 |
100 |
能够管理个人日程 |
不错,但不是很精美 |
移动OA |
1 |
70 |
能够Emmmm |
Emmmm |
通知文件 |
3 |
100 |
能够显示通知 |
不错,但不是很精美 |
讲座报告 |
3 |
100 |
显示讲座 |
不错 |
校园巴士 |
1 |
100 |
显示校车的车站 |
不错 |
学生副卡 |
2 |
50 |
进行副卡的信息管理 |
未完成 |
针对不同的维度评分,对用户体验
针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。
第三部分 建议和规划
参考《构建之法》第8章 功能的定位和优先级;第9章 项目经理
这个软件有很多可以提高的部分。
如果你是项目经理,如何提高从而在竞争中胜出?
这款软件与同类产品相比没有什么特变突出的地方,这一点很难拉拢用户,软件需要亮点,首先,我觉得这款软件的功能不够完善,需要增加一些功能,其次,这款软件界面设计并不亮眼,需要更加贴合用户的设计,最后软件需要系统进行测试,修改和完善。
- 目前市场上有什么样的产品了?
福大易班,福大助手,福大教务通
- 你要设计什么样的功能?
我要增加课件分享与下载的功能,这里可以查询到各个老师的课件。
- 为何要做这个功能,而不是其他功能?
因为相比于其他功能,学生更需要这样的一款功能。
- 为什么用户会用你的产品/功能?
这款软件基于微信平台开发,微信是一款几乎人手必备的软件,这里集成了其他软件的功能,用户当然使用这样一款方便快捷的软件。
- 你的创新在哪里?可以用 NABCD 分析。
1、N
这款软件解决了用户平常学习工作生活所需,使用这款软件,用户可以查询到自己的学业信息,福大相关信息。
2、A
这要你登录微信,就可以在这个软件中,查询到相关信息,丢失东西再也不用愁,只需动动手指一键发布。
3、B
用户使用这个软件门槛非常低,占用内存非常小
4、C
这个软件很多功能是福大易班,福大助手中没有的,后期如果完善的话,会比其他同类软件更具有竞争力
5、D
这款软件用户群体为福大学生老师,校内推广比其他途径更加容易,宣传方式得当很快会得到第一批用户。
- 如果你来领导这个团队,会有什么不一样?
我会着重改善用户体验这一块,做好前期调查工作,了解用户需求,删减掉不必要的功能,增加完善用户最需要的功能,界面UI要美化,这样能够吸引更多的新用户和留住老用户。
- 如果你的团队有5个人,4个月的时间,你作为项目经理,该如何配置角色(开发,测试,美工等等)?
开发人员:2人
测试人员:2人(由开发人员自行测试)
美工人员:2人
其他人员:1人
- 描述你的团队在16周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
第1-4周:项目立项,任务大致分配,相关知识储备。
第5-11周:项目按照软件开发流程步步为营,定期会议,讨论技术难题
第12-13周:软件主功能实现,软件测试
第14-16周:软件测试,辅助功能完善