个人作业——软件产品案例分析(华为软件开发云)
第一部分调研、评测
一、评测
1.第一次使用体验:
功能多,主界面很简洁。
对于新手而言,第一次接触华为软件开发云,没有注册登录的话,就很难找到自己想要使用的工具,仅仅停留在华为软件开发云首页,功能很多但是不知道自己要使用的是那个功能。首页的选项点进去大都是一些服务之类的,或者是一些工具,我觉得它更像一个小的百度平台,专门针对程序员的需要网罗一些工具或者资源,术业有专攻,针对各个方向提供资源,让使用者自己选择使用的工具,找自己需要的资源。
有一点是让我使用起来特别轻松的,就是网页版的没有其他的广告,使用起来特别愉悦,也没有像其他网页会弹出广告,往往这种软件会增加用户对软件的印象分。app和网页版的同步很灵敏,在app上添加项目能在自动更新并显示
2.功能性的比较严重的bug
(1)网页版和app不能更改用户名
(2)网页版和app不能修改头像
(3)app不能查看个人信息
(4)app中的待办项不能添加
(5)同一个项目里不能添加不同地区的人员(不是很清楚这么设置有什么用意)
(6)代码广场里的代码不能fork到自己的仓库3.用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.
(1)网页版和app不能更改用户名
1)症状:点击用户名没有反应
2)程序错误:更改用户名模块代码为空
(2)同一个项目里不能添加不同地区的人员(不是很清楚这么设置有什么用意)
1)症状:通过项目里的扫码添加项目人员,但是如果该人员和项目的创建人员不在同一个地区,就无法,加入该项目
4.你觉得为什么这个产品组的人没有发现这些bug?
我觉得有以下几个原因:
关于app方面
(1)关于用户方面的头像、个人信息还未完善
(2)也可能是设计人员觉得没有必要在app里显示个人信息
(3)app里的待办项是起备忘作用,还是提醒作用,功能不明确,也许是开发人员功能还未完善?
关于网页方面
(1)同一个项目里不能添加不同的人员,设计人员也许是考虑将一个人的工作地区划分清楚,但是除了东北和华北地区,也许还有其他地区的工作,为什么不考虑其他地区的工作?可能是设计人员考虑到行业的地区分布而进行设计
5.假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。
架构设计:
(1)考虑到用户对象,根据对象需求,提出功能,且保证用户易于使用
(2)考虑软件开发后的维护问题,注意保证软件的可扩展性
(3)稳定性和安全性,杜绝由于软件性能导致数据丢失
部署运维:(1)兼容性强
微服务:(1)考虑用户是否真正需要
二、 用户调研,软件的用户体验
对华为软件开发云用户的采访
该用户是一名计算机专业大三的学生,由于课程需要和开发需要,所以需要有一个app来进行对项目的管理
访谈语录
Q:有没有用过类似华为软件开发云的app?
A:用过github,也是能进行团队合作开发和代码管理,其实有点类似个人中心中的功能,不过华为软件开发云中的功能更强大,使用也更直观。
Q:除了华为软件开发云现有的功能,你觉得还需要有其他的功能吗?
A:代码广场的代码不能fork或关注,导致有时有找资料找不到,所以能不能有个功能把代码fork到开发云的仓库中
Q:在使用这个软件过程中,你的问题是否解决了?
A:使用这个软件,主要用于记录开发过程,开发效率,代码管理,至于代码测试还有待体验,不知道是否真正可行
Q:软件在数据量/界面/功能/准确度上各有什么优缺点?
A:软件的数据量非常丰富,也可以很精准地搜索到所需要的工具和资料,主界面简介大方,条理明确,功能很强大。但是由于功能很多,所以在找一些功能时需要费点时间。
Q:用户体验方面有问题么?
A:目前来说,就是找到某些功能比较不容易。
Q:用户对产品有什么改进意见?
A:针对不同类的使用角色,保留不同版本,比如学生,可能就不太需要首页的信息,而在工作中、企业中可以有首页的服务板块。
结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
推荐
第二部分 分析
参考 8.6 节 对工作的估计, 和14.1 节 软件工程的质量
使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
这个软件目前的优势在于把一些功能综合起来,比如完成效率图,代码的存储率,代码的bug,燃尽图,贡献量等的一些统计比较完善,以及制定的具体任务,相对于github来说功能比较齐全。这个项目的劣势在于用户的操作步骤太过繁琐,有时候甚至都找不到使用入口在哪。
具体建议:改变一下功能的逻辑功能结构,尽量使用户的操作步骤尽可能地少
根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果
(以下叶节点前的数字表示优先级,数字越小,优先级越高)
针对不同的维度评分 ,对用户体验方面、UI界面美观度、核心功能,分别打分。
用户体验方面:70分
理由:因为功能较多,有的功能要找很久才能找到,主界面的功能比较多,有时候找用户中心比较难找。
核心功能:90分
理由:功能确实很强大,而且很实用
UI界面美观程度:60分
理由:有的地方界面不是那么简洁,比如用户信息界面
第三部分 建议和规划
-
如果你是项目经理,如何提高从而在竞争中胜出?
(1)确定需求,明确分工,制定合理的每日工作计划
(2)把抽象的目标转化为可执行的、具体的、优美的设计
(3)创建并维护软件的规格说明书,让它成为软件开发人员的准确指导
(4)通过各种途径收集用户反馈预期用户新的需求,协调并决定各种需求的优先级
(5)分析缺陷,及时改正
(6)跟进项目进展 -
目前市场上有什么样的产品了?
像团队协作的软件有teambition,协作开发和保存代码的有github。 -
你要设计什么样的功能?
设计一个集github的协作开发,保存代码功能,和Teambition的团队实时交流以及日程制定为一体的软件。 -
为何要做这个功能,而不是其他功能?
每日的团队开发并不是可以一直按计划进行的,有时候会遇到某些障碍,无法进行开发,这时候可以在团队里进行实时交流,加快进度。每天发布任务,可以让开发者明确今天要完成的任务是什么。 -
为什么用户会用你的产品/功能?
从一个用户的角度来说,一个软件只要满足需求,而且操作简单,符合平常的软件操作习惯,那么用户就会采纳。另一方面,在初步开发成型后,要让客户提前体验,并且提出改进意见 -
你的创新在哪里?可以用 NABCD 分析。
N:用户需要一个可以进行实时讨论代码,文件,图片并保存代码的软件
A:学习比较先进的技术,提高软件性能
B:使用便捷
C:功能综合
D:加大宣传力度 -
如果你来领导这个团队,会有什么不一样?
实时跟进项目进度,合理分配时间,平衡团队内部 -
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
前两周进行需求分析,并逐步完善需求分析文档。第三到第四周确定设计细节并确定需求分析文档,第2-3月两个月进行编码,第四个月进行测试
3个开发,1个人测试,1个人美工 -
描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
1-3周对用户进行调研,完成用户需求分析报告;4-6周进行原型的设计和数据的设计以及代码的规范化;7-11周进行前端和后端的编码;12-14周完成前端与后端的对接以及bug修复;15-16周进行测试以及发布。 -
项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图*(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置)
。**
网站安全性:DDOS、