UML : 의사소통 도구로 활용하기에 좋음, 그래픽 표기법으로 여러 다이어그램을 정의하는데 사용
클래스 다이어그램
의존 관계란
한 클래스가 다른 클래스의 기능을 사용하는 관계이다. 한 클래스가 다른 클래스의 객체를 함수의 파라미터, 리턴 값으로 사용하거나 메소드 변수로 사용할 때 관계가 형성되며, 매우 짧은 시간동안 유지된다.
연관 관계란
한 클래스가 다른 클래스의 객체의 참조를 가지는 관계이다. 한 클래스가 다른 클래스에서 제공하는 기능을 사용하는 상황일 때 관계가 형성되며, 두 클래스 간의 관계가 오랫동안 유지된다.
일반화 관계 (상속 관계)
자식 객체는 부모 객체의 속성과 오퍼레이션을 상속
실체화 관계 (추상 클래스를 구체화)
인터페이스를 상속받아 실행을 구체화
집합(aggregation)
전체 쪽 객체 하나가 부분 쪽 객체들을 소유
부분 객체 스스로 존재 가능
합성(composition)
독립적으로 사용이 불가능
전체 객체가 사라지면 부분 객체도 같이 사라짐
패키지 다이어그램 (모듈 뷰)

패키지의 의존 관계 (점선 화살표로 표시)
: A에 포함된 클래스가 B에 포함된 최소 하나의 클래스를 이용
스테레오 타입 : << >>로 UML의 기본적 요소 이외에 새로운 요소를 만들어내기 위한 확장 메커니즘
<<import>> : A가 자신의 패키지에 B를 포함
외부에서 B가 visible (public import)
<<access>> : A가 자신의 패키지에 B를 포함
외부에서 B가 not visible (private import)
<<use>> : 패키지 A의 정확성이 다른 패키지 B의 정확한 구현에 의존한다면 A가 B를 사용한다 (사용 방법 명시X)
A<<import>>B<<import>>C : A패키지는 C패키지 사용 가능
A<<access>>B<<access>>C : A패키지는 C패키지 사용 불가
컴포넌트 다이어그램
UML Artifact
: 개발 과정에서 생산 또는 배포 과정에서 사용되는 산출물