Vylepšení a opravy otázek ze ZSWI

This commit is contained in:
Filip Znachor 2024-05-29 21:39:34 +02:00
parent 481503be64
commit b85eaee147

View file

@ -62,7 +62,7 @@ Popište a vysvětlete princip **dvou nezbytných podmínek dynamiky**: **proakt
- **aktivity lidí** (měkká podmínka) - **aktivity lidí** (měkká podmínka)
- podpora spontánní aktivity, tvůrčí práce a zapojení zaměstnanců do řešení problémů a rozhodování (za rozhodování je ale stále zodpovědný manažer) - podpora spontánní aktivity, tvůrčí práce a zapojení zaměstnanců do řešení problémů a rozhodování (za rozhodování je ale stále zodpovědný manažer)
Popište význam, důležitost a možnost **změny** následujících **lidských zdrojů**: **vlastností**, **schopností** a **postojů** Popište **význam**, **důležitost** a možnost **změny** následujících **lidských zdrojů**: **vlastností**, **schopností** a **postojů**
- **vlastnosti** - **vlastnosti**
- zděděné rysy osobnosti člověka spojené s biologickou a psychickou podstatou - zděděné rysy osobnosti člověka spojené s biologickou a psychickou podstatou
- téměr nezměnitelné, člověka s určitými vlastnosti nelze vychovávat - téměr nezměnitelné, člověka s určitými vlastnosti nelze vychovávat
@ -102,7 +102,7 @@ Proč se zabýváme **požadavky na software**? **Pro koho** jsou sesbírané a
- popis toho, co je potřeba implementovat, žádaných chování systému s jeho vlastnostmi a možných omezení procesu vývoje - popis toho, co je potřeba implementovat, žádaných chování systému s jeho vlastnostmi a možných omezení procesu vývoje
- **užitečné pro** - **užitečné pro**
- **zákazníky** - financují projekt a chtějí dostat systém, který pokryje jejich potřeby - **zákazníky** - financují projekt a chtějí dostat systém, který pokryje jejich potřeby
- **zaměstance** - definují požadavky, které se poté navrhují, implementují a udržují - **zaměstnance** - definují požadavky, které se poté navrhují, implementují a udržují
Vysvětlete pojmy **podnikatelské** a **uživatelské požadavky**. Vysvětlete pojmy **podnikatelské** a **uživatelské požadavky**.
- **podnikatelské požadavky** - **podnikatelské požadavky**
@ -134,7 +134,7 @@ Uveďte alespoň **tři dobré zvyky**, které jste použili **při psaní speci
Vysvětlete **pojem vize** a popište význam **uvedení vize** a **stanovení rozsahu** v dokumentu specifikace požadavků. Vysvětlete **pojem vize** a popište význam **uvedení vize** a **stanovení rozsahu** v dokumentu specifikace požadavků.
- **vize** - **vize**
- společný směr všem investorům - dlouhodobá představa o produktu, k čemu má do budoucna sloužit, co zrychlí, zlevní, usnadní, ...
- k čemu software je a co by se z něj v budoucnu mělo stát, vize se mění poměrně zvolna, rozsah se v čase upravuje dle termínů, rozpočtu, kvality, … - k čemu software je a co by se z něj v budoucnu mělo stát, vize se mění poměrně zvolna, rozsah se v čase upravuje dle termínů, rozpočtu, kvality, …
- **rozsah** - **rozsah**
- podmnožinou vize, řádně definuje, která část dlouhodobé vize bude zpracovávána aktuálním projektem - podmnožinou vize, řádně definuje, která část dlouhodobé vize bude zpracovávána aktuálním projektem
@ -142,7 +142,7 @@ Vysvětlete **pojem vize** a popište význam **uvedení vize** a **stanovení r
Vysvětlete **princip a použití kontextového diagramu** a **diagramu případu užití** v rámci specifikace požadavků. Nakreslete jednoduché příkladové obrázky. Vysvětlete **princip a použití kontextového diagramu** a **diagramu případu užití** v rámci specifikace požadavků. Nakreslete jednoduché příkladové obrázky.
- **kontextový diagram** - **kontextový diagram**
- říká, jakým způsobem systém souvisí a komunikuje (přímo) s entitatmi okolo - říká, jakým způsobem systém souvisí a komunikuje (přímo) s entitami okolo
- používá se jako nástroj k pochopení prostředí - používá se jako nástroj k pochopení prostředí
- **diagram případů užití** - **diagram případů užití**
- znázorňuje uživatelské požadavky a jak se systémem uživatelská role pracuje - znázorňuje uživatelské požadavky a jak se systémem uživatelská role pracuje
@ -186,11 +186,9 @@ Popište **vodopádový model vývoje sw**, uveďte jeho **výhody a nevýhody**
- zákazník může na konci zjistit, že vytvořený produkt není to, co chtěl - zákazník může na konci zjistit, že vytvořený produkt není to, co chtěl
Popište modely vývoje sw: **výzkumník** (evoluční prototypování) a **prototyp** (throw-away prototypování), uveďte **vhodnou oblast jejich použití**. Popište modely vývoje sw: **výzkumník** (evoluční prototypování) a **prototyp** (throw-away prototypování), uveďte **vhodnou oblast jejich použití**.
- **evoluční model vývoje**
- specifikace, vývoj a validace jsou smíšené
- ze specifikace je velmi rychle vyvinut prvotní systém a ten je dále upravován na základě zákazníka
- **výzkumník** - **výzkumník**
- cílem je pracovat se zákazníkem na zajištění jeho požadavků - cílem je pracovat se zákazníkem na zajištění jeho požadavků
- ze specifikace je velmi rychle vyvinut prvotní systém a ten je dále upravován na základě zákazníka (evoluční model vývoje)
- vývoj začíná dobře srozumitelnými částmi systému a vyvíjí se přidáváním nových vlastností navrhovaných zákazníkem, při vývoji se často vrací k předchozím etapám - vývoj začíná dobře srozumitelnými částmi systému a vyvíjí se přidáváním nových vlastností navrhovaných zákazníkem, při vývoji se často vrací k předchozím etapám
- oblast použití - oblast použití
- inovativní projekty, kde nejsou přesně definované požadavky - inovativní projekty, kde nejsou přesně definované požadavky
@ -229,7 +227,7 @@ Popište základní **principy**, **fáze** a **aktivity** metodiky **Rational U
Vysvětlete **zásadní rozdíly mezi agilním přístupem** k vývoji sw a **vodopádovým modelem**. Vysvětlete **zásadní rozdíly mezi agilním přístupem** k vývoji sw a **vodopádovým modelem**.
- **agilní přístup** - **agilní přístup**
- iteratiní a inkrementální vývoj s krátkými iteracemi - iterativní a inkrementální vývoj s krátkými iteracemi
- komunikace mezi zákazníkem a vývojovým týmem - komunikace mezi zákazníkem a vývojovým týmem
- průběžné automatizované testování - průběžné automatizované testování
- **vodopádový model** - **vodopádový model**
@ -256,8 +254,8 @@ Jak byste **prakticky postupovali při zavádění modelu vývoje sw**?
- základní model, konzistentní se strukturovaným programováním shora dolů - základní model, konzistentní se strukturovaným programováním shora dolů
- je vhodný, pokud jsou známe požadavky (platformy, překladače, ...) - je vhodný, pokud jsou známe požadavky (platformy, překladače, ...)
- **evoluční vývoj** - **evoluční vývoj**
- pokud části požadavků nejsou zřejmé, např.: uživatelské rozhraní (nevím, co chci, ale poznám to až to uvidím) - pokud části požadavků nejsou zřejmé, např.: uživatelské rozhraní (nevím, co chci, ale poznám to, až to uvidím)
- **kompletně orientovaný vývoj** - **komponentně orientovaný vývoj**
- máme-li vhodné komponenty - máme-li vhodné komponenty
- **inkrementální vývoj** - **inkrementální vývoj**
- potřebujeme omezit přepracování, dodáváme systém po částech - potřebujeme omezit přepracování, dodáváme systém po částech
@ -272,7 +270,7 @@ Jak byste **prakticky postupovali při zavádění modelu vývoje sw**?
- skládá se z jasně stanovených posloupností aktivit - skládá se z jasně stanovených posloupností aktivit
- **rozdíly** - **rozdíly**
- procesy jsou většinou dlouhodobé a opakující se, projekty jsou jednorázové - procesy jsou většinou dlouhodobé a opakující se, projekty jsou jednorázové
- proces je vnitřní organizace firmy, o projektu ví spoustu lidí okolo - proces je vnitřní organizace firmy, o projektu ví spousta lidí okolo
- proces je přesně určen a stanoven, projekt se v průběhu práce mění a přepracovává - proces je přesně určen a stanoven, projekt se v průběhu práce mění a přepracovává
Co znamená **trojí (čtvero) omezení projektu**? Co znamená **trojí (čtvero) omezení projektu**?
@ -316,7 +314,7 @@ Vysvětlete základní **princip a použití UML diagramu případů užití**.
Vysvětlete základní **princip a použití UML diagramu tříd**. Nakreslete příkladový obrázek. Vysvětlete základní **princip a použití UML diagramu tříd**. Nakreslete příkladový obrázek.
- popisuje statickou strukturu a vztahy mezi třídami - popisuje statickou strukturu a vztahy mezi třídami
- atributy, operace, třídy a jejich vztahy: dědičnost, závislost, asociace - atributy, metody, třídy a jejich vztahy: dědičnost, závislost, asociace
- slouží jako nástroj ke komunikaci mezi vývojáři, architekty - slouží jako nástroj ke komunikaci mezi vývojáři, architekty
- slouží k analýze systému - slouží k analýze systému
@ -333,7 +331,7 @@ Vysvětlete základní **princip a použití UML sekvenčního diagramu**. Nakre
- reprezentace systému - reprezentace systému
- nepřerušovaná čára - zpráva (volání metody) - nepřerušovaná čára - zpráva (volání metody)
- přerušovaná čára - návratová hodnota - přerušovaná čára - návratová hodnota
- svislý obdélník - instance existuje (pokud je tam přerušovaná zpráva, pak neexistuje) - svislý obdélník - instance existuje
Vysvětlete základní **princip a použití UML diagramu aktivit**. Nakreslete příkladový obrázek. Vysvětlete základní **princip a použití UML diagramu aktivit**. Nakreslete příkladový obrázek.
- popisuje tok činností a chování systému - popisuje tok činností a chování systému
@ -352,7 +350,7 @@ Vysvětlete základní **princip a použití** alespoň jednoho z následující
- říká, jaké kompomenty v systému jsou - říká, jaké kompomenty v systému jsou
- jak spolu interagují - jak spolu interagují
- jaká mají rozhraní a jak spolu souvisí - jaká mají rozhraní a jak spolu souvisí
- používá se při návrhu SW (oblast architektury) - používá se při návrhu SW architektury
- pro identifikaci komponent systému, jejich funkcí, závislostí a rozhraní - pro identifikaci komponent systému, jejich funkcí, závislostí a rozhraní
Vysvětlete **pojem analytický model**, popište, jak vypadá **analytická třída** Vysvětlete **pojem analytický model**, popište, jak vypadá **analytická třída**
@ -382,9 +380,10 @@ Vysvětlete **pojmy asociace, agregace, kompozice**.
- obousměrná - obousměrná
- agregace - agregace
- vztah, kde jedna část může existovat nezávisle na celku - vztah, kde jedna část může existovat nezávisle na celku
- například tiskárna může existovat bez počítače, když celek je počítač s tiskárnou
- jednosměrná asociace - jednosměrná asociace
- kompozice - kompozice
- vztah, kde je jeden objekt součástí druhého a nemůže bez něj existovat - vztah, kde je jeden objekt součástí celku a nemůže bez něj existovat
- nejsilnější vazba - nejsilnější vazba
Vysvětlete **rozdíl a návaznost** mezi **analýzou a návrhem softwaru**. Vysvětlete **rozdíl a návaznost** mezi **analýzou a návrhem softwaru**.
@ -393,13 +392,13 @@ Vysvětlete **rozdíl a návaznost** mezi **analýzou a návrhem softwaru**.
- prostředí, kde bude software nasazen - prostředí, kde bude software nasazen
- návrh říká, jak to máme dělat - návrh říká, jak to máme dělat
- proveden na základě požadavků zjištěných analýzou - proveden na základě požadavků zjištěných analýzou
- návrch architektury a způsobu implementace funkcionality - návrh architektury a způsobu implementace funkcionality
- analýza a návrh probíhají do jisté míry současně - analýza a návrh probíhají do jisté míry současně
Vysvětlete **pojem rozhraní**, jak **rozhodnete** ve fázi návrhu o **vhodnosti existence rozhraní**. Vysvětlete **pojem rozhraní**, jak **rozhodnete** ve fázi návrhu o **vhodnosti existence rozhraní**.
- odděluje specifikaci od implementace - odděluje specifikaci od implementace
- lze jej připojit ke třídám či komponentám - lze jej připojit ke třídám či komponentám
- definuje služby které jsou nabízeny - definuje nabízené služby
- zavedení - zavedení
- v případě, kdy máme více tříd s podobným účelem či rolí - v případě, kdy máme více tříd s podobným účelem či rolí
- když chceme rozvolnit asociační vazby - když chceme rozvolnit asociační vazby
@ -492,15 +491,15 @@ Popište **základní principy**, na kterých jsou založeny **návrhové vzory*
Vysvětlete **SOLID** (**Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Inversion of Control/Dependency Injection**) principy v objektovém návrhu. Vysvětlete **SOLID** (**Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Inversion of Control/Dependency Injection**) principy v objektovém návrhu.
- **SOLID** - pět základních principů objektově orientovaného návrhu. - **SOLID** - pět základních principů objektově orientovaného návrhu.
- **S** - **jediná zodpovědnost** = třída má pouze jednu specifikou úlohu nebo funkci - **S** - **jediná zodpovědnost** = třída má pouze jednu specifickou úlohu nebo funkci
- **O** - **otevřenost uzavřenost** = třídy jsou otevřené pro rozšíření a uzavřené pro modifikaci - **O** - **otevřenost uzavřenost** = třídy jsou otevřené pro rozšíření a uzavřené pro modifikaci
- **L** - **Liskov** = odvozené třídy jsou schopny plnit všechno to co jejich předci - **L** - **Liskov** = odvozené třídy jsou schopny plnit všechno, co jejich předci
- **I** **rozdělení rozhraní** = rozhraní je specifické pro jednotlivé uživatele - **I** **rozdělení rozhraní** = rozhraní je specifické pro jednotlivé uživatele
- **D** **invertování závislostí** = moduly závisí na abstrakcích, nikoli na konkrétních třídách - **D** **invertování závislostí** = moduly závisí na abstrakcích, nikoli na konkrétních třídách
Vysvětlete principy **DRY** a **KISS** v souvislosti s návrhem software. Vysvětlete principy **DRY** a **KISS** v souvislosti s návrhem software.
- **DRY** - Don't Repeat Yourself - **DRY** - Don't Repeat Yourself
- nemělo by docházet v duplikaci kódu nebo informací v systému - nemělo by docházet k duplikaci kódu nebo informací v systému
- snižuje riziko chyb, jelikož změny se provádějí pouze na jednom místě - snižuje riziko chyb, jelikož změny se provádějí pouze na jednom místě
- **KISS** - Keep It Simple, Stupid - **KISS** - Keep It Simple, Stupid
- návrh a implementace SW má být co nejjednodušší - návrh a implementace SW má být co nejjednodušší
@ -557,7 +556,7 @@ Jaký je **smysl testování**? Do jaké míry je ekonomicky **rozumné testovat
Vysvětlete **pojmy black box a white-box testování** Vysvětlete **pojmy black box a white-box testování**
- **black box** - **black box**
- neznáme implementaci, známe vstupy a očekávané výstupy pohled uživatele - neznáme implementaci, známe vstupy a očekávané výstupy - pohled uživatele
- též funkcionální testování - též funkcionální testování
- metoda simulující reálný způsob použití aplikace - metoda simulující reálný způsob použití aplikace
- výhoda: tester nemusí být programátor - výhoda: tester nemusí být programátor
@ -572,14 +571,14 @@ Vysvětlete **pojem akceptační testování**.
- obsah testů by měl určit zadavatel - obsah testů by měl určit zadavatel
Vysvětlete a popište, jak probíhá **jednotkové testování**. Uveďte příklad. Vysvětlete a popište, jak probíhá **jednotkové testování**. Uveďte příklad.
- testovaních jednoduchých komponent (tříd, metod) - testovaní jednoduchých komponent (tříd, metod)
- první fáze testování, rychlé a méně nákladné - první fáze testování, rychlé a méně nákladné
- cílem je ověřit správnou funkčnost jednotlivých částí - cílem je ověřit správnou funkčnost jednotlivých částí
Vysvětlete **pojmy A/B testování** a **zátěžové testování**. Vysvětlete **pojmy A/B testování** a **zátěžové testování**.
- **A/B testování** - **A/B testování**
- metoda používaná k porovnávání dvou verzí produktu - metoda používaná k porovnávání dvou verzí produktu
- uživatelé se náhodně rozdělí do dvou skupin a každé se zobrazují dvě různé varianty (A a B) a měří se, která verze vede k lepšímu výsledku - uživatelé se náhodně rozdělí do dvou skupin a každé se zobrazuje jedna ze dvou různých variant (A a B) a měří se, která verze vede k lepšímu výsledku
- **zátěžové testy** - **zátěžové testy**
- zjišťuje chování a výkon SW při vysokém počtu uživatelů nebo dotazů - zjišťuje chování a výkon SW při vysokém počtu uživatelů nebo dotazů
@ -652,22 +651,23 @@ Popište **princip dualismu autorského práva** **právo majetkové** a **p
- je často převoditelné a může být předmětem obchodování - je často převoditelné a může být předmětem obchodování
- **právo osobnostní** - **právo osobnostní**
- práva jsou nepřevoditelná a autor se nemůže těchto práv vzdát - práva jsou nepřevoditelná a autor se nemůže těchto práv vzdát
- práva jsou pevně spojena s osobnosơ autora a jsou chráněna i po jeho smrti - práva jsou pevně spojena s osobnos autora a jsou chráněna i po jeho smrti
- **výjimky** - **výjimky**
- k dílu vytvořeného z pracovněprávního vztahu má majetková práva zaměstnavatel - k dílu vytvořeného z pracovněprávního vztahu má majetková práva zaměstnavatel
- **školní dílo** = škola má nevýhradní licenci k užití (nesmí ho užít komerčně) - **školní dílo** = škola má nevýhradní licenci k nekomerčnímu užití
Jak můžete vy/firma dále **používat software vytvořený jako zaměstnanecké dílo**? Jak můžete vy/firma dále **používat software vytvořený jako zaměstnanecké dílo**?
- firma získává autorská práva k SW vytvořenému zaměstnancem - firma získává autorská práva k SW vytvořenému zaměstnancem
- může jej upravovat, používat, prodávat a licencovat - může jej upravovat, používat, prodávat a licencovat
- zaměstnanec software nesmí SW dále používat pro své účely ani jej licencovat - zaměstnanec nesmí SW dále používat pro své účely ani jej licencovat
- může být uvedený jako autor a dílo může odvolat - může být uvedený jako autor a dílo může odvolat
Popište **základní typy licencování softwaru** a **základní obsah licenční smlouvy**. Popište **základní typy licencování softwaru** a **základní obsah licenční smlouvy**.
- **výhradní typ** - **výhradní typ**
- poskytovatel uděluje licenci uživateli právo užívat SW výhradně, to znamená že nemůže udělit žádné jiné třeơ straně ani jej sám využívat - poskytovatel uděluje licenci uživateli právo užívat SW výhradně
- nemůže udělit licenci žádné jiné třetí straně ani jej sám využívat
- **nevýhradní typ** - **nevýhradní typ**
- umožnuje poskytovateli SW nadále disponovat SW a udělat licence dalším - umožnuje poskytovateli SW nadále disponovat SW a udělovat licence dalším
- **obsah licenční smlouvy** - **obsah licenční smlouvy**
- identifikace stran, specifikace SW, rozsah a způsob užití SW, doba trvání licence, odměna za licenci - identifikace stran, specifikace SW, rozsah a způsob užití SW, doba trvání licence, odměna za licenci