UML에서 Java로 변환은 UML 2.0 스펙을 Java 클래스로
변환합니다. 변환을 사용하여 UML 2.0 스펙에서 Java 프로젝트를
생성할 수 있습니다. 초기 생성 후 변환을 적용하여 갱신된 UML 모델을 기존 Java 코드와
병합할 수도 있습니다.
다음 절차는 가장 간단한 Java 변환 사용법을 보여줍니다.
UML 모델에서 Java로 변환하려면 다음을 수행하십시오.
1. 모델링 Perspective로 전환하십시오.
2. 모델 탐색기 보기에서 UML 클래스(예: Class1)를 마우스 오른쪽 단추로 누르십시오.
3. 변환 > 변환 실행 > UML2에서 Java로를 누르십시오.
4. 변환 실행 대화 상자가 열립니다. 대상 컨테이너
작성 단추를 누르십시오.
5. 새 Java 프로젝트 대화 상자가 열립니다. 프로젝트 이름
필드에 단순을 입력하고 완료를 누르십시오.
6. 변환 실행 대화 상자에서 완료를 누르십시오.
새 Java 프로젝트에는 새 Java 클래스 Class1을 포함하는 기본 패키지가 들어 있습니다.
또한 변환은 소스 모델을 수정하지 않고 이름 대체,
UML 오브젝트를 가시화로 바꾸기, UML 모델 및 Java 소스의 변경사항
병합, 잠재적 변환 문제점에 대해 UML 모델 유효성 검증 등과 같은
더 복잡한 여러 가지 다른 기능을 수행할 수
있습니다.
UML | Java |
패키지 | 동일한 이름 *인 Java 패키지 |
패키지 - 스테레오타입 <<Perspective>> | 무시 |
키워드가 <<분석>> 또는 <<분석>>인 패키지 | 무시 |
클래스 | 동일한 이름* 및 가시성을 가지는 Java 클래스 |
(클래스) isLeaf 특성 | true인 경우, Java 클래스는 "final"입니다. |
(클래스) isAbstract 특성 | true인 경우, Java 클래스는 "abstract"입니다. |
(클래스) 일반화 | Java 클래스는 지정된 수퍼클래스를 "extends"합니다. |
구현(Implementation) | Java 클래스는 지정된 인터페이스를 "implements"합니다. |
인터페이스 | 동일한 이름* 및 가시성을 가지는 Java 인터페이스 |
(인터페이스) 일반화 | Java 인터페이스는 지정된 인터페이스를 "extends"합니다. |
오퍼레이션 | 동일한 이름* 및 가시성을 가지는 Java 메소드 |
(오퍼레이션) isStatic 특성 | true인 경우, Java 메소드는 "static"입니다. |
(오퍼레이션) isAbstract 특성 | true인 경우, Java 메소드는 "abstract"입니다. |
(오퍼레이션) isLeaf 특성 | true인 경우, Java 메소드는 "final"입니다. |
(오퍼레이션) 클래스와 동일한 이름을 가짐 | Java 생성자 |
(오퍼레이션) 스테레오타입 <<create>> | Java 생성자 |
매개변수 | 동일한 이름 *인 Java 매개변수 |
(매개변수) 유형 특성 | Java 매개변수는 지정된 유형을 가지며, 이 유형은 다른 클래스 또는 기본 유형일 수 있습니다. |
(매개변수) 방향 특성 | Java 메소드는 "return"으로 설정된 경우 "return <param type>"을 가지고, 그렇지 않으면 "<param type> <param name>"을 메소드 서명에 추가합니다. |
(매개변수) 다중성 특성 | 다중성에 대한 정보를 포함하는 다음 테이블을 참조하십시오. |
특성 | 동일한 이름* 및 가시성을 가지는 Java 필드 |
(특성) isStatic 특성 | true인 경우, Java 필드는 "static"입니다. |
(특성) isLeaf 특성 | true인 경우, Java 필드는 "final"입니다. |
(특성) 유형 특성 | Java 필드는 지정된 유형을 가지며, 이 유형은 다른 클래스 또는 기본 유형일 수 있습니다. |
(특성) 다중성 특성 | 다중성에 대한 정보를 포함하는 다음 테이블을 참조하십시오. |
* 일부 문자는 Java ID에서 유효하지 않습니다(예: 공백). Java 변환은 올바르지 않은 문자를 자동으로 밑줄(_)로 바꾸어 올바른 ID를 작성합니다. 그러나, 이러한 바꾸기로 인해 변환이 중복 클래스 및 인터페이스를 생성하지 못하는 이름 충돌이 일어날 수 있습니다. 유효성 검증 기능을 사용하여 이러한 문제를 발견할 수 있습니다. 이러한 바꾸기 문제를 피하려면 요소의 이름을 바꾸거나 맵핑 기능을 사용하여 소스 모델을 수정하지 않는 다른 이름을 지정하십시오.
특성 및 매개변수에 대한 Java 유형
UML 다중성 | 생성된 Java 유형 |
0..1 | 속성, 포인터 또는 참조(예: 문자열) |
1 | 속성(예: 문자열) |
N (N > 1) | 배열(예: String[]) |
1..*, * 또는 x..y | 콜렉션. 다음 테이블 참조 |
1..*, * 또는 x..y 다중성에 대한 Java 콜렉션
isOrdered 특성 | isUnique 특성 | 생성된 Java 유형 |
True | True | java.util.SortedSet |
True | False | java.util.List |
False | True | java.util.Set |
False | False | java.util.Collection |
맵핑 모델 작성을 누르면 Java 변환은 변환 가능한
각각의 요소에 대한 아티팩트를 가지는 별도의 모델인 맵핑 모델을
작성합니다. 아티팩트는 원래 변환 가능한 요소를 나타내고 이 요소와
동일한 이름을 가집니다. 원래 요소에 다른 이름을 지정하려면
아티팩트의 파일 이름 특성에 새 이름을
입력하십시오. 아티팩트의 파일 이름 특성을 변경하지 않으면 변환은
아티팩트의 기본 이름을 가지는 요소를 생성합니다.
패키지에 다른 이름을 지정하는 경우, 다른 이름은 해당 패키지의 모든
분류자에 영향을 줍니다(분류자가 완전한 이름을 지정하지
않는 경우). 다음 테이블은 대체 이름의 예를 나열합니다.
UML 소스 | 맵핑 아티팩트 파일 이름 | 생성된 Java |
"Package1" | "" | "Package1" |
"Package2" | "com.ibm.test" | "com.ibm.test" |
Package1의 "Class1" | "" | Package1.Class1 |
Package2의 "Interface1" | "ITestable" | com.ibm.test.ITestable |
Package2의 "Class2" | "com.ibm.test.Testable" | com.ibm.test.Testable |
맵핑 모델을 사용하려면 다음 단계를 완료하십시오.
1. 모델링 Perspective로 전환하십시오.
2. 모델 탐색기 보기에서 UML 모델을 누르십시오.
3. 메뉴 표시줄에서 모델링 > 변환 > 변환 구성을 누르십시오.
4. 새 UML2를 Java로 변환을 작성하십시오(예를 들어, 변환 맵핑 사용에
이름을 지정하십시오.)
5. 맵핑 페이지에서 맵핑 모델 사용을 누르십시오.
6. 작성한 맵핑 모델을 누르고 실행을 누르십시오.
변환 실행 시 맵핑 모델에서 지정한 대체 이름을
사용합니다.