`

如何做好软件需求捕获

阅读更多
 

做过软件的人都听过这样的抱怨:需求变化太快,软件系统经常要修改,都连续加班几个星期了......

通常面对这样的问题,要如何解决呢?

首先,问题的根源是:需求不断变化。

很多人都有这样的经历,在捕获需求时,根据客户的阐述,做了记录,然后开发出了软件,客户却说很多地方不符合他们的意思,又要求修改。

我们分析一下捕获需求过程中存在的问题。

客户很可能对软件方面的知识知之甚少,他并不知道你需要知道什么。

比如说,一个业务流程,从业务逻辑到能转化成软件实现很可能会有问题。这就是所说的信息化过程中需要进行的业务改造,因为能输入计算机,并输出结果的一定是能进行形式化处理的内容,这也是很多企业员工抵制信息化的原因之一,因为信息化会导致人的因素会被相对削弱,他们的工作过程也会完全被透明化。

这样,我们就一定要让客户知道你要知道的是什么。如何做到呢?

对于产品类的项目,你的客户不是一个,那么就要广泛的去征求意见,需求调查问卷通常对全面了解客户需求有一定的作用。

对于特定客户,需要和他们直接沟通交流。

和客户交流要注意方式方法,不能盲目约见,下面是一些行之有效的方法。

一、 会面前做充分的准备

通常会面前的问题列表准备时间要远远多于会面的时间。通常客户在连续和你交谈2个小时之后,就会失去热情和耐心,这是大部分人的共同特点。所以充分的准备工作很重要。

如果你去客户那捕获需求,通常客户会说,我需要做一个什么样的系统,然后我可以用它来做这个,那个,还有那个......,然后就不知道该说什么了。这时,你一定要拿出事先准备的问题列表,针对每个大的功能的每一个功能点进行提问,一个都不能放过。对非功能的需求也同样不能放过,如客户需要的系统至少连续运行多少小时不出问题,系统在若干数量的访问者访问时的响应时间范围等。

如果你在会面前没有对客户提供的资料,表格等进行全面研究,对客户需求就不可能调查全面,你可能需要反复去约见他,这样你会给客户留下工作效率低的印象,他对你会逐渐的感到厌烦,对你未来的工作表现会失去信心。

二、让客户打开话匣子

对客户进行提问,引导客户说出他们的需求,是非常关键的,这里面的学问也是很大的。

有一些人通常会问这样的问题:“你们的工作流程是什么样的?”,这种问题是非常经典的无效问题。

当你向客户提出问题的时候,你可以先进行换位思考,如果有人问你这个问题你该怎么回答呢?是不是很好回答呢?如果连你也觉得这个问题并不好回答时,就需要考虑换个问法了。

通常人们在谈论自己很熟悉的东西时,都会有说不完的话,对于客户自己每天做的工作,他为什么没办法对你谈呢?

问恰当的问题,问能让客户打开话匣子的问题,你就胜利了。

这时你会面前的准备工作就显得尤为重要了,你要针对他们要做的软件的功能,一部分一部分的问,不能着急,要深入,并细致,对于他们如何处理这些事情的操作习惯等都要重视,因为要改变他们的习惯,让他们适应你的软件的一种新的操作方法通常是会降低客户满意度的,甚至他们会要求你进行修改。

对于你对某些功能的猜想和假设,也一定要问客户,是不是根本就不需要,客户有时会碍于情面不好意思说出你的想法是没有必要的或是错误的,这时你一定要足够敏感,并勇于否定自己,这样会减少不必要的开发工作,也会给客户留下你很尊重事实的良好印象。

三、千万不要浪费客户的时间

和客户面谈时特别要注意一点,就是千万不能浪费客户的时间,让他觉得非常无聊,这是捕获需求最大的忌讳。

一旦你犯了这样的错误,你再想约见他就难了,他很可能不愿意再和你会面了。尤其是企业中的领导,他们通常是日理万机,能抽出时间和你会面,你应该感到很荣幸,因此要格外珍惜会面的时间。

这也是很多作需求的人员常常抱怨的问题,“客户经常没时间见我,我有什么办法”,如果你遇到了这类问题,你一定要反省一下自己,是不是曾经犯过这样的错误,下次一定不要再犯了。

四、搞清能正确回答问题的人

不同的问题需要问不同的人,需求中有很多是细小的操作级别的问题,也有很多是关乎全局的问题,这就要求一定要搞清楚什么问题去问什么人。

很多捕获需求的人员抱怨说,“客户答不上这些问题,他们自己都不知道要怎么做”,如果你碰到了这种事情,就要反省一下,你问对人了吗?

客户中有一些是大干部,有些是中层管理人员,还有操作人员。对于操作细节上的问题,一定要去问那些负责操作的人员,他们会更清楚每个步骤需要怎么去操作,如果你去问大干部这些问题,你通常会被搪塞,或者以工作太忙,还有其他得事等原因被打发掉。

对于关乎全局的问题,操作级别的人员给出的答案通常是不权威的,即便他们回答了你,你也一定要去大干部那里确认一下,再开始开发工作,否则你会后悔的。

五、发挥原型的效力

原型对于提高客户对软件的认知程度有很好的效果,他能使客户对软件有一个直观的认识,面对原型,他们可以更好地提出他们的想法和意见,尤其对那些对软件缺乏认识的客户。

对原型的修改,再确认,最后得到稳定的原型,这些工作会让需求更稳定,减少很多实施工作中的反复修改工作或者返工。

六、充分利用需求确认会议

需求确认会议通常由全体涉众(利益相关人)参加,这可是个确认需求的难得的机会,大家能聚在一起,这样的机会其实很难得,所以一定要珍惜。

在这种会议上,一定要先针对全局性的问题(与大家都相关的问题)进行交流,千万不要针对部分人感兴趣的问题讨论个没完没了,那样的话,不感兴趣的人会走开的,那样你再想征求与他们相关问题的意见时就找不到人了。对于只跟个别部门或人员有关系的问题你可以单独找时间根他们讨论。

而且一定要对某些有分歧的问题找到解决方案,对与多数人利益相关的问题找出大家都能接受的解决办法。

 
 本文转自: http://www.uml.org.cn/RequirementProject/200709073.asp
分享到:
评论

相关推荐

    软件需求工程习题及知识要点.doc

    1为什么软件需求这么难? 2软件需求的定义 3需求的层次 4软件需求的三种类型 5软件开发的各个阶段,为什么只有需求阶段称为工程? 6需求工程划分为哪两个部分 7需求开发包括哪些内容 8需求管理包括哪些内容 9如何...

    捕获软件需求是软件项目中至关重要的过程

    说明如何掌握需求捕获的能力!本文深刻剖析了捕获需求的关键因素,过程分解以及成果分析。

    学生成绩管理分析系统需求捕获

    软件开发流程进行开发 的设计合理;包括类的继承多态等; 块划分清晰合理; 实用性好。 在基本要求达到后,可进行创新设计,比如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同。 有关该系统基本...

    软件需求工程,讲述了需求工程的主要概念与主要问题

    软件需求工程,讲述了需求工程的主要概念与主要问题

    软件需求需求管理开发入门书籍

    很不错的需求开发、需求管理书籍比较全面、实用

    软件需求最佳实践:SERU过程框架原理与应用part1

    本书首先从软件需求实践中出现的主要问题和困难入手,指出了改进的主要方向;然后逐一说明了需求定义、需求捕获、需求分析与建模、编写规约、需求验证等需求开发活动的任务、要点和具体手段;并提出了一个可操作性强...

    软件需求最佳实践:SERU过程框架原理与应用part2

    本书首先从软件需求实践中出现的主要问题和困难入手,指出了改进的主要方向;然后逐一说明了需求定义、需求捕获、需求分析与建模、编写规约、需求验证等需求开发活动的任务、要点和具体手段;并提出了一个可操作性强...

    捕获遥控器代码

    回过头来看,其实完全没那么多高深的需求,只要能装个第三方软件就足够。所以,发个帖,只讨论如何用最简单的方式装软件(如:当贝桌面) 思路: DNS 劫持 + HTTP 重定向,替换“咪咕音乐”的升级文件(老司机 估计...

    解决需求工程中的基本问题

    需求的捕获方法和内容组织是需求工程中的基础问题,相应的工作内容体直接反映件需求的核心价值,也为展开和完成需求工程中其它任务建立了良好开端。在基础问题没有得以解决之前盲目强调所谓的“管理”只可能作一些...

    【STM32】HAL库-输入捕获-下降沿捕获-软件触发更新事件CNT

    采用STM32F103C8T6单片机,KeilMDK5.32版本 定时器的使用内部时钟源 CK_PSC = CK_INT = 72MHz CK_CNT = 10KHz 计数器...也可以软件触发更新事件,但是需要将URS位置位(仅只有计数器溢出/下溢才产生更新中断或DMA请求)

    [详细完整版]软件工程.doc

    软件需求可以分为三个不同的层次,下列( )不是软件需求的层次。 [ ] A.设计需求 B.业务需求 C.用户需求 D.系统功能需求 3.下列不是用例特点的是 [ ] A.捕获某些用户可见的需求,实现一个具体的用户目标 B.用例由...

    应用程序架构本质\需求建模\设计模式\软件开发方法学

    应用程序架构本质,要保证体系结构的正确,就要求人们能够使用相应的技术技能来捕获和细化正确的需求。发现用于需求建模的有价值的技能和工具,并且了解如何评估能力方面的进展。

    6软件工程大作业.doc

    关键字:软件 软件工程 规范 需求捕获 用例模型 软件工程的职业道德 一、职业道德的内涵与作用 1.职业的定义 职业是指人们由于社会分工而从事具有专业业余和特定职责并以此作为主要生活来源的 工作,职业是在人类...

    2014年11月信息系统项目管理师软件工程基础知识

    信息系统项目管理师软件工程基础知识主要内容:需求分类、需求工程之需求开发与管理、需求捕获技术 、 可行性研究工作的任务、软件设计之设计评审、软件测试之测试用例设计与软件测试策略、软件维护的分类

    项目需求规格说明书

    关于需求捕获设计与分析,是一个项目开始的重中之重!搭配的有UML图,很好理解!

    sniffer网络实训报告

    网络实训报告,使用软件为sniffer,内容包括实训目的、需求分析、sniffer工作原理、数据包采集和数据分析,采集了ICMP、ARP数据包、http数据包、ftp数据包、UDP数据包,内涵数据包格式及分析等

    【STM32】HAL库-PWM输入捕获-复位模式demo

    根据实际需求PA0配置PA0的模式 输入模式 上/下拉电阻 IC2连接CH1,下降沿捕获 复位模式,选择TRGI触发源选择TI1PF1 PC13控制LED灯,用杜邦线连接PA0与PC13,捕获LED的亮灭时间 复位模式会产生更新事件,根据URS位来...

    论文研究-基于多空间内存共享的高速网络链路数据包捕获方法.pdf

    结合共享内存和NAPI技术提出了一种基于通用硬件平台和开源软件实现的高速网络链路数据包捕获方案,能够将数据包的捕获能力和捕获效率提升到一个新水平。通过实验表明,在通用PC服务器上实现该方案完全能够满足千兆...

    全球盾文件双机热备软件3.0 石皮解版

    不间断的心跳检测技术能瞬间捕获运行服务出现的问题,使备用服务迅速接管,为用户提供近乎不间歇的服务,保证了关键性业务7*24小时不停机运行,使之成为了中小企业信赖的数据同步软件。 全球盾文件双机热备软件主要...

    软件测试必看 入门级的教程

    13.5 Proxy 二次捕获的问题 67 13.6 关联的问题 68 13.7 脚本的问题 70 13.8 Conductor 和 Player 部分 71 13.9 Conductor 和 Player 的技术要点 72 13.10 数据分析工具 Analysis 72 13.11 结束语 72 十四 ...

Global site tag (gtag.js) - Google Analytics