需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题(系统功能)
尽管目前有许多不同的用于需求分析(分析建模)的结构化分析方法, 但是,所有这些分析方法都遵守下述准则。
1.理解并描述问题的信息域,根据这条准则应该建立数据模型。
2.定义软件应完成的功能,这条准则要求建立功能模型。
3.描述作为外部事件结果的软件行为,这条准则要求建立行为模型
4.对描述数据、功能和行为模型进行分解,用层次的方式展示细节需求分析三个阶段:需求获取、分析建模、需求评审
需求分析任务
确定对系统的综合要求
1.系统功能要求
2.系统性能要求 (定时约束或容量约束:速度-响应时间、信息量速率、主存容量、硬盘容量、安全性等)
3.系统信息需求
4.运行要求(可靠性、可用性、出错处理)
5.接口需求、约束
6.逆向需求 (不应该做什么)
7.将来可能提出的要求
分析系统的数据要求
导出系统的逻辑模型
修订系统开发计划
开发原型系统
编写软件需求规格说明书(里程碑、有明确的格式和内容、需要进行需求评审)
需求分析的成果(主要文档: 需求规格说明书、细化的系统开发计划、确认的测试计划)
与用户沟通获取需求的方法
访谈有两种基本形式,分别是正式的和非正式的访谈。正式访谈时,系统分析员将提出一些事先准备好的具体问题,非正式访谈中,分析员将提出一些用户可以自由回答的开放性问题,以鼓励被访问人员说出自己的想法
在访问用户的过程中使用情景分析技术往往非常有效。所谓情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析。
情景分析技术的用处主要体现在下述两个方面。
它能在某种程度上演示目标系统的行为,从而便于用