个人作业——软件产品案例分析

个人作业——软件产品案例分析

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
关注用户高频使用时段对服务器的压力并做出处理
posted @ 2017-12-02 19:31  Distances  阅读(268)  评论(1编辑  收藏  举报