출처 : https://devjaewoo.tistory.com/14
Unified Modeling Language의 약자로, 단어 그대로 해석하면 통합 모델링 언어라는 뜻입니다.
객체지향 소프트웨어를 개발할 때 시스템과 산출물을 명세화, 시각화, 문서화할 때 사용합니다.
산업의 표준으로 선정되어 직접 설계/개발하지 않아도 표준화된 문서를 통해 시스템을 어느 정도 이해할 수 있습니다.
하나의 시스템을 개발하기 위해 보통 여러 사람이 참여합니다.
참여인원 중에는 개발자, 사용자가 있고 때로는 설계자, 분석가가 있을 수도 있습니다.
이 때 개발하려는 시스템과 이 시스템의 기능, 구조 등을 참여인원 모두에게 설명하려면 어떻게 해야 할까요?
물론 말로도 설명이 가능하겠지만, 기능과 구조를 문서화하여 이해시키는 것이 훨씬 효율적일 것입니다.
하지만 이를 표준화된 양식을 사용하여 작성하지 않았을 때, 내부 작성 양식에 따라 작성한 문서를 사용자, 개발자, 설계자 모두가 이해하긴 힘듭니다. 또한 내부 작성 양식을 만들고, 적응하고 이해하는 데 자원이 소모되기 때문에 표준화된 양식을 사용하는 것이 바람직합니다.
UML에 따라 작성한 문서는 표준 양식에 의해 작성된 문서이기 때문에, 참여인원들이 이해하기 편하며, 효율적으로 의사소통 할 수 있습니다. 또한 한번에 이해하기 힘든 복잡한 시스템을 시각적으로 모델링하여 구조를 보다 알아보기 쉽습니다.
: 사용자(Actor)의 관점에서 시스템의 기능, 상호작용과 그들간의 관계를 표현합니다.
: 클래스의 속성, 메서드, 관계를 표현합니다.
: 프로그램의 시작과 끝을 정의하고, 작업의 수행과정을 단계적으로 정의합니다.
: 객체간의 상호작용을 시간의 흐름에 따라 나타냅니다.
: 객체간의 상호작용을 메시지의 관점으로 나타냅니다.
: 객체가 취할 수 있는 상태와 상태변화를 표현합니다.
: 소프트웨어 컴포넌트들과 그들의 관계, 구조를 표현합니다.
: 프로그램의 아키텍처를 물리적인 관점에서 설계합니다.
: 관련있는 요소들을 하나의 패키지로 묶고, 패키지 사이의 관계를 표현합니다.
출처 : https://ko.natapa.org/difference-between-uml-and-erd-2112
UML은 Unified Modeling Language의 약자입니다. 1997 년에 Object Management 그룹에 의해 발표되었습니다. 컴퓨터 응용 프로그램을 개발하고 구축하는 데 종종 사용되는 디자인 언어입니다. 소프트웨어 시스템을 설명하고 설계하는 데 도움이되는 그래픽 표기법으로 구성됩니다. 주로 객체 지향 스타일을 사용하여 개발 된 시스템에 사용됩니다. UML은 구현 언어와 독립적입니다. UML은 분석, 디자인 및 프로그래밍과 같은 다양한 단계에서 사용할 수 있습니다. Jim Rambaugh, Ivar Jacobson 및 Grady Booch는 UML의 원저자입니다. 객체, 패키지, 시퀀스, 상태 머신, 타이밍, 사용 사례, 상호 작용, 구성 요소 구조, 통신, 구성 요소 등 수많은 UML 다이어그램이 있습니다.
ERD는 Entity Relationship Diagram을 나타냅니다. 개념적 데이터 모델의 중요한 구성 요소로 작동합니다. ERD는 종종 데이터베이스의 논리적 구조를 그래픽으로 표현하는 데 사용됩니다. 이 모델은 세 가지 주요 구성 요소를 기반으로합니다.
실체 (Entities) : 데이터를 저장하거나 유지해야하는 사람, 객체, 이벤트 또는 개념 일 수 있습니다.
속성 : 엔티티의 특성을 속성이라고합니다.
관계 : 엔티티 간의 연관성을 설명합니다.
관계는 선택적 및 필수 관계로 더 나뉩니다. 엔티티 관계 다이어그램과 관련된 또 다른 중요한 용어는 카디널리티입니다. 관계에서 다른 엔티티와 연관 될 수있는 엔티티의 인스턴스 수를 식별합니다. 따라서, 엔터티 관계 다이어그램은 실제 세계를 다양한 유형의 비즈니스 엔터티 컬렉션으로 간주합니다. 엔티티 간의 관계를 정의하고 엔티티와 관련된 속성을 설명합니다.