-
소프트웨어 유지보수: 수정 유지보수 (Corrective Maintenance), 적응 유지보수 (Adaptive Maintenance), 완성 유지보수 (Perfective Maintenance), 예방 유지보수 (Preventive Maintenance)전산학/소프트웨어공학 2024. 8. 24. 00:56728x90반응형
소프트웨어 유지보수는 소프트웨어 제품이 시장에 출시된 후에 수행되는 활동을 말하며, 이는 소프트웨어의 수정, 개선, 버그 수정 및 적응 등을 포함합니다. 유지보수는 크게 네 가지 유형으로 구분됩니다. 각각의 유형은 소프트웨어가 계속해서 효과적으로 기능할 수 있도록 지원합니다. 간단하게 각 유형을 설명하고 외우기 쉽게 비유를 들어보겠습니다.
1. 수정 유지보수 (Corrective Maintenance)
- 설명: 이미 발견된 버그나 문제를 수정하는 유지보수입니다. 소프트웨어 사용 중 발견된 오류를 고치거나, 소프트웨어가 예상대로 작동하지 않을 때 수행됩니다.
- 비유: '차가 고장 나서 정비소에 가는 것'과 비슷합니다. 문제가 발생했을 때 해결하는 유지보수입니다.
2. 적응 유지보수 (Adaptive Maintenance)
- 설명: 소프트웨어를 변경된 환경에 맞게 적응시키는 유지보수입니다. 운영 체제, 하드웨어 또는 소프트웨어 의존성이 업데이트 되었을 때 필요합니다.
- 비유: '새로운 기후에 맞추어 옷을 바꾸는 것'과 유사합니다. 환경의 변화에 맞춰 소프트웨어를 수정합니다.
3. 완성 유지보수 (Perfective Maintenance)
- 설명: 사용자의 새로운 요구사항이나 소프트웨어의 성능을 개선하기 위해 수행됩니다. 사용성 개선, 성능 최적화, 새로운 기능 추가 등을 포함합니다.
- 비유: '집의 인테리어를 새로 꾸미는 것'처럼, 사용자의 편의성을 높이거나 더 나은 성능을 제공하기 위해 소프트웨어를 개선합니다.
4. 예방 유지보수 (Preventive Maintenance)
- 설명: 미래의 문제를 예방하기 위해 코드를 정리하고, 문서를 개선하며, 구조를 개선하는 유지보수입니다. 이 유형은 장기적인 소프트웨어의 유지 관리 비용을 줄이는 데 목적이 있습니다.
- 비유: '정기적으로 건강검진을 받는 것'과 비슷합니다. 문제가 발생하기 전에 미리 대비하여 소프트웨어의 건강을 유지합니다.
이렇게 각 유지보수 유형을 일상 생활의 예로 비유하여 기억하면, 어떤 상황에서 어떤 유형의 유지보수가 필요한지 이해하고 기억하기가 더 쉬워집니다. 이러한 유지보수 활동은 소프트웨어가 지속적으로 성장하고 변화하는 요구에 부응하게 하는 데 필수적입니다.
728x90반응형'전산학 > 소프트웨어공학' 카테고리의 다른 글
동료검토(Peer Review), 워크스루(Walk Through), 인스펙션(Inspection) 쉽게 구분하기 (0) 2024.08.23 시퀀스 다이어그램, 액티비티 다이어 그램, 상태 다이어그램, 협력 다이어그램 (0) 2024.08.23 팬인(Fan-In), 팬아웃(Fan-Out) 제대로 이해하기 (Feat. "X" a.k.a Twitter Architecture) (0) 2024.08.13 기능적 요구사항 vs 비기능적 요구사항 (0) 2024.08.01 상향식 비용 산정기법 vs 하향식 비용 산정기법 (0) 2024.08.01