可重用性
计算机科学和软件工程中的可重用性(reusability),是指可以重新使用以某种软件开发过程下产生的已有“资产”(assets)。“资产”是指在软件开发生命周期中产生的产品以及副产品,可以是代码、软件模块、测试包、设计以及文件。代码复用就是代码可重用性的呈现。另外一种概念称为“杠杆”(leverage),是指为了符合特定的系统需求,修改现有的资产。因为重用可以减少同一资产的不同版本,因此在版本管理上会比杠杆要好[1]。
以代码来说,子程序或函数是可以重用的最小单位。一长串的代码一般会用模块或命名空间进行管理,区分为不同的层次。一些支持者认为对象以及软件组件是可重用性更高的型式。不过很难客观的衡量可重用性,为其定义等级或是评分。
可重用性非常依赖由较小的部分建构出较大东西的能力,而且要可以识别出这些部分的共性。可重用性是系统平台软件必要的特质。可重用性也带出许多软件开发中的不同层面,若没有可重用性,这些层面可以不需要考虑。
可重用性表示对于软件组建、包装、分销、安装程序、配置、软件部署、软件维护和升级,有一些具体的管理方式。若没有考虑这些议题,可能在软件设计的观点来看,可以复用程序,但在实务上仍然无法复用。
软件可重用性更多的是指软件单元(或是许多软件单元)在设计上的特质,这个特质使其适合于复用。
许多复用的设计原则是在WISR的workshop中提出的[2]。
以下是一些软件重用旳设计特征:
有关上述特征中,哪一个比较重要,或是在特定应用下,那一个议题影响比较大,目前也还没有共识。
相关条目
编辑参考资料
编辑- ^ Lombard Hill Group. What is Software Reuse. www.lombardhill.com. Lombard Hill Group. October 22, 2014 [22 October 2014]. (原始内容存档于2014-10-22).
- ^ Design for Reuse and Object Oriented Reuse Methods. Umcs.maine.edu. 1995-01-20 [2012-07-31]. (原始内容存档于1997-07-15).