1. 역공학이란?
이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 자료를 얻어내는 것
소프트웨어 유지보수 단계에 수행
2. 역공학이 필요한 경우
1) 가동중인 시스템의 유지보수 어려운 경우
2) 변경이 빈번하여 시스템 효율이 저하된 경우
3) 파일 시스템으로 개발된 업무를 관계형 데이터베이스로 재구축하려는 경우
4) 기본 메인 프레임을 다운사이징하는 경우
*메인 프레임: 대규모 데이터 처리와 다중 사용자 지원을 위해 설계된 컴퓨터 시스템 (HW + SW)
*메인 프레임 다운사이징: 기술의 발달로 더 작은 규모의 하드웨어로도 높은 성능을 얻을 수 있기에
3. 역공학의 장점
자료와 정보를 설계 수준에서 분석 가능 -> 유지 보수성 향상
4. 역공학 종류
1) 논리역공학: 원시코드(소스코드)로부터 물리적 설계정보 얻기
2) 자료역공학: 기존 DB 수정 or new DBMS으로 전이