3R 정리 (정보관리기술사)
3R은 기존 소프트웨어를 분석하고 재구축하여 유지보수성을 높이는 활동이다. 역공학으로 시스템을 파악하고, 이어서 재구조화와 재공학으로 개선한다. 세 번째 R은 출처에 따라 재사용으로 보기도 한다. 역공학은 개발이 끝난 시스템에서 구성요소와 관계를 식별하는 과정이다.…
주요 장면
대본
3R 정의
3R은 기존 소프트웨어를 분석하고 재구축하여 유지보수성을 높이는 활동이다.
역공학으로 시스템을 파악하고, 이어서 재구조화와 재공학으로 개선한다.
세 번째 R은 출처에 따라 재사용으로 보기도 한다.
역공학
역공학은 개발이 끝난 시스템에서 구성요소와 관계를 식별하는 과정이다.
소스코드, 실행 파일, 데이터베이스에서 설계 사양과 구조를 추출한다.
역공학은 대상 시스템을 수정하지 않는다는 점이 핵심이다.
IEEE 정의에 따르면 분석 결과는 더 높은 추상 수준의 표현이다.
재구조화와 재공학
재구조화와 재공학은 모두 대상 시스템을 수정하는 활동이다.
재구조화는 외부 동작을 바꾸지 않고 내부 구조만 개선한다.
재공학은 역공학 결과를 바탕으로 새 기술 기반에 다시 구축한다.
재공학의 산출물은 새 시스템 또는 새 플랫폼 버전이다.
재사용
재사용은 기존 산출물을 새 시스템에 다시 활용하는 활동이다.
요구사항, 설계, 소스 코드 등 생명주기 산출물이 모두 재사용 대상이다.
개발 기간과 비용을 줄이지만 컴포넌트 적합성은 먼저 검증해야 한다.
헷갈리는 구분
시험에서는 세 활동을 헷갈리게 묻는 경우가 많다.
역공학은 분석 단계이고, 재공학은 재구축 단계다.
재구조화는 외부 동작을 바꾸지 않는다는 점이 핵심이다.
직접 풀어 보자.
정리
정답은 재구조화다. 외부 동작은 그대로 두고 내부 구조만 바꾼다.
3R은 역공학, 재구조화, 재공학으로 이루어진다.
역공학은 분석, 재구조화는 내부 개선, 재공학은 재구축이다.
재사용은 출처에 따라 세 번째 R로 보기도 한다. 이것으로 정리를 마친다.