Logo webu
Láká tě studium na Unicorn University? Přihlas se na den otevřených dveří a zjisti více informací.

Backendové systémy

9 kreditů
Bakalářské
Česky | Anglicky
Michal Kökörčený

Cílem předmětu je poskytnout studentům přehled v oblasti backendového vývoje. Probíraná budou témata z oblasti architektury backendových systémů, souvisejících oblastí objektové analýzy a návrhu, způsobu technické realizace backendu, využití relačních a nerelačních databází pro perzistenci dat backendu, způsoby testování a vytváření dokumentace. Absolvent předmětu získá schopnosti účastnit se vývoje backendové části informačních systémů. Pro technickou realizaci budou studenti používat NodeJS a programovací jazyk JavaScript.

Studijní okruhy

Základní koncepty backendových systémů

Architektura informačních systémů
Vrstvená architektura, rozdělení FE a BE, microservices, podrobnější pohled na strukturu backendu.
Základní koncepty architektury back-endových systémů
Služby (uuCMDs), model/dao/data entity perzistence, autentizace, autorizace, error handling, škálování a další.

Analýza a návrh

Objektově orientovaná analýza a návrh
Principy přidělování odpovědností, high cohesion, low coupling.
Jak správně vytvořit a popsat design backendu
Typická struktura designu, nástroje, základní schémata.
Základní úrovně designu, struktura designu
Koncepční návrh, detailní design.
Koncepční návrh
Popis architektury, ukázky.
Detailní design
Dokumentace služeb a jejich vnitřní realizace.

Technická realizace backendu

Způsoby realizace backendu
Nejčastěji používané technologie a jejich srovnání, ukázky.
Podrobnější pohled na realizaci backendu v NodeJS/JavaScript
Realizace základních prvků architektury backendu, implementace služeb (REST služby), Data Access Object, připojení k DB, transakce.
Realizace dalších architektonických konceptů backendu
Autentizace a autorizace, error handling, validace, logování.

Využití databází - relační a nerelační

Relační databáze
Základní vlastnosti, výhody, nevýhody, jazyk SQL, transakce, normální formy.
Pokročilé koncepty v relačních databázích
Indexy, partitioning, SQL views. 
Pokročilé použití jazyka SQL
Dotazy nad více tabulkami, poddotazy.
Nerelační databáze
Základní typy nerelačních databází a jejich vlastnosti - dokumentové, key-value story, objektové, RDF, kdy použít který typ databáze.
Dokumentové nerelační databáze
Základní principy, dokumenty, kolekce, indexy, dotazování, zajištění vysokého výkonu a vysoké dostupnosti.
MongoDB
Představení, instalace, základní operace, dotazování, indexování, replikace, zálohování.
Pokročilé použití MongoDB
Relace, databázové reference, map reduce, použití regulární výrazů, pokročilé indexování.

Testování a další témata

Principy testování backendu
Typy testů (commit fáze: unit, komponentové, integrační; akceptační fáze: funkční, výkonnostní, bezpečnostní),  automatizace testů, vhodné nástroje a postupy. 
Další související témata
Revize kódů, statická analýza kódů. 
Správa zdrojových kódů
Source code repository (GIT), verzování, branchování. GitFlow. 
Development pipeline, Continuous Integration, Continuos Delivery/Deployment, kontainerizace (Docker).
document_check.svg
Na těchto webových stránkách používáme soubory cookies k zajištění jejich funkčnosti a dále k personalizaci reklam, a to výhradně s vaším souhlasem a v souladu s našimi Pravidly pro užívání cookies.

Kliknutím na tlačítko „Přijmout soubory cookies“ udělujete souhlas s využívaním vybraných souborů cookies a souhlasíte s předáním údajů o chování na našich webových stránkách pro zobrazení cílené reklamy na sociálních a reklamních sítích. Můžete si zvolit, které informace s námi chcete sdílet kliknutím na tlačítko Nastavení cookies.