Software Reuse

Program-Transformation.Org: The Program Transformation Wiki
Charles W. Krueger provides a survey in the ACM Computing Surveys 24(2):131-183, June 1992.

Software reuse is the process of creating software systems from existing software rather than building software systems from scratch.

He analyzes software reuse technologies according to four dimensions:

  • Abstraction -- making a piece of softare reusable in a wider context
  • Selection -- finding the required component
  • ProgramSpecialization -- mechanisms for configuring assets to specific requirements
  • Integration -- a framework is needed to ensure that components can talk to each other.

See also I. Jacobson, M. Griss and P. Jonsson: Software Reuse: Architecture, Process and Organization for Business Success. Addison-Wesly, 1997. (481 pp.)

Emphasizes Application Family Engineering, which then provides the infrastructure for Application System Engineering -- building applications from reusable components.

The book does not yet mention SoftwareProductLines, but it does introduce all relevant concepts.

Does not explicitly cover the notion of DomainEngineering -- this is covered as just an aspect of application family engineering.

CategorySoftwareEvolution | Contributions by ArieVanDeursen