Java에서 UML로 변환 구성

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

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

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

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

      이 옵션은 역변환에서 Getter 및 Setter 메소드 생성 옵션과 같은 변환 특성을 수정합니다. 선택란 중 하나를 선택하면 다른 선택란에서 선택 표시를 지우는 것과 같습니다. 역변환을 실행할 때 Java getter 및 setter를 생성하지만 순방향 변환을 실행할 때는 대상 UML 모델에서 Java getter 및 setter에 대한 UML 오퍼레이션을 표시하지 않으려는 경우 이 선택란에서 선택 표시를 지우십시오.

    • 소스 Java 프로젝트의 Java 패키지마다 대상 UML 모델에서 일반 UML 패키지 구조를 생성하려면 Java 패키지마다 일반 UML 패키지 생성 선택란을 선택하십시오. 이 선택란을 선택하지 않으면 변환은 계층적 패키지 구조를 생성합니다.

      변환 대상이 기존의 UML 모델인 경우 대상 모델과 동일한 패키지 구조를 지정해야 합니다. 그러면 변환이 생성하는 임시 모델과 대상 모델 사이에 해결해야 하는 차이점 수를 줄일 수 있습니다.

      예를 들어, 소스 Java 프로젝트에 a.b.Ya.b.c.Z 클래스가 있다고 가정합니다. 선택란을 선택하면 변환은 UML 패키지 a.ba.b.c를 생성합니다. 이 패키지는 계층 구조가 아닙니다. UML 클래스 Y는 UML 패키지 a.b에서 작성되고 UML 클래스 Z는 UML 패키지 a.b.c에서 작성됩니다. 선택란에서 선택 표시를 지우면 UML 패키지 a가 작성되고, UML 패키지 b는 패키지 a에서 작성되며, UML 패키지 c는 패키지 b에서 작성됩니다. UML 클래스 Z는 패키지 c에서, UML 클래스 Y는 패키지 b에서 작성됩니다.

    • Java 필드에 대한 UML 속성의 UML 연관을 생성하려면 Java 필드마다 UML 연관 생성 선택란을 선택하십시오. 변환은 대상 UML 모델을 조사하고, 연관 관계의 일부인 Java 필드에 대한 연관 관계를 작성합니다. Java 필드가 UML 연관의 일부가 아니면 변환은 UML 속성을 작성합니다. 또한 시각화된 유형과 기본 유형을 방향 지정된(directed) 연관으로 표시하려면 해당 선택란을 선택하십시오.
  8. 옵션: 디버깅 정보를 생성하려면 기본 페이지에서 디버그 로그 생성 선택란을 선택하십시오. 다음에 변환을 실행할 때 변환 환경 설정에서 지정하는 폴더에 XML 파일로 로그 파일이 생성됩니다. 로그 파일에 대한 위치를 지정하지 않으면 변환은 사용자 작업공간의 .metadata 폴더에 로그 파일을 생성합니다.
    팁: 변환에 대한 환경 설정을 하려면 > 환경 설정을 클릭한 다음 모델링을 펼치고 변환을 클릭하십시오.

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

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

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

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

    UML에서 Java로(UML-to-Java) 변환이 사용 가능한 경우 역방향 변환 자동 실행 선택란을 선택할 수 있습니다. UML에서 Java로(UML-to-Java) 변환이나 역변환이 자동 모드에서 실행되도록 지정하면 변환 구성에서 지정하는 파일 겹쳐쓰기 옵션이 대체됩니다. UML에서 Java로(UML-to-Java) 변환은 필요에 따라 파일을 겹쳐씁니다.

  10. 옵션: 변환 소스 및 대상 사이의 추적 가능 관계를 작성하려면 기본 페이지에서 추적 관계 작성 선택란을 선택하십시오. 이 선택란은 혼합 모델링 or 조정된 모델링 프로토콜을 선택하는 경우에만 사용할 수 있습니다.

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

  11. 옵션: 변환 구성에 대한 문서를 지정하십시오. 이 필드는 여러 사용자가 공유하는 구성에 대한 정보를 통신하는 데 유용합니다. 기본 페이지의 문서 필드에서 변환 구성에 대한 추가 정보를 지정하십시오.
  12. 옵션: 사용하거나 사용하지 않을 변환 확장을 지정하십시오.
    • 확장 페이지에서 사용하거나 사용하지 않을 변환 확장에 해당되는 선택란을 선택하거나 선택 표시를 지우십시오.

      열거 리터럴의 이름 및 값을 보존하는 UML 열거를 생성하려면 com.ibm.xtools.transform.java.enumext.j2u.transform 선택란을 선택하십시오. 사용자 정의 Java 열거의 특성은 UML로 변환할 때 보존됩니다.

  13. 옵션: 변환이 소스 Java 프로젝트에서 선택된 Java 콜렉션 유형을 UML 콜렉션 유형으로 변환하는 방법을 지정하십시오.
    • 콜렉션 페이지의 각 UML 콜렉션 유형 목록에서 Java 콜렉션 유형을 선택하십시오. 사용자 정의 값을 지정하려면 콜렉션 필드에서 값을 입력하십시오.

      소스 프로젝트의 Java 콜렉션 유형마다 변환이 생성하는 UML 콜렉션 유형을 지정할 수 있습니다. 하나의 Java 콜렉션 유형을 하나의 UML 콜렉션 유형에 맵핑할 수 있습니다. 기본 선택사항은 Java Collection, SortedSet, List 및 Set classes를 UML Bag, OrderedSet, Sequence 및 Set collection 유형에 맵핑합니다. 변환을 실행할 때 변환이 코드에서 Java 콜렉션 또는 배열을 식별하고 콜렉션 또는 배열의 유형을 식별할 수 있는 경우, 변환은 «JavaCollection» 또는 «JavaArray» 스테레오타입을 생성된 UML 요소에 적용하고 스테레오타입 특성의 값을 채웁니다. 그렇지 않은 경우 변환은 적응 가능한 참조사항을 생성하고 생성된 UML 요소에 스테레오타입을 적용하지 않습니다.

      예를 들어, Java 벡터 클래스를 UML 시퀀스로 변환하려면 Java 목록 클래스 대신 시퀀스 목록에서 java.util.Vector를 선택하십시오. 소스 Java 프로젝트의 Java 목록 클래스마다, 변환은 대상 UML 모델에서 적응 가능한 참조를 생성하고 생성된 UML 모델의 Is Ordered 및 Is Unique 특성을 false로 설정합니다. 이 예제에서 변환은 이 특성을 false로 설정합니다. Java 목록 콜렉션 유형을 UML 콜렉션 유형으로 변환하지 않기 때문입니다.

      변환이 Java 콜렉션을 변환할 때 UML 콜렉션 특성을 채우는 방법에 대한 자세한 정보는 아래에서 관련 참조 주제를 참조하십시오.

  14. 옵션: Java 요소 및 대상 UML 요소의 상호 종속성을 정의하는 파일을 작성하려면 Java에서 UML로 연관 파일을 작성하십시오. 이 기능은 범위가 구성하는 변환을 벗어나고 다른 프로젝트에 위치해 있을 수 있는 Java 및 UML 요소 사이의 관계 정의에 유용합니다. 연관 파일을 작성하려면 Java에서 UML로 연관 페이지에서 다음 단계를 완료하십시오.
    1. Java에서 UML로 연관 파일 이름 필드에서 파일 이름을 지정하십시오.
    2. Java에서 UML로 연관 섹션에서 테이블 옆에 있는 단추를 클릭하여 파일에서 연관을 추가하거나 제거하십시오.
    여러 프로젝트에 대한 지원과 해당되는 상호 종속성에 대한 자세한 정보는 아래에서 관련된 Java에서 UML로 변환 개념 주제를 참조하십시오.
  15. 옵션: 조정된 모델링 DCMP를 사용하는 경우, 맵핑 페이지에서 다른 역변환에 대해 작성한 맵핑 모델을 선택하고 구성할 수 있습니다. 맵핑 모델을 사용하여 UML에서 Java로(UML-to-Java) 변환이 생성하는 출력에 대한 대체 파일 이름을 지정할 수 있습니다. 지정하는 맵핑 모델은 현재 작업공간에 있어야 합니다.

    Java에서 UML로 변환은 맵핑 모델을 사용하여, 변환에서 생성되는 UML 요소에 대한 적절한 이름을 판별합니다. 예를 들어, UML 모델에는 PackageA가, PackageA에는 Class1이 있습니다. UML에서 Java로(UML-to-Java) 변환에 대한 맵핑 모델을 작성할 때 Class1에 대체 파일 이름 MappedClass1이 있는 것을 지정할 수 있습니다. UML에서 Java로(UML-to-Java) 변환을 실행할 때 변환은 PackageA.MappedClass1.java라고 하는 Java 파일을 생성합니다. Java에서 UML로 변환을 실행할 때 변환은 Java 요소에 대한 원래의 UML 경로가 PackageA.Class1인지 판별하고 PackageA라는 UML 패키지에서 Class1 UML 클래스를 생성합니다.

    맵핑 모델에서 지정하는 아티팩트 파일 이름이 올바른 Java 파일 이름이 아니면, 변환은 Java 코드 요소를 작성할 때 파일의 이름을 수정합니다. 예를 들어, 맵핑 모델이 MappedClass1 대신 대체 파일 이름 "Mapped Class1"을 지정하는 경우, 변환은 Java 파일 Mapped_Class1.java를 생성합니다. 변환은 이 수정사항의 레코드를 보존하지 않으므로 Java에서 UML로 변환은 Mapped_Class1 파일을 원래의 UML 요소에 맵핑할 수 없습니다. 이 예제에서, Java에서 UML로 변환은 Mapped_Class1 Java 소스 오브젝트를 Class1 대신 Mapped_Class1 UML 클래스로 변환합니다.

  16. 파일 > 저장을 클릭하십시오.
결과
이 옵션은 다음에 변환을 실행할 때 적용됩니다.

피드백