Metodológie vývoja softvéru. Architektúra systému.
- základné metodológie vývoja softvéru, výhody a nevýhody
- ktoré typy požiadaviek sú kľúčové pre tvorbu architektúry
- čo je to architektúra SW systému a ako ju zachytiť
- 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, 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, testovatelny kod, 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.

Immutable design, Microservices
- immutable datové štruktúry
- výhody a nevýhody funkcionálneho dizajnu
- čo je to microservice architektúra, výhody a nevýhody
- typy a vlastnosti databázových systémov

Objekty a databázy, typy databáz
- 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