SubjectsSubjects(version: 945)
Course, academic year 2023/2024
   Login via CAS
Software and Data Egineering - NSZI069 (Informatika nMgr. - zaměření Softwarové a datové inženýrství)
Title: Softwarové a datové inženýrství
Guaranteed by: Student Affairs Department (32-STUD)
Faculty: Faculty of Mathematics and Physics
Actual: from 2021
Semester: both
E-Credits: 0
Hours per week, examination: 0/0, STEX [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Note: can be fulfilled in the future
no points awarded for fulfilment
you can enroll for the course in winter and in summer semester
Order Course title
Topic 1 (TO1) select 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)
Requirements to the exam - Czech
Last update: 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.

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html