1 Slezská univerzita v Opavě, FPF Podklady ke cvičením Studijní obor: IVT Ročník: IV. Vyučující: dr. Dušan Kajzar Školní rok: 2018/2019 Obsah: 1. Metodiky a metody vývoje IS................................................................................ 1 2. Strukturovaný přístup............................................................................................. 2 3. Objektový přístup................................................................................................... 4 4. Historie a příklady metodik ................................................................................... 8 5. Modelování architektury IS ................................................................................... 9 1. Metodiky a metody vývoje IS 1) Charakterizujte pojmy informační technologie, informační systém. Jaký je rozdíl mezi těmito pojmy? Demonstrujte na příkladech. 2) Charakterizujte pojem projekt. Co je výsledkem projektu? Uveďte charakteristické vlastnosti projektu. 3) Vysvětlete, proč je potřeba chápat vývoj IS jako projekt. 4) Vysvětlete, proč je potřeba chápat informační systém jakožto systém sociálnětechnický. Proč je takové chápání důležité pro proces vývoje IS? 5) Charakterizujte pojmy: metodika, metoda, technika, nástroj. Jaký je vztah mezi uvedenými pojmy? 6) Na čem závisí výběr vhodné metodiky a metody vývoje IS? 7) Vysvětlete pojem „standardizovaný přístup“ k vývoji IS. V čem standardizace procesu vývoje IS spočívá a jaké přináší výhody pro vývojovou firmu. 8) Charakterizujte pojmy: životní cyklus IS, etapy životního cyklu. Uveďte příklady etap životního cyklu IS dle různých metodik. 9) V jaké struktuře je doporučeno popsat obsah etap životního cyklu IS? 10) Jaké jsou příčiny cyklických návratů k předchozím etapám během životního cyklu IS? (Objasnili jsme si 6 hlavních příčin.) 11) Načrtněte a stručně vysvětlete základní typy (schémata, modely) životních cyklů IS. 12) Načrtněte a stručně vysvětlete spirálový model (schéma) životního cyklu IS. Jaký význam má analýza rizik prováděná na začátku každého cyklu? Předmět: Projektování IS I N3037 Otázky k procvičení 2 13) Ve které etapě vývoje IS dle metodiky UP kulminuje (má své těžiště využití) proces analýzy IS? 14) Které obecné principy dodržujeme během analýzy a návrhu IS? Každý uvedený princip ilustrujte jednoduchým příkladem. 15) Vyjmenujte 3 stupně abstrakce a ke každému stupni uveďte konkrétní příklad využití (grafickou konstrukci UML) v některém z modelů objektového přístupu. 16) Jaké trendy ovlivnily rozvoj metodik vývoje IS? (vysvětlili jsme si 6 rozhodujících trendů) 17) Uveďte rozdíly mezi projektováním IS a řízením projektu vývoje IS. Vysvětlete, proč vývoj IS musí být pojímán jako projekt. 18) Uveďte příčiny vzniku tzv. agilních metodik a vyjmenujte tři základní principy, na kterých jsou agilní metodiky postaveny. Proč myslíte, že jsou podstatné zrovna tyto principy? 19) Jaké (tři) principy byly (jsou) základem pro vytvoření tzv. agilních metodik vývoje IS? Uveďte, jak jsou tyto principy začleněné v konkrétních doporučeních metodiky XP. 20) Vyjmenujte alespoň 5 tzv. agilních metodik. Kterou z nich byste doporučil(a) k vývoji menší WWW aplikace a proč? 2. Strukturovaný přístup 21) Vysvětlete pojem „strukturovaný přístup“ k vývoji IS. V čem spočívá jeho podstata, proč se nazývá strukturovaný? 22) V čem spočívá charakteristická odlišnost strukturovaného a objektového přístupu k vývoji IS? 23) Vyjmenujte modely IS používané při strukturovaném přístupu k vývoji IS.  KD + SU 24) Uveďte (alespoň 2) důvody, proč je důležité v kontextovém diagramu znázornit kvalitně okolí systému, tj. všechny externí entity. 25) Bývá součástí kontextového diagramu i datové úložiště (Data Store)? Pokud ano, uveďte, ve kterých případech. Pokud ne, uveďte proč. 26) Uveďte, které tři typy událostí rozlišujeme v modelu Seznam událostí. 27) Uveďte, k čemu se využívá model „Seznam událostí“ při Yourdonově strukturované analýze. 3  FSD + DFD 28) Jaký je principiální rozdíl mezi diagramem funkční struktury systému (FSD) a diagramem datových toků (DFD)? 29) Které tři typy funkcí (subsystémů) znázorňujeme v diagramu funkční struktury systému (FSD)? 30) V modelu DFD vidíme jisté souvislosti mezi procesy, datovými toky, úložišti dat. Jaké souvislosti však mezi těmito prvky v DFD neuvidíme (tzn. k jejich zobrazení není DFD určen)? 31) Jaké operace SQL reprezentuje datový tok v modelu DFD vedoucí směrem do datového úložiště? Jaké operace SQL reprezentuje datový tok vedoucí směrem z datového úložiště k procesu? 32) Můžete v modelu DFD vést datový tok z jednoho datového úložiště (Data Store) přímo do jiného datového úložiště? Pokud ano, uveďte, ve kterých případech. Pokud ne, uveďte proč. 33) Jakou úlohu může v modelu DFD hrát tzv. řídicí proces. Jaká doporučení pro zařazení řídicího procesu do DFD znáte? 34) Kdy považujeme proces znázorněný v modelu DFD za elementární? Jak takový proces v případě potřeby podrobněji popisujeme? 35) Musí být popis elementárního procesu v modelu DFD (tzv. minispecifikace, Process specification) srozumitelný i pro budoucího uživatele IS? Stručně zdůvodněte svůj názor. 36) Vysvětlete, co je cílem kontroly konzistence modelů IS. Uveďte, na co byste se zaměřili při kontrole konzistence DFD.  ERD 37) Uveďte příklad generalizace a specializace množin entit v modelu ERD. Jakým způsobem jsou provázány podřízené množiny entit s nadřízenou množinou entit (tj. na množinu entit, která je generalizuje)? 38) Co znamená „ověření úplnosti“ datového modelu vyvíjeného IS (tj. ERD resp. diagramu tříd) ? 39) Vysvětlete pojem „integrita entity“ v datovém modelu IS. 40) Jaká je souvislost mezi množinami entit a databázovými tabulkami datového modelu IS? Jaká je souvislost mezi atributy množin entit a sloupci databázových tabulek? 4 41) Na co byste se zaměřili při kontrole konzistence modelů ERD a DFD?  STD 42) Jakou roli zastává ve stavovém diagramu strukturovaného přístupu skladiště událostí (Event Store)? 43) Vysvětlete, k čemu slouží tzv. stavové veličiny (stavové parametry) ve stavovém diagramu. Uveďte ilustrativní příklad. 44) Může se systém (resp. subsystém, objekt) nacházet ve dvou či více stavech současně? Pokud ano, uveďte, ve kterých případech. Pokud ne, uveďte proč. 45) Lze stavový diagram chápat jako návazný diagram k Seznamu událostí? Zdůvodněte svůj názor.  SCH 46) Vyvíjíte IS strukturovaným přístupem a stojíte před úkolem znázornit SW a HW architekturu vyvíjeného IS. Které modely použijete? 47) Vyjmenujte tři techniky tvorby Diagramu struktury programového systému (Structure Chart). U každé techniky jednou větou charakterizujte její cíl a základní myšlenku. 48) Transformační a transakční analýza jsou technikami pro tvorbu jednoho z modelů strukturovaného přístupu. Otázka zní – kterého modelu a co je výsledkem těchto technik. 3. Objektový přístup  UML 49) Co znamená zkratka UML? Je UML metodou resp. metodikou vývoje IS? Zdůvodněte svůj názor. 50) Říkáme, že objekt zapouzdřuje své vlastnosti a chování. Čím jsou dány (definovány) vlastnosti a čím chování objektu? 51) Používá se UML i mimo oblast modelování IS? Pokud ano, uveďte, ve které oblasti se UML používá a konkrétně který model. Pokud ne, zdůvodněte proč.  Use Case 52) Co je to scénář případů užití a jaká je doporučená struktura jeho popisu? 53) Slouží Use Case diagram i k zachycení tzv. nefunkčních požadavků na systém? Zdůvodněte stručně své tvrzení. 5 54) K čemu slouží tzv. alternativní scénáře případů užití v Use Case diagramu? 55) Které (čtyři) pokročilé konstrukce v Use Case diagramu znáte? 56) Use Case diagram slouží ke znázornění jistých informací, které se týkají vyvíjeného IS. Některé informace však není vhodné pomocí Use Case znázorňovat. Uveďte alespoň ve třech bodech, k čemu Use Case diagram neslouží. 57) K čemu slouží tzv. vkládání (include) případů užití v Use Case diagramu? Uveďte příklad. 58) K čemu slouží tzv. rozšíření (extend) případů užití v Use Case diagramu? Uveďte příklad. 59) Jaký je účel tzv. mapování případů užití na požadavky na systém v Use Case diagramu? Jakým způsobem toto mapování můžeme znázornit? 60) Může být Use Case diagram užitečný také v etapě implementace systému? Pokud ano, uveďte k čemu. Pokud ne, uveďte proč.  Diagram tříd 61) Jaký je rozdíl mezi třídou a objektem? Vysvětlete a uveďte příklad. 62) Vysvětlete, co znamená pojem „dědičnost“ v diagramu tříd. Může daná třída dědit souběžně od více různých předků? Zdůvodněte své tvrzení. 63) Vysvětlete, co znamená pojem „dědičnost“ v diagramu tříd. Hovoříme o dědičnosti ještě v jiném diagramu objektového přístupu? Pokud ano, pak uveďte ve kterém. 64) Vysvětlete pojmy „abstraktní operace“ a „abstraktní třída“. Lze z abstraktní třídy vytvářet objekty? Zdůvodněte své tvrzení. 65) Jaké typy vazeb v diagramu tříd znázorňují následující grafické symboly: 66) V čem se liší agregace tříd od kompozice tříd? 67) Můžete z třídy typu <> vytvářet objekty? Zdůvodněte své tvrzení. 68) Které typy (druhy) vazeb mezi třídami znáte? Vyjmenujte je v pořadí od nejtěsnější počínaje. 69) Vysvětlete princip analýzy textu zadání jakožto techniky pro hledání tříd a vazeb mezi nimi. 70) Co je podstatou (účelem) ověření úplnosti diagramu tříd? 71) V čem se liší modely Class diagram a Object diagram? 6 72) Jaký je rozdíl mezi analytickým a návrhovým modelem (diagramem) tříd?  Diagram objektů 73) Jaký je rozdíl mezi diagramem tříd a diagramem objektů? Co vidíme v diagramu objektů?  Diagram kompozitní struktury 74) K čemu slouží diagram kompozitní struktury? Uveďte (tři) příklady různých typů strukturovaných klasifikátorů.  Diagram balíčků 75) Co znamená tvrzení, že balíček vytváří vlastní jmenný prostor? Uveďte ilustrativní příklad. 76) Jaká je v UML syntaxe pro úplný název prvku v balíčku? Uveďte příklad. 77) K čemu v UML používáme symbol kotvy? Nakreslete příklad. 78) Uveďte (včetně grafického znázornění) a stručně popište 4 typy závislostí mezi balíčky. 79) Jaký je rozdíl mezi závislostmi balíčků typů <> a <> ?  Diagram stavů 80) Vysvětlete pojmy „stav objektu“ a stavové veličiny“. Uveďte ilustrativní příklady. 81) Jaké mohou být příčiny pro změnu stavu objektu? 82) Jaký význam má indikátor historie ve stavovém diagramu? 83) Vypište v jednotlivých krocích postup tvorby stavového diagramu.  Diagram aktivit 84) Zajímají nás ve stavovém diagramu také činnosti (aktivity) objektu? Pokud ano, pak uveďte jaké. 85) Uveďte alespoň tři případy (situace), ve kterých byste jako vývojáři použili diagram aktivit. 86) Co rozumíme pod pojmem „synchronizace činností“ v diagramu aktivit? Uveďte příklad, ve kterém použijete grafické znaky UML pro synchronizaci činností. 7 87) Co rozumíme pod pojmem „signál“? Znázorněte grafické znaky UML pro vyslání a přijetí signálu. Doplňte jednoduchý příklad použití. 88) K čemu v diagramu aktivit slouží tzv. zóny odpovědností, nazývané také „plavecké dráhy“ (swimlines)? Pro ilustraci použití uveďte jednoduchý příklad. 89) K čemu se v diagramu aktivit používá tzv. „oblast přerušení“ neboli interrutible aktivity region? Vysvětlete pomocí jednoduchého obrázku. 90) K čemu slouží (co znázorňuje) v diagramu aktivit objektový uzel? 91) Co znázorňuje v diagramu aktivit sponka (pin)?  Diagramy interakcí 92) Které diagramy UML řadíme do skupiny tzv.diagramů interakcí? Co je účelem těchto diagramů? 93) Ze kterých již připravených modelů vycházíme při tvorbě diagramu sekvencí? 94) Vysvětlete pojem „zpráva synchronní“ v diagramu sekvencí. Jakým grafickým znakem UML bývá značena? 95) K čemu v diagramu sekvencí slouží operátory opt a alt? Ukažte jejich použití v jednoduchém obrázku. 96) Jak v diagramu sekvencí znázorníte paralelismus interakcí? Ukažte na jednoduchém obrázku. 97) Jak v diagramu sekvencí znázorníte vytvoření objektu a zrušení objektu? 98) V čem spočívá základní rozdíl mezi diagramem stavů a diagramem sekvencí? 99) Co obsahuje (z čeho se skládá) popis zprávy zasílané mezi objekty v diagramu spolupráce? 100) Jaký je rozdíl mezi diagramem sekvencí a diagramem spolupráce? Kdy byste jako vývojáři použili první a kdy spíše druhý z nich? 101) Je možno v diagramu spolupráce znázornit zaslání zprávy více objektům téže třídy současně? Pokud ano, znázorněte jak (jednoduchým obrázkem). 102) K čemu slouží diagram přehledu interakcí (Interaction Overview diagram)? Co v něm vidíme? 103) Diagram přehledu interakcí (Interaction Overview diagram) lze chápat jako kombinaci jiných dvou diagramů UML. Kterých? 8 104) K čemu slouží diagram časování (Timing diagram)? Kdy byste jej jako vývojáři použili?  Implementační modely 105) Které modely řadíme do skupina tzv. implementačních modelů? Co jimi znázorňujeme? 106) Který model (modely) UML slouží ke znázornění hardwarové a softwarové architektury vyvíjeného IS? 107) Jak souvisí softwarová komponenta v diagramu komponent s třídami znázorněnými v diagramu tříd? 108) Ukažte na jednoduchém obrázku, jak znázorníte v diagramu komponent, že softwarová komponenta K je implementací tříd T1, T2, T3 a T4. 109) Co rozumíme pod pojmem „komponenta“ v diagramu komponent? 110) K čemu slouží diagram nasazení (Deployment diagram)? Kdy byste jej jako vývojáři použili? Uveďte aspoň tři příklady použití. 111) Jak souvisí diagram nasazení (Deployment diagram) s diagramem komponent? Uveďte (načrtněte) jednoduchý příklad takové souvislosti. 112) Které modely UML považujeme za modely pokročilé analýzy a návrhu IS? (Tzn. používají se v pokročilejších fázích vývoje IS.) 4. Historie a příklady metodik  Strukturované 113) Ve které metodě strukturovaného přístupu se historicky poprvé objevil datový model (ERD) ? 114) Ze kterých 3 fází (etap) se skládá postup vývoje IS podle Yourdonovy strukturované analýzy? Co je výsledkem fáze č. 1? 115) Součástí Yourdonovy strukturované analýzy je tzv. „technika analýzy událostí“. Co je účelem této techniky? Popište stručně (v 6 bodech) postup práce podle této techniky.  Objektové 116) Uveďte alespoň jednu objektovou metodu vývoje IS, která vznikla na základě úprav (tj. evolučně) z metod strukturovaného přístupu. 117) Ze které objektové metody vývoje IS historicky pochází Use Case diagram? 9 118) Který z modelů objektového přístupu nám významně pomáhá při návrhu uživatelského rozhraní a testování systému? Zdůvodněte proč. 119) Vyjmenujte dvě objektové metody, které kladou modelování podnikových procesů jako jednu z prvních etap vývoje IS? 120) K čemu byste jako vývojáři IS použili metodu (techniku) CRC (Class, Responsibility, Collaborators)? 121) Proč metodu OOMT považujeme za hybridní? Které modely strukturovaného přístupu se při této metodě vývoje IS využívají? 5. Modelování architektury IS 122) Načrtněte a vysvětlete koncept tzv. vícevrstvé architektury IS/IT. 123) Načrtněte a vysvětlete základní schéma (vrstev) architektury současných IS. 124) Vysvětlete schéma a princip clusterového řešení. 125) Vysvětlete význam a princip tzv. standby systémů. Uveďte příklady DB technologií podporujících Warm Standby. 126) Vysvětlete tzv. balancing nad APL/DB servery. 127) Proč rozkládáme provoz podnikových IS do více výpočetních center? 128) Načrtněte a vysvětlete schéma demilitarizované zóny počítačové sítě.