一、概念和意义
以文档形式提供关于目标系统功能和性能等需求的完整描述。
需求分析结果以模型形式展示:如DFD图,IDEF0图等,称为功能模型。
软件开发的依据:功能模型和软件需求规格说明书。
二、需求获取方法
面谈、实地观察、问卷调查、查阅资料。
三、需求分析过程
1.标识问题
理解现行系统的业务流程,发现存在的问题和需要改进的方面,还要注意系统的人机界面。
2.建立需求模型
借助模型和抽象方法把复杂事物变简单,便于认识和分析复杂问题。
3.描述需求
对待开发系统从宏观和整体上的一个完整性描述。
主要由需求模型(系统功能模型,体现业务流程)和软件需求说明书组成。
需求文档是需求分析工作完成的标志,力求论述全面、结构清晰、内容准确、描述清楚。
4.确认需求
证实需求说明书描述的内容是可恶所期望和需要的。
四、需求分析方法
1.概述
主要有DFD(data flow diagram)和IDEF0(结构化分析与建模方法),优点:不过早地陷入细节、从宏观和整体入手分析、图形化、不涉及太多技术术语。
UML用例建模(面向对象分析方法)
2.DFD需求建模方法
核心:数据流,抽象出主要业务流程,分析其输入,初始数据,从哪里来,流向何处,经过什么加工,变为什么数据,最终结果。
基本元素:
数据流
处理(或圆)
一个处理只做一件事情。
数据存储
静态存储,可代表文件、数据库的元素等
外部项(实体)
人、物或其他软件系统
(或正方形)
DFD图:
自顶向下,逐步细化的结构化分析方法表示目标系统。
直到每项活动都是具体的、可操作性的、用一个程序模块可以实现其功能为止。
建模过程:(对功能进行建模)
明确目标,确定系统范围:明确系统需求,完整准确一致地描述出来。
分为三层
建立顶层DFD图:(顶层DFD图中包含的处理只有一个)
描述主要功能
构建第一层DFD分解图:
将顶层图中的处理分解成多个更细化的处理。
开发DFD层次结构图:
对第一层分解图中的每个处理框进行进一步分解,在分解图中要列出所有处理及相关的信息。
大连工业大学——《软件工程导论》
DFD图示例:
两个表 表示“数据存储”。
上一层是下一层的抽象,下一层是上一层的求精和细化。
IDEF0:
基本元素:
矩形框:代表功能活动
箭头:数据
自顶向下,逐步细化
机制:计算机系统、人或组织
控制:执行的事件或约束条件
功能活动实例:
DFD和IDEF0比较:
DFD强调流或顺序,IDEF0强调数据约束。
IDEF0的箭头语义更加丰富,不仅能够表示数据流,还可以表示数据流和约束。
IDEF0箭头说明可以在文档中,不必表示在图中,适合于大型复杂系统的需求建模。