SOFTWARE REUSE

被引:8
作者
KRUEGER, CW
机构
关键词
DESIGN; ECONOMICS; LANGUAGES; ABSTRACTION; COGNITIVE DISTANCE; SOFTWARE REUSE;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Software reuse is the process of creating software systems from existing software rather than building software systems from scratch. This simple yet powerful vision was introduced in 1968. Software reuse has, however, failed to become a standard software engineering practice. In an attempt to understand why, researchers have renewed their interest in software reuse and in the obstacles to implementing it. This paper surveys the different approaches to software reuse found in the research literature. It uses a taxonomy to describe and compare the different approaches and make generalizations about the field of software reuse. The taxonomy characterizes each reuse approach in terms of its reusable artifacts and the way these artifacts are abstracted, selected, specialized, and integrated. Abstraction plays a central role in software reuse. Concise and expressive abstractions are essential if software artifacts are to be effectively reused. The effectiveness of a reuse technique can be evaluated in terms of cognitive distance-an intuitive gauge of the intellectual effort required to use the technique. Cognitive distance is reduced in two ways: (1) Higher level abstractions in a reuse technique reduce the effort required to go from the initial concept of a software system to representations in the reuse technique, and (2) automation reduces the effort required to go from abstractions in a reuse technique to an executable implementation. This survey will help answer the following questions: What is software reuse? Why reuse software? What are the different approaches to reusing software? How effective are the different approaches? What is required to implement a software reuse technology? Why is software reuse difficult? What are the open areas for research in software reuse?
引用
收藏
页码:131 / 183
页数:53
相关论文
共 103 条
[31]  
GOGUEN J, 1986, IEEE COMPUT, V19, P16
[32]  
GOGUEN J, 1989, SOFTWARE REUSABILITY, V1, P159
[33]  
HABERMANN AN, 1988, CMUCS87177 CARN U TE
[34]  
Hayes-Roth F., 1983, TEKNOWLEDGE SERIES K, P1
[35]   A SURVEY OF APPLICATION GENERATORS [J].
HOROWITZ, E ;
KEMPER, A ;
NARASIMHAN, B .
IEEE SOFTWARE, 1985, 2 (01) :40-54
[36]   AN EXPANSIVE VIEW OF REUSABLE SOFTWARE [J].
HOROWITZ, E ;
MUNSON, JB .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (05) :477-487
[37]  
HOROWITZ E, 1983, SEP WORKSH REUS PROG, P250
[38]  
HOROWITZ E, 1989, FRONTIER SERIES SOFT, V1, P19
[39]  
Ichbiah J. D., 1983, Information Processing 83. Proceedings of the IFIP 9th World Computer Congress, P1
[40]  
JOHNSON SC, 1979, YACC YET ANOTHER COM