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

Slides:



Advertisements
Podobné prezentace
Normalizace Řada analytiků se mylně domnívá, že pro každý objekt existuje jedno jediné univerzálně použitelné nejlepší řešení bez ohledu na řešený problém.
Advertisements

Stručný úvod do UML.
Úvod do databázových systémů
CXPath Dotazování nad heterogenními XML zdroji s pomocí konceptuálního schéma Jan Vávra, 21. dubna 2004
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Microsoft Office Access
Business intelligence
Zjednodušeně pomocí UML
UML – několik kritických poznámek
A4M33NMS Návrh a modelování softwarových systémů
the Unified Modeling Language
Komunikační diagram (UML)
Databáze Jiří Kalousek.
Dynamické modelování PVY 2. pololetí 4.cv Bc. Jiří Šilhán.
ČVUT Praha, Fakulta elektrotechnická Diplomová práce Informační systém házenkářského turnaje Petr Plodík.
Seminář – Základy programování
X13PMT 2. seminář Ing. Martin Molhanec, CSc. Garant předmětu ČVUT – FEL, K13113.
Analýza informačního systému
KONCEPTUÁLNÍ MODELOVÁNÍ
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
Svět mýma očima Názor – základ osobnosti. Obsah jak stránek, tak hlavy Co se u mě dočtete? Co uvidíte? Na co se připravit? A na co raději zapomenout?
ONTOLOGIE a KONCEPTUÁLNÍ MODELOVÁNÍ (stručný úvod)
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
Programování Michal Žůrek.
13AMP 9. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled ADA ADA Java Java.
Modelovací jazyk UML. Jazyk UML je víceúčelový modelovací jazyk, který byl vyvinut speciálně pro účely softwarového inženýrství. Obsahuje formalizovaný.
Konceptuální návrh databáze
Základní pojmy Systém je abstrakce, kterou si lidé vytvářejí v procesu poznávání jako nástroj zkoumání reálných objektů.
Databázové systémy Přednáška č. 7 Uživatelské rozhraní.
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
OBJEKTOVÉ METODOLOGIE – JEJICH UŽITÍ A VÝKLAD Ing. Martin Molhanec, CSc.
Možnosti modelování požadavků na informační systém
B. Miniberger, BIVŠ Praha 2009
Převod ER schémat do ERL Deskripční logiky Mgr. Marek Vajgl.
Relační propojování tabulek. Úvod Tato prezentace má sloužit běžným uživatelům, jak začátníkům, tak i zkušeným uživatelům. Když budete postupovat podle.
Dokumentace objektů a zveřejnění funkcí
Algoritmizace a programování Binární soubory - 14 Mgr. Josef Nožička IKT Algoritmizace a programování
IB111 Programování a algoritmizace
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ FAKULTA STROJNÍ ÚSTAV PŘÍSTROJOVÉ A ŘÍDICÍ TECHNIKY ODBOR AUTOMATICKÉHO ŘÍZENÍ A INŽENÝRSKÉ INFORMATIKY Aplikace objektově.
Tento výukový materiál vznikl v rámci Operačního programu Vzdělávání pro konkurenceschopnost 1. KŠPA Kladno, s. r. o., Holandská 2531, Kladno,
Tvorba informačních systémů
Konceptuální návrh databáze
Typografická a estetická pravidla úpravy dokumentů
Databázové modelování
Databázové modelování
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Úvod do databázových systémů
Zám ě r diplomové práce Aplikace metody benchmarkingu v podnikovém prostředí Petr Ondrejka.
Označení materiálu: VY_32_INOVACE_KASPE_ANGLICTINA1_17
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Databázové systémy Datové modely.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
A jeho praktická aplikace Štěpán Vacek Univerzita Hradec Králové Liberecké informatické fórum 2010.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
Vývojová prostředí Objektově Orientované Programování OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Úvod do databázových systémů
Filosofie Základy logiky.
Relační databázová technologie
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Busines Object Relation Modeling
Ing. Martin Molhanec, CSc. CASE 10. přednáška
Transkript prezentace:

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

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

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

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

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 !

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!

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

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.

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

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!

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 !

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

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

Š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!

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

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

Š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 ?

Š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!

Š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!

Š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!

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

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.

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

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?

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á.

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.

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.

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 http://www.agilemodeling.com/essays/references.htm http://www.sdmagazine.com

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í

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