ZSWI Flashcards

1
Q

Popište smysl pyramidy vitality a význam jejích jednotlivých pater (obrázek k dispozici)

Dynamika
Stabilita
Efektivita
Užitečnost

A

Popisuje budování firmy a její úspěšné fungování)

Dynamika (Dokážeme řídit změny a ovlivňovat celkový
vývoj?) – vyvolávání změn, firma se stává původcem změn, systém dopředných vazeb,ovlivňování mezilidských vztahů ve firmě, skupinách, týmech

Stabilita (Umíme se vyrovnat se změnami a potížemi?) –
nalézt rovnováhu v měnících se podmínkách, systém
zpětných vazeb, individuální přístup k zaměstnancům
a zapojení do firemního dění

Efektivita (není to zbytečně nákladné?) ‐ firma má
pořádek v procesech, nesmí se příliš vysílit, musí stačit
konkurenci, využívá zdroje, má organizační strukturu

Užitečnost (Máme co nabídnout? Víme proč a komu?) –
firma musí mít smysl, poskytovat užitek, produkovat něco chtěného (zákazník za to zaplatí, zaměstnanec investuje čas, energii, práci, majitel investuje nápady, peníze)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Popište smysl Maslowovy pyramidy potřeb a význam jejích jednotlivých pater (obrázek k dispozici)

Smysl
Výlučnost
Příslušnost
Bezpečí
Přežití
A

Popisuje univerzální lidské potřeby

Smysl - Jsem užitečný sobě a svému okolí? Seberealizace, osobní rozvoj, užitečnost pro jiné.

Výlučnost - Uznávají ostatní mou výjimečnost? Potřeba někam patřit a i v daném prostředí vynikat.

Příslušnost - Mohu počítat s tím, že někam patřím? Někam patřit - rodina, škola, přátelé

Bezpečí - Budou mé základní potřeby zajištěny i nadále?
Zajištění přežití v budoucnosti

Přežití - Jsou pokryty mé základní potřeby? Pokrytí základních potřeb - metabolismus, reprodukce

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Popište a vysvětlete základní schéma zajišťování efektivity: Procesy → Zdroje → Struktury

A

❖ Jsou dané produkty, ty musíme získat v dostatečné míře a kvalitě s min náklady (peníze, čas, úsilí).
❖ Sledujeme cenu vstupů, hodnotu výstupů (hodnota výstupů musí být větší než cena vstupů).
❖ Zajišťování efektivity probíhá dle schématu Procesy → Zdroje → Struktur.

Procesy – opakovaně probíhající transformace vstupu na výstup, i malé zlepšení se významně projeví.
❖ Ortoprocesy – hlavní procesy, výstupy (produkty) určené vnějším zákazníkům.
❖ Paraprocesy – paralelní podpora a monitoring ortoprocesů, vytvářejí interní produkty.
(typicky účetnictví, marketing), interní produkty tvoří zdroje a vstupy do dalších procesů.
❖ Metaprocesy – výsledky monitoringu vnitřního a vnějšího prostředí firmy, výsledek je změna.

Zdroje – pro zajištění procesů, nespotřebovávají se (na rozdíl od vstupů).
❖ Tvrdé zdroje – materiál, energie, informační systém.
❖ Lidské zdroje – vlastnosti, schopnosti, postoje lidí ‐ nositelé jsou konkrétní lidé.
❖ Specifické zdroje ‐ systém firemních myšlenek.
❖ Lidské zdroje: Činnost‐>Nároky‐>Požadavky‐>Člověk.

Struktury – odvozeny od jedinečných procesů ve firmě – těžko obecně definovatelné.
❖ Odpovědnost za běh procesů, kvalitu zdrojů, informací o procesech, zdrojích atd.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Popište a vysvětlete princip dvou nezbytných podmínek stability: cyklického řízení a podpory lidí

A

Stabilita = schopnost hledat rovnováhu (adaptovat se na změnu).

Cyklické řízení
❖ Učení z vlastních výsledků, zpětné vazby, hodnotíme zda jsme/nejsme úspěšní, případné korekce.
❖ Zavedení nových prvků do řízení - stanovení cílů (jak ho dosáhnout), vyhodnocení výsledků, korekční
systém (pozitivní odchylka - potvrzení cílů a cest, negativní odchylka - korekce cílů, cest).

Podpora lidí
❖ Cyklický model potřebuje pochopení a podporu ze strany lidí, musí být srozumitelný a přijatelný.
❖ Firemní kultura – vztahy mezi lidmi, vztahy k firemním myšlenkám.
o Firma vedená lidmi – nadřízení zavaleni rutinními
záležitostmi, mají věci pod kontrolou.
o Firma vedená myšlenkami – lidé se méně obracejí
na nadřízené, řeší problémy v závislosti na
firemních myšlenkách a cílech.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Popište a vysvětlete princip dvou nezbytných podmínek dynamiky: proaktivního cyklického řízení
a aktivity lidí

A

Firma je užitečná, efektivní a stabilní → změny bere do své režie – ovlivňuje dynamiku vlastní i dynamiku
svého okolí.

Proaktivní cyklické řízení (tvrdá podmínka)– důležitost zdravého rozumu
❖ Ovlivňování rychlosti a směru vývoje – typicky vyvolávání umělých potřeb.
❖ Schopnost učit sám sebe (vrchol dynamiky) tvůrčí charakter procesů, nelze se spolehnout na
rutinu.

Aktivity lidí (měkká podmínka) – vyžaduje spontánní aktivitu lidí, rychlost, pružnost, dobré nápady,
zapojování lidí do řešení problémů a rozhodování (ale za rozhodování je stále zodpovědný manažer)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Popište význam, důležitost a možnost změny následujících lidských zdrojů: vlastností, schopností
a postojů

A

Schopnosti
❖ Znalosti (co teoreticky zvládnete) a dovednosti (co prakticky umíte).
❖ Možnost změny – snížení nároků či rozvíjení schopností, zlepšení týmových vztahů a spolupráce.

Postoje
❖ Míra snahy a ochoty pracovat, loajalita příslušného člověka, úzce souvisí s motivací.
❖ Míra disproporce mezi “vím, umím” a “skutečně to dělám”.
❖ Možnosti změny – definice firemních myšlenek a jejich vysvětlení lidem, vnímání lidských zájmů.

Vlastnosti
❖ Hlavně zděděné rysy osobnosti člověka spojené s biologickou a psychologickou podstatou.
❖ Takřka nezměnitelné, člověka s určitými vlastnostmi nelze „vychovávat“, ale získat již
„hotového“.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Popište princip soutěživého vztahového chování; jakým způsobem dokážete soutěž vyvolat, či potlačit

A

Lidé jsou navzájem srovnáváni (odměna patří nejlepšímu). Lidé mají přirozenou potřebu vítězit. Vzniká, když lidé plní stejné úkoly. Ve skupině může být i motorem vývoje. Soutěžení nelze zcela vypudit, je ale možné ho přesměrovat mimo skupinu (soutěžení s jinou skupinou, mezi firmami).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Popište princip spolupráce; jakým způsobem dokážete spolupráci podpořit

A

Přesvědčení, že hodnot je dost pro všechny (odměnu mají všichni, kteří dosáhnou výsledku). Zadání
úkolu tak, že uspět mohou jedině dohromady (lidé si pak musí pomáhat). Rozšíření rolí ve skupině (více
možností úspěchu). Spolupracují i ti, kteří jsou normálně soutěživí (vliv vnějšího tlaku). Pocit sdílení.
Dlouhodobě udržitelné a žádoucí. Menší potenciál než soutěžení (spolupracujeme, jen když je to
výhodné). Lidé volí soutěž, dokud nevyhrají nebo nezjistí, že soupeř je lepší a chtějí spolupráci.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Proč se zabýváme požadavky na software? Pro koho jsou sesbírané a zdokumentované požadavky na
software užitečné?

A

Požadavek
❖ Vlastnosti a parametry softwaru, které definují jeho užitečnost pro zúčastněné subjekty.
❖ Popis toho, co všechno by se mělo implementovat, popisují žádané chování systému a jeho
vlastnosti, mohou představovat nějaká omezení procesu vývoje systému.

Užitečnost pro
❖ Zákazníky (investoři - projekt financují, chtějí dostat systém, který pokryje jejich podnikatelské
potřeby, uživatelé).
❖ Zaměstnance (analytik požadavků – sepisuje požadavky na systém a tlumočí je vývojářům (definuje
produkt) a vývojáři – navrhují, implementují, udržují systém).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vysvětlete pojmy podnikatelské a uživatelské požadavky

A

Podnikatelské požadavky
❖ Formulují strategický rámec organizace (zákazníka), říkají, proč organizace systém chce (čeho
zavedením systému dosáhne).
❖ Často samostatný dokument – tzv. charta projektu – popisuje vize a rozsah projektu.

Uživatelské požadavky
❖ Popisují cíle uživatelů a úkoly, které musí uživatelé se systémem provést
(způsob zápisu: případy užití, scénáře, tabulky), např. převést peníze z účtu na účet.
❖ Odpovídají procesům z pohledu managementu a vykonavatelů.
❖ Mohou být v rozporu s podnikatelskými (pak je nutné komunikovat o cílech a omezeních).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vysvětlete pojmy systémové a funkční požadavky.

A

Systémové požadavky
❖ Celkové požadavky na systém složený z podsystémů (podsystémy mohou být softwarové
i hardwarové, součástí systému i lidé).Odpovídají zejména definicím zdrojů a struktur.

Funkční požadavky
❖ Procesy z pohledu vývojáře. Popisují softwarovou funkcionalitu – co mají vývojáři
naprogramovat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vysvětlete pojmy podnikatelská pravidla a parametrické (mimofunkční) požadavky.

A

Podnikatelská pravidla
❖ Firemní předpisy, státní nařízení, průmyslové standardy, atd. (tato pravidla existují i sama o
sobě).
❖ Omezují počet možných uživatelů systému, někdy z nich plynou kvalitativní parametry.

Parametrické požadavky
❖ Požadavky na výkonnost a kvalitativní parametry – použitelnost, přenositelnost, integrita,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vysvětlete význam podpisu dokumentu specifikace požadavků.

A

❖ Podpis není jen formální záležitost (zákazníka přesvědčíte, ať si specifikaci opravdu přečte).
❖ Podpis neznamená zmrazení požadavků, ale vytvoření tzv. směrné verze specifikace – verze, která
v daném čase představuje závaznou podobu požadavků. Lze změnit a opět podepsat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Uveďte alespoň tři dobré zvyky, které jste použili při psaní specifikace požadavků během vašeho
týmového projektu. Vysvětlete význam těchto dobrých zvyků.

A

❖ Úplnost – požadavek musí úplně popisovat funkcionalitu.
❖ Správnost – požadavek funkcionalitu popisuje přesně (dle rozhodnutí uživatele)
❖ Proveditelnost – požadavek se musí nechat zrealizovat (zhodnotí vývojář).
❖ Priorita – každý požadavek má svoji implementační prioritu.
❖ Jednoznačnost – jednoduchý, stručný jazyk, omezení možnosti různých interpretací.
❖ Ověřitelnost – testem, prohlídkou.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Vysvětlete význam uvedení vize a stanovení rozsahu v dokumentu specifikace požadavků

A

❖ Produktová vize – společný směr všem investorům – 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 – podmnožinou vize, řádně definován která část dlouhodobé vize bude zpracovávána
aktuálním projektem, co projekt bude řešit a co už ne (rozsah zároveň definuje omezení).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vysvětlete princip a použití kontextového diagramu a diagramu případu užití. Nakreslete obrázky.

A

Kontextový diagram
❖ Používá se pro grafický popis rozsahu projektu - hranici a spojení mezi vyvíjenýmsystémem a okolím.
❖ Uvnitř kruhu celý systém.
❖ Koncové prvky - obdélníky představují třídy uživatelů, organizace, jiné systémy nebo HW zařízení.
❖ Šipky - představují datové toky či přesuny skutečných předmětů mezi systémem a koncovými prvky.

Diagram případu užití
❖ Používá se pro zaznamenání obecných údajů o cílech uživatelů, které musí uživatelé provádět.
❖ Uživatelů se ptáme na pracovní postupy a cíl, který mají, když si sednou k systému (chci udělat to a
to)
❖ Uvnitř systému - všechny úkoly a činnosti, které má systém provádět.
❖ Vně systému - uživatelé, kteří se systémem jakkoliv pracují.
❖ Šipky - od činností k uživatelům, kteří je provádí.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Jakým způsobem získáte požadavky od uživatelů systému? Uveďte základní praktiky.

A

❖ Najdeme všechny třídy uživatelů systému (dle používaných funkcí, frekvence používání, úkolů,…).
❖ Najdeme zdroje uživatelských požadavků (rozhovory s potenciálními uživateli, dokumentace
popisující stávající nebokonkurenční systémy, chybová hlášení, sledování uživatelů při práci,…).
❖ Vybereme zástupce jednotlivých uživatelských tříd nebo účastníků a pracujeme s nimi.
❖ Dohodneme se, kdo bude rozhodovat o požadavcích (řešení protichůdných požadavků uživatelů,
❖ Zapojení uživatelů je jediný způsob, jak se vyhnout rozdílům mezi očekáváním a skutečným
systémem.

Praktiky
❖ Nespoléhejte na to, že všichni účastníci sdílejí společné definice.
❖ Pochopení skutečných potřeb účastníků, klademe vhodné otázky.
❖ Ptáme se na výjimky.Které tři věci nejvíce vadí na starém systému?
❖ Nabízíme další nápady a alternativy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Roztřiďte následující požadavky (uveďte typ požadavku)

a. Potřebuji nastavit parametry zařízení.
b. Chceme snížit náklady na údržbu systému o 30%.
c. Slovník lze abecedně setřídit (A‐Ž, Ž‐A).
d. Každý výrobek má jedinečný čárový kód.
e. Uživatel si vybere, jestli bude vyplňovat tuzemský nebo zahraniční cestovní příkaz.
f. Systém musí být dostupný alespoň v 99,0% v pracovní dny mezi šestou hodinou ranní a
čtvrtou hodinou odpolední.
g. Systém musí být implementován v programovacím jazyce Java

A

a. Potřebuji nastavit parametry zařízení. – případ užití
b. Chceme snížit náklady na údržbu systému o 30%. – podnikatelský požadavek
c. Slovník lze abecedně setřídit (A‐Ž, Ž‐A). – funkční požadavek
d. Každý výrobek má jedinečný čárový kód. – definice dat
e. Uživatel si vybere, jestli bude vyplňovat český nebo zahraniční cestovní příkaz. – p. na vnější rozhraní
f. Systém musí být dostupný alespoň v 99,0% v pracovní dny mezi šestou hodinou ranní a čtvrtou hodinou
odpolední. – kvalitativní požadavek
g. Systém musí být implementován v programovacím jazyce Java. - omezení

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Popište smysl a náplň čtyř základních aktivit při vývoji sw: specifikace, vývoj, validace, evoluce.

A

❖ Specifikace sw – definice sw produktu.
❖ Vývoj sw – vytváření sw splňujícího specifikaci.
❖ Validace sw – ověření, že sw dělá, co potřebuje zákazník (systém zpětných vazeb).
❖ Evoluce sw – přizpůsobení sw měnícím se požadavkům zákazníka a nabídka další funkčnosti (systém zpětných a dopředných vazeb).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Popište vodopádový model vývoje sw, uveďte jeho výhody a nevýhody.

A

Původní představa: další fáze začne, když předchozí (úspěšně) skončí (tj. neexistují zpětné vazby).

Později: zavedení zpětné vazby, v případě problémů se musíme vracet
❖ Návraty jsou pracné, drahé (zahrnují i přepracování dokumentů), po několika iteracích dojde ke
zmrazení příslušné části vývoje a přejde se na další fázi, tzn.:
o případné problémy se odkládají na později (ignorují se)
o zmrazení požadavků vede k tomu, že systém nedělá, co uživatel chce
o zmrazení designu obvykle vede ke špatně strukturovaným systémům

Nevýhody
❖ Prodleva mezi zadáním projektu a vytvořením spustitelného systému je příliš dlouhá.
❖ Rozdělení projektu do fází je málo flexibilní.
❖ Je obtížné reagovat na změny požadavků ze strany zákazníka (uživatel sám neví, co vlastně chce).
❖ I kdybychom vyjádřili každý požadavek, na některé detaily přijdeme až ve fázi implementace.

Výhody
❖ Model je nedokonalý, ale je lepší mít nějaký model než nechat zvítězit naprostý chaos v projektu.
❖ Přehledný – použitelný pro malé projekty, či jako první přiblížení (hrubé zrno).
❖ Výhodný z hlediska organizace práce dodavatele, někdy vyžadován státem v roli zákazníka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Popište modely vývoje sw: výzkumník (evoluční prototypování) a prototyp (throwawayprototypování), uveďte vhodnou oblast jejich použití.

A

Použití: Malé systémy a středně velké systémy s krátkou dobou života.

Model výzkumník (dobře přizpůsobitelný)
❖ Specifikace, vývoj a validace jsou smíšeny. Ze specifikace je velmi rychle vyvinut prvotní systém.
❖ Na základě spolupráce a zjištění požadavků zákazníka je systém dále upravován.
❖ Během vývoje systému se často vracíme k předchozím etapám – základní charakteristika vývoje

Model prototyp(tvorba prototypu, který bude později zahozen)
❖ Cílem je lepší pochopení zákazníkových požadavků a v důsledku vytvoření lepší definice požadavků.
❖ Prototyp je testován a ověřován budoucími uživateli.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Vysvětlete základní principy iteračního a inkrementálního modelu vývoje sw

A

Iterativní modely
❖ Počítají s vývojem požadavků v čase, nutnost několika (i mnoha) iterací procesu vývoje.
❖ Myšlenku, že velké systémy se dají rozdělit na menší (různé přístupy pro různé části →hybridní
model).

Inkrementální modely
❖ „Přírůstkový model“, navržen kvůli omezení přepracování částí v důsledku změn požadavků.
❖ Umožňuje zákazníkovi odložit rozhodnutí o detailech, dokud nemá zkušenost se systémem.
❖ Část (inkrement) může býtpo dokončení předán zákazníkovi, který ho může používat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Popište základní principy, fáze a aktivity metodiky RationalUnified Proces (RUP).

A

❖ Iterační způsob vývoje SW, inkrementální rozšíření (iterace končí vytvořením spustitelného systému).
❖ Správa požadavků, využití existujících SW komponent.
❖ Využití principu zpětné vazby a UML.
❖ Řízení a sledování změn a jejich akceptace lidmi.

4 základní fáze (každá fáze má několik iterací - detailnější rozpracování produktu)
❖ Zahájení – výsledek je vize koncového sw produktu rámec vývoje sw produktu
❖ Rozpracování – výsledek je podrobná specifikace požadavků a rozpracovaná architektura sw
produktu
❖ Tvorba – výsledek je kompletní implementovaný a otestovaný sw produkt
❖ Předání – výsledek je předaný sw produkt (zahrnuje např. beta testování, zaškolení)

Aktivity (posloupnost aktivit, které vytvářejí požadované produkty)
❖ Základní toky aktivit –specifikace požadavků, analýza a návrh, implementace, testování, nasazení
❖ Podpůrné toky aktivit – konfigurační management a řízení změn, projektové řízení, prostředí

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vysvětlete zásadní rozdíly mezi agilním přístupem k vývoji sw a vodopádovým modelem.

A

Agilní přístup
❖ Individuality a interakce mají přednost před procesy a nástroji.
❖ Fungující software je důležitější než obsáhlá dokumentace.
❖ Spolupráce se zákazníkem je důležitější než sjednávání smluv.
❖ Reakce na změnu je důležitější než plnění plánu.
❖ Komunikace mezi zákazníkem a vývojovým týmem, průběžné automatizované testování.

Rozdíly oproti předchozím modelům
❖ Zvažuje rizika projektu, který je závislý na zkušenosti vývojářů najít a posoudit zdroje rizik (pokud
některé riziko podcení, nevyhnutelně nastanou potíže).
❖ V modelu nenajdeme pevné fáze jako je specifikace nebo návrh, je obecnější.
❖ Model je aplikovatelný i na jiné typy projektů, než je vývoj SW

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Jak byste prakticky postupovali při zavádění modelu vývoje sw?

A

Důležité je určit pořadí kroků, abychom mohli vybrat model, který bude sedět na naše požadavky:
❖ Vodopádový model – základní model, konzistentní se strukturovaným programováním shora dolů.
Je vhodný, pokud jsou známé požadavky (např.: operační systémy, překladače apod.).
❖ 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”).
❖ Komponentně orientovaný vývoj– máme-li vhodné komponenty.
❖ Inkrementální vývoj –potřebujeme omezit přepracovávání, dodáváme systém po částech.
❖ Spirálový model – vhodné pro složité dlouhodobé projekty, zahrnuje předchozí modely.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Co je to projekt? Jaký je rozdíl mezi projektem a procesem?

A

Projekt
❖ Časově omezená pracovní činnost. Cílem je vytvoření např. jedinečného produktu nebo služby.
❖ Je dočasný (má pevně stanovený konec i začátek), má jednoznačný cíl.
❖ Má hlavního zákazníka nebo zadavatele, součástí je neurčitost.

Proces
❖ Opakovaně probíhající transformace vstupu na výstup. I malé zlepšení se může významně projevit.
❖ Skládá se z jasně stanovených posloupností aktivit. Je jedinečný.
❖ Dobře organizovaná cesta od vstupu k výstupu = popis a řízení firemních procesů.

Rozdílů asi moc není. Jeden je v délce trvání a opakování…
❖ Procesy jsou většinou dlouhodobé a opakující se, projekty jsou jednorázové.
❖ 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á.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Co znamená trojí (čtvero) omezení projektu?

A

Projekt je omezen rozsahem, časem a náklady. Je vhodné nalézt rovnováhu mezi těmito omezeními. Je
nutné přijímat kompromisy. Jako čtvrté omezení někdy bereme kvalitu, uspokojení zadavatele, a někdy
nutnost dobrého řízení projektu (nezahrnuje pouze splnění trojího omezení).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Vysvětlete pojmy Ganttův diagram a struktura rozpisu prací (WBS). Uveďte ilustrační příklady

A

Ganttův diagram
Definuje, jaké jednotlivé činnosti se budou během projektu provádět. K těmto činnostem definuje přesný
časový interval trvání a udává návaznost jednotlivých činností na sebe (lepší návaznost jednotlivých
prací).

Struktura rozpisu prací
Definuje, jakým činnostem se jednotliví členové budou během průběhu projektu věnovat a na
kolik.Snahou je dosáhnout optimálního vytížení každého člena týmu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Co je to konfigurační management a k čemu je dobrý?

A

Konfigurační management (Správa konfigurace, SCM)
❖ Podpora efektivity a stability. Podpora systému zpětných vazeb.
❖ Uchování smysluplných mezivýsledků jednotlivých aktivit a podob výsledného sw produktu.
❖ Podpůrná aktivita – týká se všech členů týmu během celého vývojového cyklu produktu.
❖ Produkt vyvíjí více lidí, postupně existuje více verzí produktu → vznikají zmatky → potřeba zvládnutí
těchto zmatků →nástroje, jak dostat změnu na jednom objektu pod kontrolu.
❖ Sestavování výsledného produktu z jednotlivých částí.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Popište princip práce s repository (SVN nebo GIT).

A

Sdílený prostor se všemi složkami projektu a řízeným přístupem. Změnu ukládáme s komentářem.
Základní operace
❖ inicializace – vytvoření úložiště, naplnění inicializační verzí projektu
❖ checkout (update) – zkopírování prvku konfigurace do lokálního pracovního prostoru
❖ check in (commit) – uložení prvku do konfigurace do repositoty
❖ zjišťování stavu – sledování změn úložiště vůči lokálnímu pracovnímu prostoru

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Co je to UML a k čemu ho použiji?

A

Otevřený rozšiřitelný standard pro vizuální modelování.
❖ Není to metodika (to znamená, že nestanovuje proces).Dá se přizpůsobit konkrétním jazykům.
❖ Modelování jako svět vzájemně se ovlivňujících objektů obsahujících informaci a chování.
❖ Předpoklad, že model specifikujeme dostatečně přesně, abychom z něj mohli vygenerovat kód.

Modely v UML obsahují
❖ Statickou strukturu (jaké objekty jsou důležité a jak spolu souvisejí).
❖ Dynamické chování (vzájemná spolupráce objektů).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Vysvětlete základní princip a použití UML diagramu případů užití. Nakreslete příkladový obrázek.

A

Používají se zejména pro popis kontextu systému a pro popis uživatelských požadavků. Jsou to funkce,
které systém vykonává jménem jednotlivých účastníků nebo v jejich prospěch. Reprezentují vnější
pohled na systém, modelují zamýšlené funkce systému a jeho vztah k okolí.

Použití
❖ Nalezení hranic systému. Vyhledání účastníků (aktérů). Nalezení případů užití.
❖ Specifikace případu užití. Tvorba scénářů.

4 komponenty
❖ Aktéři – role přidělené osobám nebo předmětům používajících daný systém
❖ Případy užití – činnosti, které mohou aktéři se systémem vykonávat
❖ Relace – smysluplné vztahy mezi aktéry a případy užití
❖ Hranice systému – ohraničení kolem případů užití, vymezení modelovaného systému

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Vysvětlete základní princip a použití UML diagramu tříd. Nakreslete příkladový obrázek.

A

Ukazuje statickou strukturu tříd v systému (třídy, jejich vztahy, atributy a operace). Za statický je
považován proto, že struktura popsaná diagramem platí v jakémkoli okamžiku běhu systému.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Vysvětlete základní princip a použití UML stavového diagramu. Nakreslete příkladový obrázek

A

Používá se pro popis chování instance tříd. Ukazuje, jakými vztahy mohou instance třídy procházet
během svého životního cyklu a jaké události mohou způsobit přechod mezi stavy. Umožňuje
strukturování.
❖ Stav - situace během života objektu, kdy objekt splňuje podmínku, provádí akci nebo čeká na
událost.
❖ Událost - výskyt stimulu, který může spustit přechod do jiného stavu.
❖ Přechod - změna stavu způsobená událostí; nový stav závisí na původním stavu a na události.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Vysvětlete základní princip a použití UML sekvenčního diagramu. Nakreslete příkladový obrázek.

A

Ukazuje dynamickou spolupráci mezi množinou objektů. Má časovou osu (plyne shora dolů v diagramu).
Ukazuje posloupnost zpráv zaslaných mezi objekty.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Vysvětlete základní princip a použití UML diagramu aktivit. Nakreslete příkladový obrázek.

A

Znázorňuje sekvenční tok aktivit v rámci procesu. Umožňuje modelovat paralelní chování, zpracování
výjimek atd. Používá se např. pro znázornění chodu firmy (aktérů, organizace a objektů), pro popis
příbuzných akcí a jakým způsobem ovlivní okolní objekty, popis iterní činnosti objektu, …

37
Q

Vysvětlete pojem analytický model, popište, jak vypadá analytická třída

A

Analytický model
❖ Vždy v jazyku domény.Zachycuje problém s určité perspektivy (zabývá se přílišnými problémy).
❖ Vypráví příběh o požadovaném systému.
❖ Je užitečný pro maximální počet zainteresovaných osob.

Analytická třída
❖ Obsahuje množinu hlavních kandidátů na atributy a množinu hlavních operací.
❖ Modeluje jeden specifický element problémové domény
❖ Má jeden jediný účel a málo vazeb na okolní třídy
❖ Má definovanou malou a jasnou množinu odpovědností

38
Q

Popište principy metod hledání analytických tříd (podstatná jména, slovesa, CRC karty, typické zdroje)

A

Shromažďování a následná analýza podstatných jmen (kandidátů na třídy a atributy) a sloves (kandidátů
na odpovědnosti a operace).
CRCkarty (Class/ Responsibilities/Collaborats) – spontánní diskuse a hledání nápadů nebo procházení scénářů nápadů užití.
Typické zdroje – fyzické objekty (auto, budova,…),
kancelářské a obchodní záležitosti (faktura, objednávka,…), známá rozhraní k vnějšímu světu (monitor,…).

39
Q

Vysvětlete pojmy asociace, spojení, závislost.

A

Asociace= spojení tříd v modelu
Asociace mezi dvěma třídami je totéž, jako kdyby měla jedna třída pseudoatribut, který nese odkaz na
objekt druhé třídy (používá se, když je na jejím druhém konci důležitá třída, kterou chcete zdůraznit).

Spojení = spojení objektů (instancí tříd) v modelu
Vazba mezi objekty je spojení (jeden objekt obsahuje odkaz na jiný objekt), příslušná vazba mezi třídami
je asociace (spojení je instance asociace).

Závislost
Závislosti jsou relace, kde se změna v dodavateli automaticky projeví rovněž v klientovi (tečkovaná šipka
od klienta k dodavateli); univerzální stereotyp <> -klient používá dodavatele jako argument,
návratovou hodnotu nebo jako element vlastní implementace (např. vytvoření dočasného objektu).

40
Q

Vysvětlete pojmy asociace, agregace, kompozice.

A

Asociace= spojení tříd v modelu
Asociace mezi dvěma třídami je totéž, jako kdyby měla jedna třída pseudoatribut, který nese odkaz na
objekt druhé třídy (požívá se, když je na jejím druhém konci důležitá třída, kterou chcete zdůraznit).

Agregace
Agregace představuje volnou vazbu mezi celkem a součástí, kdy jeden objekt (celek) využívá služby
dalších objektů (součástí). Například vztah mezi počítačem a tiskárnou je vztah typu agregace, kdy
počítač s tiskárnou tvoří jeden celek, ale tiskárna může existovat i tehdy, pokud není k žádnému počítači
připojena. Agregace je formou asociace a v grafické podobě se odlišuje prázdným kosočtvercem na
straně celku.

Kompozice
Silnější formou agregace je kompozice. Jde opět o vztah mezi celkem a součástí, ale tento vztah je velmi
těsný a neumožňuje samostatnou existenci součásti, aniž by byla připojena k nějakému celku. Navíc na
rozdíl od agregace tato součást musí patřit jen jedinému celku a není možné ji sdílet více celky.

41
Q

Vysvětlete pojem realizace případu užití, co podstatného zahrnuje.

A

❖ Znázorňuje spolupráci skupin objektů pro dosažení požadovaného chování systému → diagramy
interakce ukazují, jak třídy a objekty plní požadavky specifikované v případech užití
❖ Dynamický pohled na systém. Spolupráce instancí analytických tříd.
❖ Každá realizace zachycuje právě jeden případ užití.
❖ Skládá se z následujících součástí
o Diagram analytických tříd, které „vypravují“ příběh o případu užití
o Diagram interakcí – spolupráce skupin objektů pro dosažení chování případu užití
o Speciální požadavky odhalené v průběhu realizace případu užití
o Upřesňování (změna) případu užití
o Digramy obecné interakce ukazují role klasifikátorů a asociací, zprávy a tok zpráv

42
Q

Vysvětlete rozdíl a návaznost mezi analýzou a návrhem softwaru

A

Analýza je souhrn pracovních postupů a metod, které jsou nutné k vyřešení nějakého problému
(obecnější pohled). Hranice mezi analýzou a návrhem je tenká.

Návrhem softwaru rozumíme už konkrétní řešení problému. Opět je to ale zase nějaký souhrn postupů.

43
Q

Vysvětlete pojem rozhraní, jak rozhodnete ve fázi návrhu o vhodnosti existence rozhraní.

A

Rozhraní odděluje specifikaci od implementace, lze jej připojit k třídám, podsystémům, komponentám…
(definuje služby poskytované těmito entitami). Jestliže ve fázi návrhu dojdeme k bodu, kdy třeba
definujeme třídy, které mají stejný nebo podobný účel či roli, je vhodné implementovat rozhraní.

Nebo Intuitivně: Dalo by se chápat jako jakýsi prostředník mezi třídami se stejnými metodami. Použijeme
ho tehdy, když více tříd používá stejnou metodu nebo očekáváme, že ji více tříd bude používat.

44
Q

Vysvětlete rozdíl mezi objektově orientovanou analýzou (návrhem) a strukturovanou analýzou
(designem), na základě čeho byste rozhodovali, kdy kterou použít.

A

Hlavní rozdíl spočívá ve využití, objektový návrh použijeme tam, kde je projekt rozsáhlejší a kde se
předpokládá určitá budoucí modifikace. Kdežto strukturovaná analýza se hodí pro malé projekty, u
kterých se předpokládá krátká doba života (malé programy, prototypy apod.)

45
Q

Vysvětlete pojmy diagram datových toků (DFD) a model kontextu systému (nakreslete obrázek).
DFD (Data Flow Diagram)

A

❖ Jednoduché a intuitivní (je možné je vysvětlit zákazníkovi)
❖ Použití pro reprezentaci systému libovolné abstrakce
❖ Data jsou zpracovávána posloupností kroků (kroky provádějí lidé, funkce programu)
❖ Externí entita (terminátor)- producent nebo konzument dat (začíná nebo končí v něm tok dat)
❖ Proces – provádí transformaci dat
❖ Tok dat – reprezentuje data v pohybu
❖ Paměť (datový sklad) –uložení dat pro procesy, pracující v různých časových obdobích

46
Q

Model kontextu systému (DFD úrovně 0)

A

❖ Hranice systému, tj. co bude tvořit systém a co bude okolí systému (již ve specifikaci požadavků)
❖ Hranice vytvářeného systému - kolečko s vepsaným názvem systému
❖ Lidé, organizace nebo jiné systémy, se kterými náš systém komunikuje (terminátory) ‐
pojmenovaným obdélník
❖ Vstupující a vystupující data - šipky mezi systémem a terminátorem

47
Q

Vysvětlete pojmy centrální transformace a strukturogram. Nakreslete příkladový obrázek.

A

Centrální transformace
❖ Slouží pro převod DFD do hierarchického stromu, kdy není tak jednoduché odhadnout transformaci.
Hledáme centrálníbody, které lze zjednodušit a nahrazujeme je pomocí “šéfa”.
❖ Předpokládejme ideální svět a proces, při kterém odsekáváme nepotřebné vstupní(vstupy musí být
bez chyby) a výstupníproudy(výstupy nemusí být formátované). Zbytek je centrální transformace.

Strukturogramy
❖ Jsou to grafy, ukazují rozdělení systému do hierarchie bloků a jejich vzájemnou komunikaci.
❖ Blok představuje podprogram programovacího jazyka; znázorňuje se jako obdélník obsahující název
❖ Knihovní procedury a funkce se znázorňují pomocí zdvojení svislých čar obdélníka.
❖ Volání podprogramu je znázorněno obyčejnou šipkou (od volajícího k volanému).
❖ Předávání zpracovávaných dat je znázorněno šipkou s prázdným kroužkem (od odesilatele
k příjemci).
❖ Předávání příznaků je znázorněno šipkou s plným kroužkem.

48
Q

Zhodnoťte význam návrhu architektury sw systému pro úspěšnost výsledného sw systému, popište,
jak budete principiálně postupovat při návrhu architektury

A

Význam spočívá v tom, že návrh architektury umožní včasné odladění produktu a umožní dobrou
udržovatelnost. Pokud návrh následuje po analýze, pak umožní dělit navrhovaný systém do podsystému,
jejichž návrh pak může probíhat nezávisle.

Postup
❖ Rozdělení systému do podsystémů.
❖ Rozdělení do vrstev a oddílů.
❖ Návrh topologie systému.
❖ Identifikace paralelismu, alokace na uzly a volba komunikace.
❖ Volba způsobu řízení.
49
Q

Vysvětlete rozdíly mezi dvěma základními vztahy mezi podsystémy (klient-poskytovatel, peer-to-peer)

A

Klient - poskytovatel
❖ Klient volá poskytovatele, který vykoná nějakou službu a pošle odpověď.
❖ Poskytovatel nemusí znát rozhraní klienta.

Peer - to - peer
❖ Oba podsystémy mohou volat druhý, tj. oba musejí znát rozhraní toho druhého. Je komplikovanější.
Mohou v něm vznikat obtížně komunikační cykly →upřednostňujeme vztah klient‐poskytovatel

50
Q

Vysvětlete pojmy vrstva a oddíl, uveďte příklad vrstvené architektury.

A

Vrstva
❖ Základní stavební prvek architektury, každá vrstva poskytuje data či výstupy vrstvě, která je nad ní.

Oddíly
❖ Rozdělují systém vertikálně na nezávislé nebo slabě svázané podsystémy, každý z nich poskytuje jiný
typ služeb (operační systém obsahuje ovladače pro jednotlivé typy zařízení).

Příklady
❖ Model OSI-ISO (7mi vrstvý model, známe ze sítí).
❖ 3-vrstvý aplikační model (znáte z UUR nebo JXT - datová vrstva, prezentační, aplikační…).

51
Q

Popište rozdíl mezi uzavřenou a otevřenou vrstvenou architekturou.

A

Uzavřené (striktně vrstvené) ‐ vrstva je implementována pouze prostředky nejbližší nižší vrstvy.
❖ Omezuje závislosti mezi vrstvami (princip skrývání informací).
❖ Dovoluje snadnější změny rozhraní (změna ovlivní jen nejbližší vyšší vrstvu).
❖ Například síťové modely (sedmivrstvý ISO/OSI model).

Otevřené ‐ může používat prostředky kterékoli nižší vrstvy.
❖ Omezuje potřebu definovat obdobné operace v každé vrstvě, kód může být kompaktnější,
efektivnější.
❖ Změna podsystému může ovlivnit kteroukoli vyšší vrstvu →obtížná údržba.

52
Q

Popište architektonické styly dataflow, aktivní a pasivní datové úložiště.

A

Dataflow
❖ Používá se, pokud se můžeme na systém dívat jako na posloupnost transformací zpracovávajících
vstup a produkujících výstup.
❖ Výhodou integrovatelnost (relativně jednoduché rozhraní mezi komponentami).
❖ Dva hlavní pod styly ‐ “roury a filtry” a “dávkově sekvenční” architektura

Pasivní datové úložiště (styl repositář)
❖ Centrem architektury je datové úložiště (databáze nebo soubor).
❖ Ostatní podsystémy (klienti) k úložišti přistupují a čtou, přidávají, ruší nebo modifikují data.
❖ Používá se pro výběr a správa velkého množství dat, a pokud jsou data vhodně strukturovaná.
❖ Hlavní cíle
o Integrovatelnost (klientské podsystémy pracují nezávisle).
o Škálovatelnost (možnost snadno přidávat nové klienty a data).

Aktivní úložiště (styl tabule)
❖ Množina agentů spolupracuje pomocí datového úložiště.
o Úložiště posílá oznámení agentům o změně dat, která je zajímají.
o Agent vyhodnotí obsah úložiště, případně vloží výsledek nebo částečné řešení.
❖ Například systémy pro umělou inteligenci ‐ neznáme vhodné uzavřené algoritmické řešení
problému, ale umíme řešit pomocí např. znalostních agentů, kteří k řešení přispívají.

53
Q

Popište a vysvětlete princip třívrstvé architektury.

A

Funkčnost se rozděluje do tří částí (vrstvy mají různá – vyžadují jiný typ programování, testování atd.)

Prezentační vrstva
❖ Klienti ‐ obvykle jeden klient slouží jednomu uživateli.
❖ Vytváří ji ve velké míře designéři.
❖ Výhodné co největší oddělení od aplikační vrstvy, zvláště pokud aplikace poběží na víc zařízeních.

Datová vrstva
❖ „Technický“ kód, databázoví specialisté.
❖ Načtení/uložení dat z/do databáze.
❖ Zajišťuje správné fungování transakcí, odolnost proti chybám, rychlost při vysoké zátěži.
❖ Databáze + uložené procedury + obslužný kód.

Aplikační logika
❖ Logika aplikace, reprezentace tříd (např. účet), obchodní pravidla (např. jak se počítá úrok).
❖ Obchodní pravidla se můžou často měnit

54
Q

Popište a vysvětlete princip architektury MVC. Nakreslete příkladový obrázek.

A

MVC (Model ViewController)
❖ Architektura používaná pro klasické i webové interaktivní aplikace.
❖ Blízká třívrstvé architektuře.
❖ Odděluje funkční vrstvu (model) od dvou aspektů uživatelského rozhraní (View a Controller).
o Model – objekty, které budeme v aplikaci prohlížet a měnit.
o Náhled – zobrazení modelu, každou změnu ohlásí model a dojde k zobrazení změn.
o Controller – obsahuje interakce uživatele s modelem

55
Q

Vysvětlete pojmy návrhový vzor, katalog návrhových vzorů.

A

Při řešení problémů se často dá vycházet z ověřeného způsobu řešení

Návrhový vzor
❖ Popisuje zobecnění konkrétních situací (přirovnání k matematickému vzorci).
❖ Řeší, jak se problém řeší v objektově orientovaném prostředí → UML modely návrhu

Katalog vzorů
❖ Vyhledávání podle smyslu vzoru.
❖ Vyhledávání podle kritérií – klasifikace vzoru:
o Podle účelu (purpose)
o Rozsahu platnosti (scope)
o Důležitější rozdělení dle účelu
56
Q

Popište základní principy, na kterých jsou založeny návrhové vzory.

A

❖ Poskytují návod na psaní znovupoužitelných komponent. Popisují řešení častých problémů.
❖ Při řešení problémů se často dá vycházet z ověřeného způsobu řešení.
❖ Řeší, jak se problém řeší v objektově orientovaném prostředí → UML modely návrhu
❖ Dva pohledy: klient-rozhraní a rozhraní-implementace, pro návrhový vzor důležitý první pohled →
změnu implementace klient nepozná → nebudeme se zaměřovat na implementaci.

57
Q

Popište základní princip návrhového vzoru Iterátor. Nakreslete příkladový obrázek

A

❖ Jeden z nejjednodušších a nejčastěji používaných návrhových vzorů.
❖ Jednoduchý a sekvenční přístup ke složité struktuře objektů (zjednodušený pohled pro uživatele).
❖ Udržuje informace o aktuálním objektu v agregátu, umí se posunout na další prvek a dát ho uživateli.

58
Q

Popište základní princip návrhového vzoru Abstraktní továrna. Nakreslete příkladový obrázek.

A

❖ Zavedení rozhraní pro tvorbu rodin (řad) příbuzných nebo závislých objektů, aniž by se musely
specifikovat konkrétní třídy, klient je izolován od volání těchto tříd.
❖ Vytváří rozhraní, klient volá metody rozhraní, žádné konstruktory.

59
Q

Popište základní princip návrhového vzoru Tovární metoda. Nakreslete příkladový obrázek

A

❖ Definuje metodu rozhraní pro zrod objektu na úrovni předka, ale ponechává potomkovi
k rozhodnutí, jakého konkrétního typu tento objekt bude.

60
Q

Popište základní princip návrhového vzoru Singleton (Jedináček). Nakreslete příkladový obrázek.

A

❖ Třída má jednu jedinou globálně viditelnou instanci.

61
Q

Popište základní princip návrhového vzoru
Skladba (Composite). Nakreslete příkladový
obrázek.

A

❖ Skládá prvky do stromové struktury, k prvkům

stromu přistupuje jednotným způsobem

62
Q

Popište základní princip návrhového vzoru
Dekorátor (Decorator). Nakreslete příkladový
obrázek.

A

❖ Dynamické přidání další funkcionality k objektu,

zavedení flexibilní alternativy k dědění

63
Q

Jaký je smysl testování? Vysvětlete následující

tvrzení: testování snižuje náklady.

A

Smysl: Odhalení chyb, test stability kvality aplikace, ověření bezpečnosti a správnosti sw (dle
specifikace).

Proč testování snižuje náklady? Protože po vydání sw s chybami, má zadavatel/klient/zákazník právo na
náhradu škody, která mu vznikla vadným sw a navíc může požadovat opravení chyb (další výdaje).

64
Q

Vysvětlete pojmy black box a white-box testování

A

Dva základní přístupy k testování.

Black-Box
❖ Tester se dívá na program jako na černou skříňku, to co je uvnitř ho nezajímá.
❖ Hledají se případy, kdy se program nechová podle specifikace.
❖ Pro nalezení všech chyb se program testuje se všemi možnými vstupy (platné, neplatné i nereálné).

White-Box
❖ Testovací data se odvíjejí od vnitřní logiky.
❖ Pro úplné otestování bychom potřebovali otestovat všechny možné logické cesty v programu.

65
Q

Jak byste otestovali validitu e-mailové adresy? Uveďte podrobný popis.

A

Pomocí regulárníchvýrazů ([a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4})

Nejdříve zkontrolujeme, zda obsahuje zavináč (ale ne na začátku ani na konci řetězce) a na každé straně
zavináče musí být skupina znaků (malá, velká, čísla), která můžou být vzájemně oddělena tečkou,
pomlčkou nebo spojníkem. Koncovka je dlouhá 2 – 4 znaky a může se skládat pouze ze znaků abecedy.

66
Q

Vysvětlete a popište, jak probíhá jednotkové testování. Uveďte příklad.

A

❖ Neexistuje přímá definice „jednotky“ (procedura, funkce, nejmenší samostatně přeložitelná jednotka
zdrojového kódu).
❖ Jednotka se testuje samostatně, používají se white-box techniky.
❖ Testování třídy (příklad), měli bychom provést:
o Samostatné testování každé metody (pro dědičnost i všechny zděděné operace).
o Test průchodu všemi stavy objektu, simulace událostí, které způsobují změnu stavu objektu.
o Testovat nastavení všech atributů objektu.

67
Q

Vysvětlete pojmy alfa a beta testování, zátěžové testování, validační testování.

A

Alfa a beta testování
❖ Alfa testy – na pracovišti, kde se SW vyvíjí (vývojářům známe prostředí), testuje uživatel,
vývojový pracovníci ho sledují a zaznamenávají problémy.
❖ Beta testy – testují vybraní uživatelé ve svém prostředí (vývojářům neznáme), defekty ohlášené
uživateli jsou opraveny a vznikne finální produkt.
Zátěžové testování
❖ Zátěž = množství dat, frekvence požadavků, data, která jsou extrémně náročná na zpracování.
❖ Obvykle se používají testy, kde se zátěž postupně navyšuje, dokud systém nehavaruje.
Validační testování
❖ Testuje, zda SW splňuje požadavky uživatele.
❖ Akceptační testování – test, zda produkt splňuje požadavky zadavatele (test na reálných datech).

68
Q

Co jsou to autotesty, jaký je jejich význam, jaké mají výhody a nevýhody?

A

❖ Automatické testy pro testování sw dle stanovených kritérií.
❖ Umožňují spouštět rutinní testy (např. přes noc) a testeři to ráno jen vyhodnotí.
❖ Testeři se mohou věnovat nerutinním testům, které autotest nezvládne.
❖ Cena testování je až 50 % ceny vývoje.
❖ Pokud test dopadne neúspěšně, dostane vysokou prioritu na opravu.

Výhody
❖ Rychlost, efektivita testování, redukují čas potřebný pro testování, neunaví se.
❖ Snižují cenu změn (programátoři se nemusejí tolik obávat, že změnou zanesou do kódu defekt,
protože testy by defekt (s určitou pravděpodobností) odhalily).
❖ Pracuje přesně, nedělá chyby a pracovníci se mohou věnovat jiné práci.

Nevýhody
❖ Nelze otestovat vše.
❖ Náročné vytváření skriptů a údržba (chyby v kódu zvyšují náklady).
❖ Testy najdou obvykle méně než 60% defektů, proto se kombinují s inspekcemi.
❖ Defekty jsou častěji v testovacích případech než v testovaném kódu.

69
Q

Vysvětlete pojem dostupnost, lhůta plnění, základní doba služeb v oblasti provozu IS.

A

Dostupnost - doba, kdy je garantována funkčnost IS (např. 95%).
Lhůta plnění - pro vykonávání stanovených činností (např. do kdy musí být nahozen server po spadnutí).
Základní doba služeb - doba, ve které jsou garance a lhůty plnění poskytovány (např. od 7:00 do 19:00).

70
Q

Vysvětlete princip činnosti primární a sekundární podpory.

A

Primární podpora
❖ Jediné kontaktní místo pro pomoc uživatelům (Hot-line, HelpDesk).
❖ Činnost zajišťují operátoři, sledování provozu, poskytnutí informací.
❖ Poskytuje řešení známých problémů, používá známé postupy (odpověď obratem).

Sekundární podpora
❖ Poskytuje řešení problémů, řešení nadstandardních provozních úloh.
❖ Řešení změn a nových funkčností pouze v omezeném objemu.
❖ Řeší případy, kde není řešení doposud známé, statistiky.

71
Q

Jaké je základní pravidlo při řešení problémů servisu informačních systémů?

A

Základní pravidlo: Nahlášení problému.
3 kategorie podle závažnosti a severity:
❖ Kritický problém, nefunkčnost, kterou nelze nijak obejít.
o Vyžaduje okamžité řešení (urgent severita).
o Buď odstranění problému, nebo dočasné náhradní řešení (uživatel může dále pracovat).
❖ Vážný problém, který lze obejít náhradním řešením.Problém, který nemá dopad na
funkčnost.

72
Q

Jak vypadá SLA v oblasti servisu IS?

A

SLA (Service level agreement)
❖ Definuje úroveň a kvalitu služeb jako parametry (pro porušení parametrů stanoveny sankce).
❖ Je smluvní dohodou mezi dodavatelem a odběratelem.
❖ Stanovuje cenu rizika, základní doba služeb.
❖ Lhůty plnění (pro zahájení řešení problému, snížení kategorie problému, odstranění problému).

73
Q

Jakým způsobem je chráněn software v ČR, EU, USA?

A

EU, členské státy mají povinnost:
❖ Ochrana díla HNED PO VYTVOŘENÍ. Autorem je fyzická osoba nebo skupina takových osob.
❖ Poskytnout stejnou autorskoprávní ochranu sw jako literárním dílům (copyright).
❖ Odstraňuje požadavek jedinečnosti a nahrazuje ho požadavkem původnosti.
❖ Ochrana díla 70 let po smrti. Ochrana i všech materiálů k sw.
❖ Program je možné zkoumat a přebírat jeho myšlenky
❖ Dekompilace možná pouze, pokud není daná informace již k dispozici (v nejvyšší nutnosti)

ČR
❖ Jako v EU.
❖ Autorskoprávní ochranu poskytuje všem dílům (bez ohledu na zemi jejich původu a státní občanství
autora), ale je omezeno teritoriálně jen na území státu.

USA
❖ Ochrana díla PO REGISTRACI.
❖ Poskytnout stejnou autorskoprávní ochranu sw jako literárním dílům (copyright).
❖ Odstraňuje požadavek jedinečnosti a nahrazuje ho požadavkem původnosti.
❖ Autorem SW je ten, kdo ho vytvořil a hmotně zaznamenal (nahrál na CD).
❖ V rámci pracovního poměru se vlastníkem SW stává zaměstnavatel.
❖ Autor uděluje k užití sw třem osobám licenci.

74
Q

Vysvětlete pojem autorské dílo, uveďte příklady autorských děl, co není autorským dílem?

A

Autorským dílem je jedinečný výsledek tvůrčí činnosti autora, dílo v objektivně vnímatelné podobě,
Vztahuje se na něj CopyRight. Dílem je hudba, sw, grafické, fotografické, architektonické dílo.

Dílem není zpráva, informace, metoda, teorie, graf, tabulka, fyzikálních konstant, výstup počítačového
programu.

75
Q

Popište princip dualismu autorského práva – právo majetkové a právo osobnostní. Uveďte výjimky

A

Osobnostní autorská práva
❖ Jsou spojena pouze s osobou autora a smrtí autora zanikají (jsou nepřevoditelná).
❖ Právo osobovat si autorství, zveřejnění díla, právo na nedotknutelnost.

Majetková autorská práva
❖ Mají ekonomický význam (trvají ještě 70 let po smrti autora).
❖ Základem je právo užít dílo nebo udělit svolení k užívání.
❖ Vlastní užití, prodej, pronájem, rozmnožení, sdělování veřejnosti.

Výjimky
❖ K dílu vytvořeném 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 komerčně užít).

76
Q

Popište základní typy licencování softwaru a základní obsah licenční smlouvy.

A

→ Patří do swo práva

Licence
❖ Právo na různé způsoby užití díla je možno převádět, prodávat apod.
❖ 2 základní typy:
o Výhradní - poskytovatel není oprávněn licencovat 3. osobě nebo užívat sám.
o Nevýhradní - neomezuje poskytovatele v dalších dispozicích se SW.

Licenční smlouva
❖ Specifikace SW. Právo a způsob užití SW, rozsah licence. Odměna za licenci.

77
Q

Najděte problémy v následujícím zadání požadavku a opravte ho - “Editor by měl okamžitě
zobrazit/schovat všechny formátovací značky.:

A

Kdy by měl okamžitě zobrazit/schovat všechny formátovací značky? Nejednoznačnost událost. Lépe
by bylo “Editor by měl okamžitě po stisku příslušného tlačítka zobrazit/schovat všechny formátovací značky.

78
Q

Vysvětlete základní principy agilní metodiky vývoje, vysvětlete pojem SCRUM:

A

❖ Jednotlivci a interakce před procesy a nástroji
❖ Fungující sw před vyčerpávající dokumentací
❖ Spolupráce se zákazníkem před vyjednáváním o smlouvě
❖ reagování na změny před dodržováním plánu

Scrum - Agilní metodika, rozdělení projektu do 4 iterací (1 - 4 týdny), na konci iterace funkční prototyp.

Denní stand up meetingy - co jsem dělal, jak mi to šlo, co budu dělat dál.

79
Q

Vysvětlete základní princip a použití alespoň jednoho z následujících UML Diagramů: diagram spolupráce,
diagram objektový, nakreslete příkladový obrázek:´

A

Diagram spolupráce (iterační diagram) - diagram spolupráce ukazuje objekty a spojení a zprávy, které si
objekty posílají. Využití - když chceme zdůraznit strukturální aspekty spolupráce

Objektový diagram - zobrazuje objekty a jejich spoje, objekty jsou instancemi tříd a linky jsou instancemi
asociací. Využití: grafická reprezentace struktury programu.

80
Q

Vysvětlete základní princip a použití alespoň jednoho z následujících UML Diagramů: diagram nasazení,
diagram komponent. nakreslete příkladový obrázek:

A

Diagram nasazení - Využití: ukazuje rozmístění zdrojů a sw komponenty, procesy a objekty, které na nich žijí.

Diagram komponent - komponenta je fyzická nahraditelná část systému, která obaluje implementaci a
poskytuje realizaci množiny specifikovaných rozhraní. Využití: zobrazuje komponenty použité v systému.

81
Q

Vysvětlete pojmy spojitost, stavový prostor:

A

Spojitost = vzájemná závislost. Spojité SW prvky vznikají ze souvislých potřeb
❖ Prvky A,B jsou vzájemně spojité. Lze požadovat změnu prvku A , která bude vyžadovat i změnu, aby
byla zachována celková správnost.
❖ lze požadovat změnu, která bude vyžadovat změnu A i B, aby byla zachována celková správnost.

Stavový prostor = vlastnosti třídy
❖ Celek všech povolených stavů libovolného objektu třídy.
❖ Dimenze odpovídá přibližně atributům třídy ( nepočítáme atributy, které lze odvodit ).

82
Q

Vysvětlete pojmy neměnná třída, předbězné a následné podmínky:

A

Neměnné třídy - omezení stavového prostoru
podmínka, kterou musí ve všech okamžicích uplatnit všechny objekty dané třídy

Předběžná podmínka - musí být splněna ( pravdivá ) na začátku operace. Pokud není, může být vyvolána
podmínka

Následná podmínka - musí být splněna ( pravdivá ) na konci operace. Jinak je třeba implementaci opravit.

83
Q

Vysvětlete princip kovariance a kontravariance:

A

Kovariance - následná podmínka je přinejmenším tak silná jako odpovídající podmínka v nadřízené třídě

Kontravariace - Předběžná podmínka operace není silnější než odpovídající ve třídě nadřízené

84
Q

Popište základní princip jednoho z následujících návrhových vzorů: Most, Muší váha, Stavitel, Strategie,
Stav. Nakreslete příkladový obrázek - uml diagram struktury vzoru:

A

Most (Bridge) - Odděluje měnící se rozhraní od měnící se implementace tohoto rozhraní.

85
Q

Popište základní princip jednoho z následujících návrhových vzorů: Adaptér, Proxy, Fasáda, Mediátor,
Observer. Nakreslete příkladový obrázek - uml diagram struktury vzoru:

A

Adapter - Odděluje již hotové, neměnné rozhraní od měnící se implementace tohoto rozhraní

86
Q

Vysvětlete pojem akceptační testování

A

Akceptační testování - testování podle scénářů domluvených oběma stranami, testuje se zda produkt splňuje zadání zákazníka

87
Q

Co je to code review ? Jak by jste code review prováděli ?:

A

Proces, který zajistí, že každou změnu kódu uvidí další osoba a může ji připomínkovat. Provádět jí lze pomocí
několika způsobů, např. požádáte kolegu aby se na kód podíval a okomentoval to, ale spíše použít formálnější přístup, a to pomocí commitů

88
Q

Popište a vysvětlete základní schéma zajišťování užitečnosti Subjekty -> Potřeby -> Produkty

A
1. Subjekty: Komu budeme užiteční (chceme či musíme)
‐ majitelé
‐ zákazníci
‐ zaměstnanci
‐ dodavatelé
‐ stát
  1. Potřeby: Co od nás bude chtít?
    ‐ většina potřeb je univerzální a má hierarchickou strukturu – Abraham Maslow – hierarchie
    potřeb (kniha: Motivation and Personality)
    ‐ Přežití – pokrytí základních biologických potřeb – metabolismus a reprodukce
    ‐ Bezpečnost – zajištění přežití i v budoucnosti
    ‐ Příslušnost – někam patřit – rodina, přátelé, škola, fotbalový tým,…
    ‐ Výlučnost – nejen někam patřit, ale v daném prostředí i vynikat, získat uznání
    ‐ Smysl – seberealizace, osobní rozvoj, užitečnost pro jiné
  2. Produkty:odvozeny od potřeb, je dobré se k jejich definici pravidelně vracet
    – Pro majitele – ekonomické výsledky, prestiž, image, seberealizace
    – Pro zákazníky – specifické potřeby (výrobky, služby), záruka, servis, image, kvalita jednání
    – Pro zaměstnance – mzdy, benefity, kariéra, seberealizace
    – Pro dodavatele – platby za dodávky, smlouvy, výhodná spolupráce, důvěra a dobré vztahy,
    prestiž, image
    – Pro stát – daně, pracovní místa, respektování zákonů, ekologická šetrnost