IBM® Rational® Rhapsody® 프로젝트를 작성하기 위한
공통 방법은 레거시 코드를 리버스 엔지니어링하는 것입니다.
리버스 엔지니어링을 사용하면
레거시 C, C++ 및 Java 코드를 Rational Rhapsody 모델로 가져올 수 있습니다.
Ada 코드를 리버스 엔지니어링할 수도 있습니다. IBM Rational Rhapsody Developer for Ada에서
도구 > Ada 소스 파일 리버스 엔지니어링을 선택하십시오.
새 프로젝트를 작성하기 위해 코드 리버스 엔지니어링
리버스 엔지니어링 프로세스에서 레거시 코드로부터
IBM Rational Rhapsody 모델을 생성하는 경우,
모델 또는 코드에 대한 편집사항은 이후로 라운드트립 프로세스에서
동기화됩니다. 코드 중심 모드는 리버스 엔지니어링 프로세스의
기본값입니다.
레거시 코드 리버스 엔지니어링 IBM Rational Rhapsody 프로젝트에서 사용하기 위해 기존 코드를 리버스 엔지니어링할 수 있습니다.
리버스 엔지니어링에 대한 기본 시작점
활성 구성에 대한 특성에
이미 리버스 엔지니어링 구성에 대한 정보(파일 및 다른 옵션의 목록)가 있는 경우
기본적으로 이 정보를 사용하여 리버스 엔지니어링 창이
초기화됩니다.
파일 제외
리버스 엔지니어링에서 특정 파일 또는 폴더를 제외하기 위해
ReverseEngineering::Main::ExcludeFilesMatching 특성을 사용할 수 있습니다.
다음 그림에 표시된 것처럼, 이 특성에 하나 이상의 쉼표 구분 와일드카드
표현식을 지정할 수 있습니다. 이 와일드카드 표현식을 사용하여
일치되는 파일 또는 폴더는 리버스 엔지니어링되지 않습니다.
make 파일 분석 리버스 엔지니어링 창에서
리버스 엔지니어링할 파일 목록을 제공해야 합니다. 또한
고급 옵션 창에서 리버스 엔지니어링에 대한 다른 설정(예:
포함 경로)를 지정할 수 있습니다. 이 정보를 쉽게 입력하기 위해,
프로젝트에 대한 make 파일이 있는 경우 make 파일의 위치를
IBM Rational Rhapsody에
제공할 수 있습니다. 그러면 이 make 파일을 분석하여 소스 파일 목록과 리버스 엔지니어링에 관련되는 다른 설정을
검색합니다.
외부 요소의 시각화 IBM Rational Rhapsody를 사용하여
레거시 코드를 시각화하거나 외부 코드를 외부 요소로
편집할 수 있습니다.
사전 프로세스 기호 추가
사전 프로세스 기호를 추가하려면 리버스 엔지니어링
고급 옵션 창의 사전 프로세스 탭에 있는
추가를 클릭하여 사전 프로세스 기호
추가 창을 여십시오.
.jar 파일 가져오기
Java 코드를 가져올 때 .jar 파일의 이름을 지정할 수 있습니다. 그러면
Rational Rhapsody는
.jar 파일의 정보를 사용하여 사용자 코드에 사용되는 외부 클래스 및 인터페이스를 모델링합니다.
#include 파일 분석
리버스 엔지니어링 프로세스에서 분석할 포함 파일을 지정하려면
입력 탭을 사용하십시오.
모델링 옵션
작성되는 모델에서 리버스 엔지니어링 코드를 설명하는 방법을 판별하기 위해 사용할 수 있는
여러 설정이 있습니다.
유형 및 패키지에 클래스 맵핑
다음 태스크를 수행하려면 리버스 엔지니어링
고급 옵션 창에서 맵핑 탭을 사용하십시오.
디렉토리 구조 지정
하나의 패키지로 파일을 가져오거나
기존의 디렉토리 구조를 에뮬레이트하는 동안 파일을 가져오려면 디렉토리는
패키지임 단일 선택 단추를 사용하십시오.
리버스 엔지니어링 옵션 리버스 엔지니어링 고급 옵션 창의
기타 탭을 사용하여 다음을 수행할 수 있습니다.
리버스 엔지니어링 동안 손실된 구조체(construct) IBM Rational Rhapsody에서
내부적으로 디자인 정보를 표시할 수 없는 경우 가져오는 동안 일부 디자인 정보가
손실될 수 있습니다. 구조체(construct)를 저장할 수 있는 경우
제품은 일부 정보(예: 비공용 상속)에 근접할 수 있습니다. 그러나 특정 구조체(construct)에 대해
근접할 수 없거나 Rational Rhapsody가
그 구조체에 근접할 수 없는 경우 구조체는 손실됩니다. 후속 코드 생성에서
컴파일 오류가 발생할 수 있습니다.
패키지 업데이트
다이어그램 정책을 지정하려면 리버스 엔지니어링
고급 옵션 창에서 모델 업데이트 탭을 사용하십시오.
리버스 엔지니어링 메시지 보고
가져오는 중에 리버스 엔지니어링 유틸리티가 보고하는
구조체(construct) 종류를 지정하려면 로그 탭을
사용하십시오. 이 옵션은 리버스 엔지니어링 프로세스의 성능에
영향을 미칩니다. 옵션을 더 많이 선택할 수록 프로세스가 더 느려집니다.
주석 리버스 엔지니어링
리버스 엔지니어링 중에, 요소에 대한 코드 바로 앞에 있는
주석은 해당 요소의 주석으로 간주되고, 주석 텍스트는
해당 요소의 설명으로 IBM Rational Rhapsody에 가져옵니다.
C 및 C++에서 매크로 수집
매크로 수집을 통해
IBM Rational Rhapsody는
리버스 엔지니어링될 코드에서 자동으로 매크로를 이해할 수 있습니다. 이러한 매크로
수집은 제품에서 레거시 C 및 C++ 코드를 다시 사용하는 프로세스를 향상시켜서,
추가 매크로 코드 수집 워크플로우를 사용하면서 MDD(Model-driven
Development)를 쉽게 적용할 수 있도록 합니다.
인터페이스 시각화
특정 상황에서 대규모 외부 코드 본문에 대한 비주얼 모델을
볼 수 있습니다. 이러한 상황은 코드를 분석하기 위한 목적이 있거나 모델링 중인
애플리케이션에서 해당 코드의 오퍼레이션에 유형 또는 호출을 포함하려는
경우에 발생할 수 있습니다. 인터페이스 시각화 기능은
이를 수행하기 위한 오버헤드가 낮은 방법을 제공합니다.
모델 라이브러리 정의
코드 라이브러리를 모델 라이브러리로 정의할 수 있으며, 리버스 엔지니어링 중에
Rational Rhapsody는 코드에 참조된 클래스만 로드합니다.