需求分析
需求分析的任务
1、通常对软件系统有下述几个方面的综合要求:
2、与用户沟通获取需求的方法访谈
- 访谈。有两种基本形式,分别是正式的和非正式的访谈。
- 面向数据流自顶向下求精。结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法。通过可行性研究已经得出了目标系统的高层数据流图,需求分析的目标之一就是把数据流和数据存储定义到元素级。
- 简易的应用规格说明技术
- 快速建立软件原型
3、尽管目前有许多不同的用于需求分析的结构化分析方法,但是,所有这些分析方法都遵守下述准则:
- 必须理解并描述问题的信息域,根据这条准则应该建立数据模型。
- 必须定义软件应完成的功能,这条准则要求建立功能模型。
- 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型
- 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
分析建模与规格说明
1、软件需求规格说明
软件需求规格说明是需求分析阶段得出的最主要的文档。
通常用自然语言完整、准确、具体地描述系统的数据要求、功能需求、性能需求、可靠性和可用性要求、出错处理需求、接口需求、约束、逆向需求以及将来可能提出的要求。
2、验证软件需求,一般从四个方面进行验证。
- 验证需求的一致性。当需求分析的结果是用自然语言书写的时候,除了靠人工技术审查验证软件系统规格说明书的正确性之外,目前还没有其他更好的“测试”方法。但是,这种非形式化的规格说明书是难于验证的,特别在目标系统规模庞大、规格说明书篇幅很长的时候,人工审查的效果是没有保证的,冗余、遗漏和不一致等问题可能没被发现而继续保留下来,以致软件开发工作不能在正确的基础上顺利进行。为了克服上述困难,人们提出了形式化的描述软件需求的方法。
- 验证需求的现实性。为了验证需求的现实性,分析员应该参照以往开发类似系统的经验,分析用现有的软、硬件技术实现目标系统的可能性。必要的时候应该采用仿真或性能模拟技术,辅助分析软件需求规格说明书的现实性。
- 验证需求的完整性和有效性。只有目标系统的用户才真正知道软件需求规格说明书是否完整、准确地描述了他们的需求。因此,检验需求的完整性,特别是证明系统确实满足用户的实际需要,只有在用户的密切合作下才能完成。然而许多用户并不能清楚地认识到他们的需要(特别在要开发的系统是全新的,以前没有使用类似系统的经验时,情况更是如此),不能有效地比较陈述需求的语句和实际需要的功能。只有当他们有某种工作着的软件系统可以实际使用和评价时,才能完整确切地提出他们的需要。