文章目录
前言
结构化分析方法主要使用一系列图表来直观地表示系统的功能、数据流、模块划分等。
一、功能模型
1.数据流图(DFD,Data Flow Diagram)
作用: 描述系统中的数据流动过程,展示数据输入、处理、存储和输出的方式。
特点:
- 以过程(Process)、数据流(Data Flow)、数据存储(Data Store)和外部实体(External Entity)为基本要素。
- 适用于需求分析阶段,帮助理解系统的逻辑数据流。
用户 → 订单系统(处理订单) → 订单数据库
2.层次图(HIPO图,Hierarchy plus Input-Process-Output)
作用: 以分层结构展示系统的功能模块,适合于系统结构化设计。
特点:
- 由输入(Input)、处理(Process)、输出(Output)组成。
- 适用于软件系统的层次结构设计。
订单管理
├── 订单创建
├── 订单支付
├── 订单查询
3.结构图(Structure Chart)
作用: 描述系统的模块结构和调用关系,强调模块分解和耦合关系。
特点:
- 以模块(Module)和调用关系(Call)为核心。
- 适用于软件详细设计阶段。
示例:
订单管理系统
├── 用户接口
│ ├── 登录模块
│ ├── 订单查询模块
├── 订单处理
│ ├── 订单创建
│ ├── 订单支付
二、数据模型
1.实体-关系图(ER图,Entity-Relationship Diagram)
作用: 表示数据库中的实体及其关系,用于数据库设计。
特点:
- 主要包含实体(Entity)、属性(Attribute)、关系(Relationship)。
- 适用于数据库建模阶段。
客户 —— 下订单 —— 订单
三、行为模型
1.状态转换图(State Transition Diagram)
作用: 描述系统或对象在不同状态之间的转换过程。
特点:
- 由状态(State)、事件(Event)、转换(Transition)组成。
- 适用于描述系统行为,如登录状态、订单状态等。
[未支付] --(支付成功)--> [已支付]
[已支付] --(发货)--> [已发货]
2.程序流程图(Flowchart)
作用: 以流程控制的方式描述程序执行逻辑。
特点:
- 由开始/结束(Terminal)、输入输出(Input/Output)、处理(Process)、判断(Decision)等符号构成。
- 适用于算法设计或详细设计阶段。
开始 → 输入A、B → 判断A>B? → 是:输出A → 否:输出B → 结束
总结
图表 | 作用 | 适用阶段 |
---|---|---|
数据流图(DFD) | 描述数据流 | 需求分析 |
ER图 | 设计数据库结构 | 数据库建模 |
状态转换图(STD) | 描述状态变化 | 需求分析、详细设计 |
层次图(HIPO) | 展示系统功能层次 | 需求分析、概要设计 |
程序流程图 | 逻辑流程控制 | 详细设计、算法分析 |
结构图(Structure Chart) | 模块调用关系 | 详细设计 |