2010-12-06 4 views
1

죄송합니다.이 새 질문에 대해서는 UML을 처음 사용합니다.이 Uuml 다이어그램에서 누가 관련 클래스를 소유합니까?

시스템에 대한 그림은 이것이다 : 나는 UML을 알고 무엇을 아무 집계 관계가 없다,이 그림의 클래스 중 어느 것도 연관된 클래스의 인스턴스를 소유 할 수 없다

에서.

다이어그램을 기반으로 한 Java 시스템 구현에서 외부 클래스는 관련 클래스의 인스턴스를 소유해야합니까?

답변이 확실한 경우 죄송합니다. 나는 그것 위에 나의 머리를 긁적 인 시간을 보냈다.

답변

0

UML은 시스템의 완전한 동작을 지정하지 않습니다. 그렇다면 개체가 다른 개체를 소유하고 있다고 할 때 무엇을 의미합니까? 또한 AssociatedClass 인스턴스는 다른 객체가 소유하지 않은 루트 객체가 될 수 있습니다.

0

제공 한 다이어그램에 실제로 연관 클래스가 포함되어 있지 않습니다. '연관된 클래스'라는 클래스는 보통 클래스입니다. 그것은 또한 우리가 다이어그램에서 볼 수있는 어떤 것도 소유하지 않습니다. 당신이 생각했던 어떤 연관 클래스가 있었다면

는 다음 연관 클래스와 예 다이어그램을 살펴 :

이 예에서

an example class diagram with association class

는 MilleageCredit는 연관 클래스입니다. 그러므로 Fligh-FrequentFlyer의 각기 다른 조합에는 MilleageCredit이 하나 있습니다. 협회 클래스는 2 관련된 객체들 사이의 관계를 나타 내기 때문에

  • 협회가 연관 객체 중 하나 또는 둘 모두가
을 삭제
  • 취소하면이 삭제됩니다 소유권에 관해서는

    ,

    Flight 또는 FrequentFlyer를 삭제하면 MilleageCredit도 삭제됩니다. 또한 Flight를 FrequentFlyer에서 다시 연결 해제하면 MilleageCredit이 삭제됩니다.

    좋은 UML 워드 프로세서의 많음이 도움이 UML basics: The class diagram

    희망 예를 들어, 온라인있다, 그렇지 않으면 문제가 더 많은 정보를 제공하시기 바랍니다.

  • 1

    우선 용어입니다. @ 대니얼 말이 맞아요, 당신은 연관 수업이 없습니다. 그러나, 나는 당신이 협회 클래스를 의미 생각하지 않는다 :

    다이어그램을 기반으로 자바에서 시스템의 구현이 의미는, 외부 클래스가 연관된 클래스의 인스턴스를 소유해야합니까?

    질문이 정확히 이해되면. 구현 측면에서 어떤 클래스는 Associated Class 인스턴스에 대한 참조 목록을 포함하는 멤버 변수를 갖고 있습니까?내가 바로 이해한다면 - -

    은 다시 귀하의 질문에 다음과 같은 논리에서 비롯된 : UML에서

    1. 는 "소유권"일반적으로 집계 (또는 구성) 관계의 품질로 설명되어 있습니다.
    2. Aggregated/Composite PART ClassAssociated Class 사이의 관계는 Aggregate/Composite가 아닌 단순한 2 진 연관입니다.
    3. 따라서 "소유권"속성이 적용되지 않습니다.
    4. 따라서 누가 Associated Class 인스턴스에 대한 참조 목록을 소유하고 있습니까?

    그렇다면 문제는 "소유권"의 특정 의미입니다. UML에서 엄격하게 정의되지는 않지만 "소유권"은 일반적으로 전체 수명주기 관리에 대한 책임을 의미합니다.

    더 일반적인 것으로 해석합니다. 연관이 집계가 아닌 경우 참여하는 클래스는 서로에 대한 참조를 보유 할 수 없습니다.

    그렇지 않습니다. Aggregated/Composite PART ClassAssociated Class의 인스턴스 (또는 참조 목록)를 보유하는 것이 매우 합리적입니다. 반대의 경우도 똑같이 유효합니다. 경우에 따라 둘 다 유효합니다 (참석자가 일관성을 유지할 필요가 있음).

    요약하면 외부 클래스는 Associated Class 인스턴스를 소유해야합니까? 아니요. 관계의 인스턴스를 관리하기 위해 바이너리 연결의 양쪽 또는 양쪽 모두에 대해 완벽하게 유효합니다.

    귀하의 질문에 오해 한 경우 사과드립니다.

    추 신 : 최종 관찰 : 집계를 사용할 때의 의미에 대해 매우주의하십시오. UML 스펙에서는 악명이 높지 않습니다. 컴포지션은보다 엄격한 정의를 가지며 컴포지션 및 일반 이진 연결을 사용하여 모든 모델링 시나리오 중 99 % 이상을 커버 할 수 있습니다. Aggregation이 잘 정의 된 의미에 관해서는 다른 두 표현에 완전히 포함되지 않은 경우 재귀 적 관계가 비순환 적이어야하는 시점을 나타냅니다.

    관련 문제