2011-09-15 2 views
12

클래스 다이어그램을 디자인하고 있는데 의심 스럽습니다.uml 클래스 다이어그램에서 enum 클래스와 연관시키는 것이 좋습니다.

나는 자바 enums와 db 카탈로그로 매핑 될 다른 클래스를 참조하는 몇 가지 속성을 가진 클래스를 가지고 있습니다.

예를 들어 BankAccount라는 클래스에는 type : BankAccountType (enum)이라는 속성과 bank : Bank (카탈로그 클래스)라는 속성이 있습니다.

클래스 간의 연관성을 표시하는 것이 좋습니까? 아니면이를 피할 수 있습니까? 예인 경우 해당 항목을 집계해야합니까? (예 : BankAccount가 bankAccountType을 가짐)?

미리 감사드립니다.

답변

22

.

The two ways of representing attributes in UML

속성 선언의 두 가지 스타일은 의미 적으로 동일하다 : 그들은 정확히 같은 일을 의미한다. 다른 말로하면, 당신이 선택한 것은 스타일의 문제입니다.

속성을 사용하면 간단한 다이어그램을 만들 수 있으며 일부 도구에서는 속성을 모델의 트리보기에 표시 할 수 있습니다.

지정 연결을 사용한다는 것은 다이어그램에 대상 유형 (열거 형)을 포함해야한다는 것을 의미합니다. 즉, 리터럴을 볼 수 있습니다. 물론, 위의 An_Enum을 사용한 것처럼 다른 경우에도이를 포함시킬 수 있습니다.

일반적으로 코드 수준 모델링에는 집계 나 합성을 사용하지 않습니다. 나는 그들이 정보 모델 에서처럼 클래스들 사이의 더 추상적 인 관계를 설명하는 데 더 적합하다고 생각하고 개념적으로는 소스 코드에서 실제로 어떤 것도 일치하지 않는다고 생각한다. 속성은 로컬 변수 유형으로 사용되거나 메소드가 호출되는 클래스에 대한 "종속성"또는 "사용"관계로 보완 될 수 있습니다.

+0

이 경우 다중도는 어떻게 작용합니까? – FateNuller

1

단순한 연관성이 트릭을 수행합니다. 집계는 포함 된 클래스의 수명주기가 포함 된 클래스에 묶여 있음을 보여줍니다.

위키 백과 : 클래스가 다른 클래스의 컬렉션이나 컨테이너이지만 포함 된 클래스의 컨테이너에 대한 강력한 라이프 사이클 종속성이없는 경우 집계가 발생할 수 있습니다. 본질적으로 컨테이너가 파괴되면 그 내용 그렇지 않습니다. http://en.wikipedia.org/wiki/Class_diagram#Aggregation

또한, 당신이 발견 : 적절한 속성과, 감독 협회로 :에 관계없이 속성 유형을 열거 여부, 두 UML에 속성을 표현하는 방법이 UML class diagram enum

관련 문제