130 likes | 259 Views
OBJEKTOVÉ METODOLOGIE – JEJICH UŽITÍ A VÝKLAD. Ing. Martin Molhanec, CSc. Úvod a zdroje nespokojenosti. Navazuji na svůj loňský příspěvek. Nejde jen o UML, ale o to, že studenti celkově špatně chápou o co v analýze vlastně jde. Nechápou co je to vlastně datová analýza.
E N D
OBJEKTOVÉ METODOLOGIE – JEJICH UŽITÍ A VÝKLAD Ing. Martin Molhanec, CSc.
Úvod a zdroje nespokojenosti • Navazuji na svůj loňský příspěvek. • Nejde jen o UML, ale o to, že studenti celkově špatně chápou o co v analýze vlastně jde. • Nechápou co je to vlastně datová analýza. • Pletou analýzu a implementaci do jednoho diagramu! • Dostupná literatura je špatná a spíše je poplete!
1) Samé agregace 2) Špatné agregace 4) Třída FILTR 3) Nesmyslné třídy 5) Vztah závislost
Při analýze programátorské objekty neexistují! Smalltalkanebantivojtismus • Smalltalk před studenty zastírá rozdíl mezi běžnými programátorskými objekty a objekty, které obalují přístup do databáze. • To je výhoda při implementaci. • Ale při datové analýze se musíme zabývat pouze objekty, které budou uloženy v databázi!
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?
Základní otázka objektů, tříd, vztahů a tak vůbec … • Výklad objektového paradigmatu není definitivní, existují různé názory a různí autoři. • Výklad se neustále vyvíjí. • Zkušený analytik si s výkladem poradí. • Student nikoliv! Naopak získá špatné návyky!
Shrnutí • Diagram tříd se v oblasti analýzy zabývá daty se kterými aplikace pracuje a nikoliv objekty vlastní aplikace. • Diagram tříd neobsahuje žádné šipky, protože je v něm nepotřebujeme! Ale vždy potřebujeme znát kardinalitu a parcialitu! • Je dobré dobře vědět jaký je rozdíl mezi agregací či kompozicí a vztahem 1 : M. • Předchozí znalost UML diagramů pro oblast implementace je pro oblast analýzy spíše nežádoucí.
Shrnutí • Programátorská zkušenost z jazyků podobných Smalltalku je také spíše na závadu • Programování může učit skoro každý, ale učit analýzu chce zkušenosti!
Shrnutí • V učebnicích UML se málokdy rozlišuje mezi užitím UML ve fázi analýzy a ve fázi implementace. • Je nutné pečlivě číst referenční manuál od vlastních autorů UML.
ČVUT-FEL, K-313 Technická 2 166 27 PRAHA 6 Tel.: ++420 2 2435 2118 Email: molhanec@fel.cvut.cz WWW: martin.feld.cvut.cz/~molhanec MOLHASOFT Křivenická 406 181 00 PRAHA 8 Tel.: ++420 233 55 05 21 Email: martin@molhanec.cz WWW: www.molhanec.cz Ing. Martin Molhanec, CSc.