当前位置: 首页 > article >正文

5.3.2 软件设计原则

文章目录

  • 抽象
  • 模块化
  • 信息隐蔽与独立性衡量

软件设计原则:抽象、模块化、信息隐蔽。

抽象

在这里插入图片描述
抽象是抽出事物本质的共同特性。过程抽象是指将一个明确定义功能的操作当作单个实体看待。数据抽象是对数据的类型、操作、取值范围进行定义,然后通过这些操作对数据进行观察和修改。

模块化

在这里插入图片描述
模块化时,一个模块只完成一个特定的子功能。模块划分遵循高内聚、低耦合,作用范围在控制范围内,软件结构的深度、宽度、扇入、扇出合适,模块大小适中等规则。作用范围是指模块内判定所影响的模块的集合。控制范围是指模块本身及其下属模块。软件结构的深度是指其数据流图的层数,宽度是指每层的模块数量,扇入是指模块的上级模块数量,扇出是指模块的下属模块数量。

信息隐蔽与独立性衡量

在这里插入图片描述
信息隐蔽式指模块内的信息对于不需要这些信息的模块,不能访问。
可以用耦合度、内聚度对模块的独立性进行衡量。耦合度表示模块间的紧密程度,内聚度是指模块内的紧密程度。耦合度从无直接耦合→数据耦合→标记耦合→控制耦合→外部耦合→公共耦合→内容耦合,耦合度逐渐增强,模块独立性逐渐减弱。内聚度从功能内聚→顺序内聚→通信内聚→过程内聚→时间内聚→逻辑内聚→偶然内聚,内聚度逐渐降低,模块独立性逐渐减弱。
在这里插入图片描述


http://www.kler.cn/a/526307.html

相关文章:

  • 134.力扣刷题--加油站--滑动窗口
  • 中国股市“慢牛”行情的实现路径与展望
  • Go反射指南
  • 为大模型提供webui界面的利器:Open WebUI 完全本地离线部署deepseek r1
  • 128周二复盘(164)学习任天堂
  • 程序地址空间
  • [JavaWeb]搜索表单区域
  • Windows11暂停自动更新
  • (二)PosrgreSQL: Python3 连接Pgvector出错排查
  • 巴塞尔问题详解:计算所有正整数平方的倒数之和
  • DeepSeek R1本地部署详细指南
  • Java 性能优化与新特性
  • [OO ALV] OO ALV 基础显示
  • allegro修改封闭图形线宽
  • 独立成分分析 (ICA):用于信号分离或降维
  • wordpress外贸独立站常用询盘软件
  • Rust语言进阶之enumerate用法实例(九十六)
  • 第33篇:Python开发进阶:自然语言处理与文本分析
  • Java继承中的静态方法隐藏与实例变量隐藏:深入解析与最佳实践
  • 年化19.3%策略集|ctpbee_api替换成openctp整合backtrader实盘方案(代码+数据)
  • 大厂面试题备份20250129
  • dify实现原理分析-rag-检索(Retrieval)服务的实现
  • 信号处理以及队列
  • 一文讲解Java中的异常处理机制
  • 变量和简单数据类型(字符串)
  • doris:导入时实现数据转换