Hi yoahn 개발블로그

UML 다이어그램 본문

sswu/소프트웨어 공학

UML 다이어그램

hi._.0seon 2021. 2. 22. 23:14
반응형

1. UML 이란?

Unified Modeling Language

통합 모델링 언어라고도 한다.

 

소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다.

 

UML은 소프트웨어 모델링의 표기법. 소프트웨어 구성 방법론이 아니다.

UML은 소프트웨어 구축을 위한 프로세스를 정하고 있지는 않지만 유스케이스가 주도하고 아키텍처 중심적이며 반복, 점진적인 개발 프로세스를 권장한다.

2. UML 장점

  • 정적 / 동적 두가지 관점의 모델링을 할 수 있다.

    구조 다이어그램 = 정적

    동작 측면의 다이어그램 = 동적
    동적 모델링에서는 시스템이 시간이 지남에 따라 어떻게 변하는지 보여줌

3. UML의 주요 다이어그램

  • 클래스 다이어그램
  • 시퀀스 다이어그램
  • 커뮤니케이션 다이어그램
  • 상태 다이어그램
  • 액티비티 다이어그램
  • 유스케이스 다이어그램

UML 2.x는 13개의 다이어그램 유형을 정의하고 있다.

 

구조 유형 / 동작 유형 / 인터랙션 다이어그램

동작 유형 중에 인터랙션 다이어그램이 있는데 객체 간의 상호 작용을 설명한다.

 

다이어그램 종류마다 문법이 다르다. 프로그래밍 언어를 배우는 것처럼 문법과 의미를 알아야 한다.

UML 문법은 사용자가 반드시 따르도록 강제하지는 않는다. 비공식적인 표기법을 사용하는 것이 의사소통을 향상시킬 수도 있다. 그러나 너무 기본 문법과 멀어지면 모델의 표현력이 떨어지고 의사소통이 어려워질 수 있으므로 적당한 선을 지키는 것이 좋다.

 

4. 클래스 다이어그램

시스템에서 사용되는 객체 타입을 정의한다.

객체 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다.

 

객체 지향 시스템 모델링에서 가장 공통적으로 많이 쓰이는 다이어그램으로, 바로 프로그램 코드로 변환이 가능하다.

 

클래스 다이어그램은 특히 도메인 개념과 속성 및 관계를 나타내는 중요한 모델이다. 클래스와 클래스 사이의 관계를 나타내는 UML의 핵심 다이어그램이라 할 수 있다.

 

구조

UML 에서 클래스는 박스로 나타낸다. 박스 안에는 클래스 이름을 표시하고, 속성과 연산을 나타낸다.

<클래스 이름>
Book Item
+barcode: String[0..1] {id}
+tag: RFID[0..1] {id}
+isReferenceOnly

접근제어자

+ : public

- : private

# : protected

 

- interface 와 abstract 같은 요소들은 <<interface>> , <<abstract>> 로 나타낼 수 있다.

 

관계

의존 : 하나의 모델 요소가 다른 모델 요소를 사용하는 관계

일반화 (상속): 여러 클래스가 가진 공통적인 특징을 추출하여 공통적인 클래스를 일반화 하는 관계

(상속관계)

연관 : 클래스로부터 생성된 인스턴스들 간의 관계. 객체 사이에 관련되어 링크되어 있음을 의미

방향성을 나타내는 화살표가 있으면 단방향으로만 탐색 가능

클래스 다이어그램에서의 연관은 다른 객체의 참조를 가지는 필드를 의미

 

연관관계의 숫자 표현

1 : 한개

* : 0 이상

1..* : 1 이상

10..30 : 10 ~ 30개

4, 6, 8, 12 : 4, 6, 8. 12 개

 

구현 : 인터페이스에 있는 스펙을 오버라이딩하여 실제로 구현하는 것을 말한다.

 

5. 시퀀스 다이어그램

메시지 교환을 시간적 관계로 나타낸 것이다.

다이어그램의 수직 축은 시간을 나타내며 시간은 위에서 아래로 흐른다. 상호작용에 관여된 객체는 수평 축을 따라 상단에 나열된다. 일반적으로 메시지가 왼쪽에서 오른쪽으로 흐르도록 배치됨. 수평축에서의 순서는 의미가 없다.

 

객체는 '객체 이름: 클래스 이름' 형식으로 표현

=> 상호작용에 참여하는 객체

 

 

 

 

brownbears.tistory.com/511

 

[UML] 시퀀스 다이어그램 (Sequence Diagram)

시퀀스 다이어그램은 특정 행동이 어떠한 순서로 어떤 객체와 어떻게 상호작용을 하는지 표현하는 행위 다이어그램입니다. 현재 존재하는 시스템이 어떠한 시나리오로 움직이고 있는지를 나타

brownbears.tistory.com

m.blog.naver.com/icbanq/221781238065

 

UML 다이어그램의 정의와 종류

안녕하세요 나도 메이커의 제이비입니다.오늘은 UML 다이어그램에 대해 알아보겠습니다.​​​UML을 ...

blog.naver.com

 

반응형
Comments