변환 구성에서 지정하는 소스는 C/C++ 개발 도구(CDT)를 사용하여 작성해야 합니다.
| DCMP | C++ 소스 오브젝트 |
|---|---|
| 개념적 모델 시드 구체적 모델 | 하나 이상의 C++ 프로젝트에서 다음
항목 중 하나 이상을 선택할 수 있습니다.
|
| 개념적 모델 드라이브 개발 | |
| 조정된 모델링 | 다음 항목을 선택할 수 있습니다.
C++ 프로젝트가 아닌 항목을 선택하는 경우 UML에서 C++로 변환 또는 역변환은 처리하는 첫 번째 항목의 C++ 프로젝트를 판별합니다. 역변환은 이 C++ 프로젝트에서 해당 출력을 생성합니다. |
변환 구성 편집기를 사용하는 대신 프로젝트 탐색기 보기에서 C++ 요소를 선택하는 경우, 사용자가 선택하는 소스 요소는 변환 구성에 지정된 소스 프로젝트나 요소를 대체합니다. 변환 구성은 영향을 받지 않으며 변환 구성 편집기의 소스 및 대상 페이지나 새 변환 구성 마법사에서 지정하는 소스는 변경되지 않습니다.
C++에서 UML로 변환에 대한 맵핑 모델은 작성할 수 없습니다. 그러나 변환 구성이 조정된 모델링 DCMP를 구현하는 경우, 변환이 생성하는 출력에 대한 대체 파일 이름을 지정할 수 있는 맵핑 모델을 작성할 수 있도록 UML에서 C++로 변환 또는 역변한을 구성할 수 있습니다.
C++에서 UML로 변환은 맵핑 모델을 사용하여, 변환에서 생성되는 UML 요소에 적절한 이름을 판별합니다. 예를 들어, UML 모델에는 PackageA가, PackageA에는 Class1이 있습니다. UML에서 C++로 변환에 대한 맵핑 모델을 작성할 때 Class1에 대체 파일 이름 MappedClass1이 있는 것을 지정할 수 있습니다. UML에서 C++로 변환을 실행할 때 변환은 이름이 PackageA.MappedClass1.cpp 및 PackageA.MappedClass1.h인 C++ 파일을 생성합니다. C++에서 UML로 변환을 실행할 때 변환은 C++ 요소에 대한 원래의 UML 경로가 PackageA.Class1인지 판별하고 PackageA라는 이름의 UML 패키지에서 Class1 UML 클래스를 생성합니다.
맵핑 모델에서 지정하는 아티팩트 파일 이름이 올바른 C++ 파일 이름이 아니면, 변환은 C++ 코드 요소를 작성할 때 파일의 이름을 수정합니다. 예를 들어, 맵핑 모델이 MappedClass1 대신 대체 파일 이름 "Mapped Class1"을 지정하는 경우, 변환은 C++ 파일 Mapped_Class1.cpp를 생성합니다. 변환은 이 수정사항의 레코드를 보존하지 않으므로 C++에서 UML로 변환은 Mapped_Class1 파일을 원래의 UML 요소에 맵핑할 수 없습니다. 이 예제에서, C++에서 UML로 변환은 Mapped_Class1 C++ 소스 오브젝트를 Class1 대신 Mapped_Class1 UML 클래스로 변환합니다.