IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
mnauik
Člen
Avatar
mnauik:10.4.2014 23:59

Ahoj, dobry den,
ucim se UML, zkousel jsem 2 typy diagramu a to UseCase a ClassDiagram (pripadne me opravte, pokud uzivam nepresnou terminologii)

Zatim jsem je studoval jen teoreticky, tento je muj prvni. Doufam, ze me co nejvic zkritizujete :D (myslim to vazne, neurazim se), zajimalo by me, co byste udelali lip, co byste pridali, co byste odebrali a co je nepresne a co je uplne spatne. Dekuji :)

/* Pokud se obrazek nezobrazuje, tak napiste a ja ho upnu */

Odpovědět
10.4.2014 23:59
minusuj mě, ale zdůvodni to ;)
Avatar
adder
Člen
Avatar
adder:11.4.2014 6:41

Use Case diagramu nerozumím a raději se vrhnu na class, se kterým jsem trochu dělal.. Začnu od zákazníka. Třída zákazník je vcelku v pohodě akotát bych přidal metodu zaplatit():void a dále (není to chyba, myslím), ale do doplňoval bych u těch metod kempletní údaje např. zaplatit(Jidlo jake): void, ať to je přehlednější. A když jsem u přehlednosti, je dobré také vyznačovat, co je public (+), private(-) a protected(#).
Dále tvoje vazby. Normání šipka značí asociaci, což znamená, že metodě předáš jinou instanci objektu jen po dobu vykonaní té metody. Asociace v případě Zakazní-Servirka je smysluplná u jiných nevidím smysl nebo jsou špatně. Vídím, že tam máš často použitou agregaci, což je o něco silnější vazba než asociace. Agregace znamená, že objekt je provázan do zániku s agregovaným objektem. (snad jsem to napsal dobře :) ) V případě Zakazník-Restarace bych volil např. atribut m_pocet_zakazniku : int a poté bych dal metodu m_prisel_zakaz­nik(): void. V tvém případě by tam nejspíš byla nějaká databáze se zákazníkama, kteří jsou v restauraci. V třídě restaurace by měli být atribyty typu: m_servirka : Serverika a Kuchar : Kuchar. Kuchar - nemá metodu uvaritJidlo() a Třída StulSJidlem my připadá nesmyslná.

A ještě bych mohl napsat o kompozici, to je další vztah, kdy máš objekt v něm je odkaz na jiný objekt, který necháš vzniknout v daném objektu, tj. konstruktoru objektu. Lépe by se to vysvětlovalo na obrázku. A potom je ještě vnořená třída. Což je nejsilnější vztah.
Nezaručuji, že to, co jsem napsal je zcela správně. Dlouho už jsem uml nedělal a chybí mi ta logika. :)

Nahoru Odpovědět
11.4.2014 6:41
I’m going to lay this brick as perfectly as a brick can be laid.
Avatar
mnauik
Člen
Avatar
Odpovídá na adder
mnauik:11.4.2014 16:21

Dekuji za kritiku.

Ze zdroju a myslim, ze to bylo i tady na devbooku, ze pokud zanikne objekt, na ktery agreguji, tak ten "podrazeny" objekt muze existovat. Pokud by nemohl, pak se jedna o kompozici (je to velmi silna agregace).

Jinak u asociace jsem myslel, ze se propojuji vsechny objekty, ktere mezi sebou komunikuji (i vzajemne), ale ne tak silne, aby to byla agregace.

Nahoru Odpovědět
11.4.2014 16:21
minusuj mě, ale zdůvodni to ;)
Avatar
Martist
Člen
Avatar
Odpovídá na mnauik
Martist:11.4.2014 16:50

Já bych ti, pokud můžu, něco řekl k tomu UseCase, pokud si to ještě správně pamatuji z dob, kdy jsem nějaké dělal. Hlavní věcí asi je, že jednotlivé "bubliny" signalizují aktivity, takže bublina "jídlo" by tam neměla být. Stejně tak bublina Zákazník. Představ si, že bys ke každé bublině měl být schopný napsat scénáře - něco jako nejčastější průběh dané aktivity... Tím se dostávám k tomu, že mi toto téma nepřijde příliš vhodné na aplikování UML diagramů, přijde mi, že tam toho moc nevymyslíš. Napadá mě zkusit třeba něco systémovějšího - třeba internetový obchod, rezervace letenek atp. - něco, kde uživatel komunikuje se systémem... Takhle to aspoň vidím já, snad jsem ti neřekl nějakou hloupost a snad jsem aspoň trochu pomohl :)

 
Nahoru Odpovědět
11.4.2014 16:50
Avatar
mnauik
Člen
Avatar
Odpovídá na Martist
mnauik:11.4.2014 17:03

Takze akterem(actor - ten panacek) je pouze uzivatel nebo system?

Nahoru Odpovědět
11.4.2014 17:03
minusuj mě, ale zdůvodni to ;)
Avatar
Martist
Člen
Avatar
Odpovídá na mnauik
Martist:11.4.2014 17:28

Systém se jako actor přímo nezakresluje, pouze jakoby definuješ možnosti jednotlivých aktérů, jak se systémem komunikují. Aktér pak může být jakákoliv živá osoba, který se systémem právě nějak komunikuje.

 
Nahoru Odpovědět
11.4.2014 17:28
Avatar
adder
Člen
Avatar
Odpovídá na mnauik
adder:11.4.2014 17:42

S tím první bodem souhlasím. Možná jsem se blbě vyjádřil nebo jsem se zamotal, ale souhlasím.
Ano asociace při nějaké provázanosti. Osobně jsem používal asociaci, jen když jsem metodě předával odkaz na jiný objekt.
Ja děkuji za diskusi. :) hezkej den přeji

Nahoru Odpovědět
11.4.2014 17:42
I’m going to lay this brick as perfectly as a brick can be laid.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.