PředmětyPředměty(verze: 945)
Předmět, akademický rok 2023/2024
   Přihlásit přes CAS
Softwarové a datové inženýrství - NSZI069 (Informatika nMgr. - zaměření Softwarové a datové inženýrství)
Anglický název: Software and Data Egineering
Zajišťuje: Studijní oddělení (32-STUD)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2021
Semestr: oba
E-Kredity: 0
Rozsah, examinace: 0/0, SZ [HT]
Počet míst: neomezen
Minimální obsazenost: neomezen
4EU+: ne
Virtuální mobilita / počet míst pro virtuální mobilitu: ne
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Způsob výuky: prezenční
Poznámka: student může plnit i v dalších letech
za splnění nejsou body
předmět lze zapsat v ZS i LS
Pořadí Název předmětu
Tématický okruh 1 (TO1) z nabídky 3
1 Analýza a architektury software (povinný pro zaměření: Softwarové inženýrství)
2 Rozšířené programování (povinný pro zaměření: Softwarové inženýrství, Vývoj software)
3 Softwarové technologie (povinný pro zaměření: Vývoj software)
4 Webové technologie (povinný pro zaměření: Webové inženýrství)
5 Formální základy databázových systémů a dotazovací jazyky (povinný pro zaměření: Webové inženýrství, Databázové systémy)
6 Implementace databázových systémů (povinný pro zaměření: Databázové systémy)
7 Zpracování rozsáhlých a~nestrukturovaných dat (povinný pro zaměření: Analýza a~zpracování rozsáhlých dat)
8 Data mining (povinný pro zaměření: Analýza a~zpracování rozsáhlých dat)
Požadavky ke zkoušce
Poslední úprava: Mgr. Dina Novotná Obeidová (14.07.2022)

Státní závěrečná zkouška

Student si vybere tři okruhy podle zvoleného zaměření. Dva z~těchto okruhů jsou povinné pro zvolené zaměření, třetí je volitelný.

Zkušební okruhy

1. Analýza a~architektury software

Procesy vývoje SW a~jejich fáze. Podnikové procesy a~jejich modelování pomocí BPMN. UML a~jeho využití pro analýzu a~návrh struktury a~chování SW. Návrhové vzory. Testování SW, dopadová a~změnová analýza. Plánování SW projektů, odhad nákladů, úrovně řízení projektů. Právní aspekty SW, hlavní zákony důležité pro IT projekty. Typy pohledů na SW architekturu. Modelování a~dokumentace SW architektury. Klasifikace atributů kvality SW architektury, jejich popis pomocí scénářů a~taktik. Servisně orientované architektury. Algebraické metody formálních specifikací, vícedruhové algebry, iniciální modely. Temporální logika. Formální základy jazyka UML. OCL jako specifikační jazyk a~formální základy dle specifikace.

2. Rozšířené programování

Moderní konstrukce a~pokročilé aspekty programovacích jazyků. Generické programování a~metaprogramování, generika a~šablony, politiky, traits, typová dedukce, reflexe. Výjimky a~bezpečné programování v~prostředí s~výjimkami. Implementace objektových vlastností, běhová podpora, volací konvence, garbage collection. Vliv moderních konstrukcí na výkonnost kódu.

Paralelní programování, Amdahlův zákon, synchronizační primitiva, task stealing. Návrhové vzory a~jejich využití. Skriptovací jazyky, prototype-based jazyky. Domain Specific Languages. Funkcionální programování. Principy tvorby kvalitního kódu, doporučené postupy. Refaktorizace. Testování funkčnosti, hledání chyb, monitorování programů.

3. Softwarové technologie

Architektury operačních systémů, správa procesů, správa paměti, komunikace a~synchronizace, paralelismus, virtualizace, stránkování. Souborové systémy, přístupová práva a~bezpečnost. Přenositelnost a~multiplatformnost aplikací. Testování a~monitorování funkčnosti a~výkonnosti. Architektura webových aplikací, skriptování na straně serveru a~klienta, spolupráce s~databázovými systémy. Architektura datového serveru, transakce, optimalizace výkonu. Cloudové služby, IaaS, PaaS a~SaaS. Virtualizace, kontejnerizace, orchestrace, edge computing, IoT. Vyvažování zátěže, vysoká dostupnost. MapReduce.

4. Webové technologie

Obecný přehled základní webových technologií. Síťové služby pro webové technologie. Webové služby. Architektura klient-server aplikací, skriptování na straně serveru a~klienta, webové frameworky. Použití databázových systémů ve webových aplikacích, NoSQL databáze, multimediální databáze. Indexace a~prohledávání dokumentů, principy fungování webových vyhledávačů. Linked Data, integrace sémantických dat do webových stránek. Zajištění bezpečnosti informačních systémů v~prostředí internetu, autentizace, autorizace, bezpečnostní modely, základy šifrování, ochrana dat.

5. Databáze - formální základy a~dotazovací jazyky

Relační kalkuly, relační algebry. Relační úplnost. Bezpečné výrazy, ekvivalence relačních dotazovacích jazyků. Věta o~tranzitivním uzávěru relace. Sémantika SQL. Standardy SQL. Objektové rozšíření relačního modelu dat. Databáze textů -- Booleovský a~vektorový model, vyhledávání a~indexování, uspořádání odpovědí, top-k operátor. Datalog. Rekurze v~SQL. Datový model XML. Datový model RDF, dotazovací jazyk SPARQL. Podobnostní dotazy v~multimediálních databázích, metrické indexační metody. Modelování preferencí a~dotazování s~preferencemi.

6. Databáze - implementace a~administrace

Architektury databázových systému. Modely a~vlastnosti transakcí: uzamykací protokoly, časová razítka. Izolace transakcí, alokace prostředků. Distribuované transakce. Zotavení z~chyb, žurnály. Distribuce s~horizontální fragmentací, implementace NoSQL databází, CAP teorém. Indexace relačních dat. Přístupové metody k~prostorovým objektům. Algoritmy implementace relačních operací, agregačních funkcí. Vyhodnocování a~optimalizace dotazů. Komprese dat: Huffmanovo kódování, aritmetické kódování, LZ algoritmy, Burrows-Wheelerova transformace.

7. Zpracování rozsáhlých a~nestrukturovaných dat

Distribuce s~horizontální fragmentací, implementace NoSQL databází, CAP teorém. Big Data management - distribuce, škálování, replikace, transakce. Paralelní a~distribuované zpracování rozsáhlých dat, MapReduce. Úložiště typu klíč - hodnota. Sloupcová úložiště. Dokumentová úložiště. Modely pro fulltextové dotazování - vektorový, booleovský model, uspořádání odpovědí, top-k operátor. Podobnostní dotazy v~multimediálních databázích, metrické indexační metody. Techniky vizualizace dat.

8. Data mining

Základní principy databázových systémů, datových skladů a~technologie OLAP. Dobývání znalostí z~databází - příprava dat a~jejich předzpracování, techniky pro popis konceptů, metody pro dobývání asociativních pravidel, metody pro klasifikaci a~predikci dat, metody pro klastrovou analýzu, dobývání znalostí v~databázových systémech. Statistické metody pro data mining. Hledání různých typů závislostí. Bayesovská analýza, bayesovské sítě. Pravděpodobnostní modely dokumentografického informačního systému. Metody řízeného učení pro klasifikaci a~regresi. Support Vector Machines a~kernelové funkce. Evaluace experimentů. Techniky vizualizace dat.

 
Univerzita Karlova | Informační systém UK