软件模块化分解过程 软件模块化分解过程是对系统自顶向下、从抽象到具体 的有层次的思维和求解过程。软件结构每一层次中的模 块,表示了对软件抽象层次的一次精化。这不仅使软件 结构清晰,容易理解和设计,提高了软件的可靠性和可 修改性,而且有助于软件的测试、调试和开发过程的组 织管理
软件模块化分解过程 软件模块化分解过程是对系统自顶向下、从抽象到具体 的有层次的思维和求解过程。软件结构每一层次中的模 块,表示了对软件抽象层次的一次精化。这不仅使软件 结构清晰,容易理解和设计,提高了软件的可靠性和可 修改性,而且有助于软件的测试、调试和开发过程的组 织管理
2.模块独立性 模块独立性是模块化、抽象、信息隐蔽等概念的直接结果, 也是判断模块化结构是否合理的标准 模块独立性是指开发具有独立功能而和其他模块没有过多 关联的模块,也就是说,使每个模块完成一个相对独立的 特定子功能,并且和其他模块之间的关系尽可能简单。 模块独立性体现了有效的模块化,有两大优点 第一,独立的模块由于分解了功能,简化了接口,使得软 件比较容易开发。 第二,独立的模块比较容易测试和维护
2. 模块独立性 模块独立性是模块化、抽象、信息隐蔽等概念的直接结果, 也是判断模块化结构是否合理的标准。 模块独立性是指开发具有独立功能而和其他模块没有过多 关联的模块,也就是说,使每个模块完成一个相对独立的 特定子功能,并且和其他模块之间的关系尽可能简单。 模块独立性体现了有效的模块化,有两大优点: 第一,独立的模块由于分解了功能,简化了接口,使得软 件比较容易开发。 第二,独立的模块比较容易测试和维护
模块的内聚和耦合 模块独立性可以由两个定性标准度量,即模块自身的内聚 ( Cohesion)程度和模块之间的耦合( Coupling)程度, 前者也称为块内联系或模块强度,后者也称为块间联系。 模块独立性愈髙,则块内联系越强(内聚性强/髙),块 间联系越弱(耦合度弱/低)
模块的内聚和耦合 模块独立性可以由两个定性标准度量,即模块自身的内聚 (Cohesion)程度和模块之间的耦合(Coupling)程度, 前者也称为块内联系或模块强度,后者也称为块间联系。 模块独立性愈高,则块内联系越强(内聚性强/高),块 间联系越弱(耦合度弱/低)
模块内聚程度的划分 内聚性是从功能的角度对模块内部聚合能力的量度。高 (强)内聚是模块独立性追求的目标。 个模块一个功能”已成为模块化设计的一条重要准 则。应尽量使用高、中内聚性的模块;低内聚性模块可 维护性差,应尽可能避免使用。 弱 强 偶然性内聚逻辑性内聚时间性内聚过程性内聚通信性内聚顺序性内聚功能性内聚 低内聚 中内聚 高内聚
模块内聚程度的划分 偶然性内聚 弱 逻辑性内聚 时间性内聚 过程性内聚 通信性内聚 顺序性内聚 功能性内聚 强 低内聚 中内聚 高内聚 内聚性是从功能的角度对模块内部聚合能力的量度。高 (强)内聚是模块独立性追求的目标。 “一个模块一个功能”已成为模块化设计的一条重要准 则。应尽量使用高、中内聚性的模块;低内聚性模块可 维护性差,应尽可能避免使用
模块耦合程度的划分 耦合度是一个软件结构不同模块之间互连程度的度量。 耦合度的强弱取决于模块接口的复杂程度,以及通过接 口的数据类型和数目。弱(低)耦合是模块独立性追求 的目标。应尽量使用数据耦合,少用控制耦合,限制公 共耦合的范围,最好不用内容耦合。 弱 强 非直接耦合数据耦合特征耦合|控制耦合外部耦合公共耦合内容耦合 弱耦合 中耦合 较强耦合 强耦合
模块耦合程度的划分 非直接耦合 弱 数据耦合 特征耦合 控制耦合 外部耦合 公共耦合 内容耦合 强 弱耦合 中耦合 较强耦合 强耦合 耦合度是一个软件结构不同模块之间互连程度的度量。 耦合度的强弱取决于模块接口的复杂程度,以及通过接 口的数据类型和数目。弱(低)耦合是模块独立性追求 的目标 。应尽量使用数据耦合,少用控制耦合,限制公 共耦合的范围,最好不用内容耦合