抽象原则应用举例 Windows nt一体化的I/0系统设计 文件管理 抽对虚拟文件 O网络管理 象的字节流, 虚拟文件可 S设备管理 为任何设备 高速缓冲存储器 和实体
抽象原则应用举例 Windows NT一体化的I/O系统设计 文件管理 网络管理 设备管理 高速缓冲存储器 O S 对虚拟文件 的字节流, 虚拟文件可 为任何设备 和实体 抽 象
3.2.2模块化( Modularity) 模块化是好的软件设计的一个基本准则 高层模块——从整体上把握 问题,隐蔽细节 分解 复杂问题-较小问题 分解 可减小解题所需的总的工作
3.2.2 模块化 (Modularity) 模块化是好的软件设计的一个基本准则 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 分解
例:将问题(1+P2分解为PP2 设函数C(x)定义问题x的复杂程度 函数E(x)确定解决问题x需要的工作量 对问题P1和P2,如: C(P1)>C(P2) 显然:E(P1)>E(P2) 有规律:C(P1+P2)>C(P1)+C(P2) E(P1+P2)>E(P1)+E(P2) 各个击破"理论
例:将问题(P1+P2)分解为P1,P2 设函数C(x)定义问题 x 的复杂程度 函数E(x)确定解决问题 x 需要的工作量 对问题P1和P2,如: C(P1) > C(P2) 显然: E(P1) > E(P2) 有规律:C(P1+P2) > C(P1)+C(P2) E(P1+P2) > E(P1)+E(P2) "各个击破"理论
模块化和软件成本 软件总成本 成本或工作量 最小成本区域 集成成本 成本/模块 模块数量
模块化和软件成本 成 本 或 工 作 量 模块数量 软件总成本 集成成本 成本/模块 M 最小成本区域
3.2.3信息隐蔽 (Information Hiding) 模块所包含的信息,不允许其它不需 要这些信息的模块访问,独立的模块 间仅仅交换为完成系统功能而必须交 换的信息 信息隐蔽的目的:提高模块的独立性, 减少修改或维护时的影响面
3.2.3 信息隐蔽 (Information Hiding) 模块所包含的信息,不允许其它不需 要这些信息的模块访问,独立的模块 间仅仅交换为完成系统功能而必须交 换的信息。 信息隐蔽的目的: 提高模块的独立性, 减少修改或维护时的影响面