토픽 76 / 192·소프트웨어 품질과 프로세스
3R (Reverse Engineering / Re-engineering / Re-use)
3R (Reverse Engineering / Re-engineering / Re-use)
레거시 시스템의 이해/재구성/재활용을 위한 3가지 핵심 기법
특징: 레거시 대상, 상호 보완적 관계, 비용 대비 효과 분석 필요
Reverse Engineering(역공학): 코드→설계 복원(역방향), 정적/동적 분석, 산출물: 다이어그램/ERD/아키텍처
Re-engineering(재공학): 역공학+순공학으로 시스템 재구성/현대화, 적용 조건: 가치O+품질저하+재개발 비용 과다
Re-use(재사용): 검증된 자산(컴포넌트/라이브러리/패턴/프레임워크) 활용, 수준: 코드→컴포넌트→설계→아키텍처
비교
비교: 3R(재활용) vs 리팩토링(구조개선) vs 재개발(신규) vs 유지보수(수정)
연관: 리팩토링, 레거시 현대화, 마이그레이션, 형상관리