Maintainable
   HOME

TheInfoList



OR:

In
engineering Engineering is the use of scientific method, scientific principles to design and build machines, structures, and other items, including bridges, tunnels, roads, vehicles, and buildings. The discipline of engineering encompasses a broad rang ...
, maintainability is the ease with which a product can be maintained to: * correct defects or their cause, *
Repair The technical meaning of maintenance involves functional checks, servicing, repairing or replacing of necessary devices, equipment, machinery, building infrastructure, and supporting utilities in industrial, business, and residential installa ...
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 In product development and process optimization, a requirement is a singular documented physical or functional need that a particular design, product or process aims to satisfy. It is commonly used in a formal sense in engineering design, includi ...
, * make future maintenance easier, or * cope with a changing environment. In some cases, maintainability involves a system of
continuous improvement A continual improvement process, also often called a continuous improvement process (abbreviated as CIP or CI), is an ongoing effort to improve products, services, or processes. These efforts can seek "incremental" improvement over time or "breakth ...
- learning from the past to improve the ability to maintain systems, or improve the reliability of systems based on maintenance experience. In
telecommunication Telecommunication is the transmission of information by various types of technologies over wire, radio, optical, or other electromagnetic systems. It has its origin in the desire of humans for communication over a distance greater than that fe ...
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 Time is the continued sequence of existence and events that occurs in an apparently irreversible succession from the past, through the present, into the future. It is a component quantity of various measurements used to sequence events, to ...
, when the
maintenance Maintenance may refer to: Biological science * Maintenance of an organism * Maintenance respiration Non-technical maintenance * Alimony, also called ''maintenance'' in British English * Champerty and maintenance, two related legal doctrine ...
is performed by prescribed procedures and resources. * The ease with which maintenance of a
functional unit In computer engineering, an execution unit (E-unit or EU) is a part of the central processing unit (CPU) that performs the operations and calculations as instructed by the computer program. It may have its own internal control sequence unit (not ...
can be performed by prescribed requirements.


Software engineering

In
software engineering Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
, these activities are known as
software maintenance Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes. A common perception of maintenance is that it merely involves fixing defects. H ...
(cf.
ISO/IEC 9126 ISO/IEC 9126 ''Software engineering — Product quality'' was an international standard for the evaluation of software quality. It has been replaced by ISO/IEC 25010:2011. The fundamental objective of the ISO/IEC 9126 standard is to address s ...
). Closely related concepts in the software engineering domain are evolvability, modifiability,
technical debt In software development, technical debt (also known as design debt or code debt) is the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. Analogous with ...
, and
code smell In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem. Determining what is and is not a code smell is subjective, and varies by language, developer, and development meth ...
s. The maintainability index is calculated with certain formulae from lines-of-code measures, McCabe measures and
Halstead complexity measures Halstead complexity measures are software metrics introduced by Maurice Howard Halstead in 1977 as part of his treatise on establishing an empirical science of software development. Halstead made the observation that metrics of the software should ...
. 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

*
List of system quality attributes Within systems engineering, quality attributes are realized non-functional requirements used to evaluate the performance of a system. These are sometimes named architecture characteristics, or "ilities" after the suffix many of the words share. ...
*
Maintenance (technical) The technical meaning of maintenance involves functional checks, servicing, repairing or replacing of necessary devices, equipment, machinery, building infrastructure, and supporting utilities in industrial, business, and residential install ...
*
Supportability (disambiguation) Supportability may refer to: * Supportability (engineering) ** Supportability (computer science) {{disambiguation ...
*
Serviceability (disambiguation) Serviceability may refer to: *Serviceability (structure) *Serviceability (computer) *Serviceability (telecommunications) Serviceability may refer to: *Serviceability (structure) *Serviceability (computer) {{Other uses, Serviceability (disambigua ...
*
Software sizing Software sizing or Software size estimation is an activity in software engineering that is used to determine or estimate the size of a software application or component in order to be able to implement other software project management activities ( ...
*
RAMS In engineering, RAMS (reliability, availability, maintainability and safety)Throwaway society The throw-away society is a generalised description of human social concept strongly influenced by consumerism, whereby the society tends to use items once only, from disposable packaging, and consumer products are not designed for reuse or life ...


References


Further reading

* * *


External links


Calculation, Field testing and history of Maintainability Index (MI) (with references)


* {{Software quality Telecommunications engineering Design for X Maintenance Software quality