如何有效实现软件的需求管理(3)
【本篇为《如何有效实现软件的需求管理》第三篇,(第一篇,第二篇)】
第二阶段:需求分析与设计(怎么去做)
既然需求已经获取了,也就是说客户已经跟我们说了要做什么或者我们自己想出来的一些需要做的功能,好了,那现在就真正开始进入需求管理阶段了。
首先就是需求分析阶段了,所谓的需求分析,简单点来说就是把获取的需求分析一下,看看是否真的是客户所想的,看看是否是我们产品能做的。 有时候一个需求就是客户一句话,但是真正理解起来并不是一句话就能解决的,所以你可能需要再跟客户确认,了解他们的真实意图。(下面就是一张经典的需求分析出错的图,呵呵,我大学时老师讲到过,这次碰巧又被我看到了,就借来一用)
对于一个需求而言,它不是简简单单一个功能上的操作,它有可能是一个性能需求,也有可能是安全保密需求,甚至还有可能是用户接口需求、成本消耗需求、可靠性需求等,所以在需求分析的阶段,不是说跟客户交流几句话就能把这个需求完全搞清楚的,而且即使搞清楚了这个需求,能不能做(可行性)也不可能一下子想清楚。
所以为了解决这种问题,各种需求分析的方法也相应而生。如果你在大学的时候学过软件工程的话,可能你会记得像结构化分析方法之类的方法,什么数据流程图啊、数据字典啊、判定表啊,等等,也许当初你为了应付考试,就匆匆背了一下,到现在想必也应该忘了,即使你当初很用心地去看了,去理解了,我相信没有真正在工作中用到的话,你其实没有真正理解它们。
不过,如果你想从事需求分析相关的工作,我可以告诉你,这些知识还是很有用的,需求分析还是需要用到它们的,当然很多时候你应该不会直接用到这些理论,但是总是间接的用了体现它们思想的工具。(比如UML建模)
今天谈的是需求的管理,所以对于怎么做需求分析这种技术性的活,我不多说了,因为前面也说了,这个靠一篇文章是不能教会的,要真的教会我可能得出一本书了,呵呵。所以我还是侧重于如何去管理。
我们自己公司经常用到的需求分析建模工具是FreeMind,基于思维导图原理,还行挺好用,之前用它的原因是我们用的需求管理工具TechExcel的DevSpec自带了这个小工具,用用挺好用,而且可以与需求点以及相关文档做关联,实时同步需求的变更,所以就用上了,其实以前也用过Visio,也挺好的,不过白猫黑猫,能抓老鼠就是好猫,只要适合就行了。(下面是FreeMind的截图,功能还是很强大的,下面也会具体谈到)
谈到建模,也许有人问,为什么要建模,建模有啥好处,呵呵,这个问题本来不想回答,但是总是有人在问。
一方面,咱们在开发软件或者硬件,但是你拿到需求后不可能马上就能给客户看到这个产品是怎样的,所以你有必要做个模型出来,让客户能看看涨什么样子,是不是符合他们的要求,这种就是简单的建模,对于硬件而言,你可以把缩小版的样子给客户看,对于软件而言,你可以把这个软件的架构啊,可以实现的功能啊、数据流啊、程序流啊之类的列出来让客户去看;
另一方面,我们在实际开发中,可能有很多地方不能实际去验证,需要通过建模方式模拟验证,比如原子弹爆炸,我们不可能天天去爆炸一颗原子弹去验证是否符合设计,而是通过仿真模拟来验证,输入的数据跟真实原子弹的实物数据一样,然后配合实际的物理与化学逻辑,用工具模拟出爆炸情况。
(未完待续)
本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/
研发过程中的文档管理与工具 从工作的这几年实践经验来看,写文档原则上本着复杂的事项细写,简单的事项简写或者不写,卷可以但又不闲的慌;
都有哪些比较好用的项目管理软件? 说到软件和工具,现成的项目管理软件不够灵活,而且价格昂贵。这些平台无法满足企业和业务随时变动的“需求”,从而导致效率低下。在这种情况下,唯一的解决方案是选择可灵活定制的低代码开发平台。
盘点:2022年10款比较火的项目管理软件 每一款都是好用且实惠的项目管理软件,都能进行项目项目进度管理、工时管理、人力资源管理、成本管理、立项审批管理、里程碑管理、任务分解管理、项目进度监控的,适合上市公司审计业务、会计师事务所用的,能解决如建筑设计行业、广告行业、传媒行业、园林工程行业、互联网技术行业、生物医药行业用的软件。
《软件需求工程(第2版)》一3.5 确定非功能需求 本节书摘来自华章出版社《软件需求工程(第2版)》一书中的第3章,第3.5节,作者 毋国庆 梁正平 袁梦霆 李勇华,更多章节内容可以访问云栖社区“华章计算机”公众号查看
相关文章
- 软件加壳的原理及实现
- TEASOFT软件控制脚踏板功能设置与软件实现 - 2022功能设置
- 基于System Generator的1024QAM-FM软件无线电联合调制解调系统的FPGA实现
- 最新2014欢聚时代(YY)软件研发笔试题
- 网格修复软件
- 【Linux操作系统】如何实现Linux中软件安装进度条?
- 《C语言接口与实现:创建可重用软件的技术》一第1章 引言1.1 文学程序
- 《C语言接口与实现:创建可重用软件的技术》一1.3 效率
- 《团队软件过程(修订版)》—第2章2.8节参考文献
- 《软件功能测试自动化实战教程》—第6章6.3节参数化测试
- 基于C#实现的哈夫曼转化软件【100010706】
- 基于QT(C++)+SQLite实现(界面)Linux系统下的邮件收发软件【100010541】
- 《Effective Debugging:软件和系统调试的66个有效方法》——第14条:考虑对软件进行更新
- 惠普洽谈出售软件业务事宜 希望能卖100亿美元
- 如何查看yum命令安装的软件的安装目录
- 《威胁建模:设计和交付更安全的软件》——3.7 权限提升威胁
- 《威胁建模:设计和交付更安全的软件》——3.10 准出条件
- 《应用时间序列分析:R软件陪同》——导读
- 树莓派3b+ ubuntu mate18.04系统下的kodi软件 实现airplay投屏
- 使用 某款基于Socks5协议的代理软件 一段时间后 被封锁掉IP的一些技术思考
- 如何有效实现软件的需求管理(7)
- 浩辰3D软件中同步草图与顺序草图如何使用?
- 一款舒适的画图软件,支持各种文件格式的导入和导出,Edraw Max 包含中文版和英文版,也包含 Mac 版本 和 Windows 版本
- 戴尔新独立软件OS10提升开放网络标杆