个人作业——软件产品案例分析
前言
- 我一直以为这个和华为云是同一个东西,花了3分钟后才反应过来这是个类似github的东东 ,但是功能明显比github丰富:)
第一部分 调研,评测
- 评测:软件的bug,功能评测,黑箱测试
- 下载并使用,描述最简单直观的个人第一次上手体验。
- 无论是web端还是app,第一感觉就是界面非常友好,很清爽,舒服。功能觉得有点多,第一次使用没法马上找到我想要的功能。
- web端可以使用的登录账号中手机号码和账号名都可以,但app只能用账号名,导致我在使用app登录时一度以为密码错误。
- 粗略的使用了一下,UI设计很棒,功能上而言不但具有代码托管,还有着项目管理,已经满足目前的需求了。
- 在web端的界面跳转中,明明只是改变了一个布局内的内容,但是却刷新了整个界面,让我一开始以为出错了。
- 无论是web端还是app,第一感觉就是界面非常友好,很清爽,舒服。功能觉得有点多,第一次使用没法马上找到我想要的功能。
- 下载并使用,描述最简单直观的个人第一次上手体验。
- **按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。** - **用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图。** - BUG NO.1:【APP】“我的”界面不显示。当点击“项目”或“待办”后,此时马上点击“我的”,会出现“我的”界面不显示的问题。并且在这之后,无论点击“项目”、“待办”、“消息”中的哪一个,马上点击“我的”,都会出现界面不显示的问题。解决该问题的方法是:在第一次出现界面不显示时,及点击“项目”或“待办”后,此刻在点击“我的”之前,先点击一次“消息”。拓展:如果点击“我的”,出现界面不显示时,然后再点击“我的”之前的那个界面(“消息”除外),先点击“消息”再点击“我的”。附图如下:
![](https://images2017.cnblogs.com/blog/1221686/201711/1221686-20171130220240617-425040373.png)
![](https://images2017.cnblogs.com/blog/1221686/201711/1221686-20171130220853555-609944588.png)
![](https://images2017.cnblogs.com/blog/1221686/201711/1221686-20171130221055461-688411167.png)
![](https://images2017.cnblogs.com/blog/1221686/201711/1221686-20171130221459492-987006839.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201164744023-423847292.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201164809508-141245119.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201204017495-1021791611.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201204143151-64938849.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201204335323-117663864.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201204454433-1841494862.png)
- **你觉得为什么这个产品组的人没有发现这些bug?** - 目前我所找到的BUG中,app占主要部分,这可能是团队关于点在于web端的开发,而app的投入较少。并且按照模块开发APP时每个人的主要关注点在于自己的模块,这就导致了在交互时可能出现的一些隐性错误。
- **假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。** - 对于项目代码管理,首先要能够确保稳定性和数据安全性,这是系统的可靠性问题。另外要考虑可拓展性问题,当增加新的功能时,能否将工作量降到最小,再或者在拓展服务器某个功能时不影响其他功能的使用。同时要能够考虑多台服务器在运行的协调性问题。 - 对于产品使用者,即用户而言,应该进行分类。例如学生是否可以免费试用,小型团队与大型团队的收费标准是否有区别。考虑具体的用户需求。 - 在服务器上应该能够确保某个功能出现崩溃或错误时,其他依旧可以正常运行。
- 采访
- 介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
- 采访对象使用过类似的产品:Github,即使用过命令行工具也用过GUI,但是华为软件云是中文界面,更加的有亲切感。采访对象希望APP也具有像web端上的燃尽图展示。
- 介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
- **让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)**
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201220127886-2143880876.jpg)
- **描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?** - 用户所需要的代码托管问题已解决,对项目的管理也已解决。 - 软件在传输数据上有点延迟,导致用户使用起来感觉一卡一卡的。用户对界面的评价很高,界面很简洁清爽又不失大雅。用户认为功能完备,至少满足当前需求。在数据准确度上目前还没发生错误。 - 采访对象认为总体而言体验很好,但值得一提的是第一次使用也因为功能较github丰富,导致没法能够马上上手。
- **用户对产品有什么改进意见?** - 希望能够有一个简单直观的教程。并且认为APP的“待办事项”中对于显示出来的工作,应该还要显示其状态。例如像左图显示状态为“已解决”。
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201214956526-1697194305.png)
![](https://images2017.cnblogs.com/blog/1221686/201712/1221686-20171201215004058-570780038.png)
- **结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:** - 推荐
第二部分 分析
- 功能逻辑框图
数字表示重要程度:5>4>3>2>1,旗子颜色表示完成程度:黑色:未完成、蓝色:完成部分、绿色:已完成
- 项目计划3-5个月。 - 软件目前的优势在于功能稳定丰富,足够满足一个小型开发团队的工作需求。劣势在于功能的模块分类界限不清晰,容易出现“找不到”的情况。 - 建议:对各模块各功能的划分要有明确的界限,提高用户体验。
- 评分(每点100分制) - 用户体验 80 - UI界面美观度 90 - 核心功能 85
第三部分 建议和规划
- 如果你是项目经理,如何提高从而在竞争中胜出?
- 完善核心功能,对项目的优势与特点进行宣传,在宣传中强调独有的功能,让人眼前一亮。
- 目前市场上有什么样的产品了? - github、SVN
- 你要设计什么样的功能? - 将原型、UML设计都集合到这个平台上来,APP方面将燃尽图也整合进去。
- 为何要做这个功能,而不是其他功能? - 这些内容是软件开发过程中所必需的,增加这部分功能,可以让用户更加依赖于这个平台。而APP整合了燃尽图是考虑到团队开发过程中,查看进度等情况使用移动端更为便利。
- 为什么用户会用你的产品/功能? - 产品相对于其他产品的核心竞争力在于可以吸纳广大国内程序员,并且功能强大。而中文界面的设定可以减小使用负担。
- 你的创新在哪里?可以用 NABCD 分析。 - N:软件开发者需要一个安全可靠的稳定平台来进行代码托管、项目管理等软件开发工作。 - A:将各类所需功能集成一体,让用户只需要使用我们的平台便可以完成所需工作。 - B:不会因为选择我们的平台导致操作不适应,用户的迁移成本低。功能的设计上参考了其他常用平台。 - C:具有着后发优势,最大优势便是了解用户的需求,将软件开发过程中所需要的工作都集成到一个平台上,让用户无需再多个平台来回奔波。 - D:依托华为的品牌宣传,有着高效率的宣传方法,有着品牌效应。
- 如果你来领导这个团队,会有什么不一样? - 会注重用户体验方面,那就是在需求与美工设计上花费更多的时间,而宣传也会注重。
- 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)? - 美工组:2人,包括前端实现;后台组:3人,包括开发、测试工作。 - 负责美工的人在完成原型设计后进入前端实现,而后台先进行数据库与框架设计,完成之后进行服务器的搭建并与后端沟通,同时制定测试计划。
- 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。 - 2-4周完成需求分析报告,同时要有用户调查;5-8周美工设计,同时进行数据库设计开发;9-13周进行前端实现,后台开发;14-16周测试发布。
- 项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。 - 后端服务器8核16G*3、应用服务器4核8G*3、数据库*4、网站安全性WAF、DDOS