🎩 结构化设计 (Structured Design, SD)
1. 定义
结构化设计(SD)是一种面向数据流的方法,基于系统分析(SA)阶段产生的数据流图(DFD)和数据字典(DD)等文档,通过自顶向下、逐步求精、模块化的方法来构建系统。
2. 设计过程
2.1 概要设计 📝
- 确定系统结构
- 模块划分
- 定义模块的功能、接口及调用关系
2.2 详细设计 🔍
- 设计每个模块的具体实现细节
3. 模块化原则 🧩
- 模块大小适中:保持模块简单且功能明确。
- 扇入与扇出合理:
- 扇入:直接调用该模块的上级模块数量。
- 扇出:该模块直接调用的下级模块数量。
- 深度和宽度适当:深度过大会导致难以理解,宽度过大会增加复杂性。
4. 耦合 🤝
耦合描述模块之间的相互依赖程度,越松散越好。常见类型包括:
- 非直接耦合:模块完全独立,无任何联系。
- 数据耦合:通过参数传递简单数据。
- 标记耦合:通过参数传递数据结构(例如记录)。
- 控制耦合:传递影响模块内部逻辑的控制信息。
- 外部耦合:访问同一全局变量(但不是全局数据结构)。
- 公共耦合:访问同一个公共数据环境(例如全局数据结构)。
- 内容耦合:直接访问另一个模块的内部数据或代码。
5. 内聚 🧬
内聚描述模块内部的紧密程度,越紧密越好。常见类型包括:
- 功能内聚:模块完成单一功能,各部分紧密协作。
- 顺序内聚:处理步骤按特定顺序执行。
- 通信内聚:操作集中在同一数据结构的区域。
- 过程内聚:操作必须按照特定的步骤顺序执行。
- 瞬时内聚:操作在同一时间间隔内执行。
- 逻辑内聚:完成逻辑相关的一组操作。
- 偶然内聚:完成一组无关联或松散关联的操作。
6. 总结 🧐
高内聚:模块内部功能紧密联系,提升独立性。
低耦合:模块间联系松散,减少依赖,提高可维护性。
- 记忆口诀 🎓:SD设计,分而治之;模块独立,功能明晰。😄
- 辅助记忆 🧠:
- 概要设计:系统的蓝图,模块的骨架。
- 详细设计:模块的血肉,细节的描述。
- 耦合:模块间的桥梁,越少越好。
- 内聚:模块内部的胶水,越紧越好。
系统设计像搭积木,高内聚低耦合;独立模块易维护,结构清晰不易乱。
参与点评
读者朋友们,如果您在阅读过程中,对文章的质量、易理解性有任何建议,欢迎在评论区指出,我会认真改进。