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


第一部分、调研,评测


评测:

下载并使用,描述最简单直观的个人第一次上手体验。
  • 首先从注册开始,就有一个企业/个人注册和子账户注册,从这一步开始就体现了一个团队的管理,管理者可以通过添加子账户,使每个成员可以通过子账户登录进入团队,方便团队的统一管理。
  • 然后就是进入项目管理,可以添加多个项目,并添加工作项,最大的感受就是工作项的分类非常详细,有优先级,重要程度,模块等。之前团队使用的是github的管理,里面的工作项的分类只是可以加标签区分而已,没有这么细化。并有燃尽图,趋势图,工作项完成度,项目需求以及遗留缺陷统计,可以非常直观查看整个项目的状态。github添加工作项生成的燃尽图,而且界面不算是那么精美,对比之下就十分简陋了。测试部署等等其他的功能也都一体化了,就避免了使用多个网站软件的麻烦,让团队管理集中更方便。
  • 界面精美友好,操作也很方便,功能也非常齐全。
按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。
  • 一开始看到这个题目的时候就脑袋大,华为耶,大公司耶,而且这个网站还是比较成熟靠谱的,如果有功能性比较严重的bug,肯定早就解决了,(纯粹出于大公司的信任),然后就就一直在不断找bug,web端的bug是实在没有找到。
  • 然后是app端,感觉这个登录界面不是很友好啊,web端上登录用手机号是可以的,app上提示的是选择输入帐号,那么通常我们都会选择输入注册的手机号,but:

只有用用户名登录才可以,这个感觉很不好啊,感觉这个方面应该要去完善吧,万一有些人注册的时候取了顺手打了乱码用户名,那在app上登录就可能想不起来自己的用户名。app上的内容就少了很多,试用过程中并没有发现bug。

你觉得为什么这个产品组的人没有发现这些bug?
  • 每一个产品不可能是完美的,都会有或多或少的bug,有些bug是在不同环境下测试才会出现的,bug的出现有时候也需要时机。
假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。
  • 架构和部署运维吧,这个产品就是给用户进行软件开发部署的,有一套成熟的架构体系肯定是很重要的,也需要很强的安全性,需要不断去运行维护。

采访:

1.介绍采访对象的背景和需求
  • 数据挖掘和后台系统研发人员,无别的需求
2.让采访对象使用华为软件开发云

3.描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?
  • 打开产品网页,浏览了一下大概功能,用户的问题可以解决一大部分,软件功能还好,就是需要收费,价格昂贵,自定义配置的需求不能满足,很多需求对于实际开发不实用,安全性保障不确定。存储空间不满足,对于研发人员,这种云使用的频率不会太高,因为开发人员的个人配置非常个性化,没办法束缚。
4.用户对产品有什么改进意见?
  • 同类太多产品,程序员基本都有自己的变成个人习惯和配置开发环境,云的环境太一般
5.经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:
  • 一般

第二部分、分析


使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。

  • 如果让我说出一个估计时间,实在是拿不准,要考虑的因素也挺多,而且此软件是感觉需要技术性比较高的,团队人数的水平怎么样也需要一个标准。本产品所包含的功能很多,既有web端又有app端,又是大型而且成熟的云服务平台,需要的安全性能肯定要比一般的产品更高,才能让用户信任你,使用你,考虑各种安全性,稳定性测试,等到稳定后才能发布。参考了《构建之法》的8.6和14.1,还是不太懂得如何估计这个时间,这个项目对现在的我们来说可以说是十分庞大的了,六个人的话,一年?

分析这个软件目前的优劣(和类似软件相比)

优势
  • 研发人员成熟,项目经历丰富,在传统大中型企业有良好的口碑以及成熟丰富的解决方案。在一些传统的行业相较于一些互联网公司会有天然的优势。
  • 在云上进行项目管理,比传统管理模式会方便不少,操作较为简单,比较容易上手。
劣势
  • 阿里云这些互联网巨头由于自身业务关系,有丰富的Iaas服务经验,产品研发和创新能力强。华为云只是传统的IT企业,主要研发一般都是在硬件上,如果相较来说,肯定阿里云这些云平台会更成熟一点。服务种类相对其他来说不算多,而阿里云在云平台方面处于领先地位,各个方面都很强。
  • 阿里云这些的主流客户包括互联网企业,以及个人开发者,而华为云的主流客户主要是传统大中型企业。如果是个人开发的话,若是二者模式差不多,或许更多人会选择阿里云。
  • 如果是学生或者个人开发者,会比较注重价格方面的问题,相较之下,华为云的价格没有什么竞争力,别的云平台更高的优惠或者套餐活动。

推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。

  • 就主流客户而言,每个平台都会有不同领域的主流客户,而我们软件的主流客户也只限定于福大的学生,如果可以从客户方面来提高的话,可以在以后将各个学校都引入,分类,扩大用户面。

根据理解和体验,画出整个软件所有功能逻辑框图,根据重要度标识出各模块的重要度、完成度、出发点及效果;

针对不同的维度评分,对用户体验方面、UI界面美观度、核心功能,分别打分。

维度 评分(满分10分)
用户体验 9.2
UI界面美观度 8.8
核心功能 9

第三部分、建议和规划


如果你是项目经理,如何提高从而在竞争中胜出?

  • 和客户交谈,组织调查,根据用户需求的多样化并尽量实现,了解比较竞争对手的产品,分析自己的不足来提高项目的水平。团结整个团队,只有团队团结了,才会让项目更好的进行。

目前市场上有什么样的产品了?

  • 阿里软件开发云

你要设计什么样的功能?

  • 可以进行自定义构建环境类型

为何要做这个功能,而不是其他功能?

  • 根据前面对老哥的采访,他说到程序员有的会有自己个人习惯和配置开发环境,现在的开发环境就有些束缚了,适合新手,但是对于一些专业的开发人员,他们的个人配置非常个性化,可能就不会选择这种云端开发。如果可以对自定义配置环境,扩大自由度,可以让用户层更广一些。

为什么用户会用你的产品/功能?

  • 对于配置环境,既可以根据类型由云端直接构建,也可以进行自定义配置,各类开发者可以根据自己的需求自行选择。

你的创新在哪里?可以用 NABCD 分析。

  • N:构建环境有配置模版,但是没有自定义配置
  • A:根据用户的需求,设定一些自定义配置
  • B:开发人员可以实现自己个人的配置习惯
  • C:云端开发还没有这个模块功能,竞争力度大
  • D:向一些专业的开发人员推广,若有好的口碑,界内都会相传

如果你来领导这个团队,会有什么不一样?

  • 我会更看重用户的需求,并根据这个市场的情况变更进行任务分配,学会用发展的眼光看问题。要有足够的领导力来团结团队的各个成员,调整分配好各个成员的任务,只有团队之间有良好的关系才会使团队效率更高。

如果你的团队有5个人, 4个月的时间,你作为项目经理,应该如何配置角色(开发,测试,美工等等)?

  • 一个美工,一个测试,三个开发人员,美工和测试的任务会相对开发人员少一些,所以他们可以在自己的任务空档期帮助三个开发人员。

描述你的团队在16 周期间每周都要做什么,才能在第16周如期发布软件,大小里程碑绩点设定。

时间 任务
1 调研,获取用户需求
2 需求分析,撰写需求规格说明书
3 原型设计,设计文档
4 数据库设计,制定编码规范
5-9 Alpha版本
10 debug,制定增强计划
11-13 Beta版本
14 复审,测试
15 推出内测版本,收集客户使用反馈
16 根据反馈进行改进,发布

项目发布后,有没有考虑过项目该怎么部署才能满足需求。依据下图(某校教务处系统的部署)作为参考,分析16周后你所完成的项目上线需要哪些配套设备(服务器、带宽、数据库需求数量与配置) 。

  • 暂时还没有考虑到如何部署,根据参考的话
    应用服务器配置:4核8G2
    后端服务器配置:8核16G
    3
    关系型数据库:Mysql 数量:3(读写分离2,备份1)
    缓存数据库:Redis 数量:2(主备)
    关注同学的最大使用时间段对服务器的压力
posted on 2017-11-30 23:41  reset-  阅读(149)  评论(0编辑  收藏  举报