一、需求分析概述
需求分析实现的目标是将软件用户对于软件的一系列意图、想法转变为软件开发人员所需要的有关软件的技术规格,但实际上这具有相当大的难度。
- 需求获取
需求类别
- 用户需求
- 功能需求
- 非功能需求
需求获取的方式
- 访谈用户
- 开座谈会
- 问卷调查
- 跟班作业
- 收集用户台账资料
- 通过 原型完善用户需求
- AB测试等等
- 需求建模并细化
结构化方法分析建模
在结构化的方法中,需求分析模型是由数据流图(以及数据字典)来反映;在面向对象方法下,需求分析模型是由用例模型(用例图+用例的流程图)+分析类来反映。
数据流图是描述系统中数据流的图形工具,是一种用来表示信息流和信息变换过程的图解方法。
数据字典被用来对数据流图中的加工和数据(数据流)进行补充说明,对数据流中出现的图形元素做出确切的解释。
数据字典包括5类条目:数据项、数据结构、数据流、数据存储、处理过程。
面向对象方法分析建模
面向对象方法下,目标系统分析逻辑模型由用例模型(用例图+用例流程图)+分析类模型构成。
用例是系统中的一个功能单元,可以描述为操作者与系统之间的一次交互。
- 需求文档
需求文档应该具有清晰性、无二义性、准确性。
需求验证
二、结构化方法的需求分析
结构化方法的需求分析,以逐步细化的数据流图(Data Flow Diagram,简称DFD)以及数据字典(Data Dictionary,简称DD)进行需求结果描述。
数据字典的作用是对数据流图中的各种成分进行详细说明,作为数据流图的细节补充,和数据流图一起构成完整的系统需求模型。数据字典一般应包括对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述。
三、面向对象的需求分析
在用例图的基本元素中的几种关系:
关联、泛化、包含、扩展
关联:指参与者与用例之间的关系;
泛化:指参与者之间或用例之间的关系;
包含:指用例与用例之间的关系;
扩展:指用例与用例之间的关系。