如何做软件需求分析

1、需求是什么

通常意义下,软件行业对需求的定义可能是由“需求方”以文字,口头,示意图 或者其他途径提出的“关于功能要怎么做”的表述。

2、需求有什么问题

往往软件开发行业陷入了一个困局,明明是按照需求方提出的需求,逐条实现的,为什么需求方往往不满意,做完又马上提出一堆变更,搞得双方都一肚子意见

3、真正的需求是什么,应该怎么分析

真正的需求应该把握这几个要点,“目的”,“方式”,“测试”,“结果”

逐条解释一下,

目的:需求的本质,这个需求是要做什么,这个在很多关于需求的分析中都讲得非常清晰了,即分析用户提需求的动机,是要实现什么。拿个经典的马车与汽车的例子,需求是要更快的马车,但是实际上如果给出汽车方案更符合需求。软件开发过程中这样的例子很常见,比如说客户要在某个位置增加一个表单,以实现浏览到这个页面的同时,顺便能提交一个什么东西,实际上如果针对这个需求给出新增一个功能模块,单独放在首页入口,或者是一个专题页面,这样从推广,还是从页面美观性更合理。

总结一下就是:分析目的,从而导出多种实现方式,择优。   (因为往往提的需求本身等价于某一种实现方式,需要追溯到原始节点,然后发现有多种路径)

方式:和目的环环相扣,目的导出方式,而方式决定了后面的结果是否满足目的。

测试:为什么会有个测试呢?这里的测试是指验证需求分析。 给需求方确认的东西以往都是文档,一堆设计图。 但是很多细节没有体现出来,客户也是按照自己的想象去脑补了这些部分,造成什么结果呢? 产生了两份需求!!    一份是你认为的 文档+UI+有一些没有直接体现的细节 的完整需求, 一份是客户认为的 文档+UI+自己脑补的细节 的需求。  后面就不用多说了吧。

那么应该怎么做呢?换个名词就懂了,表演。 将系统以一种什么方式真实还原给客户,让客户最大程度理解你们即将做的软件,效果是怎样的。

业务高保真原型+详细演示。 后续安莫比会发一些具体案例,这实际上是一个软件的沙盒演练过程,和客户去推敲。

结果:结果是以上3部分最终的节点。是怎样的结果完全取决于前面环节是怎么做的。

原文地址:https://www.cnblogs.com/andmobi/p/11828647.html

时间: 2024-10-13 00:58:59

如何做软件需求分析的相关文章

你会做软件需求分析吗?

有经验的测试人员告诉我们,探求用户需求是测试工作的第一前提.这是因为,只有明确需求,才可以针对测试工作进行计划和实施,才能开始后续的步骤. 但是实际工作中,明确的需求并不在多数,往往需要测试人员开启脑补能力,针对各种原始需求不停地挖掘,才能知道用户到底要干什么? 借助精神分析学派的潜意识理论,我们大致可以将用户需求分为显性需求和隐性需求. 显性需求一般是用户可以明确感受到并且可以表达出来的,可以进行针对性满足的需求,通俗的说吧,就是你饿了,我请你吃饭,馒头加咸菜,保证你吃饱:如果我不给你,你就会

【转】软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

软件需求分析

功能需求 1.用例分析是要求每一个子功能点都要有一个用例 例如:线路增加,线路删除,线路修改,线路查询.每一个功能描述一个用例 线路删除用例: 2.(后置条件是指:执行基本流程获得成功以后所达到的状态(条件).体现的是执行该用例的最终目的.)   管理员用户登陆 在注册完成后,以管理员账户登陆进入管理员界面,管理员用户登陆功能需求如下表所示: 表2.1“管理员用户登陆”功能需求分析用例 功能点编号 X3L101 功能点名称 管理员用户登陆 角色 管理员 功能说明 管理员用户能通过本功能点完成登陆

项目管理理论与实践(2)——软件需求分析

一.需求分析的目的 1. 马斯洛的需求层次理论 具体可以参考:(http://baike.baidu.com/view/295140.htm) 2. 需求分析的目的 1)与相关干系人在工作内容方面达成并保持一致 2)使设计.开发.测试人员能够更清楚地了解需求 3)定义系统边界,形成需求基线 4)为估算系统的规模.工作量.成本和进度提供基础 5)为开发计划的形成提供范围(SOW)基础 二.需求工程概述 1. 什么是需求工程?用一张图可以形象的表示 需求也属于一门工程学,需求工程包括需求开发.需求管

软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

软件需求分析教程阅读笔记二

软件需求分析教程阅读笔记二 管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用. 客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,然而从产品的实际用户处收集需求有着不可替代的必要性,所以导致项目最终失败的两个原因,一个是缺乏用户参与,另一个是不完整的需求规格说明. 在进行需求分析时,只有系统的实际使用者才能清楚的描述他们要用此系统

软件需求分析教程阅读笔记一

软件需求分析教程阅读笔记一 许多工程项目不能按时完成或者最后导致失败的一个很大的原因就是弄不清需求是什么,不能准确理解客户的需求意图,所以前期做好需求调研是一件非常重要的工作,是一件与系统代码开发占有同等比重的工作. 读这本书的同时,要注意实践过程,不必非得要从一个新项目开始应用,可以找一个以前的或者是现在正在进行的项目,根据书中所讲,着手开始实践. 软件需求就是需要知道是什么和为什么. 在软件开发当中遇到的许多问题,都是由于收集,编写,协商,修改产品需求过程中的手续和做法失误所带来的.需求分析

“写程序” 这个活动大多数情况下是个人行为。 我们听说的优秀程序员似乎都是单打独斗地完成任务。同学们在大学里也认识一些参加ACM 比赛的编程牛人, 他们写的ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么? 请采访这些学生。

ACM的题库的编程都只能算做程序,不能算软件.写程序和做软件区别还是很大的.程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.为实现预期目的而进行操作的一系列语句和指令.而软件是程序以及开发.使用和维护所需要的所有文档的总称,而程序是软件的一部分.软件可能是由一个程序组成,或者由千万个程序组成,程序是软件的一个必不可少的组成. Edsger Dijkstra 曾经提到:“Software engineering, of course,presents itself as an

浅谈软件需求分析

浅谈软件需求分析 一.什么是需求分析? 通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述. 假如你是个建筑工程师,有个客户找你建一个鸡窝,这个时候要需要与客户沟通,来确定客户到底想要一个什么样子的鸡窝.我们应该注意三点: 1.准确的理解和描述客户需要的功能. 客户说,我的鸡窝要三层的,带电梯,饮水池,厕所,饮水池要自动判断水位供水,电梯要可以同时乘坐10只鸡-.客户滔滔不绝的讲了一大堆,你也都非常忠实的按照自己的理解再一一的向客户描述一遍,以便于