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

第一部分 调研,评测

评测:

1.下载并使用,描述最简单直观的个人第一次上手体验。

  • 首先我进入的是web端,注册登录后进入首页,第一个问题就是web端首页没有android或ios的下载路径,web端比较成熟,界面良好,功能比较繁杂且完善,不明觉厉,就没怎么测试,就不再赘述。接着我百度了好久才找到devcloud的Android app。由于在web端已经注册过了,安装后进行登录,发现不能用手机号登录,只能用起的用户名登录,功能非常不友好,而且区域只包含了东北和华北,区域分区应该更科学一点。进入app后,看到首页,经过简单试用,感觉功能确实比较完善,界面较为朴素,一个问题就是功能跳转都要加载一段时间,不太友好。相对于github来说,这样纯中文的界面当然会更亲切,而且不在使用git,界面更友好。

2.按照描述的bug定义,找出几个功能性的比较严重的bug。至少两个。

  • 在上传附件的拍照时可能会闪退。
  • 处理人(非队长)也有权限可以改变处理人。

3.用专业的语言描述(每个bug 不少于 40字),如有必要,可以配图.

  • bug主题:当每次刚启动app时,任一[demo]模块的任一[工作项]页面,[上传附件]选择[拍照]时,会出现“项目不存在或项目已被删除的提示”后并闪退错误。
    参数设置: [拍照],Android 4.4.4,DevCloud 3.12.2.8,[工作项],严重程度高、优先级高
    详细描述
    1)(每次启动)在[demo]->[工作项]页面下;
    2)选择[上传附件]按钮;
    3)在弹出框列表中,选择[拍照]按钮,点击拍照。
    4)黑屏几秒后回到首页并提示信息“项目不存在或项目已被删除的提示”一小会儿后闪退。

  • bug主题:当队长分配工作项后,[demo]模块的分配[工作项]页面,处理人(非队长)有权限修改[处理人],提示“工作项已更新”,也就是可以把工作推给别人。
    参数设置: [处理人],Android 4.4.4,DevCloud 3.12.2.8,[工作项],严重程度中、优先级高
    详细描述:
    1)(当工作项分配后)在[demo]->[工作项]页面下;
    2)选择[处理人]-[选择处理人];
    3)在处理人列表,选择任意不是已是处理人的[用户名];
    4)app弹出“工作项已更新”;


4.你觉得为什么这个产品组的人没有发现这些bug?

  • 我觉得产品组没有发现bug的原因可能有:开发人员或许没有学习过完整全套的软件工程;开发人员之间欠缺交流,导致功能或界面之间出现bug;未做版本兼容测试;测试者未发现一些比较隐藏的bug,;开发时未做更深入的测试,比如测试时并不是首次启动或多次测试。

5.假设你们团队需要开发这套系统,需要注意哪些方面(架构、部署运维、微服务等)。

  • 假设我们团队需要开发这套系统,需要注意微服务开发、部署、运维、架构,以及人员的最佳实践;还有软件定位、用户分析、APP功能分析、UI设计,以及做好产品相关等。

采访:

第8章 用户调研,12 章 软件的用户体验,
相信每个同学的朋友中一定有人需要用这样的软件,记载你对这位用户的采访。例如使用下面的采访提要:

1.介绍采访对象的背景和需求(他们有没有用过这个APP或类似的APP,除了现有的功能还有别的需求么)

  • 采访对象的背景和需求:吴君毅,大学计算机专业学生,他没有用过这个APP。除了现有功能,他们还需要比如搜索用户名或手机号添加队友;还有将项目的管理功能,比如已完成和进行中;还有消息提示功能,比如红色数字或红点或震动。

2.让采访对象使用华为软件开发云(请上传照片证明用户的确正在使用,远程采访的同学请让别人帮忙照相)


3.描述用户使用这个产品的过程, 用户的问题解决了么?软件在数据量/界面/功能/准确度上各有什么优缺点?用户体验方面有问题么?

  • 用户首先注册并登录,然后选择“我的”查看“帮助”和“关于”;然后查看“待办”界面和“消息”界面,然后选择项目并新建了一个项目和工作项并进行相关的功能查看和操作。
    用户的问题并未解决。
    用户体验方面主要是界面不太熟悉,第一次使用有些功能隐藏太深。
优点 缺点
数据量 按钮,标签不多但完整且标识明确,跳转也相对正确,数据量较少且明确 主要功能和界面比如工作项数据量较多繁杂且密集
界面 界面较为简单朴素,但条理清晰明确一目了然,布局也分布均衡,没有违和感,一眼就能看到所需要的东西,按钮,标签,输入框的大小也分配合理 刚使用时,界面过于朴素,犹如一张白纸,首页进来时可以更美观一点,界面之间的跳转应该更流畅一点。可以加一些点击动画等
功能 功能较为齐全,也有一定的创新,满足用户使用习惯需求,功能简单明了,隐藏性不深,一目了然,容易上手和操作 登录功能应实现手机号码登录,还有应添加项目管理功能,比如未完成和已完成。还有工作项的批处理功能。
准确度 按钮,标签,文本框完整且准确,功能实现较为正确,界面跳转非常正确。提高了开发的敏捷性和,提高了任务的分配和完成的准确度,方便管理和实现 界面跳转虽然准确,却总是需要加载,让人失去耐心。应添加联网自动刷新,比如消息,demo邀请,工作项分配,还有评论时都需要人工刷新,应提高人员交互的准确度

4.用户对产品有什么改进意见?

  • 可以添加一些个人信息设置,可以添加一些点击动画,跳转动画可以更美观。UI界面可以设计得更友好,可以添加批处理功能,项目和工作项功能需要完善,还有就是修复bug。

5.结论:经过这么多工作,你一定有充分的理由给这个软件下一个评价,请选择一个结论:

  • 一般。

第二部分 分析

参考 8.6 节 对工作的估计, 和14.1 节 软件工程的质量

1.使用此软件的大部分功能,联系第二部分的分析,估计这个项目做到这个程度大约需要多少时间(团队人数6人左右,计算机大学毕业生,并有专业UI 支持)。 分析这个软件目前的优劣(和类似软件相比),并推理出团队在软件工程方面可以提高的一个重要部分(具体建议)。

  • 2个月
  • 优点:开发技术简单,研发周期短,平台特性好,有一定的功能创新,界面朴素简单,容易上手,功能齐全,迎合大众口味,bug少,稳定性高,逻辑清晰,简单易用。
  • 缺点:竞争性不足,处理问题不够高效,UI不够精致,使用情景和使用方式需要优化,没有可定制功能,更新速度慢,平台支持及兼容性较差。

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


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

  • 用户体验方面--7分
  • UI界面美观度--7分
  • 核心功能--8分

第三部分 建议和规划

参考《构建之法》第8章 功能的定位和优先级;第9章 项目经理
这个软件有很多可以提高的部分。

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

  • 如果我是项目经理,我会进行创新和微创新,推出竞争产品所没有的功能;还有注重用户体验,可以根据时代潮流设计更迎合大众口味的app;还有就是做好软件本身,比如更健全的功能,更好的UI,更好的微服务,更小的内存;最后当然离不开广告和用户推广了,我会进行有效的传销等渠道进行推广。

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

  • 目前市场上有GitHub(一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管),TeamLab(主要功能包括:项目管理、里程碑管理、任务、报表、事件、博客、论坛、书签、Wiki、即时消息等等),禅道(它集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能,是中小型企业项目管理的首选),NavalPlan(一个基于Java语言开发Web的项目规划,监测和控制软件。NavalPlan可以有效地用于管理任何类型的项目。),ProjectForge(一个基于Web的项目管理解决方案包括:工时表(Timesheet)、费用管理、项目甘特图,控制和管理工程分解结构。集成JiRA做为问题管理系统。),kunagi(是一个Java Web应用程序。Kunagi 提供了集成的项目管理工具,便于项目团队进行协作开发。Kunagi 提供了类似桌面软件的 Web 接口,非常便于使用)。

3.你要设计什么样的功能?

  • 我要设计可以绑定博客园,可以实时浏览博客论坛和发表博客的功能,还有完善项目管理功能,比如生成项目燃尽图,甘特图,鱼骨图等。

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

  • 通过写博客,记录下自己的遇到的问题和学习心得或自己的学习总结还有自己的一些小方法。通过写博客,可能自己日后会用到,还有就是可以分享给别人,而且别人也可以百度到自己的文章,而且可以结交朋友,提高知名度,提高文档能力,还有碎片化学习,提升思维能力,帮助自己养成好习惯,而完善项目管理功能,可以实时监督和管理项目进程。

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

  • 用户通过我的app,不仅可以用于软件开发的项目和工作的管理,还可以随时写博客来记录自己的一点一滴,通过写博客来提高自己的相关能力,通过燃尽图等可以实时查看工程进度,适时调整自己的状态和工作进度。可以增进团队中的交流和简化任务分配。

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

  • 我的创新在可以实时写博客,而不用再打开网页或下载另一个app,当然只是博客的部分功能,却足以够用。
  • N--need需求:现在的团队软件开发是所有程序员经常会做的,那么一款可以管理和分配团队项目的app必是十分必要的,而且现在开发过程中或结束后需要写一些总结报告,学习心得的博客,因此我们的app是最好的选择。
  • A--approach:程序员不仅可以利用app来管理团队项目,也可以绑定博客园进行写博客。
  • B--benefit:这样程序员可以有优质团队项目的管理,也可以不用下载或上去浏览器直接写博客。
  • C--competitors:在其他的此类app中,我们认为它们的功能并不完全,我们的app有更好的项目管理功能和开发项目测试,还有所没有的写博客功能,实时分享。
  • D--delivery:我们可以先自己用,然后推荐给同学和朋友用,并对他们提出的问题进行改正。然后放在下载的平台上,提供给更多的人使用,正确对待他们可能提出的问题。

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

  • 如果我来领导这个团队,我会健全和完善功能,让界面更友好,UI更精美,增加一些特有功能,并进行多轮测试,减少bug,还有会提供更好的服务,实时关注用户的意见和建议。

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

  • 项目经理兼产品经理--1人
  • UI设计师兼数据库架构师--1人
  • IOS和Android客户端工程师--2人
  • 测试工程师兼运营人员兼推广人员--1人。

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

  • 需求分析--2周
  • UI设计--2周
  • 应用开发--7周
  • 系统测试--2周
  • 试运行--2周
  • 产品上线--1周

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

应用服务器配置:4核8G "2
后端服务器配置:8核16G'3
数据库服务器: SQL Server/ Oracle/MySgI数量:3(读写分离.2、备份1)
缓存数据库:Redis数量:2(主备)
网站安全性:WAF. DDOS

posted @ 2017-12-02 16:49  霸气发哥  阅读(469)  评论(1编辑  收藏  举报