Reusability

Quality of software relevant to reuse

This article is about reusability in computer science. For other uses, see Reusability (disambiguation).

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Reusability" – news · newspapers · books · scholar · JSTOR (July 2012) (Learn how and when to remove this message)

|

In computer programming, reusability describes the quality of a software asset that affects its ability to be used in a software system for which it was not specifically designed. An asset that is easy to reuse and provides utility is considered to have high reusability. A related concept, leverage involves modifying an existing asset to meet system requirements.[1]

The ability to reuse can be viewed as the ability to build larger things from smaller parts, and to identify commonality among the parts. Reusability is often a required characteristic of platform software. Reusability brings several aspects to software development that do not need to be considered when reusability is not required.

Reusability may be impacted by various DevOps aspects including: build, packaging, distribution, installation, configuration, deployment, maintenance and upgrade. If these aspects are not considered, software may seem to be reusable based on its design, but may not be reusable in practice.

Many reuse design principles were developed at the WISR workshops.[2] Although lacking consensus candidate design features for software reuse include:

* Adaptable
* Brief; small size
* Consistency
* Correctness
* Extensibility
* Fast
* Flexible
* Generic
* Localization of volatile/changeable design assumptions
* Modularity
* Orthogonality
* Simple; low complexity
* Stability under changing requirements

## See also

[edit]

* Code reuse

## References

[edit]

1. ^ Lombard Hill Group (October 22, 2014). "What is Software Reuse". www.lombardhill.com. Lombard Hill Group. Archived from the original on 2014-10-22. Retrieved 22 October 2014.
2. ^ "Design for Reuse and Object Oriented Reuse Methods". Umcs.maine.edu. 1995-01-20. Archived from the original on 1997-07-15. Retrieved 2012-07-31.

* v
* t
* e

Software quality

Qualities|

| Internal|

* Size
* Maintainability
* Flexibility
* Portability
* Reusability
* Readability
* Scalability
* Testability
* Understandability
* Loose coupling
* Orthogonality

|

External|

* Usability
* Reliability
* Adaptability
* Correctness
* Accuracy
* Efficiency
* Robustness
* Security
* Safety

Standards and lists|

* ISO/IEC 9126
* Non-functional requirements
* List of system quality attributes

Processes|

* Software quality management
* Software quality control
* Software quality assurance

*   * Commons

Authority control databases

National|

* Germany
* United States
* France
* BnF data
* Israel

Other|

* Yale LUX

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template