UML (Unified Modeling Language, 통합 모델링 언어)
정의
프로그램을 단순화하여 표현하기 위해 사용하는 모델링 언어
즉, 프로그램을 다이어그램화한 것이다.
설계 단계에서 원활한 의사소통
을 위해 사용한다.
왜 사용하는가? (장점)
시험
실제로 구현물(프로그램)이 잘 작동하는지 알아보기 위함
직접 구현하여 확인하는 것보다 UML로 시험하는 것이 더 비용이 적게 듦
의사소통에 용이
축약되어 나타나고, 추상적이기 때문에 한 눈에 알아볼 수 있다.
따라서 UML을 통해 개발자 간, 또는 팀의 구성원 및 사용자 간에 무엇을 어떻게 할 것인지 협의할 수 있다.
코드는 각 줄을 모두 읽으며 이해해야 하므로 금방 파악하기가 어렵다.
UML 다이어그램의 종류
분석 단계
Use Case Diagram
시스템과 상호 작용하는
외부(사용자)의 시선
에서 묘사
Activity Diagram
절차(workflow)
또는생명주기
를 묘사
객체 간 상호작용
Interaction Diagram
객체들 간의
상호작용
방법을 묘사그 중에서도
Sequence Diagram
이 가장 많이 사용됨
설계 단계
⭐ Class Diagram
클래스 간의 상세한 관계를 묘사
코드와 가장 밀접한 관계를 가지기 때문에 가장 많이 사용된다.
객체들의 동작에 초점
State Diagram
객체가 가지는 여러 가지 상태와 상태 간 전환을 묘사
임베디드 분야에서 많이 사용
설치 단계
Deployment Diagram
각 모듈들을 어디에 어떻게 배치할 것인지를 묘사
UML 다이어그램의 유형별 종류
구조 다이어그램
클래스 다이어그램
객체 다이어그램
컴포넌트 다이어그램
배치 다이어그램
복합체 구조 다이어그램
패키지 다이어그램
행위 다이어그램
유스케이스 다이어그램
시퀀스(순차) 다이어그램
커뮤니케이션
상태(State) 다이어그램
활동(Activity) 다이어그램
상호작용(Interaction) 다이어그램
타이밍 다이어그램
UML 다이어그램 내 관계
연관, 집합, 합성, 의존, 일반화(상속), 실체화(구현) 존재
연관
클래스 자체에 대한 참조로, 사용 이후에도 참조가 유지됨
실선 화살표로 표현
집합
연관의 종류 중 한 가지
내부 필드로 소유하며 생명주기를 달리 함
속이 빈 다이아몬드로 표현
컴포지션 (복합 또는 포함 또는 합성이라고도 부름)
연관의 종류 중 한 가지
내부 필드로 소유하며 생명주기를 같이 함 (내부에서 객체가 생성됨)
속이 찬 다이아몬드로 표현
의존
특정 클래스가 다른 클래스를
일시적으로
참조할 때 이를 의존한다고 함점선 화살표로 표시
일반화
상속(is-a) 관계를 의미
실선, 속이 빈 화살표로 나타냄
실체화(구현)
인터페이스를 구현받는 것(has-a)을 의미
점선, 속이 빈 화살표(생략 가능)로 나타냄
스테레오 타입
UML에서 부가 기능 표현을 위해 사용됨
<< >> 안에 표현 형태 기술
include, extend, interface, exception, constructor
Last updated