UML-개요
UML은 소프트웨어 시스템의 아티팩트를 지정, 시각화, 구성 및 문서화하기위한 표준 언어입니다.
UML은 OMG (Object Management Group)에 의해 생성되었으며 UML 1.0 사양 초안은 1997 년 1 월 OMG에 제안되었습니다.
OMG는 진정한 산업 표준을 만들기 위해 지속적으로 노력하고 있습니다.
UML은 Unified Modeling Language.
UML은 C ++, Java, COBOL 등과 같은 다른 일반적인 프로그래밍 언어와 다릅니다.
UML은 소프트웨어 청사진을 만드는 데 사용되는 그림 언어입니다.
UML은 소프트웨어 시스템을 시각화, 지정, 구성 및 문서화하는 범용 시각적 모델링 언어로 설명 될 수 있습니다.
UML은 일반적으로 소프트웨어 시스템을 모델링하는 데 사용되지만이 경계 내에서 제한되지 않습니다. 또한 소프트웨어가 아닌 시스템을 모델링하는데도 사용됩니다. 예를 들어 제조 단위의 프로세스 흐름 등이 있습니다.
UML은 프로그래밍 언어가 아니지만 도구를 사용하여 UML 다이어그램을 사용하여 다양한 언어로 코드를 생성 할 수 있습니다. UML은 객체 지향 분석 및 설계와 직접적인 관련이 있습니다. 일부 표준화 후 UML은 OMG 표준이되었습니다.
UML의 목표
사진은 천 단어의 가치가 있으며이 관용구는 UML을 설명하는 데 절대적으로 적합합니다. 객체 지향 개념은 UML보다 훨씬 일찍 도입되었습니다. 그 당시에는 객체 지향 개발을 구성하고 통합하기위한 표준 방법론이 없었습니다. 그때 UML이 등장했습니다.
UML 개발에는 여러 가지 목표가 있지만 가장 중요한 것은 모든 모델러가 사용할 수 있고 이해하고 사용하기 쉽게 만들어야하는 범용 모델링 언어를 정의하는 것입니다.
UML 다이어그램은 개발자뿐만 아니라 비즈니스 사용자, 일반인 및 시스템 이해에 관심이있는 모든 사람을 위해 만들어졌습니다. 시스템은 소프트웨어 또는 소프트웨어가 아닌 시스템 일 수 있습니다. 따라서 UML은 개발 방법이 아니라 성공적인 시스템을 만들기위한 프로세스와 함께 제공된다는 점이 분명해야합니다.
결론적으로 UML의 목표는 오늘날의 복잡한 환경에서 가능한 모든 실제 시스템을 모델링하는 간단한 모델링 메커니즘으로 정의 할 수 있습니다.
UML의 개념 모델
UML의 개념적 모델을 이해하려면 먼저 개념적 모델이 무엇인지 명확히해야합니까? 그리고 왜 개념적 모델이 필요한가?
개념 모델은 개념과 그 관계로 구성된 모델로 정의 할 수 있습니다.
개념적 모델은 UML 다이어그램을 그리기 전 첫 번째 단계입니다. 현실 세계의 엔티티와 이들이 서로 상호 작용하는 방식을 이해하는 데 도움이됩니다.
UML은 실시간 시스템을 설명하기 때문에 개념적 모델을 만들고 점차적으로 진행하는 것이 매우 중요합니다. UML의 개념 모델은 다음 세 가지 주요 요소를 학습하여 마스터 할 수 있습니다.
- UML 빌딩 블록
- 빌딩 블록을 연결하는 규칙
- UML의 일반적인 메커니즘
객체 지향 개념
UML은 객체 지향 (OO) 분석 및 디자인의 후속 제품으로 설명 할 수 있습니다.
개체에는 데이터를 제어하는 데이터와 메서드가 모두 포함됩니다. 데이터는 개체의 상태를 나타냅니다. 클래스는 객체를 설명하며 실제 시스템을 모델링하기위한 계층도 형성합니다. 계층 구조는 상속으로 표시되며 클래스는 요구 사항에 따라 다른 방식으로 연결될 수도 있습니다.
객체는 우리 주변에 존재하는 실제 엔티티이며 추상화, 캡슐화, 상속 및 다형성과 같은 기본 개념은 모두 UML을 사용하여 표현할 수 있습니다.
UML은 객체 지향 분석 및 디자인에 존재하는 모든 개념을 나타낼만큼 강력합니다. UML 다이어그램은 객체 지향 개념만을 표현한 것입니다. 따라서 UML을 배우기 전에 OO 개념을 자세히 이해하는 것이 중요합니다.
다음은 객체 지향 세계의 몇 가지 기본 개념입니다.
Objects − 개체는 개체와 기본 구성 요소를 나타냅니다.
Class − 클래스는 개체의 청사진입니다.
Abstraction − 추상화는 실제 개체의 행동을 나타냅니다.
Encapsulation − 캡슐화는 데이터를 함께 묶고 외부 세계로부터 숨기는 메커니즘입니다.
Inheritance − 상속은 기존 클래스에서 새 클래스를 만드는 메커니즘입니다.
Polymorphism − 다른 형태로 존재하는 메커니즘을 정의합니다.
OO 분석 및 설계
OO는 조사로 정의 할 수 있으며 좀 더 구체적으로 개체 조사입니다. 디자인은 식별 된 개체의 협업을 의미합니다.
따라서 OO 분석 및 설계 개념을 이해하는 것이 중요합니다. OO 분석의 가장 중요한 목적은 설계 할 시스템의 대상을 식별하는 것입니다. 이 분석은 기존 시스템에 대해서도 수행됩니다. 이제 효율적인 분석은 사물을 식별 할 수있는 방식으로 생각할 수있을 때만 가능합니다. 개체를 식별 한 후 관계를 식별하고 최종적으로 디자인을 생성합니다.
OO 분석 및 설계의 목적은 다음과 같이 설명 할 수 있습니다.
시스템의 개체 식별.
그들의 관계를 확인합니다.
OO 언어를 사용하여 실행 파일로 변환 할 수있는 디자인 만들기.
OO 개념을 적용하고 구현하는 세 가지 기본 단계가 있습니다. 단계는 다음과 같이 정의 할 수 있습니다.
OO Analysis → OO Design → OO implementation using OO languages
위의 세 가지 사항은 다음과 같이 자세히 설명 할 수 있습니다.
OO 분석 중 가장 중요한 목적은 객체를 식별하고 적절한 방식으로 설명하는 것입니다. 이러한 객체를 효율적으로 식별하면 다음 설계 작업이 쉬워집니다. 개체는 책임으로 식별되어야합니다. 책임은 객체가 수행하는 기능입니다. 각각의 모든 개체에는 수행해야 할 일부 유형의 책임이 있습니다. 이러한 책임이 합쳐지면 시스템의 목적이 달성됩니다.
두 번째 단계는 OO 디자인입니다. 이 단계에서는 요구 사항과 그 충족에 중점을 둡니다. 이 단계에서 개체는 의도 된 연결에 따라 공동 작업됩니다. 연결이 완료되면 디자인도 완료됩니다.
세 번째 단계는 OO 구현입니다. 이 단계에서 디자인은 자바, C ++ 등과 같은 OO 언어를 사용하여 구현됩니다.
OO 디자인에서 UML의 역할
UML은 소프트웨어 및 비 소프트웨어 시스템을 모델링하는 데 사용되는 모델링 언어입니다. UML은 비 소프트웨어 시스템에 사용되지만 OO 소프트웨어 응용 프로그램 모델링에 중점을 둡니다. 지금까지 논의 된 대부분의 UML 다이어그램은 정적, 동적 등과 같은 다양한 측면을 모델링하는 데 사용됩니다. 이제 측면이 무엇이든 아티팩트는 객체에 불과합니다.
클래스 다이어그램, 개체 다이어그램, 협업 다이어그램, 상호 작용 다이어그램을 살펴보면 기본적으로 개체를 기반으로 디자인됩니다.
따라서 OO 디자인과 UML의 관계를 이해하는 것은 매우 중요합니다. OO 디자인은 요구 사항에 따라 UML 다이어그램으로 변환됩니다. UML을 자세히 이해하기 전에 OO 개념을 제대로 익혀야합니다. OO 분석 및 설계가 완료되면 다음 단계는 매우 쉽습니다. OO 분석 및 설계의 입력은 UML 다이어그램에 대한 입력입니다.