🏠 首页›第一梯队 · 决胜核心 · 第 7 小时 · 软件工程基础知识

系统分析与设计

选择 8~15 分案例 25 分论文相关
📄 教材出处 · 第 7 小时《软件工程》 (书第 55–67 页) ▸ 查看原文摘录 打开教材 PDF ↗
第 55 页 ↗软件工程基础知识 7.0 章节考点分析 主要学习软件工程、需求工程、系统分析与设计、净室软件工程、基于构件的软件工 程、软件项目管理等内容。
第 56 页 ↗软件要经历从需求分析、软件设计、软件开发、运行维护,直至被淘汰 这样的全过程,这个全过程就是软件的生命周期。
第 57 页 ↗软件工程基础知识 49 2)原型模型(Prototype Model),如图7.3所示,又称快速原型,是原型方法使用的生命周期 模型。
第 58 页 ↗4)敏捷(Agile)模型,属于敏捷方法使用的模型。
第 59 页 ↗ RUP在每次迭代中,只考虑系统的一部分需求,进行分析、设计、实现、测试和部署等过程。
第 60 页 ↗ 需求获取的方法包括用户面谈、需求专题讨论会、问卷调查、现场观察、原型化方法和头脑风 暴法等。

知识点目录(共 4 项)

  1. 模块化设计:耦合七类型(数据 < 特征 < 控制 < 公共 < 内容,越低越好)
  2. 内聚七类型(偶然 < 逻辑 < 时间 < 过程 < 通信 < 顺序 < 功能,越高越好)
  3. 结构化程序设计:自顶向下 / 逐步求精 / 模块化
  4. 软件重用类型、逆向工程四级信息恢复、正向工程与重构

知识点详解

一、结构化设计 SD:耦合与内聚(必考)

SD(Structured Design)是面向数据流的设计方法,以 SRS 和 SA 阶段产生的 DFD、DD 为基础,自顶向下、逐步求精、模块化。分概要设计(确定系统结构、模块划分、接口与调用关系,使用系统结构图 SC)和详细设计(模块实现算法与局部数据结构;工具:程序流程图、PAD 问题分析图、NS 盒图等)两个阶段。

模块三个基本属性:功能、逻辑和状态。设计原则:高内聚、低耦合。

耦合(低→高,越低越好) 非直接耦合 数据耦合——参数表传递简单数据 标记耦合——传递记录等复杂信息(数据结构) 控制耦合——传递控制模块内部逻辑的信息 通信耦合——共享输入或输出 公共耦合——访问同一公共数据环境 内容耦合——直接访问内部数据/代码重叠(最差) 内聚(高→低,越高越好) 功能内聚(最好) 顺序内聚——顺序执行,前一输出是后一输入 通信内聚——集中在同一数据结构区域上操作 过程内聚——按特定次序执行 时间内聚——同一时间间隔内执行(如初始化) 逻辑内聚——逻辑上相关的一组任务 偶然内聚——无关系或松散关系任务(最差) 记忆:耦合"非数标控通公内";内聚"功顺通过时逻偶"
图 1-18 模块耦合七类型与内聚七类型(依据教材表 7.1/7.2 绘制)

二、软件重用与逆向工程

重用类型对象举例
水平式重用不同应用领域中的软件元素标准函数库
垂直式重用共性应用领域间的软部件区块链

逆向工程:通过分析已有程序,寻求比源代码更高级的抽象表现形式(如文档)的活动,是在不同抽象层级中的溯源行为。逆向工程得出的设计称为设计恢复。信息恢复级别由低到高(完整性递增):实现级 → 结构级 → 功能级 → 领域级。重构:不改变系统功能的前提下重新调整代码结构;设计重建/正向工程:从设计恢复出发重新实现。

三、数据持久化与 ORM(选择常考)

考法:耦合/内聚排序题每年必考——记住"数据耦合好、内容耦合最差;功能内聚最好、偶然内聚最差";"Hibernate 全自动、MyBatis 手写 SQL";逆向工程四级信息恢复顺序。