【第29节 系统分析与设计】


一、节概述

系统分析与设计是软件开发生命周期中的核心环节,在系统架构设计师考试中具有极高的考查权重。本节涵盖了从结构化方法面向对象方法,再到数据库设计、持久化技术和软件重用的全面知识体系,既考理论理解,也考实际建模与设计能力,常以案例题、选择题、设计题结合考查


二、知识详解

1. 结构化方法概述

结构化方法(Structured Methodology)也被称为:

  • 面向功能面向数据流 的方法
  • 主要分为三部分:
    结构化分析(SA)
    结构化设计(SD)
    结构化编程(SP)

2. 结构化分析(SA)

✦ 建模工具
工具功能
数据流图(DFD)表达数据在系统中流动和加工
数据字典定义数据元素、结构、流、存储等
结构化语言判定表判定树规范需求逻辑和决策过程

📌 DFD 四大元素:

  • 数据流
  • 加工(处理)
  • 数据存储
  • 外部项
✦ 建模步骤
  1. 明确目标
  2. 确定系统范围
  3. 建立顶层DFD
  4. 构建第一层DFD
  5. 构建DFD层次结构图
  6. 检查与确认DFD一致性

🔺 DFD图绘制规则必须记牢,常出判断题。


3. 结构化设计(SD)

✦ 分为两阶段
阶段主要任务
概要设计模块划分、功能定义、接口设计、调用关系
详细设计每个模块的算法、数据结构设计
✦ 模块三属性
  • 功能性
  • 逻辑性
  • 状态性
✦ 系统结构图(SC)
  • 又称模块结构图
  • 概要设计阶段的核心产出,层次清晰,职责明确

4. 模块间的耦合与内聚

✦ 耦合度(从低到高):
  1. 非直接耦合
  2. 数据耦合
  3. 标记耦合
  4. 控制耦合
  5. 通信耦合
  6. 公共耦合
  7. 内容耦合

➡️ 低耦合有利于模块独立性与可维护性

✦ 内聚度(从高到低):
  1. 功能内聚(最优)
  2. 顺序内聚
  3. 通信内聚
  4. 过程内聚
  5. 时间内聚
  6. 逻辑内聚
  7. 偶然内聚(最差)

➡️ 高内聚使模块更清晰、易测试


5. 结构化编程(SP)

  • 使用三大基本结构:顺序选择循环
  • 强调:自顶向下、逐步细化,遵循“程序=算法+数据结构”
  • 编码规范:单入口单出口,清晰第一,效率第二

6. 数据库设计(概念结构)

  • 采用E-R图(实体-联系图)表示概念模型
  • 是逻辑数据库设计之前的关键步骤
  • 主要包括:实体属性联系主键等基本要素

7. 面向对象方法

✦ 三大阶段
阶段描述
OOA面向对象分析(需求建模)
OOD面向对象设计(架构设计)
OOP面向对象编程(实现与维护)
✦ OOA(分析方法)
  • 5 层模型:主题层对象类层结构层属性层服务层
  • 5 项活动:识别类、结构、属性、方法、主题
  • 核心原则:抽象封装继承分类聚合关联消息通信
✦ OOD(设计方法)
  • 类是对象的集合,封装了属性+方法
  • 类类型:
    实体类:数据持久化对象
    控制类:处理逻辑
    边界类:交互接口
✦ OOP(程序设计)
  • 特点:封装继承多态
  • 强调对象之间通过消息传递来协同完成任务

8. 数据持久化与 ORM

  • 持久层用于将对象状态保存到数据库中
  • 常用持久化框架:MyBatisHibernate
  • 关键:对象-关系映射(ORM)

9. 软件重用与逆向工程

✦ 软件重用
  • 水平式重用:跨项目使用通用组件(如类库)
  • 垂直式重用:在同一领域的多代项目中复用
✦ 逆向工程层级(由浅入深)
  1. 实现级(语法树、符号表)
  2. 结构级(调用图等关系)
  3. 功能级(功能模块定位)
  4. 领域级(与业务场景绑定)

三、关键点提炼

模块高频考点
DFD规则四元素、层级、数据一致性
耦合/内聚分类顺序、优劣比较
结构图SC图构造与解读
三大面向对象阶段OOA/OOD/OOP 区别与联系
E-R图实体/联系/主键/属性识别
持久化ORM 原理与应用场景

四、考试提示

🎯 出题规律

  • 常以模块图或DFD图分析题形式考查建模与理解能力
  • 耦合/内聚/控制结构是经典选择题热点
  • 面向对象三阶段结合类图进行案例分析
  • 持久化技术通常与多层架构题结合出现

⚠️ 常见陷阱

  • 数据耦合误认为控制耦合(控制信息判断点)
  • 将类与对象、属性与服务混淆
  • 混淆SP三种结构与面向对象基本结构
  • OOA/OOD/OOP 区分不清

五、总结与建议

系统分析与设计是构建可维护、可扩展系统的基石,也是架构师工作的核心。该部分内容既有方法论,又涉及建模与代码实现,应做到“知其然、知其所以然”。

学习建议

  • 熟练掌握结构化与面向对象的对比与转换思维
  • 多画图、多练案例题,强化建模能力
  • 梳理耦合/内聚顺序,构建记忆图谱
  • 对关键图示(如DFD、SC、E-R图)反复推演拆解
  • 掌握持久化技术与数据库结构的映射关系

📌 切记:架构师不仅要会“设计结构”,更要能“识别本质”,从用户需求到系统实现,架起坚实桥梁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值