UML 모델 요소와 변환 출력 사이의 관계

추적성 옵션을 사용하여 소스 모델과 변환 출력 사이의 관계를 작성할 수 있습니다.

변환 구성의 옵션을 통해 모델 요소와 변환 출력 사이에서 변환이 생성하는 관계의 유형을 지정할 수 있습니다. 기본적으로 변환은 추적 가능 관계를 작성하지 않습니다.

소스 모델 요소와 변환 출력 사이의 추적 관계

소스 모델의 요소가 대상 프로젝트의 요소와 관련되는 방법을 이해하기 위해 소스 모델 요소로부터 대상 프로젝트에서 생성된 요소로의 변환 작성 추적 관계를 보유할 수 있습니다. 그러면 모델 조회를 작성하고 실행하여 토픽 다이어그램에서 추적 관계를 볼 수 있습니다.

소스 모델과 변환 출력 사이에 추적 관계를 생성하도록 구성된 변환을 실행할 경우, 변환은 @generated 태그를 지원하는 UML 요소마다 변환 출력에 소스 코드 주석을 추가합니다. 주석은 //@uml.annotations로 시작하고 모델 요소에 대한 고유 ID를 포함합니다. 소스 UML 모델에서 요소 이름을 바꾸는 경우 이 고유 ID를 통해 병합 기능이 해당 요소를 리팩터하고 병합할 수 있습니다.
주: 해당되는 최상위 레벨 클래스의 범위를 벗어나서 UML 요소를 이동시키는 경우 변환을 재실행할 때 병합 알고리즘은 이름이 바뀐 요소를 리팩터하거나 병합하지 않습니다. 요소 범위가 변경되었기 때문입니다.

소스 모델 요소와 변환 출력 사이의 관계를 보려면 다이어그램에서 소스 모델 요소를 시각화하고 변환이 생성하는 코드 요소를 해당 다이어그램으로 끌어오십시오. 다음 표는 attribute1이라고 하는 정수 속성을 포함하는 Class1 소스 모델 요소와 매개변수가 없는 두 개의 오퍼레이션 Operation1 및 Operation2, 변환이 생성하는 코드 그리고 요소 사이의 추적 관계를 보여주는 클래스 다이어그램과 같은 항목을 나열합니다.

사용자가 변환에서 추적 관계가 생성되도록 지정하는 경우 변환은 소스 모델을 변경하지 않습니다.

추적 관계 작성은 여러 개의 모델과 여러 개의 변환 구성을 포함할 수 있는 대형 프로젝트에서 유용합니다. 또한 변환 출력이 소프트웨어 스펙과 모델 요소에 관련되는 방법을 표시하는 추적성 조회를 작성하고 실행할 수도 있습니다.

모델 요소와 변환 출력 사이의 직접 참조

소스 모델 요소와 변환 출력 사이의 직접 참조를 작성하도록 변환에 지시할 수 있습니다. 변환은 소스 모델 요소를 변환 출력의 포인터로 바꿉니다. 변환이 생성하는 소스 코드는 1차 엔지니어링 아티팩트가 되고, 모델의 요소는 코드의 시각적 표시가 됩니다. 이 사례는 UML 모델에 대해 작업하는 대신 대상 도메인에서 작업하려는 경우에 유용합니다. 모델에 있는 오브젝트의 시각적 표시에 대해 작성하는 변경사항은 코드에서 즉시 볼 수 있습니다.

모델 요소와 변환 출력 사이의 직접 참조를 작성하는 변환을 실행하면 소스 모델이 변경됩니다. 가능한 문제점을 피하려면 소스 모델을 버전 제어 하에 두어야 합니다.

대상 도메인에서의 작업 이점을 실현하려면 UML 모델에 대해 증가하는 변경사항을 작성할 때 직접 참조를 작성한 후 모델을 코드의 시각적 표시로 변환해야 합니다. 변환이 중첩 요소와 같은 UML 요소를 변환할 수 없는 경우 이 요소를 가장 가까운 패키지로 이동합니다. 변환이 모델 요소를 가장 가까운 패키지로 이동할 수 없으면 해당 요소를 삭제합니다.

모델 요소와 변환 출력 사이의 직접 참조 작성에 대해 학습하려면 이 주제에 대한 관련 학습을 참조하십시오.


피드백