Reuse Definitions
last modified
2008-11-14 07:40 AM
The Working Group's basic definition of reuse, its purpose, its scope as applied to our work, and what does and doesn't count as reuse
Definition of Reuse
- The reuse of a software artifact is its integration into another context.
Why reuse?
- The purpose of reuse is to reduce cost, time, effort, and risk; and to increase productivity, quality, performance, and interoperability.
Scope of reuse for ESDS
- The most common type of reuse is the reuse of software components, but other artifacts produced during the software development process can also be reused: system architectures, analysis models, design models, design patterns, database schemas, web services, etc.
- Software reuse may occur across similar systems (e.g., within the Earth science community) or across widely different systems (e.g., we may be able to reuse a component from outside the Earth science community).
What counts as reuse?
- In general, if you have acquired (or used) a software development asset from another context that otherwise you would have written yourself, then you have experienced the benefit of reuse.
- Something that was originally written for a different Earth science project will usually be recognized as reuse.
What doesn't count as reuse?
- Software developed and used repeatedly by the same people on the same project is regarded as "good programming practice" and is not typically counted as reuse.
- Product maintenance and new product versions; we do not usually claim the base code as reuse.
- Use of operating systems, database management systems, and other system tools is generally not regarded as reuse.
- The use of commercial off-the-shelf (COTS) software and its open source equivalents is generally not regarded as reuse.
