Několik informací ke kurzům UML a OOP
Takže předběžně ke kurzům UML a OOP, protože se mi nechce psát stále stejné věci každému zvlášť do mailu. V souvislosti se změnou zaměstnání se mění i některé věci ke kurzům.
- Kurzy OOP a UML již nebudou pořádány ve školícím středisku DIGI TRADE, ale ve velmi pěkných prostorách jiné společnosti, s níž jsem uzavřel "strategické partnerství" a jejíž jméno oznámím příští týden.
- První termín (pravděpodobně konec dubna/začátek května) patří kurzu Objektovými principy a návrhovými vzory řízený design a vývoj kvalitních aplikací., na kterém již mnozí z vás byli. Pro připomenutí níže vkládám program kurzu. Pokud máte již nyní zájem předběžně si zarezervovat místo na kurzu, pošlete prosím email na adresu petra@renestein.net. Cena kurzu je 13 000 Kč.
- Dále cca za měsíc zveřejním podrobný program a termín dalšího mého školení s pracovním podtitulem "Design aplikací a návrhové vzory prakticky - od chaosu k řádu".
- S novým školícím střediskem budeme také pořádat "jednodušší" (přesněji řečeno jinak zaměřený a více na základní znalosti orientovaný) kurz, uvádějící posluchače prakticky do světa UML (2.0). Podrobnosti a termín zveřejním do 14 dnů.
- Fungovat to bude takto - první dva kurzy je po administrativní stránce zcela na mě, kurz o UML bude po admistrativní stránce plně zajišťovat nové školící středisko. I program kurzu o UML jsem samozřejmě připravil i já, nikdy bych nemohl školit nějaké "předžvýkané" řečičky někoho jiného. Uvádím to zde jen proto, aby vás nemátlo, když se u některých kurzů objeví informace, že máte přihlášky posílat mně (respektive mé ženě) a u jiných budete přihlášky směřovat rovnou na nové školící středisko. Kurzy se ale budou vždy konat na stejném místě.
- Omlouvám se těm, kdo absolvovali první kurz a čekají na již poměrně dlouho slibované uvolnění studijních materiálů. Prozatím jsem nenašel čas (respektive vždy jsem našel zajímavější práci ;) , než je "vyčištění" materiálů k veřejnému použití) a také se mi nechce kvůli špatným zkušenostem uvolňovat materiály před konáním dalších kurzů, protože jsem se už v reálu setkal s tím, jak materiály neurčené široké veřejnosti začnou po internetu rychle kolovat, po čemž opravdu nijak netoužím. :(
1. den
- Přivítání účastníků kurzu.
- Úvodní informace o zaměření a organizaci kurzu.
- Základní pojmy OOP a UML..
- Mýty o OOP a UML.
- Vysvětlení rozdílů mezi business analýzou, systémovým designem a implementací aplikace na konkrétní platformě.
- Světlo v temnotách – Model Driven Architecture (MDA)
- Základní architektura a rozvrstvení aplikace.
- Statický pohled na systém – vytváříme základní diagram tříd a ověřujeme, že jsou v něm zaneseny všechny informace, jež jsou nám známy z případů užití.
- Zvolení složitosti diagramu tříd. Potřebujeme vždy flexibilní doménový model?
- Zapouzdření objektů, polymorfismus, návrh metod.
i. Důležitost principů kovariance a kontravariance.
ii. Různé typy soudržnosti metod.
iii. Rozhodnutí o typu viditelnosti u každého člena třídy.
iv. Jaké konstruktory by měl nabízet každý objekt z problémové domény? Jak určit vlastnosti pouze pro čtení.
v. Ověření bezpečného chování třídy vůči potenciálním klientům.
- Precizní definice vztahů mezi třídami. Asociace, kompozice, agregace, závislost, realizace, generalizace.
- Vysvětlení rozdílů mezi abstraktní třídou a rozhraním (interface).
i. Vztah mezi typem a podtypem.
ii. Rozpoznání primárního účelu (hlavního smyslu) třídy i jejich sekundárních odpovědností vynucených vztahy s objekty z různých vrstev.
- Praktický příklad - ukázka implementace vzorových vztahů mezi objekty, perzistence objektů z problémové domény a zobrazování dat. (jazyk C#)
- Separace kódu pro ukládání a obnovení objektů z perzistentního úložiště v samostatné vrstvě.
- Jak zajistíme, že v paměti počítače existuje nanejvýš jedna instance objektu se stejnou identitou.
- Ukázky různých způsobů mapování agregace, kompozice, generalizace a asociace do databáze.
- Zajištění existence maximálně jedné instance objektu v systému.
- Efektivní ukládání a nahrávání kolekcí.
- Jak se slučuje objektový přístup a přímé použití DataSetu (recordsetu) v uživatelském rozhraní?
- Odpovědi na dotazy frekventantů kurzu.
2. den
- Vysvětlení pojmu návrhový vzor.
- Kdy byste měli používat návrhové vzory?
- Základní vzory (GoF vzory)
- Vzory pro řízení vzniku objektů.
- Strukturální vzory.
- Vzory pro chování objektů.
- Začlenění návrhového vzoru do designu aplikace. Kreativní aplikace vzorů.
- Kompozice vzorů do vyšších sémantických celků.
- Příklady odvozených návrhových vzorů často používaných při designu informačního systému.
- Kdy byste neměli používat návrhové vzory?
- Příklad - ukázky implementace složitějších vzorů. (jazyk C#).
- Odpovědi na dotazy frekventantů kurzu.
3. den
- Typické problémy při modelování informačního systému a jejich řešení.
- Modelování složitých organizačních struktur.
- Výhody vytváření fasád (Facade) pro aplikace s více než jedním typem uživatelského rozhraní (lehký klient, těžký klient).
- Evidence kompletní historie objektu.
- Aplikační role a práva uživatelů.
- Vytvoření flexibilního systému, jehož chování je změněno bez rekompilace aplikace.
- Příklad – ukázky řešení problémů při modelování informačního systému. (jazyk C#).
- Odpovědi na dotazy frekventantů kurzu.
- Ukončení kurzu.
Sunday, 26 February 2006 20:27:49 (Central Europe Standard Time, UTC+01:00)
Kurzy UML a OOP | Návrhové vzory | UML