1、为什么要做需求分析
需求分析就是分析软件用户的需求是什么,用户通过软件可以实现那些功能,完成那些操作。如果我们投入大量的人力物力,但是最后产出的软件根本没有用户愿意使用,或者根本不能满足用户的需要,那么这种结果无疑是痛心的,为什么在软件开发领域,能够最终优秀交付的只有14%,57%最多是合格,剩下29%则完全是失败??很多原因是因为我们都是一厢情愿的认为用户要的是什么,而没有搞清楚用户到底需要什么。
需求分析,建立需求模型,一方面是便于和客户沟通,因为客户可以通过模型能够比较直观的看到你对自己所提出需求的理解程度,一方面也是自己对客户需求的一个完整梳理过程。因此是一个项目成败的关键步骤。现在很多项目一上来就从代码开始,然而客户看不懂代码,最终只能通过结果发现你实现的并非自己需要的,这种情况导致的失败现象非常严重和普遍。
2、需求分析的任务:
简而言之,就是弄清楚用户要解决什么问题。从用户提供的,用户未提供但潜在存在的等方面全面地理解、挖掘、分析出用户真实、准确的需求。
3、需求分析的过程
有效的需求分析过程可以从四个方面出发:用户问题识别、综合分析、确认需求规格、评审。
问题识别就是从系统角度来理解软件,确定所要开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。
这些需求包括:
功能需求(需要实现什么);
性能需求(什么指标);
环境需求(如服务器机型、操作系统、数据库等);
可靠性需求(发生故障的情况和概率