Maintainability
Template:Short description Template:No footnotes
Maintainability is the ease of maintaining or providing maintenance for a functioning product or service. Depending on the field, it can have slightly different meanings.
Usage in different fields
[edit]Engineering
[edit]In engineering, maintainability is the ease with which a product can be maintained to:
- correct defects or their cause,
- Repair or replace faulty or worn-out components without having to replace still working parts,
- prevent unexpected working conditions,
- maximize a product's useful life,
- maximize efficiency, reliability, and safety,
- meet new requirements,
- make future maintenance easier, or
- cope with a changing environment.
In some cases, maintainability involves a system of continuous improvement - learning from the past to improve the ability to maintain systems, or improve the reliability of systems based on maintenance experience.
Telecommunication
[edit]In telecommunications and several other engineering fields, the term maintainability has the following meanings:
- A characteristic of design and installation, expressed as the probability that an item will be retained in or restored to a specified condition within a given period of time, when the maintenance is performed by prescribed procedures and resources.
- The ease with which maintenance of a functional unit can be performed by prescribed requirements.
Software
[edit]In software engineering, these activities are known as software maintenance (cf. ISO/IEC 9126). Closely related concepts in the software engineering domain are evolvability, modifiability, technical debt, and code smells.
The maintainability index is calculated with certain formulae from lines-of-code measures, McCabe measures and Halstead complexity measures.
The measurement and tracking of maintainability are intended to help reduce or reverse a system's tendency toward "code entropy" or degraded integrity, and to indicate when it becomes cheaper and/or less risky to rewrite the code than it is to change it.
See also
[edit]- List of system quality attributes
- Maintenance (technical)
- Supportability (disambiguation)
- Serviceability (disambiguation)
- Software sizing
- RAMS
- Throwaway society