대학 전공 공부/소프트웨어 분석 및 설계

[소프트웨어 분석 및 설계] 4. 클래스 다이어그램(Class Diagram)

Xerath(제라스) 2022. 10. 26. 22:04
728x90
반응형

Class

: attributes와 이것들에 대한 operations들로 이뤄진 것.

3가지 방식의 Class 표현 방법

클래스 다이어그램이 뭔데...?

: 시간에 따라 변하지 않는 System의 정적인 면을 보여주는 대표적인 UML 구조 다이어그램.

클래스 다이어그램 예시

Attribute

: 객체의 데이터 Property이자 데이터의 추상적인 저장소

 

- 표현법:

접근제어자+이름: 속성타입[배열 개수] = 초기 값

 

+: public visibility

-: private visibility

#: protected visibility

~: package visibility

Attribute 표현법 예시

Operation

: 클래스에서의 기능을 담당하는 메소드같은 부분.

 

- 표현법:

접근제어자+이름(매개변수): 반환 타입

Operation 표현법 예시

Relationship(관계)

1) Dependency(의존)

: 의존 관계로 임시적인 관계이며, 가운데 <<invoke>>를 씀으로서 클래스 간의 참조 관계를 보임.

Customer 클래스에선 Exchange Rate가 궁금하니 참조할 수 있다. <<>> 안에는 필요한 동사나 명사를 작성하면 된다.

2-1) Association(연관)

: 지속적인 관계에서의 두 클래스 간의 참조 관계를 보임.

- 화살표를 쓸 경우엔 한쪽에서의 참조만 가능하고 화살표가 없을 경우엔 서로 참조가 가능하다.

왼쪽처럼 서로 참조가 가능하거나 오른쪽처럼 User만 Phone을 참조할 수 있다.

+ Link

: Association과 같은 관계이나 클래스 간의 관계가 아닌 인스턴스 간의 관계이다.

Link 예시

- {xor} 제약

: 여러 연관 가능성이 있을 때 쓰는 표시.

개인 사람의 계좌가 있을 수 있고 기업의 계좌가 있을 수 있으니까~

- Cardinality 제약 (대응 수 제약)

: 각 연관 관계는 그 대응 수 범위를 표시될 수 있다.

하나의 Rider에 대하여 Trip Request는 0개 이상 있다. 1개의 Trip Request에 대해서는 0혹은 1개의 Trip Contract가 있을 수 있다.

 

- {ordered}

: {}안에 Property 문자열을 적은 채 옵션으로 줄 수도 있음.

 

3) Aggregation / Composition(집합 / 합성)

: 집합은 Whole(전체)과 Part(부분)의 필수 포함 관계는 아닌 포함관계이고, 합성은 필수 포함관계이다.

다각형이 깨지더라도 꼭지점은 남을 수 있으나 색칠(Fill Pattern)은 사라짐.

4) Inheritance(상속)

Inheritance 예시

- Realization(실체화)

: 실체화 대상에 <<interface>>를 써서 표시. plug-in 객체는 required interface이다.

728x90
반응형