sw - úvod
1. Úvod do softwaru a základní pojmy
- Co je to software a jak se liší od hardwaru?
- Jaká je hlavní funkce softwaru v počítači nebo mobilním telefonu?
- Co znamenají pojmy freeware, shareware a open-source?
- Co je to softwarová licence a proč je důležité ji dodržovat?
2. Kategoriální dělení softwaru
- Jaký je hlavní rozdíl mezi systémovým a aplikačním softwarem?
- Co je to operační systém a jaké jsou jeho základní úkoly?
- Uveďte alespoň tři příklady aplikačního softwaru, který běžně používáte.
- Do jaké kategorie softwaru řadíme antivirové programy a ovladače zařízení?
3. Software v praxi a moderní trendy
- Jaký je rozdíl mezi desktopovou aplikací (nainstalovanou v počítači) a webovou/cloudovou aplikací?
- Co znamená zkratka SaaS (Software jako služba)?
- Proč je důležité software pravidelně aktualizovat?
- Co je to kompatibilita softwaru a co se stane, když aplikace není kompatibilní s operačním systémem?
4. Tvorba a vývoj softwaru (Základy pro pokročilejší)
- Co je to programovací jazyk a k čemu slouží?
- Jaké jsou základní fáze životního cyklu vývoje softwaru (SDLC)?
- Co je to testování softwaru a proč se provádí před jeho vydáním?
------------------------------------------------------------------------
Podrobněji
1. Úvod do softwaru a základní pojmy
Co je to software a jak se liší od hardwaru?
- Odpověď: Software je nehmotná část počítače. Jedná se o soubor všech programů, dat a instrukcí, které počítač zpracovává. Hardware je naopak fyzická, hmatatelná část počítače (procesor, pevný disk, monitor). Software říká hardwaru, co má dělat.
Co znamenají pojmy freeware, shareware a open-source?
- Freeware: Software šířený zdarma, ale autor si ponechává autorská práva (uživatel ho nesmí upravovat ani prodávat).
- Shareware: Software, který lze zdarma zkoušet jen po omezenou dobu nebo s omezenými funkcemi. Pro plné využití je nutné si ho koupit.
- Open-source: Software s otevřeným zdrojovým kódem. Kdokoliv ho může zdarma používat, studovat, upravovat a dále šířit (např. operační systém Linux).
---------------------------------------------------------------------------------------------------------
Co je to softwarová licence?
- Odpověď: Právní ujednání (smlouva) mezi autorem softwaru a jeho uživatelem. Určuje podmínky, za jakých smí uživatel program používat (např. na kolika počítačích, zda pro komerční účely, nebo jen pro domácí použití). Byl-li software získán nelegálně bez licence, jde o pirátství.
-------------------------------------------------------------------------------------------------------------
2. Kategoriální dělení softwaru
Jaký je hlavní rozdíl mezi systémovým a aplikačním softwarem?
- Systémový software: Zajišťuje samotný chod počítače a jeho správu. Vytváří prostředí pro spuštění dalších programů (např. operační systém, ovladače).
- Aplikační software: Programy, které uživatel používá k řešení konkrétních úkolů (psaní textu, úprava fotek, hraní her, prohlížení internetu).
Co je to operační systém (OS) a jaké jsou jeho základní úkoly?
- Odpověď: Základní systémový software, který přemosťuje hardware a uživatele (případně aplikační programy). Mezi jeho hlavní úkoly patří správa procesoru a paměti, organizace souborů na disku, ovládání periferních zařízení a poskytování uživatelského rozhraní (GUI). Příklady: Windows, macOS, Linux, Android, iOS.
Do jaké kategorie řadíme ovladače zařízení (drivery) a k čemu slouží?
- Odpověď: Řadíme je do systémového softwaru. Jsou to specializované programy, které umožňují operačnímu systému komunikovat s konkrétním hardwarem (např. s tiskárnou, grafickou kartou nebo myší). Bez správného ovladače hardware nebude fungovat.
3. Software v praxi a moderní trendy
Jaký je rozdíl mezi desktopovou a cloudovou (webovou) aplikací?
- Desktopová aplikace: Musí se nainstalovat do paměti počítače, využívá výkon místního hardwaru a často funguje i bez internetu (např. klasický MS Word nebo Photoshop).
- Cloudová aplikace: Spouští se přímo ve webovém prohlížeči, data i samotný program běží na vzdáleném serveru poskytovatele a vyžaduje internetové připojení (např. Google Dokumenty, Canva).
Co znamená zkratka SaaS?
- Odpověď: Software jako služba (Software as a Service). Moderní model distribuce, kdy si uživatel software nekupuje jako jednorázovou licenci, ale předplácí si ho formou pravidelného poplatku (měsíčně/ročně). Aplikace bývá dostupná online a poskytovatel se stará o všechny aktualizace (např. Microsoft 365, Spotify, Netflix).
Proč je kriticky důležité software pravidelně aktualizovat?
- Odpověď: Hlavním důvodem je bezpečnost (oprava nově objevených zranitelností, které by mohli zneužít útočníci). Aktualizace dále přinášejí opravy chyb (stability), optimalizaci výkonu a nové funkce.
Co je to kompatibilita softwaru?
- Odpověď: Schopnost softwaru bezproblémově běžet v konkrétním prostředí – s daným operačním systémem nebo hardwarem. Pokud aplikace není kompatibilní (např. 64-bitový program na starém 32-bitovém OS, nebo program pro macOS spouštěný na Windows), nespustí se vůbec, nebo bude padat.
4. Tvorba softwaru (Teoretický základ)Jaký je rozdíl mezi kompilovaným a interpretovaným programovacím jazykem?
- Kompilovaný jazyk (např. C++, Rust): Celý zdrojový kód se před spuštěním přeloží pomocí kompilátoru do strojového kódu (jedniček a nul). Výsledný program (.exe) běží velmi rychle.
- Interpretovaný jazyk (např. Python, JavaScript): Kód se nepřekládá dopředu, ale čte a vykonává se řádek po řádku až za běhu programu pomocí interpretru. Vývoj je rychlejší, ale běh programu bývá o něco pomalejší.
Jaké jsou základní fáze životního cyklu vývoje softwaru (SDLC)?
Základní fáze životního cyklu vývoje softwaru (SDLC) zahrnují plánování, analýzu požadavků, návrh, vývoj, testování, nasazení a údržbu. Přehled fází SDLC:
- Plánování: Určení cílů projektu, odhad nákladů, zdrojů a časového harmonogramu.
- Analýza požadavků: Zjištění, co přesně má software dělat a jaké jsou potřeby uživatelů.
- Návrh (Design): Vytvoření architektury systému, vzhledu rozhraní a struktury databází.
- Vývoj (Implementace): Vlastní psaní zdrojového kódu programátory.
- Testování: Hledání a oprava chyb, ověření funkčnosti a kvality softwaru.
- Nasazení: Vydání hotového produktu a jeho předání koncovým uživatelům do ostrého provozu.
- Údržba (Provoz a podpora): Průběžná aktualizace systému, oprava nových chyb a přidávání vylepšení.