正在加载图片...
的多声部合唱来特征化。这样,许多体系结构单元都可以通过这些元素中的一些简单的交互 模式来描述 每一个应用论域都可以一个结构模型来特征化。如飞行器电子设备系统虽然在细节上有 很大的不同,但在这个论域中的所有的现行软件都有相同的结构模型。因此,结构模型是一 种能够而且也应该跨越该论域所有应用的可复用的体系结构要素。 结构点是结构模型中的各个不同的构成成分,用于描述系统体系结构中的模式。它有3 个特征 结构点是一个抽象,它应当有有限数量的实例。若用面向对象的术语来陈述,它的类 层次的规模应比较小。此外,该抽象应当在论域的各个应用中重复出现,否则,验证、文档 化和传播结构点的代价可能是不划算的。 使用结构点的管理规则应是容易理解的,使用结构点的界面应比较简单 结构点的实现应做到信息隐蔽,将所有在结构点内部包含的复杂性封装(或隔离)在结 构点内部。这样,可以减少整个系统的感知复杂性。 4.可复用构件的构造原则和质量标准 论域分析的结果为可复用构件的选取提供了指导原则。一旦确定了某些软件元素应当称 为可复用构件并要加入到可复用构件库中,软件人员就必须实际构造它们。由于软件构件的 生存期将跨越开发项目,甚至应用论域,因此,可复用构件必须更为通用、更容易组装到新 的软件系统中、再新的运行环境下能表现出更好的健壮性。 代码极复用时最简单,也是用得最多的。但可复用软件构件不仅包括代码级构件,它还 应涵盖论域知识、需求分析文档、设计文档、测试方案、测试用例等。 (1)需求和设计级的软件构件 需求级软件构件通常包括问题(及子问题)描述、有关的论域知识、相应的需求规格说明。 问题描述及论域知识均使用论域语言,必要时可辅以结构化的自然语言 类似地,设计级软件构件包括设计规格说明(片段)、设计决策描述、相应的设计文档(如 总体设计方案、抽象算法)。这时,若能将需求级的软件构件和设计级的软件构件相结合,使 需求级软件构件和设计级软件构件的复用同时发生,就能够简化对这些软件构件的理解和组 装过程。 需求级和设计级软件构件的开发必须遵循以下两条原则 将构件应用的上下文与构件严格分离 利用抽象化、参数化等手段提取公共特征,增强构件对未来不同应用项目的适应能力。 需求级、设计级与代码级软件构件相结合,有助于代码级软件构件的提取和理解。借助 较高抽象级别的软件构件可望提高复用的效能,因为这样不仅能够复用代码,而且能够复用 需求模型和设计方案。 (2)代码级的软件构件 代码级复用是迄今为止研究最深入、应用最广泛的复用技术。代码级软件构件不仅应包 含通常的程序代码段,还应辅以相应的注释和上下文说明。这些辅助可以用结构化语言或其 它标识机制描述,但最好以相应的需求级或设计级软件构件的形式出现。传统上,代码级软 件构件的主体是子程序(过程或函数)。现在,在基于对象和面向对象程序设计语言及相应的 开发环境下,软件构件可以用Ada程序包或C++类来实现。 开发代码级软件构件与通常的程序设计活动不同,其主要区别在于:软件人员必须运用 各种抽象化手段,以发掘公共特征,分离构件的应用上下文、功能和行为,从而提高可复用 性。典型的抽象方法有如下3种。 功能抽象:软件构件的功能由接口说明中的输入一关系确定,实现细节对构件的使用6 的多声部合唱来特征化。这样,许多体系结构单元都可以通过这些元素中的一些简单的交互 模式来描述。 每一个应用论域都可以一个结构模型来特征化。如飞行器电子设备系统虽然在细节上有 很大的不同,但在这个论域中的所有的现行软件都有相同的结构模型。因此,结构模型是一 种能够而且也应该跨越该论域所有应用的可复用的体系结构要素。 结构点是结构模型中的各个不同的构成成分,用于描述系统体系结构中的模式。它有 3 个特征: ▪ 结构点是一个抽象,它应当有有限数量的实例。若用面向对象的术语来陈述,它的类 层次的规模应比较小。此外,该抽象应当在论域的各个应用中重复出现,否则,验证、文档 化和传播结构点的代价可能是不划算的。 ▪ 使用结构点的管理规则应是容易理解的,使用结构点的界面应比较简单。 ▪ 结构点的实现应做到信息隐蔽,将所有在结构点内部包含的复杂性封装(或隔离)在结 构点内部。这样,可以减少整个系统的感知复杂性。 4. 可复用构件的构造原则和质量标准 论域分析的结果为可复用构件的选取提供了指导原则。一旦确定了某些软件元素应当称 为可复用构件并要加入到可复用构件库中,软件人员就必须实际构造它们。由于软件构件的 生存期将跨越开发项目,甚至应用论域,因此,可复用构件必须更为通用、更容易组装到新 的软件系统中、再新的运行环境下能表现出更好的健壮性。 代码极复用时最简单,也是用得最多的。但可复用软件构件不仅包括代码级构件,它还 应涵盖论域知识、需求分析文档、设计文档、测试方案、测试用例等。 (1) 需求和设计级的软件构件 需求级软件构件通常包括问题(及子问题)描述、有关的论域知识、相应的需求规格说明。 问题描述及论域知识均使用论域语言,必要时可辅以结构化的自然语言。 类似地,设计级软件构件包括设计规格说明(片段)、设计决策描述、相应的设计文档(如 总体设计方案、抽象算法)。这时,若能将需求级的软件构件和设计级的软件构件相结合,使 需求级软件构件和设计级软件构件的复用同时发生,就能够简化对这些软件构件的理解和组 装过程。 需求级和设计级软件构件的开发必须遵循以下两条原则: ▪ 将构件应用的上下文与构件严格分离; ▪ 利用抽象化、参数化等手段提取公共特征,增强构件对未来不同应用项目的适应能力。 需求级、设计级与代码级软件构件相结合,有助于代码级软件构件的提取和理解。借助 较高抽象级别的软件构件可望提高复用的效能,因为这样不仅能够复用代码,而且能够复用 需求模型和设计方案。 (2) 代码级的软件构件 代码级复用是迄今为止研究最深入、应用最广泛的复用技术。代码级软件构件不仅应包 含通常的程序代码段,还应辅以相应的注释和上下文说明。这些辅助可以用结构化语言或其 它标识机制描述,但最好以相应的需求级或设计级软件构件的形式出现。传统上,代码级软 件构件的主体是子程序(过程或函数)。现在,在基于对象和面向对象程序设计语言及相应的 开发环境下,软件构件可以用 Ada 程序包或 C++类来实现。 开发代码级软件构件与通常的程序设计活动不同,其主要区别在于:软件人员必须运用 各种抽象化手段,以发掘公共特征,分离构件的应用上下文、功能和行为,从而提高可复用 性。典型的抽象方法有如下 3 种。 ▪ 功能抽象:软件构件的功能由接口说明中的输入―关系确定,实现细节对构件的使用
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有