SW 유지보수 & 3R (역공학/재공학/재구조화)
별점: ★★★★★ | ★133회 기출
답안.
Ⅰ. 개요
기존 코드/시스템 → 설계 문서·명세 추출 산출물: 자료흐름도, 클래스 다이어그램, ERD 역공학 → 재설계 → 순공학 (전체 프로세스)
Ⅱ. 핵심 구성요소
[역공학 (Reverse Engineering)]
기존 코드/시스템 → 설계 문서·명세 추출
목적: 문서 없는 레거시 시스템 이해
산출물: 자료흐름도, 클래스 다이어그램, ERD
[재구조화 (Restructuring)]
기능은 유지, 코드 구조만 개선
= 리팩토링과 동일 개념
예) 스파게티 코드 → 구조화 코드
[재공학 (Re-engineering)]
역공학 → 재설계 → 순공학 (전체 프로세스)
목적: 레거시 시스템을 현대화 (기능 개선 포함)
= 역공학 + 재구조화 + 순공학
[관계]
원본 시스템
↓ 역공학 → 설계 문서
↓ 재설계 (기능 개선)
↓ 순공학 → 새로운 시스템
= 재공학
Retire: 폐기 (사용자 없음)
Retain: 유지 (현재 최적)
Rehost: 리호스팅 (클라우드 이전, Lift&Shift)
Replatform: 리플랫폼 (OS/DB 교체)
Refactor: 리팩터 (코드 재구성)
Rearchitect: 재아키텍처 (MSA 전환)
해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.
### Ⅲ. 특징 및 비교
핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.
### Ⅳ. 적용 사례
실무 환경에서의 적용 사례와 기대효과를 제시한다.
### Ⅴ. 전망
최신 기술 동향과 향후 발전 방향을 서술한다.