Software reusability is a software engineering concept that describes when a previously designed and developed software element can be used in a new application with little or no rework or additional investment.
A software element is one of the basic building blocks in the design of a computer software program, typically called a module, component, etc.
Software reusability more specifically refers to design features of a software element (or collection of software elements) that enhance its suitability for reuse.
Candidate design features for software reuse include:
- Adaptable
- Brief: small size
- Flexible
- Parameterization
- Generic
- fast
- Simple: low complexity
- Localization of volatile (changeable) design assumptions (David Parnas)
This article is a stub. You can help Wikipedia by fixing it.