본문 바로가기

[ Project Plan & Design ]/Uml

UML 요점 정리 #4 - 클래스 다이어그램(1)

클래스 다이어그램(1)

 

 

1. 클래스

 

 

클래스의 표기는 위 그림과 같다. 제일 좌측에 있는 Attribute와 Operation이 축약되지 않은 표기이고 나머지는 축약된 표기다.

 

 

2. Attribute와 Operation


추상화 단계에 따라 표기 방법이 달라질 수 있다.

예를 들어 구현 단계에 근접한 클래스 다이어그램을 도시하려면 구현하기위한 언어에 밀접한 형태의 Attribute와 Operation으로 나타내야하지만, 추상화 단계가 높을 경우 대략적인 의미 전달을 할 수 있을 정도의 표기도 괜찮다.

 

Attribute UML 1.1 표준 형식은 다음과 같다.

visibility name : type-expression = initial-value { property-string

 

Operation의 UML 1.1 표준 형식은 다음과 같다.

visibility name ( parameter-list ) : return-type-expression { property-string }

 

Visibility를 private는 '-', protect는 "#', public은 "+"로 표기한다.

 

 

3. 클래스와 클래스의 상속관계 (Generalization Relationship)


 

 

상속관계는 닫혀져 있는 머리를 가진 화살표로 나타낸다.

 

다양한 클래스들의 나열에서 동일한 행위나 특징을 가진 여러 클래스들이 존재할 때 공통되는 부분을 상위 클래스로 만들 수 있다.

 

4. 클래스와 클래스의 연관 관계(Association Relationship)

연관 관계의 표기는 실선으로 하게 된다.

예를 들어 회사와 사원은 어떤 식으로든지 연관을 가지고 있는데 이를 표현하기 위해 연관 관계를 사용한다.

 

장식(Adornments): 표기의 확장을 위해 사용됨

- 연관의 이름                : 어떤 연관인지 명시적으로 나타냄

- 다중성(Multiplicity)      : 연관된 상대의 수를 표시

- 역할 이름(RoleName)   : 연관을 맺은 상태에서 상대 클래스에서 사용되는 역할의 이름

 

 

5. 클래스와 클래스의 집합 연관 관계(Aggregatin Relationship)


 

 

속이 빈 마름모 머리를 가진 실선으로 표기.

 

집합 연관 관계는 연관 관계의 일종으로 연관 관계에서 쓰이는 모든 장식들을 다 사용할 수 있다.

 

클래스와 클래스의 관계가 부분과 전체의 관계를 가질 때 표시할 수 있다.

 

예를 들어 자동차와 뱌퀴는 전체와 부분의 관계가 될 수 있다.

 

6. 클래스와 클래스의 복합 연관 관계(Compositon Relationship)


속이 찬 마름모 머리를 가진 실선으로 표기.

 

부분 클래스가 전체 클래스와 같은 생명 시간을 가진다(전체 클래스 객체가 소멸될 때 부분 클래스 객체 또한 소멸)는 차이점을 빼고는 집합 연관 관계와 유사하다.

 

 

 

 

 

7. 클래스와 클래스의 의존 관계(Dependency Relationship)

 

열려진 머리의 화살표를 가진 점선으로 표기하며, 한 클래스의 변화가 다른 클래스의 영향을 미칠 때 사용한다.


- Reference

  http://jedikim72.blog.me/10025703879