福州大学·软件学院·计算机教研室
软件复用和构件技术
王灿辉
复用就是指“利用现成的东西”,文人称之为“拿来主义”。
被复用的对象可以是有形的物体,也可以是无形的成果。
复用不是人类懒惰的表现而是智慧的表现。因为人类总是在继承了前人的成果,不断加以利用、改进或创新后才会进步。
复用
复用的内涵包括了提高质量与生产率两者。在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。
人们应该把大部分的时间用在小比例的创新工作上,而把小部分的时间用在大比例的成熟工作中,这样才能把工作做得又快又好。
复用
软件工程领域的主要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径。
是软件工业化生产的必由之路?
软件复用
把复用的思想用于软件开发,称为软件复用。
据统计,世上已有1000亿多行程序,无数功能被重写了成千上万次,真是极大的浪费。
面向对象(Object Oriented)学者的口头禅就是“请不要再发明相同的车轮子了”。
软件复用
将具有一定集成度并可以重复使用的软件组成单元称为软构件(ponent)。
软件复用可以表述为:构造新的软件系统可以不必每次从零做起,直接使用已有的软构件,即可组装(或加以合理修改)成新的系统。
复用方法合理化并简化了软件开发过程,减少了总的开发工作量与维护代价,既降低了软件的成本又提高了生产率。另一方面,由于软构件是经过反复使用验证的,自身具有较高的质量。因此由软构件组成的新系统也具有较高的质量。
软件复用
软件复用不仅要使自己拿来方便,还要让别人拿去方便,是“拿来拿去主义”。
利用软构件生产应用软件的过程如下图所示。
软件复用过程
应用
软件
系统
分解
定义
所需
构件
集合
用构
件建
造新
软件
提取构件
创建新构件
查询软
构件库
软件复用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
可复用的软件成分—可复用构件(ponent)可从旧软件中提取,也可以专门为复用而开发。
这些软件产品包括了:领域知识、体系结构、需求分析、设计文档、程序代码、测试用例和测试数据等等。将这些已有的软件产品在软件系统开发的各个阶段重复使用,这就是软件复用的原理。
软件复用
最早用于软件复用的软件产品是程序代码,这些程序代码最初是以子程序库的形式进行组织和管理的。软件开发人员通过使用相应的子程序名和参数,就可以在软件开发过程中重复使用这些程序代码。子程序库所代表的早期的软件复用主要是程序代码的复用,这是软件复用的一种原始形态。
随着软件复用技术的不断发展,软件复用的范围已经从最初的程序代码的复用,扩展到了更为广阔的范围,其中包含了体系结构、需求分析、设计文档、测试用例和测试数据的复用。
软件复用
按照重用活动所跨越的应用领域的类型,可以把软件的复用形式分为横向和纵向复用。
从基于软件复用的软件开发过程的角度,可以把软件复用分为:生产者复用(product reuse)和消费者复用(consumer reuse)
软件复用的形式
建立构件
组装应用
生产者复用消费者复用
(为复用开发构件) (使用构件开发应用)
生产者复用与消费者复用
软件工程_B软件复用和构件技术 来自淘豆网m.daumloan.com转载请标明出处.