




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第13131313章章 设计的概念和原则设计的概念和原则 软软软软 件件件件 工工工工 程程程程 第第第 第13 13131313131313章章章章 设计的概念和原则设计的概念和原则设计的概念和原则设计的概念和原则 13.13.13.13.1 1 1 1 软件设计和软件工程软件设计和软件工程软件设计和软件工程软件设计和软件工程 13.213.213.213.2 设计过程设计过程设计过程设计过程 13.213.213.213.2.1 .1 .1 .1 设计和软件质量设计和软件质量设计和软件质量设计和软件质量 13.213.213.213.2. . . .2 2 2 2 软件设计的演化软件设计的演化软件设计的演化软件设计的演化 13.13.13.13.3 3 3 3 设计原则设计原则设计原则设计原则 13.413.413.413.4.1 .1 .1 .1 抽象抽象抽象抽象 13.413.413.413.4.2 .2 .2 .2 求精求精求精求精 13.413.413.413.4.3 .3 .3 .3 模块化模块化模块化模块化 13.4 13.4 13.4 13.4.4 .4 .4 .4 软件体系结构软件体系结构软件体系结构软件体系结构 第第第第1313131313131313章章章章 设计的概念和原则设计的概念和原则设计的概念和原则设计的概念和原则 13.13.13.13.4 4 4 4.5 .5 .5 .5 控制层次控制层次控制层次控制层次 13.13.13.13.4 4 4 4.6 .6 .6 .6 结构划分结构划分结构划分结构划分 13.13.13.13.4 4 4 4.7 .7 .7 .7 数据结构数据结构数据结构数据结构 13.13.13.13.4 4 4 4.8 .8 .8 .8 软件过程软件过程软件过程软件过程 13.13.13.13.4 4 4 4.9 .9 .9 .9 信息隐蔽信息隐蔽信息隐蔽信息隐蔽 13.413.413.413.4 设计概念设计概念设计概念设计概念 13.5 13.5 13.5 13.5 13.5 13.5 13.5 13.5 有效的模块设计有效的模块设计有效的模块设计有效的模块设计 13.513.513.513.513.513.513.513.5. . . . . . . .1 1 1 1 1 1 1 1 功能独立性功能独立性功能独立性功能独立性 13.513.513.513.513.513.513.513.5. . . . . . . .2 2 2 2 2 2 2 2 内聚内聚内聚内聚 13.513.513.513.513.513.513.513.5.3 .3 .3 .3 .3 .3 .3 .3 耦合耦合耦合耦合 13.6 13.6 13.6 13.6 13.6 13.6 13.6 13.6 针对有效模块化的设计启发针对有效模块化的设计启发针对有效模块化的设计启发针对有效模块化的设计启发 13.713.713.713.713.713.713.713.7 设计模型设计模型设计模型设计模型 13.813.813.813.813.813.813.813.8 设计文档设计文档设计文档设计文档 13.913.913.913.913.913.913.913.9 小结小结小结小结 第第第 第13 13131313131313章章章章 设计的概念和原则设计的概念和原则设计的概念和原则设计的概念和原则 13.13.13.13.13.13.13.13.1 1 1 1 1 1 1 1 软件设计和软件工程软件设计和软件工程软件设计和软件工程软件设计和软件工程 设计阶段产生设计阶段产生设计阶段产生设计阶段产生: : : : 数据设计数据设计数据设计数据设计:将分析时创建的信息域模型变换成实现软:将分析时创建的信息域模型变换成实现软:将分析时创建的信息域模型变换成实现软:将分析时创建的信息域模型变换成实现软 件所需的数据结构。件所需的数据结构。件所需的数据结构。件所需的数据结构。 体系结构设计体系结构设计体系结构设计体系结构设计:定义了软件的主要结构性元素、可用:定义了软件的主要结构性元素、可用:定义了软件的主要结构性元素、可用:定义了软件的主要结构性元素、可用 于达成针对系统而定义的需求的于达成针对系统而定义的需求的于达成针对系统而定义的需求的于达成针对系统而定义的需求的“ “ “ “ “ “ “ “设计模式设计模式设计模式设计模式” ” ” ” ” ” ” ”以及影响以及影响以及影响以及影响 体系结构设计模式被应用方式的约束之间的关系。体系结构设计模式被应用方式的约束之间的关系。体系结构设计模式被应用方式的约束之间的关系。体系结构设计模式被应用方式的约束之间的关系。 接口设计接口设计接口设计接口设计:描述了软件内部、软件和协作系统之间以:描述了软件内部、软件和协作系统之间以:描述了软件内部、软件和协作系统之间以:描述了软件内部、软件和协作系统之间以 及软件同人之间如何通信。及软件同人之间如何通信。及软件同人之间如何通信。及软件同人之间如何通信。 构件级设计构件级设计构件级设计构件级设计:将软件体系结构的结构性元素变换为对:将软件体系结构的结构性元素变换为对:将软件体系结构的结构性元素变换为对:将软件体系结构的结构性元素变换为对 软件构件的过程性描述。软件构件的过程性描述。软件构件的过程性描述。软件构件的过程性描述。 13.2 13.2 13.2 13.2 13.2 13.2 13.2 13.2 设计过程设计过程设计过程设计过程 软件设计软件设计软件设计软件设计是一个迭代的过程,通过它是一个迭代的过程,通过它是一个迭代的过程,通过它是一个迭代的过程,通过它 需求被变换为用于构造软件的需求被变换为用于构造软件的需求被变换为用于构造软件的需求被变换为用于构造软件的“ “ “ “ “ “ “ “蓝图蓝图蓝图蓝图” ” ” ” ” ” ” ” 良好设计演化的三个良好设计演化的三个良好设计演化的三个良好设计演化的三个特征特征特征特征: 设计必须实现所有包含在分析模型中设计必须实现所有包含在分析模型中设计必须实现所有包含在分析模型中设计必须实现所有包含在分析模型中 的明显需求的明显需求的明显需求的明显需求 设计必须是可读的,可理解的。设计必须是可读的,可理解的。设计必须是可读的,可理解的。设计必须是可读的,可理解的。 设计应该提供软件的完整面貌设计应该提供软件的完整面貌设计应该提供软件的完整面貌设计应该提供软件的完整面貌 13.2.1 13.2.1 13.2.1 13.2.1 13.2.1 13.2.1 13.2.1 13.2.1 设计和软件质量设计和软件质量设计和软件质量设计和软件质量 设计质量标准:设计质量标准:设计质量标准:设计质量标准: 1.1.1.1.1.1.1.1. 展示一种层次性结构展示一种层次性结构展示一种层次性结构展示一种层次性结构 2.2.2.2.2.2.2.2. 模块化模块化模块化模块化 3.3.3.3.3.3.3.3. 包含数据、体系结构、接口和构件包含数据、体系结构、接口和构件包含数据、体系结构、接口和构件包含数据、体系结构、接口和构件( ( ( ( ( ( ( (模块模块模块模块) ) ) ) ) ) ) )的的的的表示表示表示表示 4.4.4.4.4.4.4.4. 适合数据模块导出数据结构适合数据模块导出数据结构适合数据模块导出数据结构适合数据模块导出数据结构 5.5.5.5.5.5.5.5. 具有独立功能特征的构件具有独立功能特征的构件具有独立功能特征的构件具有独立功能特征的构件 6.6.6.6.6.6.6.6. 导出降低模块和外部环境间复杂连接的接口导出降低模块和外部环境间复杂连接的接口导出降低模块和外部环境间复杂连接的接口导出降低模块和外部环境间复杂连接的接口 7.7.7.7.7.7.7.7. 通过使用由软件需求分析过程中获得的信息所驱通过使用由软件需求分析过程中获得的信息所驱通过使用由软件需求分析过程中获得的信息所驱通过使用由软件需求分析过程中获得的信息所驱 动的可重复的方法导出动的可重复的方法导出动的可重复的方法导出动的可重复的方法导出 13.2.13.2.13.2.13.2.13.2.13.2.13.2.13.2.2 2 2 2 2 2 2 2 软件设计的演化软件设计的演化软件设计的演化软件设计的演化 软件设计方法共同特性:软件设计方法共同特性:软件设计方法共同特性:软件设计方法共同特性: 一种用于将分析模型变换到设计表示的机制一种用于将分析模型变换到设计表示的机制一种用于将分析模型变换到设计表示的机制一种用于将分析模型变换到设计表示的机制 用于表示功能性构件及其接口的符号体系用于表示功能性构件及其接口的符号体系用于表示功能性构件及其接口的符号体系用于表示功能性构件及其接口的符号体系 用于求精和划分的启发信息用于求精和划分的启发信息用于求精和划分的启发信息用于求精和划分的启发信息 质量评价的指导原则质量评价的指导原则质量评价的指导原则质量评价的指导原则 13.13.13.13.13.13.13.13.3 3 3 3 3 3 3 3 设计原则设计原则设计原则设计原则 软件设计的原则:软件设计的原则:软件设计的原则:软件设计的原则: 不应该受不应该受“ “ “ “隧道视野隧道视野” ” ” ”的限制的限制 对于分析模型应该是可跟踪的对于分析模型应该是可跟踪的 不应该从头做起不应该从头做起 应该缩短软件和现实世界中问题的应该缩短软件和现实世界中问题的“ “ “ “智力距离智力距离” ” ” ” 应该表现出一致性和集成性应该表现出一致性和集成性 应该构造以适应变更应该构造以适应变更 软件设计的原则:软件设计的原则:软件设计的原则:软件设计的原则: 应该构造以使得即使遇到异常的数据、事件或应该构造以使得即使遇到异常的数据、事件或 操作条件时也能够平滑、轻巧地降级操作条件时也能够平滑、轻巧地降级 不是编码,编码也不是设计不是编码,编码也不是设计 在创建设计时就应该能够评估质量,而不是在在创建设计时就应该能够评估质量,而不是在 事情完成之后事情完成之后 应该复审设计以减少概念性应该复审设计以减少概念性( (语义性语义性) )错误错误 概念设计问题:概念设计问题:概念设计问题:概念设计问题: 能使用什么标准将软件划分为单个构件?能使用什么标准将软件划分为单个构件?能使用什么标准将软件划分为单个构件?能使用什么标准将软件划分为单个构件? 如何将功能或数据结构与软件的概念性表示如何将功能或数据结构与软件的概念性表示如何将功能或数据结构与软件的概念性表示如何将功能或数据结构与软件的概念性表示 分离开?分离开?分离开?分离开? 是否存在定义软件设计的技术质量的统一标是否存在定义软件设计的技术质量的统一标是否存在定义软件设计的技术质量的统一标是否存在定义软件设计的技术质量的统一标 准?准?准?准? 13.4 13.4 13.4 13.4 13.4 13.4 13.4 13.4 设计概念设计概念设计概念设计概念 13.4.13.4.13.4.13.4.13.4.13.4.13.4.13.4.1 1 1 1 1 1 1 1 抽象抽象抽象抽象 过程抽象:一个命名的指令序列,它具有特定过程抽象:一个命名的指令序列,它具有特定 和有限的功能。和有限的功能。 数据抽象:命名的数据集合,它描述一个数据数据抽象:命名的数据集合,它描述一个数据 对象。对象。 控制抽象:隐含了不刻画内部细节的程序控制控制抽象:隐含了不刻画内部细节的程序控制 机制。机制。 逐步求精是自顶向下设计策略逐步求精是自顶向下设计策略逐步求精是自顶向下设计策略逐步求精是自顶向下设计策略 求精实际上是一个详细描述的过程求精实际上是一个详细描述的过程求精实际上是一个详细描述的过程求精实际上是一个详细描述的过程 抽象和求精是互补的概念抽象和求精是互补的概念抽象和求精是互补的概念抽象和求精是互补的概念 13.4.2 13.4.2 13.4.2 13.4.2 13.4.2 13.4.2 13.4.2 13.4.2 求精求精求精求精 13.4.13.4.13.4.13.4.13.4.13.4.13.4.13.4.3 3 3 3 3 3 3 3 模块化模块化模块化模块化 设设C(x)C(x)是描述问题是描述问题x x复杂性的函数,复杂性的函数,E(x)E(x)是定义解决问题是定义解决问题 x x所需工作量所需工作量( (按时间计算按时间计算) )的函数,两个问题的函数,两个问题p1p1和和p2p2,如如 果果C(p1)C(p1)C(p2)C(p2)那么那么E(p1)E(p1)E(p2)E(p2)。 另一特性:另一特性:C(p1+p2)C(p1+p2) C(p1)+C(p2) C(p1)+C(p2)。 可得出:可得出: E(p1+p2)E(p1+p2) E(p1)+E(p2) E(p1)+E(p2)。 结论:结论:“ “ “ “分而治之分而治之” ” ” ”,将复杂问题分解成可以管理的片断将复杂问题分解成可以管理的片断 会更容易会更容易。 模块可分解性模块可分解性模块可分解性模块可分解性 模块可组装性模块可组装性模块可组装性模块可组装性 模块可理解性模块可理解性模块可理解性模块可理解性 模块连续性模块连续性模块连续性模块连续性 模块保护模块保护模块保护模块保护 根据定义有效的模块化系统的能力评价设计方法根据定义有效的模块化系统的能力评价设计方法根据定义有效的模块化系统的能力评价设计方法根据定义有效的模块化系统的能力评价设计方法 : 软件体系结构软件体系结构软件体系结构软件体系结构意指意指意指意指“ “ “ “ “ “ “ “软件的整体结构和软件的整体结构和软件的整体结构和软件的整体结构和 这种结构提供给系统在概念上的整体性这种结构提供给系统在概念上的整体性这种结构提供给系统在概念上的整体性这种结构提供给系统在概念上的整体性 的方式的方式的方式的方式” ” ” ” ” ” ” ” 13.4.13.4.13.4.13.4.13.4.13.4.13.4.13.4.4 4 4 4 4 4 4 4 软件体系结构软件体系结构软件体系结构软件体系结构 13.4.13.4.13.4.13.4.13.4.13.4.13.4.13.4.4 4 4 4 4 4 4 4 软件体系结构软件体系结构软件体系结构软件体系结构 简单来看简单来看简单来看简单来看,体系结构是程序构件,体系结构是程序构件,体系结构是程序构件,体系结构是程序构件( ( ( (模块模块模块模块) ) ) )的层的层的层的层 次结构、构件间交互的方式、以及构件使用次结构、构件间交互的方式、以及构件使用次结构、构件间交互的方式、以及构件使用次结构、构件间交互的方式、以及构件使用 的数据的结构的数据的结构的数据的结构的数据的结构 广泛上讲广泛上讲广泛上讲广泛上讲,“ “ “ “ “ “ “ “构件构件构件构件” ” ” ” ” ” ” ”可以被推广来代表主要的可以被推广来代表主要的可以被推广来代表主要的可以被推广来代表主要的 系统元素和它们的相互交互系统元素和它们的相互交互系统元素和它们的相互交互系统元素和它们的相互交互 体系结构设计中的性质:体系结构设计中的性质:体系结构设计中的性质:体系结构设计中的性质: 结构性质、结构性质、结构性质、结构性质、 附加的功能性附加的功能性附加的功能性附加的功能性 质、质、质、质、 相关系统族相关系统族相关系统族相关系统族 给定这些性质的规约,体系结构设计可用不同模型来给定这些性质的规约,体系结构设计可用不同模型来给定这些性质的规约,体系结构设计可用不同模型来给定这些性质的规约,体系结构设计可用不同模型来 表示。表示。表示。表示。结构模型结构模型结构模型结构模型将体系结构作为程序构件的有组织的将体系结构作为程序构件的有组织的将体系结构作为程序构件的有组织的将体系结构作为程序构件的有组织的 集合来表示;集合来表示;集合来表示;集合来表示;框架模型框架模型框架模型框架模型通过试图标识类似应用中遇到通过试图标识类似应用中遇到通过试图标识类似应用中遇到通过试图标识类似应用中遇到 的可复用的体系结构设计框架而提高设计抽象级别;的可复用的体系结构设计框架而提高设计抽象级别;的可复用的体系结构设计框架而提高设计抽象级别;的可复用的体系结构设计框架而提高设计抽象级别; 动态模型动态模型动态模型动态模型强调程序体系结构的行为侧面,指明结构或强调程序体系结构的行为侧面,指明结构或强调程序体系结构的行为侧面,指明结构或强调程序体系结构的行为侧面,指明结构或 系统配置作为外部事件的函数将如何变化;系统配置作为外部事件的函数将如何变化;系统配置作为外部事件的函数将如何变化;系统配置作为外部事件的函数将如何变化;过程模型过程模型过程模型过程模型 注重系统必须适应的业务的或技术的过程;注重系统必须适应的业务的或技术的过程;注重系统必须适应的业务的或技术的过程;注重系统必须适应的业务的或技术的过程;功能模型功能模型功能模型功能模型 可用来表示系统的功能层次结构。可用来表示系统的功能层次结构。可用来表示系统的功能层次结构。可用来表示系统的功能层次结构。 控制层次控制层次控制层次控制层次,也称作程序结构,也称作程序结构,也称作程序结构,也称作程序结构 代表了程序构件代表了程序构件代表了程序构件代表了程序构件( ( ( (模块模块模块模块) ) ) )的组织的组织的组织的组织( ( ( (常常是结构化的常常是结构化的常常是结构化的常常是结构化的) ) ) ),并,并,并,并 暗示了控制的层次结构。暗示了控制的层次结构。暗示了控制的层次结构。暗示了控制的层次结构。 在图在图在图在图13.4.513.4.513.4.513.4.5中,中,中,中,宽度宽度宽度宽度和和和和深度深度深度深度分别提供了对控制级别的分别提供了对控制级别的分别提供了对控制级别的分别提供了对控制级别的 数量和整体控制跨度的指示,数量和整体控制跨度的指示,数量和整体控制跨度的指示,数量和整体控制跨度的指示,扇出扇出扇出扇出衡量的是被一个模衡量的是被一个模衡量的是被一个模衡量的是被一个模 块直接控制的其他模块的数量,块直接控制的其他模块的数量,块直接控制的其他模块的数量,块直接控制的其他模块的数量,扇入扇入扇入扇入指明有多少模块指明有多少模块指明有多少模块指明有多少模块 直接控制一个给定模块。直接控制一个给定模块。直接控制一个给定模块。直接控制一个给定模块。 13.4.13.4.13.4.13.4.5 5 5 5 控制层次控制层次控制层次控制层次 13.4.5 13.4.5 13.4.5 13.4.5 控制层次控制层次控制层次控制层次 图图13.4.5 13.4.5 13.4.5 13.4.5 调用和返回体系机构的结构术语调用和返回体系机构的结构术语 控制层次两种软件控制层次两种软件控制层次两种软件控制层次两种软件体系结构特征体系结构特征体系结构特征体系结构特征: 可见性可见性可见性可见性:指明可以被调用或被给定构件用:指明可以被调用或被给定构件用:指明可以被调用或被给定构件用:指明可以被调用或被给定构件用 作数据的一组程序构件,即使是通过间接作数据的一组程序构件,即使是通过间接作数据的一组程序构件,即使是通过间接作数据的一组程序构件,即使是通过间接 方式实现的。方式实现的。方式实现的。方式实现的。 连接性连接性连接性连接性:指明被给定构件直接调用或用作:指明被给定构件直接调用或用作:指明被给定构件直接调用或用作:指明被给定构件直接调用或用作 数据的一组构件。数据的一组构件。数据的一组构件。数据的一组构件。 13.4.13.4.13.4.13.4.6 6 6 6 结构划分结构划分结构划分结构划分 若系统的体系结构风格是层次式的,则程序结若系统的体系结构风格是层次式的,则程序结若系统的体系结构风格是层次式的,则程序结若系统的体系结构风格是层次式的,则程序结 构可被构可被构可被构可被水平划分水平划分水平划分水平划分和和和和垂直划分垂直划分垂直划分垂直划分。 水平划分为每个主要程序功能定义了分离的模水平划分为每个主要程序功能定义了分离的模水平划分为每个主要程序功能定义了分离的模水平划分为每个主要程序功能定义了分离的模 块结构分支,定义了三个部分:块结构分支,定义了三个部分:块结构分支,定义了三个部分:块结构分支,定义了三个部分:输入、数据变输入、数据变输入、数据变输入、数据变 换和输出换和输出换和输出换和输出。 水平划分的优点:水平划分的优点:水平划分的优点:水平划分的优点: 软件易于测试软件易于测试软件易于测试软件易于测试 软件易于维护软件易于维护软件易于维护软件易于维护 更少的副作用传播更少的副作用传播更少的副作用传播更少的副作用传播 软件易于扩展软件易于扩展软件易于扩展软件易于扩展 缺点在于:水平划分常通过模块接口传递更多的数缺点在于:水平划分常通过模块接口传递更多的数缺点在于:水平划分常通过模块接口传递更多的数缺点在于:水平划分常通过模块接口传递更多的数 据,可能会使程序流的整体控制复杂化。据,可能会使程序流的整体控制复杂化。据,可能会使程序流的整体控制复杂化。据,可能会使程序流的整体控制复杂化。 垂直划分(因子化)垂直划分(因子化)垂直划分(因子化)垂直划分(因子化) 要求发生在程序体系结构中要求发生在程序体系结构中要求发生在程序体系结构中要求发生在程序体系结构中( ( ( (决策决策决策决策) ) ) ),且工,且工,且工,且工 作应该自顶向下分布,顶层模块应该执行作应该自顶向下分布,顶层模块应该执行作应该自顶向下分布,顶层模块应该执行作应该自顶向下分布,顶层模块应该执行 控制功能,而少作实际处理工作,在层次控制功能,而少作实际处理工作,在层次控制功能,而少作实际处理工作,在层次控制功能,而少作实际处理工作,在层次 结构中位于低层的模块应该是工作者,它结构中位于低层的模块应该是工作者,它结构中位于低层的模块应该是工作者,它结构中位于低层的模块应该是工作者,它 们完成所有的输入、计算和输出任务。们完成所有的输入、计算和输出任务。们完成所有的输入、计算和输出任务。们完成所有的输入、计算和输出任务。 程序体系结构的变化的性质验证了垂直划程序体系结构的变化的性质验证了垂直划程序体系结构的变化的性质验证了垂直划程序体系结构的变化的性质验证了垂直划 分的必要性,更加易于维护。分的必要性,更加易于维护。分的必要性,更加易于维护。分的必要性,更加易于维护。 13.4.13.4.13.4.13.4.7 7 7 7 数据结构数据结构数据结构数据结构 数据结构数据结构是个体数据元素之间逻辑关系的表示是个体数据元素之间逻辑关系的表示 数据结构数据结构决定了决定了: : 信息的组织信息的组织 访问方法访问方法 关联程度关联程度 可替换的处理方法可替换的处理方法 13.4.13.4.13.4.13.4.7 7 7 7 数据结构数据结构数据结构数据结构 标量项是最简单的数据结构,代表一个单独的可以通标量项是最简单的数据结构,代表一个单独的可以通 过一个标识符来引用的信息元素。过一个标识符来引用的信息元素。 当标量被组织成序列或相邻的组时,就形成了一个当标量被组织成序列或相邻的组时,就形成了一个顺顺 序向量序向量 n n维空间被称作维空间被称作数组数组。 链表链表是将不相邻的标量项、向量或空间以某种方式是将不相邻的标量项、向量或空间以某种方式 ( (称为节点称为节点) )组织起来的数据结构。组织起来的数据结构。 13.4.8 13.4.8 13.4.8 13.4.8 软件过程软件过程软件过程软件过程 软件过程着重于每个模块个体的处理细软件过程着重于每个模块个体的处理细 节,过程必须提供处理的精确定义,包括:节,过程必须提供处理的精确定义,包括: 事件的顺序事件的顺序 准确的决策点准确的决策点 循环操作循环操作 数据组织和结构数据组织和结构 软件的过程表示是分层的。 13.4.13.4.13.4.13.4.9 9 9 9 信息隐蔽信息隐蔽信息隐蔽信息隐蔽 隐蔽的含义:隐蔽的含义:隐蔽的含义:隐蔽的含义:有效的模块化可以通过定义一有效的模块化可以通过定义一有效的模块化可以通过定义一有效的模块化可以通过定义一 组独立模块来实现,这些模块相互之间只交组独立模块来实现,这些模块相互之间只交组独立模块来实现,这些模块相互之间只交组独立模块来实现,这些模块相互之间只交 流实现软件功能必需的信息流实现软件功能必需的信息流实现软件功能必需的信息流实现软件功能必需的信息。抽象有助于定。抽象有助于定。抽象有助于定。抽象有助于定 义组成软件的过程(或信息)实体。隐蔽定义组成软件的过程(或信息)实体。隐蔽定义组成软件的过程(或信息)实体。隐蔽定义组成软件的过程(或信息)实体。隐蔽定 义并加强了对模块内部过程细节或模块使用义并加强了对模块内部过程细节或模块使用义并加强了对模块内部过程细节或模块使用义并加强了对模块内部过程细节或模块使用 的任何局部数据结构的访问约束。的任何局部数据结构的访问约束。的任何局部数据结构的访问约束。的任何局部数据结构的访问约束。 13.13.13.13.5 5 5 5 有效的模块设计有效的模块设计有效的模块设计有效的模块设计 功能独立性功能独立性功能独立性功能独立性 内聚内聚内聚内聚 耦合耦合耦合耦合 13.5.13.5.13.5.13.5.1 1 1 1 功能独立性功能独立性功能独立性功能独立性 独立性两项独立性两项独立性两项独立性两项质量标准质量标准质量标准质量标准: 内聚内聚内聚内聚 耦合耦合耦合耦合 内聚内聚内聚内聚是模块相对是模块相对是模块相对是模块相对功能密度功能密度功能密度功能密度的度量的度量的度量的度量 耦合耦合耦合耦合是模块间相对是模块间相对是模块间相对是模块间相对独立性独立性独立性独立性的度量的度量的度量的度量 13.5.13.5.13.5.13.5.2 2 2 2 内聚内聚内聚内聚 13.5.3 13.5.3 13.5.3 13.5.3 耦合耦合耦合耦合 内聚内聚内聚内聚是描述的信息隐蔽功能的自然扩展,包含有:是描述的信息隐蔽功能的自然扩展,包含有:是描述的信息隐蔽功能的自然扩展,包含有:是描述的信息隐蔽功能的自然扩展,包含有: 低内聚:巧合内聚、逻辑内聚、时间内聚低内聚:巧合内聚、逻辑内聚、时间内聚低内聚:巧合内聚、逻辑内聚、时间内聚低内聚:巧合内聚、逻辑内聚、时间内聚 中度内聚:过程内聚、通信内聚、信息内聚中度内聚:过程内聚、通信内聚、信息内聚中度内聚:过程内聚、通信内聚、信息内聚中度内聚:过程内聚、通信内聚、信息内聚 高内聚:功能内聚高内聚:功能内聚高内聚:功能内聚高内聚:功能内聚 耦合耦合耦合耦合是程序结构中模块相互连接的度量,包含有:是程序结构中模块相互连接的度量,包含有:是程序结构中模块相互连接的度量,包含有:是程序结构中模块相互连接的度量,包含有: 低耦合:非直接耦合、数据耦合、标记耦合低耦合:非直接耦合、数据耦合、标记耦合低耦合:非直接耦合、数据耦合、标记耦合低耦合:非直接耦合、数据耦合、标记耦合 中度耦合:控制耦合、外部耦合、共用耦合中度耦合:控制耦合、外部耦合、共用耦合中度耦合:控制耦合、外部耦合、共用耦合中度耦合:控制耦合、外部耦合、共用耦合 高耦合:内容耦合高耦合:内容耦合高耦合:内容耦合高耦合:内容耦合 设计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师个人研修计划小学语文(16篇)
- 政治中考题目及答案广东
- 活动执行合同的基本要素
- 生态保护与产业集聚并重的2025年文化创意产业园区品牌塑造报告
- 2025年日语初级题目及答案
- 专业配方师考试题及答案
- 猪饲养员考试试题及答案
- 质量管理试卷及答案
- 2025年山西招聘特岗教师考试笔试试卷附答案
- 2025年山西建筑安管人员安全员考试题库及答案
- (完整版)中国古代书法史课件
- 2023广东惠州市惠城区桥西街道办事处招聘治安队员、党建联络员、社区“两委”班子储备人选笔试通告笔试备考题库及答案解析
- 《现代汉语》(增订6版)笔记和课后习题(含考研真题)详解
- 碳水化合物计算2
- 2022年贵州省贵阳市中考语文试卷及答案
- 开学第一课课件-外研版七年级英语上册
- GB/T 13912-2020金属覆盖层钢铁制件热浸镀锌层技术要求及试验方法
- “探究”测定某种食物中的能量实验报告单
- 羊奶的营养价值(课堂PPT)
- 最新海关AEO高级认证培训课件
- 食品工艺学夏文水课件
评论
0/150
提交评论