Loading AI tools
위키백과, 무료 백과사전
소프트웨어 유지보수(software maintenance)는 소프트웨어 공학에서 배급된 이후 결함을 수정하고 성능이나 기타 특성을 개선하는 소프트웨어 제품의 수정을 말한다.[1]
일반적으로 유지보수라고 하면 결함을 수정하는 것을 동반하는 것을 말한다. 그러나 한 연구에 따르면 80% 이상의 유지보수 공수는 수정이 아닌 목적으로 사용된다.[2] 최근의 연구에 따르면 버그 수정 비율은 21%에 근접한다.[3]
소프트웨어 유지보수와 시스템 진화는 1969년 매니 리먼(Manny Lehman)에 의해 처음 기술되었다. 20년이 지나, 그의 연구를 통해 리먼의 법칙(리먼 1997) 공식이 만들어졌다. 그의 연구에서 발견된 주요 사항으로는 유지보수가 참으로 진화적인 개발 방식이며 유지보수의 결정은 시간이 지남에 따라 시스템(및 소프트웨어)에 발생하는 것을 이해함으로써 도움을 받는다는 것이다. 코드 리팩토링과 같은 일부 조치를 통해 복잡성을 낮추지 않을 경우 진화를 거듭할수록 더 복잡하게 변모하게 된다.