Diskuze: Mam dobre UML?
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
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_zakaznik(): 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.
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.
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
Takze akterem(actor - ten panacek) je pouze uzivatel nebo system?
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.
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
Zobrazeno 7 zpráv z 7.