SD(Structured Design)是面向数据流的设计方法,以 SRS 和 SA 阶段产生的 DFD、DD 为基础,自顶向下、逐步求精、模块化。分概要设计(确定系统结构、模块划分、接口与调用关系,使用系统结构图 SC)和详细设计(模块实现算法与局部数据结构;工具:程序流程图、PAD 问题分析图、NS 盒图等)两个阶段。
模块三个基本属性:功能、逻辑和状态。设计原则:高内聚、低耦合。
| 重用类型 | 对象 | 举例 |
|---|---|---|
| 水平式重用 | 不同应用领域中的软件元素 | 标准函数库 |
| 垂直式重用 | 共性应用领域间的软部件 | 区块链 |
逆向工程:通过分析已有程序,寻求比源代码更高级的抽象表现形式(如文档)的活动,是在不同抽象层级中的溯源行为。逆向工程得出的设计称为设计恢复。信息恢复级别由低到高(完整性递增):实现级 → 结构级 → 功能级 → 领域级。重构:不改变系统功能的前提下重新调整代码结构;设计重建/正向工程:从设计恢复出发重新实现。