Za 3 dni egzamin - diagramy UML do oceny :-)

0

Witajcie,
niedługo egzamin, chcę przerobić trochę zadanek z sieci.
Poniżej załączam treść zadania i moje rozwiązanie.
Czy jest ono prawidłowe?
Proszę o wystawienie oceny i uwagi :-)

1

Nie ogarniam czemu kibice dziedziczą z zawodów a zawodnik z zawodników.

0

Dzięki Shalom, na Ciebie liczyłem, że pomożesz :-)
W założeniu chciałem, że kibice są częścią zawodów a zawodnik jest "podgrupą" zawodników [zawodnik jest częściowym elementem zawodników]....
Źle myślę?

0

IMHO treść zadania jest trochę durna.

0

To taki egzamin z podstaw podstaw więc i zadania takie szkolne. No ale przedmiot trzeba zaliczyć...

2
bbxb napisał(a):

Dzięki Shalom, na Ciebie liczyłem, że pomożesz :-)
W założeniu chciałem, że kibice są częścią zawodów a zawodnik jest "podgrupą" zawodników [zawodnik jest częściowym elementem zawodników]....
Źle myślę?

Skoro kibice są częścią zawodów, to po co tam dziedziczenie? A klasa "zawodnicy" jest bez sensu, wystarczy drużyna jako agregacja zawodników.

BTW, tak wygląda Twoje cudo pod FF: user image

Po cholerę ta przezroczystość?

0

Cześć,
poprawiłem zgodnie z Waszymi sugestiami i załączam nowy plik do postu. Zobaczcie czy tak może być i czy moje rozwiązanie spełnia warunki zadania??
Za tą przeźroczystość przepraszam, używam nowego programu [ArgoUML] i nie ogarniam tu tych opcji...

Dziękuję i pozdrawiam!

0

Co to są "konkurencje"? Bo jeśli to jest tylko lista konkurencji to możesz mieć agregację konkurencji po prostu a nie jakąś dodatkową klasę.
Co to są "zawodnicy"? jw
Nie widzę sensu wiązania sędziego i zawodnika.

0

No niby tak ale w takim razie jak tu wykonać warunki zadania?
W treści zadania mam podane co ma się znaleźć na diagramie.
Konkurencje i zawodnicy raczej trzeba traktowac jako liste konkurencji i liste zawodnikow.

1

Masz napisane że slowa mogą być nazwami atrybutów. Jak dla mnie agregacja pomiędzy konkurencją a zawodami i "konkurencje" jako nazwa atrybutu w klasie Zawody jest jak najbardziej ok.

0

Ja bym tam raczej kompozycje zrobił niż agregację, czy zawody mogą istnieć jeśli nie ma konkurencji, a konkurencja jeśli nie ma zawodów?
Idąc logiką, czy w zawodach może wziąć udział tylko jedna drużyna? Czy nie lepiej zacząć od min. dwóch?
Sam diagram można uprościć (co było napisane), wystarczy, że drużyna będzie miała
zawodnik : lista, to samo z zawody:
konkurencje : lista
Mały brak ciągłości językowej mnie bije po oczach (chyba tylko mnie :<), jak klasy i akcje nazywasz po polsku, to czemu jest newOperation po angielsku?
Raz tu na forum widziałem coś takiego:

    virtual void set_zdrowie(int);
    virtual int get_zasieg();
    virtual int get_sila();
    void set_pozycja(int n);
    virtual void przesun(int ile) ;
    virtual void set_start();
0

Ten brak ciągłości językowej to przypadek, new operation dodało mi się przypadkowo :-)

Mam ostatnią już prośbę. Poniżej załączam zadanie nr 2 wraz z moim rozwiązaniem. Jak poprzednio proszę o uwagi i poprawki :-)

Dzięki!!

0

Id to słaby pomysł na klasę. Podobnie jak klienci i pracownicy. Bezsensowne jest dziedziczenie klienta z klientów, jak i pracownika z pracowników.

0

To jak postąpić z klient/klienci i pracownik/pracownicy?
W poprzednim zadaniu też były nazwy podane w liczbie mnogiej i nie bardzo wiem jak to ugryźć.
Id może być atrybutem w klasie egzemplarz??

0

Znowu brakuje mi kompozycji przy katalog tytułów, czy katalog może istnieć jeśli nie ma w nim żadnego tytułu? Jest nawet sugestia, że powinny być użyte wszystkie rodzaje relacji, to z podstawowych brakuje jeszcze implementacji. Pracownik dziedziczy od pracowników, a klient od klientów? Jak to uzasadniasz? Klasa katalog_tytułów ma obiekty tytuł i egzemplarz? To chyba nie ma sensu, nie rezerwuje się tytułu tylko egzemplarz tytułu, rezerwując książkę nie rezerwuję wszystkich książek o podanym tytule przecież. Myślę, że egzemplarz mógłby dziedziczyć od tytułu, a katalog zawierać listę tytułów. Katalog agreguje id, ale tytuł i egzemplarz już nie? Umiesz to uzasadnić?

0

Nie wiem gdzie mógłbym wcisnąć tą implementację... :-(
Z tym pracownikiem/pracownikami chodzi mi o to, że pracownik jest elementem pracowników i zawiera ich cechy...

A teraz? [poprawki w załączniku].

0

Też nie mam pojęcia co z implementacją w tym przypadku, można z pracowników zrobić interface, ale to bez sensu robić interface dla tylko jednej klasy. Dla mnie większość OK, pytanie tylko ja uzasadnisz swój design, bo jesteś wyraźnie o to pytany w zadaniu.

0

Dzięki.
A nie brakuje tam zwykłej asocjacji pomiędzy klienci a pracownicy?

1 użytkowników online, w tym zalogowanych: 0, gości: 1