UML 오퍼레이션

변환은 UML 오퍼레이션을 해당 클래스의 메소드로 생성하고 다음 UML 특성을 사용합니다. 

특성

C++

Name

메소드의 이름(이름 유효성 검증이 적용됨)

Visibility

메소드의 가시성을 결정합니다.

IsAbstract

메소드를 순수 가상 메소드로 생성합니다.

IsQuery

메소드를 const로 생성합니다. ("const"를 오퍼레이션의 접미부에 추가합니다.)

IsStatic

인스턴스 범위 대신 클래스로 메소드를 생성합니다. (정적 키워드를 오퍼레이션의 접미부에 추가합니다.)

UML 오퍼레이션 리턴 매개변수의 유형은 생성된 C++ 메소드의 유형이 됩니다. 리턴 매개변수가 존재하지 않는 경우, 메소드의 리턴 유형이 무효한 것으로 가정됩니다(표준 오퍼레이션은 제외). 리턴 매개변수가 없거나 하나 이상의 리턴 매개변수가 있는 오퍼레이션에 대해서는 경고가 표시됩니다. 

cpp_operation 스테레오타입을 UML 오퍼레이션에 적용하여 여러 C++ 특정 특성을 지정할 수 있습니다.

·         isInline: 변환은 오퍼레이션을 인라인으로 생성합니다. (오퍼레이션 본문을 헤더에 추가합니다.)

·         isVirtual: 오퍼레이션을 가상 함수로 선언합니다.

·         isFriend: 동반자 오퍼레이션을 생성합니다.

C++에서는 정적 규정자를 가상 또는 동반자 규정자와 결합할 수 없습니다. 코드 생성 목적인 경우 변환은 정적 규정자를 선호합니다.

UML 매개변수

변환은 UML 매개변수를 C++ 오퍼레이션의 인수로 변환합니다. 변환은 "return" 유형의 매개변수를 생성하지 않고, 매개변수를 오퍼레이션 리턴 유형의 표시기로 사용합니다. 변환은 매개변수의 유형을 인수의 유형으로 변환합니다.

변환은 "out" 또는 "in/out" 방향을 가지는 매개변수를 참조로 변환합니다. (이는 "&" 규정자를 유형 스펙에 추가함을 의미합니다.)

변환은 매개변수의 기본값을 사용하여 C++ 오퍼레이션 인수의 기본값을 지정합니다. 

선택적으로, cpp_type 스테레오타입을 UML 매개변수에 적용할 수 있습니다. 이 스테레오타입은 문자열을 생성된 유형에 대한 규정자로 입력하는 데 사용할 수 있는 규정자 속성을 가집니다. 

다음 예제는 특정 조건이 결과 코드에 영향을 주는 방법을 보여줍니다. 

·        오퍼레이션 유형이 지정된 경우(예: Class1) 및 규정자를 지정하지 않거나 스테레오타입을 적용하지 않은 경우, 속성에 대해 생성된 코드는 "Class1 <ArgumentName>"입니다. 

·         오퍼레이션 유형이 지정되지 않은 경우 cpp_type 스테레오타입을 적용하고 규정자 문자열을 "int "로 설정하면 생성된 코드는 "int <ArgumentName>"입니다. 

·         오퍼레이션 유형이 지정된 경우(Class1), cpp_type 스테레오타입을 적용하고 규정자 문자열을 " * const "로 설정하면 생성된 코드는 "Class1 * const <ArgumentName>"입니다. 

변환은 매개변수에 사용되는 UML 클래스를 포함 목록에 추가합니다.

변환은 모델 서버가 제공하는 순서대로 매개변수를 생성합니다.

맨 위

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