需求调研:对自己需要开发的软件进行调查,了解好用户的需求,针对需求做好准备。需求调研对于一个软件开发来说,是一个系统开发的开始阶段,它的输出“软件需求分析报告”是设计阶段的输入,需求调研的质量对于一个应用软件来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个软件的交付结果。怎样从客户中听取用户需求、分析用户需求就成为调研人员最重要的任务。
需求分析:针对自己调研出来的数据进行相应的分析,提取出用户真正的需求。需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
需求确认:用户开始的需求经过调研和分析两个过程后,列出最终的需求列表,与客户进行核对。书写需求说明书。
一、需求调研
初识:
要让客户认识到自己的专业性。通过听取客户的需求,做出相应的判断,以专业的角度对需求进行理解并回复客户。不要在客户面前唯命是从,要适当地提出自己的见解,这样不但会让客户对自己有信心,而且自己也可以规范化客户的需求,不至于客户提出什么我们就按照客户说的做什么。
进行详细的角色分析,对号入座。客户方有很多的角色,每一个角色都有自己独特关注的地方,要合理地进行角色分析,让他们了解他们所希望了解的问题,对于需求的调研分析非常地重要。
从宏观上制定目标。在将角色进行分析后,要对每一个角色进行特定地分析,与各个角色进行详细地业务分析,详细了解业务的流程,对于需求的分析非常重要。
拜访:
需求分析需要与客户进行交流,与人交流就要处理好与他人的关系,我们应该在项目的整个过程中与客户建立良好的友谊关系,好的关系可以提高交流的效率。客户是一个大群体,有很多部门,有的部门与项目关联较大,有的则关联较小,不管关联大还是小我们都要与客户建立良好的友谊关系,这对项目的良好开展非常地重要。
研讨会:
将项目负责人以及客户代表聚到一起开需求研讨会是非常重要的,在研讨会上可以详细地对项目进行需求分析,将客户聚到一起一方面可以将各个部门的客户的需求统一化,避免每个部门的需求不一致,导致项目需要开发很多的版本,导致项目太大开发困难而且不容易维护;另一方面可以将各个部门的需求进行分析,取长补短,从而制定一个好的项目。
需求研讨:
需求研讨是在客户提出需求时,需求人员对客户的需求进行可行性分析,因为客户一般都是非专业人员,对项目的开发不了解,以致于提出的需求不合理或者很难实现,所以需求人员需要对希求进行可行性分析,如果客户提出的需求不合理则应该充分了解客户为什么会提出这项需求,客户究竟想要实现什么功能,充分了解客户,充分理解需求,制定出替代的方案,然后跟客户进行协商,以达到客户的满意和自己项目的正常进行。
迭代:
在从客户那里得到需求后,我们应该分析用户的每一项需求,对需求进行分析,绘制类图和对象图等,详细地进行设计分析,然后不断地与客户进行交流,细化需求,进行迭代开发,每次多理解一点,最终使软件更接近用户的满意。
需求捕获:
从客户那里得到需求是需求分析的关键,如何从客户那里捕获需求,捕获的需求是否明确非常重要,我们应主动地从客户那里捕获需求,不能被动地捕获,这样可以有效地分析客户业务的详细流程,了解由谁来操作,并了解为什么要这样操作,深入地了解这些领域和知识,另外因为我们对客户的业务不熟悉,我们要主动地对客户进行询问,深入明确地了解用户的需求和业务流程。大多数客户对于软件开发并不专业,所以很有可能会遗漏一些东西,需求人员应该深入分析客户的需求,提出客户遗漏的东西,使需求更接近与客户真正的需求。