Marek Błaszczyk

Marek Błaszczyk Student,
Politechnika
Poznańska

Temat: diagram klas - co poprawić?

Witam,

w załączniku diagram klas dla modelu magazynu produktów spożywczych - szybko rotujących. Utknąłem w tym miejscu, co jeszcze mógłbym dodać? Jestem w tym bardzo początkujący. Z góry dziękuję za pomoc.


Obrazek

Temat: diagram klas - co poprawić?

1. Klient nie jest osobą? (brakuje dziedziczenia)
2. Faktura powinna być klasą asocjacyjną dla klient - zamówienie
3. Czemu zamówienie ma liste produktów a nie jest podłączone pod np: produkt asocjacją *-*
4. Są 4 dziedziczenia do pracownika magazynu - powinno być 1 aczkolwiek myśle, że to wina (chyba robiłes to w Visual Paradigm) narzędzia rysującego diagram
5. ID klas nie umieszcza się w atrybutach (np w klasie Klient masz ID Klienta)
6. Wszędzie tam gdzie masz id jakieś klasy w atrybutach (np: towar przeterminowy i atrybut id_produktu) powinna być asocjacja pomiędzy klasami i ten atrybut wyrzucony
7. Produkt mógł by być w agregacji z katalogiem produktów

to tak na szybko co mi się rzuciło w oczyŁukasz Czarnołęcki edytował(a) ten post dnia 07.11.12 o godzinie 07:44
Marek Błaszczyk

Marek Błaszczyk Student,
Politechnika
Poznańska

Temat: diagram klas - co poprawić?

Poprawiłem wg. zaleceń kilka elementów dodałem, czy teraz jest dobrze? Czegoś jeszcze brakuje?

Obrazek

Temat: diagram klas - co poprawić?

Nie znam specyfikacji systemu ale na oko diagram klas wydaje mi się być ok.

Osobiście zrobił bym jeszcze klasę Adres (masz to jako atrybut w magazynie i kliencie jako String) z atrybutami typu ulica, kod-pocztowy, miast etc.

ps.
dziedziczenia od pracownika magazynu i osobie powinny mięć tylko 1 grot, konwencja mówi, że nazwy klas z dużej litery

ps2.
Z ciekawości zapytam co robi metoda sprzataj() w Woźnym? ;)Łukasz Czarnołęcki edytował(a) ten post dnia 07.11.12 o godzinie 14:34
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: diagram klas - co poprawić?

co przedstawia diagram: model pojęciowy czy strukturę kody? Obecnie nie wiem co o nim sądzić...

zajrzyj tu:
http://it-consulting.pl/autoinstalator/wordpress/2011/...Jarek Żeliński edytował(a) ten post dnia 08.11.12 o godzinie 08:58

konto usunięte

Temat: diagram klas - co poprawić?

Przede wszystkim bym podzielił to na cztery osobne diagramy: osoby, magazyn, katalog produktów oraz płatności. Osobiście nie lubię, jak na jednym diagramie dzieje się za dużo, bo dość szybko można się pogubić we własnych tworach:)

1) Osoba:
Zlikwidowałbym trochę dziedziczenia, bo naprawdę generuje to zazwyczaj więcej problemów niż korzyści.
Skoro klasa Osoba to jedynie dane dotyczące klienta bądź pracownika, to zrobiłbym z tego asocjację i zmienił nazwę na DaneOsobowe, czy coś w tym stylu. Jedno dziedziczenie znika:)
Magazynier, dyrektor, woźny i kasjer to typy pracowników, więc również wierzę, że można to rozwiązać za pomocą asocjacji, a nie dziedziczenia, ale taki zabieg wymaga już głębszego zastanowienia się:)
Jaka będzie korzyść? Dodanie kolejnego typu pracownika w przyszłości będzie dziecinnie proste i nie będzie wymagało większych ingerencji w istniejący kod.

2) Magazyn:
Te wszystkie towary są jak na mój gust zbyt podobne. Wydaje mi się, że dałoby się wyciągnąć jakąś część wspólną, ale to tylko przypuszczenie, bo wiele zależy od tego (możliwe, że iluzorycznego:) podobieństwa.

3) Te liczne klasy będące typami pracowników oraz towarów, to moim zdaniem coś, co w przyszłości może przysporzyć Ci sporych problemów, bo (patrząc na projekt) w każdym miejscu gdzie będą wykorzystywane ich obiekty, będziesz musiał wiedzieć, której konkretnej klasy jest to instancja.
Takie coś utrudni Ci wprowadzanie jakichkolwiek zmian, lepiej opierać się na interfejsach niż na konkretnych klasach.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: diagram klas - co poprawić?

nada jest aktualne pytanie: do czego ma posłużyć ten diagram klas?

kilka uwag do obecnego:
- towar przeterminowany, świeży i bliski termin ważności to stano obiektu towar, zmiany tych stanów sa łatwe do opisania (jeżeli data dzisiejsza jest większa od daty ważności ustaw przeterminowany) czyli jedna klasa i diagram maszyny stanowej jako jej dokumentacja
- dlaczego produkty nie są w magazynie
- czym nie jest towar a czym nie jest produkt skoro są to rozłączne i niedziedziczące klasy
- system dziedziczenia po osobie będzie dużym wyzwaniem dla programistów.... nie wyobrażam sobie ORM'a do tego....
- klient i katalog: używa to nie asocjacja a użycie (linia przerywana z grotem).

ogólnie diagram jest pomieszaniem modelu pojęciowego i modelu dziedziny, nie wiem czy w tej postaci byłby użyteczny.... to pytanie do programistów.Jarek Żeliński edytował(a) ten post dnia 08.11.12 o godzinie 17:41
Mateusz Kurleto

Mateusz Kurleto Szukamy wybitnych
talentów do
świetnego zespołu IT
w Gdańsku

Temat: diagram klas - co poprawić?

To jest kompletna pomyłka. Proponuję zacząć od odpowiedzi na pytanie Jarka.
A ja tylko chciałbym zapytać co robi metoda sprzątaj() i metoda złóż_zamówienie() tych klas dziedziczących po osobie...

Następna dyskusja:

Diagram klas analitycznych




Wyślij zaproszenie do