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

简介:

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

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

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

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

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

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

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

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

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

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

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

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

  (未完待续)


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

目录
相关文章
|
资源调度 Rust 前端开发
视野修炼-技术周刊第59期
🔥强烈推荐 1. Yarn 4.0 正式发布,性能大幅提升! 10.23 日,Yarn 4.x 发布。 新的官网如下 看上去档次高了
|
9月前
|
并行计算 算法 C++
《探索C++在3D重建中的算法与技术要点》
3D重建是计算机视觉的重要技术,广泛应用于多个行业。C++因其高效性和对底层硬件的良好控制,成为实现3D重建算法的首选语言。本文介绍了多视图立体视觉、立体匹配、点云处理与重建、网格重建与优化、纹理映射及CUDA加速等关键技术,详细阐述了各算法的原理和C++实现要点。
206 18
如何关闭智能键盘IQKeyboardManager
如何关闭智能键盘IQKeyboardManager
353 1
|
定位技术 项目管理
5W2H分析法:全面思考和解决问题的实用工具
5W2H分析法又叫七问分析法,创于二战中美国陆军兵器修理部。发明者用五个以W开头的英语单词和两个以H开头的英语单词进行设问,发现解决问题的线索,寻找发明思路,进行设计构思,从而搞出新的发明项目。5W2H简单、方便,易于理解,实用,富有启发意义,广泛用于企业管理和技术活动,对于决策和执行性的活动措施也非常有帮助,也有助于弥补考虑问题的疏漏。
1056 0
|
存储 NoSQL Redis
Redis系列-14.Redis经典五大类型源码及底层实现(二)(上)
Redis系列-14.Redis经典五大类型源码及底层实现(二)
118 0
Verdi的使用技巧总结
Verdi的使用技巧总结
1656 0
|
设计模式 算法
深入了解ReentrantLock源码附带图文分析
ReentrantLock源码图文分析
193 0
深入了解ReentrantLock源码附带图文分析
|
C++
C/C++每日一练(20230506) 翻转词序、字符金字塔、单词搜索
C/C++每日一练(20230506) 翻转词序、字符金字塔、单词搜索
157 0
|
存储 缓存 NoSQL
Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)
redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。 在这里假设你已经了解了redis的基础语法,某字母网站都有很好的教程,可以去看。基本使用的文章就不写了,都是一些常用的命令。 下面针对这两种方式来介绍一下。由浅入深。
328 0
Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)