UML(Unified Modeling Language)은 1997년에 시작된 OMG 표준입니다. 이는 모델링 및 소프트웨어 시스템 개발을 지원하고 소프트웨어 개발 및 시각화의 모든 단계에 대한 모델을 제공하는 그래픽 언어입니다. 요구사항 분석부터 사양, 구축 및 구성까지 지원합니다. 객체지향 분석 및 설계(OOA&D, OOAD) 방식의 발전은 1980년대 후반부터 1990년대 중반까지 정점을 이루었고, UML은 이러한 정점의 산물이었다. 이는 Booch, Rumbaugh 및 Jacobson의 표현 방법을 통합했을 뿐만 아니라 이를 더욱 발전시켜 최종적으로 대중이 수용하는 표준 모델링 언어로 통합했습니다.
UML 클래스 다이어그램에서 일반적으로 사용되는 관계로는 Generalization, Realization, Association, Aggregation, Composition, dependency가 있습니다. 다음으로 이번 글을 통해 구체적인 내용을 하나씩 설명하겠습니다.
1. 일반화
[일반화 관계]: 일반 관계와 특수 관계를 표현하는 상속 관계입니다. 상위 클래스의 모든 특성과 동작을 하위 클래스가 어떻게 특화하는지를 지정합니다. 예: 호랑이는 호랑이의 특성을 지닌 동물입니다. 동물들 사이의 공통점도 마찬가지다.
[화살표 포인팅]: 삼각형 화살표가 있는 실선, 화살표는 상위 클래스를 가리킵니다.
2. 실현
[구현 관계]: 클래스와 인터페이스 사이의 관계로, 클래스는 인터페이스의 모든 특성과 동작을 구현한 것임을 나타냅니다.
[화살표 표시]: 삼각형 화살표가 있는 점선, 화살표는 인터페이스를 가리킵니다.
3. 협회
[연합 관계]: 일종의 소유권 관계로, 한 클래스가 다른 클래스의 속성과 방법을 알 수 있습니다. 예: 교사와 학생, 남편과 아내;
연관은 양방향일 수도 있고 단방향일 수도 있습니다. 양방향 연결에는 두 개의 화살표가 있거나 화살표가 없을 수 있으며, 단방향 연결에는 화살표가 하나 있습니다.
[코드 반영]: 멤버 변수
[화살표 및 포인팅]: 소유자를 가리키는 일반 화살표가 있는 실선
위 그림에서 교사와 학생은 양방향으로 관련되어 있습니다. 교사에는 여러 명의 학생이 있을 수 있고, 학생에게도 여러 명의 교사가 있을 수 있습니다. 그러나 학생과 과목의 관계는 일방적 관계입니다. 학생은 여러 과목을 수강할 수 있습니다. 과목은 추상적인 것이며 학생을 소유하지 않습니다.
위 그림은 그 자체의 관계를 보여줍니다.
4. 집계
[집합관계]: 전체와 부분의 관계이며, 부분은 전체와 독립적으로 존재할 수 있다. 예를 들어 자동차와 타이어는 전체와 부분의 관계를 가지고 있고, 타이어는 여전히 존재할 수 있다. 차 없이.
집합관계는 연관관계의 일종으로 강한 연관관계이므로, 연관과 집합은 문법적으로 구분할 수 없으며, 구체적인 논리적 관계를 검토해야 한다.
[코드 반영]: 멤버 변수
[화살표 및 포인팅] : 속이 빈 마름모가 있는 실선, 마름모는 전체를 가리킨다.
5. 구성
[결합관계]: 전체와 부분의 관계이지만, 부분은 전체와 별개로 존재할 수 없다. 예를 들어 회사와 부서의 관계는 회사가 없는 전체와 부분의 관계이다. , 부서가 없을 것입니다.
결합관계는 연관관계의 일종으로 집합관계보다 강한 관계로, 일반적인 집합관계에서 전체를 대표하는 객체가 부분을 대표하는 객체의 생명주기를 담당할 것을 요구한다.
[코드 반영]: 멤버 변수
[화살표 및 포인팅] : 실선에 실선 마름모, 마름모가 전체를 가리킴
6. 의존성
[종속성]: 사용 관계입니다. 즉, 한 클래스를 구현하려면 다른 클래스의 도움이 필요하므로 양방향 상호의존성을 사용하지 마십시오.
[코드 성능]: 지역 변수, 메서드 매개변수 또는 정적 메서드 호출
[화살표 및 포인팅]: 사용자를 가리키는 화살표가 있는 점선
다양한 관계의 강도 순서:
일반화 = 구현 > 구성 > 집계 > 연관 > 종속성
다음 UML 다이어그램은 다양한 클래스 다이어그램 관계를 더욱 생생하게 보여줍니다.
위 내용은 이 기사의 전체 내용입니다. 마음에 드셨으면 좋겠습니다.