当前位置:   article > 正文

软件工程学习笔记7——需求分析篇_软件工程需求分析知识点总结

软件工程需求分析知识点总结

一、需求分析

1、需求分析的重要性

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

可以说需求就是整个产品的源头,所以需求分析的结果往往决定了产品的成败。如果没有正确把握客户需求,可能就会一步错,步步错!

2、需求分析是要分析什么?

其实对用户需求的分析,不是一个动作,而是一个过程。需求分析,就是对用户需求进行提炼分析,最终形成产品需求的过程。

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

(1)挖掘真实需求

大部分用户提的需求,都不见得是其真实的需求,需要透过现象看本质,去挖掘其背后真实的需求。

就像福特汽车创始人亨利福特说过的: 如果我最初是问消费者他们想要什么,他们应该是会告诉我,“要一辆更快的马车!”

要分析用户的真实需求,可以从三个角度入手。

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

(2)提出解决方案

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

(3)筛选和验证方案

3、怎样做需求分析

在这里插入图片描述

(1)收集需求

收集用户需求有很多方法,比如头脑风暴、用户调研、竞品分析、快速原型

(2)分析需求

收集了需求,就要分析用户的真实需求,这是最难的部分,也是最体现产品经理需求分析水平的地方。

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

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

(3)需求评估

需求收集分析完了后,还需要进一步评估,以决定做还是不做,优先级如何,先做哪些再做哪些。

需求评估考虑的因素有:

  • 可行性:技术能否实现。
  • 成本:人力成本、时间成本。
  • 商业风险和收益:有没有商业上的风险,收益是否合理。
  • 紧急性与重要性:是不是用户迫切的需求。

如果确定可行,还需要评估其优先级。评估优先级一个简单的方案就是用“紧急重要四象限”的方法来区分:
在这里插入图片描述
复杂一点的有 KANO 模型,如下图所示。
在这里插入图片描述

  • 红色曲线,是用户认为必须要有的功能。
  • 绿色曲线,就是用户明确提出的需求。
  • 黄色曲线,属于兴奋型需求,就是用户自己没想到,超出预期的功能。

(4)需求设计

在需求设计的时候,可以用草图、原型设计工具、界面设计工具进行设计。

在需求设计阶段,可以参考其他成熟的产品。

(5)验证需求

在需求设计好后,还需要进行验证,看解决方案是否能满足用户的需求。

对需求的验证方式其实是贯穿整个软件项目生命周期的。现在很多互联网产品,还有一种基于数据的验证需求方式,也就是 A/B 测试

设计好一个功能上线后,并不直接让所有用户使用,而是先给一小部分用户使用,然后分析数据,看使用这个功能的用户群和不使用这个功能的用户群,在营收、访问量、活跃度等关键数据上是更好还是更坏。如果好,就加大比例,如果数据不好,可能就会调整甚至取消这个功能。

二、原型设计

原型开发,从一个软件开发模型,逐步演变成了一个需求设计工具,让产品经理不用依赖程序员就可以做出逼真的产品原型,也大大降低了项目成员了解需求的难度。

原型设计,让产品经理可以用最小的代价完成产品特性,逐步成为产品经理确认需求、设计产品最重要的沟通工具。原型设计工具有很多可以选择的,建议从面向的平台、保真度、功能和价格等多方面因素综合考虑。

1、怎么做好原型设计

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

  • 分析阶段,搞清楚用户的需求,原型设计的目标。

  • 设计阶段,划分好产品的信息架构,设计好产品操作的流程;可以借助画产品的信息结构图和产品使用流程图来进行设计。在这里插入图片描述

  • 实施阶段,按照设计的结果,对每个界面制作原型,并做好界面之间的链接;要优先考虑满足产品需求,然后是让界面好看好用。

  • 验证阶段,和项目成员、客户进行确认,收集意见反馈,根据反馈进行修改。

2、如何选择合适的原型设计工具

原型设计工具,选择非常多。建议可以从以下几个维度考虑:

  • 面向的平台:Web、桌面、手机。
  • 保真度:中等保真度还是高保真度。
  • 功能:是否满足你的要求。
  • 成本:价钱是否可以接受。

推荐的几款主要的原型设计工具:

  • Axure RP:Axure RP 曾一度是原型设计工具的代名词,历史悠久功能强大,可以制作网站、桌面软件、移动 App 的原型。 缺点是专业度较高,价格高。
  • 墨刀:墨刀是一款优秀的国产原型设计工具,可以制作网站、桌面软件、移动 App 的原型。上手相对容易,价钱也较 Axure 便宜很多。
  • Adobe XD:Adobe XD 是 Adebe 出的一款设计兼原型设计工具,可以制作出高保真原型,对于设计师尤其容易上手。
  • ProtoPie:ProtoPie 是一款高保真原型设计工具,不需要编程基础,可以做出逼真强大的交互效果。
  • Framer X:Framer X是一款高保真的原型设计工具,功能很强大,但是需要一定的编程基础,尤其适合程序员使用。

三、产品意识

1、什么是产品意识

产品意识,本质就是一种思维方式,一种站在产品角度思考问题的方式。如果细分一下,产品意识包含:商业意识、用户意识和数据意识。

(1)商业意识

所谓商业意识,就是所做的产品是要有商业价值的。成功的商业产品不仅满足用户需求,同时也能创造商业价值。

其实很多程序员也有做产品的梦想,而且也有人付诸行动,业余时间做了不少产品,但是鲜有成功的。其中一个根本的原因就是,他们做的产品其实没有什么商业价值。

商业意识的另一方面其实是成本,成本意识也是容易忽视的。

如果程序员有商业意识,就可以在项目中有更好的成本意识,为项目节约时间、经济等成本,帮助团队打造更有价值的产品。

(2)用户意识

所谓用户意识,就是说做产品时,你要能挖掘出用户的真实需求,让产品有好的用户体验。这需要你要有同理心,能站在用户的角度去思考和体验产品。

(3)数据意识

所谓数据意识,就是在产品设计、产品运营时,通过数据来发现问题、证实结果

典型的有 A/B 测试,通过数据来发现用户更喜欢哪个功能,哪个功能带来更多的收入。

2、如何培养产品意识

(1)首先要解放思想

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

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

(2)然后要改变习惯

改变习惯是是指在日常使用产品、开发产品的时候,多站在产品的角度思考,去思考它的商业价值、用户体验、使用场景等等。

(3)最后要多实践

四、如何应对需求变更问题

在需求变更这个事情上,没有赢家,每个人都是受害者。

1、常见解决方案

(1)增强需求变更流程,让需求变更规范起来。
(2)快速迭代,缩短版本周期。

2、如何解决需求变更问题?

首先,你需要意识到,在软件项目开发中,需求变更其实是不可避免的,一味抵制需求变更也是不可取的。

你能做的就是利用软件工程的知识,理解需求变更背后深层次的原因,找到合适的方案来改善,积极拥抱合理的需求变化,减少不必要的需求变更。这是大的前提条件,也是共识的基础。

  • 提升需求确定性。设计高保真的原型,如用axure,不仅仅是画框图,还要加各种响应事件等;但对产品经理的需求分析能力要求很高。
  • 提高需求变更的成本。让客户或者产品经理不能太容易就变更需求,这样就可以达到减少需求变更的目的。但过于繁琐的流程不利于项目协作。
  • 降低响应成本。降低响应需求变更的成本,可以方便快捷地响应需求变更。但对软件架构和项目管理要求比较高。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/910825
推荐阅读
相关标签
  

闽ICP备14008679号