本章目录:
一、节概述
系统分析与设计
是软件开发生命周期中的核心环节,在系统架构设计师考试中具有极高的考查权重。本节涵盖了从结构化方法到面向对象方法,再到数据库设计、持久化技术和软件重用的全面知识体系,既考理论理解,也考实际建模与设计能力,常以案例题、选择题、设计题结合考查。
二、知识详解
1. 结构化方法概述
结构化方法(Structured Methodology)也被称为:
面向功能
或面向数据流
的方法- 主要分为三部分:
✅结构化分析(SA)
✅结构化设计(SD)
✅结构化编程(SP)
2. 结构化分析(SA)
✦ 建模工具
工具 | 功能 |
---|---|
数据流图(DFD) | 表达数据在系统中流动和加工 |
数据字典 | 定义数据元素、结构、流、存储等 |
结构化语言 、判定表 、判定树 | 规范需求逻辑和决策过程 |
📌 DFD 四大元素:
数据流
加工(处理)
数据存储
外部项
✦ 建模步骤
- 明确目标
- 确定系统范围
- 建立顶层DFD
- 构建第一层DFD
- 构建DFD层次结构图
- 检查与确认DFD一致性
🔺 DFD图绘制规则必须记牢,常出判断题。
3. 结构化设计(SD)
✦ 分为两阶段
阶段 | 主要任务 |
---|---|
概要设计 | 模块划分、功能定义、接口设计、调用关系 |
详细设计 | 每个模块的算法、数据结构设计 |
✦ 模块三属性
功能性
逻辑性
状态性
✦ 系统结构图(SC)
- 又称模块结构图
- 是
概要设计阶段
的核心产出,层次清晰,职责明确
4. 模块间的耦合与内聚
✦ 耦合度(从低到高):
非直接耦合
数据耦合
标记耦合
控制耦合
通信耦合
公共耦合
内容耦合
➡️ 低耦合有利于模块独立性与可维护性
✦ 内聚度(从高到低):
功能内聚
(最优)顺序内聚
通信内聚
过程内聚
时间内聚
逻辑内聚
偶然内聚
(最差)
➡️ 高内聚使模块更清晰、易测试
5. 结构化编程(SP)
- 使用三大基本结构:
顺序
、选择
、循环
- 强调:
自顶向下、逐步细化
,遵循“程序=算法+数据结构” - 编码规范:单入口单出口,清晰第一,效率第二
6. 数据库设计(概念结构)
- 采用E-R图(实体-联系图)表示概念模型
- 是逻辑数据库设计之前的关键步骤
- 主要包括:
实体
、属性
、联系
、主键
等基本要素
7. 面向对象方法
✦ 三大阶段
阶段 | 描述 |
---|---|
OOA | 面向对象分析(需求建模) |
OOD | 面向对象设计(架构设计) |
OOP | 面向对象编程(实现与维护) |
✦ OOA(分析方法)
- 5 层模型:
主题层
、对象类层
、结构层
、属性层
、服务层
- 5 项活动:识别类、结构、属性、方法、主题
- 核心原则:
抽象
、封装
、继承
、分类
、聚合
、关联
、消息通信
✦ OOD(设计方法)
- 类是对象的集合,封装了
属性+方法
- 类类型:
✅实体类
:数据持久化对象
✅控制类
:处理逻辑
✅边界类
:交互接口
✦ OOP(程序设计)
- 特点:
封装
、继承
、多态
- 强调对象之间通过消息传递来协同完成任务
8. 数据持久化与 ORM
- 持久层用于将对象状态保存到数据库中
- 常用持久化框架:
MyBatis
、Hibernate
等 - 关键:对象-关系映射(ORM)
9. 软件重用与逆向工程
✦ 软件重用
水平式重用
:跨项目使用通用组件(如类库)垂直式重用
:在同一领域的多代项目中复用
✦ 逆向工程层级(由浅入深)
实现级
(语法树、符号表)结构级
(调用图等关系)功能级
(功能模块定位)领域级
(与业务场景绑定)
三、关键点提炼
模块 | 高频考点 |
---|---|
DFD规则 | 四元素、层级、数据一致性 |
耦合/内聚 | 分类顺序、优劣比较 |
结构图 | SC图构造与解读 |
三大面向对象阶段 | OOA/OOD/OOP 区别与联系 |
E-R图 | 实体/联系/主键/属性识别 |
持久化 | ORM 原理与应用场景 |
四、考试提示
🎯 出题规律
- 常以
模块图或DFD图分析题
形式考查建模与理解能力 耦合/内聚/控制结构
是经典选择题热点面向对象三阶段
结合类图进行案例分析- 持久化技术通常与
多层架构
题结合出现
⚠️ 常见陷阱
- 把
数据耦合
误认为控制耦合(控制信息判断点) - 将类与对象、属性与服务混淆
- 混淆SP三种结构与面向对象基本结构
- OOA/OOD/OOP 区分不清
五、总结与建议
系统分析与设计
是构建可维护、可扩展系统的基石,也是架构师工作的核心。该部分内容既有方法论,又涉及建模与代码实现,应做到“知其然、知其所以然”。
✅ 学习建议:
- 熟练掌握结构化与面向对象的对比与转换思维
- 多画图、多练案例题,强化建模能力
- 梳理耦合/内聚顺序,构建记忆图谱
- 对关键图示(如DFD、SC、E-R图)反复推演拆解
- 掌握持久化技术与数据库结构的映射关系
📌 切记:架构师不仅要会“设计结构”,更要能“识别本质”,从用户需求到系统实现,架起坚实桥梁。