DevGang
[SE-17] 전통적 개발 방법론 - 유지보수 본문
1. 유지보수(Maintenance)의 개요
- 개발된 소프트웨어의 품질을 항상 최상의 상태로 유지하기 위한 것으로, 소프트웨어 개발 단계 중 가장 많은 노력과 비용이 투입되는 단계
- 유지보수는 소프트웨어가 사용자에게 인수되어, 설치된 후 발생하는 모든 공학적 작업
- 소프트웨어 유지보수를 용이하게 하려면 시험 용이성, 이해성, 수정 용이성, 이식성 등이 고려되어야 함
- 유지보수 작업의 목적 - 하자 보수, 환경 적응, 예방 조치
- 소프트웨어에 가해지는 연결을 제어 관리하는 것을 형상 관리라고 함
- 유지보수 유형
- 수정(Corrective) 보수 (수리, 교정, 정정, 하자 보수) - 시스템을 운영하면서 검사 단계에서 발견하지 못한 오류를 찾아 수정하는 행동
- 적응(Adative) 보수 (환경 적응, 조정 보수) - 소프트웨어 산물의 수명 기간 중에 발생하는 환경의 변화를 기존의 소프트웨어 산물에 반영하기 위하여 수행하는 활동
- 완전화(Perfective) 보수 (기능 개선, 기능 보수) - 소프트웨어의 본래 기능에 새로운 기능을 추가하거나 성능을 개선하기 위해 소프트웨어를 확장시키는 활동, 유지보수 활동 중 가장 큰 업무 및 비용을 차지하는 활동
- 예방(Preventive) 보수 - 미래에 유지보수를 용이하게 하거나 기능을 향상하기 위해 소프트웨어를 변경하는 활동, 예방 유지보수를 소프트웨어 재공학이라고도 함
2. 유지보수의 과정
- 유지보수 요구
- 현 시스템에 대한 이해
- 수정 및 시험
3. 유지보수의 비용
- 유지보수 비용은 분석, 평가, 설계 변경, 코딩 등의 생산적인 활동과 프로그램과 자료 구조의 이해, 인터페이스의 특성 파악, 성능 측정 등의 실험 활동에 따라 달라질 수 있음
- 소프트웨어 유지보수 단계에서 사용되는 비용은 소프트웨어 개발에 필요한 비용 중 약 70%를 차지
- 유지보수 비용 산정 공식
4. 유지보수의 문제점
- 유지보수 활동을 토해 예기치 못한 부작용이 발생될 수 있음
- 코딩 부작용 - 코딩 내용의 변경으로 인해 발생하는 부작용
- 자료 부작용 - 자료나 자료 구조의 변경으로 인해 발생하는 부작용
- 문서화 부작용 - 자료 코드에 대한 변경이 설계 문서나 사용자가 사용하는 매뉴얼에 적용되지 않을 때에 발생하는 부작용
* 외계인 코드 (Alien Code)
- 외계인 코드는 아주 오래전에 개발되어 유지보수 작업이 어려운 프로그램을 의미
- 일반적으로 15년 전 또는 그전에 개발된 프로그램을 의미, 문서화를 철저하게 해 두면 방지할 수 있음
5. 소프트웨어 시스템 명세서의 유지보수
- 명세서의 유지 보수란 명세서를 항상 최신의 상태로 만드는 것을 말함
- 소프트웨어는 계속 수정 보완되기 때문에 명세서도 따라서 보완되지 않으면 일관성 유지 어려움
- 최신의 명세서는 필요한 경우 즉시 사용자에게 배포해야 함
'정보처리 > SE' 카테고리의 다른 글
[SE-19] 객체지향 개발 단계와 분석 (0) | 2021.02.08 |
---|---|
[SE-18] 객체지향 소프트웨어 공학 (0) | 2021.02.08 |
[SE-16] 전통적 개발 방법론 - 검사 (0) | 2021.02.08 |
[SE-15] 전통적 개발 방법론 - 구현 (0) | 2021.02.08 |
[SE-14] 전통적 개발 방법론 - 설계 방법 (0) | 2021.02.08 |
Comments