第2章 结构化分析
结构化分析的三个要点:
- 采用自顶向下功能分解的方法;
- 强调逻辑功能而不是实现功能的具体方法;
- 使用图形(最主要的是数据流图)进行系统分析并表达分析的结果。
模型核心: 数据字典
描述软件使用和产生的所有数据对象
数据模型: E-R图表达
描述数据对象间关系,图中数据对象属性用“数据对象描述”表达
功能模型: DFD表达
描述数据在软件中移动、变换及相应功能,图中功能用“处理规格说明”表达。
行为模型: 状态转换图
描述系统状态和在不同状态间的转换方式。
图中软件控制附加信息用“控制规格说明”表达
2.1 数据模型
数据对象
软件必须理解的复合信息表示。
复合信息是具有一系列不同性质或属性的事物。
属性
定义数据对象性质。
(数据对象学生的属性可为学号、姓名、班级等)
关系
对象彼此间相互连接方式,也称联系。
分三类,1:1、1:N、M:N
实体-联系图(ER图)
- 矩形框代表实体;
- 用连接相关实体的菱形框表示关系;
- 用椭圆形或圆角矩形表示实体或关系的属性。
仓库管理系统E-R图:
2.2 数据流图(功能模型)
数据流图(DFD)描绘系统逻辑模型,图中没具体的物理元素,只描绘信息在系统中流动处理情况。
是非常好通信工具和软件设计出发点。
四种基本符号
正方形(或立方体): 表示数据的源点或终点
人员、部门、计算机外部设备或传感器装置
圆角矩形(圆形): 代表变换数据的处理;
一系列程序、单个程序或程序一个模块;人工处理过程
开口矩形(两条平行横线): 代表数据存储
文件、文件一部分、数据库元素或记录一部分,可存在磁盘、磁带、磁鼓、主存、微缩胶片任何介质上。
箭头: 表示数据流,即特定数据的流动方向。
在处理之间有向流动数据或数据集合。
一个简单的数据流图:
数据流图附加符号
2.3 状态转换图
软件的行为模型: 状态、事件、行为。
状态: 被观察到的系统行为模型;
事件: 引起状态转换的外界事件抽象;
行为: 进入某状态所作动作。
状态图中使用的主要符号:
电话系统状态转换图:
2.4 数据字典
对系统使用的所有数据元素定义的集合,半形式化方法表达。
数据字典对四类元素定义:数据流、数据元素、数据存储、处理。
- 数据流
- 数据流的描述
- 数据元素
- 数据元素的描述
- 数据存储
- 数据存储的描述
- 处理
- 处理的描述
数据字典定义符号: