Home 软件工程之美 09 | 需求分析到底要分析什么?怎么分析?

09 | 需求分析到底要分析什么?怎么分析?

0 74

通过前面的学习,我们知道在瀑布模型中,第二个阶段就是需求分析阶段,同时需求分析的结果也决定了后续的系统设计、开发、测试等阶段能否顺利如期进行。即使是用敏捷开发,同样也少不了对需求的分析整理。

 

什么是需求?

我们日常在项目中,经常会听到“需求”这个词,比如说:

  • 项目经理对产品经理说:用户给我们提了一个需求,想要一个给三个孩子玩的秋千,你分析一下;
  • 产品经理对架构师说:我们现在有一个需求,在树上拴两绳子,再吊一块板子,你做一下设计。

很明显,这两个需求的意思不一样,前面这个需求是用户需求,后面这个需求是产品需求。用户需求是由用户提出来的,期望满足自身一定需要的要求,例如用户说:“想要一个给三个孩子玩的秋千。”这种原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求

产品需求就是在分析提炼用户真实需求后,提出的符合产品定位的解决方案。就像上面“在树上栓两绳子,再吊一块板子”,就是产品经理针对用户需求提出的解决方案。

 

需求分析是要分析什么?

需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。

而针对每个用户需求的需求分析过程,需要经过三个步骤。

第一步:挖掘真实需求

大部分用户提出的需求都不是真实需求,要分析用户的真实需求,可以从三个角度入手。

  1. 目标用户:用户不同,诉求也不一样;
  2. 使用场景:使用场景不一样,解决方案也会有所不同;
  3. 想要解决的问题:用户背后想要解决的问题是什么。

第二步:提出解决方案

我们知道了目标用户,其使用场景和想要解决的问题,就可以结合产品定位,提出相应的解决方案

比如针对想要“更快更舒适的出行方式”日常出行的乘客,我们就可以提出汽车的解决方案,而不一定要局限于马车,汽车能更好的满足用户需求。

针对三个孩子想有一个在户外一起玩的娱乐设施这个需求,我们可以提供一个轮胎式的秋千,就可以很好的满足他们的需求,我们甚至可以建一个小型游乐园。

第三步:筛选和验证方案

在提出方案后,我们需要对方案进行筛选,比如对于秋千项目,建小型游乐园的方案虽然能满足需求,但是成本太高,需要排除掉。

在选好方案后,还需要对方案进行验证,以确保方案能解决用户需求。

在传统瀑布模型中,选定方案后,会写成产品设计文档,走相应的评审流程,评审完成后再进行设计、开发和测试,测试完成后会让客户再进行验收。而敏捷开发,在整个开发过程中,每个迭代或者关键的里程碑,也一样需要客户进行验收。通过以上三步,就可以对用户需求进行提炼分析,最终形成产品需求。

 

怎么做需求分析?

前面我介绍了对单个用户需求的分析,主要经过三个步骤:

  • 第一步:挖掘真实需求;
  • 第二步:提出解决方案;
  • 第三步:筛选和验证方案。

而软件项目的用户需求,从来就不是单一的,而是一系列需求,所以对于软件项目的需求分析,还需要增加收集整理的步骤。整个过程是迭代进行的,如下所示:

  • 收集需求:对用户需求进行收集整理;
  • 分析需求:对需求进行分析,挖掘用户真实需求;
  • 需求评估:筛选过滤掉不可行的需求;
  • 需求设计:针对用户需求提出解决方案,设计成产品方案;
  • 验证需求:验证方案是否可行。

 

总结

今天带你一起学习了软件工程中一个非常重要的知识点:需求分析。

需求分析,就是一个将用户需求变成产品需求的过程

要做好用户需求的分析,需要找出来隐藏在用户需求背后的真实需求,还要针对用户的真实需求提出解决方案,最终验证方案是不是能满足好用户需求。

需求是整个产品的源头,很多软件项目失败的原因就在于没有做好需求分析,软件中很多浪费也来源于需求没想清楚导致的返工。

做好需求分析对于软件项目来说非常的重要。要做好软件项目的需求分析,需要做好需求的收集整理工作,然后对收集好的需求进行科学的分析,评估是不是可行以及划分优先级,对可行的需求项进行设计,最后还要验证设计出来的结果是不是满足需求。

SIMILAR ARTICLES

发表评论

发表评论