▪ 软件复用的优缺点
▪ 再利用组件
▪ 通用可重用组件的特性
大纲
▪ 什么是软件重用?
▪ 如何衡量“可重用性”?
▪ 可重用组件的级别和形态
-源代码级重用:
模块级别的复用:类/抽象类/接口
库级别的复用:API/包
系统级别的复用:框架
▪ 可重用性的外部观察
-类型变化
-例行分组
-实现变化
-表示独立
-分解常见行为
1什么是软件重用?
▪ 软件重用是使用现有软件组件实现或更新软件系统的过程。▪ 软件重用的两个视角
——创建:以系统的方式创建可重用的资源(为重用而编程——使用:将资源重用为创建新系统的构建块(为重用而编程
▪ 为什么要重复使用?
——“创造可重复使用而非短暂的艺术品的动力具有审美、智力和经济动机,是人类对永生的渴望的一部分。
–它将人类与其他生物区分开来,将文明与原始社会区分开来”(Wegner,1989)。
为什么要重用?
▪ 重用具有成本效益和及时性,可以生产出更可靠、更高效的软件)
▪ 再利用产生可靠的软件,在一段时间内被调试并重用,是建立稳定子系统的基础。
▪ 重复使用会产生标准化的效果
—图形用户界面库的重复使用会在应用程序中产生一致外观和感觉。
–与常规、连贯的设计保持一致。
再利用成本
▪ 可重用的组件应该以一种明确定义的、开放的方式设计和构建,具有简明的接口规范、可理解的文档,并且着眼于将来的使用。
做到这些,需要代价
▪ 重用是昂贵的:它涉及跨组织、技术和过程的变更,以及支持这些变更的工具的成本,以及培训人员使用新工具和变更的成本