包括内容如下:
1. 需求获取与需求分析阶段的任务
2. 结构化分析方法
3. 系统需求规格说明
4. 需求评审
5. 需求管理
3.1 需求获取与需求分析阶段的任务
3.1包括:
需求获取的任务和原则
需求获取的过程
软件需求分析阶段的任务
3.1.1需求获取的任务和原则
获取并理解用户的需求是软件工程师所面对的最困难的任务之一。
导出需求变得如此困难的原因归为以下几个方面的问题:
系统的目标或范围问题; 需求不准确性问题 ; 需求的易变问题 ;
需求获取除了需要有专业的系统分析师,还需要通过有效的客户/开发者的合作才能成功。
3.1.1.1 需求获取的任务
(1) 发现和分析问题,并分析问题的原因/结果关系。
(2) 与用户进行各种方式的交流,并使用调查研究方法收集信息。
(3) 按照三个成分观察问题的不同侧面:即数据、过程和接口。
(4) 将获取的需求文档化,形式有用例、决策表、需求表等。
3.1.1.2. 需求获取应遵循的原则
(1) 深入浅出的原则。
就是说,需求获取要尽可能全面、细致。获取的需求是个全集,目标系统真正实现的是个子集。 (2) 以流程为主线的原则。
在与用户交流的过程中,应该用流程将所有的内容串起来。如信息、组织结构、处理规则等。这样便于交流沟通。流程的描述既有宏观描述,也有微观描述。
3.1.2 需求获取的过程
1. 开发高层的业务模型
2. 定义项目范围和高层需求
3. 识别用户类和用户代表
系统的不同用户之间在很多方面存在差异,例如:
(1) 使用产品的频率;
(2) 用户在应用领域的经验和使用计算机系统的技能;
(3) 所用到的产品功能;
(4) 为支持业务过程所进行的工作;
(5) 访问权限和安全级别
4. 获取具体的需求
具体需求的来源可以来自以下几种典型的途径。
(1) 与用户进行交流。 (2) 现有产品或竞争产品的描述文档。 (3) 系统需求规格说明。 (4) 当前系统的问题报告和改进要求。 (5) 市场调查和用户问卷调查。 (6) 观察用户如何工作。
5. 确定目标系统的业务工作流
6. 需求整理与总结
必须对上面步骤取得的需求资料进行整理和总结,确定对软件系统的综合要求,即软件的需求。 并提出这些需求实现条件,以及需求应达到的标准。
这些需求包括功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、软件成本消耗与开发进度需求等。
3.1.3 软件需求分析阶段的任务
可以把软件需求分析阶段的工作分为4个步骤,即获取需求、分析需求、定义需求和验证需求,如图所示。
软件需求分析阶段的工作步