Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software maintenance
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Categories of software maintenance== The key purpose of software maintenance is ensuring that the product continues to meet usability requirements. At times, this may mean extending the product's capabilities beyond what was initially envisioned.{{sfn|Varga|2018|p=4}} According to the [[International Organization for Standardization|ISO]]/[[International Electrotechnical Commission|IEC]] 14764 specification, software maintenance can be classified into four types:{{sfn|Varga|2018|p=5}} * [[Corrective maintenance]]: modification of software to fix a [[software bug|bug]] or other failure to meet requirements, typically reported by an end user.{{sfn|Varga|2018|p=5}}{{sfn|Tripathy |Naik|2014|pp=26-27}} * [[Preventive maintenance]]: forward-looking modification of software after delivery to ensure it continues to meet requirements or fix problems that have not manifested yet.{{sfn|Tripathy |Naik|2014|p=27}}{{sfn|Varga|2018|p=5}} This type of maintenance is performed especially on systems that are required to be highly safe or available.{{sfn|Tripathy |Naik|2014|p=27}} [[Software rejuvenation]] is one form of preventative maintenance to clean up state and prevent future problems.{{sfn|Tripathy |Naik|2014|p=27}} * Adaptive maintenance: modification of software performed after delivery to ensure its continuing usability in a changed or changing environment.{{sfn|Varga|2018|p=5}}{{sfn|Tripathy |Naik|2014|p=27}} * Perfective maintenance: enhancement of software after delivery to improve qualities such as [[user experience]], processing efficiency, and [[maintainability]].{{sfn|Tripathy |Naik|2014|p=27}}{{sfn|Varga|2018|pp=5-6}} Perfective maintenance is necessary if other types of maintenance are carried out, because modification of an existing code base will otherwise increase complexity and cause the existing structure to deteriorate.{{sfn|Varga|2018|pp=5-6}} Perfective maintenance may include rewriting [[software documentation|documentation]], [[code refactoring]], and performance tuning.{{sfn|Tripathy |Naik|2014|p=27}} According to some estimates, enhancement (the latter two categories) comprises some 80 percent of software maintenance.{{sfn|Varga|2018|p=5 fn 4}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)