SW 유지보수 & 3R (역공학/재공학/재구조화)

별점: ★★★★★ | ★133회 기출


답안.

Ⅰ. 개요

기존 코드/시스템 → 설계 문서·명세 추출 산출물: 자료흐름도, 클래스 다이어그램, ERD 역공학 → 재설계 → 순공학 (전체 프로세스)

Ⅱ. 핵심 구성요소

[역공학 (Reverse Engineering)]
기존 코드/시스템 → 설계 문서·명세 추출
목적: 문서 없는 레거시 시스템 이해
산출물: 자료흐름도, 클래스 다이어그램, ERD

[재구조화 (Restructuring)]
기능은 유지, 코드 구조만 개선
= 리팩토링과 동일 개념
예) 스파게티 코드 → 구조화 코드

[재공학 (Re-engineering)]
역공학 → 재설계 → 순공학 (전체 프로세스)
목적: 레거시 시스템을 현대화 (기능 개선 포함)
= 역공학 + 재구조화 + 순공학

[관계]
원본 시스템
   ↓ 역공학 → 설계 문서
      ↓ 재설계 (기능 개선)
      ↓ 순공학 → 새로운 시스템
= 재공학
Retire: 폐기 (사용자 없음)
Retain: 유지 (현재 최적)
Rehost: 리호스팅 (클라우드 이전, Lift&Shift)
Replatform: 리플랫폼 (OS/DB 교체)
Refactor: 리팩터 (코드 재구성)
Rearchitect: 재아키텍처 (MSA 전환)


해당 키워드의 기술적 구성요소와 동작 원리를 서술한다.

### Ⅲ. 특징 및 비교

핵심 기술의 장단점과 유사 기술과의 차이를 분석한다.

### Ⅳ. 적용 사례

실무 환경에서의 적용 사례와 기대효과를 제시한다.

### Ⅴ. 전망

최신 기술 동향과 향후 발전 방향을 서술한다.