정답: 4번 소프트웨어 재공학은 소프트웨어의 유지보수와 관련된 문제를 해결하기 위해 필요합니다. 시간이 지나면서 소프트웨어는 복잡해지고, 기술과 요구사항이 변화하면서 유지보수가 어려워지기 때문에 재공학을 통해 이를 해결하고자 합니다.