系统架构设计师笔记第20期:软件架构复用

软件架构复用是指在不改变软件功能的情况下,将已有的软件架构直接或进行微调后复用到新的软件或系统中,从而加快软件开发进程,提高软件生产效率。软件架构复用包括软件产品复用和软件过程复用两部分的内容。其中,软件产品复用是指将已有的软件组件(如函数、模块、组件等)直接或进行适应性修改后复用到新的软件或系统中;软件过程复用是指将已有的软件生产过程中的各种劳动成果(如设计文档、测试案例、源代码等)直接或进行适应性修改后复用到新的软件或系统中。

软件架构复用的分类

软件架构复用可以分为以下几种类型:

  1. 代码级复用:通过编写大量的公共类和公共函数等,供开发人员直接使用。
  2. 组件级复用:将功能的组件化封装,对外提供一组或多组的API接口。
  3. 模块级复用:在开发的项目或产品中,如果发现大量重复的功能模块,可以在这些模块设计时注重扩展性,使其能应用到其他类似功能的项目中。
  4. 构架级复用:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件产品。

软件架构复用的实现方式主要包括以下几种:

  1. 白盒复用:源代码可见,可修改和扩展。
  2. 黑盒复用:源代码不可见,不能修改。
  3. 模块层次的复用(接口/类):包括继承和委托等。

这些实现方式可以帮助开发者更好地进行软件架构复用,提高软件生产效率。

软件架构复用的原因

软件架构复用的原因主要有以下几点:

  1. 审美上和智力上的考虑:软件开发者渴望不朽,通过创造出可复用的组件,使他们的作品成为整个行业的基石。
  2. 经济上的考虑:复用降低了成本和开发时间,提高了软件生产效率。它还可以避免不必要的“重新造轮子”,降低维护成本,生产出质量更好、更可靠、更高效的软件。
  3. 可靠性的考虑:复用已经存在一段时间并经过调试的功能,这些功能往往经过充分测试,稳定可靠。
  4. 标准化的考虑:复用 GUI 库会在应用程序中产生通用的外观、规则、一致、连贯地设计。

然而,软件架构复用也存在一定的成本,需要从创造的角度进行考虑,确保可复用的组件以明确定义、开放的方式设计和构建,使用简洁的接口规范、可理解的文档,并着眼于未来的使用。这样才能充分发挥软件架构复用的优势。

软件架构复用的对象及形式

软件架构复用的对象可以包括代码级、组件级、模块级和构架级复用。具体形式如下:

  1. 代码级复用:通过编写大量的公共类和公共函数等,供开发人员直接使用。
  2. 组件级复用:将功能的组件化封装,对外提供一组或多组的API接口。
  3. 模块级复用:在开发的项目或产品中,如果发现大量重复的功能模块,可以在这些模块设计时注重扩展性,使其能应用到其他类似功能的项目中。
  4. 构架级复用:构架级在设计概念上最为高级的一种。它相当于一个平台或者思想,在这个平台上,可以开发出根据此平台思想稳定而又高效的软件产品。

软件架构复用的实现方式主要包括以下几种:

  1. 白盒复用:源代码可见,可修改和扩展。
  2. 黑盒复用:源代码不可见,不能修改。
  3. 模块层次的复用(接口/类):包括继承和委托等。

这些实现方式可以帮助开发者更好地进行软件架构复用,提高软件生产效率。

软件架构复用的基本过程

软件架构复用的基本过程包括以下步骤:

  1. 按复用的要求,界定应用系统的共同特性,建立模型。
  2. 将模型分解成恰当规模和结构的构件。
  3. 对这些构件进行设计、实现、打包、编写文档。
  4. 形成方便使用的可复用构件。
  5. 开发与构件系统相配的工具箱,以支持构件的复用。

通过以上步骤,可以完成软件架构的复用,提高软件开发效率。

你可能感兴趣的:(系统架构,笔记)