Reuse

Christine L. Braun

Christine L. Braun

DynCorp Information Systems

Search for more papers by this author
First published: 15 January 2002

Abstract

Software development costs are a major factor in the world's economy. This situation is a result of systems becoming increasingly sophisticated (with software implementing most of the added functionality), while engineering salaries are rising and hardware costs are decreasing. Motivation to find more efficient and predictable ways to create software is growing annually.

Comparing the software and hardware industries is interesting. Hardware costs are going down not because hardware engineers are getting cheaper, but because of standardization on common parts, in other words, reuse. Is there a way to achieve the same benefits by practicing reuse in the software field? Hardware engineers today build systems from components that perform complex functions on a single chip, rather than depending on gate level design and wiring. Can software be built from more complex software components, rather than from individual lines of code?, this can be regulated as a “software components industry.”

Several trends in software engineering technologies have encouraged this interest in reuse. One of these is the increasing prominence of object-oriented design and development. Object-oriented methods encourage software engineers to design components around invariant objects—objects that have meaning outside the system and therefore might be usable by multiple systems. Another factor is the emergence of higher level programming languages and tools, for example, visual programming environments, that support principles of packaging and abstraction. These languages allow development of components with the cohesiveness and parameterization needed to make software more reusable.

These technological enablers, coupled with a growing need to control software costs, have made software reuse a major field of research and development. Its promises are great, but there are many open issues and challenges. This article summarizes many of the major ideas and developments in this growing field.

The full text of this article hosted at iucr.org is unavailable due to technical difficulties.