Robert
Tokarczyk
Student,
Politechnika
Krakowska im.
Tadeusza Kościuszki
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Witam!Diagram został zrobiony w pluginie do środowiska Eclipse, a mianowicie MyEclipse UML.. Ale też nie jest w nim możliwa zmiana nazwy diagramu..
Mam jeszcze jedną prośbę o sprawdzenie diagramu klas gry snake, którą robię na Inżynierie Oprogramowania. Mam parę wątpliwości, do tego wygenerowanego przez środowisko, chociażby czy klasa Snake nie powinna mieć relacji zawierania SnakePart gdyż posiada ArrayListe obiektów tego typu.

Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Ja bym widział Sneak(węża) jako agregację swoich członów i głowy, z kolei głowa dziedziczy Part(człon).
Mateusz
Zakrzewski
Analityk systemów
informatycznych,
Analityk biznesowy
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Witam,Od jakiegoś czasu zadaje następujące pytanie wielu osobom zaangażowanym w procesy produkcji oprogramowania celem zaopiniowania. Czytając historię tego forum zauważyłem, że wiele zagadnień udaje się sensownie rozwiązać, dlategoteż jestem ciekaw zdania uczestników odnośnie niżej przedstawionego zagadnienia.
Jak najlepiej według Was zamodelować na diagramie klas przedstawione poniżej fakty:
1. Jedna osoba może posiadać wiele adresów
2. Jeden adres może być przypisany do jednej osoby
3. Każdy adres ma jeden określony typ
4. Jedna osoba może posiadać jeden adres danego typu
Z góry dziękuję za konstruktywne wypowiedzi.
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Jak najlepiej według Was zamodelować na diagramie klas przedstawione poniżej fakty:
1. Jedna osoba może posiadać wiele adresów
2. Jeden adres może być przypisany do jednej osoby
3. Każdy adres ma jeden określony typ
4. Jedna osoba może posiadać jeden adres danego typu
jak rozumieć pkt. 3.?
w każdym razie:
- adres to ValueObject (poczytaj wzorce DDD)
- adres jest kompozycją skojarzony z osobąJarek Żeliński edytował(a) ten post dnia 04.03.12 o godzinie 20:34
Mateusz
Zakrzewski
Analityk systemów
informatycznych,
Analityk biznesowy
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
3. Każdy adres ma jeden określony typChodzi o to, że osoba może mieć jeden adres korespondencyjny, jeden pobytu itd.Mateusz Zakrzewski edytował(a) ten post dnia 04.03.12 o godzinie 22:02
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
skąd ten drugi warunek? jest "nienaturalny"...
Mateusz
Zakrzewski
Analityk systemów
informatycznych,
Analityk biznesowy
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Jarek Żeliński:
skąd ten drugi warunek? jest "nienaturalny"...
Nie mogę zdecydowanie zaprzeczyć, ani też zdecydowanie poprzeć tego stwierdzenia. Aczkolwiek, czy możemy założyć na potrzeby tej dyskusji, że taki jest (abstrachując od jego "naturalności") i jedyne co możemy z tym faktem zrobić, to go zamodelować ? :)
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Mateusz Zakrzewski:
Jarek Żeliński:
skąd ten drugi warunek? jest "nienaturalny"...
Nie mogę zdecydowanie zaprzeczyć, ani też zdecydowanie poprzeć tego stwierdzenia. Aczkolwiek, czy możemy założyć na potrzeby tej dyskusji, że taki jest (abstrachując od jego "naturalności") i jedyne co możemy z tym faktem zrobić, to go zamodelować ? :)
sugeruje modelować stan możliwy (kilku ludzi pod jednym adresem) i ograniczenie wbić w logike (np. zmienny parametr).
tak więc jak opisałem: klasa osoba i adres jako ValueObject
Mateusz
Zakrzewski
Analityk systemów
informatycznych,
Analityk biznesowy
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Jarek Żeliński:
Mateusz Zakrzewski:
Jarek Żeliński:
skąd ten drugi warunek? jest "nienaturalny"...
Nie mogę zdecydowanie zaprzeczyć, ani też zdecydowanie poprzeć tego stwierdzenia. Aczkolwiek, czy możemy założyć na potrzeby tej dyskusji, że taki jest (abstrachując od jego "naturalności") i jedyne co możemy z tym faktem zrobić, to go zamodelować ? :)
sugeruje modelować stan możliwy (kilku ludzi pod jednym adresem) i ograniczenie wbić w logike (np. zmienny parametr).
tak więc jak opisałem: klasa osoba i adres jako ValueObject
Jak ktoś kiedyś powiedział: "Zdobywanie wiedzy przez analityka jest procesem ciągłym i nigdy się nie kończy"
Dziękuję za przysłowiową "wędkę"
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
chodzi o to:http://domaindrivendesign.org/node/135
Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Witam chciałbym prosić o cenne uwagi odnośnie modelu dziedziny, który ma reprezentować wycinek urzędu miasta:
Radosław Zadroga edytował(a) ten post dnia 12.03.12 o godzinie 22:12
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
na początek rzuć okiem na to:http://it-consulting.pl/autoinstalator/wordpress/2012/...
i na hasło "anemiczny model dziedziny" tu:
http://pl.wikipedia.org/wiki/Antywzorzec_projektowy
na razie to troszkę pomieszanie relacyjnej bazy z obiektowym modelem ...
Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Możliwe że słabo znam urząd miasta i obiekty które w nim sie znajdują, takie jest moje "odczucie" - poznanie tej organizacji. Czyli rozumiem że powinienem jednak lepiej zrozumieć organizację i pomimo że to pracownik urzędu wykonuje te operacje to tak na prawdę on tylko steruje a to obiekty umożliwiają dodanie danych, Zameldowanie - zamelduj, wymelduj?Radosław Zadroga edytował(a) ten post dnia 12.03.12 o godzinie 23:05
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Radosław Zadroga:
Możliwe że słabo znam urząd miasta i obiekty które w nim sie znajdują, takie jest moje "odczucie" - poznanie tej organizacji. Czyli rozumiem że powinienem jednak lepiej zrozumieć organizację i pomimo że to pracownik urzędu wykonuje te operacje to tak na prawdę on tylko steruje a to obiekty umożliwiają dodanie danych, Zameldowanie - zamelduj, wymelduj?
rzecz w tym, że system to nie urzędnik tylko narzędzie pracy
ale kilka pytań:
- dane rodowe zawierają dane osobowe?
- jak rozumieć dziedziczenie kierownika po urzędniku?
- jak rozumieć, ze dane kontaktowe zawierają referat?
Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
- dane rodowe zawierają dane osobowe?Dane rodowe zawierają dane osobowe rodzica, dziecka.
- jak rozumieć dziedziczenie kierownika po urzędniku?Kierownik ma te same operacje i atrybuty co urzędnik ale ma jeszcze swoje operacje, których jeszcze nie podałem, lub z braku ich usunę kierownika.
- jak rozumieć, ze dane kontaktowe zawierają referat?Lokal jest zawierany, referat ZP to katalog w którym znajduje się klasa w programie do modelowania.Radosław Zadroga edytował(a) ten post dnia 13.03.12 o godzinie 00:51
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Radosław Zadroga:
- dane rodowe zawierają dane osobowe?Dane rodowe zawierają dane osobowe rodzica, dziecka.
a mogę mieć ich wiele rożnych i "odłączanych"
- jak rozumieć dziedziczenie kierownika po urzędniku?Kierownik ma te same operacje i atrybuty co urzędnik ale ma jeszcze swoje operacje, których jeszcze nie podałem, lub z braku ich usunę kierownika.
czym jest obiekt kierownik w oprogramowaniu?
- jak rozumieć, ze dane kontaktowe zawierają referat?Lokal jest zawierany, referat ZP to katalog w którym znajduje się klasa w programie do modelowania.
nie rozumiem, Lokal ma adres, referatów może tam być wiele ale to wiele referatów mających "taki sam"adres jeżeli wynajmę mieszkanie kilku studentom to będą to "studenci, każdy z osobna" a to, że akurat dziś maja ten sam adres nie zmienia niczego "w nich", jutro mogą mieszkać gdzie indziej,
to dlatego napisałem, że diagram jest "bliski bazie danych" a nie dzidzinie
Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Jarek Żeliński:jeden obiekt danych rodowych mam rozumieć jako dane ojca,
...
a mogę mieć ich wiele rożnych i "odłączanych"
drugi obiekt jako dane matki,
trzeci dane jednego dziecka,
itd ?
...obiektem który ma te same operacje co urzędnik i dodatkowo własne
czym jest obiekt kierownik w oprogramowaniu?
wracając do pytania z wcześniejszego postu:
kierownik nie jest potomkiem urzędnika i dlatego nie powinno być dziedziczenia?
jak rozumieć dziedziczenie kierownika po urzędniku?
czy w związku z tym, zarządzaniem ma zajmować się Zarządca
spraw obywatelskich i od niego wtedy mogliby dziedziczyć urzędnik i kierownik?
nie rozumiem, Lokal ma adres, referatów może tam być wiele aletu chyba doszło do nieporozumienia, Lokal ma adres ale z adresu nie zrobiłem obiektu(może powinienem), nie chodzi o to że referat ma adres, tylko o to że Dane zameldowania zawierają Adres, Dane kontaktowe zawierają Adres.Radosław Zadroga edytował(a) ten post dnia 13.03.12 o godzinie 16:06
to wiele referatów mających "taki sam"adres
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Radosław Zadroga:
jeden obiekt danych rodowych mam rozumieć jako dane ojca,
drugi obiekt jako dane matki,
trzeci dane jednego dziecka,
itd ?
dlaczego nie obiekt "osoba" z informacją o rodzicach?
czym jest obiekt kierownik w oprogramowaniu?obiektem który ma te same operacje co urzędnik i dodatkowo własne
jakie operacje ma urzędnik?
kierownik nie jest potomkiem urzędnika i dlatego nie powinno być dziedziczenia?
potomkiem urzędnika jest jego dziecko :)
czy w związku z tym, zarządzaniem ma zajmować się Zarządca
spraw obywatelskich i od niego wtedy mogliby dziedziczyć urzędnik i kierownik?
tu chyba doszło do nieporozumienia, Lokal ma adres ale z adresu nie zrobiłem obiektu(może powinienem), nie chodzi o to że referat ma adres, tylko o to że Dane zameldowania zawierają Adres, Dane kontaktowe zawierają Adres.
proponuję wzorzec ValueObject na adres
Radosław
Zadroga
Student, UWM w
Olsztynie
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Jarek Żeliński:muszę Kogoś zacytować ;)
Radosław Zadroga:
jeden obiekt danych rodowych mam rozumieć jako dane ojca,
drugi obiekt jako dane matki,
trzeci dane jednego dziecka,
itd ?
dlaczego nie obiekt "osoba" z informacją o rodzicach?
źródło: http://it-consulting.pl/autoinstalator/wordpress/2012/...
Nie tworzymy więc klasy Produkt, bo produktem tym jest krzesło, które jest i będzie realnym krzesłem. Tworzymy klasę Dane produktu, bo tak na prawdę obiekt realizuje (zastępuje w aplikacji) papierową kartę, dane konkretnego produktu.
sprawdź dane,
jakie operacje ma urzędnik?
Jednak poprzedni diagram wrzucam do "kosza".

Czy stworzenie tak wygladającego obiektu Kartoteka osobowa nie jest kolejnym błędem projektowania?Radosław Zadroga edytował(a) ten post dnia 13.03.12 o godzinie 22:19
Jarek
Żeliński
Analityk biznesowy,
systemowy,
projektant aplikacji
(i fo...
Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się
Radosław Zadroga:
Jarek Żeliński:muszę Kogoś zacytować ;)
Radosław Zadroga:
jeden obiekt danych rodowych mam rozumieć jako dane ojca,
drugi obiekt jako dane matki,
trzeci dane jednego dziecka,
itd ?
dlaczego nie obiekt "osoba" z informacją o rodzicach?źródło: http://it-consulting.pl/autoinstalator/wordpress/2012/...
Nie tworzymy więc klasy Produkt, bo produktem tym jest krzesło, które jest i będzie realnym krzesłem. Tworzymy klasę Dane produktu, bo tak na prawdę obiekt realizuje (zastępuje w aplikacji) papierową kartę, dane konkretnego produktu.
:) pisząc tu o klasie "osoba" trzymałem ducha projektu :) ... inaczej musiałbym wywrócić go od razu do góry nogami :)
sprawdź dane,
jakie operacje ma urzędnik?
Jednak poprzedni diagram wrzucam do "kosza".
Czy stworzenie tak wygladającego obiektu Kartoteka osobowa nie jest kolejnym błędem projektowania?
przede wszystkim należy się w projekcie trzymać jednej konwencji, umieszczanie aktora na modelu dziedziny jest "wprowadzaniem" bytów z poza modelu (użytkownik systemu nie jest elementem dziedziny tego systemu bo jest poza nim), każdy projekt prowadzący do działającego kodu jest "dobrym projektem", jednak projektów nie ocenia się tylko w kategoriach "zadziałało" ale także w kategoriach, zrozumiałości, kosztu utrzymania, i innych... jak wiemy nie muszą być nawet obiektowe... rzecz w tym by trzymać się konsekwentnie jakieś konwencji... magazyn formularzy w konwencji DDD nie tworzy ich a dostaje na przechowanie, czy może je tworzyć? owszem ale to "inna konwencja". Dalej, czy aktor (zewnętrzny użytkownik) ma mieć możliwość wywołania bezpośrednio klasy dziedzinowej Magazyn_formularzy? Jak?
więc w pewnym sensie ten diagram także jest błędny... tak na prawdę nie rozumiem kto czym i w jakim celu tu zarządza....
