前面我们讨论了,需求分析工作是一个迭代的过程:需求捕获->需求整理->需求验证->再需求捕获······需求捕获是这个迭代过程的开始,也是整个需求分析工作中最重要的部分。没有捕获哪来后面的整理与验证工作?但是,非常遗憾,按照我以往的经验,需求捕获是我们最薄弱的环节。前面我提到的许许多多项目开发的问题都可以归结为需求分析的问题,而许许多多需求分析的问题又都可以归结为需求捕获不完整的问题。需求捕获是整个需求分析工作中最难把握的一个部分,它不仅仅是一个技术的问题,还涉及到人际交往、沟通、知识理解,以及心理学等一系列问题。但更让我感到遗憾的是,在我读过的许许多多关于需求分析的书籍中,讨论需求分析与建模的书很多,但讨论需求捕获的书籍却寥寥无几。确实,要讨论这部分内容,真的已经远远超出了软件开发这个知识领域。
那么,在软件需求捕获过程中,最根本、最容易犯错的问题是什么呢?我认为是一个态度的问题,是采用主动态度去捕获需求,还是采用被动的态度去捕获需求。如果需求分析人员总是诺诺诺,客户说什么,我们就记什么。客户处于非常强势的地位,给我们提出了非常多变态、技术难于实现的需求,而我们的需求分析人员却成为记录员,埋头记录客户说的每一句话,不加分析地就直接扔给了开发人员。这就是采用被动的态度去捕获业务需求的方式。毫无疑问,这样的需求分析必然将给项目开发的后期带来巨大的风险。
为什么会出现这样的情况呢?经过深入分析我们会发现,从客户嘴中说出来的需求,只是整个软件需求中的冰山一角,还有两类需求需要我们自己去挖掘:客户嘴中没有说出来的需求,和客户压根儿就没有想到的需求。
什么是客户嘴中没有说出来的需求,并不是客户故意卖弄官子不愿说出来,而是在客户所在业务领域已经约定俗称,在他们看来已经是天经地义,根本就不用说出来的业务规则。然而,作为刚刚涉足该领域的需求人员,他们是不了解这些规则的。如果采用被动的方式去仅仅记录客户说出来的需求,毫无疑问会遗失这部分需求,这就是为什么直到项目后期,软件被研发出来即将交付使用,客户才提出说这不是我想要的软件,并提出大量变更需求的原因。这时,我们常常问客户,你们为什么不早说呢?而客户却十分委屈,这么简单的道理还需要我说出来吗?
举例说明吧:在我从事的税务行业中,对纳税人征收的税种包括增值税、企业所得税。增值税通常是按月征收的,而企业所得税是按季或者按年征收的。就拿增值税来说吧,税款所属期是开票日期的上个月,为什么呢?纳税人往往是在上个月产生销售收入,然后在下个月完成申报和缴纳税款。这些知识对于税务人员来说是太基本的常识了,所以在他们看来就是天经地义而不需要说出来的业务规则。但作为软件开发人员的我们却常常因为不知道而将业务弄错。
如何破解这样的问题呢?那就是要求我们在需求分析的整个过程,不断进行业务领域知识的学习。在我做需求访谈的初期,我往往不是跟客户谈需求,而是先跟客户谈业务。你们是怎样操作的?都经过些什么流程?谁来完成这些操作的?为什么这样操作?注意,在所有这些问题中,最后一个问题是最重要的。客户业务领域中的所有操作、所有流程都是有它存在的意义的,它体现了其内部的原因与作用。多问为什么,可以让我们深入地理解这些领域知识,站在客户的视角去思考问题,进而深入地理解客户为什么要提出他们的那些业务需求。当一个需求分析员能达到这样的水平,客户嘴中没有说出来的需求就会被源源不断地被发掘出来,最终做出来的需求分析才是完整的、准确的。
我们应当怎样做需求分析
我们应当怎样做需求调研:初识
我们应当怎样做需求调研:拜访
我们应当怎样做需求调研:研讨会
我们应当怎样做需求调研:需求研讨
我们应当怎样做需求调研:迭代
我们应当怎样做需求调研:需求捕获(上)
我们应当怎样做需求调研:需求捕获(下)
我们应当怎样做需求分析:功能角色分析与用例图
我们应当怎样做需求分析:业务流程分析(上)
我们应当怎样做需求分析:业务流程分析(下)
我们应当怎样做需求分析:用例说明
我们应当怎样做需求分析:查询报表分析
我们应当怎样做需求分析:子用例与扩展用例
我们应当怎样做需求分析:行动图和状态图
我们应当怎样做需求分析:业务领域分析
我们应当怎样做需求分析:原文分析法
我们应当怎样做需求分析:领域驱动设计
我们应当怎样做需求分析:非功能需求
我们应当怎样做需求确认:需求列表
我们应当怎样做需求确认:一个需求列表的实例
我们应当怎样做需求确认:快速原型法
我们应当怎样做需求确认:需求规格说明书
我们应当怎样做需求确认:评审与签字确认会
(续)
分享到:
相关推荐
我们应当怎样做需求调研:需求捕获 12 我们应当怎样做需求分析:功能角色分析与用例图 15 我们应当怎样做需求分析:业务流程分析 18 我们应当怎样做需求分析:用例说明 21 我们应当怎样做需求分析:查询报表分析 24 ...
1. 需求捕获技术 在需求捕获中最常见的技术就是: 用户访谈 问卷表 小组会议 上述的各种技术在特定场合都能很好发挥作用,应该好好的考虑在何时使用哪项技术。在大多数项目中,捕获需求不可能只采用某个...
java源码:网络数据包捕获函数库 jNetPcap.zip
实验报告:用Ethereal捕获并分析TCP数据包.pdf
这是需求捕获指南(中英文对照)系列文章的压缩。。。
[信息安全]大海捞针:使用沙箱捕获多个零日漏洞 安全人才 WEB应用防火墙 安全资讯 安全测试 基础架构安全
在需求获取的过程中,经常会遇到用户种种不同的反应,而消极心理是造成负面反应的主要原因。 本 文针对五种最典型的心理现象进行分析,并分享了一些行之有效的解决手段。
实验:IP报文的捕获与分析,对了解网络的基本原理有一定的帮助。
网络安全专业调研报告-企业对网络安全需求调研报告-精品全文共5页,当前为第1页。网络安全专业调研报告-企业对网络安全需求调研报告-精品全文共5页,当前为第1页。络安全专业调研报告企业对络安全需求调研报告 网络...
2022数字藏品研究报告!NFT:中西方价值捕获的分化之路
分层要求:Google表格“应用脚本”(又名宏):向需求捕获电子表格添加功能
IP数据包捕获与解析程序设计 设计内容:捕获本机网卡的IP包,对捕获的IP包进行解析。要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。 设计要求: 1. 实现程序应为图形化界面,输出...
软件开发流程进行开发 的设计合理;包括类的继承多态等; 块划分清晰合理; 实用性好。 在基本要求达到后,可进行创新设计,比如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同。...
习题集 1单项选择题 2填空题 3名词解释 4简答题 5问答题 6分析题 知识要点 1为什么软件需求这么难? 2软件需求的定义 ...32需求分析主要用来做什么 33建模的要点与原则 34建模工具的选择 35UML的优
碳中和实现手段CCUS:二氧化碳的捕获、封存和利用情况(2021年).docx
软件需求工程,讲述了需求工程的主要概念与主要问题
在学习过程中我们经常使用输入捕获模式来捕获pwm信号,这种方法适合捕获低频和占空比区中的波形,在捕获相对高频和占空比1%或者说99%这些极端情况下的话会造成很大误差。其实stm32有一个很好用模式用来捕获pwm信号,...
普通的输入捕获可以使用定时器的四个通道,一路捕获占用一个捕获寄存器,而 PWM 输入则只能使用两个通道,即通道 1 和通道 2, 且一路 PWM 输入要占用两个捕获寄存器,一个用于捕获周期,一个用于捕获占空比。...
1.领域:matlab,GPS信号捕获算法 2.内容:GPS信号捕获matlab仿真+操作视频 3.用处:用于GPS信号捕获算法编程学习 4.指向人群:本硕博等教研学习使用 5.运行注意事项: 使用matlab2021a或者更高版本测试,运行...
颜色捕获器 捕获器 捕获 颜色颜色捕获器 捕获器 捕获 颜色颜色捕获器 捕获器 捕获 颜色颜色捕获器 捕获器 捕获 颜色