UML에서 C++로 변환 구성

이 컨텐츠는 버전 7.5.1 이상에 적용됩니다. 사용자가 예상하는 출력을 생성하기 위해 변환에서 사용되는 정보를 지정하려면, 구성 과정을 안내하는 새 변환 구성 마법사변환 구성 편집기를 사용하십시오.
이 태스크 정보

변환 구성의 파일 이름 확장자는 .tc이며 이 변환 구성에는 사용자가 예상하는 출력을 생성하기 위해 변환이 사용하는 정보가 들어 있습니다. 또한 변환 구성에는 특정 유형의 변환에 대한 특정 정보도 들어 있습니다. 기존의 변환 구성을 편집하려면, 작업공간 자원을 표시하는 보기에서 변환 구성 편집기를 여는 변환 구성 파일을 두 번 클릭하십시오.

변환 구성 파일에 대한 작업을 단순화하려면 변환할 요소를 포함하는 프로젝트에서 구성 파일을 저장하십시오.

  1. 작업 중인 보기에 따라 다음 단계를 완료하십시오.
    • 패턴 탐색기 보기에서 변환을 마우스 오른쪽 단추로 클릭하십시오. 그런 다음 새 구성을 클릭하십시오.
    • 다른 보기에서 파일 > 새로 작성 > 변환 구성을 클릭하십시오. 변환 구성이 메뉴 항목이 아닌 경우 파일 > 새로 작성 > 기타 > 변환 > 변환 구성을 클릭하십시오.
  2. 구성의 세부사항을 지정하십시오. 새 변환 구성 마법사구성 이름 및 변환 지정 페이지에서 다음 단계를 완료하십시오.
    1. 이름 필드에서 구성의 이름을 지정하십시오.
    2. 구성 파일 대상 필드에서 변환 구성 파일의 대상을 지정하십시오. 대상은 현재 작업공간에서 상대 경로입니다. 완전한 프로젝트 이름이나 폴더 이름을 지정할 수 있습니다. 프로젝트에서 폴더를 지정하는 경우 폴더 이름 앞에 슬래시(/) 접두부를 붙여야 합니다.
    3. 변환 목록에서 변환을 선택하십시오.
      주: 설치되어 있지만 사용하도록 설정되지 않은 변환을 표시하려면 모든 변환 표시를 클릭하십시오. 이 목록에 표시되려면 변환이 기능에 바인딩되어야 합니다.
  3. 프로토콜 섹션에서 모델링 프로토콜을 지정하십시오. 이 프로토콜은 DCMP(Design Contract Management Protocol)라고도 합니다. 사용자가 선택하는 값에 따라 변환의 소스 및 대상의 동기화 여부를 판별할 수 있습니다.
    • 소스 모델이 1차 엔지니어링 아티팩트인 경우 개념적을 선택하십시오. 소스 모델의 변경사항이 대상 모델에 전달됩니다.
    • 대상 모델이 1차 엔지니어링 아티팩트인 경우 혼합을 선택하십시오. 변환은 직접 대상 아티팩트에 연결되는 시각적 표시로 소스 아티팩트를 변환합니다. 소스 모델에 대해 작업하는 대신 대상 도메인에서 작업하거나 분석을 위해 아티팩트를 보유하려면 이 옵션을 선택하십시오. 변환 출력은 1차 엔지니어링 아티팩트가 됩니다.
    • 소스 아티팩트가 표시하는 아키텍처가 대상과 독립적으로 진전되는 경우 조정됨을 선택하십시오. 이 옵션을 선택하면 소스 및 대상을 비교하고 변경사항을 조정하는 데 사용할 수 있는 역변환을 사용할 수 있습니다. 다른 팀이 아키텍처를 구현, 개발 또는 유지보수하는 경우에도 이 옵션을 선택할 수 있습니다.
      주: 이 옵션을 선택할 때 기본 페이지의 "역변환" 섹션에서 추가 특성을 사용할 수 있게 됩니다. 일부 변환의 경우 변환 구성 편집기에서 추가 페이지를 사용할 수 있게 됩니다. 역변환 구성에 대한 정보는 아래에서 관련 링크를 참조하십시오.
  4. 다음을 클릭하십시오.
  5. 변환의 소스 및 대상 요소를 지정하십시오. 올바른 소스 및 대상 요소의 목록은 해당 변환에 대한 관련 개념 주제를 참조하십시오. 소스 및 대상 페이지에서 다음 단계를 완료하십시오.
    1. 선택된 소스 분할창에서 변환할 변환의 소스 요소를 선택하십시오.
    2. 선택된 대상 분할창에서 변환 출력의 대상을 선택하십시오. 출력의 새 대상을 작성하려면 대상 컨테이너 작성을 클릭하십시오.
  6. 다음을 클릭하십시오.
  7. 옵션: 변환 출력에 대한 겹쳐쓰기 옵션을 지정하십시오. 또한 변환이 사용되지 않는 파일을 삭제하는지 여부도 지정할 수 있습니다. 이러한 파일은 소스 UML 모델에서 클래스 이름을 바꾼 결과로 발생할 수 있습니다. UML에서 C++로 변환 특성 페이지의 기존 파일 겹쳐쓰기 아래에서 다음 단계 중 하나를 완료하십시오.
    • 변환이 파일을 겹쳐쓰기 전에 프롬프트를 수신하려면 묻기를 클릭하십시오.
    • 자동으로 파일을 겹쳐쓰도록 하려면 항상을 클릭하십시오.
    • 파일을 전혀 겹쳐쓰지 않도록 하려면 수행 안함을 클릭하십시오.
    • 사용되지 않는 변환 출력을 삭제하려면 사용되지 않는 파일 삭제 선택란을 선택하십시오.
      주: 이 선택란을 선택하는 경우 변환 구성 편집기의 기본 페이지에서 추적 관계 작성 옵션도 선택해야 합니다.
    UML에서 C++로 변환을 재실행할 때 변환은 C++ 언어 컨텐츠를 포함하지 않는 파일을 삭제합니다.
  8. 옵션: 변환이 표준 오퍼레이션을 생성하는 방법을 지정하십시오. UML에서 C++로 변환 특성 페이지의 오퍼레이션 생성 아래에서 다음 단계 중 하나를 완료하십시오.
    • 생성자를 생성하려면 생성자 선택란을 선택하십시오.
    • 복사 생성자를 생성하려면 복사 생성자 선택란을 선택하십시오.
    • 대입 연산자를 생성하려면 지정 선택란을 선택하십시오.
    • 소멸자를 생성하려면 소멸자 선택란을 선택하십시오.
    • 대상 클래스에서 가상 소멸자를 생성하려면 가상 소멸자 선택란을 선택하십시오.
    • 생성된 클래스, 구조체 또는 공용체의 속성에 대한 getter 및 setter 메소드를 생성하려면 Getter 및 Setter 선택란을 선택하십시오.
    • 인라인 getter 및 setter 메소드를 생성하려면 인라인 선택란을 선택하십시오.
    • 참조를 사용하여 매개변수를 전달하고 값을 리턴하는 getter 및 setter 메소드를 생성하려면 참조별 선택란을 선택하십시오.
  9. 옵션: 변환 출력 생성에 대한 환경 설정을 지정하십시오. UML에서 C++로 변환 특성 페이지의 코드 생성 특성 아래에서 다음 단계 중 하나를 완료하십시오.
    • 변환이 대상 프로젝트의 다른 폴더에서 헤더 파일과 소스 파일을 생성하도록 지정하려면 헤더 및 소스 파일에 대한 독립 폴더 작성 선택란을 선택하고 헤더 파일의 폴더소스 파일의 폴더 필드에서 폴더 이름을 지정하십시오. 대상 프로젝트에 존재하지 않는 폴더를 지정하면 변환은 다음에 사용자가 변환을 실행할 때 이 폴더를 작성합니다.
      주: 헤더 및 소스 파일에 대한 독립 폴더 작성 선택란을 선택하는 경우, 변환은 생성되는 include 지시문에서 경로 정보를 억제합니다.
    • 소문자 파일 이름을 생성하려면 헤더 및 소스 파일에 대한 소문자 파일 이름 생성 선택란을 선택하십시오.

    헤더 및 소스 파일에 대한 독립 폴더 작성 선택란을 선택하는 경우, 변환은 사용자가 지정하는 소스 파일 폴더에서 소스 UML 모델과 동일한 계층 구조로 파일을 생성합니다. 변환은 헤더 파일에 대한 소스 모델 계층 구조를 보존하지 않습니다. 예를 들어, UML 모델에 Class1 클래스가 있는 Package1 패키지가 있는 것으로 가정합니다. 생성된 헤더 및 소스 파일의 폴더 이름으로 HeaderFolder 및 SourceFolder를 지정하는 경우 변환은 대상 프로젝트의 HeaderFolder 폴더 구조에서 Class1.h 파일을 생성하고 대상 프로젝트의 SourceFolder/Package1 폴더 구조에 Class1.cpp 파일을 생성합니다.

  10. 옵션: 변환이 include 지시문을 생성하는 방법을 지정하십시오. 기본적으로, 생성된 include 지시문은 가져온 파일의 상대 경로를 지정합니다.

    UML에서 C++로 변환 특성 페이지의 내부 포함 아래에서, 아래에 있는 테이블에서 옵션을 선택하십시오. 가져온 클래스가 변환 소스의 일부이고 «cpp_internal_inclusion» 스테레오타입이 적용되지 않은 경우 변환은 사용자가 지정하는 값을 사용하여 include 지시문을 생성합니다.

    외부 포함 아래에서 다음 표의 옵션을 선택하십시오. 가져온 클래스가 변환 소스의 일부가 아니고 «cpp_external_inclusion» 스테레오타입이 적용되지 않은 경우 변환은 사용자가 지정하는 값을 사용하여 include 지시문을 생성합니다.

    옵션 설명
    없음 이 옵션은 include 지시문의 생성을 억제합니다.
    포함 지시문에서 경로 이름 억제 이 옵션은 생성된 코드에서 헤더 파일의 전체 경로 이름을 억제합니다. Make 파일의 include 옵션에서 지정하는 경로 이름은 include 지시문에 내재됩니다.

    예를 들어, 헤더 파일의 전체 경로 이름이 Package1/header1.h이고 사용자가 이 옵션을 클릭하는 경우 생성된 include 지시문은 #include "header1.h"입니다.

    포함하는 파일에 대한 상대 경로 이름을 포함하는 포함 지시문 생성 이 옵션은 가져온 파일의 상대 경로를 지정하는 include 지시문을 생성합니다.
    다음 파일 이름을 포함하는 포함 지시문 생성 이 옵션에 대해 가져올 파일 이름의 상대 또는 절대 경로를 지정하십시오.

    예를 들어, 이 필드에서 "..\includefile.h"를 지정하는 경우 생성되는 include 지시문은 #include "..\includefile.h"입니다.

    이 폴더에 상대적인 포함 지시문 생성 이 옵션은 지정된 폴더에 상대적인 가져온 클래스 경로를 지정하는 include 지시문을 생성합니다. 지정하는 폴더는 현재 작업공간에 존재해야 합니다.
  11. 옵션: C++ 코드를 생성하는 기본 JET 변환을 대체하려면 다음 JET 변환을 사용하여 C++ 코드 생성 필드에서 대체하는 JET 변환의 ID를 지정하십시오.

    예를 들어, 기본 JET 변환을 대체하여 코드에서 주석을 사용자 정의할 수 있습니다. JET 변환의 ID는 일반적으로 반대로된 도메인 이름 지정 스키마를 따릅니다(예: my.company.my.jet.project). 이 기능에 대한 자세한 정보는 해당 변환에 대한 관련 개념 주제를 참조하십시오.

  12. 다음을 클릭하십시오.
  13. 옵션: 사용자가 구성하는 변환이 맵핑을 지원하는 경우 맵핑 모델을 작성하여 변환이 생성하는 아티팩트에 대한 대체 이름을 지정할 수 있습니다. 기존 또는 새 맵핑 모델을 사용하려면 다음 단계를 완료하십시오.
    1. 맵핑 페이지에서 이 구성에 맵핑 기능 사용 선택란을 선택하십시오.
    2. 모델 파일 이름 맵핑 필드에서 기존 또는 새 맵핑 모델의 이름을 지정하십시오.
  14. 완료를 클릭하십시오. 변환 구성 편집기가 열리고 구성의 컨텐츠가 표시됩니다.
  15. 옵션: 디버깅 정보를 생성하려면 기본 페이지에서 디버그 로그 생성 선택란을 선택하십시오. 다음에 변환을 실행할 때 변환 환경 설정에서 지정하는 폴더에 XML 파일로 로그 파일이 생성됩니다. 로그 파일에 대한 위치를 지정하지 않으면 변환은 사용자 작업공간의 .metadata 폴더에 로그 파일을 생성합니다.
    팁: 변환에 대한 환경 설정을 하려면 > 환경 설정을 클릭한 다음 모델링을 펼치고 변환을 클릭하십시오.

    로그 파일은 소스 요소, 대상 요소, 그리고 변환이 소스 요소를 변환하기 위해 적용하는 규칙에 대한 정보를 제공합니다. 변환이 많은 요소를 변환하는 경우 변환이 로그 파일을 생성하는 동안 성능이 저하될 수 있으므로 디버깅 목적으로만 로그 파일을 생성해야 합니다.

  16. 옵션: 변환이 실행되는 동안 새 대화 상자가 열리지 않도록 하려면 기본 페이지에서 순방향 변환 자동 실행 선택란을 선택하십시오.

    변환을 자동 모드에서 실행하면 변환에서 생성되는 모든 대화 상자가 억제됩니다. 변환은 기본 규칙 및 동작을 적용하며 예상하지 못했거나 올바르지 않은 변환 출력이 생성될 수 있습니다. 변환 출력의 유효성을 검증하는 대신 변환 실행의 유효성을 검증해야 할 경우에만 변환을 자동 모드에서 실행해야 합니다. 예를 들어, 자동화된 타스크나 자동화된 테스트 스위트의 일부로 자동 모드에서 변환을 실행할 수 있습니다.

    변환이 자동 모드에서 실행되도록 설정하면 사용자가 지정하는 파일 겹쳐쓰기 옵션이 대체되고 필요에 따라 파일 위에 겹쳐씁니다.

    C++에서 UML로 변환이 사용 가능한 경우 역방향 변환 자동 실행 선택란을 선택할 수 있습니다. C++에서 UML로 변환 또는 역변환이 자동 모드에서 실행되도록 지정하면 병합 편집기가 억제됩니다. 병합 중에 충돌이 발생하는 경우 변환이 중지되므로 사용자는 자동 옵션을 지운 상태에서 변환을 재실행해야 합니다.

  17. 변환 소스 및 대상 사이의 추적 가능 관계를 작성하려면 기본 페이지에서 추적 관계 작성 선택란을 선택하십시오. 이 선택란은 개념적 모델 시드 구체적 모델 및 개념적 모델 드라이브 개발 or 조정된 모델링 프로토콜을 선택하는 경우에만 사용할 수 있습니다.

    추적 관계와 시각적 개발 도구를 사용하여 소스 모델 요소 및 변환 출력 사이의 관계를 이해할 수 있습니다. 이 기능은 여러 개의 모델과 변환 구성을 포함할 수 있는 대형 프로젝트에서 유용합니다. 변환에서는 소스 모델이 변경되지 않습니다.

  18. 옵션: 변환이 실행될 때 발생한 오류를 표시하려면 기본 페이지에서 변환 완료 시 보고서 대화 상자 열기 선택란을 선택하십시오. 이 선택란을 선택하면 생성된 오류만 표시됩니다. > 보기 표시 > 오류 로그를 클릭하면 사용자가 볼 수 있는 오류 로그에도 동일한 정보가 기록됩니다.

    변환이 실행될 때 발생한 경고를 표시하려면 보고서 대화 상자에 경고 표시 선택란을 선택하십시오.

  19. 옵션: 변환 구성에 대한 문서를 지정하십시오. 이 필드는 여러 사용자가 공유하는 구성에 대한 정보를 통신하는 데 유용합니다. 기본 페이지의 문서 필드에서 변환 구성에 대한 추가 정보를 지정하십시오.
  20. 파일 > 저장을 클릭하십시오.
결과
이 옵션은 다음에 변환을 실행할 때 적용됩니다.

피드백