리버스 엔지니어링(Reverse-Engineering)


리버스 엔지니어링은 소스 코드, DB 등 현존하는 시스템의 구조를 분석하고 파악하는 과정이다.
특히 문서가 부족하고, 도메인 지식이 단절된 레거시 시스템에서 리버스 엔지니어링은 새로운 구조로의 전환 또는 기능 보존을 위한 이해의 출발점이 된다.

리버스 엔지니어링은 기존 시스템의 내부 동작 방식과 구조를 명시적으로 추출하는 과정이다.

  • 원래 설계나 문서없이 동작하는 시스템의 구조, 의존성, 흐름을 복원하는 것이 목적
  • 시스템을 ‘다시 설계’하기 위한 분석 작업
  • 리팩토링, 마이그레이션, 보안 분석, 유지보수에 필수적

<리버스 엔지니어링이 필요한 시점>

  • 시스템의 주요 개발자들이 퇴사하고 도메인 지식이 전무한 경우
  • 코드의 변경이 시스템 전체에 예측 불가능한 영향을 주는 경우
  • MSA 전환을 위해 기능 단위를 추출해야 하는 경우
  • 문서화 없이 수년간 방치된 레거시 시스템을 유지보수해야 할 때





© 2020.08. by assu10

Powered by assu10