©2009BUPTTSEG软件工程模型与方法Models&MethodsofSoftwareEngineering第五章结构化需求分析修佳鹏media@bupt.edu.cn©2009BUPTTSEG北京邮电大学通信软件工程中心2本章内容5.1结构化需求分析的由来5.2结构化分析模型的组成5.3数据建模5.4功能建模5.5数据词典5.6行为建模5.7软件需求规格说明书©2009BUPTTSEG北京邮电大学通信软件工程中心35.1结构化需求分析的由来分析建模的开始于20世纪60-70年代,但结构化分析方法的第一次出现是作为另一个重要课题—“结构化设计”的附属品。其目的是需要一种图形符号体系来表示数据和对数据进行变换的处理,这些处理最终能被映射到软件体系结构的设计中。结构化分析这个词汇最初由DouglasRoss提出,由DeMarco进行了推广,定义了创建信息流模型的关键图形符号。80年代中期,结构化分析引入了对实时系统的扩展。©2009BUPTTSEG北京邮电大学通信软件工程中心45.2结构化分析模型的组成需求分析的分析模型必须达到三个主要目标:描述客户的需求;建立创建软件设计的基础;定义在软件完成后可以被确认的一组需求。数据词典数据流图实体关系图状态迁移图控制规格说明数据对象描述加工规格说明©2009BUPTTSEG北京邮电大学通信软件工程中心55.2结构化分析模型的组成数据字典是模型的核心实体关系图(ER图):描述数据对象间的关系,用于数据建模。数据流图(DFD图):描述了数据流在系统中流动的过程,以及对数据流进行变换的功能,用于功能建模。状态迁移图(STD图):描述了对外部事件的响应方式,表示了系统的各种行为模式(称为状态)以及在状态间进行变迁的方式,用于行为建模。©2009BUPTTSEG北京邮电大学通信软件工程中心65.3数据建模5.3.1什么是数据模型5.3.2数据建模的目标5.3.3实体关系图5.3.4数据对象、属性和关系5.3.5数据结构规范化©2009BUPTTSEG北京邮电大学通信软件工程中心75.3.1什么是数据模型软件系统本质上是处理信息的系统,即对数据进行处理的系统,因此在开发过程中必须考虑以下两方面的问题:“数据”需要有哪些数据?数据之间有什么联系?数据本身有什么性质?数据结构等对数据的“处理”对数据进行哪些处理?每个处理的逻辑功能是什么?©2009BUPTTSEG北京邮电大学通信软件工程中心85.3.1什么是数据模型数据模型是为了把用户的数据要求清晰明确地表达出来所建立的一个概念性的模型,也称为信息模型。概念性数据模型是一...