我们应该如何做需求分析

需求分析工作的好坏极大程度上导致了软件项目的成败,因此做好需求分析是软件项目顺利完成的首要前提。本文将简要说明做好需求分析的几大注意方面,对日后的需求分析工作奠定一定的理论基础。

首先,做好需求分析的关键是必须实事求是、基于技术可以实现的角度考虑,在技术实现的基础上去引导客户的需求。我们在需求调研过程中,需要充分挖掘客户的需求,让客户能够尽可能多的描述,但是当遇到客户提出一些不切实际的要求时,需要从专业的角度去提醒,但也不能太过直接拒绝客户。应对方案可选择提供两种方案,一种是拒绝客户的请求,告诉他这是无法达到的;另一种是再次挖掘客户为什么还提出这项需求,提出较为折中的方案B。一般客户较为乐意选择第二种方案,在心理学角度,首先提出客户不愿接受的第一种方案,打破他的心理底线,再提出较为合理的折中方案,往往可以取得客户的认可。

其次,需求分析即使一个体力活儿,更是一项技术活儿。这项工作对分析人员的理解能力、设计能力以及与人沟通、交往的能力都有一定的要求。因此,做好需求分析还需要精心打磨,站在用户角度和现实层面充分考量。

最后,简要简述需求分析工作中需要注意的要点:

一、初始阶段:专业不过分谦卑的交往态度

第一印象在人与人的交往认识中占有很大影响因素,因此,能够树立良好的第一印象,能够促进需求调研工作和后期项目开发的顺利进展。在进行正式需求调研之前,往往需要开展大型动员大会,但此时不要进行具体的功能需求调研,往往会因为人多嘴杂,忽略掉一些真正的需求。这个阶段,分析人员可以按照职能划分不同的角色,细化每个角色所关注的要点。比如,高层领导较为关注宏观目标,以及决策层面的重大事项,因此最好不要与其商量细节上的实现;中层领导较为关注效益,因此最好与其聊聊本项目实现将会为部门带来的实际效益;基层领导更为关注细节,因为基层人员才是软件的真正使用者,所以,在软件功能需求调研时,应该更多考虑这些基层人员的需求,软件开发过程中相互交流可以促进项目完成的满意度,这也有利于帮助日后的软件推广。

二、调研阶段:精选调研人员,培养盟友

此阶段是整个项目顺利完成的最重要部分,因为项目的失败往往是因为需求调研时出现的误差。合适的调研人员就显得尤为重要,根据调研参考经验,被调研人员数量需要严格控制,3~5人就显得比较合适,他们最好是业务上的专家,熟悉业务流程,能够较好描述业务流程过程中的需求。当然,在调研过程中,难免出现客户未说出某一需求,这可能还很关键,主要可能是因为这一业务准则在客户认为知道此项准则应该是天经地义,没有必要进行特地提出。为解决这一矛盾,需求调研人员还需要在调研工作开始之前进行客户业务领域专业的知识普及,熟悉业务领域的基本工作准则,以免出现较大的低级错误。还有一些客户描述不清的需求,可能当时未想到,但是在后期软件开发过程中才会意识到项目的偏差,这种情况下,分析人员最好依次按照业务流程逐个梳理功能需求,以免有遗漏。

三、研讨阶段:循序渐进,迭代开发

此时分析人员对客户的需求有了大致掌握,还需要研讨“业务领域分析”中关于业务流程、专用名词定义、相互关系、操作目的等,以及考虑为什么会形成这样的原始业务需求,其目的是什么。项目开发不是一蹴而就,往往采取迭代开发,迭代的过程大致为:需求捕获->需求整理->需求验证->需求再捕获……的循环过程。分析人员将客户的原始需求整理、分析、设计、经过用例分析、领域建模生成产品需求说明书。如果项目是用于企业或部门进行改革,还应在此阶段去掉原有的不合理部分。

四、做好功能角色分析与用例图

从组织机构上划分系统所涉及部门,在此基础上再分析部门人员角色,每次对搜集到的调研结果进行需求分析。用例图作为贯穿整个面向对象分析、设计的核心视图,描述提供的功能,哪些用户使用这些功能。其包含三元素:参与者(Actor)、用例(Use Case)、系统边界(Boundary),做好用例图,可以直观表达系统将能够为用户提供的功能。

五、模拟业务流程分析

通过软件模拟企业管理流程,使用用例图说明业务管理流程。

六、软件需求分析流程图

 

 

posted @ 2018-03-08 16:41  Someday&Li  阅读(406)  评论(0编辑  收藏  举报