UML에 대해 명심해야 할 점은 무엇을 사용할지 결정할 때 종종 실제 옳고 그른 대답은 없지만 일부 도구는 다른 것보다 낫다는 것입니다. UML은 단순히 의사 소통을위한 도구 일뿐 아니라 모든 사람이 의사 소통되는 내용을 이해하는 방식으로 도구가 사용되는 한 그 목적을 수행합니다.
클래스 다이어그램의 경우 가장 기본적인 수준에서 실제로는 연관 및 일반화로 모든 것을 모델링 할 수 있지만 다른 사람이보고 싶어하는 세부 사항은 부족합니다.
일반화에는 상속 관계가 일대일 관계이므로이를 언제 사용해야하는지 명확하게 알 수 있습니다.
연관성은 다른 클래스와의 관계 또는 의존성이있는 클래스를 설명합니다. 꽤 일반적인 일반화 (!) 때문에 집합과 구성의 대체에 사용될 수 있습니다.
개체 (B)가 다른 개체 (A)를 구성하고 다른 개체간에 B를 공유 할 수있는 경우 집계가 사용됩니다. 예를 들어, 도서관은 책으로 구성되어 있기 때문에 책을 빌려 본 사람과 같이 책을 집계 할 수 있기 때문에 책을 도서관의 집합체로 모델링 할 수 있습니다.
오브젝트 (B)를 직접 사용하여 오브젝트 (A)를 구성하는 경우 컴포지션을 사용하십시오. 이 경우 인체를 모델링하고 장기의 클래스가 있다면 바디 클래스의 컴포지션 객체로 하트 클래스를 모델링합니다.
Qt 프레임 워크를 사용한다는 사실은 클래스 모델링에 사용하는 것과는 관련이 없으므로 다이어그램에 모든 것을 모델링 할 필요는 없으며 개념을 다른 사람들에게 전달하는 데 필요한 것만 있습니다.
예를 들어 QList 및 QMap과 같은 컨테이너 클래스를 사용하는 경우 다이어그램에 컨테이너 클래스가 필요하지 않을 수도 있지만 QTcpSocket을 사용하고 그 클래스에서 상속하는 경우 더 좋을 수 있습니다. 그걸 보여줘.
당신이 의사 소통하려고하는 모든 것을 기억하십시오.