Advertisement

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

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.


Obrazek
18.12.2011, 12:14

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).
9.01.2012, 23:36

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.
4.03.2012, 20:27

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
4.03.2012, 20:33

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 typ

Chodzi 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
4.03.2012, 21:15

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"...
4.03.2012, 23:09

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ć ? :)
5.03.2012, 20:37

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
5.03.2012, 20:46

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ę"
5.03.2012, 21:21

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
5.03.2012, 21:48

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:

Obrazek
Radosław Zadroga edytował(a) ten post dnia 12.03.12 o godzinie 22:12
12.03.2012, 20:16

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 ...
12.03.2012, 22:45

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
12.03.2012, 23:03

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?
12.03.2012, 23:34

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
13.03.2012, 00:39

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
13.03.2012, 06:50

Radosław Zadroga Student, UWM w
Olsztynie

Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się

Jarek Żeliński:

...
a mogę mieć ich wiele rożnych i "odłączanych"
jeden obiekt danych rodowych mam rozumieć jako dane ojca,
drugi obiekt jako dane matki,
trzeci dane jednego dziecka,
itd ?
...
czym jest obiekt kierownik w oprogramowaniu?
obiektem który ma te same operacje co urzędnik i dodatkowo własne

wracając do pytania z wcześniejszego postu:

jak rozumieć dziedziczenie kierownika po urzędniku?
kierownik nie jest potomkiem urzędnika i dlatego nie powinno być dziedziczenia?
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 ale
to wiele referatów mających "taki sam"adres
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.Radosław Zadroga edytował(a) ten post dnia 13.03.12 o godzinie 16:06
13.03.2012, 11:59

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
13.03.2012, 20:58

Radosław Zadroga Student, UWM w
Olsztynie

Temat: UMLowa ośla łączka ;) czyli komentujemy ale nie czepiamy się

Jarek Żeliński:
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?
muszę Kogoś zacytować ;)

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.
źródło: http://it-consulting.pl/autoinstalator/wordpress/2012/...

jakie operacje ma urzędnik?
sprawdź dane,
Jednak poprzedni diagram wrzucam do "kosza".

Obrazek


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
13.03.2012, 22:14

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:
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?
muszę Kogoś zacytować ;)

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.
źródło: http://it-consulting.pl/autoinstalator/wordpress/2012/...

:) pisząc tu o klasie "osoba" trzymałem ducha projektu :) ... inaczej musiałbym wywrócić go od razu do góry nogami :)


jakie operacje ma urzędnik?
sprawdź dane,
Jednak poprzedni diagram wrzucam do "kosza".

Obrazek


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....
13.03.2012, 22:42



Wyślij zaproszenie do