关于《软件需求分析》需要掌握哪些必要的内容的总结与思考

一、软件需求的目的:

1.准确的理解和描述客户需要的功能

客户只知道他不满意,但怎样才能使他满意呢?他不知道,于是就在一点儿一点儿试,于是这种反复变更就这样发生了。

如果我们明白了这一点,深入地去理解客户的业务,进而想到客户的心坎儿上去,最后做出来的东西必然是客户满意的。记住,当客户提出业务变更的时候,我们一定不能被客户牵着走,客户说啥就是啥。业务场景是需求之魂,我们要从业务角度深入的去分析,他为什么提出变更,提得合不合理,我有没有更合理的方案满足这个需求。当我们提出更加合理的方案时,客户是乐于接受的,变更也变得可控了。

2.帮助客户挖掘需求

他们的需求与我们的需求之间有一些距离,我们的需求仅仅是对方能满足和达成的一部分,对方有更多的目标和愿望需要我们去挖掘和助其达成,而那些潜在需求得到满足时,这种显性需求自然而然便被解决。且在挖掘用户需求时,变陈述句为疑问句是比较关键的方法,通过提问,获得用户究竟“要什么?”、“为什么要”、“其他需要”,讲究提问方式和技巧,以同理心去倾听。

3.分析客户需求的可行性:

需求分析的本质在于业务分析,而非技术分析。但我们作为技术人员,需求分析必须实事求是的、基于技术可以实现的角度去考虑。那种“有条件要上,没有条件创造条件也要上”的鲁莽行事,结果必然是悲惨的。所以我们必须要基于技术实现去引导客户的需求。我们做需求就应当首先理解现有的管理模式,然后站在信息化管理的角度去审视他们的管理模式是否合理,最后一步一步地去引导他们按照更加合理的方式去操作与管理。

需求分析不是一蹴而就的,它应当贯穿整个开发周期,不断的分析确认的过程。敏捷开发倡导需求反馈。敏捷开发认为,需求分析阶段不可能解决所有的需求问题,因此在设计、开发、测试,直到最终交付客户,这整个过程都应当不停地用开发的成果与客户交流,及时获得反馈。只有这样才能及时纠正需求理解的偏差,保证项目的成功。

二、需求分析分为三个阶段

1.需求提出(应当怎样做需求分析)

主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。

需求调研是需求分析最重要的一环,也最集中地体现了需求分析的特点——既是一份体力活儿,更是一份技术活儿。它既要求我们具有一种理解能力、设计能力,更要求我们具有一种与人交往、沟通的能力。

他们为什么要提出这项需求,提这项需求的目的是什么?只有经过这样的分析,我们才能深刻地理解需求,进而运用我们的专业知识,提出更加合理的技术方案。但非常遗憾,我们在需求分析中常常不是这样做的,甚至当软件都开发出来了,需求分析人员都说不出客户为什么要提出这个需求,更谈不上了解业务操作流程。一句经典的话是:“客户让我们这样做的。”

需求捕获->需求整理->需求验证->再需求捕获??????

2.需求描述(需要的设计和文档)

在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。

采用原文分析法,是在用例说明与流程分析的基础上进行的业务领域分析,是一项在需求研讨会后整理和分析需求的工作。

领域驱动设计,建立模型,需求列表

3.需求评审(应当怎样做需求确认)

在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。

理想与现实总是有差距,我们之所以要编写自己的需求规格说明书,就是要本着实事求是、切实可行的态度,去描述用户的业务需求。那些不可行的需求被摒弃,或者换成更加可行的解决方案。这就是需求规格说明书的重要作用。

我们说这种需求分析工作不可能完全完成,或者说日后用户的需求会变,其实并不是毫无规律可循的。通常,用户对需求的变更只发生在某些固定的范围内,弄清楚了这些范围,我们的问题就迎刃而解了。

需求评审会的主要目的就是确认需求,以便以此开始我们的设计开发工作。

参考博文:http://blog.csdn.net/yqmfly/article/details/7679781

时间: 2024-11-13 04:42:04

关于《软件需求分析》需要掌握哪些必要的内容的总结与思考的相关文章

【转】软件需求分析方法

软件需求分析(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%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

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

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

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

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

你会做软件需求分析吗?

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

浅谈软件需求分析

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

软件需求分析复习要点

本文根据华南理工大学软件学院<软件需求分析>课程及相关教材<UML和模式应用>总结,作复习回顾用. Chapter. 1 面向对象分析与设计(OOA/D) UML是标准的图形表示法.它并不是OOA/D,也不是方法.OOD(以及所有软件设计)与作为其先决活动的需求分析(requirement analysis)具有紧密联系,而在需求分析中通常包含用例(use case)的编写. 分析(analysis)强调的是对问题和需求的调查研究,而不是解决方案.“分析”要加以限制,说清楚是“需求