计算机科学软件工程中的可重用性(reusability),是指可以重新使用以某种软件开发过程下产生的已有“资产”(assets)。“资产”是指在软件开发生命周期中产生的产品以及副产品,可以是代码、软件模块、测试包、设计以及文件。代码复用就是代码可重用性的呈现。另外一种概念称为“杠杆”(leverage),是指为了符合特定的系统需求,修改现有的资产。因为重用可以减少同一资产的不同版本,因此在版本管理上会比杠杆要好[1]

以代码来说,子程序函数是可以重用的最小单位。一长串的代码一般会用模块命名空间进行管理,区分为不同的层次。一些支持者认为对象以及软件组件是可重用性更高的型式。不过很难客观的衡量可重用性,为其定义等级或是评分。

可重用性非常依赖由较小的部分建构出较大东西的能力,而且要可以识别出这些部分的共性英语commonality。可重用性是系统平台软件必要的特质。可重用性也带出许多软件开发中的不同层面,若没有可重用性,这些层面可以不需要考虑。

可重用性表示对于软件组建包装分销安装程序配置英语computer configuration软件部署软件维护升级,有一些具体的管理方式。若没有考虑这些议题,可能在软件设计的观点来看,可以复用程序,但在实务上仍然无法复用。

软件可重用性更多的是指软件单元(或是许多软件单元)在设计上的特质,这个特质使其适合于复用。

许多复用的设计原则是在WISR的workshop中提出的[2]

以下是一些软件重用旳设计特征:

有关上述特征中,哪一个比较重要,或是在特定应用下,那一个议题影响比较大,目前也还没有共识。

相关条目

编辑

参考资料

编辑
  1. ^ Lombard Hill Group. What is Software Reuse. www.lombardhill.com. Lombard Hill Group. October 22, 2014 [22 October 2014]. (原始内容存档于2014-10-22). 
  2. ^ Design for Reuse and Object Oriented Reuse Methods. Umcs.maine.edu. 1995-01-20 [2012-07-31]. (原始内容存档于1997-07-15).