个人作业——软件产品案例分析
个人作业——软件产品案例分析
Part · 0 简 要 目 录
Part · 1 调 研 评 测
Part · 2 分 析
Part · 3 建 议 规 划
Part · 1 调 研 评 测
1.1 评 测
1.1.1 下载并使用,描述最简单直接的个人第一次上手体验
- 登 录 前
登 录 注 册 界 面:(年 轻 不 懂 事)
客户端登录界面虽然友好,但是!但是!但是!讲道理,手机账号和账号名(就是那个要各种格式要求的账户名)不应该是都能成功登录的,然而客户端只能用账户名!,那么设想一种情况,我因为对那个繁琐的格式要求不耐烦,随手输入了一堆又臭又长的用户名,那么注册完之后不就一首凉凉送给在做注册的各位?,虽然Web端是支持用手机号码登录的,但是既然做了客户端这个也要走心点吧,不然哪天电脑不在身,又要登录查看任务,账户名又是那种又臭又长balabala的那种,那结果应该是怒删这个APP,对于刚刚注册又不知道登录名是用户名的小伙伴,在输入手机号码和密码尝试登录却被APP提示密码错误、账户不存在,怕是只有
- 登 录 后:(骚 操 作 一 波)
对比Web端和客户端操作的反应速度,那简直一个是天,一个是地,建议亲自食用一波,感受一下,然后开始尝试一顿操作,一个最大的问题任务层次不明显,我先创建了一个任务Father,然后在这个任务里面在创建一个Son(APP显示的父工作项是Father),描述很清楚,层次很清晰的样子,但是退到项目界面后,你会惊奇的发现说好的逻辑层次呢?
附:
- TodoList 之 无 限 任 务:报告老板,我任务完成了,我真的完成了!!!
- 个 性 化: Only 清除缓存空间
1.1.2 按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个
- 什么是bug?
通过《构建之法》的学习,bug言简意赅就是说软件的缺陷,主要包括
a)症 状:从用户角度看,软件出了什么问题
b)程 序 错 误:从代码角度看,代码的什么错误导致了软件的问题
c)根 本 原 因:错误根源,即代码错误的根本原因
- APP bug?
a)工作项类型不匹配
b)登录账号问题
c)TodoList清单
d)项目不能删除
e)扫描二维码功能无效
1.1.3 用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.
a)在项目模式为Scrum下,在Backlog中新建工作项,工作项类型与初始界面类型不匹配,缺少Task
b)登录账号问题,在注册账号后,尝试用手机号码登录APP,出现如下错误,但是在Web端不存在此情况
c)客户端不能正确父任务子任务的描述关系,Web端正常显示
1.1.4 你觉得为什么这个产品组的人没有发现这些bug?
产品定位主打的就是Web端,所以对于APP的相关bug不会做太多的关注
1.1.5 假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)
流畅的用户体验
1.2 采 访
1.2.1 介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)
背景:计算机学生,目前在团队合作开发一个应用(强调!!!不是软工实践)
需求:需要一套集代码管理、团队管理等开发工具
1.2.2 让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)
1.2.3 描述用户使用这个产品的过程 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
- 使用过程
用户在登录的时候也遇到了和我一样的问题,注册之后直接拿手机号码当账号登录,尝试创建团队项目等功能,UI界面简单明了
- 用户的问题解决了么?
总体来说,能够解决了用户的问题
- 软件在数据量/界面/功能/准确度上各有什么优缺点?
优:能够和Web端的项目实时同步,便于管理
缺:注册界面不友好、APP功能太单一只有团队管理的功能,同样功能下会更倾向teambition,软件反应时间“过长”
- 用户体验方面有问题么?
注册界面单一,用户体验不够流畅
1.2.4用户对产品有什么改进意见?
- 对于客户端APP需要将功能逐步完善
1.2.5结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
- ★★★☆☆一般
Part · 2 分 析
2.1 使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。
- 项目开发时间:6-7个月理由:这个平台集代码管理、团队管理、代码测试等功能,功能之强大,无丰富的开发经验,很难做到功能如此完善的平台
- 优:功能强大,管理一体化
- 劣:源代码管理在
Github
应用广泛的当前背景下,代码迁移成本较大,用户群体少
- 建议:针对不同的用户群体,完善项目流程,不再局限于精简流程项目及Scrum流程项目,提高用户体验的流畅性
2.2 根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;
2.3 针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。
- 用户体验:★★★☆☆
- UI界面美观:★★★★☆
- 核心功能:★★★★☆
Part · 3 建 议 规 划
3.1 如果你是项目经理,如何提高从而在竞争中胜出?
完善功能,提高用户体验的流畅度,开发针对不同用户的开发云
3.2 目前市场上有什么样的产品了?
- Github
- Teambition
- SourceForge
- 码云
- CSDN code
3.3 你要设计什么样的功能?
交互
3.4 为何要做这个功能,而不是其他功能?
加强不同团队之间的交流,不同团队之间可以互相交流团队开发经验
3.5 为什么用户会用你的产品/功能?
社交功能是每一个开发平台都具有的,如teambition、Github,都有此功能,而且,从团队开发的角度去考虑可知,通过社交能够加强团队内部之间的交流
3.6 你的创新在哪里?可以用 NABCD 分析。
- N:用户开发过程,需要不断交流,才能够把握开发进度,团队每一个成员及不同团队之间也能不断进步
- A:在原有的版本基础上加入社交的功能
- B:通过加强交互,去扩大用户群体
- C:同款产品里,Github虽然在代码管理里更加强大,但是上手不易
- D:从学生的软工实践中逐步推广
3.7 如果你来领导这个团队,会有什么不一样?
针对不同用户,开发出不同版本,增加新手教程,提升用户的体验感
3.8 如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?
PS:5个人不包括自己
- 3个开发
- 1个测试
- 1个美工
3.9 描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。
周数 | 任务 | 说明 |
---|---|---|
1 | 任务的分配 | 开发过程中组员的任务细化分配 |
需求说明书 | 根据需求,细化说明,编写需求说明书 | |
思维导图 | 完成思维导图 | |
2 | 原型设计 | 根据需求说明书完成原型设计 |
风格确定 | 美工的设计 | |
3 | 编码规范 | 分析软件,编写编码规范 |
编码环境 | 确保团队的编码环境的统一 | |
4 | 编码初期 | 正式进行编码,审查项目进展 |
5 | 编码中期 | 审查项目进展 |
6 | Alapha版本发布 | Alapha版本的完成 |
测试 | 查找不足点,更改需求等等 | |
7 | Alapha版本的完善 | 根据上周的审查,改进不足之处 |
细节 | 改善用户体验 | |
8 | 继续完善 | 第一版本修改完毕 |
9 | 测试 | 对Alapha1版本的测试,提出要求 |
Alapha1版本的改善 | 进一步优化软件 | |
10 | 美工上线 | 对软件进行美化 |
Alapha1继续改进 | 连续两周的持续改进 | |
11 | Alapha2版本发布 | |
测试 | 继续测试软件的bug | |
12 | Alapha2版本的改进 | |
13 | Beta版本的发布 | |
修改需求说明书 | 查看和需求说明书的不同之处 | |
14 | 补缺补漏 | 根据需求说明书补缺补漏 |
15 | Beta1版本发布 | |
用户初体验 | 测试软件的bug | |
16 | 软件上线 | 发布产品 |
3.10 项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。
PS:考虑到访问量及用户体验流畅度
设备 | 配置 |
---|---|
应用服务器配置 | 4核8G x 12 |
后端服务器配置 | 8核16G x 16 |
关系型数据库 | SQL Server/Oracle/MySql数量:15(读写分离 x 12、备份 x 3) |
缓存数据库 | Redis 数量:10(主备) |
网站安全性 | WAF、DDOS |
关注用户高频使用时段对服务器的压力并做出处理 |
你打开前面那扇门的时候,身后的退路就会消失,自始至终,你都只有一条路走——Distance