Mirosławy, kto ogarnia UML? Słuchajcie, sprawa jest taka: poprawiam diagram klas, który #!$%@?łem bo nie bardzo rozumiałem co to znaczy ze "diagram klas nie modeluje uprawnień", czyli miałem przykładowo klasę
Raport z metodą
generuj() i klasę
Pracownik . Ja źle myślałem, ze skoro zakładam, ze to pracownik będzie generować raporty, to mam te klasy na diagramie powiązać - okazało się, ze nie, nie mam, no chyba że raport zawierałby
idGenerującego czy podobne bezpośrednie powiązanie z klasą
Pracownik . Więc poprzerabiałem już co trzeba, ale i tak utknąłem w jednym miejscu.
Mianowicie mam klasę
PracownikMagazynu , klasę
Towar oraz klasę
DokumentMagazynowy . Klasa
Towar ma metodę
umiescWMagazynie() ,
PracownikMagazynu ma swoje id, natomiast
DokumentMagazynowy , który miałby być tworzony za każdym razem kiedy pracownik umieści coś w magazynie, ma pola
idTowaru i
idPracownika . Teraz pytanie, biorąc pod uwagę to, co napisałem akapit wcześniej, czy mogę zrobić asocjację między
PracownikMagazynu i
Towar i jako klasę asocjacji ustawić
DokumentMagazynowy , czy z racji tego że
Towar i
PracownikMagazynu nie mają pól które jakoś by się ze sobą wiązały mogę zrobić co najwyżej asocjację między
@Marmite: W ogóle to dziwnie to modelujesz. Towar ma metodę dodajDoMagazynu()? Że niby co, towar dodaje coś do magazynu? Raczej pracownik dodaje towary do magazynu, więc powinna być metoda Pracownik.dodajDoMagazynu(towar), nie? I tak dalej. W programowaniu zorientowanym obiektowo chodzi chyba o to, żeby modelować świat rzeczywisty. Przynajmniej przeglądajDokumenty() dałeś dobrze :P
@Flood: No właśnie chodzi o to, że nie. Dla mnie też tak, jak Ty to opisałeś jest bardziej logiczne, ale z moich zajęć na ten temat oraz z korespondencji z prowadzącą, wynika, że to towar powinien mieć metodę umieszczającą go w magazynie.
Ja źle myślałem, ze skoro zakładam, ze to pracownik będzie generować raporty, to mam te klasy na diagramie powiązać - okazało się, ze nie, nie mam, no chyba że raport zawierałby idGenerującego czy podobne bezpośrednie powiązanie z klasą Pracownik
@Marmite: Przecież to jest normalna relacja <>, co niby w tym było złego?
@Marmite: Nie wiem jak tam w szkołach to wygląda ale jak dla mnie to ktoś poczytał sobie trochę o diagramie klas, trochę o relacyjnych bazach danych i cuduje :)
Jeden bankrut pożycza drugiemu bankrutowi. 400 mld euro poszło na odbicie malutkiej wsi robotajne a na tagu radość bo 61 mld dolarów przegłosowali xD Starczy na 2 miesiące po czym znów będzie objazd po wszystkich krajach prosząc o pieniądze bo za mało było xD #ukraina #rosja
Raport
z metodą
generuj()
i klasę
Pracownik
. Ja źle myślałem, ze skoro zakładam, ze to pracownik będzie generować raporty, to mam te klasy na diagramie powiązać - okazało się, ze nie, nie mam, no chyba że raport zawierałby
idGenerującego
czy podobne bezpośrednie powiązanie z klasą
Pracownik
. Więc poprzerabiałem już co trzeba, ale i tak utknąłem w jednym miejscu.
Mianowicie mam klasę
PracownikMagazynu
, klasę
Towar
oraz klasę
DokumentMagazynowy
. Klasa
Towar
ma metodę
umiescWMagazynie()
,
PracownikMagazynu
ma swoje id, natomiast
DokumentMagazynowy
, który miałby być tworzony za każdym razem kiedy pracownik umieści coś w magazynie, ma pola
idTowaru
i
idPracownika
. Teraz pytanie, biorąc pod uwagę to, co napisałem akapit wcześniej, czy mogę zrobić asocjację między
PracownikMagazynu
i
Towar
i jako klasę asocjacji ustawić
DokumentMagazynowy
, czy z racji tego że
Towar
i
PracownikMagazynu
nie mają pól które jakoś by się ze sobą wiązały mogę zrobić co najwyżej asocjację między
DokumentMagazynowy
i
Towar
oraz
DokumentMagazynowy
i
PracownikMagazynu
? #uml #programowanie
PracownikMagazynu
i
Towar
, a z dwiema asocjacjami: między
DokumentMagazynowy
i Towar oraz
DokumentMagazynowy
i
PracownikMagazynu
U nas trochę inaczej to wygląda, do tego ostatnio był już OCL, a jeszcze chcą BPMN nam wcisnąć ;<
@Marmite: Przecież to jest normalna relacja <>, co niby w tym było złego?
Edit: a właściwie <>