Metodológie vývoja softvéru, Tvorba estimácií
- základné metodológie vývoja softvéru, výhody a nevýhody
- problémy pri tvorbe estimácií
- metódy tvorby estimácií


Architektúra systému, Interface, Boundary object
- čo je to architektúra SW systému a ako ju zachytiť
- kľúčové požiadavky pre tvorbu architektúry
- architektonické štýly
- základné prvky UML diagramov používaných na vizualizáciu architektúry (package, deployment, component)


Požiadavky, analýza požiadaviek, UML diagramy na zachytávanie požiadaviek
- zdroje požiadaviek
- metódy zachytávania požiadaviek
- analýza požiadaviek
- typy požiadviek
- organizácia požiadaviek v rámci dokumentácie softverového projektu
- základné elementy use-case a activity diagramov


Modelovanie domény, UML class diagramy
- vstupy a ciele modelovania domény
- základné elementy class a object diagramov
- použitie object a class diagramov na popis softvéru


Designove principy, testovateľný kod, UML stavové mašiny
- základné princípy (nielen) objektovo-orientovaného dizajnu
- ako dosiahnuť testovateľnosť kódu
- typy testov
- použitie UML stavových mašín
- základné prvky UML stavových mašín


Návrhové vzory, sequence diagramy, comunications diagramy
- základné elementy diagramov
- využitie diagramov popis softveru
- vysvetlite fungovanie vybraného návrhového vzoru, pričom vo vašom vysvetlení má byť kľúčový sequence alebo communications diagram.

Contitious integration, Microservices, Container orchestration, Cloud ready
- continious integration/delivery/deployment, princípy, best practices
- čo je to microservice architektúra, výhody a nevýhody, predpoklady
- kontainery
- špecifiká cloud architektúry
- bezserverová architektúra


Immutable design, Generické programovanie
- immutable datové štruktúry, implementácia, výhody a nevýhody
- templaty, koncepty
- generické VS OO programovanie
- type erasure


Konkurencia a paralelizmus, Objekty a databázy, typy databáz
- best practices pri návrhu konkurentných systémov
- problémy spojené s perzistentnym ukladaním dát pri OO prístupe
- objektovo-relačná nekompatibilita
- čo je to ORM a čo všetko od ORM systému požadujeme
- typy a vlastnosti databáz


Executable specifications, DSL, Rozširovanie UML, Grafické DSL a DSML
- nástroje na executable specifications
- doménovo špecifické jazyky
- mechanizmy pre rozširovanie UML
- UML profile diagramy
- Grafické DSL a DSML pomocou UML
- Alternatívy UML pre executable modely