如何进行需求分析?

article/2025/8/31 0:45:57

这篇文章是软件工程系列知识总结的第四篇,前面的几篇文章聊了软件工程的基础理论和项目管理相关的知识。这篇文章,我会将软件工程中关于需求分析相关的知识进行总结梳理,并以自己理解的方式进行阐述。

需求分析在分析什么

做技术的同学对于需求应该是既爱又恨,一方面软件产品的源头来自于需求,另一方面日常工作中面对需求的不明确和经常变更,只能无能狂怒。日常的工作流中,需求分析和需求评审的结果往往决定了这个版本交付质量的好坏。

需求的来源有多种,有用户建议、客诉工单,也有通过对市场调研和判断,得出的一些结果需要进行验证。需求分析是一个过程,这个过程主要有如下三个步骤:

  • 挖掘真实需求;
  • 提出解决方案;
  • 筛选验证方案;

举个例子:

用户客诉:有用户反馈某电商APP下单不方便,给了差评;

挖掘需求:用户常用的支付方式是支付宝,但该APP暂不支持;

解决方案:应该支持多种支付渠道,比如支付宝、微信等支付渠道;

筛选验证:调研活跃和潜在用户使用占比较多的支付渠道,按优先级去接入这些支付渠道;

产品需求的来源不是单一的,而是一系列的需求来解决用户的痛点,不断迭代不断改进,从而做出更好的软件产品。完整的需求分析流程应该是一个闭环,整个过程需要迭代进行,如下图:

图片

收集需求:对需求进行收集整理(头脑风暴、用户调查、竞品分析);

分析需求:分析用户需求,挖掘真实需求(表层是支付宝支付,深层是多支付渠道,底层是便捷的购物流程);

需求评估:对需求进行评估,筛选掉不可行需求(成本、可行性、风险和收益、需求的紧急性和重要性优先级);

需求设计:针对需求提出解决方案,变成产品设计方案(草图、原型图、MVP产品、演示Demo);
验证需求:验证产品设计方案是否可行(产品验收、灰度发布、A/B测试);

如何看待产品原型设计

日常工作中大家都会进行需求评审,这个时候最理想的情况是产品掏出原型图和PRD告诉大家,这里要什么那里是怎样。当然,有时候产品也会甩出一句话:“这个需求很简单,怎么实现我不管”。对于这种一句话需求,技术同学特别是研发和测试同学相信都很恼火。

不明确的需求和需求变更,是大家最不待见的情况,这些问题也会导致研发效率大大降低,进一步影响线上交付质量。所以前期需求阶段就确认好要做的事,后期大家的效率和交付质量往往都会比较好,这就有赖于做好产品原型设计。

原型设计简单来说就是将抽象的需求具像化为可视可见可理解的过程。

要做好原型设计,不单单是设计页面,而是要综合考虑很多因素。主要的考虑点有如下几项:

  • 页面元素布局;
  • 功能交互逻辑;
  • 用户使用体验;

产品原型设计的过程,可概括为四个部分:

  • 需求分析:挖掘真实用户需求,评估原型设计方案;
  • 原型设计:划分原型功能模块,梳理界面之间的交互逻辑;
  • 流程梳理:画产品使用流程图,即通过流程图将产品不同界面间的交互逻辑梳理清楚;
  • 需求评审:大家比较熟悉的需求评审环节,就是集思广益对产品原型和prd进行反馈调整;

技术同学培养产品意识

产品意识本质上是一种思维逻辑,即能否站在用户和产品角度思考并解决问题。主要包含如下几方面:

  • 商业意识:即开发的软件产品能否为企业创造商业价值。技术本身是没有直接价值的,技术的价值需要有一个依附物或者说承载品,这个物品就是软件产品能创造的商业价值(我在和一些同学交流时也经常讲到,技术本身不值钱,要依靠产品和业务的变现来体现技术的价值)。
  • 用户意识:即你研发的软件产品是否满足了用户的真实需求,解决了用户的底层痛点,产品使用的感受是否良好。简单来说就是——在能用的基础上是否好用。
  • 数据意识:软件产品最终要投入市场让用户使用,然后才能发现不足并且不断迭代优化。无论是灰度发布还是A/B测试,都需要收集数据来验证产品。

技术同学要培养产品意识,可以从如下几方面去实践:

  • 打破思维边界:技术思维会关注技术实现和细节,产品思维关注用户体验、商业价值和为什么要某个功能;
  • 改变原有习惯:日常工作和生活中,站在产品角度思考接触到的物品,背后的价值、用户体验和使用场景等;
  • 多实践多复盘:自己做个小产品或一个原型,找同事朋友试用获取反馈,这样输出输入来培养产品思维;

如何应对需求变更问题

需求变更在日常工作中特别常见,频繁的需求变更会带来很多问题,比如:

  • 个人工作成就感降低;
  • 需要经常加班赶工期;
  • 软件产品的交付质量下降;
  • 架构臃肿代码质量降低,很快会变成代码“屎山”;

应对需求变更,常见的解决方案有如下几种:

  • 提升需求确定性,在需求分析和需求评审环节做好把控,减少源头的不确定性;

  • 增强需求管理手段,严格把控变更流程,让需求变更流程更规范,提高变更成本;

  • 通过快速迭代缩短版本周期,每版本仅交付部分需求,降低变更成本,快速响应变更;


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述


http://chatgpt.dhexx.cn/article/qppekFPY.shtml

相关文章

问题需求跟踪工具ActionView

本文是应网友要求而写,ActionView 主要用于问题、需求的跟踪,适用的人群包括但不限于管理人员、开发人员、分析人员、测试人员和其他人员。 关于工具的说明 在群晖上安装 Docker ,目前老苏主要用了两种方法: 群晖的 Docker 管理…

跟踪任何目标(想跟踪什么就跟踪什么)

结果展示 介绍 该项目是一个简单的跟踪工具,可以用于跟踪任何你感兴趣的东西。它提供了一个基于Web的界面,让用户可以轻松地创建和管理跟踪列表,同时也提供了一个RESTful API,可以方便地进行数据交互。 项目的原理是将用户需要跟…

需求管理二:需求的建模与跟踪

(原创文章,欢迎转载,请注明出处) 上回说到需求分析的一些内容。这回我总结总结我对需求建模和跟踪方面方法。 需求也是有模型的,有很多UML语言支持需求的建模,它不是UML的标准视图,而是扩展的视图。我喜欢用UML的En…

【项目管理】聊聊需求管理跟踪

在实际项目开发过程中,实现用户的需求的过程并非是按部就班一切按计划推进。特别是面对用户不确定性的需求变更导致开发实施推进的进度和成本增加的风险出现。因此如何有效管理需求,将管理用户需求的风险造成的损失降到可控范围之内,需要用到…

解密需求跟踪矩阵

解密需求跟踪矩阵 需求跟踪是需求管理的一项重要内容,具体指跟踪一个需求使用期限的全过程。在需求跟踪过程中,记录每个需求同系统元素之间联系的文档,我们称之为《需求跟踪矩阵》。 《需求跟踪矩阵》的作用 《需求跟踪矩阵》连接了需求与需…

目标跟踪技术

一、角跟踪 早期角跟踪雷达的精度依赖于所使用的波束的尺寸,现代大多是雷达系统通过利用单脉冲跟踪技术获得更优的角度测量结果。 跟踪雷达利用雷达波束内目标角度相对于天线主轴角度的偏移量来产生一个误差信号,这个误差信号去驱动伺服系统跟踪目标。 …

需求跟踪管理

一、产品包需求 在IPD流程中,产品包和产品包需求是非常重要的概念,贯穿产品包实现这条主线,所谓产品包是产品开发团队对客户或下游环节所交付物的统称。 产品包需求是对最终要交付给客户(内部客户、外部客户)的产品包…

需求工程之需求跟踪

目录 需求跟踪需求跟踪的主要意义需求跟踪的主要目标需求跟踪分为:需求跟踪好处:需求跟踪能力链:跟踪能力联系链可能的信息源:需求跟踪的实现方法:需求跟踪矩阵优缺点:实体联系模型优缺点:交叉引…

需求跟踪

需求跟踪概述 需求跟踪需求跟踪是指跟踪一 个需求使用期限的全过程,需求跟踪包括编制每个需求同系统元素之间的联系文档,这些元素包括其他类型的需求,体系结构,其他设计部件,源代码模块,测试,…

怎样修改一篇简历 简历怎么写

一、简历的格式 简历一般分为纸质简历和电子简历。要根据用人单位的要求。如果你在招聘市场进行应聘的话,一般使用纸质简历。而当你在网上投递简历时,则使用电子版。 二、简历的主要内容 简历主要包括个人情况(包括专长)&#xff…

个人简历英语及计算机能力怎么写,简历个人能力怎么写(简历中个人能力的填写技巧)...

我们在网上填写简历的时候总是会有个人能力、计算机水平、英语水平这样比较自主介绍推销自己的填写项目。对于能力介绍如果填写的好可以体现个人的实力与能力,给查看简历的用人单位留下一个好印象,进而获得当面交流的机会,然现实中不重视或随…

9年技术面试官讲解:计算机专业应届生怎样写简历

本人作为面试官,也有过校招经历。在这过程中,发现有些毕业生同学的简历无法证明自己能胜任程序员的工作,甚至也没有面试价值。同时,本人也见识了不少“一看就想留下”的简历。在本文里,就将用正反两方面的实例&#xf…

计算机方面毕业生怎样写简历

本人曾经作为面试官,也有过校招经历。在这过程中,发现有些毕业生同学的简历无法证明自己能胜任程序员的工作,甚至也没有面试价值。同时,本人也见识了不少“一看就想留下”的简历。在本文里,就将用正反两方面的实例&…

【第四章】输入、输出接口P0~P3

文章目录 【 1. 接口电路 】【 2. P0口 】【 3. P1口 】【 4. P2口 】【 5. P3口 】【 6. 小结 】 【 1. 接口电路 】 接 口 电 路 的 必 要 性 : \color{red}{接口电路的必要性:} 接口电路的必要性:  计算机对外设进行数据操作时&#xff0…

统计学P值

P 值是最常用的一个统计学指标,几乎统计软件输出结果都有P值。 统计学的观点,超过一定基准(比如 5%,其实是低于5%),就不能简单地认为这是偶然事件了,而是受到了外在的影响。 数学大佬出来定义了…

c3p0详细配置(c3p0-config.xml)及使用

参数详细说明请跳转&#xff1a; 数据库连接池c3p0常用配置说明 <c3p0-config> <default-config> <!-- 数据库驱动名 --> <property name"driverClass" ></properties> <!-- 数据库的url --> &…

3.FXBLUE跟单原理

3.1 FXBLUE跟单速度 fxblue喊单EA一旦发现其MT4账户中有新的订单&#xff0c;就会向fxblue跟单EA发送一条消息。然后&#xff0c;fxblue跟单EA将尝试进行相同的交易&#xff0c;也就是实时跟单&#xff0c;复制订单。这个过程是快速立即马上响应&#xff0c;但复制交易所需的时…

介绍几种电路上常用的塑料插接件(1)

介绍几种电路上常用的插接件&#xff08;1&#xff09; 最近在做几个电路方面的小项目。做这做这发现有好多小零件都不知道叫什么。比如上面用到的大大小小的插接件。都经常见&#xff0c;但是就是不知道名字。所以就专门花了点时间调研了一番。 这篇博客就来总结几种常见的塑…

t460p加固态硬盘 thinkpad_不仅是硬件升级!ThinkPad T460p评测

原标题:不仅是硬件升级!ThinkPad T460p评测 ThinkPad旗下的T4x0p系列产品一直是追求性能的小黑粉丝们非常关注的一款产品,ThinkPad今年正式推出了最新的T460p商务笔记本,由于T450p的缺席,大家对这款机器有着非常高的期待值。今天的评测将带您了解升级了Skylake处理器的它具…

oracle存储过程动态sql单引号拼接和变量拼接

1.单引号的作用 在oracle中单引号主要有两个作用: 一是字符串都用单引号引用,例如abc;二是转义符,转义符在使用时一般会出现多个连在一起的单引号,相对难理解一些。下面举例说明。 实例1:select from dual; 实例1结果: 实例2:select oracle from dual; 实例2结果: 实…