据权威部门统计,目前软件的成功率约为25%,75%的软件是失败的。在这75%的失败中,约有50%以上的软件是由于需求的原因造成的。作为软件的设计和开发人员常抱怨用户需求不明确,需求常处于变更状态。新的需求往往在开发阶段才被用户提出。造成软件的完成日期不断的迟后。
一般的软件企业,往往只口头上注重用户需求。但由于没有科学的管理方法,实际上他们描述的用户需求是杂乱无章的,只言片语的。不能有效地和系统设计、开发保持同步最后开发出来的软件产品和实际有很大的差异。导致软件的失败。有证据表明,在需求阶段修正错误的工作量,是在系统设计阶段修正错误的1/10;是在开发阶段修正错误的1/100,是在发布产品阶段修正错误的1/1000。当然这是对大型系统而言,对于不同的系统,随系统的复杂程度这个比率会有所不同。
用户的需求的增加具有渐进的、增量的特点。随着需求分析人员和用户逐渐深入的交流,用户在不断地整理、规范自己的需求。需求分析人员须牢记的是用户不可能一下子给出一个完整、清晰、规范的用户需求。需求分析人员需从与用户的交流中,不断地挖掘,并加以整理,才能得到想要的需求。
需求分析一般来说需要有一个需求分析的团队,如用户代表、系统分析人员、开发人员、需求管理人员等,他们的分工不同各有侧重点。对于小型或中型项目人员可以兼任。
基于上述原因,需要从理论上规范用户需求的收集和整理。本文结合系统建模,给出了需求分析的一般性方法。它如下的包含了两个方面:
1、 技术层面
给出需求分析的系统框架,它包含了需求的项目、参与需求分析的用户、用户对于需求的可操作权限(安全性)等。
2、 操作层面
给出了需求收集、整理、分析的一般性方法。其中介绍了系统建模和需求分析间的相互关系,最后介绍了目前几种流行的需求分析产品及它们的特点。
二、 需求分析的基本概念
需求分析的目的是完整、准确地描述用户的需求,跟踪用户需求的变化,将用户的需求准确地反映到系统的分析和设计中,并使系统的分析、设计和用户的需求保持一致。
文章来源于领测软件测试网 https://www.ltesting.net/