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

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

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

Podobné prezentace


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

1 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  myslíme v …  knihovna programátora Kritika nedostatků!

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 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 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. Další naprostá kravina !!! Jedná se o JEDEN vztah, ale dva směry čtení!

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 Š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 Š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  Meilir Page-Jones  GRADA Publishing  2001  moderní programování Kritika nedostatků!

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 4) Třída FILTR 3) Nesmyslné třídy 2) Špatné agregace 1) Samé agregace 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 UML a persistence  Scott W. Ambler  Be Realistic About the UML  Persistence Modeling in the UML  Toward Executable UML   Ambler je velice chytrý pán!!!

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 "X13DFA Kritika UML Ing. Martin Molhanec, CSc. 8. přednáška."

Podobné prezentace


Reklamy Google