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