天天看点

为什么要做好需求分析??1、为什么要做需求分析

1、为什么要做需求分析

需求分析就是分析软件用户的需求是什么,用户通过软件可以实现那些功能,完成那些操作。如果我们投入大量的人力物力,但是最后产出的软件根本没有用户愿意使用,或者根本不能满足用户的需要,那么这种结果无疑是痛心的,为什么在软件开发领域,能够最终优秀交付的只有14%,57%最多是合格,剩下29%则完全是失败??很多原因是因为我们都是一厢情愿的认为用户要的是什么,而没有搞清楚用户到底需要什么。

需求分析,建立需求模型,一方面是便于和客户沟通,因为客户可以通过模型能够比较直观的看到你对自己所提出需求的理解程度,一方面也是自己对客户需求的一个完整梳理过程。因此是一个项目成败的关键步骤。现在很多项目一上来就从代码开始,然而客户看不懂代码,最终只能通过结果发现你实现的并非自己需要的,这种情况导致的失败现象非常严重和普遍。

2、需求分析的任务:

简而言之,就是弄清楚用户要解决什么问题。从用户提供的,用户未提供但潜在存在的等方面全面地理解、挖掘、分析出用户真实、准确的需求。

3、需求分析的过程

有效的需求分析过程可以从四个方面出发:用户问题识别、综合分析、确认需求规格、评审。

问题识别就是从系统角度来理解软件,确定所要开发系统的综合要求,并提出这些需求的实现条件,以及需求应该达到的标准。

这些需求包括:

功能需求(需要实现什么);

性能需求(什么指标);

环境需求(如服务器机型、操作系统、数据库等);

可靠性需求(发生故障的情况和概率);

安全保密需求;

用户界面需求;

资源需求(所需的内存、CPU、带宽等);

软件成本消耗与开发进度需求;

预先估计以后可能增加扩展的内容;

系统可能达到的目标等;

其中除了功能需求外其他需求是很容易一次性识别和评估的,而功能需求需要我们通过多种方式方法来逐步识别和完善,后面的综合分析中就要针对功能需求进行逐步的确定和完善。

    综合分析需要逐步细化所有的软件功能,找出系统各元素间的联系,接口特性和设计上的限制,分析他们是否满足需求,剔除不合理部分,增加需要部分。

无论是进行需求的结构化过程,在Trufun Bacon工具中进行功能性需求、性能性需求、接口性需求等结构化管理,并且进行关联设置,针对有关联的需求变更的预警。还是进行需求的模型化描述(UML模型),Trufun SDP都可以做到完美的结合和统一。

综合分析结果就是得到完整的从不同方面不同重点描述用户项目的模型和文档,他们是我们和用户不断的展开讨论、沟通,并确认产生的最终结果。最终产生的结构化需求条目、视图、模型等都是我们以后设计、开发、测试等过程的唯一准确的依据。并且,最终可以利用以上工具生成规范的需求规格说明书等标准文档。

4、需求模型的作用

    需求模型可帮助你:

l 将系统的外部行为与其内部设计区分开来进行重点关注。

l 与使用自然语言相比,在描述用户和利益干系人的需求方面产生的歧义更少。

l 定义可供用户、开发人员和测试人员使用的一致术语词汇表。

l 减小要求的差距和不一致性。

l 减少对更改要求作出响应所需的工作量。

l 计划未来开发各种功能的顺序。

使用模型作为系统测试的基础,明确测试和要求之间的关系。  要求发生改变时,这种关系将帮助你正确地更新测试。  这可以确保系统满足新的要求。

同时,我们在需求分析过程中还可以综合成系统的解决方案,给出后面要开发的系统的详细设计模型,这些都是以准确的需求为基础的,都将成为整个项目的唯一参考标准,也是后面的开发到测试的标准,也是项目完成保存的最有价值的东西。

继续阅读