2.软件结构度量术语 (一个模块 扇出直接调用 的模块数 深度 (模块的 层数) 扇入(调用一个给定模 块的模块个数) 宽度 同一层最大模块数
2. 软件结构度量术语 深 度 宽度 扇出 扇入 (模块的 层数) (同一层最大模块数) (一个模块 直接调用 的模块数) (调用一个给定模 块的模块个数)
4.2.2软件过程 软件过程用以描述各模 块的处理细节(算法的详 细描述),包括对下层模 块控制的操作细节
4.2.2 软件过程 软件过程用以描述各模 块的处理细节(算法的详 细描述),包括对下层模 块控制的操作细节
4.2.3模块化( Modularity, 模块化是好的软件设计的一个基本准则 高层模块—一从整体上把握 问题,隐蔽细节 分解 复杂问题较小问题 分解 可减小解题所需的总的工作
4.2.3 模块化 (Modularity) 模块化是好的软件设计的一个基本准则 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 分解
例:将问题(1+P2分解为PP2 设函数C(x)定义问题x的复杂程度 函数E(x)确定解决问题x需要的工作量 对问题P和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 成本/模块 模块数量
模块化和软件成本 成 本 或 工 作 量 模块数量 软件总成本 集成成本 成本/模块 M 最小成本区域