1. oddíl // Datové modelování a objektově orientovaný přístup // 1. Teoretické základy modelování na počítačích // 1.1 Lambda-kalkul // 1.1.1 Formální zápis, beta-redukce, alfa-konverze // 1.1.2 Lambda-výraz jako data // 1.1.3 Příklad alfa-konverze // 1.1.4 Eta-redukce // 1.2 Základy objektově orientovaného přístupu // 1.2.1 Historie a přehled // 1.2.1.1 Čistý versus smíšený přístup // 1.2.2 Objekt, zpráva, metoda // 1.2.2.1 Zprávy // 1.2.2.2 Protokol objektu // 1.2.2.3 Data a metody // 1.2.2.4 Polymorfismus // 1.2.3 Datové modelování s objekty // 1.2.3.1 Kolekce objektů // 1.2.3.2 Třídy objektů, instance tříd, extenze třídy // 1.2.3.3 Třídy versus kolekce // 1.2.3.4 Grafické zobrazení // 1.2.3.5 Hierarchie dědění objektů // 1.2.3.6 Skládání objektů // 1.2.3.7 Data a operace s nimi // 1.2.3.8 Změny protokolu kolekcí při operacích s daty // 1.2.3.9 Jak správně použít kolekce, atributy a skládání //
2. Modelovací jazyk UML // 2.1 Struktura UML // 2.1.1 Diagram tříd // 2.1.1.1 Asociace // 2.1.2 OCL // 3. Smalltalk // 3.1 Jazyk // 3.1.1 Pojmenování // 3.1.2 Zprávy // 3.1.2.1 Unární zprávy // 3.1.2.2 Binární zprávy // 3.1.2.3 Slovní zprávy // 3.1.2.4 Kaskáda zpráv // 3.1.2.5 Bloky // 3.1.3 Zápis metod // 3.1.3.1 Přístupové metody // 3.1.4 Řízení výpočtu // 3.1.5 Architektura programů ve Smalltalku // 3.1.6 Reflexe // 3.2 Vývojová prostředí // 3.2.1 VisualWorks // 3.2.2 STX // 3.2.3 Squeak // 3.2.3.1 Croquet // 3.3 Daskalos // 3.4 LambdaTalk // 4. Gemstone // 4.1 Historie Gemstone // 4.2 Vlastnosti Gemstone // 4.3 Programovací jazyk Smalltalk DB // 4.4 Příklad objektové databáze // 4.4.1 Popis úlohy // 4.4.2 Implementace úlohy // 4.4.3 Program v jazyce Smalltalk DB databázového systému Gemstone // 4.5 Příklady dotazů // 4.6 Shrnutí // 5. Příklady datových modelů // 5.1 Evidence přátel // 5.2 Obchod s pivem //
5.2.1 Třídy a kolekce // 5.2.2 Data // 5.2.3 Dotazy // 6. Pokročilé metody návrhu datového modelu // 6.1 Jak poznat správný návrh // 6.2 Objektová normalizace // 6.2.1 Datový objekt, atributy objektu // 6.2.2 Tři objektové normální formy // 6.2.2.1 10NF // 6.2.2.2 20NF // 6.2.2.3 30NF // 6.3 Transformace datového modelu // 6.3.1 Změny objektového schématu // 6.3.2 Refaktoring // 6.4 Návrhové vzory // 6.4.1 Co to je návrhový vzor // 6.4.2 Příklady návrhových vzorů // 6.4.2.1 Adaptér // 6.4.2.2 Skladba // 6.4.2.3 Dekorátor // 6.4.2.4 Stav // 7. Seznam použitých symbolů // 7.1 Formální zápis // 7.2 Jazyk Smalltalk // 2. oddíl // Datové modelování v projektování a tvorbě informačních systémů // 1. Objektové programování // 1.1 Programovací jazyky a prostředí // 1.1.1 Objektově orientované programovací jazyky // 1.1.2 Smíšené programovací jazyky // 2. Databázové systémy // 2.1 Objektově orientované databáze //
2.1.1 Objektový datový model // 2.1.2 Jak vytvořit objektovou databázovou aplikaci // 3. Metody analýzy a návrhu informačních systémů // 3.1 Otázka transformace zadání od uživatele do podoby objektového modelu // 4 Dnešní stav objektových nástrojů a technik // 4.1 Přínosy OOP // 4.2 Problémy OOP // 4.2.1 Odklon od původního OOP // 4.2.2 Problém s UML // 4.2.3 Nedostatečnost metod analýzy // 4.3 Pokrok v oblasti programovacích jazyků a prostředí // 4.4 Objektový přístup v databázových systémech // 4.4.1 Čisté objektové a objektově relační databáze // 4.4.2 Situace v České republice a ve světě // 4.4.3 Formální techniky návrhu objektových databází // 4.5 Metody řízení projektů informačních systémů // 4.5.1 Iterativní a evoluční versus sekvenční model // životního cyklu // 4.5.1.1 Sekvenční model životního cyklu // 4.5.1.2 Iterativní model životního cyklu // 4.5.1.3 Evoluční model životního cyklu //
4.5.2 Rigorózní versus agilní metodiky // 4.5.2.1 Rigorózní metodiky // 4.5.2.2 Agilní metodiky // 4.5.2.3 Příčina sporu // 4.6 Tvorba informačních systémů v kontextu // podnikového managementu // 4.6.1 Procesy a procesní modely requirement engineering // 4.6.2 Myšlenka konvergenčního inženýrství // 4.6.3 Vztah mezi informačním a řídícím systémem // uvnitř organizace // 4.6.4 Vztah k OOP // 5. Jak správně využít objektový přístup v projektech // informačních systémů // 5.1 Celopodnikový pohled // 5.2 Model životního cyklu projektu informačního systému // 5.2.1 Iniciace // 5.2.2 Konstrukce // 5.2.3 Dodání // 5.2.4 Provoz // 5.2.5 Jednotlivé týmy v procesech // 5.2.6 Provozní, testovací a vývojová platforma // 5.3 Postupná transformace datového modelu při projektování // 5.3.1 Metoda BORM // 5.3.1.1 Použití BORMu v praxi // 5.3.2 Vývoj pojmu objekt během projektování // 5.3.3 Fáze expanze a konzolidace //
5.3.4 Objekty reálného světa (business objekty) // 5.3.4.1 Metoda OBA // 5.3.4.2 Diagram ORD // 5.3.4.3 Podrobná analýza procesů // 5.3.4.4 Rozšíření modelu business procesů směrem nahoru // 5.3.4.5 Rozšíření modelu obchodních a správních procesů směrem dolů // 5.3.4.6 Simulace procesů // 5.3.4.7 Změna procesů Business Process Reengineering // 5.3.5 Logické konceptuální objekty // 5.3.6 Přechod od business objektů ke konceptuálním objektům // 5.3.6.1 Diagramy konceptuálních objektů // 5.3.7 Softwarové implementační objekty // 5.3.8 Přínos rozdělení modelu na business, konceptuální // a softwarové objekty // 5.3.9 Evoluce hierarchií objektů // 5.3.10 Tři dimenze objektového modelu zjednodušení složitosti // 5.3.11 Chyby, kterých je třeba se vyvarovat při modelování // 5.3.12 Zkušenosti // 5.4 Jazyk Smalltalku // 5.4.1 Jména objektů // 5.4.2 Konstanty // 5.4.2.1 Číselné konstanty // 5.4.2.2 Znakové konstanty //
5.4.2.3 Řetězcové konstanty // 5.4.2.4 Konstanty symbol // 5.4.2.5 Bajtová pole // 5.4.2.6 Pole jiných konstant konstant // 5.4.3 Proměnné // 5.4.4 Výrazy // 5.4.4.1 Zprávy // 5.4.4.2 Sekvence výrazů // 5.4.4.3 Kaskáda zpráv // 5.4.4.4 Návratový výraz // 5.4.4.5 Použití pomocných proměnných // 5.4.4.6 Bloky výrazů lambda výrazy // 5.4.5 Jednoduchý program // 5.4.6 Řízení výpočtu ve Smalltalku // 5.4.6.1 Větvení // 5.4.6.2 Iterace // 5.4.6.3 Operace nad sadami (Collection) // 6. Výkladový slovník // 7. Závěr