O'Reilly logo

Software Evolution and Maintenance by Priyadarshi Tripathy, Kshirasagar Naik

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

9 REUSE AND DOMAIN ENGINEERING

Before software can be reusable it first has to be usable.

—Ralph Johnson

9.1 GENERAL IDEA

Software reuse continues to be practiced since the early days of programming. Separate compilation of Fortran II subroutines and increased use of Fortran subroutine libraries are examples of reuse practiced in the early days of programming [1]. Formal software reuse was first introduced by Dough McIlroy. He envisioned an industry for the development of reusable components and the industrialization of the production of application software from off-the-shelf components [2]. Other examples of early development of reuse include the concept of program families introduced by David Parnas [3] and the concepts of domain and domain analysis introduced by Jim Neighbors [4]. A set of programs with several common attributes and features is known as a program family. On the other hand, domain analysis means finding objects and operations of a set of similar software systems in a specific problem domain. A domain is a field of expertise or a specialized body of knowledge. The concept of program families is related to the concept of domain analysis [3,5,6]. In this context, software reuse involves two main activities: software development with reuse and software development for reuse.

Intuitively, software reuse means using existing assets in the development of a new system. Reusable assets can be both reusable artifacts and software knowledge. There are four types ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required