遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。
教材参考《软件工程导论(第六版)》

七、 层次图(H图)与HIPO图
1、概述
1.1、层次图(Hierarchy Chart / H图)
核心定义
- 目的:描述软件系统的层次结构,体现模块的从属关系。
- 适用阶段:自顶向下设计(Top-Down Design)的核心工具。
- 形态特征: - 树状结构,根节点为系统顶层模块。
- 每个父模块分解为多个子模块。
- 不展示模块间数据流或控制流。
 
1.2、HIPO图(Hierarchy + Input-Process-Output)
核心组成
- H图(层次图):模块分解结构,附加追踪编号。
- IPO图:为每个模块定义输入、处理逻辑、输出三要素。
关键特征
- 可追踪性:模块编号体系(如1.2.3)明确层级关系。
- 设计完整性:H图描述结构,IPO图补充行为。
- IBM标准格式:常用于传统结构化方法,与数据字典配合使用。
1.3、层次图 vs. HIPO图对比
| 维度 | 层次图 | HIPO图 | 
|---|---|---|
| 核心目标 | 模块结构分解 | 模块结构+行为设计 | 
| 信息维度 | 仅层次关系 | 层次+输入/处理/输出细节 | 
| 可追溯性 | 无编号体系 | 严格编号支持模块追踪 | 
| 设计深度 | 宏观架构 | 宏观到微观的完整设计 | 
| 适用阶段 | 初步设计 | 详细设计阶段 | 
2、符号
H图
 
HIPO图

3、例子
H图

HIOP图
 
八、 结构图
1、概述
步骤1:确定系统边界。步骤2:构建模块层次树。步骤3:定义调用关系。步骤4:标注数据流。步骤5:处理特殊逻辑。步骤6:连接数据存储。步骤7:验证与优化
2、符号
| 图形符号 | 名称 | 含义说明 | 应用场景示例 | 
|---|---|---|---|
| ▢ | 模块框 | 表示独立功能单元,通常以"动词+名词"命名 | 用户管理模块 订单处理模块 | 
| ──── | 调用关系线 | 表示模块间的单向调用关系 | 订单模块 → 支付模块 | 
| ⭯──→ (空心圆箭头) | 数据流箭头 | 表示模块间传递数据结构,通常伴随数据元素说明 | 传递订单数据: {订单ID, 金额, 商品列表} | 
| ●──→ (实心圆箭头) | 控制信息箭头 | 表示传递控制标志或状态码,影响程序执行流程 | 传递支付验证状态: {状态码: 200, 错误信息: null} | 


3、例子
 
九、面向数据流的设计方法
面向数据流的设计(Data Flow-Oriented Design)是一种基于数据流图(DFD)的结构化设计方法,旨在将系统的数据流程转换为模块化的软件结构。
1、步骤
1.1.绘制数据流图(DFD)
使用加工(Process)、