怎样进行需求分析?
Posted s硕s
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样进行需求分析?相关的知识,希望对你有一定的参考价值。
思维导图
需求的开始工作:调研,要求我们具有理解能力、设计能力,与人交往、沟通的能力。与客户的初识,对项目团队意义重大。与客户保持适当的谦卑,我们对客户提出的需求进行深入理解以后,运用我们专业知识,提出比客户的原始需求更加合理、可操作的解决方案,让客户心理上先满意,这样良好的初印象会对之后的方案提出有很大便利效果。在软件项目中,特别是管理型软件项目中,客户都代表的是一个群体,而不是个人,他们代表的对象不同,角色不同,不同的部门,不同的业务,自然,需求也是不同的。所以为保证需求的完整性,横向来看(部门不同时),在进行需求调研的时候,什么部门的需求就应当跟什么部门谈。纵向(不同层次)理解不同层次的人的需求,要在需求调研阶段降低软件的多元化需求,有最终决策人,最后与客户方领导制订出软件目标。
与各种角色、各个类型的客户建立了联系,然后我们展开我们的需求调研:拜访。我们需要依靠客户这个群体的帮助,一步一步掌握真实可靠的业务需求,所以我们应该尽量与所有的客户都保持一种良好关系,但是总有例外,我们能做的就只有尽量结合大多数的客户需求,进行开发。
需求分析不是一蹴而就的,是一个反复迭代的过程。需求捕获(我们与客户在一起开研讨会,讨论需求的活动)->需求整理(在需求研讨会后,需求分析人员对研讨内容的分析和整理的过程)->需求验证->再需求捕获••••••需求分析的逐渐深入,软件同时也在接近客户的满意。
需求捕获:我们在需求分析的整个过程,不断进行业务领域知识的学习,多问为什么,可以让我们深入地理解更多的领域知识,站在客户的角度去思考问题,深入地理解客户提出那些业务需求的原因。客户的需求会随着软件的开发,逐渐显现出来,此时需求分析人员就应在深入理解业务领域与需求的基础上,通过分析提前发现这些需求,站在客户的角度去思考。我们的需求捕获最初是源于企业现有的操作流程,但当我们深入理解了客户现有的操作流程以后,发现那些不合理的部分,就应该提出更加合理的流程。
信息化管理类软件项目通常从这几个方面着手分析:功能角色分析、业务流程分析与业务领域分析(原文分析法)。对一个系统进行功能和角色方面的梳理和分析,可以采用的比较主流的方法之一就是绘制用例图,功能角色分析是对系统宏观的、整体的需求分析,它用简短的图形绘制出了一个系统的整体轮廓。进行流程分析,就是要求分析哪些是系统之内的,哪些是系统之外的。业务领域分析,就是对需求分析中涉及到的业务实体,以及它们相互之间关联关系的分析。
我们也应该重视非功能需求(URPS+)。需求列表,又称之为需求跟踪表,是最原始的、用户对业务需求的描述。将系统需求描述清楚是基本的需求列表要求。简单需求不需过多的细分,而复杂需求则需要尽量写细一些,随时更新需求列表。
编写较规范的需求规格说明书,最终结束以需求评审会(确认需求,以便以此开始我们的设计开发工作)结束此次需求分析。
项目教训: 要从业务角度深入分析客户提出的需求更改,判断其合理性和提出此次更改的原因。还要考虑针对客户的更改,自己是否有更合理的方案。要知道客户提出的原始需求往往是不考虑技术实现的情况下提出来的。他们提出的很多需求常常比较理想,但我们作为技术人员,需求分析必须从实事求是的、基于技术可以实现的角度去考虑。我们不能鲁莽行事,更不能敷衍了事,我们可以尝试基于技术实现去引导客户的需求。复杂场景中,我们应该认真分析清楚所有类型人员的需求,以增强需求分析结果的充分性。一个软件项目的需求调研首先必须要进行角色分析,而且需要考虑角色的多样性。另外需求分析不是一蹴而就的,它应当贯穿整个开发周期。只有开发过程各个阶段中的需求都复述,才能减少最终的需求差。
以上是关于怎样进行需求分析?的主要内容,如果未能解决你的问题,请参考以下文章