REUSING SOFTWARE - ISSUES AND RESEARCH DIRECTIONS

被引:229
作者
MILI, H
MILI, F
MILI, A
机构
[1] OAKLAND UNIV,SCH ENGN & COMP SCI,ROCHESTER,MI 48309
[2] UNIV OTTAWA,DEPT COMP SCI,OTTAWA,ON K1N 6N5,CANADA
基金
加拿大自然科学与工程研究理事会; 美国国家科学基金会;
关键词
SOFTWARE REUSE; MANAGERIAL ASPECTS OF SOFTWARE REUSE; SOFTWARE REUSE MEASUREMENTS; BUILDING REUSABLE COMPONENTS; OO SOFTWARE DEVELOPMENT; SOFTWARE COMPONENT RETRIEVAL; ADAPTING REUSABLE COMPONENTS;
D O I
10.1109/32.391379
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software productivity has been steadily increasing over the past 30 years, but not enough to close the gap between the demands placed on the software industry and what the state of the practice can deliver [22], [39]; nothing short of an order of magnitude increase in productivity will extricate the software industry from its perennial crisis [39], [67]. Several decades of intensive research in software engineering and artificial intelligence left few alternatives but software reuse as the (only) realistic approach to bring about the gains of productivity and quality that the software industry needs. In this paper, we discuss the implications of reuse on the production, with an emphasis on the technical challenges. Software reuse involves building software that is reusable by design and building with reusable software. Software reuse includes reusing both the products of previous software projects and the processes deployed to produce them, leading to a wide spectrum of reuse approaches, from the building blocks (reusing products) approach, on one hand, to the generative or reusable processor (reusing processes), on the other [68]. We discuss the implication of such approaches on the organization, control, and method of software development and discuss proposed models for their economic analysis. Software reuse benefits from methodologies and tools to: 1) build more readily reusable software and 2) locate, evaluate, and tailor reusable software, the last being critical for the building blocks approach. Both sets of issues are discussed in this paper, with a focus on application generators and OO development for the first and a thorough discussion of retrieval techniques for software components, component composition (or bottom-up design), and transformational systems for the second. We conclude by highlighting areas that, in our opinion, are worthy of further investigation.
引用
收藏
页码:528 / 562
页数:35
相关论文
共 163 条
  • [1] AGRESTI WW, 1986, NEW PARADIGMS SOFTWA, P6
  • [2] AGRESTI WW, 1986, NEW PARADIGMS SOFTWA, P11
  • [3] AKSIT M, 1992, OCT P OOPSLA 92 VANC
  • [4] ARANGO G, 1988, THESIS U CALIFORNIA
  • [5] ARANGO G, 1986, IEEE SOFTWARE MAY, P27
  • [6] ARNOLD SP, 1987, P COMPCON 87, P376
  • [7] BALDA DM, 1990, ACM SIGSOFT, P42
  • [8] BALZER R, 1985, IEEE T SOFTWARE NOV, P1257
  • [9] BALZER R, 1983, COMPUTER NOV, P39
  • [10] BARNES B, 1987, P WORKSHOP SOFTWARE