VÝVOJ SOFTWARU  INFORMAČNÍ SYSTÉMY  VÝVOJ SOFTWARU 


VÝVOJ SOFTWARU

Softwarové projekty a jejich plánování

Příčiny vzniku softwarového inženýrství, historie a vývoj. Softwarový projekt, modely životního cyklu projektů, plánování projektů, techniky dokumentace.

Unifikovaný modelovací jazyk UML

Složky UML, elementy a diagramy UML, typy diagramů a jejich použití. 

Správa požadavků

Získávání, analýza a modelování požadavků, katalog požadavků, funkční a nefunkční požadavky.

Architektura programových systémů

Dokumentace architektury programových systémů, návrh architektury, referenční architektury, architektonické vzory.

Návrh programových systémů

Principy návrhu programového systému, vstupy a výstupy návrhu, komponenty, rozhranní.

Návrhové vzory

Základní typy návrhových vzorů, součásti vzoru, způsob použití. 

Testování programových systémů

Metody testování, typy testování. Validace, verifikace, akceptace.

Normalizace procesu vývoje

Proces vývoje, normy CMMI, ITIL, ISO, procesy v organizaci. 

Organizace softwarových týmů

Základy personalistiky a pravidla práce v softwarovém týmu, softwarové profese, organizace softwarových týmů.

Analýza a řízení rizik

Analýza a řízení softwarových rizik. Inspekce a revize.

Modelem řízený vývoj (MDA)

Modelem řízený vývoj a modelem řízená architektura, doménový (CIM), konceptuální (PIM), logický (PSM) a fyzický model, transformace modelů. Reverzní inženýrství.

Formální metody a CASE

Technologie specifikace požadavků, nástroje typu CASE. Formální metody specifikace

Servisně orientovaná architektura

Webové služby, WSDL, servisně orientovaná architektura (SOA). Procesně orientovaný

Softwarové metriky

Softwarová fyzika, softwarové metriky. Norma ISO9126, techniky odhadu pracnosti a doby řešení. Funkční body. COCOMO.

dotazovací jazyk sql

Dotaz, atribut, záznam. Typy příkazů (manipulace s tabulkou, záznamem). Klauzule příkazu SELECT. Agregační funkce. Klíčová slova ALL, DISTINCT, *, LIKE, EXISTS, IN, ANY, ALL. Kartézský součin, přirozené spojení, vnitřní a vnější spojení. 

indexy, optimalizace dotazu

Index, B stromový, bitmapový, selektivita sloupce. B strom, redundantní B strom, redundantní B+ strom. Jednosloupcový a vícesloupcový index, klastrovaný a neklastrovaný index. Optimalizace dotazu, plán provedení dotazu.

multidimenzionální databázový model a olap

OLTP a OLAP, typy OLAP. Datový sklad, datová kostka, dimenze, tabulka faktů. Hvězda a vločka. CUBE, ROLLUP, ALL. 

xml a dtd

XML, element, značka, atribut. Správně formovaný dokument, správně uzávorkovaný dokument, validní dokument. DTD, zápis elementu, a atributu, CDATA, ID, IDREF, IDREFS, entita (znaková, obecná, interní, externí, parametrická). 

dotazovací jazyk xpath

XPath, stromový model, cesta, krok, osa (její typy), test uzlu, podmínka. Funkce node(), text(), *, last(), position(), count(). Dotazování nad XML v SQL.

Dotazovací jazyk XQuery

Vztah XPath a XQuery. Konstruktory (přímé, počítané), výraz FLOWER a jeho klauzule. Hodnotové, obecné a uzlové operátory porovnání. Kvantifikátory every a some, in. Obdoba z SQL: vnější a vnitřní spojení, GROUP BY.

Transact SQL

Transact SQL, motivace. Proměnné. Procedura, parametry, EXEC. Funkce, RETURNS, RETURN, funkce vracející tabulku, zavolání funkce. Kurzor a příkazy pro práci s ním. Výjimky, zpracování a vyvolání.

Fulltextové vyhledávání

Fulltextové vyhledávání, synonyma, homonyma, hierarchie, asociace, tezaurus. Přesnost a úplnost, jejich vztah. Kritérium predikce, kritérium maxima. Boolský model, invertovaný seznam. Funkce CONTAINS, CONTAINSTABLE. Operátory FORMSOF, ISABOUT.

Prohledávání stavového prostoru

Definice stavového prostoru. Rozdíl mezi slepým a heuristickým prohledáváním. Prohledávání do šířky. Prohledávání do hloubky.

Základy teorie her

Typy her. Hra v normálním tvaru. Hra v explicitním tvaru. Optimální strategie

Způsoby reprezentování znalostí

Data, informace a znalosti v procesu rozhodování. Znalosti explicitní, implicitní a tacitní. Znalosti deklarativní a procedurální.

Znalostní modely

Znalostní modely a znalostní ontologie. Sémantické sítě, rámce, pravidla, případy.

Metody odvozování

Logické metody odvozování (dedukce, rezoluce). 

Práce s neurčitostí

Fuzzy množiny (průnik, sjednocení, doplněk) a fuzzy relace. Hrubé množiny. Vícehodnotová  logika (konjunkce, disjunkce). Rozhodování za rizika a neurčitosti. Fuzzy inference.  Pravděpodobnostní inference.  

Učení a adaptace

Definice úlohy empirického učení z dat. Učení s učitelem a bez učitele. Učení jako prohledávání a učení jako aproximace. Dávkové učení a inkrementální učení. Metody strojového učení. Učení a zapomínání. Integrování znalostí.  

Komunikace a kooperace

Reaktivní agenty. Umělý život. Deliberativní agenty. Interakce v multiagentních systémech  (koordinace, kooperace, komunikace).