基本任务
准确地回答“系统必须做什么?”,也就是对目标系统提出完整、准确、清晰、具体的要求
目标是,在分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。
准则
- 1)必须理解并描述问题的信息域,根据这条准则应该建立数据模型(工具:实体关系图ERD)
- 2)必须定义软件应完成的功能,这条准则应该建立功能模型(工具:数据流图DFD)
- 3)必须描述作为外部事件结果的软件行为,这条准则应该建立行为模型(工具:状态转换图STD)
- 4)必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节
步骤
- 问题分析:一般指文字描述
- 需求分析:建立分析模型
- 需求验证 :评审
需求获取的常用方法
联合分析小组
用户代表、领域专家和系统分析员
客户访谈
充分准备(可以准备调查表),寻找共同语言
循序渐进、逐步逼近
实际观察用户工作流程
问题分析与确认
多个来回
需求分析方法
结构化分析方法
自定向下、功能分解(分层DFD)
由后向前,定义数据和加工(DD,PSPEC)
根据需要,分析复杂数据和动态模型(E-R图,CFD,CSPEC,STD)
编写SRS
面向对象分析方法
定义系统的用例
领域分析,建立类对象模型
建立对象-关系模型
建立对象-行为模型
编写SRS
验证软件需求
1)一致性。所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾
2)完整性。需求必须是完整的,规格说明书(SRS)应该包括用户需要的每一个功能、性能
3)现实性。指定的需求应该是用现有的软硬件技术基本上可以实现
4)有效性。必须证明需求是正确有效的,确实能解决用户面对的问题