需求获取得到的信息和需求开发应该建立的软件系统解决方案之间有着很大的差距。需求分析就是用来解决这个差距的需求工程活动。
分析可以将复杂系统分解成简单的部分并明确他们之间的联系,确定本质特征,并抛弃次要特征。这样,分析就可以抽取出信息的本质含义,帮助开发者准确理解用户的意图,和用户达成对信息内容的共同理解。分析的活动主要包括识别、定义和结构化,其目的是获取某个可以转换为知识的事物的信息,这种分析活动被称为建模。
通过建模抽象可降低应用的复杂性,在建模的过程中能更深刻地理解信息,帮助人们更好地记忆细节,更好地与用户和其他开发人员进行交流,为以后的维护和升级提供文档。