您当前的位置:首页 > 计算机 > 编程开发 > 软件工程

软件工程之需求分析

时间:05-17来源:作者:点击数:

什么是需求?

需求分析,就是一个将用户需求变成产品需求的过程。要做好用户需求的分析,需要找出来隐藏在用户需求背后的真实需求,还要针对用户的真实需求提出解决方案,最终验证方案是不是能满足好用户需求。

  • 用户需求是由用户提出来的,期望满足自身一定需要的要求,例如用户说:“想要一个给三个孩子玩的秋千。”这种原始的用户需求通常是不能直接做成产品的,需要对其进行分析提炼,最终形成产品需求。
  • 产品需求就是在分析提炼用户真实需求后,提出的符合产品定位的解决方案。就像上面“在树上栓两绳子,再吊一块板子”,就是产品经理针对用户需求提出的解决方案。

需求分析是要分析什么?

  • 需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。而针对每个用户需求的需求分析过程,需要经过三个步骤:
    • 第一步:挖掘真实需求:大部分用户提的需求,都不见得是其真实的需求,需要透过现象看本质,去挖掘其背后真实的需求。
      • 要分析用户的真实需求,可以从三个角度入手
        • 目标用户:用户不同,诉求也不一样;
        • 使用场景:使用场景不一样,解决方案也会有所不同;
        • 想要解决的问题:用户背后想要解决的问题是什么。
    • 第二步:提出解决方案:知道了目标用户,其使用场景和想要解决的问题,就可以结合产品定位,提出相应的解决方案。
    • 第三步:筛选和验证方案:在提出方案后,我们需要对方案进行筛选。在选好方案后,还需要对方案进行验证,以确保方案能解决用户需求。

怎样做需求分析?

  • 对单个用户需求的分析,主要经过三个步骤:第一步:挖掘真实需求;第二步:提出解决方案;第三步:筛选和验证方案。而软件项目的用户需求,从来就不是单一的,而是一系列需求,所以对于软件项目的需求分析,还需要增加收集整理的步骤。整个过程是迭代进行的,如下所示:
    在这里插入图片描述
  • 收集需求:对用户需求进行收集整理;
  • 分析需求:对需求进行分析,挖掘用户真实需求;
  • 需求评估:筛选过滤掉不可行的需求;
  • 需求设计:针对用户需求提出解决方案,设计成产品方案;
  • 验证需求:验证方案是否可行。

用户需求背后的真实需求有三个层次:

  • 表层需求:用户对解决问题的期望,例如马车更快;
  • 深层需求:用户的深层次动机,诉求产生的原因,例如乘客对出行速度的要求;
  • 底层需求:人性本能的需求,例如对安全感对舒适的追求。

原型设计

简单来说快速原型模型就是,第一阶段确认界面布局和内容,第二阶段确认交互,第三阶段实现。

  • 原型开发,从一个软件开发模型,逐步演变成了一个需求设计工具,让产品经理不用依赖程序员就可以作出逼真的产品原型,也大大降低了项目成员了解需求的难度。
  • 原型设计,让产品经理可以用最小的代价完成产品特性,逐步成为产品经理确认需求、设计产品最重要的沟通工具。原型设计工具有很多可以选择的,建议从面向的平台、保真度、功能和价格等多方面因素综合考虑。

要做好原型设计,可以结合工程方法,分成四个阶段:分析、设计、实施和验证。

  • 分析阶段,搞清楚用户的需求,原型设计的目标;
  • 设计阶段,划分好产品的信息架构,设计好产品操作的流程;
  • 实施阶段,按照设计的结果,对每个界面制作原型,并做好界面之间的链接;
  • 验证阶段,和项目成员、客户进行确认,收集意见反馈,根据反馈进行修改。

工程方法

在这里插入图片描述

产品意识

产品意识,本质就是一种思维方式,一种站在产品角度思考问题的方式。

如果细分一下,产品意识包含:商业意识、用户意识和数据意识。

  • 商业意识,就是所做的产品是要有商业价值的。比如说成功的商业产品有 Windows、iPhone、Google 等,这些产品不仅满足用户需求,同时也能创造商业价值,让这些公司变成成功的商业公司,雇用了大批优秀的程序员,从而可以继续研究更多产生商业价值的产品。商业意识的另一方面其实是成本,成本意识也是程序员容易忽视的。
  • 用户意识,就是说做产品时,你要能挖掘出用户的真实需求,让产品有好的用户体验。这需要你要有同理心,能站在用户的角度去思考和体验产品。
  • 数据意识,就是在产品设计、产品运营时,通过数据来发现问题、证实结果。

如何培养产品意识?

  • 首先要解放思想:解放思想,其实就是说,对于程序员,不要总是单纯的用技术眼光看问题,也可以从产品的角度看问题。

技术思维会关注用什么技术,关注技术细节,关注功能“如何”实现;产品思维会关注用户体验,关注一个功能所创造的价值,会去思考为什么要或者不要一个功能。

  • 然后要改变习惯:改变习惯是是指在日常使用产品、开发产品的时候,多站在产品的角度思考,去思考它的商业价值、用户体验、使用场景等等。
  • 最后要多实践:光有理论还不够的,最好能自己实践一下。

程序员的价值体现,主要体现在两方面:所创造产品的价值和自身的稀缺性。程序员有产品的意识,可以帮助产品和自身提升价值。

  • 产品意识,主要包括商业意识、用户意识和数据意识。要提升产品意识,首先要解放思想,然后要改变习惯,最后要多实践。
  • 当你慢慢培养了产品意识,不仅可以通过技术来打造更高价值的产品,也可以让你在技术之外有一技之长,能在项目中创造更大价值,减少技术快速革新带来的焦虑感。

需求变更

  • 软件工程中需求变更产生的原因。需求频繁变更,主要是由于需求不确定和变更成本过低导致的。并由此提出了三种不同的解决方案。
    • 提升需求确定性,来减少需求的变更。这种方案的优势就是对需求理解透彻,后期返工少,缺点是对产品经理的需求分析能力要求很高。
    • 提高需求变更的成本,规范需求变更流程,减少需求变更。这种方案的优势就是可以马上起到效果,缺点就是过于繁琐的流程不利于项目协作。
    • 降低响应需求变更的成本,积极应对需求变更。这种方案的优势在于可以快速响应需求变更,能快速试错尽快调整,缺点在于对软件架构和项目管理要求比较高。
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门