软件复用

本页使用了标题或全文手工转换
维基百科,自由的百科全书

软件复用是一种计算机软件工程方法和理论。20世紀60年代的“软件危机”使程序设计人员明白难于维护的软件成本是极其高昂的,当软件的规模不断扩大时,这种软件的综合成本可以说是没有人能负担的,并且即使投入了高昂的资金也难以得到可靠的产品,而软件重用的思想是解决这一问题的根本方法。[1]

软件复用的主要思想是,将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具,这样,如果完成各种工作的组件被建立起来以后,编写一特定软件的工作就变成了将各种不同组件组织连接体来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。

简介

软件复用就是将已有的软件成分用于构造新的软件系统。[2][3]可以被复用的软件成分一般称作可复用构件,[4]无论对可复用构件不加修改直接使用还是修改后再使用,只要是用来构造新软件,则都可称作复用。[5]从更大的角度理解,软件重用也包括应用项目的重用,规格说明(也称为规约)的重用,设计的重用,概念和方法的重用等等。[6][7]

如果在一个系统中多次使用一个相同的软件成分,则不称作复用,而称作共享;对一个软件进行修改,使它运行于新的软硬件平台也不称作复用,而称作软件移植。

作用

软件重用有助于提高软件的质量和开发效率,降低软件的开发和维护成本。[3]

参考

  1. ^ 软件复用技术研究--《北京理工大学学报》1998年06期. www.cnki.com.cn. [2022-08-09]. (原始内容存档于2020-10-23). 
  2. ^ Frakes, W.B.; Kyo Kang. Software Reuse Research: Status and Future. IEEE Transactions on Software Engineering. July 2005, 31 (7): 529–536. CiteSeerX 10.1.1.75.635可免费查阅. S2CID 14561810. doi:10.1109/TSE.2005.85. 
  3. ^ 3.0 3.1 Lombard Hill Group. What Is Software Reuse?. lombardhill.com. Lombard Hill Group. [22 October 2014]. (原始内容存档于23 January 2019). 
  4. ^ 4. Code Reuse: Functions and Modules - Head First Python, 2nd Edition [Book]. www.oreilly.com. [2022-01-26]. (原始内容存档于2022-05-30) (英语). 
  5. ^ Code reuse. DocForge. [2024年4月26日]. (原始内容存档于2011-07-10). 
  6. ^ 软件工程 - 百度文库. wenku.baidu.com. [2022-08-09]. (原始内容存档于2022-08-09). 
  7. ^ Colombo, F. It's not just reuse. SharedNow.blogspot. 2011 [2022-08-09]. (原始内容存档于2022-08-09).