도구 사용 도움말: Rational Rose를 사용하여 코드 리버스 엔지니어링
이 도구 사용 도움말은 다양한 유형의 요소를 Rose 모델로 리버스 엔지니어링할 수 있는 Rational Rose의 기능에 대해 설명합니다.
도구: Rational Rose
관계
기본 설명

개요

이 도구 사용 도움말은 언어 소스 및 2진 코드, 유형 라이브러리, 웹 기반 요소, XML DTD 및 데이터베이스 스키마와 같이 다양한 요소를 비롯하여, 다양한 유형의 요소를 Rose 모델로 리버스 엔지니어링할 수 있는 Rational Rose의 기능에 대해 설명합니다.

리버스 엔지니어링은 기존 자원을 조사하고 해당 디자인에 대한 정보를 복구한 후 그 정보를 사용하여 프로젝트의 논리 구조를 표시하는 모델을 생성 또는 갱신하는 프로세스입니다. 이 프로세스를 통해 둘 이상의 모델 또는 시스템에 공통적인 요소를 재사용할 수 있습니다. 또한 Rational Rose에서의 분석 및 디자인을 통해 시스템을 반복적으로 개발(라운드트립)하여, 모델에서 소스 코드를 생성하고 소스를 개발한 후 소스를 다시 Rose 모델로 리버스 엔지니어링할 수도 있습니다.

다음의 Rational Rose 추가 기능은 리버스 엔지니어링 기능을 제공합니다.

Visual C++

Rational Rose Visual C++를 사용하여 Visual C++ 소스 코드를 리버스 엔지니어링할 수 있습니다. 해당되는 기능은 다음과 같습니다. 

  • 관계, typedef, enum, 메시지/오브젝트/COM 맵, 생성자 및 소멸자와 같은 공통적인 Visual C++ 언어 구조의 전체 리버스 엔지니어링 
  • Visual C++ 요소에 맞는 코드의 리버스 엔지니어링을 위한 대화 상자 기반 지원
  • 코드 또는 모델 변경 시 자동으로 코드 또는 모델을 갱신하기 위한 자동 동기화 모드
  • IDL 파일을 포함하여 Microsoft Visual Studio와의 통합
  • Visual C++ 템플리트 클래스 및 사용자 지정 코드 패턴에 대한 지원

 Visual Basic

Microsoft Visual Basic 6.0 환경과 단단하게 통합되는 Rational Rose Visual Basic 언어 지원 추가 기능을 사용하여 Visual Basic 소스 코드의 변경사항을 통해 Rose 모델을 갱신하고 이어서 이 모델을 전개할 수 있습니다. 확장 가능하고 사용자 정의 가능한 대화 상자 기반 도구는 소스 코드 변경 시 모델을 갱신하는 프로세스를 전체적으로 매끄럽게 안내합니다.

기능은 다음과 같습니다.

  • 해당되는 소스 코드 프로젝트의 변경사항을 통해 모델 요소 갱신
  • 소스 코드 삭제 시 모델 요소를 갱신하기 위한 동기화 모드
  • 모델에서 유형 라이브러리 가져오기 
  • Rose Visual Studio RTE 확장성을 사용하여 라운드 트립 엔지니어링을 자동화하고 확장하기 위한 기능

유형 라이브러리 임포터

Rational Rose의 유형 라이브러리 임포터를 사용하여 COM 컴포넌트(.dll, .exe, .ocx, .olb 및 .tlb 파일)의 유형 라이브러리를 Rose 모델로 가져올 수 있습니다. 유형 라이브러리는 컴포넌트로, 그리고 모델에서 논리 패키지로 표시됩니다. 논리 패키지에는 가져온 COM 컴포넌트의 유형 정보에 의해 정의된 유형 라이브러리 항목(예: 공동 클래스, 인터페이스 등)이 포함됩니다. 각 항목은 클래스로 표시됩니다.

유형 라이브러리를 모델로 가져와서, 모델의 클래스가 구현 언어에 관계없이 다른 COM 컴포넌트의 클래스 및 인터페이스를 사용, 구현하거나 이 클래스 및 인터페이스에 의존하는 방법을 표시할 수 있습니다. 유형 라이브러리 임포터의 기능은 다음과 같습니다.

  • 유형 라이브러리 임포터의 제어에 대한 대화 상자 기반 지원
  • 클래스 플레이스홀더를 가져오기 위한 빠른 가져오기 모드와 모든 오퍼레이션 및 특성과 함께 클래스를 가져오기 위한 전체 가져오기 모드
  • Visual Studio의 OLE/COM 표시기나 오브젝트 브라우저의 유형 라이브러리 표시
  • Rose Visual Studio RTE 확장성을 통해 스크립트나 프로그램에서 유형 라이브러리 임포터를 실행하여 유형 라이브러리 가져오기를 확장하고 사용자 정의할 수 있는 기능

도움말 서적 아이콘 유형 라이브러리를 사용하는 방법은 하나의 프로그래밍 언어에서 다른 프로그래밍 언어에 이르기까지 다양합니다. 자세한 정보는 사용 중인 언어 추가 기능에 관한 문서와 Rational Rose 온라인 도움말을 참조하십시오.

 ANSI C++

Rational Rose ANSI C++ 추가 기능으로 소스 코드를 Rose 모델로 리버스 엔지니어링할 수 있습니다. ANSI C++은 새 모델 요소가 작성되는 빈 모델로의 리버스 엔지니어링과 코드에 해당되도록 모델 요소가 변경되는 기존 모델로의 리버스 엔지니어링 둘 다를 지원합니다. 다음을 제공합니다. 

  • 분석에서 디자인에 이르기까지의 모델 전개 지원
  • 단일 벤더의 C++ 컴파일러로 제한하지 않는 C++ 언어 지원
  • 여러 반복 사이에 모델 및 생성된 C++ 코드를 동기화하는 라운드 트립 엔지니어링
  • 코드 변경사항은 리버스 엔지니어링에서 다시 모델로 전달됨
  • 클래스, 템플리트, 이름 공간, 상속 및 클래스 구성원 기능을 비롯한 모든 C++ 구조의 디자인, 모델링 및 시각화
  • 대규모 프레임워크 지원

Rose J(Java)

Rational Rose J를 사용하여 기존의 Java 요소를 Rose 모델로 리버스 엔지니어링할 수 있습니다. 요소는 다음과 같습니다.

  • 소스 파일(.java 파일)
  • 바이트코드 파일(.class 파일)
  • JAR(Java Archive) 파일(.zip, .cab, .jar 및 .war 파일)
  • Java Enterprise JavaBeans
  • Java Servlet

Rational Rose J는 IBM VisualAge for Java와의 통합도 지원합니다.

CORBA 

Rational Rose CORBA를 사용하여 CORBA 준수 IDL 코드를 Rose 모델로 리버스 엔지니어링할 수 있습니다. 각각의 리버스 엔지니어링된 .idl 파일은 컴포넌트가 되어 모델의 컴포넌트 보기에 위치됩니다.

이전에 포워드 엔지니어링된 IDL 코드(즉, CORBA 모델 요소로부터 생성된 코드)를 리버스 엔지니어링할 경우, 원래 모델 요소는 변경되지 않고 남습니다. 단, IDL 코드에 입력한 변경사항이나 새 정보는 다시 모델에 전달됩니다. 이 규칙의 예외는 1회 포워드 엔지니어링에만 사용되는 Rational Rose 구조의 특수 경우입니다.

 XML DTD

Rational Rose XML DTD(eXtensible Markup Language Document Type Definition)는 XML DTD(.dtd 파일)를 리버스 엔지니어링하여 DTD로 구조, 요소 및 관계를 표시하는 Rose 클래스 다이어그램을 작성합니다. XML DTD 요소를 추가 및 제거하고 리버스 엔지니어링 프로세스에서 작성된 클래스 다이어그램에서 요소 사이의 관계를 변경할 수 있습니다. Rose XML DTD 구문 검사기를 사용하여 XML의 유효성을 검증한 후에는 Rose 클래스 다이어그램에서 새 DTD를 생성할 수 있습니다.

Rational Rose XML DTD는 XML DTD를 모델링하고 생성하는 데 사용할 수 있는 스테레오타입 지정 클래스를 제공합니다.

Web Modeler

Rational Rose Web Modeler는 클라이언트 페이지, 서버 페이지 및 HTML 양식을 표시하는 스테레오타입 클래스를 사용하여 웹 응용프로그램 모델을 작성하는 웹 응용프로그램에서 ASP(Active Server Page), JSP(Java Server Page) 및 HTML 파일을 구문 분석합니다. 웹 응용프로그램 모델을 수정하고 Web Modeler에서 .asp, .jsp, .html 및 .htm 파일을 생성할 수 있습니다.

Data Modeler

Rational Rose Data Modeler 기능을 사용하면 데이터베이스 디자이너와 소프트웨어 개발자가 동일한 도구를 사용하여 요구사항을 커뮤니케이션할 수 있습니다. 데이터베이스 디자이너 또는 개발자로서, Rose Data Modeler를 통해 기존 데이터베이스 스키마 또는 DDL 스크립트를 리버스 엔지니어링하여 데이터베이스를 모델링하고 디자인할 수 있습니다.

Rational Rose Data Modeler 리버스 엔지니어링 마법사를 사용하여 ANSI SQL 92 표준 데이터베이스나 다음 DBMS에 대해 DDL 스크립트나 데이터베이스 스키마를 엔지니어링할 수 있습니다.

  • DB2 DBMS 버전 MVS 및 UDB
  • Oracle DBMS 
  • SQL Server DBMS 
  • Sybase Adaptive Server 

리버스 엔지니어링 마법사는 데이터베이스 스키마 또는 DDL 파일을 읽어서 인용된 모든 ID 엔티티의 이름을 포함하는 데이터 모델 다이어그램을 작성합니다. DBMS에 따라, Rose Data Modeler 리버스 엔지니어링 마법사는 데이터 모델 다이어그램에서 테이블, 테이블 사이의 관계, 스토어드 프로시저, 색인 및 트리거를 모델링합니다.

데이터 모델 다이어그램에서 테이블을 추가하여 관계, 색인 및 도메인을 정의하고 세 번째 정규형을 요소에 적용한 후 데이터 모델을 오브젝트 모델로 변환하거나 데이터 모델을 포워드 엔지니어링하여 DDL 스크립트나 데이터베이스 스키마를 생성할 수 있습니다.