如何有效实现软件的需求管理(3)

【本篇为《如何有效实现软件的需求管理》第三篇,(第一篇第二篇)】

  第二阶段:需求分析与设计(怎么去做)

  既然需求已经获取了,也就是说客户已经跟我们说了要做什么或者我们自己想出来的一些需要做的功能,好了,那现在就真正开始进入需求管理阶段了。

  首先就是需求分析阶段了,所谓的需求分析,简单点来说就是把获取的需求分析一下,看看是否真的是客户所想的,看看是否是我们产品能做的。 有时候一个需求就是客户一句话,但是真正理解起来并不是一句话就能解决的,所以你可能需要再跟客户确认,了解他们的真实意图。(下面就是一张经典的需求分析出错的图,呵呵,我大学时老师讲到过,这次碰巧又被我看到了,就借来一用)

  对于一个需求而言,它不是简简单单一个功能上的操作,它有可能是一个性能需求,也有可能是安全保密需求,甚至还有可能是用户接口需求、成本消耗需求、可靠性需求等,所以在需求分析的阶段,不是说跟客户交流几句话就能把这个需求完全搞清楚的,而且即使搞清楚了这个需求,能不能做(可行性)也不可能一下子想清楚。

  所以为了解决这种问题,各种需求分析的方法也相应而生。如果你在大学的时候学过软件工程的话,可能你会记得像结构化分析方法之类的方法,什么数据流程图啊、数据字典啊、判定表啊,等等,也许当初你为了应付考试,就匆匆背了一下,到现在想必也应该忘了,即使你当初很用心地去看了,去理解了,我相信没有真正在工作中用到的话,你其实没有真正理解它们。

  不过,如果你想从事需求分析相关的工作,我可以告诉你,这些知识还是很有用的,需求分析还是需要用到它们的,当然很多时候你应该不会直接用到这些理论,但是总是间接的用了体现它们思想的工具。(比如UML建模)

  今天谈的是需求的管理,所以对于怎么做需求分析这种技术性的活,我不多说了,因为前面也说了,这个靠一篇文章是不能教会的,要真的教会我可能得出一本书了,呵呵。所以我还是侧重于如何去管理。

  我们自己公司经常用到的需求分析建模工具是FreeMind,基于思维导图原理,还行挺好用,之前用它的原因是我们用的需求管理工具TechExcel的DevSpec自带了这个小工具,用用挺好用,而且可以与需求点以及相关文档做关联,实时同步需求的变更,所以就用上了,其实以前也用过Visio,也挺好的,不过白猫黑猫,能抓老鼠就是好猫,只要适合就行了。(下面是FreeMind的截图,功能还是很强大的,下面也会具体谈到)

  谈到建模,也许有人问,为什么要建模,建模有啥好处,呵呵,这个问题本来不想回答,但是总是有人在问。

  一方面,咱们在开发软件或者硬件,但是你拿到需求后不可能马上就能给客户看到这个产品是怎样的,所以你有必要做个模型出来,让客户能看看涨什么样子,是不是符合他们的要求,这种就是简单的建模,对于硬件而言,你可以把缩小版的样子给客户看,对于软件而言,你可以把这个软件的架构啊,可以实现的功能啊、数据流啊、程序流啊之类的列出来让客户去看;

  另一方面,我们在实际开发中,可能有很多地方不能实际去验证,需要通过建模方式模拟验证,比如原子弹爆炸,我们不可能天天去爆炸一颗原子弹去验证是否符合设计,而是通过仿真模拟来验证,输入的数据跟真实原子弹的实物数据一样,然后配合实际的物理与化学逻辑,用工具模拟出爆炸情况。

  (未完待续)

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-07-31 05:17:25

如何有效实现软件的需求管理(3)的相关文章

如何有效实现软件的需求管理(7)

如何有效实现软件的需求管理(7) [本篇为<如何有效实现软件的需求管理>第七篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇)] 版本控制: 在我们公司的实际需求管理中,需求的版本控制用的地方非常多,比如 第一,因为一个需求从获取到最终能拿去开发,中间也需要经历非常多次的改动.既然有改动,就肯定也会出现类似写代码一样,这次写错了,想看看上次的这类情况,所以还是需要能看到不同的版本. 第二,有时候,一个需求改了N次,到最后想比较各个版本看看,来得出一个最终版本. 第三,还有种情况,改了很久,

如何有效实现软件的需求管理(1)

之前把软件工程中的测试部分,文档管理部分都已经做了一些简单的介绍,因为都是我实际工作中经常接触的,所以也算是我的一些经验吧,不过我也不是每个部分都接触得很深入,总是有些地方讲得不太好的,也请大家谅解,希望大家能提出宝贵经验,呵呵. 下面是之前讲过部分的链接(点击就可以访问),如果之前没看过我的文章的话,有空可以看看. 1.[浅谈在软件开发中的开发与测试] 2.[敏捷测试理论以及实践] 3.[谈软件开发过程管理系统.版本控制系统及它们之间的集成] 4.[文档管理] 但是软件工程中除了我已经讲过的部

如何有效实现软件的需求管理(6)

在我们公司,获取了一个需求以后, 首先,相关人员会先在DevSpec建立一个条目,添加相应的一些属性信息,比如标题,内容描述,状态,对应文档,优先级,紧急程度,负责人,对应版本,对应浏览器,对应数据库等等... 提交完了条目以后,由于这个条目设置了一个负责人,所以那个负责人登录系统就可以马上看到自己名下有这个条目,他就会马上去处理这个需求.(可能有些人没登录系统去看,我们也可以设置Email或者手机短信的自动提醒功能) 这里提到的"负责人",在不同的过程里,负责人都是不同的,比如&qu

软件项目需求管理复杂性分析

在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能 ,优化性能,提高用户友好性的要求.在软件项目管理过程中,项目经理经常面对用户的需求变更.如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越低落,将直接导致项目成本增加.质量下降及项目交付日期推后.这决定了项目组必须拥有需求管理策略. 一.需求管理复杂性分析 软件需求是整

浅谈软件项目的需求管理

软件项目区别于其它项目的最显著的特征是其不可见性,它不像硬件购销.建筑工程,都是实实在在可见的东西.而软件项目在系统交付之前很长一段时间,客户是无法感知自己想要的系统究竟是什么样子.因此,需求管理就显得十分重要,据相关统计数据分析,软件项目90%以上失败的原因都在于没有重视需求或者需求管理方面做的不到位导致的. 需求管理作为软件项目管理的一个重要内容,贯穿项目实施的全生命周期.俗话说:万事开头难.需求作为软件开发的第一个环节,其重要性不言而喻.市面上关于需求管理的相关理论和书籍很多,但多数停留在

需求管理 工具-有哪些好用的软件需求管理工具

问题描述 有哪些好用的软件需求管理工具 请教: 软件需求管理有哪些工具和软件啊?大家都在用什么进行需求管理啊? 解决方案 RationalRequisitePro Rational RequisitePro是一个强大.易用.集成的需求管理产品.而通过与Rational系列软件产品的广泛集成,大大扩展了RequisitePro及其他产品的功能,给软件工程生命周期内的各个阶段都提供了强大.方便的信息查询.跟踪.管理功能.从而能够促进更好的团队沟通.帮助管理变更和评估变更的影响,帮助验证所有的规划需求

IBM Rational DOORS一款需求管理软件访问OSLC服务

IBM® Rational® DOORS® 是一款需求管理软件,旨在为复杂的嵌入式系统开发提供帮助.Rational DOORS V9.3 实现了 OSLC Requirements Management V1,并且从 V9.4 标准开始实现了 OSLC Requirements Management V2 接口.本文参考了 DOORS V9.4 的内容. 备注: 要使用这些服务,必须安装和配置 IBM Rational DOORS Web Access,这是 DOORS 的 Web 接口. 任

软件开发外包管理的“一二四”

本文讲的是软件开发外包管理的"一二四",[IT168 资讯]在信息化整个生命周期中,企业都越来越依赖于外部供应商,从需求分析到系统选型,再到项目实施乃至最后的运行维护,IT供应商始终与企业如影随形.尤其在核心竞争力理论的指导下,"把包括IT在内的不能直接创造价值的部分外包出去"成为了很多企业的选择,外部供应商逐步成了企业IT管理的延续.但是,在企业获得便利的同时也不得不面对供应商选择.评估.管理带来的难题. 在众多的IT外包中,软件开发外包是企业信息化建设过程中接触

论如何进行有效的需求管理

论文摘要: 本文主要讨论如何更有效的进行需求管理,需求管理中需求考虑的一些问题,项目中事先识别的风险和没有预料到而发生的变更等风险的应对措施的分析,也包括项目中发生的变更和项目中发生问题的分析统计,以及需求管理中的一些应对措施. 关键字: 需求管理, 业务建模.项目管理.数据流图 通过高级项目经理5天课程的培训,个人感觉对于原先的工作实践有了一个很好的指导,从原先的实践上升了一个层次,对于实践有了一个很好的理论指导. 我想很多人可能会与我同感,一个项目做了很久,感觉总是做不完,就像一个"无底洞&