2011-01-20 26 views
8

Czy mogę ulepszyć mój projekt na poniższych 2 schematach? Jeśli tak to jak?Kiedy używać klas skojarzeń UML?

Jestem zdezorientowany przez użycie klas asocjacyjnych w moich diagramach. Czy powinienem ich używać?

Rysunek 1

class diagram 1


Rysunek 2

class diagram 2

Odpowiedz

5

Dla klas stowarzyszenia, mają one sens tylko wtedy, gdy stanowią one skojarzenia z pewnym zachowaniu i stanie. Spójrz na artykuł "Podejście". Ma jedynie źródło, cel i tożsamość. Dla takiej asocjacji nie potrzebujesz klasy, wystarczy użyć zwykłego powiązania, które ma wszystkie te właściwości. W twoich diagramach jest więcej takich niepotrzebnych klas asocjacyjnych. Inną ważną rzeczą przy korzystaniu z klas asocjacji jest to, że każda instancja tej klasy asocjacji powinna mieć unikalną parę źródłową i docelową. Na przykład Komentarz nie jest identyfikowalny tylko na podstawie artykułu i użytkownika - jeden użytkownik może mieć dostęp do jednego artykułu, a to nie jest dozwolone.

+0

dziękuję za sugestię. Poprawię swój projekt za pomocą Twojej sugestii. Tak bardzo otwierasz mój umysł. i mam jedno pytanie do ciebie: "Czy mogę rozwiązać problem przez dodanie numeru komentarza w zależności od artykułu?" – Zabahey

+0

Nie jestem pewien, co myślisz, ale pamiętaj, że diagramy klas mają strukturę. –

6

Klasa stowarzyszeniowa służy do przechwytywania określonych cech powiązania między dwiema klasami. Te cechy nie należą do powiązanych klas, ale zamiast tego należą do relacji między klasami.