Příprava na státní závěrečnou zkoušku

Kompletní výkladový
materiál ke SZZ

Souvislý text ke všem jedenácti okruhům studijního programu Aplikovaná informatika. Psáno tak, abys každé téma pochopil do hloubky a dokázal ho u ústní zkoušky souvisle odvyprávět — ne jen poznat ve výběru z možností.

11 okruhůvýklad + příkladydoplňující otázkycíleno na komisi V·Ř·S
Jak materiál používat. Nejdřív si okruh přečti pro pochopení. Pak ho zkus nahlas převyprávět bez textu — to je trénink přesně na ústní zkoušku. Zelené rámečky „Jak to vyprávět" jsou kostra odpovědi: pět vět, na které navěsíš detaily. Žluté boxy „Doplňující otázky" a červené bloky „Tvoje komise" (Vadinský · Řepa · Sedláček) obsahují reálné doptávací otázky — rozklikni a odpověz si dřív, než se podíváš. Slabá místa pak procvičuj v appce to-das přes karty.
Okruh 01

Základy odborné práce

Jak vypadá kvalitní odborná práce, jak se odkazuje na zdroje a jaký je rozdíl mezi měřením a porozuměním.

1.1Struktura vědecké práce

Odborná práce má vždy stejnou vnitřní logiku: vede čtenáře od otázky přes metodu k odpovědi. Tato linka je důležitější než konkrétní názvy kapitol. Standardní členění:

  • Titulní strana, abstrakt, klíčová slova — abstrakt je shrnutí celé práce na pár vět (cíl, metoda, hlavní výsledek). Čtenář podle něj pozná, zda ho práce zajímá.
  • Úvod — uvádí téma do kontextu, vysvětluje motivaci a důležitost, formuluje problém, cíle práce a výzkumné otázky nebo hypotézy.
  • Teoretická část / rešerše literatury — shrnuje současný stav poznání (state of the art), definuje pojmy a kriticky srovnává existující zdroje. Není to opis učebnice, ale výběr toho, co potřebuju pro vlastní práci.
  • Metodika — popisuje, jak jsem postupoval, aby byl výzkum reprodukovatelný: jaká data, jaké metody, jaké nástroje, jak jsem ověřoval. Cizí člověk by podle ní měl práci zopakovat.
  • Praktická / analytická část — vlastní přínos: výsledky a jejich interpretace.
  • Závěr — shrnuje, zda byly cíle naplněny, přiznává limity a navrhuje další směřování. Nezavádí nová fakta.
  • Seznam literatury a přílohy.

V přírodovědných a technických oborech se používá zkratka IMRaD (Introduction, Methods, Results, and Discussion), což je totéž jádro.

Klíč
Dobrá práce je zacílená (jasný cíl), doložená (každé tvrzení má oporu ve zdroji nebo ve vlastních datech) a reprodukovatelná (metodika je popsaná tak, aby šla zopakovat).

1.2Bibliografická data a reference

Aby byla práce ověřitelná a poctivá, musí každá převzatá myšlenka odkazovat na svůj zdroj. Rozlišujeme dvě věci:

  • Citace v textu — krátký odkaz na místě, kde myšlenku používám, např. (Novák, 2020) nebo číslo [3].
  • Bibliografický záznam (reference) — úplný popis zdroje v seznamu literatury, podle kterého ho lze dohledat: autor, název, rok, vydavatel, ISBN/DOI. V ČR řídí formát norma ČSN ISO 690.

Citace v textu a záznam v seznamu musí být provázané. Proč vůbec citujeme? Tři důvody: přiznat autorství cizích myšlenek, umožnit ověření, a odlišit vlastní přínos od převzatého.

Plagiát
Vydávání cizí práce nebo myšlenek za vlastní bez uvedení zdroje. Je to porušení informační etiky i právních norem. Patří sem i autoplagiát — recyklace vlastního staršího textu bez uvedení.

Druhy zdrojů podle původu

  • Primární — prvotní informace (originální výzkumná studie, zákon, měření, archivní dokument).
  • Sekundární — zpracovává a komentuje primární zdroje (učebnice, monografie, přehledové články).
  • Terciární — odkazuje a sumarizuje (encyklopedie, databáze, bibliografie).

V odborné práci preferujeme primární a recenzované sekundární zdroje, ne náhodné weby.

1.3Výzkum kvantitativní a kvalitativní

Dva základní přístupy k poznání, které se liší v tom, s čím pracují a jak uvažují.

KvantitativníKvalitativní
Pracuje sčísly, měřitelnými datyvýznamem, kontextem, slovy
Logikadeduktivní — testuji předem danou hypotézuinduktivní — teorie vzniká z dat
Vzorekvelký, reprezentativnímalý, do hloubky
Metodydotazník, experiment, statistikarozhovor, pozorování, případová studie
Cílzobecnitelnost, ověřeníporozumění jevu

Často se kombinují ve smíšeném (mixed-methods) designu: kvalitativní fáze nejprve vygeneruje hypotézy, které kvantitativní fáze ověří na velkém vzorku.

Hypotéza
Ověřitelné tvrzení o vztahu mezi proměnnými, které lze potvrdit nebo vyvrátit (nulová H0 a alternativní H1). Dobrá výzkumná otázka je specifická, zodpovězitelná dostupnými metodami a netriviální (kritéria FINER — Feasible, Interesting, Novel, Ethical, Relevant).
Jak to vyprávět u zkoušky

Začni tím, že odborná práce vede čtenáře od otázky přes metodu k odpovědi — a vyjmenuj části (úvod → teorie → metodika → výsledky → závěr) s důrazem na reprodukovatelnost. Pak přejdi na citace: rozliš citaci v textu od bibliografického záznamu, zmiň normu ČSN ISO 690 a vysvětli plagiát. Závěrem postav proti sobě kvantitativní (čísla, dedukce, hypotézy, velký vzorek) a kvalitativní (význam, indukce, hloubka) výzkum a dodej, že je lze kombinovat.

1.4Druhy textů, citace a vědecké myšlení

Odborné texty se dělí podle účelu na vědecké (pro odborníky), populárně-naučné (pro veřejnost), učební (učebnice, skripta) a esejistické; podle původu obsahu na původní (nové poznatky), přehledové (rekapitulace) a komparativní (srovnání). Vědecký článek mívá strukturu IMRAD: Úvod (Introduction), Metody (Methods), Výsledky (Results) a Diskuse (Discussion).

Citace a citační etika
Citace zajišťuje dohledatelnost zdroje a chrání před plagiátorstvím. Norma ČSN ISO 690 stanoví formát citací. Rozlišuje se přímá citace (doslovná, v uvozovkách) a parafráze (vlastními slovy, stále s odkazem). Práci usnadní citační manažery (Zotero, Mendeley, Citace.com).
Indukce vs dedukce
Indukce jde od konkrétních pozorování k obecnému závěru (zdola nahoru, typicky kvalitativní výzkum). Dedukce jde od obecné teorie/hypotézy k jejímu ověření na datech (shora dolů, typicky kvantitativní výzkum). Hypotéza je testovatelné tvrzení, které výzkum potvrzuje nebo vyvrací.
Upřesnění — proměnné a kvalita měření
V kvantitativním výzkumu rozlišujeme nezávislou proměnnou (tu, kterou měníme / považujeme za příčinu) a závislou (tu, kterou měříme / je následkem). Operacionalizace je převod abstraktního pojmu na měřitelný ukazatel (např. „spokojenost" → škála 1–10). Dvě klíčové vlastnosti měření: reliabilita (spolehlivost — opakované měření dává stejný výsledek) a validita (platnost — měříme opravdu to, co chceme). Měření může být spolehlivé, ale neplatné (přesně měří něco jiného).
Doplňující otázky
Jaký je rozdíl mezi cílem práce a výzkumnou otázkou?
Cíl říká, čeho chci dosáhnout (např. „navrhnout model X"). Výzkumná otázka je konkrétní tázací formulace, na kterou hledám odpověď (např. „Které faktory ovlivňují Y?"). Z otázky se odvozují hypotézy.
Co je peer review a proč zvyšuje důvěryhodnost zdroje?
Recenzní řízení — před publikací posoudí článek nezávislí odborníci z oboru. Filtruje chyby a slabou metodiku, proto jsou recenzované (peer-reviewed) zdroje považovány za kvalitnější než nerecenzované weby.
Jaký je rozdíl mezi přímou citací a parafrází?
Přímá citace = doslovné převzetí v uvozovkách. Parafráze = převyprávění myšlenky vlastními slovy. Obě musí uvádět zdroj — i parafráze bez odkazu je plagiát.
Co znamená reprezentativní vzorek?
Vzorek, jehož složení odpovídá zkoumané populaci, takže z něj lze zobecňovat. Zajišťuje se náhodným výběrem; nenáhodný výběr (např. „kdo byl po ruce") zobecnitelnost ohrožuje.
↑ začátek okruhu
Okruh 02

Informační a komunikační technologie

Jak vlastně funguje internet — od adresování paketů přes spolehlivý přenos až po web v prohlížeči.

2.1Základní protokoly internetu

Komunikace na internetu je rozdělená do vrstev (model TCP/IP: aplikační, transportní, síťová, přístupová). Každá vrstva řeší jednu věc a spoléhá na vrstvu pod sebou. Klíčové protokoly:

IP — Internet Protocol (síťová vrstva)

Zajišťuje adresaci a směrování paketů mezi sítěmi. Je nespojový (connectionless) a nespolehlivý (best-effort) — nezaručuje doručení ani pořadí, to nechává na vyšších vrstvách.

  • IPv4 — 32bitové adresy (cca 4,3 miliardy), zápis tečkově 192.168.0.1. Adresy došly, řeší se překladem NAT.
  • IPv6 — 128bitové adresy, hexadecimálně 2001:db8::1, prakticky neomezený rozsah, zjednodušená hlavička a automatická konfigurace.

TCP vs UDP (transportní vrstva)

Tady se rozhoduje, jestli chci jistotu, nebo rychlost.

TCPUDP
Spojeníspojované — navazuje three-way handshake (SYN → SYN-ACK → ACK)nespojované — rovnou pošle datagram
Spolehlivostgarantuje doručení i pořadí (sekvenční čísla, potvrzování ACK, opětovné odeslání)nezaručuje nic
Režievyššínízká, rychlé
Použitíweb, e-mail, přenos souborůstreaming, VoIP, hry, DNS

ICMP

Přenáší řídicí a chybové zprávy v IP sítích — nedosažitelnost cíle, vypršení TTL, diagnostika. Využívají ho nástroje ping (echo request/reply) a traceroute. Nepřenáší uživatelská data.

DNS — Domain Name System

Hierarchický distribuovaný systém, který překládá doménová jména na IP adresy (z vse.cz udělá IP). Hierarchie: kořenové servery (.) → TLD (.cz) → autoritativní server domény. Proces (rekurzivní dotaz): klient se zeptá resolveru, ten se postupně doptává od kořene níž a výsledek uloží do cache podle TTL. Běží převážně na UDP portu 53.

Typy záznamů: A (IPv4), AAAA (IPv6), CNAME (alias), MX (mail), NS (name server), TXT.

2.2Aplikační nástroje internetu

E-mail

Odesílání řeší SMTP (port 25/587) — mezi klientem a serverem i mezi servery navzájem. Příjem/čtení řeší POP3 (port 110 — stáhne a typicky smaže ze serveru) nebo IMAP (port 143 — zprávy zůstávají na serveru, synchronizace více zařízení). Zabezpečené varianty jdou přes TLS.

SSH — Secure Shell

Bezpečný vzdálený přístup a správa serverů přes šifrovaný kanál (port 22). Nahradil nešifrovaný Telnet. Umožňuje vzdálené příkazy, přenos souborů (SCP/SFTP) i tunelování. Autentizace heslem nebo bezpečnějším asymetrickým klíčovým párem.

WWW

Systém propojených hypertextových dokumentů. Funguje na modelu klient–server: prohlížeč pošle HTTP request na server určený URL, server vrátí response (HTML, data, stavový kód). HTTP je bezstavové — stav (přihlášení) se řeší cookies/session.

  • Metody: GET (získat), POST (odeslat), PUT, DELETE.
  • Stavové kódy: 2xx úspěch, 3xx přesměrování, 4xx chyba klienta (404), 5xx chyba serveru.
  • HTTPS = HTTP přes TLS (šifrování, port 443).

2.3Základy webových informačních technologií

Webová stránka stojí na třech vrstvách s jasně oddělenou rolí: HTML (struktura a obsah), CSS (vzhled), JavaScript (chování v prohlížeči). Na serveru běží aplikační logika (PHP, Java, Node…) a databáze.

URL po částech
https://www.vse.cz:443/studium/szz?id=5#sekce — schéma (https://), host (www.vse.cz), port (:443), cesta (/studium/szz), dotaz (?id=5), fragment (#sekce).

Moderní web odděluje frontend (klient) od backendu (server) a komunikuje přes API (typicky REST — operace nad zdroji pomocí HTTP metod, data ve formátu JSON).

Jak to vyprávět u zkoušky

Postav to po vrstvách. Začni IP na síťové vrstvě (adresace, best-effort, IPv4 vs IPv6). Nad ní transportní vrstva — TCP vs UDP jako jistota vs rychlost (handshake, potvrzování). Zmiň ICMP jako „servisní" protokol (ping). Pak DNS jako překladač jmen na IP. Aplikační nástroje shrň trojicí: e-mail (SMTP odesílá, POP3/IMAP přijímá), SSH (šifrovaná vzdálená správa) a WWW (klient–server, HTTP request/response, bezstavovost, HTTPS). Uzavři webovými technologiemi HTML/CSS/JS a oddělením frontendu od backendu.

2.4Adresování, HTTP a e-mailové protokoly

IPv4 adresa má 32 bitů; dělila se do tříd A/B/C a používá masku sítě k oddělení síťové a hostitelské části. Vyhrazené privátní rozsahy (10.x, 172.16–31.x, 192.168.x) se do internetu překládají přes NAT. Kvůli vyčerpání adres přichází IPv6 (128 bitů). TCP navazuje spojení trojcestným handshakem (SYN → SYN-ACK → ACK) a rozlišuje aplikace podle portů (HTTP 80, HTTPS 443, …).

HTTP — metody, stavové kódy, hlavičky
Metody: GET (získat), POST (odeslat data), PUT (nahradit), DELETE (smazat), HEAD (jen metadata), OPTIONS. Stavové kódy: 1xx informativní, 2xx úspěch (200 OK, 201 Created), 3xx přesměrování (301), 4xx chyba klienta (404, 401), 5xx chyba serveru (500). Hlavičky nesou metadata (Content-Type, Host, Cache-Control). Verze: HTTP/1.1 (perzistentní spojení), HTTP/2 (multiplexing), HTTP/3 (nad QUIC/UDP).
ProtokolÚčel
SMTPodesílání e-mailu (mezi servery i od klienta)
POP3stažení pošty na zařízení (typicky ji smaže ze serveru)
IMAPspráva pošty přímo na serveru (synchronizace více zařízení)

Technologie na straně serveru a správa relace

Dynamický obsah generují serverové technologie: CGI (historické), PHP, JSP (Java), ASP.NET, Node.js. Protože je HTTP bezstavové, stav relace se udržuje pomocí cookies (malá data v prohlížeči), session proměnných (stav na serveru, identifikovaný session ID) nebo Web Storage (localStorage/sessionStorage).

Upřesnění — vrstvové modely a porty
Vedle čtyřvrstvého modelu TCP/IP existuje teoretický sedmivrstvý model ISO/OSI: fyzická → linková → síťová → transportní → relační → prezentační → aplikační. V praxi se používá TCP/IP, OSI slouží jako referenční rámec. Port je 16bitové číslo, které na jednom zařízení rozlišuje jednotlivé služby/aplikace — teprve dvojice IP adresa + port jednoznačně určí koncový bod spojení (tzv. socket). Známé porty: 80 (HTTP), 443 (HTTPS), 22 (SSH), 25 (SMTP), 53 (DNS).
Doplňující otázky
Co je NAT a proč vznikl?
Network Address Translation překládá privátní adresy vnitřní sítě na jednu (nebo několik) veřejných adres. Vznikl jako reakce na nedostatek IPv4 adres — díky němu může za jednou veřejnou IP fungovat celá domácí/firemní síť.
Popiš TCP three-way handshake krok po kroku.
Klient pošle SYN (žádost o spojení se svým sekvenčním číslem), server odpoví SYN-ACK (potvrdí a pošle své číslo), klient potvrdí ACK. Tím je navázáno obousměrné spojení a synchronizována sekvenční čísla.
K čemu slouží TTL?
Time To Live je počítadlo v hlavičce IP paketu; každý router ho sníží o 1. Při dosažení nuly se paket zahodí (a pošle se ICMP zpráva). Brání tak nekonečnému zacyklení paketů v síti. U DNS záznamů TTL naopak určuje, jak dlouho smí být odpověď v cache.
Jak se řeší stav, když je HTTP bezstavové?
Přes cookies (malá data uložená v prohlížeči a posílaná zpět) a session (stav uložený na serveru, identifikovaný session ID v cookie). Případně tokeny (JWT) u bezstavových API.
Proč DNS používá hlavně UDP, ale někdy i TCP?
UDP je rychlé a dotaz/odpověď se vejdou do jednoho datagramu. Pro velké odpovědi (např. přenos zóny) nebo když je odpověď příliš velká, se použije spolehlivé TCP.
↑ začátek okruhu
Okruh 03

Programování v Javě

Objektové paradigma jako způsob uvažování, testy jako součást návrhu a funkcionální prvky, které do Javy přibyly.

3.1Principy a aplikace objektového paradigmatu

OOP modeluje program jako objekty — entity, které mají stav (atributy) a chování (metody). Stojí na čtyřech pilířích:

  • Zapouzdření (encapsulation) — data a metody, které s nimi pracují, jsou pohromadě; vnitřní stav je skrytý (private) a přístupný jen přes definované rozhraní (gettery/settery). Chrání integritu objektu.
  • Dědičnost (inheritance) — třída přebírá a rozšiřuje atributy a metody rodiče (extends); umožňuje znovupoužití kódu a zachycuje vztah „je druhem".
  • Polymorfismus — stejné rozhraní, různé chování. Přepsání metod (@Override) a možnost zacházet s objekty potomků přes referenci rodiče. Díky tomu lze psát obecný kód, který funguje pro celou rodinu typů.
  • Abstrakce — modeluji jen podstatné vlastnosti a skrývám detaily (abstraktní třídy, rozhraní).
Rozhraní vs abstraktní třída
Rozhraní definuje kontrakt („co umí dělat"); třída může implementovat více rozhraní (implements) — tím Java řeší absenci vícenásobné dědičnosti. Abstraktní třída popisuje „co je", může mít stav, konstruktory i hotové metody; dědit lze jen z jedné. Od Javy 8 mají rozhraní i default metody.

3.2Vývoj řízený testy (TDD)

TDD obrací obvyklý postup: test píšu PŘED implementací. Cyklus Red–Green–Refactor:

  1. RED — napíšu test pro chování, které ještě neexistuje → test selže.
  2. GREEN — napíšu nejjednodušší kód, aby test prošel.
  3. REFACTOR — vyčistím kód beze změny chování; testy stále procházejí.

Přínos: kód je od začátku testovatelný a pokrytý, test slouží jako přesná specifikace chování, klesá počet regresí a zlepšuje se návrh (píšu jen to, co je potřeba). V Javě se používá JUnit (anotace @Test, metody assertEquals, assertTrue).

Testovací pyramida
Hodně rychlých jednotkových testů (jedna třída izolovaně, s mock objekty) → méně integračních (spolupráce komponent, např. služba + DB) → nejméně pomalých akceptačních / E2E (systém z pohledu zákazníka).

3.3Prvky funkcionálního programování (lambda výrazy a streamy)

Od Javy 8 lze psát i deklarativně — říct co chci, ne jak to udělat krok po kroku.

Lambda výrazy

Stručný zápis anonymní funkce: x -> x * 2. Implementuje funkcionální rozhraní — rozhraní s jedinou abstraktní metodou (SAM), např. Predicate<T>, Function<T,R>, Consumer<T>, Supplier<T>. Lambda tak umožňuje předávat chování jako parametr metody. Anotace @FunctionalInterface vynutí, že rozhraní má opravdu jen jednu abstraktní metodu.

Stream API

Zpracovává kolekce řetězením operací. Rozlišujeme mezioperace (filter, map, sorted — vrací stream, jsou líné) a terminální operace (collect, forEach, reduce, count — teprve ty spustí zpracování).

Příklad
list.stream().filter(x -> x > 0).map(x -> x*x).collect(Collectors.toList()) — z čísel vyber kladná, umocni je a posbírej do seznamu. Čitelné, bez ručního cyklu, snadno paralelizovatelné přes parallelStream().

Výhody funkcionálního stylu: méně boilerplate kódu, lepší čitelnost, snadná paralelizace a méně mutovatelného stavu (méně chyb).

Jak to vyprávět u zkoušky

Otevři čtyřmi pilíři OOP (zapouzdření, dědičnost, polymorfismus, abstrakce) a u každého řekni jednou větou k čemu je. Doplň rozdíl rozhraní vs abstraktní třída. Pak TDD jako „test první" a odříkej cyklus Red–Green–Refactor s JUnit a testovací pyramidou. Nakonec funkcionální prvky: lambda jako anonymní funkce implementující funkcionální rozhraní a Stream API s rozdílem líných mezioperací a terminálních operací — ukaž to na jednovětém příkladu filter → map → collect.

3.4Čtyři pilíře OOP a klíčové konstrukce

PilířCo znamená
Abstrakcezachycení jen podstatných vlastností objektu, skrytí nepodstatného
Zapouzdřenídata a metody pohromadě ve třídě; přístup k atributům jen přes metody (gettery/settery) — ukrývání implementace
Dědičnosttřída přebírá vlastnosti a metody předka a může je rozšiřovat (znovupoužití kódu, hierarchie)
Polymorfismusstejné rozhraní, různé chování: přetížení (overloading, více metod téhož jména) a překrytí (overriding, potomek nahrazuje metodu předka)
Třída vs instance
Třída je předpis (šablona), instance (objekt) je její konkrétní výskyt v paměti. Objekt vznikne konstruktorem (new); klíčové slovo this odkazuje na aktuální instanci. Volání metody = posílání zprávy objektu.
Funkcionální rozhraní a JUnit
Funkcionální rozhraní (@FunctionalInterface) má jedinou abstraktní metodu — lze ho dosadit lambda výrazem (např. Runnable, Comparator). Rozhraní mohou mít i default (implicitní) metody s tělem. JUnit je framework pro jednotkové testy: metody značené @Test ověřují chování pomocí asercí (assertEquals, assertTrue).
Upřesnění — principy SOLID a běh Javy
Nad rámec čtyř pilířů OOP se kvalitní objektový návrh řídí principy SOLID: Single Responsibility (třída má jednu odpovědnost), Open/Closed (otevřená rozšíření, uzavřená změnám), Liskov Substitution (potomka lze použít místo rodiče), Interface Segregation (raději více malých rozhraní), Dependency Inversion (závisíme na abstrakcích, ne na konkrétních třídách).

Java běží na principu „write once, run anywhere": zdroj se zkompiluje do bytecode, který interpretuje virtuální stroj JVM na dané platformě. JDK (nástroje + kompilátor) ⊃ JRE (běhové prostředí) ⊃ JVM.
Doplňující otázky
Jaký je rozdíl mezi přetížením (overloading) a přepsáním (overriding)?
Overloading = více metod se stejným názvem, ale různými parametry v téže třídě (rozhoduje se při kompilaci). Overriding = potomek nahradí metodu rodiče se stejnou signaturou (rozhoduje se za běhu — to je polymorfismus).
Jaký je rozdíl mezi == a equals()?
== u objektů porovnává reference (zda jde o tentýž objekt v paměti). equals() porovnává obsahovou rovnost (pokud je správně přepsaná). U primitivních typů == porovnává hodnoty.
Co je garbage collector?
Mechanismus JVM, který automaticky uvolňuje paměť objektů, na které už neexistuje žádná reference. Programátor tedy paměť neuvolňuje ručně (na rozdíl od C/C++).
Rozdíl mezi checked a unchecked výjimkou?
Checked (např. IOException) musí být ošetřeny nebo deklarovány (throws) — kompilátor to vynucuje. Unchecked (RuntimeException, např. NullPointerException) signalizují programátorské chyby a nemusí se deklarovat.
Co je method reference?
Zkrácený zápis lambdy, která jen volá existující metodu, např. String::toUpperCase místo s -> s.toUpperCase(). Zlepšuje čitelnost.
↑ začátek okruhu
Okruh 04

Softwarové inženýrství

Jak velký software navrhujeme, dokumentujeme, opakovaně řešíme typické problémy a hlídáme kvalitu.

4.1UML modelování

UML (Unified Modeling Language) je standardní grafický jazyk pro modelování a dokumentaci softwaru a pro komunikaci mezi analytiky, vývojáři a zadavatelem. Diagramy se dělí na dvě skupiny:

Strukturální (statika)Behaviorální (dynamika)
Diagram tříd — třídy, atributy, metody, vztahyUse case — aktéři a funkce systému
Diagram komponent, nasazení (deployment), objektovýSekvenční — posloupnost zpráv mezi objekty v čase
Aktivit (workflow), stavový (stavy a přechody)
Vztahy v diagramu tříd
Asociace = obecné „zná/používá". Agregace = slabé „celek–část", kde část přežije celek (prázdný kosočtverec, např. tým–hráč). Kompozice = silné „celek–část", kde část bez celku zaniká (plný kosočtverec, např. dům–místnost). Generalizace = dědičnost.

4.2Návrhové vzory

Návrhové vzory (design patterns) jsou osvědčená obecná řešení opakujících se problémů v návrhu. Nejsou to hotové třídy, ale šablona řešení — a zároveň společný slovník mezi vývojáři. Klasická klasifikace GoF (Gang of Four):

  • Tvořící (creational) — vytváření objektů: Singleton (jediná instance + globální přístup), Factory Method, Abstract Factory, Builder.
  • Strukturální (structural) — skládání objektů: Adapter, Decorator, Facade, Composite, Proxy.
  • Chování (behavioral) — komunikace a odpovědnosti: Observer, Strategy, Command, Iterator, State.
Dva, které musíš umět
Singleton: soukromý konstruktor + statická getInstance() zaručí jednu instanci (logger, konfigurace). Observer: vztah 1:N — když subjekt změní stav, automaticky notifikuje pozorovatele (událostní systémy, MVC).

4.3Metodiky budování IS

Metodika říká, jak organizovat vývoj — v jakém pořadí a rytmu. Dva základní světy:

Vodopád (waterfall)Agilní (iterativní)
sekvenční fáze: analýza → návrh → implementace → testování → nasazeníkrátké iterace (sprinty), po každé funkční přírůstek
vhodný při stabilních, jasných požadavcíchvhodný, když se požadavky vyvíjejí
pozdní zpětná vazba, špatně snáší změnyprůběžná zpětná vazba a adaptace

Nejznámější agilní rámec je Scrum: role (Product Owner, Scrum Master, vývojový tým), artefakty (Product Backlog, Sprint Backlog, přírůstek) a události (sprint, daily standup, review, retrospektiva). Agile Manifesto upřednostňuje fungující software a spolupráci se zákazníkem před vyčerpávající dokumentací.

4.4Řízení kvality při vývoji SW

Řízení kvality zajišťuje, že produkt splňuje požadavky a normy (model kvality ISO/IEC 25010: funkčnost, výkon, použitelnost, spolehlivost, bezpečnost, udržovatelnost, přenositelnost). Klíčové rozlišení:

Verifikace vs validace
Verifikace — „stavíme produkt správně?" (shoda se specifikací: reviews, statická analýza, testy). Validace — „stavíme správný produkt?" (splňuje reálnou potřebu uživatele: akceptační testy).

Nástroje: code review, statická a dynamická analýza, automatizované testy, CI/CD (průběžná integrace a nasazování) a metriky (pokrytí testy, počet defektů, doba opravy).

Jak to vyprávět u zkoušky

Veď to jako životní cyklus: nejdřív UML jako jazyk pro návrh (rozděl strukturální vs behaviorální, jmenuj class/use-case/sekvenční a vysvětli asociace–agregace–kompozici). Pak návrhové vzory jako hotová řešení s kategoriemi GoF a dvěma příklady (Singleton, Observer). Dál metodiky — postav proti sobě vodopád a agile/Scrum (sekvenční vs iterativní, snášení změn). Uzavři kvalitou: rozdíl verifikace vs validace, ISO 25010 a CI/CD s automatickými testy.

4.5UML diagramy, vzory GoF a zralost procesů

UML diagramy se dělí na strukturální (diagram tříd, objektů, komponent, nasazení) a behaviorální (use case, sekvenční, aktivit, stavový). Diagram tříd má tři úrovně: konceptuální (doménový), designový (návrhový) a implementační.

Kategorie GoFPříklady a účel
Tvořící (creational)Singleton (jediná instance), Factory Method (vytváření bez znalosti konkrétní třídy)
Strukturální (structural)Adapter, Facade, Decorator (skládání objektů)
Chování (behavioral)Observer (notifikace změn), Strategy, Mediator (prostředník)
Rigorózní vs agilní metodiky
Rigorózní (vodopád, RUP — fáze zahájení, rozpracování, konstrukce, zavedení) kladou důraz na dokumentaci a plán; vhodné pro velké, stabilní projekty. Agilní (Scrum, XP, Kanban) reagují na změnu, iterují a doručují průběžně. Scrum: role (Product Owner, Scrum Master, tým), události (sprint, denní standup, review, retrospektiva), artefakty (product/sprint backlog). XP: párové programování, TDD, průběžná integrace.
Testování a zralost (CMMI)
Úrovně testů: jednotkovéintegračnísystémovéakceptační. Podle znalosti kódu: black-box (jen vstupy/výstupy), white-box (zná vnitřek), grey-box. Regresní testy ověřují, že změna nerozbila stávající funkce. Zralost procesů popisuje CMMI v 5 úrovních: počáteční → opakovatelná → definovaná → řízená → optimalizovaná. Řízení kvality stojí na cyklu PDCA (Plan-Do-Check-Act).
Upřesnění — architektonické vzory a technický dluh
Nad úrovní návrhových vzorů stojí architektonické vzory celé aplikace: vrstvená architektura (prezentační / aplikační / datová vrstva), MVC (Model–View–Controller — oddělení dat, zobrazení a řízení), a monolit vs mikroslužby (jedna nasaditelná jednotka vs sada malých nezávisle nasaditelných služeb komunikujících přes API). Technický dluh je metafora pro nahromaděné zkratky a kompromisy v kódu, které je potřeba později „splatit" refaktoringem, jinak rostou náklady na údržbu.
Doplňující otázky
Co je refaktoring?
Změna vnitřní struktury kódu, která zlepší jeho čitelnost a udržovatelnost, ale nemění jeho vnější chování. Bezpečně se dělá jen s pokrytím testy (proto patří do kroku Refactor v TDD).
Jaký je rozdíl mezi Scrum a Kanban?
Scrum pracuje v časově ohraničených sprintech s pevnými rolemi a událostmi. Kanban je kontinuální tok práce vizualizovaný na nástěnce s omezením rozpracované práce (WIP limit), bez sprintů. Scrum tlačí na rytmus, Kanban na plynulost.
Co je MVC?
Architektonický vzor oddělující Model (data a logika), View (zobrazení uživateli) a Controller (zpracování vstupů a propojení obou). Zvyšuje přehlednost a testovatelnost.
Co je antipattern?
Opakované „řešení", které vypadá lákavě, ale ve skutečnosti vede k problémům — opak návrhového vzoru. Příklady: God object (třída dělá všechno), spaghetti code, copy-paste programming.
Proč je důležité oddělit verifikaci od validace?
Lze postavit produkt přesně podle specifikace (projde verifikací), který ale nikdo nechce, protože specifikace byla špatná (selže validace). Obojí je nutné: správně postavit správnou věc.
↑ začátek okruhu
Okruh 05

Databáze

Od abstraktního modelu reality až po SQL dotaz — jak data navrhnout tak, aby byla konzistentní a dotazovatelná.

5.1Analýza, návrh a realizace databáze

Návrh probíhá na třech úrovních abstrakce, od reality k technologii:

  1. Konceptuální model — nezávislý na technologii, zachycuje entity, atributy a vztahy (E-R diagram). Odpovídá na otázku „co ukládáme".
  2. Logický model — převod do relačního modelu: entity → tabulky, vztahy → cizí klíče, aplikace normalizace. Nezávislý na konkrétním DBMS.
  3. Fyzický model — implementace v konkrétním DBMS: datové typy, indexy, oddíly, optimalizace výkonu.

Postup tedy je: analýza požadavků → konceptuální → logický → fyzický → realizace pomocí DDL.

5.2Datové modelování

Klíče

Primární klíč (PK) jednoznačně identifikuje řádek — je unikátní a nesmí být NULL. Cizí klíč (FK) odkazuje na PK jiné tabulky a zajišťuje referenční integritu (hodnota FK musí existovat v odkazované tabulce nebo být NULL). FK realizuje vztahy mezi tabulkami.

Kardinalita vztahů

  • 1:1 — lze sloučit nebo přidat FK.
  • 1:N — FK se umístí na straně „N".
  • M:N — nelze realizovat přímo. Vytvoří se vazební (asociační) tabulka se dvěma cizími klíči, čímž se M:N rozpadne na dva vztahy 1:N (např. student–předmět → tabulka zápis).

Normalizace

Proces strukturování tabulek, který odstraňuje redundanci a aktualizační anomálie rozkladem do více tabulek.

FormaPravidlo
1NFvšechny atributy atomické (žádné opakující se skupiny ani vícehodnotové sloupce)
2NFje v 1NF a každý neklíčový atribut závisí na celém primárním klíči (odstraní částečnou závislost)
3NFje v 2NF a žádný neklíčový atribut nezávisí tranzitivně na klíči přes jiný neklíčový atribut

Cena za konzistenci je více JOINů; někdy se proto kvůli výkonu záměrně denormalizuje.

5.3Databázové jazyky

SQL se podle účelu dělí na čtyři skupiny:

  • DDL (definice struktury): CREATE, ALTER, DROP, TRUNCATE
  • DML (práce s daty): SELECT, INSERT, UPDATE, DELETE
  • DCL (řízení přístupu): GRANT, REVOKE
  • TCL (řízení transakcí): COMMIT, ROLLBACK, SAVEPOINT
Kostra SELECTu
SELECT sloupce FROM tabulka JOIN … ON … WHERE podmínka GROUP BY … HAVING … ORDER BY …INNER JOIN vrací jen shodné řádky z obou tabulek, LEFT JOIN všechny z levé a chybějící doplní NULL.
ACID — vlastnosti transakce
Atomicita (vše nebo nic) · Consistency (DB přejde z platného stavu do platného) · Isolation (souběžné transakce se neovlivní) · Durability (po COMMIT jsou změny trvalé i při výpadku).
Jak to vyprávět u zkoušky

Jeď podle tří úrovní návrhu: konceptuální (E-R, entity a vztahy) → logický (tabulky, klíče, normalizace) → fyzický (typy, indexy). U modelování vysvětli PK a FK s referenční integritou, kardinalitu a hlavně rozklad M:N přes vazební tabulku, pak odříkej 1NF/2NF/3NF jednou větou každou. Závěr patří SQL: čtyři skupiny (DDL/DML/DCL/TCL), kostra SELECTu s JOINy a ACID vlastnosti transakce.

5.4Princip tří architektur (P3A), transakce a normální formy

Datový model se podle P3A upřesňuje ve třech vrstvách: konceptuální (model reality, technologicky nezávislý — entity, vztahy, atributy), logická (převod do relačních struktur) a fyzická (uložení, indexy, typy). Transformace konceptuálního do relačního modelu:

  • každá entitní množina → jedna tabulka, identifikátor → primární klíč;
  • vztah → cizí klíč; vztah M:N → vazební tabulka se dvěma cizími klíči;
  • generalizace/specializace → jedna tabulka pro celou hierarchii, nebo tabulky pro podtypy, nebo kombinace.
Normální formy
1NF — atomické hodnoty (žádné opakující se skupiny). 2NF — 1NF + každý neklíčový atribut závisí na celém klíči. 3NF — 2NF + žádné tranzitivní závislosti (neklíčový atribut nezávisí na jiném neklíčovém). Cíl: minimalizovat redundanci a aktualizační anomálie. Přísnější je BCNF.
Transakce a ACID
Transakce je nedělitelná posloupnost operací. ACID: Atomicity (vše, nebo nic), Consistency (z platného stavu do platného), Isolation (souběžné transakce se neruší) a Durability (potvrzená změna přetrvá). Řídí se příkazy COMMIT a ROLLBACK.

Kategorie SQL a další dotazovací jazyky

SQL příkazy se dělí na DDL (definice — CREATE, ALTER, DROP), DML (manipulace — SELECT, INSERT, UPDATE, DELETE), DCL (oprávnění — GRANT, REVOKE) a TCL (transakce). Procedurální nadstavba PL/SQL (Oracle) umožňuje uložené procedury, funkce a triggery. Objektově-orientovaný JPQL dotazuje entity v Javě (JPA) nezávisle na DBMS; XQuery dotazuje XML přes výrazy FLWOR (For, Let, Where, Order by, Return).

Upřesnění — indexy a relační algebra
Index je pomocná datová struktura (typicky B-strom), která zrychluje vyhledávání — místo procházení celé tabulky najde DB řádky rychle podle klíče. Cena: zabírá místo a zpomaluje zápisy (musí se udržovat). Teoretickým základem dotazů je relační algebra s operacemi: selekce (σ — výběr řádků dle podmínky, ~ WHERE), projekce (π — výběr sloupců, ~ SELECT), spojení (⋈ — JOIN), sjednocení, průnik, rozdíl. SQL je její praktická realizace.
Doplňující otázky
Jak index zrychluje dotaz a proč ho nedat na všechno?
Umožní vyhledat řádky bez sekvenčního průchodu celé tabulky (jako rejstřík v knize). Index na každém sloupci ale zvětší databázi a zpomalí INSERT/UPDATE/DELETE, protože se musí aktualizovat — proto se indexují hlavně sloupce, podle kterých se často filtruje a spojuje.
Čím se liší BCNF od 3NF?
BCNF (Boyce–Coddova NF) je přísnější: vyžaduje, aby každý determinant (levá strana funkční závislosti) byl kandidátním klíčem. Řeší okrajové případy, které 3NF ještě připouští u překrývajících se klíčů.
Co je pohled (view)?
Virtuální tabulka definovaná uloženým SELECT dotazem. Neukládá data, ale zjednodušuje přístup, skrývá složitost a může omezit, co uživatel vidí (bezpečnost).
Rozdíl mezi DELETE, TRUNCATE a DROP?
DELETE maže řádky podle podmínky (DML, lze vrátit v transakci). TRUNCATE rychle smaže všechny řádky (DDL). DROP odstraní celou tabulku včetně struktury.
Co je trigger a uložená procedura?
Uložená procedura je pojmenovaný blok SQL/kódu uložený v DB, který se volá. Trigger je kód, který se spustí automaticky při události (např. po INSERT) — používá se pro auditní záznamy či kontrolu integrity.
↑ začátek okruhu
Okruh 06

Základy datové analytiky

Proč jsou data hodnotou až po zpracování, co znamená jejich kvalita a jak se měří výkon businessu.

6.1Přidaná hodnota dat pro business

Data umožňují rozhodování založené na faktech (data-driven decision making) místo intuice — odhalují trendy, neefektivity i příležitosti a umožňují personalizaci, predikci a optimalizaci. Hodnota roste se „zralostí" analytiky:

  1. Deskriptivní — co se stalo (reporty, dashboardy)
  2. Diagnostická — proč se to stalo (drill-down, korelace)
  3. Prediktivní — co se pravděpodobně stane (modely, ML)
  4. Preskriptivní — co bychom měli udělat (doporučení, optimalizace)
Data → informace → znalost
Data jsou syrová fakta bez kontextu (číslo 42). Informace vzniká dáním do kontextu (42 prodaných kusů dnes). Znalost je informace v souvislostech, ze které lze jednat (prodej roste díky kampani → rozšířit ji). Hierarchie DIKW.

6.2Data a kvalita dat

Kvalita dat vyjadřuje, nakolik jsou data vhodná pro daný účel. Klíčové dimenze:

  • Přesnost (accuracy) — odpovídají realitě
  • Úplnost (completeness) — bez chybějících hodnot
  • Konzistence — bez rozporů napříč zdroji
  • Aktuálnost (timeliness) — nezastaralá
  • Jedinečnost — bez duplicit
  • Validita — soulad s formátem a pravidly

Špatná data = špatná rozhodnutí („garbage in, garbage out"). Řeší se čištěním dat (data cleansing), validací a data governance.

6.3Agregovaná data, dimenze, metriky/KPI, granularita

Dimenze · metrika · KPI
Dimenze = kvalitativní atribut, podle kterého členíme (čas, region, produkt) — „podle čeho". Metrika = měřitelná hodnota (tržby, počet objednávek) — „co měříme". KPI = klíčová metrika navázaná na cíl, podle níž hodnotíme výkon (konverzní poměr, churn, ROI) — metrika + cíl + kontext.

Agregovaná (odvozená) data vznikají sloučením a výpočtem z detailních dat agregačními funkcemi (SUM, AVG, COUNT) — např. denní tržby z jednotlivých transakcí. Zrychlují reporting, ale ztrácejí detail.

Granularita
Úroveň detailu uložených dat. Jemná granularita = jednotlivé transakce (hodně detailu i dat), hrubá = souhrny (rychlejší dotazy). Platí pravidlo jednosměrky: z jemné lze agregovat na hrubou, ne naopak — proto se atomická data uchovávají.
ETL a datový sklad
ETL (Extract–Transform–Load) získá data ze zdrojů, vyčistí je a nahraje do datového skladu — centrálního úložiště historických dat pro analýzu, modelovaného hvězdicovým schématem (faktová tabulka s metrikami obklopená dimenzionálními tabulkami).
Jak to vyprávět u zkoušky

Začni tezí, že data sama o sobě nemají hodnotu — vzniká až zpracováním a interpretací (ukaž žebříček deskriptivní → diagnostická → prediktivní → preskriptivní a řetěz data → informace → znalost). Pak kvalita dat: vyjmenuj dimenze (přesnost, úplnost, konzistence…) a dodej „garbage in, garbage out". Nakonec rozliš dimenzi, metriku a KPI, vysvětli agregaci a granularitu s pravidlem, že z jemné jdeš na hrubou, ne zpět — a doplň ETL + datový sklad jako technické zázemí.

6.4Dimenze kvality dat a Balanced Scorecard

Kvalita dat se posuzuje ve více dimenzích: přesnost, úplnost, konzistence, aktuálnost, jedinečnost (bez duplicit) a platnost (soulad s pravidly). Příčiny nekvality: chyby při zadávání, duplicity, zastaralá data, špatná integrace. Zajištění: validace na vstupu, čištění (data cleansing), deduplikace, správa metadat a data governance.

Klíčové pojmy analytiky
Agregovaná (odvozená) data vznikají souhrnem (součet, průměr). Dimenze je hledisko pohledu na data (čas, region, produkt). Metrika / KPI je měřitelný ukazatel výkonu (tržby, konverze). Granularita je úroveň detailu (záznam za den vs za měsíc). V datovém skladu se data modelují jako fakta (metriky) a dimenze (hvězdicové schéma).
Balanced Scorecard (BSC)
Strategický rámec, který měří výkon ve čtyřech perspektivách: finanční, zákaznická, interních procesů a učení a růstu. Propojuje strategii s měřitelnými cíli a KPI a brání jednostrannému zaměření jen na finance.
AI vs ML vs data science
Umělá inteligence je nadřazený pojem (systémy napodobující inteligentní chování). Strojové učení je podmnožina AI (učení z dat). Data science je interdisciplinární obor o získávání poznatků z dat; data analytics je analýza dat pro rozhodování. Pozor: korelace (souběžný výskyt) není kauzalita (příčina–následek).
Upřesnění — OLTP vs OLAP a data lake
Provozní systémy (ERP, e-shop) jsou OLTP (Online Transaction Processing) — mnoho krátkých zápisů/čtení, normalizovaná data, důraz na rychlé transakce. Analytické prostředí je OLAP (Online Analytical Processing) — málo uživatelů, složité dotazy nad velkými objemy historických dat, denormalizovaná schémata (hvězda). Proto se data z OLTP přesouvají ETL procesem do datového skladu (OLAP). Data lake je oproti skladu úložiště surových dat v původním formátu (i nestrukturovaných) pro pozdější použití — „schema-on-read" místo „schema-on-write".
Doplňující otázky
Jaký je rozdíl mezi reportem a dashboardem?
Report je obvykle statický, podrobný výstup za období. Dashboard je interaktivní přehled klíčových metrik/KPI v reálném (či blízkém) čase, navržený pro rychlý přehled o stavu.
Star schema vs snowflake schema?
Hvězda má faktovou tabulku a kolem ní denormalizované dimenze (rychlé dotazy, jednoduché). Vločka dimenze dále normalizuje do podtabulek (méně redundance, ale víc JOINů).
Co je leading a lagging indikátor?
Lagging (zpožděný) měří výsledek, který už nastal (tržby za minulý měsíc). Leading (předstihový) předpovídá budoucí výkon (počet nových leadů). Pro řízení jsou cenné oba.
Proč nelze z agregovaných dat získat zpět detail?
Agregace je nevratná ztrátová operace — z denního součtu tržeb nezjistíme jednotlivé transakce. Proto se atomická data uchovávají a agregace se počítají z nich, ne naopak.
↑ začátek okruhu
Okruh 07

Zpracování informací a znalostí

Jak stroje hledají vzory v datech, jak se ukládá a vyhledává text a jak popsat textový vzor formálně.

7.1Strojové učení a data mining

Strojové učení (ML) je obor, kde se algoritmus učí vzory z dat, místo aby měl pravidla naprogramovaná ručně. Tři základní typy:

  • Učení s učitelem (supervised) — trénink na označených datech (vstup → známý výstup). Dělí se na klasifikaci (diskrétní třídy, např. spam/ham) a regresi (spojitá hodnota, např. cena).
  • Učení bez učitele (unsupervised) — hledá strukturu v neoznačených datech: shlukování (clustering), redukce dimenze, asociační pravidla.
  • Zpětnovazební učení (reinforcement) — agent se učí akcemi a odměnami v prostředí.
Přeučení (overfitting)
Model si „zapamatuje“ trénovací data místo aby zobecnil — na nových datech selhává. Řeší se validací (rozdělení na trénovací/testovací množinu), regularizací a jednodušším modelem.

Data mining a CRISP-DM

Data mining (dobývání znalostí z databází, KDD) je objevování netriviálních, dosud neznámých a užitečných vzorů ve velkých datech. Standardní metodika CRISP-DM má 6 iterativních fází: (1) porozumění businessu, (2) porozumění datům, (3) příprava dat (čištění, transformace — nejnáročnější fáze), (4) modelování, (5) vyhodnocení, (6) nasazení.

Dvě typické techniky
Rozhodovací strom — srozumitelný (white-box) klasifikátor; dělí data podle nejinformativnějšího atributu (information gain / Gini). Asociační pravidla — „kdo koupil X, koupí i Y“ (analýza košíku), hodnotí se metrikami support, confidence, lift.

7.2Ukládání a vyhledávání textových informací

Cílem je z kolekce dokumentů vrátit na dotaz ty relevantní. Postup:

  1. Předzpracování — tokenizace, odstranění stop slov, stemming/lemmatizace (převod na základní tvar).
  2. Invertovaný index — mapa slovo → seznam dokumentů, kde se vyskytuje; umožňuje rychlé vyhledání.
  3. Model vektorového prostoru — dokumenty i dotaz jsou vektory vah termů. Váha se počítá pomocí TF-IDF: term je důležitý, když je častý v dokumentu, ale vzácný v celé kolekci. Relevance = kosinová podobnost vektorů.
Precision vs recall
Precision (přesnost) = kolik z nalezeného je opravdu relevantní. Recall (úplnost) = kolik z existujícího relevantního jsme našli. Jdou proti sobě; kombinuje je F1-míra (harmonický průměr). Stejné metriky se používají i v klasifikaci.

Pro velké objemy a flexibilní data slouží NoSQL databáze: klíč-hodnota (Redis), dokumentové (MongoDB), sloupcové (Cassandra), grafové (Neo4j). Často obětují část ACID za dostupnost a horizontální škálování (CAP teorém, princip BASE).

7.3Regulární výrazy

Regulární výraz (regex) je formální vzor popisující množinu řetězců — slouží k vyhledávání, validaci a manipulaci s textem. Základní konstrukce:

SkupinaPříklady
Znakové třídy[a-z], \d (číslice), \w (alfanum.), \s (bílý znak), . (libovolný)
Kvantifikátory* (0+), + (1+), ? (0/1), {n,m}
Kotvy^ (začátek), $ (konec), \b (hranice slova)
Ostatnía|b (alternativa), (…) (skupina)
Příklad
Zjednodušený e-mail: ^\w+@\w+\.\w+$. Použití: validace vstupů, parsování logů, hromadné nahrazení (search-replace).

7.4Evaluace modelů, indukce stromů a CRISP-DM

Aby model nebyl jen „naučený nazpaměť“, testuje se na datech, která neviděl. Metody evaluace:

MetodaPrincip
Na trénovacích datechnejslabší — neukáže přeučení (overfitting)
Holdout (70/30)rozdělení na trénovací a testovací část
Křížová validace (k-fold)data na k dílů; každý jednou testovací, zbytek trénink, výsledek se průměruje
Leave-one-outtestuje se vždy na jednom příkladu, opakuje n×
Bootstrapvýběr s navracením (~63 % trénink, ~37 % test)
Indukce rozhodovacích stromů (TDIDT)
Algoritmus „top-down induction of decision trees“ (ID3, C4.5, CART) staví strom shora: v každém uzlu vybere atribut, který nejlépe odděluje třídy — podle information gain (entropie) nebo Gini indexu. Kvalita uzlu se měří čistotou (purity). Přeučení se omezuje prořezáváním (pruning).
Fáze CRISP-DM
(1) Porozumění businessu (cíle), (2) porozumění datům (sběr, prozkoumání), (3) příprava dat (čištění, transformace — nejpracnější), (4) modelování (volba a trénink), (5) vyhodnocení (proti cílům businessu), (6) nasazení a údržba. Cyklus je iterativní.

Modely vyhledávání v textu

Vedle vektorového modelu (TF-IDF, kosinová podobnost) existuje booleovský model — dotaz tvořený operátory AND, OR, NOT; vrací dokumenty, které podmínku přesně splní (bez řazení podle relevance). Jeho omezení (vše-nebo-nic) zmírňuje fuzzy rozšíření (částečná příslušnost) a právě vektorový model (řazení podle míry shody). Operátor AND zvyšuje přesnost, OR zvyšuje úplnost.

Upřesnění — vyhodnocení modelu a chyby
Klasifikační model se hodnotí přes matici záměn (confusion matrix): TP, TN, FP (falešně pozitivní), FN (falešně negativní). Z ní plyne accuracy, precision, recall a F1. Pozor na nevyvážená data — u 99 % zdravých pacientů má model „vždy zdravý“ 99% accuracy, ale je k ničemu (proto precision/recall). Dvojí riziko modelu: overfitting (příliš složitý, nezobecní) vs underfitting (příliš jednoduchý, nezachytí vzor) — hledá se rovnováha (bias–variance trade-off).
Doplňující otázky
Uveď příklad klasifikace a regrese.
Klasifikace — zařadit e-mail jako spam/ham, rozpoznat číslici (diskrétní třída). Regrese — předpovědět cenu bytu, teplotu (spojitá hodnota).
Co znamenají support, confidence a lift u asociačních pravidel?
Support = jak často se kombinace vyskytuje. Confidence = pravděpodobnost B za podmínky A. Lift = o kolik je výskyt B s A pravděpodobnější než náhodně (lift > 1 znamená pozitivní vztah).
Proč se dělá stemming/lemmatizace?
Aby se různé tvary téhož slova („pracoval“, „pracuje“, „práce“) sloučily na společný základ a vyhledávání je považovalo za totéž. Lemmatizace převádí na slovníkový tvar, stemming jen ořezává koncovky.
Kdy zvolit NoSQL místo relační databáze?
Při velkém objemu a rychlosti dat, flexibilním/měnícím se schématu a potřebě horizontálního škálování. Naopak kde je nutná silná konzistence a složité transakce, vede relační DB.
Tvoje komise — otázky, které padají Vadinský
Co je to klasifikační úloha strojového učení a jaké vhodné metody znáte?
Klasifikace je úloha učení s učitelem: model se na označených trénovacích datech naučí přiřadit vstup do jedné z předem daných tříd (diskrétní cíl) — např. spam/ham, schválit/zamítnout úvěr, rozpoznat číslici. Data se dělí na trénovací a testovací množinu kvůli ověření zobecnění. Vhodné metody: rozhodovací stromy a náhodné lesy, logistická regrese, k-NN, SVM, naivní Bayes a neuronové sítě. Kvalitu hodnotíme maticí záměn a mírami accuracy, precision, recall a F1.
V čem spočívá rozdíl mezi rozhodovacími stromy a neuronovými sítěmi?
Rozhodovací strom je white-box — dělí data srozumitelnými pravidly podle atributů (výběr dle information gain / Gini), trénuje se rychle a snadno se interpretuje, ale je náchylný k overfittingu (řeší prořezávání nebo les). Neuronová síť je black-box — vrstvy propojených neuronů s vahami a aktivačními funkcemi učené zpětnou propagací; zachytí složité nelineární vztahy a exceluje na nestrukturovaných datech (obraz, text, řeč), ale potřebuje hodně dat i výpočtu a hůř se vysvětluje. Volba: malá tabulková data se srozumitelností → strom/les; velká nestrukturovaná data → neuronová síť.
Jaké úlohy dobývání znalostí znáte a v čem se liší?
Klasifikace (do tříd), regrese/predikce (číselná hodnota), shlukování (skupiny bez daných tříd), asociační pravidla (vztahy mezi položkami) a detekce anomálií; uvádí se i deskripce a sumarizace. Liší se dvěma osami: zda mají označený cíl (s učitelem: klasifikace, regrese × bez učitele: shlukování, asociace) a zda jsou prediktivní (předpovídají cílovou hodnotu) nebo deskriptivní/explorativní (popisují strukturu dat).
Jaké typy modelů pro klasifikační úlohu?
Pro klasifikaci se používají různé typy modelů: stromové (rozhodovací strom, náhodný les, gradient boosting), lineární a statistické (logistická regrese, naivní Bayes), instanční (k-NN), modely s oddělující nadrovinou (SVM) a neuronové sítě. Liší se interpretovatelností, nároky na data a schopností zachytit nelineární vztahy. Pro více tříd se binární modely kombinují (one-vs-rest, one-vs-one).
Vysvětlete shlukování?
Shlukování je učení bez učitele — seskupuje objekty do shluků tak, aby si uvnitř byly co nejpodobnější a mezi shluky odlišné; podobnost se měří vzdáleností (euklidovskou). k-means rozdělí data do k shluků kolem iterativně posouvaných center (k se zadává předem, citlivý na odlehlé hodnoty); hierarchické shlukování staví dendrogram bez nutnosti zadat k; DBSCAN je hustotní a najde shluky libovolného tvaru i šum. Typicky segmentace zákazníků nebo dokumentů.
Co je to explorativní úloha ve strojovém učení?
Explorativní (deskriptivní) úloha nemá cílovou proměnnou — jejím účelem je objevit strukturu, vzory a vztahy v datech, ne předpovídat. Patří sem shlukování, asociační pravidla, redukce dimenze (PCA) a vizualizace. Je opakem prediktivní (verifikační) úlohy. V metodice CRISP-DM hraje roli hlavně ve fázi porozumění datům, kde teprve zjišťujeme, co data obsahují.
Jaké metody strojového učení by vám mohly pomoct s vyhodnocením výsledků (rozsáhlejšího) dotazníkového šetření?
Záleží, zda mám cílovou proměnnou. Bez učitele: shlukování respondentů do segmentů, redukce dimenze / faktorová analýza pro hlavní latentní faktory a asociační pravidla mezi odpověďmi. S učitelem: klasifikace nebo regrese, pokud chci z odpovědí předpovědět výsledek (spokojenost, odchod zákazníka). U otevřených odpovědí analýza textu (TF-IDF, kategorizace, sentiment). Postupoval bych explorativně: nejdřív data pochopit (shlukování, vizualizace), pak teprve prediktivní model.
V čem spočívá rozdíl mezi stromy a neuronovými sítěmi při klasifikační úloze?
Při klasifikaci strom vytvoří srozumitelná rozhodovací pravidla (if-then větve), což je výhodné, když potřebuji výsledek vysvětlit a data jsou tabulková; nevýhodou je přeučení, které řeší náhodný les. Neuronová síť se naučí klasifikační hranici jako složitou nelineární funkci vah — dosahuje vyšší přesnosti na velkých a nestrukturovaných datech, ale je neprůhledná a náročnější na data i ladění. Strom tedy volím pro interpretovatelnost, neuronovou síť pro maximální přesnost na složitých datech.
Jak to vyprávět u zkoušky

Rozděl okruh na tři pilíře. ML: tři typy (s učitelem / bez učitele / zpětnovazební), u prvního klasifikace vs regrese, zmiň overfitting; data mining doplň metodikou CRISP-DM a příkladem (rozhodovací strom, asociační pravidla). Vyhledávání textu: předzpracování → invertovaný index → vektorový model s TF-IDF a kosinovou podobností, vyhodnocení přes precision/recall a F1. Regulární výrazy: vysvětli, že jde o formální vzor, a ukaž znakové třídy, kvantifikátory a kotvy na příkladu e-mailu.

↑ začátek okruhu
Okruh 08

IT Governance

Kdo určuje směr IT a kdo ho vykonává, jak měřit hodnotu IT a co přinášejí rámce COBIT a ITIL.

8.1Rozdíl mezi Governance a Management

Tohle je jádro celého okruhu — nezaměnit. Governance (správa vlastníky / vrcholovým vedením) stanovuje směr: vyhodnocuje potřeby, rozhoduje o prioritách a investicích, nastavuje pravidla a monitoruje výkon a soulad. Management tento směr naplňuje: plánuje, buduje, provozuje a monitoruje činnosti.

GovernanceManagement
Otázkaco a proč (rozhoduje)jak (vykonává)
Kdovrcholové vedení / správní radavýkonný management
COBITEDM: Evaluate, Direct, MonitorPBRM: Plan, Build, Run, Monitor

8.2Klíčové oblasti Enterprise Governance of IT

EGIT zajišťuje, že IT podporuje strategii organizace a vytváří hodnotu. Pět klíčových oblastí (Van Grembergen / De Haes):

  • Strategický soulad (alignment) — propojení IT a business strategie
  • Dodávání hodnoty (value delivery) — IT přináší slíbené přínosy
  • Řízení rizik — identifikace a ošetření IT rizik
  • Řízení zdrojů — efektivní využití lidí, dat, aplikací, infrastruktury
  • Měření výkonu — sledování a vyhodnocení (např. Balanced Scorecard)

Realizuje se kombinací struktur (role, výbory), procesů a vztahových mechanismů (komunikace mezi IT a businessem).

8.3Základní principy COBIT 5

COBIT 5 je rámec pro governance i management podnikového IT. Pět principů:

  1. Naplňování potřeb stakeholderůkaskáda cílů od potřeb stakeholderů přes podnikové a IT cíle k procesům.
  2. Pokrytí podniku jako celku (end-to-end) — nejen IT, ale celá organizace.
  3. Jednotný integrovaný rámec — sjednocení s ITIL, ISO atd.
  4. Holistický přístup — 7 enablerů (principy/politiky, procesy, struktury, kultura, informace, služby/infrastruktura, lidé/dovednosti).
  5. Oddělení governance od managementu.

COBIT odlišuje doménu governance (EDM) od čtyř domén managementu: APO (Align, Plan, Organise), BAI (Build, Acquire, Implement), DSS (Deliver, Service, Support), MEA (Monitor, Evaluate, Assess).

8.4Na co reaguje ITIL 4 a rozdíly vůči ITIL v3

ITIL je rámec pro řízení IT služeb (ITSM). ITIL 4 reaguje na moderní trendy: agilní vývoj, DevOps, cloud, potřebu rychlosti a spolutvorby hodnoty.

ITIL v3ITIL 4
životní cyklus služby + 26 procesůService Value System (SVS) a Service Value Chain — end-to-end tok tvorby hodnoty
„procesy“34 praktik (practices) širšího záběru
7 řídicích principů (např. „zaměř se na hodnotu“, „začni tam, kde jsi“, „postupuj iterativně se zpětnou vazbou“)
spíš rigidní sekvencespolutvorba hodnoty, integrace s Agile/DevOps/Lean
Incident vs Problem management
Incident = obnovit provoz co nejrychleji (i workaroundem) — „hasím požár teď“. Problem = najít a odstranit příčinu (root cause), aby se incident neopakoval — „zjišťuji, proč hořelo“.

8.5Oblasti EGIT, zralost a vztah rámců

Enterprise Governance of IT se zaměřuje na dvě hlavní oblasti: soulad (conformance) — dodržování pravidel, řízení rizik a kontrola — a výkonnost (performance) — tvorba hodnoty, strategie a měření přínosů.

Procesní reference COBIT 5
Jedna doména governanceEDM (Evaluate, Direct, Monitor) — a čtyři domény managementu: APO (Align, Plan, Organise), BAI (Build, Acquire, Implement), DSS (Deliver, Service, Support), MEA (Monitor, Evaluate, Assess). Doplňky Val IT (hodnota) a Risk IT (rizika) jsou v COBIT 5 integrovány.
Zralost procesů (CMM)
Schopnost organizace řídit procesy popisuje model zralosti v 5 úrovních: (1) počáteční (chaotická, ad hoc), (2) opakovatelná, (3) definovaná (standardizovaná), (4) řízená (měřená metrikami), (5) optimalizovaná (průběžné zlepšování). COBIT i CMMI tyto úrovně využívají k posouzení vyspělosti IT.
Rámec / normaK čemu slouží
COBITgovernance i management IT — co řídit
ITILřízení IT služeb (ITSM) — jak provozovat
ISO/IEC 27001systém řízení bezpečnosti informací (ISMS)
ISO/IEC 20000certifikovatelná norma pro ITSM
Upřesnění — měření hodnoty a vztah rámců
Aby governance mohla monitorovat, potřebuje metriky. Používá se Balanced Scorecard (finanční, zákaznická, procesní a inovační perspektiva) a v IT odvozený IT BSC. Důležité je nezaměňovat rámce: COBIT říká „co“ řídit (governance/management cíle), ITILjak“ provozovat služby, normy ISO/IEC (např. 27001 pro bezpečnost, 20000 pro ITSM) dávají certifikovatelné požadavky. Vzájemně se doplňují, nekonkurují si.
Doplňující otázky
Co je kaskáda cílů v COBIT?
Mechanismus, který převádí potřeby stakeholderů na podnikové cíle, z nich na cíle IT a dál na konkrétní cíle procesů. Zajišťuje, že každá IT aktivita má dohledatelnou vazbu na potřebu byznysu.
Jmenuj čtyři manažerské domény COBIT.
APO (Align, Plan, Organise), BAI (Build, Acquire, Implement), DSS (Deliver, Service, Support), MEA (Monitor, Evaluate, Assess). Doména governance je EDM.
Co je SLA?
Service Level Agreement — dohoda o úrovni služby mezi poskytovatelem a zákazníkem (dostupnost, doba reakce/řešení). V ITIL je klíčovým nástrojem řízení očekávání a kvality.
Uveď příklad řídicího principu ITIL 4.
Např. „Zaměř se na hodnotu“, „Začni tam, kde jsi“ (nezahazuj fungující), „Postupuj iterativně se zpětnou vazbou“, „Udržuj jednoduchost a praktičnost“. Jsou to univerzální doporučení napříč všemi praktikami.
Proč je důležité oddělit governance od managementu?
Aby ten, kdo stanovuje směr a kontroluje (vlastníci/rada), nebyl totožný s tím, kdo ho vykonává — předchází se konfliktu zájmů a zajišťuje nezávislý dohled nad výkonem.
Jak to vyprávět u zkoušky

Otevři jednou silnou větou: governance určuje směr (co a proč), management ho vykonává (jak) — a podlož to COBIT zkratkami EDM vs PBRM. Pak EGIT jako pět oblastí kolem tvorby hodnoty (alignment, value, risk, resources, performance). COBIT 5 odříkej jako pět principů (kaskáda cílů, end-to-end, integrace, enablery, oddělení governance/managementu). Uzavři ITIL: na co ITIL 4 reaguje (Agile/DevOps/cloud) a hlavní posun od životního cyklu/procesů v3 k SVS, praktikám a řídicím principům ve 4.

↑ začátek okruhu
Okruh 09

Podnikové informační systémy

Klíčové aplikace, které řídí chod firmy, jak se zavádějí a jaké přinášejí přínosy i rizika.

9.1Klíčové aplikace — ERP, CRM, BI, SCM, MES

Podnikové IS pokrývají různé oblasti firmy a vzájemně se integrují:

  • ERP (Enterprise Resource Planning) — jádro; integruje finance, účetnictví, výrobu, sklad, nákup a HR nad jednou databází.
  • CRM (Customer Relationship Management) — řízení vztahů se zákazníky: obchod, marketing, servis, historie kontaktů.
  • BI (Business Intelligence) — sběr, integrace a analýza dat pro rozhodování (datové sklady, reporty, dashboardy, OLAP).
  • SCM (Supply Chain Management) — řízení dodavatelského řetězce od dodavatelů přes výrobu po distribuci (logistika, zásoby).
  • MES (Manufacturing Execution System) — řízení a sledování výroby na dílenské úrovni v reálném čase; propojuje ERP s výrobními stroji.
Jak to do sebe zapadá
ERP je páteř, na kterou se napojují ostatní: CRM míří ven k zákazníkům, SCM dozadu k dodavatelům, MES dolů do výroby a BI nad tím vším staví analytickou nadstavbu. Společně tvoří podnikovou aplikační architekturu.

9.2Implementace podnikových IS

Zavedení ERP/IS je náročný projekt. Fáze: výběr řešení (poptávka, výběrové řízení) → analýza procesů → návrh a konfigurace/customizace → migrace dat → testování → školení → nasazení → podpora provozu.

Strategie nasazení

StrategieCharakter
Big bangvše najednou — rychlé, ale rizikové
Fázovépo modulech/lokalitách — bezpečnější, delší
Paralelní běhstarý i nový souběžně — nejbezpečnější, nákladné
Klíčové rozhodnutí
Přizpůsobit systém procesům (customizace — dražší údržba, riziko při upgradu) vs přizpůsobit procesy systému (převzít „best practices“ vestavěné v ERP). Kritické faktory úspěchu: podpora vedení, řízení změny, kvalita dat, zapojení uživatelů.

9.3Přínosy, rizika a trendy

PřínosyRizika
integrace dat a procesů (jeden zdroj pravdy)vysoké náklady a délka projektu
automatizace, vyšší efektivitaodpor uživatelů, špatné řízení změny
lepší rozhodování a kontrolazávislost na dodavateli (vendor lock-in)
standardizace procesůnekvalitní data, bezpečnostní rizika

Trendy: cloud a SaaS ERP místo on-premise, mobilní přístup, integrace AI/ML a prediktivní analytiky, propojení s IoT (Průmysl 4.0), automatizace přes RPA, low-code/no-code rozšíření a otevřená API.

On-premise vs cloud (SaaS)
On-premise = vlastní infrastruktura, plná kontrola, vysoké počáteční náklady (CAPEX). Cloud/SaaS = software jako služba, předplatné (OPEX), automatické aktualizace, rychlé nasazení a škálovatelnost, ale menší kontrola a závislost na poskytovateli.

9.4Moduly ERP, BI architektura a etapy zavedení

ERP se skládá z modulů: logistika (nákup, sklad), výroba (plánování přes MRP/MRP II), finance a účetnictví, HR a prodej — vše nad jednou databází. SCM řídí dodavatelský řetězec, CRM vztahy se zákazníky, MES dílenskou výrobu v reálném čase.

Architektura BI
Data ze zdrojových systémů projdou procesem ETL (Extract–Transform–Load) do datového skladu (data warehouse), kde se ukládají historicky a multidimenzionálně. Nad nimi pracují nástroje OLAP (analýza po dimenzích), reporty a dashboardy. Rozdíl: report je statický přehled, dashboard interaktivní přehled klíčových ukazatelů.
Etapy zavedení IS (dle MMDIS)
(1) Úvodní studie (cíle, proveditelnost), (2) globální analýza a návrh, (3) detailní analýza a návrh, (4) customizace / vývoj, (5) migrace dat a zavedení do provozu, (6) provoz a změnová řízení. Strategie nasazení: big bang, fázové, paralelní běh.

SOA, cloud a typy aplikací

SOA (Service-Oriented Architecture) skládá systém z volně provázaných služeb; moderní variantou jsou mikroslužby. Cloud nabízí tři modely: IaaS (infrastruktura), PaaS (platforma), SaaS (software jako služba) — podle nasazení privátní/veřejný/hybridní. Aplikace dělíme na transakční (OLTP — mnoho krátkých zápisů) a analytické (OLAP — složité dotazy nad velkými objemy).

Upřesnění — integrace systémů a modulárnost
Aby spolu podnikové systémy mluvily, používá se integrace přes API, middleware nebo integrační sběrnici ESB (Enterprise Service Bus), případně moderně iPaaS v cloudu. ERP bývá modulární — firma nasadí jen potřebné moduly (finance, sklad, výroba) a postupně přidává. Klíčové je vyhnout se „informačním ostrovům“ (izolovaným systémům bez propojení), které vedou k duplicitě a nekonzistenci dat.
Doplňující otázky
Proč firmy raději přebírají best practices než customizují?
Customizace prodražuje údržbu a komplikuje upgrade systému (úpravy se musí přepisovat). Best practices vestavěné v ERP jsou ověřené a usnadňují aktualizace — proto se doporučuje měnit spíš procesy než systém.
Co je vendor lock-in a jak ho zmírnit?
Závislost na jednom dodavateli, ze které je drahé odejít (data, formáty, znalosti). Zmírňuje se otevřenými standardy, přenositelností dat a smluvním ošetřením.
Jaký je rozdíl mezi CRM a ERP?
ERP řídí vnitřní zdroje a procesy firmy (finance, výroba, sklad). CRM se soustředí na vztahy se zákazníky (obchod, marketing, servis). Často se integrují.
Co přináší Průmysl 4.0?
Propojení výroby s IoT senzory, daty a AI — chytré továrny, prediktivní údržba, digitální dvojče. MES a ERP se propojují s reálným provozem strojů v reálném čase.
Proč je migrace dat rizikovou fází?
Stará data bývají nekonzistentní, neúplná či v jiné struktuře. Špatně provedená migrace přenese chyby do nového systému („garbage in“), proto vyžaduje čištění a důkladné testování.
Jak to vyprávět u zkoušky

Začni přehledem pěti klíčových aplikací a hned řekni, jak do sebe zapadají (ERP jako páteř, CRM ven, SCM dozadu, MES dolů, BI nad tím). Pak implementace: jmenuj fáze projektu, tři strategie nasazení (big bang / fázové / paralelní) a klíčové dilema customizace vs best practices, dodej kritické faktory úspěchu. Nakonec postav přínosy proti rizikům a uzavři trendy — cloud/SaaS, AI, IoT a Průmysl 4.0.

↑ začátek okruhu
Okruh 10

Analýza a návrh informačních systémů

Jak propojit svět businessu se světem IT a jak srozumitelně popsat, jak organizace funguje.

10.1Propojení IT a businessu

Business-IT alignment znamená soulad IT strategie, služeb a investic s cíli businessu tak, aby IT vytvářelo hodnotu, ne bylo jen nákladovým střediskem. Každá IT investice by měla mít jasnou vazbu na business cíl.

Podniková architektura (EA)
Nástroj propojení. Enterprise Architecture (rámec TOGAF, notace ArchiMate) propojuje vrstvy business → aplikace → technologie a ukazuje, které aplikace a infrastruktura podporují které procesy. Bez tohoto propojení vzniká plýtvání a „stínové IT“.

Roli prostředníka hraje business analytik, který překládá potřeby businessu do požadavků na systém. Klíčové je sdílet společný jazyk — modely a srozumitelně zapsané požadavky.

Funkční vs nefunkční požadavky
Funkční popisují, co má systém dělat (registrace uživatele). Nefunkční popisují, jak dobře — vlastnosti a omezení (odezva do 2 s, dostupnost 99,9 %, bezpečnost, použitelnost).

10.2Modelování business procesů

Business proces je posloupnost činností, které mění vstupy na výstup s hodnotou pro zákazníka. Modelování zachycuje, jak organizace funguje dnes (as-is) a jak by měla (to-be) — slouží k analýze, optimalizaci, automatizaci a komunikaci.

BPMN — Business Process Model and Notation

Standardní grafická notace pro procesy. Hlavní prvky:

  • Události (kroužky) — start, mezikrok, konec
  • Aktivity / úkoly (zaoblené obdélníky) — co se dělá
  • Brány / gateways (kosočtverce) — větvení: XOR (výhradní volba), AND (paralelní), OR
  • Sekvenční toky (šipky) — pořadí
  • Plavecké dráhy (pools a lanes) — kdo činnost vykonává

Procesy modelované v BPMN lze i automatizovat přes procesní engine.

Use case (UML)
Z pohledu uživatele se funkční požadavky často zachycují jako případy užitíaktér (role zvenčí) chce dosáhnout cíle („Provést objednávku“). Use case diagram ukazuje aktéry, případy užití a vztahy include/extend.

10.3Metodika MMDIS a procesní modelování

MMDIS (Multidimensional Management and Development of Information Systems) je metodika budování IS založená na multidimenzionalitě — na IS se dívá současně z více dimenzí, které je nutné řešit ve vzájemné vazbě. Deset obsahových dimenzí:

ZkratkaDimenze
infdata / informace (datová architektura)
profunkce / procesy (procesní architektura)
orgorganizační a legislativní aspekty
prapracovní, sociální a etické aspekty
sw / hwsoftware / hardware
ekoekonomické a finanční aspekty
met / dok / mngmetody / dokumenty / řízení prací fáze

Váha dimenzí se mění podle fáze: organizační a ekonomická dimenze dominují v úvodních fázích, SW a HW v závěrečných. Fáze zhruba: úvodní studie → globální analýza a návrh → detailní analýza a návrh → implementace.

Procesní notace EPC a BPMN
EPC (Event-driven Process Chain) řetězí události a funkce propojené logickými operátory (AND/OR/XOR). BPMN je dnešní standard: tokové objekty (události, aktivity, brány), spojovací objekty, plavecké dráhy (kdo co dělá) a artefakty. Metoda KBPR (Knowledge-Based Process Reengineering) propojuje modelování procesů se znalostmi.
Upřesnění — architektonické domény a sběr požadavků
Podniková architektura se obvykle člení do čtyř domén: byznysová (procesy, role), datová/informační (jaké entity), aplikační (jaké systémy) a technologická (infrastruktura). Rámec TOGAF definuje metodu jejich tvorby (ADM cyklus), ArchiMate notaci pro jejich zápis. Požadavky se získávají technikami jako rozhovory, workshopy, pozorování, dotazníky a analýza dokumentů; pak se prioritizují (např. metoda MoSCoW: Must / Should / Could / Won't have).
Doplňující otázky
Co je stínové IT (shadow IT) a proč je problém?
Technologie a aplikace používané ve firmě bez vědomí IT oddělení (např. vlastní cloudové nástroje). Vzniká, když IT nestíhá potřeby businessu; přináší bezpečnostní rizika a roztříštěnost dat.
Co znamenají brány XOR a AND v BPMN?
XOR (výhradní) — tok pokračuje právě jednou větví podle podmínky. AND (paralelní) — tok se rozdělí do více větví, které běží současně a později se synchronizují.
Co je as-is a to-be model?
As-is zachycuje současný stav procesu (jak to funguje teď, včetně neefektivit). To-be navrhuje cílový optimalizovaný stav. Porovnání obou ukazuje, co je třeba změnit.
Jak souvisí use case s funkčními požadavky?
Use case popisuje konkrétní interakci aktéra se systémem za účelem cíle — je to způsob, jak srozumitelně zapsat a strukturovat funkční požadavky z pohledu uživatele.
Proč firma potřebuje business analytika?
Překládá mezi dvěma světy — rozumí potřebám businessu i možnostem IT a převádí neformální požadavky do jednoznačné specifikace, podle které lze systém postavit.
Tvoje komise — otázky, které padají Řepa
Jaké je propojení IT a byznysu? Co znamená pojem digital transformation?
Business-IT alignment je soulad IT strategie, služeb a investic s cíli firmy tak, aby IT vytvářelo hodnotu, ne bylo nákladovým střediskem; každá IT investice by měla mít dohledatelnou vazbu na byznys cíl. Dosahuje se podnikovou architekturou, IT governance, rolí business analytika a sdíleným jazykem. Digital transformation jde dál než digitalizace (papír → elektronicky) — je to hlubší proměna procesů, byznys modelu i firemní kultury pomocí digitálních technologií, často podložená daty a platformami; mění, jak firma funguje a vydělává.
Najděte ve Vašem „relačním“ modelu potenciální nedostatky (co nežádoucího model připouští). Jaké jsou možné přístupy k eliminaci takových nedostatků?
Nežádoucí stavy plynou ze slabé normalizace (redundance → aktualizační, vkládací a mazací anomálie) a z příliš volných integritních omezení (model připustí kombinaci, která v realitě nenastává, např. osiřelý záznam či nemožný vztah). Eliminace: normalizace do 1NF–3NF/BCNF, integritní omezení NOT NULL, UNIQUE, CHECK, cizí klíče pro referenční integritu a správně nastavená kardinalita. Objektový diagram na úrovni instancí pomůže takové slabiny na konkrétním příkladu odhalit.
Jaké byste viděl možnosti využití umělé inteligence v oblasti bezpečnosti? Nejdříve charakterizujte oblast bezpečnosti informačních systémů. Byl by vhodný obecný ChatGPT, nebo by to chtělo specializovaný nástroj (problematika detekce škodlivých mailů)?
Bezpečnost IS vymezím triádou CIA (důvěrnost, integrita, dostupnost) a typickými hrozbami (malware, phishing, útoky na hesla, síťové útoky, úniky dat). AI/ML v ní lze využít k detekci anomálií, klasifikaci škodlivých e-mailů, analýze logů a předvídání útoků. Pro konkrétní úlohu (detekce škodlivých mailů) je vhodnější specializovaný model trénovaný na doménových datech (spam/phishing) než obecný ChatGPT — specializovaný klasifikátor je přesnější, rychlejší, levnější a neposílá citlivá data ven; obecný LLM se hodí spíš na asistenci, vysvětlení nebo rychlý prototyp.
Do čeho může účetní software přesahovat u větších firem?
U větších firem účetní software přerůstá z izolované agendy do širšího podnikového systému — propojuje se s ERP nebo do něj splývá. Přesahuje do financí a controllingu, skladu a logistiky, nákupu a prodeje, mezd a HR, evidence majetku, výkaznictví (reporting, BI) a do napojení na banky, daňové a státní portály a EDI. Cílem je jeden zdroj dat a integrované procesy napříč firmou místo oddělených ostrovů.
Existuje standardní postup pro posuzování užitnosti ERP v širším kontextu? Či obecně pro jakýkoliv software podporující fungování firem?
Ano — užitečnost se posuzuje vazbou na byznys přínosy, ne jen podle funkcí. Používá se hodnocení nákladů a přínosů (TCO — celkové náklady vlastnictví, ROI), soulad s procesy a strategií (fit-gap analýza), nefunkční kritéria (výkon, bezpečnost, škálovatelnost) a strukturovaný výběr (výběrové řízení, RFP, váhové bodování kritérií). K posouzení hodnoty IT obecně slouží rámce jako Val IT / COBIT a Balanced Scorecard.
Říká vám něco pojem podniková architektura (enterprise architecture)? Znáte pro ni nějaké standardy?
Ano — podniková architektura (EA) je celostní popis firmy provazující vrstvy business → data → aplikace → technologie, aby IT podporovalo strategii a odstranily se informační ostrovy. Standardy/rámce: TOGAF (metoda tvorby, cyklus ADM), Zachman framework (matice pohledů a otázek co/jak/kde/kdo/kdy/proč) a ArchiMate (notace pro zápis EA). Zjednodušeně: TOGAF říká jak architekturu tvořit, ArchiMate jak ji kreslit, Zachman jaké pohledy pokrýt.
Co obnáší budování podnikových informačních systémů?
Je to komplexní projekt napříč dimenzemi (data, procesy, organizace, lidé, SW, HW, ekonomika). Zahrnuje analýzu potřeb a procesů (as-is / to-be), volbu řešení (vlastní vývoj × nákup ERP × cloud), návrh architektury, konfiguraci/customizaci, migraci dat, integraci se stávajícími systémy, testování, školení a řízení změny, nasazení a následný provoz a rozvoj. Klíčové faktory úspěchu jsou podpora vedení, kvalita dat a zapojení uživatelů.
Jaké metody modelování pro podnikové informační systémy znáte?
Modeluje se ve více pohledech. Datové modelování (E-R diagram, class diagram) zachycuje strukturu dat; procesní modelování (BPMN, EPC, diagram aktivit) zachycuje průběh činností; funkční modelování a use case popisují funkce z pohledu uživatele. Na úrovni celé firmy slouží podniková architektura (ArchiMate). Tyto pohledy integrují metodiky jako MMDIS, které řeší více dimenzí ve vzájemné vazbě.
Konceptuální či class diagramy — jaké znáte další typy diagramů užitečné při vývoji informačních systémů?
Vedle class/konceptuálního diagramu nabízí UML strukturální diagramy — objektový (instance), komponent, nasazení, balíčků — a behaviorální — use case (případy užití), sekvenční a komunikační (interakce v čase), diagram aktivit (tok činností) a stavový diagram (stavy a přechody). Pro vývoj IS jsou nejužitečnější class, use case, sekvenční a aktivit; objektový diagram pomáhá ověřit konceptuální model na konkrétních instancích.
K čemu může být užitečný objektový diagram (na úrovni instancí)? Čím vás může „překvapit“ oproti konceptuálnímu modelu?
Objektový diagram zobrazuje konkrétní instance tříd a jejich propojení v daném okamžiku — snímek stavu systému, zatímco class model popisuje obecné typy a pravidla. Jeho síla je v ověření návrhu na konkrétním scénáři. Může „překvapit“ tím, že odhalí, jak obecně rozumný model v konkrétní situaci připouští nežádoucí kombinace (kardinalita nebo chybějící omezení dovolí stav, který nemá nastat) — slouží tedy k validaci konceptuálního modelu a odhalení jeho slabin.
Jaké metody pro systematickou analýzu údajů a vztahů mezi nimi znáte?
K systematické analýze dat a jejich vztahů slouží datové modelování (E-R analýza — entity, atributy, vztahy a kardinality), normalizace (odhalení funkčních závislostí), CRUD / maticové analýzy (které funkce čtou a mění která data) a u procesů procesní analýza. Doplňují je nástroje datové analytiky (deskriptivní statistika, korelační analýza, shlukování). Cílem je úplně a konzistentně zachytit, jaká data existují a jak spolu souvisejí.
Jaké znáte typy modelování při vývoji informačního systému? V jaké fázi vývojového cyklu se používají?
Modeluje se datově (struktura), procesně (chování) a funkčně (co systém dělá). Konceptuální (analytické) modely vznikají ve fázi analýzy (co), logické/designové ve fázi návrhu (jak) a implementační/fyzické ve fázi implementace. Postupuje se od abstraktního, technologicky nezávislého modelu k implementačně specifickému — což odpovídá principu tří architektur.
Jaké má informační systém dimenze?
IS lze nahlížet z více doplňujících se dimenzí, které pojmenovává metodika MMDIS: data/informace, funkce/procesy, organizační a legislativní aspekty, pracovní/sociální a etické aspekty, software, hardware, ekonomika, metody, dokumenty a řízení prací. Kvalitní návrh je musí řešit ve vzájemné vazbě; jejich váha se mění podle fáze (organizační a ekonomická dominují na začátku, SW a HW v závěru).
Jaký je rozdíl mezi datovým a procesním modelem?
Datový model popisuje statickou strukturu — entity, atributy, vztahy (E-R, class diagram); odpovídá na „co ukládáme“. Procesní model popisuje dynamiku — posloupnost činností, události a tok řízení (BPMN, EPC, diagram aktivit); odpovídá na „jak a v jakém pořadí“. Doplňují se: procesy pracují s daty (čtou je a mění) a kvalitní návrh IS potřebuje oba pohledy.
Jaké architektury návrhu datového modelu znáte (princip 3 architektur)? Jaké nástroje by vám mohly pomoci? Jaké typy modelů znáte?
Princip tří architektur (P3A): konceptuální model (technologicky nezávislý — entity a vztahy), logický/databázový model (relační schéma, klíče, normalizace) a fyzický model (implementace v DBMS — typy, indexy, uložení). Postupuje se od abstrakce k implementaci (odpovídá ANSI-SPARC). Nástroje: CASE a datové modelovací nástroje (Enterprise Architect, Toad Data Modeler, PowerDesigner, ER/Studio). Typy modelů: relační, ale i hierarchický, síťový a objektový datový model.
Jak jsou realizovány vztahy mezi entitami v relačních databázích?
Vztahy se realizují cizími klíči. Vztah 1:N se vyjádří cizím klíčem na straně N (odkaz na primární klíč strany 1). Vztah M:N se rozloží do vazební (spojovací) tabulky se dvěma cizími klíči. Vztah 1:1 cizím klíčem s omezením UNIQUE. Platnost hlídá referenční integrita — cizí klíč musí odkazovat na existující záznam.
Jak byste využil zkušenosti s fenoménem sociálních sítí v podnikovém informačním systému?
Několika směry: enterprise social / collaboration nástroje pro interní komunikaci a sdílení znalostí; analýza sociálních sítí (vztahy mezi zákazníky či zaměstnanci, identifikace vlivných uzlů); integrace sociálních dat do CRM (sentiment, social listening, péče o zákazníka přes sociální kanály); a osvědčené principy jako uživatelské profily, doporučování obsahu a notifikace. Přínosem je vyšší zapojení uživatelů a bohatší data o vztazích.
Jak to vyprávět u zkoušky

Začni myšlenkou, že IT má vytvářet hodnotu pro business, ne existovat samo pro sebe — a jako nástroj propojení uveď podnikovou architekturu (business → aplikace → technologie, TOGAF/ArchiMate) a roli business analytika. Zmiň rozdíl funkčních a nefunkčních požadavků. Pak přejdi na modelování procesů: definuj business proces, rozliš as-is/to-be a popiš BPMN (události, aktivity, brány, plavecké dráhy). Doplň use case jako pohled uživatele na funkce systému.

↑ začátek okruhu
Okruh 11

Bezpečnost informačních systémů

Jak chránit data a systémy: kryptografie, ověření identity, zabezpečení sítě a webových aplikací.

11.1Kryptografie

Základ ochrany dat. Tři stavební kameny:

  • Symetrická šifra — jeden sdílený klíč pro šifrování i dešifrování (AES). Rychlá, vhodná pro velké objemy; problém je bezpečná distribuce klíče.
  • Asymetrická šifra — pár klíčů: veřejný (šifruje) a soukromý (dešifruje), RSA/ECC. Řeší distribuci klíčů a umožňuje podpisy; je pomalejší.
  • Hašovací funkce — jednosměrný otisk dat (SHA-256). Slouží k integritě a ukládání hesel; ze otisku nelze získat původní vstup.
Triáda CIA
Tři základní cíle bezpečnosti: Confidentiality (důvěrnost — data vidí jen oprávnění), Integrity (integrita — data nebyla pozměněna) a Availability (dostupnost — služba je k dispozici, když je potřeba).

11.2Certifikáty, digitální podpis a eIDAS

Digitální podpis využívá asymetrickou kryptografii obráceně: autor „zašifruje“ otisk zprávy svým soukromým klíčem; kdokoli ho ověří veřejným klíčem. Zajišťuje autenticitu, integritu a nepopiratelnost.

Certifikát (X.509) váže veřejný klíč ke konkrétní identitě a podepisuje ho certifikační autorita (CA), které důvěřujeme — tím vzniká řetězec důvěry. Nařízení eIDAS (EU) upravuje elektronickou identifikaci a podpisy a rozlišuje jejich úrovně (prostý, zaručený, kvalifikovaný).

11.3Identifikace, autentizace a hesla

Nezaměnit pojmy: identifikace (kdo tvrdí, že jsem — uživatelské jméno), autentizace (ověření, že to opravdu jsem — heslo, token), autorizace (co smím dělat — oprávnění).

Faktory autentizace: něco, co znám (heslo), mám (token, telefon), jsem (biometrie). Kombinace více faktorů = MFA (vícefaktorová autentizace) — výrazně zvyšuje bezpečnost.

Hašování a solení hesel
Hesla se nikdy neukládají čitelně, ale jako otisk z pomalé funkce určené pro hesla (bcrypt, scrypt, Argon2). Ke každému heslu se přidá náhodná sůl, takže i dvě shodná hesla mají různý otisk — to znemožní použití předpočítaných rainbow tables.

11.4Zabezpečení sítě a aplikací

  • Firewall — filtruje síťový provoz podle pravidel.
  • Segmentace sítě a DMZ — oddělení zón; veřejně dostupné servery se umístí do demilitarizované zóny, vnitřní síť je oddělená.
  • IDS/IPS — detekce a prevence průniků.
  • Zero Trust — princip „nevěř nikomu, ověřuj vše“; žádný požadavek není důvěryhodný jen proto, že přichází z vnitřní sítě.
Časté webové útoky
SQL injection (vložení SQL kódu přes vstup → obrana parametrizovanými dotazy), XSS (vložení skriptu do stránky → escapování výstupu, CSP), CSRF (zneužití přihlášené relace → tokeny). Přehled drží OWASP Top 10.

11.5Šifry, řízení přístupu a zabezpečení sítě (detail)

Symetrické šifry se dělí na blokové (pracují s bloky pevné délky, AES 128 b) a proudové (po bitech/znacích). U blokových je slabinou opakování stejného klíče na bloky — režim ECB proto prozrazuje vzory, lepší je CBC, který každý blok kombinuje s předchozím a startuje inicializačním vektorem. Teoreticky neprolomitelná je Vernamova šifra (klíč stejně dlouhý jako zpráva, náhodný, jednorázový).

Asymetrické algoritmy a hybridní šifrování
RSA stojí na obtížnosti faktorizace velkých čísel, Diffie–Hellman na diskrétním logaritmu (slouží k bezpečné výměně klíče), ECC na eliptických křivkách (kratší klíče při stejné síle). V praxi se používá hybridně: asymetricky se předá symetrický klíč relace, jím se pak šifrují data.
eIDAS a typy elektronického podpisu
Nařízení EU eIDAS (910/2014) dává elektronickým transakcím právní platnost. Typy podpisu podle úrovně záruky: zaručený, uznávaný a kvalifikovaný (privátní klíč na chráněném prostředku, nejvyšší důvěra). Certifikát (X.509) vydává certifikační autorita (CA) a obsahuje veřejný klíč, identitu a platnost.

Autentizace a modely řízení přístupu

Faktory autentizace: něco, co vím (heslo), mám (token, čipová karta) a jsem (biometrie); jejich kombinace je MFA. Jednorázová hesla (OTP) platí jen pro jedno přihlášení (odolná vůči odposlechu). SSO (např. Kerberos) přihlásí uživatele jednou pro více aplikací. Hesla se ukládají jako otisk z pomalé funkce se solí (MD5 je prolomená, nepoužívat).

ModelPrincip
DACvlastník objektu řídí přístup (Unix, Windows)
MACpřístup vynucen centrálními pravidly (silně bezpečné systémy)
RBACpráva podle rolí uživatele
Bell-LaPaduladůvěrnost: „no read up, no write down“
Bibaintegrita: „no read down, no write up“
ACLseznam u objektu: kdo a jakou operaci smí
Zabezpečení sítě
Firewall filtruje provoz mezi zónami: paketový filtr (podle adres a portů), aplikační proxy (rozumí protokolu), stavový (sleduje stav spojení) vs bezstavový. Doplňují ho IDS/IPS (detekce/prevence průniků), DMZ a segmentace sítě, NAT (skrytí vnitřních adres), VPN (šifrovaný tunel) a TLS (následník SSL). Moderní přístup Zero Trust nedůvěřuje ničemu jen kvůli poloze v síti.

11.6Segmentace sítě a její provoz z pohledu bezpečnosti

Princip segmentace je rozdělit síť do zón s různou úrovní důvěry a řídit provoz mezi nimi. Tím se omezí laterální pohyb útočníka (kompromitace jednoho serveru neznamená přístup k celé síti) a uplatní se princip obrany do hloubky (defense in depth) — více nezávislých vrstev ochrany.

Firewall

Firewall řídí a zabezpečuje provoz mezi sítěmi s různou úrovní důvěryhodnosti podle definovaných pravidel. Strategie pravidel je buď „zakázat vše, povolit výjimky“ (bezpečnější) nebo „povolit vše, zakázat něco“.

KategoriePrincip a vlastnosti
Paketový filtrfiltruje pakety podle adres a portů (4. vrstva OSI); velmi rychlý, ale nevidí obsah a hůř hlídá celé spojení
Aplikační proxy (brána)kontrola na 7. (aplikační) vrstvě; sítě jsou zcela oddělené, server nevidí adresu klienta (funguje i jako NAT); vysoká bezpečnost, ale HW náročné a proxy se píše pro každý protokol zvlášť
Kombinovanýfiltr + proxy (+ filtr); včetně vnitřních firewallů uvnitř organizace
Stavový vs bezstavový, techniky blokování
Stavový (SPI) firewall si pamatuje stav TCP spojení a propustí jen pakety patřící do povolené relace. Bezstavový rozhoduje paket po paketu podle obsahu. Zablokovat paket lze třemi způsoby: drop (tiše zahodí), reject (pošle ICMP zprávu o nedostupnosti) a tcp reset (pošle TCP RST).

DMZ a zóny důvěry

DMZ (demilitarizovaná zóna) je oddělená podsíť pro veřejně dostupné servery (web, mail), umístěná mezi vnější a vnitřní firewall — útočník, který prolomí server v DMZ, se nedostane rovnou do vnitřní sítě. Uvnitř se síť dále dělí na zóny (např. přes VLAN) podle citlivosti.

Proxy a překlad adres (NAT)

PrvekFunkce
Forward proxyblíže klientovi; vyřizuje požadavky za něj, kešuje, filtruje přístup ven
Reverzní proxypřed servery; rozkládá zátěž, skrývá a chrání vnitřní servery, zpřístupňuje je zvenčí
NATpřekládá vnitřní (privátní) adresy na vnější; šetří IPv4 a skrývá vnitřní síť — server vidí jen vnější adresu

IDS / IPS, honeypot a WAF

IDS (detekce průniku) a IPS (prevence průniku) hledají vzorce útoků pomocí databáze signatur a heuristiky — na rozdíl od firewallu zachytí i útok zevnitř sítě. Dělí se na host-based (agent na stanici sleduje systémová volání a soubory) a network-based (senzory na síťových prvcích analyzují provoz). Reakce je buď pasivní (IDS — jen alert a log) nebo aktivní (IPS — zásah: zablokuje provoz, resetuje spojení, přenastaví firewall).

Honeypot a WAF
Honeypot je nastražený systém, který láká útočníky a automaticky zaznamenává jejich činnost (sdružují se do honeynetů). WAF (Web Application Firewall) pracuje na aplikační vrstvě jako obousměrná proxy webového provozu — kontroluje HTTP(S) na útoky (SQL injection, XSS, manipulace cookies) a chrání před DoS; uvádí se, že ~70 % útoků míří právě na aplikační vrstvu.

Šifrované tunely: VPN, IPsec a TLS

VPN simuluje privátní síť přes veřejný internet — totožnost stran se ověří certifikáty a veškerá komunikace je šifrována; typicky pro vzdálený přístup do firemní sítě přes VPN server (s NATem). IPsec zabezpečuje už síťovou vrstvu (každý IP datagram), takže chrání jakoukoli aplikaci bez její úpravy: protokol AH (autentizace a integrita) a ESP (šifrování), v režimu transport (jen obsah) nebo tunel (celý paket s novou hlavičkou). SSL/TLS naopak leží mezi transportní a aplikační vrstvou (vyžaduje podporu v aplikaci), ověří zpravidla server certifikátem a šifruje spojení — základ HTTPS.

Zero Trust
Moderní přístup k segmentaci: „nevěř nikomu, ověřuj vše“. Žádný požadavek není důvěryhodný jen proto, že přichází z vnitřní sítě — každý přístup se autentizuje, autorizuje a omezuje na nejmenší nutná oprávnění (mikrosegmentace).
Upřesnění — jak funguje TLS a forward secrecy
HTTPS používá protokol TLS. Při handshaku se (1) ověří server certifikátem od CA, (2) asymetricky (resp. přes Diffie–Hellman) se dohodne dočasný klíč relace a (3) další data se už šifrují rychlou symetrickou šifrou (AES) tímto klíčem. Forward secrecy (PFS) znamená, že se pro každé spojení použije efemérní (jednorázový) klíč přes ECDHE — i kdyby útočník později získal soukromý klíč serveru, dříve zachycenou komunikaci nedešifruje.
Doplňující otázky
Co je triáda CIA?
Confidentiality (důvěrnost — vidí jen oprávnění), Integrity (data nezměněna) a Availability (dostupnost služby). Tři základní cíle informační bezpečnosti.
Proč se hesla solí a nehashují jen tak?
Bez soli mají stejná hesla stejný hash a lze použít předpočítané rainbow tables. Náhodná sůl pro každé heslo to znemožní a zajistí, že i dvě shodná hesla mají různý otisk.
Jaký je rozdíl mezi autentizací a autorizací?
Autentizace ověří, kdo jsi (přihlášení heslem). Autorizace určí, co smíš dělat (oprávnění, role). Nejdřív se ověříš, pak se rozhodne o přístupu.
Tvoje komise — otázky, které padají Sedláček
Jak probíhá šifrování zpráv?
Šifrování převádí čitelný text na nečitelný pomocí klíče. Symetrická šifra používá jeden sdílený klíč (AES) — rychlá, ale problém s distribucí klíče. Asymetrická šifra používá pár veřejný/soukromý (RSA, ECC) — řeší distribuci a umožňuje podpisy, ale je pomalá. V praxi hybridně: asymetricky se dohodne symetrický klíč relace a jím se rychle šifrují data (tak funguje TLS). Integritu doplňují hašovací funkce (SHA-256).
Správa licencí (OSS i komerční) ve velké společnosti. Základní způsoby platby za komerční software.
Ve velké firmě se licence řídí centrálně (software asset management) — evidence, sledování využití, compliance a audity, aby se předešlo podlicencování (riziko pokut) i přelicencování (zbytečné náklady). OSS licence se dělí na permisivní (MIT, Apache) a copyleftové (GPL — odvozené dílo musí být též open). Komerční platby: jednorázová licence (perpetual) + maintenance, předplatné (subscription/SaaS), platba podle počtu uživatelů či jader, nebo podle spotřeby (pay-as-you-go).
Jaká je ochrana zvlášť citlivých dat v různých fázích (přenos, archivace atd.)? Co je forward secrecy?
Data je třeba chránit ve všech stavech: při přenosu (TLS/HTTPS, VPN), při uložení a archivaci (šifrování „at rest“, řízení přístupu, správa klíčů, zálohy) a při zpracování (nejmenší oprávnění, maskování, bezpečná paměť). Forward secrecy znamená, že prozrazení dlouhodobého soukromého klíče serveru neodhalí dříve zachycenou komunikaci — dosahuje se efemérními klíči relace přes ECDHE, které po skončení spojení zaniknou.
Jaké znáte formáty pro ukládání dat, která se vyskytují na webu? Porovnejte vybrané formáty.
CSV — ploché tabulkové, jednoduché a kompaktní, bez hierarchie a typů. XML — značkovací, hierarchické, ověřitelné schématem (XSD), ale objemné. JSON — lehké, hierarchické, nativní pro JavaScript, dnes standard pro REST API. Pro propojená/sémantická data RDF. Volba: CSV na tabulky a export, JSON na webovou výměnu, XML kde je třeba přísná validace a bohatá struktura.
Jaké třídy složitosti algoritmů rozlišujete?
Časová a paměťová složitost se popisuje O-notací podle růstu nároků s velikostí vstupu n (nejhorší případ): O(1) konstantní, O(log n) logaritmická (binární vyhledávání), O(n) lineární, O(n log n) (efektivní řazení), O(n²) kvadratická (vnořené cykly), O(2ⁿ) exponenciální a O(n!) faktoriálová. Čím vyšší třída, tím hůř algoritmus škáluje; souvisí s tím teorie tříd P a NP.
Jakým způsobem může firma posuzovat cloudová řešení? Jaké jsou možnosti způsobů placení?
Firma posuzuje cloud podle nákladů (TCO, OPEX vs CAPEX), bezpečnosti a souladu (kde leží data, šifrování, certifikace poskytovatele — ISO 27001, GDPR), dostupnosti a SLA, výkonu a škálovatelnosti, snadnosti integrace a rizika vendor lock-in (přenositelnost dat, exit strategie). Modely placení: předplatné (za uživatele/období), pay-as-you-go (podle spotřeby zdrojů) a rezervované kapacity se slevou.
Jaké jsou rozdíly mezi cloudovými a on-premise řešeními? Jak jsou cloudová řešení využívána v rámci malých účetních firem?
On-premise = vlastní infrastruktura, plná kontrola a data doma, ale vysoké počáteční náklady (CAPEX), vlastní správa a aktualizace. Cloud (SaaS) = software jako služba, předplatné (OPEX), automatické aktualizace, rychlé nasazení, škálovatelnost a dostupnost odkudkoli, ale menší kontrola a závislost na poskytovateli. Malé účetní firmy cloud využívají pro účetní a fakturační SaaS — přístup odkudkoli, automatické legislativní aktualizace, zálohy, nižší vstupní náklady a žádná potřeba vlastního IT oddělení.
Z hlediska ukládání dat v cloudu — o co by se měla účetní firma zajímat?
Měla by řešit: lokalitu dat (uvnitř EU kvůli GDPR), šifrování při přenosu i uložení, řízení přístupu a audit, zálohování a obnovu (RPO/RTO), dostupnost a SLA, certifikace a smluvní zpracování osobních údajů (DPA), dobu uchování (zákonné lhůty pro účetní doklady) a exit / přenositelnost dat při ukončení služby.
Jaké regulace musí být splněny například v Evropě z hlediska ukládání citlivých dat?
Klíčové je GDPR (nařízení EU 2016/679) — zákonný důvod zpracování, minimalizace a účelové omezení, práva subjektů (přístup, výmaz / „právo být zapomenut“), ohlašování úniků do 72 hodin, role správce a zpracovatele a přenosy mimo EU jen se zárukami. Doplňkově směrnice NIS2 (kybernetická bezpečnost), eIDAS (elektronická identita a podpisy) a sektorové předpisy (účetní a archivační zákony).
Jaké jsou základní cíle kybernetické bezpečnosti?
Triáda CIA: důvěrnost (Confidentiality — data vidí jen oprávnění), integrita (Integrity — data nejsou neoprávněně změněna) a dostupnost (Availability — služba je k dispozici). Doplňkově se uvádí autenticita, nepopiratelnost (non-repudiation) a odpovědnost (accountability). Cílem je chránit aktiva před hrozbami při přiměřených nákladech — tedy řízení rizik.
Jaké jsou základní typy útoků na hesla?
Brute force (systematické zkoušení všech kombinací), slovníkový útok (běžná hesla), rainbow tables (předpočítané hashe), credential stuffing (hesla uniklá z jiných služeb), dále phishing a keylogging. Často se kombinují — uniklou databázi hashů útočník láme offline brute forcem nebo přes rainbow tables.
Jaké jsou možnosti ochrany hesel?
Hesla ukládat jen jako otisk z pomalé funkce určené pro hesla (bcrypt, scrypt, Argon2) s náhodnou solí pro každé heslo (proti rainbow tables); nepoužívat prolomené MD5/SHA-1. Vynutit délku a složitost (lépe passphrase), kontrolovat proti slovníkům a únikům, omezit počet pokusů (rate limiting, lockout), zavést vícefaktorovou autentizaci (MFA) a password manager; směřovat k passkeys.
Jaké znáte způsoby/metodiky vývoje aplikací?
Dělí se na rigorózní (vodopád, RUP, V-model) — důraz na plán, dokumentaci a sekvenční fáze — a agilní (Scrum, XP, Kanban, FDD, DSDM) — iterativní, reagující na změnu, s průběžným doručováním. Liší se mírou formálnosti, délkou iterací a zapojením zákazníka.
Jaké jsou jejich výhody/nevýhody?
Rigorózní: + předvídatelnost, dokumentace, vhodné pro velké, regulované a stabilní projekty; − pomalé, špatně snáší změny, riziko, že výsledek neodpovídá aktuální potřebě. Agilní: + pružnost vůči změnám, rychlá zpětná vazba, brzy použitelný produkt, těsná spolupráce se zákazníkem; − hůře se plánuje rozpočet a termín, méně dokumentace, náročné na disciplínu týmu a dostupnost zákazníka.
Co způsobuje, že AI modely halucinují?
Velké jazykové modely generují text pravděpodobnostně — předpovídají nejpravděpodobnější pokračování, nemají ověřený model pravdy ani zabudovaný zdroj faktů. Halucinace vzniká, když model statisticky „doplní“ věrohodně znějící, ale nesprávnou informaci — chybí mu znalost, trénovací data byla řídká či rozporná, nebo se snaží odpovědět i tam, kde by měl říct „nevím“. Mírní se připojením ověřených zdrojů (RAG), kontrolou výstupů a omezením na doménu.
Jaké jsou základní principy klient server aplikace?
Klient posílá požadavky, server je zpracuje a vrací odpovědi (model request-response). Výhodou je centralizace dat a logiky, sdílení jedním serverem mezi mnoha klienty, snazší správa a škálovatelnost. Webové HTTP je bezstavové, stav se drží v session/cookies. Často se používá třívrstvá architektura: prezentační, aplikační a datová vrstva.
Jaké znáte konkrétní nástroje na klientské straně?
V prohlížeči HTML (struktura), CSS (vzhled) a JavaScript (chování), nad nimi frameworky React, Vue nebo Angular; pro mobil nativní (Swift, Kotlin) nebo hybridní (React Native, Flutter). Klient zajišťuje vykreslení, interakci a základní validaci vstupů.
Jaké znáte konkrétní nástroje na straně serveru?
Serverové jazyky a platformy: Java (Spring), PHP (Laravel), Node.js, Python (Django/Flask), C# (.NET); webové servery Nginx a Apache; databáze (PostgreSQL, MySQL, MongoDB) a cache (Redis). Server řeší byznys logiku, perzistenci dat, autentizaci a integrace s dalšími systémy.
Co je tenký a tlustý klient?
Tenký klient (thin) má minimum logiky — většina běží na serveru a klient hlavně zobrazuje (webová aplikace v prohlížeči); snadná centrální aktualizace, ale závislost na připojení. Tlustý klient (thick/fat) má logiku a zpracování u sebe (desktopová aplikace), server jen poskytuje data; funguje i offline a je výkonnější, ale hůř se aktualizuje na mnoha stanicích.
Co jsou to proximitní operátory?
Proximitní (vzdálenostní) operátory ve fulltextovém vyhledávání omezují, jak blízko u sebe musí hledaná slova být — např. NEAR/n najde dokumenty, kde jsou termy do n slov od sebe, nebo operátor pro stejnou větu/odstavec. Zpřesňují dotaz oproti prostému AND (které slova vyžaduje kdekoli v dokumentu) a zvyšují relevanci výsledků.
Jak se řeší skloňování při vyhledávání?
Řeší se jazykovou normalizací termů: stemming (oříznutí koncovek na kmen) nebo lemmatizace (převod na základní slovníkový tvar), a to jak při indexaci, tak při dotazu — díky tomu „fakturami“, „faktury“ a „faktura“ odpovídají témuž termu. Doplňkově slovníky tvarů a synonym. Bez toho by vyhledávání míjelo relevantní dokumenty (snížená úplnost).
Jakou třídou složitosti byste označil algoritmus použitý v práci? Jaké další třídy složitosti rozeznáváme?
Označení závisí na konkrétním algoritmu — určím dominující operaci: prosté procházení kolekce je O(n), vyhledání v indexu/hashi O(1)O(log n), porovnávání všech dvojic O(n²). Další třídy, které rozeznáváme: O(1), O(log n), O(n), O(n log n), O(n²), O(2ⁿ) a O(n!) — od konstantní po faktoriálovou. U své práce bych našel nejnáročnější část a podle ní složitost určil.
Jaké bezpečnostní otázky musíte řešit při vývoji webové aplikace? A jak je řešit?
Vodítkem je OWASP Top 10: injection (SQL injection), narušená autentizace a session, XSS, CSRF, narušené řízení přístupu, špatná konfigurace a expozice citlivých dat. Řešení: validace vstupů a escapování výstupů, parametrizované dotazy, HTTPS všude, bezpečné cookies (HttpOnly, Secure), CSRF tokeny, princip nejmenších oprávnění, bezpečnostní HTTP hlavičky a správa zranitelností v závislostech — bezpečnost navrhovat od začátku (security by design).
Jaké HTTP hlavičky pomohou zvýšit bezpečnost komunikace? Co je to HSTS a CSP?
HSTS (Strict-Transport-Security) přinutí prohlížeč komunikovat výhradně přes HTTPS — brání downgradu na HTTP a SSL strippingu. CSP (Content-Security-Policy) určuje, z jakých zdrojů smí stránka načítat skripty a obsah — hlavní obrana proti XSS. Dále X-Frame-Options (clickjacking), X-Content-Type-Options (MIME sniffing) a Referrer-Policy.
Jaké typy útoků jsou časté při dotazování databází přes webové skriptovací jazyky? Jak se jim bránit?
Nejčastější je SQL injection — neověřený vstup se vloží do SQL dotazu a útočník propašuje vlastní kód (např. ' OR '1'='1 obejde přihlášení nebo vytáhne/smaže data). Příbuzné jsou NoSQL injection a command injection. Obrana: parametrizované dotazy / prepared statements (základ), ORM, validace a whitelisting vstupů, databázový účet s minimálními oprávněními a jako další vrstva WAF.
Jak to vyprávět u zkoušky

Postupuj od stavebních kamenů k systému. Nejdřív kryptografie — symetrická vs asymetrická vs hašování, k tomu triáda CIA jako rámec cílů. Na asymetriku navaž digitální podpis a certifikáty (řetězec důvěry, CA, eIDAS). Pak identifikace / autentizace / autorizace, faktory a MFA, a u hesel zdůrazni hašování se solí. Uzavři zabezpečením sítě a aplikací: firewall, DMZ, Zero Trust a webové útoky (SQLi, XSS, CSRF) s odkazem na OWASP.

↑ začátek okruhu