UML 클래스 다이어그램 열거 형


145

클래스 다이어그램을 모델링하고 있습니다. 클래스의 속성은 열거입니다. 이것을 어떻게 모델링합니까? 일반적으로 다음과 같은 작업을 수행합니다.

- name : string

그러나 열거 형으로 어떻게 이것을합니까?

답변:


198

그들은 단순히 다음과 같이 표시됩니다.

_______________________
|   <<enumeration>>   |
|    DaysOfTheWeek    |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
|_____________________|

그런 다음 수업과 수업을 연결하십시오.


16
열거는 실제로 UML의 클래스보다 데이터 유형과 더 유사하게 작동하므로 일반적으로 속성을 Integer 유형으로 선언 한 경우보다 연관이 더 이상 표시되지 않습니다. 모델링 도구가 열거를 명시 적으로 지원하는 경우이를 사용하고 필요한 경우 클래스 + << enumeration >> 스테레오 타입 표기법 만 사용하십시오.
Tom Morris

ArgoUML에 대한 << enumeration >> 스테레오 타입을 어디에서 찾을 수 있습니까?
Timofey

@Tim ArgoUML은 Enumerations에 대한 일류 지원을 제공하므로 고정 관념을 사용할 필요가 없습니다.
Tom Morris

<<enumeration>>실제로는 고정 관념이 아니라 키워드입니다. 불행히도 UML 작성자는 시각적 인 차별화를하지 않았습니다.
qwerty_so

68

UML 모델링 도구가 열거 지정을 지원하는 경우이를 사용해야합니다. 더 쉽게 할 수 있으며 모델에 더 강력한 의미를 부여합니다. 시각적으로 결과는 <<enumeration>>스테레오 타입 이있는 클래스와 매우 유사 하지만 UML 메타 모델에서 열거 형은 실제로 별도 (메타) 유형입니다.

+---------------------+
|   <<enumeration>>   |
|    DayOfTheWeek     |
|_____________________|
| Sunday              |
| Monday              |
| Tuesday             |
| ...                 |
+---------------------+

일단 정의되면 데이터 유형이나 자신의 클래스 이름과 마찬가지로 속성 유형으로 사용할 수 있습니다.

+---------------------+
|        Event        |
|_____________________|
| day : DayOfTheWeek  |
| ...                 |
+---------------------+

ArgoEclipse 또는 ArgoUML을 사용하는 경우 툴바에 풀다운 메뉴가있어 데이터 유형, 열거, 신호 등 중에서 선택하여 고유 한 열거를 만들 수 있습니다. 일반적으로 속성을 포함하는 구획은 열거 값에 대해 EnumerationLiterals로 채울 수 있습니다.

다음은 ArgoUML에서 약간 다른 예를 보여줍니다. 여기에 이미지 설명을 입력하십시오


7
ArgoUML 스크린 샷에 감사드립니다.
Petri Tuononen

1

일반적으로 열거 형 자체를 enum스테레오 타입이 있는 클래스로 모델링합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.