文档介绍:第3章软件需求获取与结构化分析方法
需求获取与需求分析阶段的任务
结构化分析方法
系统需求规格说明
需求评审
需求管理
需求获取与需求分析阶段的任务
需求获取的任务和原则
需求获取的过程
软件需求分析阶段的任务
需求获取的任务和原则
需求获取的主要任务是与客户或用户沟通,了解系统或产品的目标是什么?客户或用户想要实现什么?系统和产品如何满足业务的要求,最终系统或产品如何用于日常工作?
获取并理解用户的需求是软件工程师所面对的最困难的任务之一。
需求获取的任务和原则
导出需求变得如此困难的原因归为以下几个方面的问题:
系统的目标或范围问题;
需求不准确性问题;
需求的易变问题;
需求获取除了需要有专业的系统分析师,还需要通过有效的客户/开发者的合作才能成功。
需求获取的任务和原则
1. 需求获取的任务
(1) 发现和分析问题,并分析问题的原因/结果关系。
(2) 与用户进行各种方式的交流,并使用调查研究方法收集信息。
(3) 按照三个成分观察问题的不同侧面:即数据、过程和接口。
(4) 将获取的需求文档化,形式有用例、决策表、需求表等。
需求获取的任务和原则
2. 需求获取应遵循的原则
(1) 深入浅出的原则。就是说,需求获取要尽可能全面、细致。获取的需求是个全集,目标系统真正实现的是个子集。
(2) 以流程为主线的原则。在与用户交流的过程中,应该用流程将所有的内容串起来。如信息、组织结构、处理规则等。这样便于交流沟通。流程的描述既有宏观描述,也有微观描述。
需求获取的过程
1. 开发高层的业务模型
2. 定义项目范围和高层需求
3. 识别用户类和用户代表
系统的不同用户之间在很多方面存在差异,例如:
(1) 使用产品的频率;
(2) 用户在应用领域的经验和使用计算机系统的技能;
(3) 所用到的产品功能;
(4) 为支持业务过程所进行的工作;
(5) 访问权限和安全级别
需求获取的过程
4. 获取具体的需求
确定了项目范围和高层需求,并确定了用户类及用户代表后,就需要获取更具体、完整和详细的需求。具体需求的来源可以来自以下几种典型的途径。
(1) 与用户进行交流。
(2) 现有产品或竞争产品的描述文档。
(3) 系统需求规格说明。
(4) 当前系统的问题报告和改进要求。
(5) 市场调查和用户问卷调查。
(6) 观察用户如何工作。
需求获取的过程
5. 确定目标系统的业务工作流
具体到当前待开发的应用系统,确定系统的业务工作流和主要的业务规则,采取需求调研的方法获取所需的信息。例如,针对信息系统的需求调研方法如下:
(1) 调研用户的组织结构、岗位设置、职责定义,从功能上区分有多少个子系统,划分系统的大致范围,明确系统的目标。
(2) 调研每个子系统的工作流程、功能与处理规则,收集原始信息资料,用数据流来表示物流、资金流、信息流三者的关系。
(3) 对调研内容事先准备,针对不同管理层次的用户询问不同的问题,列出问题清单。将操作层、管理层、决策层的需求既联系又区分开来,形成一个需求的层次。
需求获取的过程