UML 모델

cpp_namespace 스테레오타입을 모델에 적용할 수 있습니다. 스테레오타입의 NamespaceName 속성을 사용하여 모델의 모든 요소에 대한 이름 공간을 지정할 수 있습니다.

UML 패키지

UML 패키지는 대상 프로젝트에서 폴더(그에 따라 파일 시스템에서 폴더)가 됩니다. 변환은 패키지 요소를 패키지 폴더에 둡니다.

변환 시 분석 패키지로 표시되는 패키지는 무시합니다. 사용자는 <<Perspective>> 스테레오타입을 적용하거나 키워드 "analysis" 또는 "Analysis"를 적용하여 패키지를 분석 패키지로 표시합니다.

모델 과 마찬가지로, cpp_namespace 스테레오타입을 패키지에 적용하여 패키지의 모든 요소에 대한 이름 공간을 지정할 수 있습니다. 변환은 현재 중첩 이름 공간을 지원하지 않습니다. 안쪽 패키지에 지정된 이름 공간은 바깥쪽 패키지에 지정된 이름 공간을 대신합니다.

두 UML 패키지가 동일한 모델 레벨에서 동일한 이름을 가질 경우, 변환은 파일 시스템에 한 폴더만 작성하고 두 UML 패키지의 컨텐츠를 둘 다 해당 폴더에 넣습니다.

UML 클래스

UML 클래스의 경우, 변환은 헤더 파일과 본문 파일이라는 파일 쌍을 생성합니다. 필요한 경우 변환은 클래스 이름을 변환하여 C++ 규칙을 준수하고 이름이 고유하도록 합니다. 본문 파일은 항상 해당 헤더 파일에 대한 include 지시문을 포함합니다. 기본적으로 생성된 헤더 파일의 파일 이름은 <ClassName>.h이며 생성된 본문 파일의 파일 이름은 <ClassName>.cpp입니다. 

일반화 및 연관 관계는 코드 생성에 영향을 줍니다. 자세한 정보는 "UML 연관 관계""UML 일반화 관계"를 참조하십시오.

다음 스테레오타입을 UML 클래스에 적용할 수 있습니다.

·         cpp_struct: 이 스테레오타입은 클래스 대신 C++ struct를 생성합니다.

·        cpp_union: 이 스테레오타입은 C++ 클래스 대신 C++ 유니온을 생성합니다. C++ 프로파일을 사용하여 중첩 유니온을 익명으로 할 수 있습니다. 기본적으로, 유니온에 대한 표준 오퍼레이션은 생성되지 않습니다.

·        cpp_typedef: 이 스테레오타입은 C++ 클래스 대신 C++  typedef를 생성합니다. 정의 중인 유형의 서명을 지정하려면 스테레오타입의 "ImplementationType" 속성을 사용해야 합니다.

UML 열거

변환은 UML 열거를 C++ "enum"으로 변환합니다. C++ 열거의 이름은 UML 열거에서 나온 것입니다. 필요한 경우 변환은 열거의 이름을 변환하여 C++ 규칙을 준수하고 이름이 고유하도록 합니다. 변환은 UML 속성을 C++ 속성으로 생성하고 모델의 기본값을 적용합니다.

UML 클래스와 달리 변환은 열거에 대한 헤더 파일만 생성합니다.

UML 인터페이스

C++ 변환 시 UML 인터페이스가 C++ 클래스로 변환됩니다. 인터페이스 프로세스는 UML 오퍼레이션이 순수 가상 C++ 메소드로 생성되는 경우를 제외하고 UML 클래스의 프로세스와 비슷합니다. 인터페이스에 대한 표준 오퍼레이션(기본 생성자, 복사 생성자, 소멸자 및 대입 연산자) 프로세스는 클래스에 대한 프로세스와 같습니다.

중첩된 UML 클래스, 열거 및 인터페이스

클래스에는 중첩된 클래스, 열거 및 인터페이스가 있을 수 있습니다. 변환은 비중첩 오브젝트와 유사하게 중첩 오브젝트를 생성합니다. 그러나, 변환은 중첩 오브젝트에 대한 별도의 헤더 및 본문 파일을 작성하지 않고 중첩 오브젝트를 포함하는 클래스의 헤더 및 본문 파일에 추가합니다.

또한 중첩된 오브젝트에는 다음과 같은 차이가 있습니다.

·         중첩 요소의 가시성은 상위에서 추적됩니다.

·         중첩 요소에 대한 include 지시문이 중첩 요소를 포함하는 클래스의 include 지시문에 추가됩니다.

·         중첩 요소의 오퍼레이션 본문은 중첩 요소를 포함하는 클래스의 이름을 접두부로 가집니다.

·         또한 중첩 요소에 대한 정적 속성의 정의는 중첩 요소를 포함하는 클래스의 이름을 포함합니다.

맨 위

이용약관 | 피드백
(C) Copyright IBM Corporation 2004. All Rights Reserved.