需求分析的目的在于开发出高质量和具体的需求,从而支持系统设计、构造和测试。
需求建模与分析总体上说,是从已经获得的需求信息,采用各种形式予以描述,比如文本和图形方式,以找到其中存在的需求不正确、需求不一致、需求遗漏的和冗余等问题,并予以纠正。具体地说,需求工程师通过采用不同的建模方法识别、理解、挖掘需求提供者对系统的期望,从而构建软件系统的结构模型,行为模型,或者其他各种对展示待开发软件的不同特性的模型。建模方法在这个活动中占了重要的作用,采用不同的建模方法意味着从不同的视角去看待软件问题,如何从对整体系统的期望中推导出对软件系统本身的期望,去展示软件系统将如何行为并在软件加强型系统中如何起到它的作用。传统的建模方法有UML用例、结构化分析、面向对象分析等。需求建模现代方法有面向目标的方法、面向主体与意图的方法、基于情景的方法、问题框架方法等。
软件项目中经常采用的常规分析技术包括分析检查表和交叉矩阵等。它们都是帮助需求工程师发现需求规格说明中可能存在的问题的手段。其中分析检查表中包含一些预定义的问题类型,需求工程师带着这些问题去阅读需求文档,逐项对照表中的项来检查需求是否存在问题,并将所发现的潜在问题标记出来。交叉矩阵表示任意两个需求之间可能存在的冲突、重叠或依赖,目的是帮助发现需求之间的交互,从而揭示可能存在的需求冲突和重叠。