可复用性的度量、形态与外部表现
1.软件复用
两个方面:
(1).programming for reuse 面向复用编程:开发出可复用的软件
(2).programming with reuse 基于复用编程:利用已有的可复用软件搭建应用系统
优势:
(1).降低成本和开发时间
(2).经过充分测试,可靠、稳定
(3).标准化,在不同应用中保持一致
开发可复用的软件(for reuse)
开发成本高于一般软件的成本:要有足够高的适应性
性能差些: 针对更普适场景,缺少足够的针对性
使用已有软件进行开发(with reuse)
可复用软件库,对其进行有效的管理
适配
2.如何度量可复用性
(1).复用的频繁程度
(2).复用的代价:获取、适配,扩展、实例化、与其他部分互联的难度
具有高复用性的软件:
小、简单;与标准兼容;灵活可变;可扩展 ;泛型、参数化;模块化;变化的局部性;稳定;丰富的文档和帮助
3.可复用组件的级别
代码复用的种类:
白盒复用:源代码可见,可修改和扩展
黑盒复用:源代码不可见,不能修改 通过API接口来使用