Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Ing. Martin Molhanec, CSc. 8. přednáška

Podobné prezentace


Prezentace na téma: "Ing. Martin Molhanec, CSc. 8. přednáška"— Transkript prezentace:

1 Ing. Martin Molhanec, CSc. 8. přednáška
X13DFA Kritika UML Ing. Martin Molhanec, CSc. 8. přednáška

2 UML Ambiciózní nástroj Široce podporovaný Pořád se o něm mluví
Nekritické upřednostňování Chybné používání!!!

3 Myslíme v jazyku UML Joseph Schmuller GRADA Publishing 2001
Kritika nedostatků! Joseph Schmuller GRADA Publishing 2001 myslíme v … knihovna programátora

4 Směr vztahu Pro vysvětlení toho co je vztah (asociace) naprosto nevhodné! Jedná se totiž o zprávu (message).

5 Směr vztahu Asociace „zapnout“ je jednosměrná. Znamená to, že vy zapínáte televizi. Ať už sledujete televizi rádi nebo ne, televize vám vaší náklonnost neoplácí. Jiné asociace, jako např. „je ženatý/vdaná“ jsou obousměrné. Nesmysl ! Asociace nemá žádný směr ! Aspoň v tom významu, jak je zde vysvětlováno !

6 Takhle to je správně dle autorů UML!
Směr vztahu „Intuitively, the name arrow shows which way to „read“ the name“ Takhle to je správně dle autorů UML!

7 Směr vztahu Zatím je to správně.

8 Směr vztahu Další naprostá kravina !!! Jedná se o JEDEN vztah, ale dva směry čtení! Asociace mohou fungovat také opačným směrem: mužstvo zaměstnává hráče. Obě asociace můžete znázornit ve stejném diagramu, směr asociace určuje vybarvený trojúhelník.

9 Další možné nesprávnosti
Není zcela korektní!

10 Další možné nesprávnosti
Vztahová třída (associated class) Jen klíče Vazební entita (třída) Zhmotnělý vztah (reified association) Klíče a atributy Defakto normální entita (třída) Smlouva je toto!

11 Takže nezkušený čtenář ani nezjistí, že může také existovat !
Špatný výklad Není příklad na M : N !!! Takže nezkušený čtenář ani nezjistí, že může také existovat !

12 Špatný výklad Řidič řídí cestující ?! A co autor chtěl tímto příkladem vlastně povědět ?

13 V knize nesmyslně vysvětleno! Zapomeňte!
Špatný výklad V knize nesmyslně vysvětleno! Zapomeňte!

14 Špatný výklad Ano, ale zde se jedná už o implementaci! A ta nás v analýze nezajímá, ale to není nikde vysvětleno!

15 Špatný výklad Autoři by se podivili!

16 Základy objektově orientovaného návrhu v UML
Kritika nedostatků! Meilir Page-Jones GRADA Publishing 2001 moderní programování

17 Špatný výklad Operace je abstraktní, když nemá žádnou implementaci. Abstraktní třída nevytváří instance objektů obvykle proto, že má definovanou alespoň jednu abstraktní operaci. A složitěji už to nejde ?

18 Špatný výklad Asociace neboli vztah se v tradičním informačním modelování obvykle označuje slovesem. Modeláři v objektově orientovaném světě však dávají přednost nazvání asociace podstatným jménem v jednotném čísle. Důvod: asociace je v zásadě třída, jejíž pojmenování podstatným jménem je nejpřirozenější. Naprostá kravina, kterou si asi vymyslel přihlouplý programátor, který neví vůbec nic o analýze!

19 Špatný výklad Správný název vztahu je pochopitelně: VLASTNÍ! Čili sloveso ! Pokud se nám tam tlačí podstatné jméno půjde samozřejmě o třídu a nic nemusim povyšovat!

20 Špatný výklad Průchodnost (navigability) v analýze zcela zbytečná. Navíc výklad je zcela nesmyslný, napsaný programátorem v jazyce C!

21 Studentský příklad Při analýze programátorské objekty neexistují!
1) Samé agregace 2) Špatné agregace Při analýze programátorské objekty neexistují! 4) Třída FILTR 3) Nesmyslné třídy 5) Vztah závislost

22 Diagram tříd v analýze Je pokračování ER diagramu.
Je konceptuální, nikoliv fyzický. Zobrazuje data se kterými aplikace pracuje! Nezobrazuje implementačně závislé věci.

23 Vztahy v diagramu tříd Žádné šipky nejsou třeba!
V UML se kreslí v diagramu tříd šipky Navigace (to je ale implementační, ne relační záležitost) Závislost (opět implementační, trochu nejasně definovaná záležitost) Zpráva (nemá co dělat v datovém diagramu) Jedině přípustný je tento symbol ►, který určuje jakým směrem se čte název vztahu

24 Co je to kontejner? Velice často se plete se vztahem 1:M.
Studenti ho nadužívají. Matter of taste  Celek a část mají fyzickou nebo jí podobnou souvislost. Zkusme uvažovat co se stane, když pohneme částí. Bude se pohybovat i celek?

25 Shrnutí Jsou psány především pro programátory a to zejména v jazyku C++. Proto se na svět okolo nás dívají pohledem implementace a nikoliv pohledem analytika! Nezdůrazňují, které konstrukty se mají užívat ve fázi analýzy a které až ve fázi implementace! Některé příklady nejsou vhodně zvoleny nebo jsou nedostatečně popsány, takže nejsou buď pochopitelné nebo jsou zavádějící. Vždycky je nutné se dívat do referenční knihy autorů UML. Bez jejich vysvětlení, jak jsou jednotlivé konstrukty myšlené, je bohužel četba všech ostatních knih o UML nedostatečná.

26 Celkové shrnutí Učebnice UML jsou v mnoha případech mírně řečeno zavádějící. Málokdy se v nich rozlišuje mezi užitím UML ve fázi analýzy a ve fázi implementace. UML není v současné době postačujícím nástrojem v oblasti datového modelování a návrhu uživatelského rozhraní. Je nutné pečlivě číst referenční manuál od vlastních autorů UML.

27 Tvrzení UML není konečným řešením v oblasti analýzy a návrhu, jak se nám snaží namluvit někteří prodejci nástrojů, které UML podporují. Pokud někdo používá pro vývoj svých programů UML, neznamená to automaticky nejvyšší kvalitu. Použití jiných nástrojů než UML, neznamená nijakou degradaci, jak se nám opět snaží namluvit někteří prodejci nástrojů podporujících UML. To, že UML podporují velké firmy a stojí za ním velká jména, neznamená automaticky, že nelze nic dalšího než UML použít nebo vytvořit.

28 Ambler je velice chytrý pán!!!
UML a persistence Ambler je velice chytrý pán!!! Scott W. Ambler Be Realistic About the UML Persistence Modeling in the UML Toward Executable UML

29 Další poměrně dobré knihy
UML a unifikovaný proces vývoje aplikací Jim Arlow, Ila Neustadt Computer Press (Addison-Wesley) 2003 Popisují užití UML v rámci vývoje aplikací! UML srozumitelně Hana Kanisová, Miroslav Müller Computer Press 2004 Zmiňují i datové modelování

30 Nevím co to je, ale to hezké 


Stáhnout ppt "Ing. Martin Molhanec, CSc. 8. přednáška"

Podobné prezentace


Reklamy Google