个人作业——软件产品案例分析
第一部分 调研,评测
测试对象:
华为软件开发云web端和移动端
测试者:
匿名用户一名
测试时间:
2017/11/28-2017/12/01
测试结果:
总评:移动端体验效果一般,web端较好
测试结果:移动端发现2处不良体验,web端发现1处不良体验
移动端
不良体验一之忘记密码必须要准确用户名才能找回
不良体验等级:低等
详细描述:找回密码必须同时准确输入用户名以及注册的邮箱或者手机,这是能很好的保证用户的安全性,但对于我这种注册只会随意取个用户名的人来说是很不好的体验,而且不能找回用户名,这时我如果不小心忘记密码,我的账户基本废了。(不过可以通过web端找回,这不需要用户名,这也是我对其不良体验为低的原因)
测试图例:
解决方法:添加用户名找回或者修改找回密码要求
评价:这可能是开发者的良苦用心,比较移动端设备丢失概率明显加大,这时添加一个用户名的要求,可以较大限制非本人用户的不法操作。但对于用户而言,体验较差。
不良体验二之项目添加成员无反应
不良体验等级:中等
详细描述:项目添加成员,虽有提示等待对方同意但是被添加者表示未收到任何消息。功能好像并未实现。。
测试图例:
解决方法:开发人员干巴得。
评价:项目团队的概率极高,若这个功能不能给用户很好的体验,我会比较排斥这款app的,不过web端不会有如此问题。
web端
不良体验一之项目添加用户不须被添加者同意
不良体验等级:中等
详细描述:项目添加成员,无须被添加者同意直接进入项目,管理者拥有绝对操作权。
测试图例:
添加
直接成功
评价:这不利于用户管理,如若存在胡乱添加的情况,不利于项目管理。当然这也有好处,那就是能够立即确认用户是否添加成功,避免添加错误成员,导致申请无法撤回,而后期误添加者在管理员未踢出其前了解项目隐私内容。
解决方法:在添加项目成员时,增加一道被添加用户确认环节。
总体评价
推荐使用
推荐理由:
1.使用方便,虽然app感觉不够完善,但基本查看没问题,较为便捷。web端还是很强大的,还有基本操作指导,易上手。
2.学习资源丰富,上面有丰富的学习资源。
3.自动化管理,这个很实用。
4.任务要求以及需要规划内容,这相当于任务发布,可代替实现的远程会议,任务要求等
5.地区区分,一个人可能在不同地区参与多个项目,该软件在不同地区的项目不同。(但感觉仅仅华北和华东有点不够)
6.安全性较高,
尝试过BurpSuite截断未能成功,开启代理后将无法正常操作,防止截断篡改数据。
尝试过简单的跨站脚本攻击XSS未能成功。
尝试过“猜测密码”,限定时间同一用户密码输错次数限定,超过限定冻结用户ip15分钟,防猜测密码。
能力有限,未能深入测试系统安全性。
第二部分 分析
估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)
这个项目做到这个程度大约需要需要2月时间
分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)
- 优点:对于同一账号,有不同区域项目划分,利于管理
- 缺点:web端移动端同时登陆,会出现长时间(10秒左右)无法操作,甚至卡退
- 建议:提高web端和移动端同时操做的流畅性与同步性。
第三部分 建议和规划
如果你是项目经理,如何提高从而在竞争中胜出?
- 需求分析、市场调研
- 功能实现
- 测试用户体验反馈
- 更进用户意见
加强宣传,扬长补短(补短,对不足之处不断更新,发布新的版本)
目前市场上有什么样的产品了?
- github,teambition等以个人/团队为主的管理系统
- 智邦国际等以公司为单位的管理系统
你要设计什么样的功能?
- 对项目快捷操作
- 对项目进行备份,拆分,整合的功能
为何要做这个功能,而不是其他功能?
- 对已创建项目进行删改操作,原app中对项目操作藏得很深,操作麻烦。
- 对项目的备份,这个就不解释了
- 对项目的拆分、整合功能,我在考虑可能会出现一个项目最后被要求分成两个不同产品(如有些产品功能太强大,但有些用户不需要某些功能,仅仅只需要其中某个模块的功能)或者不同项目整合生产一个功能强大的产品
为什么用户会用你的产品/功能?
- 项目的整合和拆分是一件麻烦事,如果能够系统实现将会节约用户的大量时间。
你的创新在哪里?可以用 NABCD 分析。
-
Need 需求:我很理解为了一个软件的小功能下载安装好几G的软件的痛苦经历,或者为了同一厂家的不同小软件安装一堆小软件。如果有项目拆分,整合就能较快实现这个,来满足产品用户的需求
-
Approach 方法:在原有app上添加对项目的操作
-
Benefit 好处:项目整合拆分
-
Competitors 竞争:本人尚未发现该功能,或者未体验过有改功能的软件
-
Delivery 推广:如果实现,我觉得会是一个不错的体验,这也将此为该软件的一特色,有利于推广。
如果你来领导这个团队,会有什么不一样?
交流反馈,每日目标,目标完成情况,完成度最差者次日需提前十分钟到场准备茶水或者打扫的小处罚
如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
3:1:1
描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
时间 | 内容 |
---|---|
第1周 | 需求分析,市场调研 |
第2周 | UI设计 |
第3-12周 | 编码 |
第13-14周 | 测试以及更新 |
第15周 | 试用 |
第16周 | 正式发布,宣传 |
项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。
- 应用服务器配置:4核8G * 4
- 后端服务器配置:8核16G * 6
- 数据库服务器: SQL Server/ Oracle/MySqI 数量:6
- 缓存数据库:Redis数量:4(主备)
- 网站安全性:WAF. DDOS