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!
4) Třída FILTR 3) Nesmyslné třídy 2) Špatné agregace 1) Samé agregace 5) Vztah závislost
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! Smalltalk aneb antivojtismus
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á PRAHA 6 Tel.: WWW: martin.feld.cvut.cz/~molhanec MOLHASOFT Křivenická PRAHA 8 Tel.: WWW: