UNICORN COLLEGE BAKALÁŘSKÁ PRÁCE

Rozměr: px
Začít zobrazení ze stránky:

Download "UNICORN COLLEGE BAKALÁŘSKÁ PRÁCE"

Transkript

1 UNICORN COLLEGE Katedra informačních technologií BAKALÁŘSKÁ PRÁCE Návrh aplikace +4U Lovecký klub dle standardu UAF Autor BP: Vedoucí BP: Štěpán Král Ing. Marek Beránek, Ph.D Praha

2

3

4 Čestné prohlášení Prohlašuji, že jsem svou bakalářskou práci na téma Návrh aplikace +4U Lovecký klub dle standardu UAF vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím výhradně odborné literatury a dalších informačních zdrojů, které jsou v práci citovány a jsou také uvedeny v seznamu literatury a použitých zdrojů. Jako autor této bakalářské práce dále prohlašuji, že v souvislosti s jejím vytvořením jsem neporušil autorská práva třetích osob a jsem si plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb. V. Dne.... (Štěpán Král)

5 Poděkování Děkuji vedoucímu bakalářské práce Ing. Markovi Beránkovi, Ph.D. za účinnou metodickou, pedagogickou a odbornou pomoc a další cenné rady při zpracování mé bakalářské práce.

6 Návrh aplikace +4U Lovecký klub dle standardu UAF Design of application +4U Hunting Club according to UAF standards 6

7 Abstrakt Tato bakalářská práce se zabývá návrhem aplikace Lovecký klub dle standardu UAF. Jedná se o aplikaci na správu lovů, úlovků a lovců v rámci jedné honitby. V první části je představen Unicorn Application Framework, zejména pak jeho technická část uuapp Framework, včetně technologií souvisejících s aplikací a jejím návrhem. Déle je představena struktura technické dokumentace, jak ji UAF předepisuje a v závěru této části je čtenář uveden do problematické domény lovectví. V druhé části je formou rozšířeného shrnutí představen postup samotné tvorby návrhu a technické dokumentace pro tuto konkrétní aplikaci. Nedílnou součástí této práce je příloha A obsahující kompletní technickou dokumentaci aplikace +4U Lovecký klub. Klíčová slova: UAF, uuapp Framework, technická dokumentace, design aplikace, lovectví Abstract This bachelor thesis deals with the design of the Hunting Club application according to the UAF standards. It is an application for management of hunts, catches and hunters in one hunting ground. The first part introduces the Unicorn Application Framework, especially its uuapp Framework technical part, including application-related technologies and its design. The structure of the technical documentation is also presented, as the UAF prescribes it, and at the end of this section, the reader is introduced to the problematic domain of hunting. The second part describes the procedure of the application design and the technical documentation for this particular application in form of the extended summary. An integral part of this work is a supplement containing the complete technical documentation of the application Hunting Club. Keywords: UAF, uuapp Framework, technical documentation, application design, hunting 7

8 Obsah Úvod Teoretická část Unicorn Application Framework O společnosti Unicorn Unicorn Systems Plus4U Unicorn Universe Unicorn College Představení UAF Klíčové principy Výrobní linky Evangelisté Dekompozice uuapp uuapp Framework Slovník pojmů v uuapp Frameworku Vývojový proces uuapp uuapp Team Architektura uuapp Více vrstvá architektura uuapp Logický pohled na uuapp architekturu Topologie uuapp Technologie v uuapp Klientská část uuapp Single Page Application Responzivní design Knihovna komponent uu Další knihovny komponent pro tvorbu uživatelských rozhraní Serverová část uuapp

9 3.2.1 uuappserver Datové úložiště uuappdatastore uucloud Komunikace klient server Principy tvorby technické dokumentace dle UAF Technologie pro tvorbu designu uuapp Aplikace uubookkit Knihovny komponent uuappdesignkit a uucodekit uubml Draw Struktura designu uuapp Vítejte Obsah Abstrakt Předmluva Koncepty Business model uuappstructure uusubapp Deployment, provoz Vývojové prostředí Návody Komponenty Release Notes V přípravě O knize O aplikaci uubookkit Představení problematické domény lovectví Základní pojmy Lovectví a myslivost Honitba Lovec

10 5.1.4 Zvěř Lovecké zbraně Lovecká kynologie Lovecká zařízení Způsoby lovu zvěře Čekaná Šoulačka Hon Překlad pojmů do angličtiny Praktická část Návrh vhodného řešení Zadání a požadavky zákazníka Hlavní požadavky na aplikaci Doplňující požadavky na aplikaci Průběh projektu Samotná dokumentace - Rozšířené shrnutí Business Model Business role a procesní dekompozice Struktura aplikace Serverová část uuappobjectstore primary uu5cmd List Klientská část uu5route List uu5component List Mock up Závěr Conclusion Seznam použitých zdrojů Seznam obrázků

11 Seznam tabulek Seznam příloh

12 Úvod Téma bakalářské práce jsem si zvolil proto, že návrh aplikací či informačních systémů je mi velice blízký. Je zapotřebí skloubit technické znalosti, kreativitu a v neposlední řadě komunikovat se zadavatelem zakázky. S nadšením jsem tedy využil možnosti navrhnout aplikaci pro reálného klienta a získat tak cenné praktické zkušenosti. Rovněž mne motivovala možnost blíže se seznámit s progresívními technologiemi, které Unicorn Application Framework (UAF) zahrnuje. K získání potřebných znalostí pro zpracování tématu jsem ve společnosti Unicorn absolvoval několik interních školení pro návrháře i vývojáře UAF aplikací. Hlavním cílem této práce je vytvoření návrhu aplikace +4U Lovecký klub formou technické dokumentace podle standardu Unicorn Application Framework v takové míře, aby bylo možno aplikaci podle návrhu začít vyvíjet. Vedlejší cíl je předpokladem pro splnění cíle hlavního, a tím je důkladné seznámení mne jako autora práce, tak čtenáře, s velkým množstvím technologií, jenž UAF obsahuje. Práce se skládá z části teoretické, praktické části a z přílohy. V teoretické části uvádím čtenáře do problematiky Unicorn Application Framework a kompletní sadu teoretických znalostí, nutných pro návrh aplikace nad UAF. Tedy postupně představuji dekompozici aplikací vyvíjených nad tímto frameworkem, používané technologie, princip tvorby samotné technické dokumentace dle UAF a business prostředí, kde bude navrhovaná aplikace používána Nejrozsáhlejší částí práce je samotná technická dokumentace aplikace +4U Lovecký klub, tzv. design. Jelikož UAF jasně předepisuje formu a použité technologie pro návrh aplikace, je dokumentace vytvořena v online aplikaci uubookkit a exportována do PDF souboru jako příloha A této práce. V praktické části shrnuji požadavky na aplikaci, postup tvorby dokumentace a formou rozšířeného shrnutí poté představuji obsah technické dokumentace. Práce je mi přínosem zejména v získaných znalostí UAF a nasměrování mé další kariéry jako designéra a vývojáře UAF aplikací. Pro zadavatele je přínosem technická dokumentace, podle které bude moci být implementována zadaná aplikace. 12

13 Teoretická část 1 Unicorn Application Framework Na samotném začátku představím Unicorn Application Framework (UAF), vysvětlím, čím je tento framework jedinečný a uvedu tak celou práci do kontextu s UAF. Nejprve však představím samotnou společnost Unicorn, jenž za vývojem a rozvojem této progresívní technologie stojí. 1.1 O společnosti Unicorn Unicorn je dynamická skupina společností poskytující komplexní služby v oblasti informačních systémů a informačních a komunikačních technologií. Již od roku 1990 je jejím posláním přinášet klientům prostřednictvím špičkových informatických produktů a služeb dodávaných v dohodnuté kvalitě, kvantitě, termínu a rozpočtu konkurenční výhodu a vysokou přidanou hodnotu. 1 Skupina Unicorn byla založena v roce 1990 Vladimírem Kovářem, jenž je předsedou představenstva Unicorn a. s. Jak jsem již uvedl, společnost poskytuje komplexní služby v IT, zejména v oblasti software, a je jednou z nejúspěšnějších českých IT firem. Unicorn dodává svá IT řešení největším českým i zahraničním partnerům. Hlavní odvětví, pro která společnost dodává informační systémy, jsou: Finančnictví (36%), energetika (27,9%), výroba (7,8%), informační technologie (5,8%), obchod (4,7%). Nejvýznamnějšími zákazníky jsou tyto konkrétní společnosti: Česká spořitelna (7,6%), Komerční banka (7,5%), Home Credit (7,4%), ŠKODA AUTO (6,3%) 1 UNICORN. Skupina Unicorn. Unicorn [online] [cit ]. Dostupné z: 13

14 Fakt, že tato česká společnost je skutečně mezinárodním hráčem, dokazuje podíl produkce z pohledu zemí, kam Unicorn dodává své služby a produkty, kde 59% je Česká republika a zbylých 41% jsou státy Evropy a také například Asie. 2 Holding se skládá z velkého počtu společností, níže představím ty nejvýznamnější z pohledu této práce. Ostatní firmy však neméně významnou měrou přispívají k celkovém chodu holdingu, ať se jedná o lidské zdroje, vybavení a provoz a další Unicorn Systems Dodavatel komplexních IT řešení pro ty největší zákazníky, zejména korporace, kterým dodává špičkové a velice rozsáhlé systémy, zejména z oblastí bankovnictví, pojišťovnictví, energetiky, výroby, obchodu, komunikace a médií nebo veřejné správy. Unicorn Systems je koncipován a řízen jako softwarová továrna, rozdělená na menší celky, jednotlivé výrobní linky. Díky tomu dokáže společnost vytvářet nezávisle na sobě produkty a systémy pro velký počet zákazníků (v současnosti více než 300) a v takovém rozsahu. Mezi nejvýznamnější produkty společnosti patří: ACMart řešení pro správu a údržbu infrastruktury provozovatelů přenosových soustav. Damas platforma pro tvorbu informačních systémů v energetice. Finno produktová řada podporující business procesy v bankovnictví. FlowArt produktová řada pro digitalizaci, sdílení a správu dokumentů a informací. Lancelot řešení pro podporu obchodování s energetickými komoditami. Sinis produktová řada podporující business procesy v pojišťovnictví. Inca řešení pro řízení podmořských kabelů. Unicorn Universe digitální stavebnice informačních systémů Plus4U Společnost provozuje stejnojmennou službu Plus4U, která poskytuje jednotlivcům, živnostníkům, firmám a dalším subjektům on-line řešení pro komunikaci, sdílení i ukládání informací a spolupráci. Služba umožňuje interakci mezi těmito subjekty, ale také jejich 2 UNICORN. Unicorn Quarter Assessment 2018/Q3. Unicorn [online video] [cit ]. Dostupné z: 3 UNICORN SYSTEMS. Profil společnosti. Unicorn [online] [cit ]. Dostupné v PDF z: 14

15 řízení, správu a organizaci. Služba Plus4U je postavena na již zmíněné digitální stavebnici Unicorn Universe Unicorn Universe Společnost vyvíjí zejména vlastní technologie, jenž jsou využívány jak uvnitř Unicornu, tak na projektech pro jeho zákazníky. Technologie jsou také prostřednictvím dalších společností nabízeny koncovým uživatelům i společnostem jako samostatné produkty. Unicorn Universe stojí zejména za vývojem Unicorn Application Framework (UAF), na jehož základech a principech ze založen návrh aplikace pro tuto práci. Na vývoji UAF se však podílí přímo i nepřímo také týmy z ostatních společností Unicornu. UAF je progresivní framework, využívající nejmodernější informační technologie a bude blíže představen v další kapitole Unicorn College Unicorn College je soukromá vysoká škola, která nabízí vysokoškolské vzdělání v oblasti informačních a komunikačních technologií, ekonomie a managementu. Vysoká škola v současnosti nabízí bakalářské studijní obory Management ICT projektů, Informační technologie a Ekonomika a management. 5 Pod Unicorn College spadá také organizace Top Gun Academy, jenž zajišťuje systematické vzdělávání všech spolupracovníků ve společnostech skupiny Unicorn. V současnosti je většina školících programů zaměřena právě na novou technologii UAF. 1.2 Představení UAF V této podkapitole představím základní principy UAF, ze kterých dále podrobněji rozeberu ty, které jsou důležité pro samotný návrh aplikací. Přesné znění definice frameworku zní následovně. Unicorn Application Framework (UAF) je referenční základ znalostí každého IT specialisty ve společnosti Unicorn. Řeší komplexně potřeby Unicornu s ohledem na naši klíčovou schopnost - dobře vyrábět software. Každá část výroby software je v Unicornu standardizována, resp. pokud ještě není, tak se pracuje výhradně v souladu s dobrou odvětvovou praxí a ke standardizaci směřujeme. 6 4 UNICORN. Skupina Unicorn. Unicorn [online] [cit ]. Dostupné z: 5 UNICORN COLLEGE. unicorncollege.cz. Unicorn [online] [cit ]. Dostupné z: 6 Kolektiv autorů. Úvod do UAF. Unicorn [online] [cit ]. Dostupné z: 15

16 Architektura UAF je definována slovním spojením Unicorn Mobile-First IoT- Ready Cloud Architecture. To znamená, že vyvíjené aplikace jsou vyvíjeny primárně pro potřeby mobilních zařízení, jelikož ta jsou dnes uživateli preferována (více než 60% 7 ) oproti desktopovým zařízením a notebookům. Samozřejmě i pro tato zařízení jsou aplikace přizpůsobeny a uživatelsky přívětivé. Pojem IoT-Ready znamená, že architektura již nyní počítá s masovým nástupem internetu věcí, který odborníci z celého Světa predikují (miliardy zařízená využívající IoT). UAF primárně počítá s nasazením aplikací v cloudu, konkrétně v uucloud, který je součástí frameworku. Nicméně aplikace lze provozovat i na klasických serverech. Jedním ze strategických cílů společnosti Unicorn je začlenění UAF do co největšího počtu jeho projektů, jelikož standardizace procesů přináší úspory na straně časové náročnosti vývoje i údržby software. S tím úzce souvisí potřeba proškolení všech IT pracovníků na tuto novou technologii. V aktuálním třetím kvartálu roku 2018 již úspěšně absolvovalo některé z technologických školení 300 IT specialistů. Dalších 202 spolupracovníků z řad podpůrných rolí, zejména administrativních, absolvovalo školení UAF Introduction, jelikož dílčí technologie UAF jsou využívány ve všech částech společnosti, nejen ve vývoji. Dalších 351 studentů se účastní některého z aktuálních běhů školení. Dohromady tedy bylo na UAF proškoleno již 853 ze všech 2189 pracovníků společnosti Unicorn (údaje jsou k datu ). 8 UAF je platforma pro tvorbu zejména cloudových aplikací a informačních systémů s bohatým uživatelským rozhraním, založeným primárně na nejmodernějších webových technologiích. Mezi klíčové vlastnosti patří možnost vyvíjet a provozovat aplikace univerzálně a jednotně pro zařízení všech velikostí a způsobů ovládání. 8 Odpadá tak nutnost vyvíjet verze aplikace pro různé platformy zvlášť. Unicorn Application Framework je více než jen softwarovým frameworkem, tím je jeho část zvaná uuapp Framework. UAF obsahuje klíčové principy a myšlenky pro návrh, vývoj, provoz a servis softwarových řešení. Pro jednotlivé výrobní linky definuje dvanáct podnikových procesů a postupy pro výrobu informačních systémů. Zahrnuje popis referenční architektury, poskytuje již zmíněný uuapp Framework, komponenty a nástroje 7 ENGE, Eric. Mobile vs Desktop Usage in 2018: Mobile takes the lead. stonetemple.com [online] [cit ]. Dostupné z: 8 UNICORN. Unicorn Quarter Assessment 2018/Q3. Unicorn [online video] [cit ]. Dostupné z: 16

17 pro tvorbu software s důrazem na kvalitní a kompletní dokumentaci a praktické příklady. Zahrnuje také školicí programy na UAF technologie, databázi znalostí zvanou Knowledge Base a je podporován týmem UAF Evangelistů, který se stará jak o rozvoj technické i uživatelské dokumentace, tak o pomoc jednotlivým týmům a projektům vyvíjejícím produkty pro konečné zákazníky Unicornu. 9 9 UNICORN. Unicorn Application Framework. Unicorn [online] [cit ]. Dostupné z: 17

18 Obrázek 1 zobrazuje dekompozici UAF na jednotlivé části, které dále popisuji. Obrázek 1: Dekompozice UAF Zdroj: Klíčové principy Unicorn Approach Definuje přístup k podniku a podnikání. Na základě zvoleného portfolia produktů a služeb s ohledem na preferovanou dělbu práce, technologie a odhadovaná rizika je odvozena organizační struktura, pracovní postupy podnikových procesů pro všechny zúčastněné role. Dále jsou zdůrazněny klíčové produkty a 18

19 meziprodukty a jejich struktura a popis. Podnik pak předvídatelně a přehledně plní účel, pro který byl zřízen. 10 Dekompozice ICT Hierarchický rozpad komplexní problematiky na jednotlivé základní, snadno uchopitelné elementy. Díky tomu lze transformovat přístup Unicornu na dekompozici podniku a ICT zákazníka, což vede k lepší a efektivnější spolupráci. 11 Procesy zajišťující funkční IS Konzultace Integrace Vývoj Provoz Primární podpora Sekundární podpora Infrastruktura Vzdělávání znalostí při vývoji software Proces proces vývoje software IT informační technologie Business znalost problematické domény zákazníka Klient pochopení konkrétních procesů a prostředí společnosti klienta Týmová práce schopnost řídit a být řízen Znalost jazyků mezinárodní spolupráce je des v IT klíčová. 10 klíčových principů Unicornu Systémový přístup Udržování pořádku zvyšuje výkonnost. Delegace kompetencí Delegování vede k růstu jak jednotlivců, tak podniku. Zaměření na zákazníky a spolupracovníky kvalitní produkty a služby pro zákazníky stojí na spokojených spolupracovnících. 10 Kolektiv autorů. Unicorn Unicorn [online] [cit ]. Dostupné z: a399f9781bea43e8a88d015338d54620/book/page?code= Kolektiv autorů. Úvod do UAF. Unicorn [online] [cit ]. Dostupné z: 19

20 Orientace na cíl V kterýkoli okamžik musí všichni vědět, co je jejich cílem. Standardizace procesů Standardy vedou k efektivnějšímu řešení opakujících se problémů a vyšší efektivitě. Zbývá více času na nestandardní situace. Průběžné hodnocení Jasně měřitelné plány a cíle jsou lépe vyhodnocovány. Sdílení informací Je třeba zajistit všem přiměřené informace k jejich práci, pro dosažení vysoké samostatnosti. Paměť a poučení Učení se z chyb a eliminace těch opakujících se. Soustavné zlepšování Je třeba věci nejen dobře dělat, ale také zlepšovat a zefektivňovat. Stabilita a bezpečnost - Růst podniku musí vycházek z pevných a stabilních základů a musí být postaven na bezpečné struktuře Výrobní linky Výrobní linky zapadají do konceptu Unicornu jako softwarové továrny. Cílem výrobních linek je schopnost vytvářet opakovaně, predikovatelně a efektivně softwarová řešení přinášející vysokou přidanou hodnotu pro naše zákazníky. 13 Preferovaná architektura je již zmíněná Unicorn Mobile-First IoT-Ready Cloud Architecture a je implementována ve čtyřech serverových variantách pro jazyky NodeJS, Java,.NET a Ruby. Tyto implementace jsou sdruženy v technologii uuapp Framework, kterou dekomponuji a blíže představím v dalších kapitolách. Proces Metodika Unicorn Universe Process (uup) pro řízení podniků a organizací s cílem řídit podrobněji, nežli je to na trhu obvyklé a za využití informačních technologií. Metodika uup v každém podniku Unicornu zavádí 5 klíčových a 7 podpůrných procesů. Klíčové procesy: Strategie Marketing Prodej 12 Kolektiv autorů. Úvod do UAF. Unicorn [online] [cit ]. Dostupné z: 13 Kolektiv autorů. Úvod do UAF. Unicorn [online] [cit ]. Dostupné z: 20

21 Produkce Péče Podpůrné procesy: Management Rozvoj, věda, výzkum Lidé Finance Know-how Majetek Systém a podpora 14 Komponenty a knihovny Zahrnuje samotnou architekturu, připravené komponenty a knihovny, ze kterých se staví samotný software. Kromě zdrojových kódu obsahuje také kompletní technickou i uživatelskou dokumentaci a odborná školení na konkrétní technologie. Nástroje Definuje výběr a konfiguraci konkrétních technologie a nástroje pro návrh, vývoj, testování, nasazení, provoz a podporu aplikace. Databáze znalostí Knowledge Base vstupní portál sdružující technickou i uživatelskou dokumentaci pro všechny role podílející se na vývoji aplikací nad Unicorn Application Framework. Obsahuje kompletní seznamy knih dokumentací, sdružené do logických kapitol Základní informace, Návrh, včetně ukázky návrhů referenčních aplikací, Uživatelská rozhraní, Aplikační server, uucloud a šablony projektů a dokumentací. Obsahuje také novinky z UAF a Fórum a je dostupná na URL Evangelisté Tým UAF Evangelistů je dedikovaný tým seniorních odborníků, jejichž hlavní pracovní náplní je podpora všech, kteří používají Unicorn Application Framework a zejména jeho 14 Kolektiv autorů. Unicorn Unicorn [online] [cit ]. Dostupné z: a399f9781bea43e8a88d015338d54620/book/page?code=

22 klíčovou produkční linku uuapp Framework. Členové týmu mají hlubokou aktivní znalost podporovaných produktů a technologií UAF. Hlavní náplní UAF Evangelistů popisuji níže. Certifikace aplikací Proces certifikace je nutný před uvedením produktu či služby do ostrého provozu. Certifikace se týká kategorií High-Level-Concept, implementace, zadání migrace, migrace, přípravy testů a testování. UAF Support Řešení problémů a eliminace technických rizik na konkrétních projektech a pomoc při startování projektů nových formou workshopů. UAF Forum Moderování diskuze na Knowledge Base, včasná reakce na dotazy. UAF Knowledge Base Tým UAF Evangelistů přímo zodpovídá za znalostní bázy. UAF Training Programs Garance školících programů UAF v rámci Top Gun Academy uuapp Sales Representative školení pro obchodníky. uuapp Qualified Stakeholder školení pro zadavatele aplikací. uuapp Designer školení pro návrháře aplikací či analytiky. uuapp Developer školení pro vývojáře. uuapp Architect školení pro softwarové architekty. UAF Overview školení pro ostatní role mimo IT v rámci společnosti. UAF Open Sessions Organizace Open Sessions, které pravidelně přinášejí informace ze světa UAF na různá témata, ať se jedná o novinky v UAF a uuapp Framework, rady či postupy, technologické zajímavosti nebo prezentace realizovaných aplikací. UX Evangelisté Dedikovaný tým evangelistů zaměřený na User Experience (uživatelská zkušenost). Kromě konzultací a certifikací také přímo definují vhled komponent v UAF a podílejí se na realizaci klíčových projektů. 22

23 2 Dekompozice uuapp Jak jsem již zmínil v předešlé kapitole, Unicorn Application Framework obsahuje sadu klíčových principů pro řízení společnosti, procesů vývoje software i samotnou technologii. Pro účely této práce se dále zaměřím právě na technologickou část celého UAF, která je reprezentována uuapp Frameworkem, též označovaným jako hlavní výrobní linka UAF. Zkratka uuapp znamená Unicorn Universe Application, tedy nazýváme tak aplikaci založené na UAF. Zatímco Unicorn Application Framework je výše popsaná sada principů a postupů, uuapp Framework je pak framework v pravém slova smyslu. Framework (aplikační rámec) je softwarová struktura, která slouží jako podpora při programování a vývoji a organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovny API, podporu pro návrhové vzory nebo doporučené postupy při vývoji uuapp Framework Tento framework kromě samotného zdrojového kódu zahrnuje také zejména rozsáhlou dokumentaci obsahující komplexní sadu návodů, komponent, nástrojů, referenčních aplikací a přímé podpory formou školících programů a již zmíněného týmu UAF Evangelistů. Cílem frameworku je standardizovat proces výroby software od návrhu přes vývoj až po nasazení, provoz a údržbu aplikací. Díky standardizaci všech procesů vývoje lze znovu používat již v minulosti vytvořené komponenty, jak ty jenž framework obsahuje v základu, tak vytvořené v rámci jiných projektů. Standardizace také usnadňuje případy, kdy náhle vývojový tým opustí vývojář a ten je pak snadněji nahrazen novým, jelikož ten již zná potřebnou technologii a může plynule pokračovat v práci na projektu. Díky tomu je možné například i předat vývoj aplikace zcela jinému týmu. Standardizace zvyšuje efektivitu na všech úrovních, což přináší značné úspory na straně zdrojů a tedy konkurenční výhodu jak pro Unicorn, tak jeho zákazníky. UAF architektura je popisována jako Unicorn Mobile-First IoT-Ready Cloud Architecture. Níže vysvětlím jednotlivé složky tohoto označení. 16 Unicorn Tato společnost stojí za vývojem frameworku. 15 WIKIPEDIA. Framework. Wikipedia [online] [cit ]. Dostupné z: 16 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 23

24 Mobile-First Aplikace, ale i informační systém, jsou vyvíjeny primárně pro mobilní zařízení, desktopové verze front-endu jsou až druhotné, ovšem nikoliv opomenuté. Tato potřeba vyvíjet software primárně pro mobilní zařízení vychází z aktuálního podílu mobilních a desktopových zařízení, kdy v roce 2016 bylo k přístupu k aplikacím uživateli využito těch mobilních v 57%, v roce 2017 pak již v 63% případů. 17 Dle stávajícího trendu lze také na konci roku 2018 očekávat 6% nárůst v použití mobilních zařízení. Mobilní zařízení jsou využívaný již také ve firemní sféře a výrobě, zejména ve formě tabletů. IoT-Ready Zkratka znamená Internet of Things, neboli internet věcí. Jedná se o systém vzájemně propojených zařízení, mechanických či digitálních strojů a jiných objektů, která jsou opatřena jedinečným identifikátorem a schopností přenášet data přes síť, jak vnitřní tak například internet, aniž by vyžadovala interakci s člověkem. Příkladem může být například chytrá lednička, která sama objednává chybějící potraviny. Dle odhadu společnosti Gartner bude aktivních v roce 2020 kolem 20 miliard zařízení z kategorie IoT. 18 Cloud - Obecný termín pro poskytování hostovaných služeb přes internet. V případě uuapp Frameworku hovoříme o úložišti, kde nejen provozujeme aplikace a informační systémy, ale jsou zde ukládána data již během vývoje a testování. Výhodou je jednoduchost pro nasazení a provoz, elasticita a tedy snadné horizontální škálování a v neposlední řadě nižší cena, jelikož lze zákazníkům cloudu účtovat pouze ty zdroje, které k provozu aplikací a systémů skutečně využívají. V uuapp Frameworku je zahrnut cloud vlastní pod názvem uucloud a popíši jej později v kapitole o technologiích Slovník pojmů v uuapp Frameworku V uuapp Frameworku se používá mnoho pojmů a zkratek, které je třeba si představit. Některé z nich jsou obecně známé, ale v uuapp Frameworku často používané, většina z nich je však velice specifická. V tabulce 1 popíši tyto všechny pojmy, aby nebylo zapotřebí je dále vysvětlovat. Pojmy obsahující v názvu uuapp se mohou uvádět i bez tohoto slova, tedy například uuappbinarystore je to samé jako uubinarystore. 17 ENGE, Eric. Mobile vs Desktop Usage in 2018: Mobile takes the lead. stonetemple.com [online] [cit ]. Dostupné z: 18 ROUSE, Margaret. Internet of things (IoT). techtarget.com [online] [cit ]. Dostupné z: 19 ROUSE, Margaret. Cloud computing. techtarget.com [online] [cit ]. Dostupné z: 24

25 Tabulka 1: Slovník pojmů v uuapp Frameworku Pojem API uuapp uuappbinarystore uuappclient uuappdatatype uuapperrormap uuappnodeset uuappobjectstore uuappprofile uuappserver Popis Application Programming Interface. Rozhraní aplikace, které umožňuje s aplikací komunikovat zvenčí. Software navržený tak, aby poskytoval sadu funkčností, úloh nebo aktivit, které přidají uživateli přidanou hodnotu. Často se jedná o aplikaci nebo informační systém. Datové úložiště pro perzistentní ukládání a správu binárních dat uuapp. Komponenta poskytuje API pro volání commandů (uucmd) na server a přijímání dat zpět ze serveru. Datový typ. uuapp Framework podporuje kromě standardních datových typů také vlastní, specifické pro tuto technologii, jako například uuidentity, uu5string a další. Nezbytný atribut všech dtoout. Jsou zde zapisovány veškeré chyby a varování, které nastanou během vykonávání u commandu (uucmd) na serveru. Definuje sadu logicky identických serverů, které duplikují specifickou uusubapp. Může sloužit například jako laod-balancer (vyrovnávač zátěže), může dynamicky spravovat aktuální potřeby aplikačních serverů na zvýšení výpočetního výkonu v případě větší zátěže. Datové úložiště pro perzistentní ukládání a správu strukturovaných dat uuapp zvaných uuobject. Seskupuje sadu funkčností (případů užití) specifické uusubapp, které k sobe logicky patří v rámci business procesu. Tuto sadu funkčností přidělujeme konkrétním uživatelům, jenž ji mohou tyto funkčnosti spouštět. Poskytuje prostředí pro spouštění případů užití. Typicky poskytuje správu příchozích požadavků, validaci, autorizaci a autentizaci uživatelů, správu chyb, monitoring, perzistenci, logování a cachování. 25

26 uuappworkspace Virtuální prostor, který logicky propojuje strukturovaná a nestrukturovaná (binární) data pro potřeby konkrétních uživatelů, přiřazených do jednoho či více uuappprofilů. asid uusubapp Id. Unikátní identifikátor instance uusubapp. asidowner uuidentita (obvykle uuee), která je oprávněna inicializovat uuapp. awid uuappworkspace Id. Unikátní identifikátor uuappworkspace. awidowner uuidentita (obvykle uuee), která je oprávněna inicializovat uuappworkspace. uubaseregistry Aplikace zodpovědná za vytváření, údržbu a integraci asid, awid, asidowner, awidowner atd. bsid uuappbinarystore Id. Unikátní identifikátor uuappbinarystore. uucloud Cloudové uložiště pro provoz, testování i vývoj uuapp. Postavený nad cloudovou službou MS Azure. uucmd Command. Volání aplikační logiky zahrnutá v případech užití, které využívají uuappserver v uucloudu. uu5component Komponenta pro budování responzivních uživatelských rozhraní, založená na technologii ReactJS a HTML5. Může obsahovat složitou logiku provozovanou na klientu či komunikovat se serverem. V uuapp Frameworku je velké množství knihoven sdružujících tyto komponenty do logických celků dle určení komponent. CRUD Create (vytvořit), Read (číst), Update (aktualizovat), Delete (mazat). Reprezentuje čtyři základní operace nad záznamem v trvalém úložišti dat. DAO Data Access Object. Jedna z logických vrstev v uuapp architektuře, zajišťující komunikaci mez business logikou a perzistencí uuapp. Jednotlivé DAO entit komunikují s perzistencí pomocí DAO metod. dtoin Data Transfer Object In. Reprezentuje vstupní data uucmdu posílaná na server. dtoout Data Transfer Object Out. Reprezentuje výstupní data uucmdu, jež vrací server. 26

27 uuee Specifický typ uživatele uuapp. Reprezentuje neživou entitu, například systém, jinou aplikaci atd. Není schopen ovládat koncová uživatelská zařízení a využívá pro komunikaci výhradně API. uugateway Nezbytná součást typologie uuappserveru. Obsahuje router, který na základě uuuri vybírá odpovídající uuappnodeset. uuidentity Unikátní identifikátor v rámci UAF. Může být provázána s identifikací aplikací třetích stran jako je Google nebo Facebook. Může reprezentovat lidi, věci či umělou inteligenci. uunode Nejmenší logický celek provozující uuappserver. uuobject Specifický elementární zápis, reprezentující objekt. Ty jsou ukládány v objektovém úložišti uuappobjectstore. uuperson Pro naší aplikaci nejdůležitější uživatel patřící pod uuidentity. Reprezentuje člověka. REST Representational State Transfer. Způsob, jak jednoduše vytvořit, číst, editovat nebo mazat informace ze serveru pomocí jednoduchých HTTP metod. Typ požadavku říká serveru, jakou operaci vlající požaduje. V uuapp Frameworku používáme dvě HTTP metody GET a POST. uu5route Typ uu5componenty, reprezentující vizuální část uu5uve, adresovatelná pomocí uuuri. uuschema Schéma pro uložení uuobjectu v perzistentním úložišti. uusubapp Logická část uuapp. Obsahuje sadu případů užití a perzistenci, díky čemu je uusubapp samostatně fungujícím celkem. uuapp se může skládat z N počtu uusubapp. uuterritory Virtuální prostor virtuálních objektů skupin uživatelů. Lze zde spravovat organizační strukturu a role. tid uuterritory Id. Unikátní identifikátor uuterritory. uutuc Thing Use Case. Případ užití, kde aktérem je uuthing, reprezentující uživatele z řad IoT zařízení. uuuc Use Case případ užití. Seznam kroků, který definuje interakci mezi aktérem, jenž případ užití spouští a systémem. uuapp rozlišuje tři typy případů užití - uucmd, uu5uve, and uutuc. 27

28 uuuri Klíčová komponenta uuappserveru. Uniform Resource Identifier uu5uve identifikátor zdroje. Definována specifickým formátem, obsahující informace o cílovém serveru a volaném uuuc. V hlavičce obsahuje informaci o uuidentitě volajícího. Typ uuuc, User Visual Entry-Point Vstupní vizuální bod uživatele do uuapp. Zdroj: Tabulku sestavil autor na základě informací dostupných na adrese: Vývojový proces uuapp Proces výroby aplikací a informačních systémů pomocí uuapp Frameworku probíhá nejčastěji ve třech fázích: High Level Concept (HLC) návrh, v UAF nazýván anglickým slovem Design. Construction tedy samotná výroba software na základě HLC Pilot testovací provoz. Fáze se mohou také překrývat, tedy lze již implementovat nějakou navrženou část HLC, například serverovou část aplikace, i když design nemá například dokončené rozhraní pro uživatele. Práce na jednotlivých fázích pak probíhají v etapách a iteracích. Etapa musí mít viditelnou přidanou hodnotu pro koncového zákazníka. Jedná se například o samostatnou funkčnost, která funguje nezávisle a lze ji samotnou již používat. Délka etapy se zpravidla pohybuje v řádu měsíců, neměla by však překročit délku tři čtvrtě roku a to i v případě rozsáhlých projektů. Poté se již doporučuje takovouto etapu rozdělit na více. Jednotlivé etapy se dělí na dílčí iterace, nazývané sprinty. Sprint je cyklus, který má předem definované limity ukazatelů KKTR (kvalita, kvantita, termíny a rozpočet). Délka sprintu je standardně jeden týden. Na denní bázi pak probíhají porady členů vývojového týmu, tzv. standupy. 20 Proces výroby uuapp je dekomponován na obrázku Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 28

29 Obrázek 2: Etapy a iterace Zdroj: uuapp Team Pojem uuapp Team definuje role, které se podílí na vývoji aplikací a informačních systémů v rámci uuapp Frameworku. Všechny tyto role mají v rámci UAF připravené standardizované školící programy, díky kterým jsou absolventi připraveni zastat svou roli ve vývojovém týmu okamžitě po začlenění i do již probíhajícího projektu. Jednotlivé role stručně popisuji níže. uuappstakeholder Majitel problému, který má uuapp řešit. Absolvent školícího programu UAF Overview, který má za cíl seznámit studenty s UAF, s důrazem na znalost zadání zakázek na výrobu uuapp. uuapparchitect Softwarový architekt, který má jak hlubokou znalost UAF z pohledu uuappdesignera i uuappdevelopera, tak bohaté zkušenosti v návrhu i výrobě software obecně. Absolvent školícího programu uuapp Software Architect Program, který je kromě návrhu architektury schopen také například rozšiřovat samotný UAF. uuappdesigner Návrhář aplikace, autor HLC. Jedná se o roli, kterou jako autor simuluji při tvorbě praktické části této práce. Absolvent školícího programu uuapp Designer, je schopen psát design pro UAF aplikace. 29

30 uuappdeveloper Vývojář aplikace. Absolvent školícího programu uuapp Developer, který zahrnuje dvě části tvorbu front-endu uuapp a tvorbu back-endu, kde si účastník kurzu volí jednu ze čtyř serverových implementací uuapp Frameworku: uuappdevelopernodejs uuappdeveloperjava uuappdeveloperruby uuappdeveloperdotne uuappevangelists Je třeba připomenout také již zmíněné členy UAF Evangelistů, kteří se aktivně účastní vývoje uuapp v případě složitějších řešení jako odborní poradci s nevyšší znalostí UAF technologií, případně provádí certifikace již dokončených projektů Architektura uuapp Architektura uuapp původně vychází z obecné architektury MVC (Model-View- Controller) ovšem již od počátku navíc řeší také perzistenci, čímž má oproti klasické MVC architektuře přidanou hodnotu. Nejprve představím jednotlivé vrstvy obecné MVC architektury. Model Datový a funkční základ celé aplikace. Obsahuje celou aplikační business logiku. Jakákoliv akce uživatele je řízena modelem a představuje jeho akci. Mode udržuje svůj vlastní stav a posykuje rozhraní pro práci s ním. Neřeší však samotnou perzistenci. Model neví o existenci view nebo controlleru. View Neboli pohled, představuje vrstvu pro zobrazení výsledku požadavku uživatele. Také jeho požadavky předává controlleru pomocí ovládacích prvků. 21 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 30

31 Controller Řídící jednotka, která deleguje požadavky uživatele na model a předává data view pro vykreslení Více vrstvá architektura uuapp Klasická MVC architektura vznikla na základě potřeby oddělit při konstrukci systémů s grafickým uživatelským rozhraním jednotlivé části, tedy obsluhu grafického rozhraní controller, aplikační business logiku model a část zobrazující data model. Jednotlivé vrstvy lze vyvíjet odděleně, což usnadňuje návrh, implementaci i testování. MVC se nachází celá na aplikačním serveru a tedy ve velké míře využívá serverové zdroje. Ukázkový případ užití MVC je načtení webové stránky pro uživatele. Ten z tenkého klienta, který neobsahuje žádnou složitou logiku, zavolá controller na serveru, který volání analyzuje a rozhodne, jak s požadavkem naložit. V tomto případě zavolá model, který provede veškerou business logiku a získá potřebná data a entity pro vykreslení stránky. Tato data jsou následně předána view (pohledu) a na serveru vygenerována celá stránka pro uživatele, která je mu skrze controller delegována zpět. Zařízení uživatele, tenký klient, pak jen vygenerovanou stránku zobrazí uživateli. Architektura uuapp MVC používá specificky. Controller se nachází na rozmezí klienta a serveru a lze jej definovat spíše jako API, které formou datově nenáročných JSON souborů předává data z modelu na klienta. View se ze serveru přesunul čistě na klienta, což rozkládá zátěž mezi server a koncová zařízení uživatelů, která v současnosti disponují obrovským výkonem (mobilní telefony, tablety, ale také chytré televize, desktopy a další). Práce s view na klientovi je násobně rychlejší a efektivnější, jsou tak maximálně využity specifické výhody jednotlivých zařízení. Controller získá z modelu pouze čistá data a teprve view z nich sestaví již přímo na klientském zařízení požadovanou stránku. Pokud máme na klientovi potřebná data, při změně pohledu není třeba server znovu volat, což přináší úsporu na straně času, zdrojů serveru i datového přenosu. 22 Obrázek 3 znázorňuje pohled na architekturu uuapp, vycházející z klasické MVC architektury. 22 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 31

32 Obrázek 3: Pohled na architekturu uuapp Zdroj: Na obrázku 3 je vidět horizontální čárkovaná čára, která znázorňuje přechod mezi klientskou částí (dole) a serverovou částí (nahoře). Jak jsem již uvedl, v klasické MCV architektuře se všechny vrstvy nachází na straně serveru. V horní části také přibyla vrstva persistence. Persistence uuapp Framework poskytuje již připravenou perzistentní vrstvu. Model tedy nekomunikuje s databází (perzistencí) přímo, ale pomocí DAO vrstvy. Ta obsahuje konkrétní metody pro CRUD operace v databázi, respektive přímo pro konkrétní implementaci. Poskytuje to například výhodu, kdy při úplné změně databázového systému za jinou technologii není třeba upravovat model, stačí upravit pouze DAO vrstvu pro komunikaci s jinou perzistentní technologií. 32

33 2.2.2 Logický pohled na uuapp architekturu Na architekturu uuapp lze pohlížet také logickým pohledem, který je znázorněn na obrázku 4. Obrázek 4: Logický pohled na uuapp architekturu Zdroj: Popis jednotlivých logických vrstev: HI a TI Human Interface a Thing Interface, tedy vrstva určená uživatelům pro komunikaci s aplikací. HI je určen lidem, TI pro IoT zařízení. API Application Programming Interface, rozhraní aplikace. ABL Application Business Logic, tedy vrstva obsahující samotnou aplikační logiku. 33

34 DAO Data Access Objects, tedy vrstva pro komunikaci s perzistencí dat Topologie uuapp Každá uuapp obsahuje minimálně jednu uusubapp logický celek, který se již dále nedělí a zahrnuje v sobě funkčnosti a objekty a lze jej samostatně použít. Složité aplikace a informační systému se v uuapp Frameworku mohou skládat z většího počtu uusubapp, například jedna může zajišťovat část aplikace pro běžné uživatele aplikace, další správu samotné aplikace pro autority. Pokud není třeba uuapp dále dekomponovat, její jediná uusubapp bývá pojmenována jako Main. Na obrázku 5 je zobrazena celá topologie uuapp. Jednotlivá uusubapp se skládá z uuappserveru, obsahující zdrojové kódy klientské části a té serverové s aplikační business logikou. Většina aplikací vyžaduje perzistenci svých dat. K tomu slouží knihovna uuappdatastore, která v sobě obsahuje dvě podknihovny uuappobjectstore pro perzistenci strukturovaných dat formou uuobject a uubinarystore pro perzistenci nestrukturovaných dat formou uubinary, tedy binárních dat, například obrázků, dokumentů atd. 24 Obrázek 5: Dekompozice uuapp Zdroj: 23 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 24 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 34

35 Každá uusubapp má tedy vlastní aplikační server (uuappserver) a perzistenci dat (uuappdatastore). Jednotlivým uusubapp jsou přidělovány aplikační prostory uuappworkspace, určeny svým identifikátorem awid. Každý uuobject v uusubapp je pak jasně tímto awid oznčen, čímž je zajištěno, že k objektům nelze přistupovat napřímo zvenčí. uusubapp může být buď jednoinstanční, označená číslovkou 1, nebo více instanční s označením N. V případě uusubapp typu N má každá jednotlivá instance přidělený vlastní awid. Komplexní uuapp se pak může skládat z více uusubapp, které mohou být každá jiného typu. Na obrázku 6 je ukázka takové uuapp. Jedná se o referenční aplikaci uucoursekit, jenž je vzdělávacím systémem na bázi kurzů. Hlavní uusubapp Course je typu N a každá jednotlivá instance, identifikovaná svým awid, reprezentuje každý jednotlivý kurz. Druhá uusubapp SME slouží jako centrální evidence studentů. Tato uusubapp je tedy jednoinstanční a s označením Obrázek 6: Dekompozice referenční aplikace uucoursekit Zdroj: 25 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 35

36 3 Technologie v uuapp V této kapitole naváži na dekompozici uuapp a představím nejdůležitější technologie UAF, které již představují samotný zdrojový kód aplikací navrhovaných a implementovaných v technologii UAF. Již z předchozí kapitoly o uuapp Frameworku vyplynulo, že uuapp se skládají ze dvou logických částí, a to z klientské, tedy té části systému, kterou používají uživatelé, respektive různé uuidentity, a ze serverové, která obsahuje aplikační business logiku a perzistenci. Vývoj obou částí může probíhat nezávisle na sobě. Obě části uuapp Frameworku mohou být také použity v projektu samostatně, tedy nad UAF můžeme vytvořit jen klientskou část aplikace, nebo pouze serverovou, v té nemusíme nutně využít defaultní perzistenci uuappdatastore, ale libovolnou databázovou technologii. Kapitola tedy obsahuje dvě hlavní podkapitoly a reflektuje technologie klientské a serverové části, ve třetí podkapitole popíši komunikaci mezi klientskou a serverovou částí uuapp. 3.1 Klientská část uuapp Tu část aplikace, kterou používají uživatelé, nazýváme klientskou, nebo také front-endem. Jak jsem již uvedl, nad UAF lze stavět například jen tuto část a napojit ji na serverovou část informačního systému založeném na jiné technologii. V této práci se však zabývám návrhem aplikace kompletně nad UAF Single Page Application V první řadě je zapotřebí uvést trend, který v současnosti definuje způsob, jakým uživatelé aplikace a informační systémy používají, a z toho vyplývající technologie, kterými vývojáři na potřeby uživatelů reagují. Jak jsem již uvedl, ve více než 60% případů uživatelských interakcí s aplikacemi využívají uživatelé mobilní zařízení. Ta mají svá specifika, zejména způsob ovládání pomocí dotykových obrazovek a potřebu datové efektivity z důvodu mobilního připojení k síti internet, jelikož v dnešní době je již standard, že aplikace komunikuje online s okolním světem. Je tedy žádoucí, aby byl datový provoz mezi klientem a serverem co nejefektivnější. V klasické MVC architektuře je uživateli posílána při každém kliknutí na odkaz nová HTML stránka, obsahující často již data posílaná ve stránce předchozí. Jednoduše řečeno, při jakékoliv interakci uživatele se systémem byla posílána znovu veškerá data pro vykreslení nové obrazovky. Single Page Application (SPA) je přístup, kdy je uživateli při prvním načtení aplikace poslána HTML stránka se uživatelským vstupním bodem (uu5uve), obsahující 36

37 např. nějakou domovskou stránku. V té chvíli vstoupil do aplikace a v jednoduchých případech tuto stránku již neopustí, i když se z jeho pohledu pohybuje na další části aplikace. Tedy uživatelské rozhraní se načte jen jednou, další průchod aplikací jen načítá další potřebná data ze serveru. Layout SPA se obvykle skládá z více částí, některé se však nemění (menu a navigace aplikace, záhlaví či zápatí) a zde nastává značná datová úspora v komunikaci se serverem. Další části aplikace se pak dočítají dynamicky dle potřeby, ovšem jedná se často o datově nenáročné JSON soubory, které blíže popíši v podkapitole komunikace klienta a serveru. Omezení potřeby všechna data neustále stahovat ze serveru výrazně zlepšuje také uživatelskou zkušenost, SPA běžící v prohlížeči mohou být k nerozeznání od nativních aplikací. 26 Pochopení tohoto principu je nezbytné proto, aby mohl uuappdesigner správně navrhovat klientskou část uuapp, jelikož přístup SPA je v uuapp Frameworku klíčový Responzivní design Responzivita je v dnešní době naprostou samozřejmostí, pokud mají uživatelé chtít aplikaci rádi používat. Opět se odkáži na více než 60% podíl mobilních zařízení v přístupu k aplikacím. Rozměry obrazovek těchto zařízení mají velký rozsah, od nejmenších mobilních telefonů, přes tablety, které mají také různé velikosti, až po desktopová zařízení, která samozřejmě také nelze opomenout. V minulosti se pro tyto různá zařízení tvořil front-end zvlášť, vedlo to však k nekonzistenci v uživatelské zkušenosti, jelikož jeden uživatel může v různých případech přistupovat k aplikaci z více typů zařízení a některé aplikace byly v klientské části pro různá zařízení naprosto odlišná. Navíc nejde pouze o rozměry obrazovek, různá zařízení jsou také různě ovládána (mobilní telefon dotykem, PC myší či klávesnicí). Vývoj takto oddělených různých front-endů je také finančně a časově náročný, je také delší proces změny, atd. V UAF je cílem, aby se front-endy stavěly z již připravených komponent, které jsou responzivní defaultně. Pokud jsou pro projekt uuapp vytvářeny komponenty vlastní, jsou pro jejich grafické prvky ve většině případů požity ty již připravené, tedy UAF řeší do značné míry responzivitu za vývojáře. 26 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=spa 37

38 Řada principů v typografii a responzivitě byla převzata z frameworku Bootstrap. 27 Bootstrap definuje 5 mezních velikostí zařízení podle jejich šířky v pixelech, a to XS, S, M, L a XL (znázorněno na obrázku 7). Rozděluje obrazovku do pomyslných dvanácti sloupců a v komponentách, ze kterých obrazovku tvoříme, definujeme pro jednu z pěti velikostí počet sloupců, které komponenta na odpovídajícím zařízení bude zabírat. Responzivita neřeší pouze šířku komponenty, ale také vzájemné uspořádání všech zobrazených komponent a v neposlední řadě také jejich styl nebo vzhled (např. na PC jsou velká tlačítka s popisem, na mobilním telefonu jen ikona s obrázkem, který jasně udává účel tlačítka). 28 Obrázek 7: Mezní rozměry obrazovky zařízení dle frameworku Bootstrap Zdroj: Obrázek vytvořil autor z obrázků dostupných na adrese main/ ed11ec db0aa295ad6c00178/book/page?code=basicsofresponsivity Knihovna komponent uu5 Klíčovým problémem, na který se knihovna uu5 zaměřuje, je rychlý a efektivní vývoj uživatelského rozhraní, které má ale všechny vlastnosti progresivní webové aplikace. 29 Knihovna uu5 je založena nad frameworkem React od společnosti Facebook a grafickým systémem Material Design od společnosti Google. React, postavený na JavaScriptu a HTML5, zajišťuje velice rychlý vykreslovací engine a podporu nejmodernějších standardů webového vývoje. Material Design patří mezi nejpoužívanější standardy v oblasti responzivity, typografie a celkové vizuální stránky grafických rozhraní. Zásadní výhodou z hlediska dlouhodobého rozvoje je fakt, že klientská část uuapp běží v prohlížeči koncového zařízení a je tak platformě zcela nezávislá. Není třeba vyvíjet 27 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=abstract_00 28 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=basicsofresponsivity 29 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=abstract_00 38

39 URI. 31 Samotná knihovna uu5 je postavena na uuapp Frameworku a je tedy sama určitým front-end pro jednotlivé typy zařízení a různé jejich operační systémy. Všechna zařízení jsou obsloužena z jednoho zdrojového kódu, což značně zrychluje vývoj i další rozvoj aplikace. Dle analýzy Unicornu je takovýto vývoj front-endu minimálně o 50% rychlejší než klasický postupům vývoje platformě závislých aplikací. 30 Elementární jednotkou knihovny uu5 je komponenta (uu5component). Komponentový přístup vychází právě z Reactu. Komponentou se rozumí prvek ve stránce či aplikaci, který má vlastní funkčnost. Komponenta se může skládat z jiných komponent, HTML elementů a JavaScriptového kódu. Komponenty mohou mít jak grafickou podobu, tak pouze nějakou funkčnost bez grafického zobrazení. Mohou mít v sobě složitou logiku a výpočty nebo jen zobrazovat jim předaná data. Mají životní cyklus a vnitřní stav, čímž lze komponenty kontrolovat a řídit, jak se v dané fázi svého životního cyklu a stavu mají chovat. Komponentou může být základní rozvržení celého okna uuapp, jednotlivá sekce obrazovky (menu, záhlaví, hlavní obsah stránky), tlačítko nebo vstupní pole formuláře. Jakýkoliv logický prvek může být samostatnou komponentou. Samotná knihovna uu5 obsahuje více než 70 již připravených komponent, ze kterých lze stavět front-endy jednoduše jako digitální stavebnici. Pokud vlastní komponentu registrujeme v centrálním registru komponent uu5libraryregistry, mohou naše komponenty ihned využívat vývojáři zcela jiných uuapp toto je klíčová výhoda a vlastnost podporující principy UAF. Pro účely technické dokumentace, kterou řeší tato práce, je třeba představit speciální typ uu5 komponenty a tou je uu5route. Její potřeba pramení z principu SPA, která běží v prohlížeči zpravidla z jedné HTML stránky, tedy nelze se v takové aplikaci (zejména, jedná-li se o webovou prezentaci) navigovat v historii tlačítky zpět a vpřed. Nelze také používat či sdílet URI odkaz na konkrétní významný vizuální případ užití, jelikož vše běží z jedné fyzické URI. Pro tento případ obsahuje uu5 komponentu Router, která poskytuje podporu routování, tedy možnost adresovat vybraný případ užité pomocí typem uuapp. 30 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=abstract_00 31 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=spa_router_01 39

40 3.1.4 Další knihovny komponent pro tvorbu uživatelských rozhraní Knihovna uu5 je základní knihovnou komponent pro stavbu front-endů uuapp, avšak existuje mnoho dalších knihoven komponent, které jsou pro uuapp využitelné. Všechny knihovny komponent vychází z uu5. Některé z nich jsou použity pro tvorbu technické dokumentace (Design) nebo budou využity přímo v navrhované aplikaci, proto níže uvádím přehled a popis: uu5libraryregistry centrální registr uu5 komponent. Plus4U5 knihovna pro vývoj uživatelského rozhraní uuapp. uu5codekit komponenty pro zobrazení a úpravu zdrojového kódu. uucontentkit grafické komponenty pro tvorbu obsahu. uuappdesignkit komponenty pro tvorbu technické dokumentace uuapp. uu5math umožňuje psát matematické výrazy do uu5. uu5paramquery umožňuje vytvářet tabulky pomocí externí knihovny třetí strany ParamQuery Grid Pro. uuproductcatalogue komponenta pro zobrazení náhledů jiných technických dokumentací a odkazování na ně. uu5imaging komponenty pro práci s obrázky. uu5calendar knihovna pro práci s kalendářem. uu5datatable tabulka přijímací velké množství dat s možností filtrování atd. uu5tree umožňuje uživatelsky přívětivou manipulaci s datovou strukturou. uu5chart vykreslování grafů na základě přijatých dat. uu5tiles umožnuje práci s rozsáhlými a responzivními seznamy dlaždic. uuplus4u5files komponenty pro snadnou a uživatelsky přívětivou práci se soubory. uu5richtext umožňuje základní editaci a formátování textu (WYSIWYG) Serverová část uuapp Tu část aplikace, se kterou uživatelé nepřijdou do styku a odehrává se zde veškerá aplikační business logika a jsou zde perzistentně ukládána data, nazýváme serverovou, 32 Kolektiv autorů. Knihovna uu5 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: ed11ec db0aa295ad6c00178/book/page?code=booksuaf 40

41 nebo také back-endem. Stejně jako v případě klientské části, nad UAF lze stavět například jen tuto část a napojit na ni front-end založený na jiné technologii. Serverová část je v UAF reprezentována knihovnou uuappserver. Jedná se o velice komplexní problematiku, pro potřeby uuappdesignéra je však nutná znalost základních principů a komponent které v této podkapitole přestavím. uuapp Framework nabízí čtyři implementace uuappserveru pro programovací jazyky NodeJS, Ruby, Java a.net. Z hlediska Designu uuapp však není zvolená serverová technologie rozhodující a obecné principy jsou pro všechny implementace společné. Tedy spíše jako zajímavost uvedu, že back-end aplikace Lovecký klub bude s největší pravděpodobností implementován na technologii NodeJS, jenž je preferovanou technologií v rámci UAF, jednak pro svoji současnou oblibu, tak výhody, jako je společný jazyk s front-endem (JavaScript), odlehčenost zdrojového kódu a nativně podporované asynchronní operace uuappserver Logická struktura uuappserveru se skládá zejména ze tří důležitých konfiguračních souborů ve formátu JSON a nezbytných adresářů: mapping.json struktura definující jednotlivé případy užití (uucmd, uu5uve, uutuc) a jejich mapování na příslušné metody příslušných controllerů (z uuuri na metody) profiles.json struktura definující uuappprofily a jejich přiřazení k příslušným případům užití persistence.json definuje schémata všech použitých datových úložišť. Controllers balíček obsahující controllery. Ty slouží k definici API a jsou důležité pro zajištění případné zpětné kompatibility, jelikož není žádoucí udržovat API v modelu, např. z důvodu potřeby úpravy API. Models balíček s modely. V modelech se odehrává veškerá aplikační business logika. DAO balíček se všemi DAO pro ukládání perzistentních objektů (uuobject či uubinary). Zajišťuje přístup k datovým úložištím a CRUD operace (zejména uuobjectstore a uubinarystore). Errors balíček pro výjimky uuapp. 41

42 Standard Libraries obsahuje další nezbytné nebo případně doplňkové knihovny, které se obvykle automatizovaně přidávají do výsledného kódu, ze kterého se skládá uuappserver. 33 uuappserver poskytuje prostředí pro volání případů užití. Tyto případy užití obvykle představují operace spojené s konkrétním uuobject. Slouží jako abstrakční vrstva pro implementaci funkcionalit, jako je vazba na komunikační protokol HTTP, správa autorizace a autentizace, což umožňuje vývojářům zaměřit se více na řešení konkrétních business problémů než na obecné implementační funkce, které se více méně opakují v každém projektu. 34 Tyto komponenty poskytované uuappserverem jsou: uuappclient poskytuje API pro vzdálené volání uucmdům např. z jiných uuapp. Routing obsahuje uuuri, klíčovou komponentu uuapp architektury. Souží pro adresování funkcionalit uuapp. Command Protocol zajišťuje komunikaci mezi klientskou a serverovou částí uuapp pomocí datových struktur dtoin a dtoout. Validation poskytuje validace vstupních dat, definuje datové typy uuapp. Error Handling zajišťuje vypořádání se s chybami během provozu uuapp. Chyby a varován ukládá do struktury dtoout v jeho povinné části uuapperrormap. Authentication poskytuje autentizaci uživatele na základě jeho uuidentity. Authorization poskytuje autorizaci na základě porovnání uuidentity volajícího a definovaných práv ve struktuře profiles.json. Configuration slouží jako centralizovaná konfigurace uuapp, kde je vhodné konfigurovat např. komponenty, externí zdroje (připojení k databázi atd.), oprávnění externích služeb nebo konfiguraci nezbytnou pro start aplikace. Monitoring zajišťuje monitorování aplikace a to zejména na úrovni uucloudu (využití zdrojů), uulogstore (veškeré logy spuštěné uuapp) a dalších. Cache zajišťuje správu mezipaměti Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 34 Kolektiv autorů. Knihovna uuappserver - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 35 Kolektiv autorů. Knihovna uuappserver - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 42

43 3.2.2 Datové úložiště uuappdatastore uuappserver obsahuje implementaci perzistentního ukládání dat, jelikož však není perzistence na aplikační business logice přímo závislá, popisuji ji odděleně. Datové úložiště v UAF je realizováno na preferované technologii MongoDB, což je nerelační (též souborový) databázový systém. V současnosti je tento typ databází velice oblíbený ve spojení s cloudem, jelikož takový databáze je velice jednoduše horizontálně škálovatelná. Technologie je postavená na BSON dokumentech (binární forma JSON) a tedy lze měnit datovou strukturu kdykoliv během provoz aplikace. Dokumentový model se snadno mapuje na objekty v kódu aplikace a v neposlední řadě je databáze zdarma a opensource. 36 uuapp může využívat větší množství databází naráz, všechny však musí být definovány ve struktuře persistence.json. Datové úložiště uuappdatastore uchovává a spravuje data aplikace ve formě elementárních a nedělitelných záznamů. Tyto entity jsou spravovány v rámci svého schéma a to je určeno navzájem souvisejícími částmi: strukturou samotná struktura entity limity různá omezení na velikost dat nebo počet instancí indexy pro rychlejší vyhledávání v databázi metodami DAO pro operace nad entitami Rozlišujeme dva typy uuappdatastore, a to uuappobjectstore a uuappbinarystore (viz slovník pojmů). Oba typy úložišť jsou provozovány na technologii MongoDB uucloud uuapp Framework řeší také samotné nasazení a provoz uuapp ve vlastním cloudu. V kontextu této práce a samotného Designu uuapp není uucloud předmětem návrhu uuapp, nicméně uucloud řeší důležitou funkci a tou je adresování uuapp, kterou je třeba zmínit. Adresování probíhá pomocí uuuri, což je dohodnutý formát obecné URI pro potřebu uuapp, využívající REST. Skládá se z hlavičky, textového řetězce reprezentujícího cestu k volanému případu užití a může obsahovat i tzv. tělo (body) 36 MONGODB. What is MongoDB?. Mongodb.com [online] [cit ]. Dostupné z: 37 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 43

44 s přenášenými daty směrem k serveru. Textový řetězec má následující formát: awid}/{usecase} gateway adresa gateway, např. plus4u.net vendor kód vendora (např. provozovatel uuapp) uuapp kód uuapp uusubapp kód uusubapp včetně označení její generace tid identifikátor tenanta, tedy majitele aplikačního prostoru asid identifikátor konkrétní uusubappinstance (kolekce sad specializovaných aplikačních serverů obsluhující jednu provozní instanci uusubapp) awid identifikátor uuappworkspace usecase identifikátor případu užití (uucmd, uu5uve, uutuc, případně požadavek na získání statického zdroje) Komunikace klient server Komunikaci mezi klientem a serverem zajišťují již zmíněné commandy (uucmd). Jedná se o takové případy užití, které volá klient směrem k serveru za účelem volání aplikační business logiky, nejčastěji je součástí případu užit také CRUD operace v perzistentním úložišti dat. Komponenty autentizace a autorizace na straně uuappserveru ověřují, zda může uživatel volání případu užití provést (platí pro uucmd, uu5uve i uutuc). Volaný případ užití zahrnuje REST, v UAF používáme dvě HTTP metody a to GET (operace, které nemají za účelem upravovat data, typicky operace čtení) a POST (pro vše ostatní, jelikož zde často posíláme data v těle požadavku). uucmd typu GET typicky neobsahuje data posílaná na server v těle volání, posílá informace v uuuri ve formě parametrů, nejčastěji se jedná o identifikátory pro vyhledání nějaké informace v databázi. uucmd typu POST naopak obsahuje vstupní data, která jsou posílána v těle volání a v datové struktuře JSON dtoin. 38 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 44

45 Oba typy již mají společná pravidla pro validaci vstupních dat (jsou validována pomocí validačního schéma dtointype) a vždy je jejich výsledkem výstup ve formě 39, 40 dtoout. Zdrojový kód commandů je uložen v části uuappserveru, volán je z klienta. Klientem může být buď uuperson využívající vlastní grafické rozhraní téže uuapp, uuiot či uuee, jiná aplikace, pokud to uucmd umožňuje, případně lze použít jakýkoliv REST klient. Více se budu věnovat commandům v následující kapitole o tvorbě technické dokumentace (designu). 39 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 40 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 45

46 4 Principy tvorby technické dokumentace dle UAF Technická dokumentace v UAF je nazývána design, toto slovo budu dále v textu také pro dokumentaci používat. Jejím autorem je zejména uuapp Designer (zkráceně designer), který musí absolvovat již zmíněné standardizované školení uuapp Designer. V prvotní fázi tvorby designu se designer účastní úvodních schůzek k požadavkům na aplikaci a dle rozsahu projektu buď samostatně, případně ve spolupráci s uuapp Architektem, připraví základní High-Level Concept (HLC) s popisem řešení základních problémů aplikace a business procesů, které uuapp řeší. V pozdější fázi vývoje může také designer komunikovat již s uuapp Developery, kteří v případě potřeby mohou také v omezené míře upravovat design. Jakékoliv změny v designu je však nutno řešit koordinovaně přes interní systém Request Management. uuapp Designér musí kromě principů a technologií pro tvorbu designu znát také samotné technologie uuapp popsané v předchozí kapitole, aby byl jeho návrh co nejvíce proveditelný a efektivní. Čím více technických znalostí UAF a uuapp Frameworku má, tím je design přesnější a detailnější a vývojáři se mohou díky tomu více soustředit na tvorbu samotného zdrojového kódu. Mnoho částí z designu je již částečně připravený zdrojový kód (například schémata uuappobjectstore uuschema, předpisy dtoin včetně jejich validace, dtoout, připravené chybové hlášky uuapp a podobně). Dle standardu UAF je aplikace (uuapp) dokončena, pokud je k ni vytvořena také kompletní technická dokumentace (design). 4.1 Technologie pro tvorbu designu uuapp UAF poskytuje nástroje a knihovny přímo určené pro psaní technické dokumentace. Níže popisuji ty nejčastěji využívané a specializované právě pro design uuapp. Samozřejmě jsou však využívány také další knihovny uu5 komponent, které jsem již zmínil dříve. Možnost používat a kombinovat libovolné komponenty je jednou z hlavních přidaných hodnot UAF Aplikace uubookkit Aplikace uubookkit je primárně určena ke psaní technické dokumentace, ovšem pro své vlastnosti ji lze využít ke tvorbě jakýchkoliv strukturovaných online textů. Aplikaci využívá například i vysoká škola Unicorn College pro tvorbu školního portálu pro studenty a studijních materiálů. 46

47 Každá dokumentace je kniha (book) a skládá se z jednotlivých stránek (page), které lze ještě dělit na sekce (section) sloužící pro logické dělení obsahu stránek. K hlavní navigaci mezi stránkami slouží levé menu, které může autor knihy libovolně přizpůsobit své potřebě. Sekundární navigace umožňuje posun na předchozí nebo další stranu. Hierarchii stránek lze libovolně zanořovat až do šesté úrovně, knihy lze tedy dělit do kapitol a podkapitol. 41 Obrázek 8: Ukázka aplikace uubookkit Zdroj: Snímek obrazovky dostupné na adrese Aplikace uubookkit je zároveň uuapp vytvořená na uuapp Frameworku, pomocí frontend uu5 komponent a uuappserveru. Autoři knih obsah stránek tvoří také pomocí těchto samých uu5 komponent a například nově vytvořené komponenty pro aplikace nebo informační systémy lze často znovu využít zpětně pro psaní obsahu knih, mají-li to logické využití. Aplikace je samozřejmě dle principů UAF plně responzivní a mobile-first. Prochází neustálým vývojem, například ještě v nedávné době znamenala tvorba obsahu stránek kódování pomocí komponent přímo ve zdrojovém kódu, zatím co v současnosti je již k využití novinka uudcc (Dynamic Component Content), umožňující tvorbu obsahu velice uživatelsky přívětivým způsobem Kolektiv autorů. uubookkit - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 42 Kolektiv autorů. uudynamiccomponentcontentg02 - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 47

48 4.1.2 Knihovny komponent uuappdesignkit a uucodekit Knihovna komponent uuappdesignkit Jedná se o uu5 knihovnu obsahující komponenty určené přímo pro technickou dokumentaci (design) uuapp. Standardizace designu uuapp umožňuje všem cílovým skupinám čtenářů snadnou orientaci v její struktuře a nalezení potřebných informací v předem známém formátu. Použití komponent pro specifické, opakující se případy tuto standardizaci podporuje a také usnadňuje tvorbu obsahu designérům, kteří vyplňují v těchto komponentách předem definované části syrovými daty a nemusí se zabývat formátováním výstupu. 43 Knihovna komponent uucodekit uu5 komponenty této knihovny jsou založené na technologii Ace Editor pro psaní a zobrazování zdrojového kódu. Komponent pro psaní kódu obsahují validaci a jsou použity v uuapp uubookkit pro tvorbu obsahu. Komponenty pro zobrazení zdrojového kódu pak slouží v designu pro zobrazení schémat, která popíší v další kapitola o samotném designu uuapp. Komponenty formátují zobrazený kód na základě zvoleného jazyka, na výběr jsou prakticky veškeré programovací, skriptovací i značkovací jazyky. 44 Obrázek 9: Ukázka editoru pro tvorbu obsahu stánky v aplikaci uubookkit Zdroj: Snímek obrazovky dostupné na adrese 43 Kolektiv autorů. uuappdesignkit - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 44 Kolektiv autorů. uucodekit - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 48

49 4.1.3 uubml Draw Aplikace uubml Draw slouží k online vytváření, editaci a zobrazení schémat, která lze vkládat kamkoliv, kde je použita technologie uu5. Aplikace je založená na vizuálním jazyku uubml (Unicorn Universe Business Modeling Language), částečně vycházejícího z jazyka UML. Jazyk však neslouží pouze pro prezentaci technických schémat, ale k prezentaci libovolných myšlenek z jakékoliv sféry. Obsahuje mnoho sad tematických ikon a dalších entit pro znázornění vazeb mezi objekty, popisků a dalšího. 45 Obrázek 10: Ukázka schéma vytvořeného pomocí jazyka uubml Zdroj: Základní pravidla jazyka uubml jsou následující: Barva ikon Znázorňuje významnost entity ve schématu: Objective (zelená) hlavní objekt, zpravidla jen jeden. Highest (žlutá) nejdůležitější entity v diagramu. High (modrá) důležité entity. Normal (šedá) výchozí barva běžných objektů. 45 UNICORN SYSTEMS. Unicorn Universe. Unicorn [online] [cit ]. Dostupné z: 49

50 Low (světle šedá) doplňující entity, zpravidla symbolizující okolí diagramu. Problem (červená) problematická entita v kontextu diagramu. Vysvětlující prvky Textové entity vysvětlující kontext diagramu: Callout často nedílná součást daného diagramu, vysvětlující jeho detail. Anotace doplňující popisek. Blok vizuálně sdružuje související prvky diagramu, čistě pro zvýšení srozumitelnosti. Label menší ikona v horním rohu ikon doplňující přesný význam ikony v určitých případech. Vazby mezi objekty Podobně jako v jazyce UML, v uubml jsou definovány tyto vazby mezi objekty: Asociace 1:n spojuje právě jeden objekt A s více objekty B. Asociace 1:1 spojuje právě jeden objekt A s právě jedním objektem B. Asociace m:n spojuje více objektů A s více objektů B pomocí vazebních objektů. Agregace 1:n objekty B jsou nedílnou součástí objektu A. Pokud objekt A zaniká, zanikají také objekty B. Agregace 1:1 objekt B jsou nedílnou součástí objektu A. Pokud objekt A zaniká, zaniká také objekt B. 46 Další pravidla jazyka uubml popíši u konkrétních schémat a diagramů v kapitole o struktuře designu uuapp. 4.2 Struktura designu uuapp V uuapp Frameworku je několik definovaných a standardizovaných typů knih a to technická dokumentace uuapp, uživatelská dokumentace uuapp, technická dokumentace knihovny a uživatelská dokumentace knihovny. V této kapitole představím právě strukturu technické dokumentace uuapp (design), kterou se tato práce zabývá. 46 Kolektiv autorů. Knowledge Base - Dokumentace. Unicorn [online] [cit ]. Dostupné z: 50

51 Kniha je určena všem kompetentním rolím, které působí v celém životním cyklu aplikace. Tedy od myšlenky, až po provoz. Struktura knihy a rozvržení stránek je logicky odvozeno od komplexního procesu, který životní cyklus uuapp doprovází. Respektuje jednotlivé fáze vývoje a provozu Vítejte Povinná stránka každé knihy. Obsahuje přesný název aplikace, ke které se vztahuje, její stručný popis, označení generace a odkaz na GIT repositář se zdrojovými kódy. Dále stručný popis knihy samotné, její určení a diskuzní fórum Obsah Povinná stránka každé knihy, obsahuje strukturovaný seznam jejích kapitol a stránek. Obsah knihy je generován automaticky pomocí komponenty UuBookKit.Bricks.Contents Abstrakt Volitelná stránka, slouží čtenáři zejména pro rychlou orientaci v knize, případně stručně pojednává o jejím účelu a podobně Předmluva Volitelná stránka, obsahuje úvodní slovo autora dokumentace Koncepty Volitelná kapitola. Samostatné podstránky mohou vysvětlovat základní principy a myšlenky, na kterých je aplikace založena Business model Povinná stránka technické dokumentace uuapp. Popisuje obchodní (business) problematiku aplikace pomocí okomentovaných uubml schémat. Obsahuje sekci s vysvětlením základních pojmů či entit v aplikaci, dále seznam hlavních procesů, uživatelských rolí a seznam případů užití (business use case). 48 Aplikace v UAF navrhujeme na základě myšlenky Use-Case Driven Approach. Na aplikaci nebo informační systém nahlížíme jako na soustavu funkčností (use case, 47 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 48 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 51

52 případ užití) řešících konkrétní problematiku uživatelů, seskupených do logických skupin (aktéři). Po návrhu entit aplikace tedy postupně navrhujeme tyto jednotlivé případy užití. Z toho důvodu se jeví definování business use casů jako klíčové uuappstructure Povinná stránka technické dokumentace uuapp. Popisuje základní dekompozici uuapp na uusubapp včetně jejich datových perzistentních úložišť. Dekompozice je popsána na obrázku 6 v kapitole uusubapp Povinná kapitola technické dokumentace uuapp, je také nejrozsáhlejší, jelikož obsahuje samotný návrh jak serverové, tak klientské části. Jak jsem již uvedl, uuapp je spíše abstraktní aplikace seskupující jednu či více uusubbapp, teprve ty jsou již definovány zdrojovým kódem. Stránka obsahuje základní popis uusubapp, uživatelských profilů a uu5uve, seznam commandů (uucmd) s popisem, odhadem pracnosti a jejich implementační prioritou, seznam externích commandů, které uusubapp využívá a seznam všech uuappdatastore. Kapitola má následující strukturu: uuappobjectstore obsahuje diagram schémat objektového úložiště s jejich vazbami a popisem. o uuschema každá entita reprezentována uuobjectem, která je perzistentně uložena v databázi, má vlastní podstránku. Ta obsahuje popis entity, diagram s vazbami na další entity, samotný předpis pro schéma v databázi, návrh limit, indexů a DAO metod pro komunikaci mezi modelem a perzistentním objektovým úložištěm. 50 uuappbinarystore zpravidla obsahuje odkaz na obecnou dokumentaci uuappbinarystore, jelikož již obsahuje připravená schémata a DAO metody pro běžné binární typy souborů. uucmdlist obsahuje seznam všech commandů (uucmd) navržených pro uusubapp. 49 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 50 Kolektiv autorů. uuapp Framework. Unicorn [online] [cit ]. Dostupné z: 52

53 o uucmd každý uucmd má vlastní podstránku, která obsahuje základní popis, schémata pro vstup (dtoin), validaci dtoin a výstup (dtoout), výchozí hodnoty, happy day scénář (hds) popisující průběh commandu v ideálním případě, seznam alternativních scénářů a jejich chybových hlášek pro případy, kdy se hds odkloní od ideálního průběhu. uu5uvelist kapitola obsahující klientskou část uusubapp (front-end). Na stránce je seznam všech uu5uve a jejich popis. o uu5uve každý uu5uve má vlastní podkapitolu. Na této stránce je detailně popsán, včetně seznamu jeho uu5route, diagramu komponent, ze kterých je složen a obsahuje technické detaily, které až během implementace doplňují vývojáři, jelikož design neslouží pouze k návrhu aplikace pro vývoj, ale také ji zároveň dokumentuje. uu5routelist obsahuje seznam všech uu5route. uu5route každá uu5route má svou vlastní podstránku se základními informacemi, diagramem komponenty a technických detailů. Může obsahovat mock up nebo grafický návrh. uu5componentlist obsahuje seznam všech uu5 komponent, které jsou pro aplikaci vyvíjeny. uu5component každá uu5 komponenta má svou podstránku se stejnými údaji jako stránka pro uu5route. V praktické části práce tyto stránky detailně popíši na konkrétních příkladech, které vyberu z mnou vytvořeného designu aplikace Lovecký klub, jenž je nedílnou částí této práce Deployment, provoz Povinná kapitola technické dokumentace uuapp, tvoří se však až v průběhu implementace. Osahuje níže uvedené podstránky: Produkční nasazení popisuje proces nasazení uuapp do produkce. Lokální nasazení popisuje proces nasazení uuapp lokálně. Inicializace aplikace popisuje proces inicializace uuapp. 53

54 Vývojové prostředí Volitelná kapitola technické dokumentace uuapp, popisující například specifika nastavení vývojového prostředí, doporučené aplikace třetích stran pro vývoj či testování a podobně Návody Volitelná kapitola technické dokumentace uuapp. Jednotlivé podstránky mohou obsahovat různé návody či doporučení. Obsah není stadnardizován Komponenty Volitelná kapitola, obsahuje seznam komponent, které autoři aplikace považují za znovu použitelné v jiných aplikacích. Samostatné podstránky popisují jednotlivé uu5 komponenty navržené v rámci aplikace. Zveřejněny zde mohou být jen již plně funkční komponenty, aby je bylo možno v jiných aplikacích skutečně použít Release Notes Povinná kapitola technické dokumentace uuapp, vniká až po nasazení do produkce. Obsahuje následující podstránky: Licence pojednává o licenci aplikace. Major verze jednotlivé stránky popisují změny a opravy ve verzích aplikace. Dělí se na sekce s minor verzemi a patchy V přípravě Volitelná kapitola. Obsahuje rozpracované stránky knihy, které budou po dokončení zařazeny do struktury knihy O knize Povinná kapitola. Obsahuje velice stručné shrnutí účelu knihy a obsahuje seznam nejdůležitějších autorů aplikace či systému (vedoucí role projektu, designéry, vývojáře a další). Může obsahovat také rok vydání, vydavatele a ISBN O aplikaci uubookkit Povinná kapitola. Obsahuje základní informace o aplikaci uubookkit, jejích autorech a použitých technologiích. 54

55 5 Představení problematické domény lovectví Návrh aplikace vyžaduje znalost problematické domény na potřebné úrovni. Je zapotřebí seznámit se s prostředím zákazníka, hlavními procesy, aktéry a jednotlivými případy užití. Sám klient má vlastní specifické požadavky, nutno je také brát v úvahu vnější omezení, která nelze ovlivnit, například legislativa, normy a zvyky vztahující se k dané problematice. V této kapitole představím základní pojmy a principy lovectví, potřebné pro návrh aplikace Lovecký klub. 5.1 Základní pojmy Lovectví a myslivost Lovectví je jednou z nejstarších činností člověka. Lovecký úspěch je závislý na znalosti lovené zvěře a prostředí. Bylo by tedy vhodné, aby aplikace poskytovala také základní informace jak o lovné zvěři, tak prostředí. Myslivost znamená souhrn znalostí a činností, kterými lidé záměrně upravují poměr k volně žijící zvěři. Problematikou se zabývá zákon o myslivosti a aplikace bude navržena v souladu s tímto zákonem. Aplikace je primárně určena ke správě a plánování lovů a evidenci úlovků a lovců, nicméně v další etapě je možno ji rozšířit také o správu honitby ve smyslu podrobné evidence a výkaznictví Honitba Právo myslivosti lze vykonávat pouze na pozemcích k tomu určených, pojmenovaných jako honitba. V honitbě hospodaří fyzická osoba nebo myslivecký spolek, označený jako uživatel honitby. Lov podléhá plánu mysliveckého hospodaření, který každý rok musí správce honitby vypracovat a vykázat. Rozlišujeme rok hospodářský (od do ) a rok myslivecký (lovecká sezóna, začínající lovem sluk a končící lovem černé zvěře) Lovec Dle zákona o myslivosti se lovcem rozumí myslivec účastnící se lovu na zvěř. Lov typu hon vede vedoucí honu, zpravidla hospodář nebo vlastník honitby, další lovečtí účastníci jsou označeni jako lovečtí hosté. Dalšími účastníky lovů jsou pomocné role, jako nabíječi a nosiči zvěře Kolektiv autorů. Penzum znalostí z myslivosti. Praha: Druckvo, 2016, s ISBN

56 5.1.4 Zvěř Pojem zvěř zahrnuje jen ta zvířata z řad savců (zvěř srstnatá) a ptáků (zvěř pernatá), která jsou vyjmenována v zákoně o myslivosti. Z hlediska zákona je zvěř rozdělena na chráněnou (nelze lovit), hájenou (lze lovit jen v určitém období v roce) a nehájenou (lze volit po celý rok). V první fázi návrhu aplikace není na toto rozdělení brán zřetel, je však možno přidat tuto informaci do popisku druhů lovné zvěře Lovecké zbraně Lovecké zbraně se dělí na chladné (ostré, tedy sečné a řezné) a palné (ručnice například kulovnice a brokovnice). K lovu lze používat také další nástroje, jako jsou různé druhy pastí. V aplikace budou všechny tyto nástroje označeny jako zbraň Lovecká kynologie Též psářství neboli věda o loveckých psech, se zabývá jejich chovem, výcvikem a uplatněním při lovu. Lovecky upotřebitelný pes je čistokrevný pes, který složil předepsanou zkoušku z výkonu. Plemena loveckých psů dělíme dle využití na ohaře, přinášeče, slídiče, honiče, barváře a norníky Lovecká zařízení Lovecká zařízení poskytují výhodu lovci při lovu zvěře, zejména výhled z vyvýšeného místa a jistou míru maskování a ochrany před povětrnostními vlivy. Nejčastějším zařízením je posed, žebříky opatřené sedátkem a pozorovatelny. Pro účely aplikace tato zařízení označujeme obecným pojmem stanoviště Způsoby lovu zvěře Cílem lovu je získání úlovku odstřelem (nejběžnější) či odchytem. Podle počtu střelců rozlišujeme lov osamělý a společný (průvodce lovce se nepočítá do seznamu lovců). Společný lov řídí jeho vedoucí. V aplikaci bude za každý lov zodpovídat tzv. organizátor. Druhů lovu je velké množství, pro účely aplikace je seznam zjednodušen na tři základní, které popisuji níže Čekaná Lov osamělý, který se odehrává na konkrétním místě (stanovišti), kde lze očekávat zvěř. 52 Kolektiv autorů. Penzum znalostí z myslivosti. Praha: Druckvo, 2016, s ISBN

57 5.2.2 Šoulačka Osamělý způsob lovu, kdy lovec, často doprovázen loveckým psem, opatrně prochází honitbou. Zahrnuje také stopování Hon Skupinový lov, kterého se musí účastnit minimálně tři lovci a jeden lovecký pes. Zpravidla se jej však účastní větší počet lovců i hostů lovu. Hon se může skládat z několika naháněk nebo lečí. Ty se mohou odehrávat postupně na různých místech v honitbě Překlad pojmů do angličtiny Jelikož zdrojové kódy aplikací navrhovaných a implementovaných v uuapp Frameworku se řídí konvencí psaní v anglickém jazyce, bylo zapotřebí pro tvorbu designu zajistit překlad všech používaných entit (tabulka 2). Tabulka 2: Překlad loveckých pojmů do anglického jazyka Pojem v českém jazyce Lovecký klub Honitba Stanoviště Lov Čekaná Šoulačka Hon Leč Úlovek Druh zvěře Účastnící lovu Lovec Zbraň Lovecký pes Pojem v anglickém jazyce Hunting club Hunting ground Hunting post Hunt Stand hunt Stalking Group hunt Drive hunt Catch Animal species Hunt participants Hunter Gun Hunting dog Zdroj: Vlastní zpracování 53 Kolektiv autorů. Penzum znalostí z myslivosti. Praha: Druckvo, 2016, s ISBN

58 Praktická část 1 Návrh vhodného řešení Cílem této práce je vytvoření návrhu aplikace +4U Lovecký klub formou technické dokumentace podle standardu Unicorn Application Framework. V této kapitole popíši, jak probíhal proces zadání projektu, komunikace se zadavatelem a samotný průběh projektu. 1.1 Zadání a požadavky zákazníka Na úvodní schůzce ze zadavatelem byl definován účel požadované aplikace a základní požadavky. Cílem aplikace +4U Lovecký klub je poskytnout systém pro správu lovů a lovců a evidenci úlovků v rámci jedné honitby. Původní záměr zadavatele počítal s tím, že cílová skupina aplikace budou samotní lovci, kteří by si evidovali své úlovky v rámci více honiteb. V průběhu projektu se však zadavatel aplikace rozhodl zacílit spíše na provozovatele či majitele jednotlivých honiteb, kteří aplikaci využijí pro evidenci své honitby a budou aplikaci dále distribuovat mezi samotné lovce, kteří i po změně záměru aplikace zůstali jako nejpočetnější skupinou uživatelů Hlavní požadavky na aplikaci Hlavním předpokladem akceptace zakázky zadavatelem je, že klientská i serverová část aplikace bude navržena a implementována dle standardu a za užití technologií UAF. V první etapě, kterou se zabývá tato práce, bude zpracována technická dokumentace v takovém rozsahu, aby bylo možno zašít implementaci serverové části v rámci další etapy. Hlavní požadavky zadavatele na aplikaci jsou definovány formou následujících problémů, které má aplikace řešit: Správa honitby. Správa stanovišť v rámci honitby. Správa lovců, jejich zbraní a loveckých psů. Správa lovů. Pokryté typy lovu: číhaná, šoulačka a hon. Evidence úlovků v rámci lovů. Správa druhů zvěře. Profily uživatelů budou Authorities, Executives, Hunters a Guests. 58

59 Zajištění vytvoření uubml ikon a povinné grafiky pro uubookkit Doplňující požadavky na aplikaci Následující požadavky byly definovány v průběhu projektu na pravidelných schůzkách se zadavatelem: Další požadavky na aplikaci: uuapp je typu N a tedy každý awid reprezentuje jednu unikátní honitbu. Front-end profily Hunters vidí všechna data, mažou a editují jen data týkající se jich samotných. Lovec může použít zbraň jiného účastníka lovu. Lov typu hon zakládají jen profily Executives. Založení úlovku: kontrola času lovu (čas úlovku >= začátek lovu čas úlovku <= konec lovu). Stavy lovu active, passive a closed. Následující požadavky jsou ve stádiu nápadu pro rozvoj v dalších etapách: o Úlovek a lov používají zatím pouze stav active (stav closed bude používán do budoucna pro uzavírání loveckého roku v dalších etapách rozvoje). o Statistiky entit grafy. o Práce hospodáře honitby výkaznictví. 1.2 Průběh projektu Dle standardu UAF je projekt vývoje aplikace rozdělen na etapy, které musí mít po dokončení viditelnou přidanou hodnotu pro koncového zákazníka. V tomto případu je tedy první etapa tvorba technické dokumentace, kterým se tato práce zabývá. Etapa byla rozdělena na jednotlivé sprinty o délce jednoho až dvou týdnů, dle aktuální potřeby projektu. Na závěru každého sprintu jsem jako autor návrhu konzultoval aktuální stav se zadavatelem, vzhledem k jeho vytíženosti nejčastěji prostřednictvím jím určených zástupců. Zásadní milníky projektu byly prezentovány a konzultovány s vedoucím bakalářské práce. Průběh etapy lze rozdělit na čtyři logické fáze, které blíže představím v následující kapitole o samotné dokumentaci. Jelikož v UAF probíhá vývoj v neustálých iteracích, jednotlivé části byly zpětně upravovány pro potřeby nově vzniklých částí návrhu: 59

60 Business model bylo zapotřebí definovat základní business problematiku. Kterou aplikace bude řešit. K tomu slouží kapitola dokumentace Business model, obsahující Business schéma, kde jsou znázorněny a popsány všechny entity aplikace a jejich vztahy, role (odpovídající profilům v aplikaci), procesy a jednotlivé případy užití. V této fázi jsem také na přání zadavatele zajistil tvorbu a nasazení nových uubml ikon pro potřeby business modelu a grafickou tvorbu log a přebalů knihy pro dokumentaci v aplikaci uubookkit. Struktura aplikace jakmile byla definována aplikace z business pohledu, začal samotný návrh technického řešení. Vzhledem k rozsahu aplikace je v první etapě zapotřebí dekompozice na jednu uusubapp, která bude využívat jedno objektové a jedno binární perzistentní úložiště. Návrh serverové části logicky jsem nejprve navrhl strukturu schémat perzistence všech entit (uuschema). Zde již bylo zapotřebí získat detailní požadavky na vlastnosti a ukládané informace entit. Po revizích a odsouhlasení zadavatele jsem navrhl veškeré potřebné commandy (uucmd), pokrývající potřeby definované v případech užití. Návrh klientské části front-end aplikaci byl rozebírán již během schůzek k backendu. Se zadavatelem bylo dohodnuto, že aplikace bude mít jedno uu5uve a uu5route pokrývající potřebné procesy definované v business modelu. Zejména v této fázi bylo zapotřebí často upravovat již navržené commandy pro potřeby uživatelského rozhraní. Poté jsem vytvořil mock upy těchto obrazovek a hlavních formulářů. V závěru této fáze již bylo možno etapu považovat za dokončenou. Zejména pro účely této práce jsem pro entitu lovu (hunt) vytvořil návrh všech vizuálních komponent (uu5component). Kompletní návrh všech komponent je však předmětem až dalších etap. 60

61 2 Samotná dokumentace - Rozšířené shrnutí Jak jsem již uvedl v úvodu této práce, její hlavní částí je vypracovaná technická dokumentace aplikace +4U Lovecký klub (design). UAF jasně předepisuje použití nástroje uubookkit pro tvorbu dokumentace, tedy i dokumentace vytvořená pro účely této práce se nachází v aplikaci uubookkit. Odkaz na technickou dokumentaci se nachází pod QR kódem na obrázku 11. Export celé dokumentace do formátu PDF je nedílnou součástí této práce jako její příloha A. V této kapitole shrnu její obsah a představím její nejdůležitější nebo nejzajímavější části. Obrázek 11: QR kód odkazující na technickou dokumentaci aplikace +4 Lovecký klub 2.1 Business Model Zdroj: Vlastní zpracování V této části dokumentace je důležitý diagram Business schema, který znázorňuje všechny entity aplikace a jejich vztahy (obrázek 12) a na který navazují další schémata, např. ta k persistenci. Sada uubml ikon s názvy šoulačka, hon, leč a stanoviště byla vytvořeny přímo pro potřeby této dokumentace. 61

62 Obrázek 12: Business schema - Lov Entity z obrázku 12 jsou popsány v tabulce 3. Zdroj: Vlastní zpracování Tabulka 3: Popis entit Business schema Název Honitba Lov Popis Hlavní entita aplikace. Pozemek či oblast, ve které probíhají lovy. Honitba obsahuje libovolné množství stanovišť. Eviduje jméno honitby a její stavy: "active" - plně funkční stav bez omezení funkcionalit, "passive" - na objektech nelze provádět operace CUD, možný pouze Read, "warning" a "problem" - informativní charakter pro využití v dalších etapách vývoje, "closed" - uzavřená honitba, nelze provádět žádné operace na objektech uvnitř aplikace ani je číst. Událost, kdy účastnící lovu loví zvěř. Rozlišujeme typy lovu čekaná, šoulačka a hon. Lov probíhá na území honitby. Eviduje zejména úlovky a účastníky lovu. Lovu se navíc můžou zúčastnit hosté, kteří při lovu neloví zvěř. 62

63 Čekaná Šoulačka Hon Leč Úlovek Druh zvěře Stanoviště Účastnící lovu Lovec Zbraň Lovecký pes uuidentity Potomek lovu, kterého se účastní alespoň jeden lovec. Ten vyhledává vhodné stanoviště, kde čeká, až se mu zvěř objeví. Čekaná se odehrává na konkrétním stanovišti. Potomek lovu, kterého se účastní alespoň jeden lovec. Lovec se pohybuje honitbou a vyhledává kořist. Úlovek tak nemusí být vázán na konkrétní stanoviště. Potomek lovu, kterého se účastní minimálně tři lovci a minimálně jeden lovecký pes. Hon se skládá z jedné či více lečí. Jedná se o samotný jeden lov v rámci honu, dílčí událost honu. Hlavní entita, cíl lovu. Úlovkem je právě jeden typ zvěře, náležící právě jednomu lovci (určeného metodou "První kule, poslední brok") a konkrétní GPS souřadnici, případně konkrétnímu stanovišti v honitbě. Obsahuje veškeré informace o úlovku. Obsahuje seznam možné lovné zvěře s hlavními informacemi o dané zvěři. Pokud je druh zvěře ve stavu "closed", nelze jej již přiřadit novému úlovku, ale u stávajících úlovků zůstává zobrazen. Místo na mapě, definované souřadnicemi GPS, náležící do honitby. V honitbě je zpravidla více stanovišť. Jedná se např. o posed či jinak definovaný bod na mapě. Entita seskupující veškeré účastníky lovu, tedy lovce a lovecké psy. Entita je součástí lovu. Hlavní účastník lovu a hlavní uživatel aplikace. Eviduje lovy, kterých se zúčastnil, úlovky, zbraně, lovecké psy a vybrané statistiky. Patří konkrétnímu lovci a je nezbytný pro získání úlovku. Lovec může k uskutečnění úlovku použít zbraň jiného účastníka lovu. Účastník lovu, patří konkrétnímu lovci. Nezbytný pro lov typu hon. Majitel loveckého psa nemusí být účastníkem lovu. Unicorn Universe ID, unikátní identifikátor lovce. Zdroj: Vlastní zpracování Business role a procesní dekompozice Z business modelu bych rád zmínil ještě business role a hlavní procesy, které aplikace řeší (obrázek 13). Seznam business případů užití lze dohledat v dokumentaci (kapitola Business model). 63

64 Obrázek 13: Business role a procesní dekompozice Zdroj: Vlastní zpracování Business role jsou popsány v tabulce 4 a procesy v tabulce 5 níže. Tabulka 4: Popis business rolí aplikace Název AwidOwner Authorities Executives Hunters Guests Popis Reprezentuje uživatele, kteří mohou zřídit instanci honitby, inicializovat ji pro další užívání a případně instanci honitby zrušit. Obvykle bude tyto uživatele reprezentovat specifikovaný uuee. Reprezentuje majitele loveckého klubu. Reprezentuje skupinu uživatelů, kteří mohou kvalifikovaně spravovat Lovecký klub a honitbu (vytvářet, aktualizovat, rušit lovce, zbraně, lovecké psy, stanoviště, druhy zvěře, lovy a úlovky všem lovcům). Reprezentuje skupinu uživatelů, kteří mohou kvalifikovaně spravovat (vytvářet, aktualizovat, rušit) lovy a úlovky v rámci svého profilu. Správa lovu zahrnuje také správu jeho účastníků. Reprezentuje skupinu uživatelů, kteří si mohou pouze zobrazovat statistiky o lovcích a jejich loveckých statistikách, zbraních, loveckých psech, lovech, úlovcích, druzích zvěře, honitbě a stanovištích. Zdroj: Vlastní zpracování 64

65 Tabulka 5: Popis business procesů aplikace Název Správa aplikace Správa Loveckého klubu Správa lovů a úlovků Čtení obsahu Popis Proces zajistí vytvoření instance honitby a její plnou přípravu k dalšímu použití. Honitba bude ve stavu "active", kdy je již možno spouštět další procesy. Umožňuje změnu parametrů honitby. Proces zajistí CRUD operace uživatelů loveckého klubu, lovců, zbraní, loveckých psů, stanovišť a druhů zvěře. Proces zajistí CRUD operace lovů a úlovků. Proces zajistí uživatelům zobrazení informací o lovcích a jejich loveckých statistikách, zbraních, loveckých psech, lovech, úlovcích, druzích zvěře, honitbě a stanovištích. 2.2 Struktura aplikace Zdroj: Vlastní zpracování Obrázek 14 znázorňuje topologii aplikace +4U Lovecký klub. uuapp +4U Lovecký klub se skládá u jedné uusubapp s názvem main, která využívá jedno objektové perzistentní úložiště s názvem primary a jedno perzistentní úložiště binárních dat (zejména obrázky) s názvem Binary. Profily aplikace odpovídají business rolím v business modelu. Aplikace je navržena tak, že profily poskytují práva uživatelům na konkrétní procesy (respektive skupiny případů užití) a tedy jeden uživatel může být obsazen ve více profilech. Obrázek 14: Topologie aplikace Zdroj: Vlastní zpracování 2.3 Serverová část Tato část technické dokumentace se nachází v nejrozsáhlejší kapitole s názvem uusubapp main, která kompletně popisuje technickou stránku aplikace. Serverovou částí se zabývá podkapitola uuappobjetstore primary (popis struktury objektového persistentního úložiště) a podkapitola uucmd List (popis commandů navržených pro aplikaci). 65

66 2.3.1 uuappobjectstore primary Kapitola obsahuje jednotlivá schémata persistence (uuschema) strukturovaných dat (uuobject). Objekty a jejich vazby odpovídají entitám v business modelu, není zapotřebí je tedy znovu popisovat. Obrázek 15 znázorňuje strukturu schémat objektového úložiště. V obrázku vyobrazené objekty se značkou složených závorek {} značí, že takovýto objekt má popsané vlastní schéma. Například schéma Hunt participants je dle schématu součástí schéma Hunt. Obrázek 15: Schema diagram objektového úložiště primary Zdroj: Vlastní zpracování Jednotlivá schémata objektů obsahují základní popis entity, pro kterou je schéma určeno, zdrojový kód schématu v jazyce JavaScrip, který je již použitelný v samotné implementaci úložiště při vývoji (ukázka v obrázku 16) a seznam limitů, indexů a DAO metod pro dané schéma. 66

67 Obrázek 16: Ukázka zdrojového kódu schéma Hunt - type T02 Zdroj: Vlastní zpracování Obrázek 15 znázorňuje zdrojový kód schématu pro objekt lovu (hunt), konkrétně pro lov typu šoulačka. Návrh obsahuje strukturu schématu včetně klíčů a popisem jejich hodnot. Zásadní výhoda návrhu schéma designérem uuapp je ta, že šetří čas vývojářů, kteří se nemusí návrhem struktury schéma již zabývat uu5cmd List Kapitola obsahuje stránky s jednotlivými commandy (uucmd), Každý návrh commandu obsahuje jeho základní informace (důležité je zejména definování profilu, který má právo uucmd volat), zdrojové kódy vstupu (dtoin), validace dtoin, a výstupu (dtoout), seznam výchozích hodnot, které nejsou povinné v dtoin a program je doplní sám, happy day scénář s hlavním tokem commandu, alternativní scénáře a seznam možných výjimek, které mohou při vykonávání commandu na serveru nastat. Rovněž jako v případě návrhu uuschema, také zdrojové kódy z návrhu uucmd lze rovnou požít vývojáři při implementaci. 2.4 Klientská část Stejně jako serverová část designu, také ta klientská se nachází v nejrozsáhlejší kapitole s názvem uusubapp main, která kompletně popisuje technickou stránku aplikace. 67

68 Klientskou částí se zabývá podkapitola uu5uve List, obsahující seznam uu5uve (uživatelských vstupních bodů). V případě aplikace +4U Lovecký klub je navrženo použití jednoho uu5uve s názvem huntingclub, sloužícího pro vstup do aplikace jak běžným uživatelům z profilů Hunters a Guests, tak správcům loveckého klubu (respektive honitby) z profilů Authorities a Executives. Jak jsem již uvedl, uu5uve slouží jako vstupní bod uživatele do aplikace typu SPA (Single Page Application). Po načtení aplikace je uživatel odkázán na jím zadanou uu5route (adresovatelná část SPA), případně je přesměrován na defaultní, pokud žádnou v URI prohlížeče nezadal. uu5route se dále skládají z vizuálních i nevizuálních uu5 komponent. Popisu navržených uu5route a vybraných uu5component jsou věnovány dvě následující podkapitoly. Ve fázi návrhu aplikace jsou komponenty navrhovány v rozsahu jejich popisu, uubml schéma znázorňující dekompozici na dílčí komponenty (navrhované v aplikaci i ty z již poskytovaných uu5 knihoven) a případně lze může designér vytvořit mock up jejich zamýšleného vzhledu uu5route List Jednotlivé stránky této podkapitoly obsahují popis uu5 komponent typu uu5route. Jsou to komponenty, které lze adresovat pomocí URI, a často obsahují logiku načítání dat ze serveru, která dále předávají podřazeným komponentám, která data již zobrazují, filtrují, případně umožňují uživateli aplikaci dále ovládat (vytvářet, editovat či mazat entity). Obrázek 17 znázorňuje vazby všech uu5route na uu5uve huntingclub a tabulka 6 tyto uu5route popisuje. 68

69 Obrázek 17: Route diagram aplikace Zdroj: Vlastní zpracování Tabulka 6: Popis všech uu5route aplikace Název welcome hunts catches Popis Zobrazí uvítací stránku aplikace. Obsahuje menu ikon s odkazy na další routy pro zobrazení seznamu lovů, seznamu úlovků a seznamu lovců, detail honitby a uživatelům z profilu Hunters je zobrazen také odkaz na detail jejich loveckého profilu. Zobrazí seznam lovů, které lze filtrovat podle data, stavu, lovce, zbraně, loveckého psa a stanoviště. Ze seznamu si lze zobrazit detail lovu. Položky ve stavu "closed" jsou defaultně skryty. Umožňuje profilům Authorities, Executives a Hunters lovy vytvářet, editovat a mazat, Hunters mohou spravovat pouze svoje lovy (kde jsou vedeni jako Organizátor lovu). Zobrazí seznam úlovků, které lze filtrovat podle data, stavu a lovců, zbraně, loveckého psa a stanoviště. Ze seznamu si lze zobrazit detail úlovku. Položky ve stavu "closed" jsou defaultně skryty. Umožňuje profilům Authorities, Executives a Hunters úlovky vytvářet, editovat a mazat, Hunters mohou spravovat pouze svoje úlovky. 69

70 hunters huntingground huntdetail catchdetail hunterdetail gundetail huntingdogdetail huntingpostdetail animalspeciesdetail Zobrazí seznam lovců, které lze filtrovat podle stavu. Ze seznamu si lze zobrazit detail lovce. Položky ve stavu "closed" jsou defaultně skryty. Umožňuje profilům Authorities a Executives lovce vytvářet, editovat a mazat, Hunters mohou své profily editovat. Zobrazí detail honitby včetně seznamů stanovišť a druhů zvěře. Role Executives mohou stanoviště a druhy zvěře spravovat, role Authorities navíc může honitbu editovat. Zobrazí detail lovu včetně jeho účastníků, hostů a úlovků. Profily Authorities, Executives a Hunters mohou lov také spravovat. Zobrazí detailní informace o úlovku a umožňuje rolím Executives a Hunters jeho editaci. Zobrazí detailní informace o lovci, včetně jeho zbraní, loveckých psů, úlovků a lovů, kterých se účastnil. Umožňuje jeho editaci a smazání. Zobrazí detailní informace o zbrani včetně seznamu jejích úlovků. Umožňuje rolím Executives a Hunters její editaci. Zobrazí detailní informace o loveckém psovi včetně seznamu jeho úlovků a lovů, kterých se účastnil. Umožňuje rolím Executives a Hunters jeho editaci. Zobrazí detailní informace o stanovišti včetně seznamu úlovků a lovů, které se na něm uskutečnily. Umožňuje rolím Executives jeho editaci. Zobrazí detailní informace o druhu zvěře včetně seznamu úlovků tohoto druhu. Umožňuje rolím Executives jeho editaci. Zdroj: Vlastní zpracování uu5component List Stejně jako v případě seznamu uu5route, také zde jednotlivé podstránky obsahují popis uu5component navržených pro potřeby aplikace. Obrázek 18 znázorňuje digram dekompozice komponenty HuntingClubReady, která se vykresluje v situaci, kdy se uživateli řádně načtou data honitby a zvolené uu5route. Kromě směrování na konkrétní uu5route pomocí komponenty UU5.Common.Router také komponenta vykresluje samotnou stránku aplikace pomocí 70

71 standardní komponenty Plus4U5.App.Page. Tabulka 7 popisuje jednotlivé části dekomponované komponenty. Obrázek 18: Diagram komponenty HuntingClubReady Zdroj: Vlastní zpracování Tabulka 7: Popis komponent tvořících komponentu HuntingClubReady Název HuntingClubSpaAuth enticated HuntingClubReady goto{route} Plus4U5.App.Page //bottom Popis Nadřazená komponenta, představuje stránku HuntingClub pro přihlášeného uživatele. Navrhovaná komponenta. Metoda rozhraní komponenty HuntingClubReady zajišťující zavolání uživatelem požadované uu5route. Standardní komponenta knihovny Plus4U5 pro vykreslení okna aplikace. Komponenta obsahuje patičku okna aplikace. 71

72 //top //left UU5.Common.Router {route} Komponenta obsahuje hlavičku okna aplikace. Komponenta obsahuje navigační menu aplikace. Standardní komponenta knihovny UU5, která zajišťuje směrování na uu5route. Představuje uživatelem zvolenou uu5route, případně defaultní. Zdroj: Vlastní zpracování Mock up Jak jsem již uvedl, součástí návrhu uu5route nebo uu5component může být také mock up komponenty nebo obrazovky, který napomáhá její vizualizaci. Kompletní přehled mock upů je k nalezení v příloze B, na obrázcích 19 až 23 představím několik z nich. Moc kupy jsou vytvořeny v knize technické dokumentace pomocí knihovny UU5 a dalších knihoven uu5 komponent. Obrázek 19: Mock up - Detail honitby (desktopová verze) Zdroj: Vlastní zpracování 72

73 Obrázek 20: Mock up - Seznam úlovků v honitbě (desktopová verze) Zdroj: Vlastní zpracování Obrázek 21: Mock up - Vytvoření zbraně (desktopová verze) Zdroj: Vlastní zpracování 73

74 Obrázek 22: Mock up - Seznam lovů v honitbě (mobilní verze) Zdroj: Vlastní zpracování Obrázek 23: Mock up - Vytvoření lovu (mobilní verze) Zdroj: Vlastní zpracování 74

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu

Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu Když jde řídit podnik formou SaaS, tak proč by to nemělo jít v případě státu 09. února 2012 Jiří Mráz Přednášející Jiří Mráz Unicorn Systems Generální ředitel jiri.mraz@unicornsystems.eu 2 Agenda Občané

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů.

EMBARCADERO TECHNOLOGIES. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Jak na BYOD chytře? Možnosti zapojování různých mobilních zařízení do podnikových informačních systémů. Trendy a móda EMBARCADERO TECHNOLOGIES Popularita a prodej mobilních zařízení roste Skoro každý má

Více

InternetovéTechnologie

InternetovéTechnologie 8 InternetovéTechnologie webdesign, mobile first Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky Webové stránky a aplikace - Webové stránky - množina vzájemně propojených stránek, které obsahují informace

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Vývoj informačních systémů. Obecně o IS

Vývoj informačních systémů. Obecně o IS Vývoj informačních systémů Obecně o IS Informační systém Informační systém je propojení informačních technologií a lidských aktivit směřující k zajištění podpory procesů v organizaci. V širším slova smyslu

Více

Informační média a služby

Informační média a služby Informační média a služby Výuka informatiky má na Fakultě informatiky a statistiky VŠE v Praze dlouholetou tradici. Ke dvěma již zavedeným oborům ( Aplikovaná informatika a Multimédia v ekonomické praxi

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Komunikace mezi businessem a IT

Komunikace mezi businessem a IT Komunikace mezi businessem a IT 26. dubna 2013 Jiří Mráz Jiří Mráz Unicorn Systems, Generální ředitel, 2009 Unicorn, Main Forces Coordinator, 2003 Unicorn, 1997 Projektové řízení Analýza Testování Vysoká

Více

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace Pořadové číslo dodatečných informací: 14. ČÁST 1: Přesné znění žádosti dodavatele o dodatečné informace Otázka

Více

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura Dílčí architektury Informační systémy - dílčí architektury - EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu 1 Globální Funkční Procesní Datová SW Technologická HW Aplikační

Více

Úvod. Klíčové vlastnosti. Jednoduchá obsluha

Úvod. Klíčové vlastnosti. Jednoduchá obsluha REQUESTOR DATASHEET Úvod Requestor Service Desk poskytuje kompletní řešení pro správu interních i externích požadavků, které přicházejí do organizace libovolnou cestou. Produkt je zaměřen na vytvoření

Více

Testing as a Service. Přístupné, flexibilní a cenově výhodné řešení pro ověření kvality softwaru. Kompletní portfolio služeb testování softwaru

Testing as a Service. Přístupné, flexibilní a cenově výhodné řešení pro ověření kvality softwaru. Kompletní portfolio služeb testování softwaru Testing as a Service Přístupné, flexibilní a cenově výhodné řešení pro ověření kvality softwaru Kompletní portfolio služeb testování softwaru Předem známé náklady na testování, umožňující efektivní tvorbu

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Podnikové informační systémy

Podnikové informační systémy Podnikové informační systémy 26. dubna 2013 Vladimír Kovář Vladimír Kovář Narozen 2.1.1962 v Praze 4 děti, 1 žena, 1 pes, 7 koní, 42 krav, 37 ovcí UNICORN a 1049 spolupracovníků Vzdělání (Ing.) ČVUT, Fakulta

Více

Outsourcing v podmínkách Statutárního města Ostravy

Outsourcing v podmínkách Statutárního města Ostravy Outsourcing v podmínkách Statutárního města Ostravy Říjen 2009 Ing. Stanislav Richtar Ředitel společnosti 1 OBSAH PREZENTACE 1. Outsourcing - obecně 2. Výchozí stav projektu 3. Model poskytovaných služeb

Více

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Příloha č. 3 k č.j. MV-159754-3/VZ-2013 Počet listů: 7 TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY Nové funkcionality Czech POINT 2012 Popis rozhraní egon Service Bus Centrální Místo Služeb 2.0 (dále jen CMS

Více

Moderní metody automatizace a hodnocení marketingových kampaní

Moderní metody automatizace a hodnocení marketingových kampaní Moderní metody automatizace a hodnocení marketingových kampaní SAS CI Roadshow 2014 24/09/2014 Vít Stinka Agenda Představení společnosti Unicorn Systems Aliance Unicorn Systems a SAS Celkový koncept Customer

Více

Návrh softwarových systémů - architektura softwarových systémů

Návrh softwarových systémů - architektura softwarových systémů Návrh softwarových systémů - architektura softwarových systémů Martin Tomášek, Jiří Šebek Návrh softwarových systémů (B6B36NSS) Převzato z přednášky X36AAS M. Molhanec Co je to architektura Využívá se

Více

EXTRAKT z technické normy ISO

EXTRAKT z technické normy ISO EXTRAKT z technické normy ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Datové slovníky ITS Část 4: Minimální systémové požadavky

Více

Integrace datových služeb vědecko-výukové skupiny

Integrace datových služeb vědecko-výukové skupiny České vysoké učení technické v Praze Fakulta elektrotechnická Software Engineering & Networking Projekt Fondu rozvoje sdružení CESNET-513/2014/1 HS: 13144 / 830 / 8301442C Integrace datových služeb vědecko-výukové

Více

Problémové domény a jejich charakteristiky

Problémové domény a jejich charakteristiky Milan Mišovič (ČVUT FIT) Pokročilé informační systémy MI-PIS, 2011, Přednáška 02 1/16 Problémové domény a jejich charakteristiky Prof. RNDr. Milan Mišovič, CSc. Katedra softwarového inženýrství Fakulta

Více

Výčet strategií a cílů, na jejichž plnění se projektový okruh podílí: Strategický rámec rozvoje veřejné správy České republiky pro období

Výčet strategií a cílů, na jejichž plnění se projektový okruh podílí: Strategický rámec rozvoje veřejné správy České republiky pro období Karta projektového okruhu Číslo a název projektového okruhu: Garant karty projektového okruhu: Spolupracující subjekty: 6.3 Sdílitelné služby technologické infrastruktury Ministerstvo vnitra, Ministerstvo

Více

Úvod do projektu. Standardizace provozních funkcí ÚSC. Součást projektu Korporátní styl řízení ve veřejné správě

Úvod do projektu. Standardizace provozních funkcí ÚSC. Součást projektu Korporátní styl řízení ve veřejné správě Úvod do projektu Standardizace provozních funkcí ÚSC Součást projektu Korporátní styl řízení ve veřejné správě Měníme zvyky a posouváme mentální bloky POPTÁVKA Tlak na rozpočet, obtížně stanovitelné rozpočtové

Více

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací. Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Stav řešení Enterprise Architektury na Moravskoslezském kraji

Stav řešení Enterprise Architektury na Moravskoslezském kraji Stav řešení Enterprise Architektury na Moravskoslezském kraji Zpracoval(a): Ing. Tomáš Vašica Datum: 23. 9. 2015 Obsah prezentace 1. Představení projektového záměru 2. Co očekává Moravskoslezský kraj od

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

P R O FIL U NICO RN CO LLEGE

P R O FIL U NICO RN CO LLEGE P R O FIL U NICO RN CO LLEGE 2 013 VZDĚLÁNÍ UNICORN COLLEGE JE VAŠE OSOBNÍ KONKURENČNÍ VÝHODA Unicorn College je renomovaná soukromá vysoká škola, která nabízí kvalitní vysokoškolské vzdělání v oblasti

Více

Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo

Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo Jedna budova. Různí uživatelé. Desigo Control Point řešení pro ovládání a monitorování budov siemens.cz/desigo Desigo Control Point navržen pro zjednodušení správy technologií budov Budovy nejsou jen pouhé

Více

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14

Obsah. Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 Úvod 11 Zpětná vazba od čtenářů 13 Errata 14 Poznámka ke kódům 14 KAPITOLA 1 Nové rysy Windows 8 a 8.1 15 Nové uživatelské rozhraní 15 Rychlý náběh po zapnutí 16 Informace v prvním sledu 16 Nové prezentační

Více

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_20 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Metodika analýzy. Příloha č. 1

Metodika analýzy. Příloha č. 1 Metodika analýzy Příloha č. 1 Příloha č. 1 1 Účel dokumentu Dokument popisuje závaznou metodiku systémové analýzy, je upraven na míru pro prostředí Podniku. Dokument je provázán s Podnikovou analýzou,

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

Operační program Lidské zdroje a zaměstnanost

Operační program Lidské zdroje a zaměstnanost Operační program Lidské zdroje a zaměstnanost EDUCA III Další profesní vzdělávání zaměstnanců společnosti T-MAPY spol. s r.o. 2013-2015 září 2013 - únor 2015 Charakteristika projektu Projekt je zaměřen

Více

VIZE INFORMATIKY V PRAZE

VIZE INFORMATIKY V PRAZE VIZE INFORMATIKY V PRAZE Václav Kraus, ŘED INF MHMP 1 / 30. 4. 2009 PRAHA MĚSTO PRO ŽIVOT Město mezinárodně uznávané, ekonomicky prosperující a úspěšné. Město bezpečné a přívětivé, město sebevědomých a

Více

Slovenská spořitelna:

Slovenská spořitelna: Případová studie Slovenská spořitelna: Microsoft Dynamics CRM pro správu klientů ze segmentu malých a středních podniků Jak jsme Slovenské spořitelně usnadnily a zefektivnily práci s klienty ze segmentu

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení

Více

Damas User Fórum 2014. Unicorn Universe. Hotel Senec, 28. března 2014. Lukáš Pavlica

Damas User Fórum 2014. Unicorn Universe. Hotel Senec, 28. března 2014. Lukáš Pavlica Damas User Fórum 2014 Unicorn Universe Hotel Senec, 28. března 2014 Lukáš Pavlica Unicorn Universe a Plus4U Copyright 2014 Unicorn Universe 2 Copyright 2014 Unicorn Universe 3 Plus4U Plus4U je internetová

Více

SMART GRID SYSTEM TECHNOLOGIE PRO ANALYTIKU A SPRÁVU ENERGETICKÝCH SÍTÍ. Představení společnosti Analyzátor sítě

SMART GRID SYSTEM TECHNOLOGIE PRO ANALYTIKU A SPRÁVU ENERGETICKÝCH SÍTÍ. Představení společnosti Analyzátor sítě ENERTIG SMART GRID SYSTEM TECHNOLOGIE PRO ANALYTIKU A SPRÁVU ENERGETICKÝCH SÍTÍ Představení společnosti Analyzátor sítě www.enertig.cz Kdo jsme Jsme česká společnost dodávající na trhy v České, Polské

Více

EXTRAKT z české technické normy

EXTRAKT z české technické normy EXTRAKT z české technické normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním 35.240.60 materiálem o normě. Komunikační infrastruktura pro pozemní mobilní zařízení (CALM) Architektura

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

Veřejné cloudové služby

Veřejné cloudové služby Veřejné cloudové služby Petr Dvořák Konference GAPP System 2018 Hotel Diplomat, Praha 12. dubna 2018 Využití veřejných cloudových služeb Typické otázky roku 2017 ze strany finančního ředitele při schvalování

Více

INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005

INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005 INFORMAČNÍ SYSTÉMY (IS) Ing. Pavel Náplava Katedra počítačů K336, ČVUT FEL Praha 2004/2005 AGENDA definice IS, zavedení pojmů možnosti a rozdělení typická struktura technologie nasazení praktická ukázka

Více

Cloud Slovník pojmů. J. Vrzal, verze 0.9

Cloud Slovník pojmů. J. Vrzal, verze 0.9 Cloud Slovník pojmů J. Vrzal, verze 0.9 Typické poskytované služby SaaS (Software as a Service): software jako služba Poskytování softwarové aplikace prostřednictvím internetu tak, že aplikace běží na

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server ADMINISTRACE POČÍTAČOVÝCH SÍTÍ OPC Server Funkce a využití v průmyslové automatizaci Jiří NOSEK 2011 Co je OPC Server? OPC = Open Process Control (původně OLE for Process Control) sada specifikací průmyslového

Více

EXTRAKT z technické normy CEN ISO

EXTRAKT z technické normy CEN ISO EXTRAKT z technické normy CEN ISO Extrakt nenahrazuje samotnou technickou normu, je pouze informativním materiálem o normě. Inteligentní dopravní systémy Kooperativní ITS Zařízení stanice ITS pro přenos

Více

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ

Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ Seznámení s přípravou platformy pro zajištění služeb dodávaní dokumentů včetně MVS: ZÍSKEJ Konference 14. 9. 2017 Luboš Chára, NTK lubos.chara@techlib.cz Jak to začalo a proč nová platforma 2010 - rozhodnutí

Více

Česká zemědělská univerzita v Praze

Česká zemědělská univerzita v Praze Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Operační systém Google Android Petr Koula 2011 ČZU v Praze Souhrn Diplomová práce zahrnuje

Více

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ

TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ TECHNOLOGIE ELASTICKÉ KONFORMNÍ TRANSFORMACE RASTROVÝCH OBRAZŮ ÚVOD Technologie elastické konformní transformace rastrových obrazů je realizována v rámci webové aplikace NKT. Tato webová aplikace provádí

Více

Komponentový návrh SW

Komponentový návrh SW Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému

Více

Webové portály pro Hlavní město SR a Dopravní podnik Bratislava

Webové portály pro Hlavní město SR a Dopravní podnik Bratislava Webové portály pro Hlavní město SR a Dopravní podnik Bratislava Jak jsme Hlavnímu městu a Dopravnímu podniku Bratislava zajistili větší uživatelský komfort moderními portálovými řešeními Webové portály

Více

INFORMAČNÍ SYSTÉMY. 03. 01. 2006, Ing. Jiří Mráz

INFORMAČNÍ SYSTÉMY. 03. 01. 2006, Ing. Jiří Mráz INFORMAČNÍ SYSTÉMY 03. 01. 2006, Ing. Jiří Mráz PŘEDNÁŠEJÍCÍ Jiří Mráz Production Coordinator UNICORN jiri.mraz@unicorn.cz AGENDA Informační a komunikační technologie (ICT) podniku Informační systémy Zakázkový

Více

Lotus Quickr - ECM Integrace s LD/LN aplikacemi. Ing. Josef Homolka VUMS Legend

Lotus Quickr - ECM Integrace s LD/LN aplikacemi. Ing. Josef Homolka VUMS Legend Lotus Quickr - ECM Integrace s LD/LN aplikacemi Ing. Josef Homolka VUMS Legend Lotus Symposium 2010 Co nám přinesl systém ISDS?? Informační Systém Datových Schránek 2 Otázku Kam s ním? 3 Ptáte se s čím?

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

CA AppLogic platforma typu cloud pro podnikové aplikace

CA AppLogic platforma typu cloud pro podnikové aplikace INFORMACE O PRODUKTU: CA AppLogic CA AppLogic platforma typu cloud pro podnikové aplikace agility made possible CA AppLogic je platforma na klíč založená na technologii cloud computing, která pomáhá podnikům

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

Využití ADONIS a APP v podmínkách banky

Využití ADONIS a APP v podmínkách banky Využití ADONIS a APP v podmínkách banky GE Money Bank Martin Chvátal October 2013 Classification: GE Restricted; Distribution: Strategy team; Access: limited strategy team only; Retention mark and period:

Více

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce

WORKFLOW. Procesní přístup. Základ perspektivního úspěšného podnikového řízení. Funkčnířízení založené na dělbě práce WORKFLOW Procesní přístup Základ perspektivního úspěšného podnikového řízení Funkčnířízení založené na dělbě práce Procesní řízení princip integrace činností do ucelených procesů 1 Funkční řízení Dělba

Více

ArcGIS Online Subscription

ArcGIS Online Subscription ArcGIS Online Subscription GIS pro organizace ArcGIS Online je GIS v cloudu. Poskytuje služby GIS v prostředí internetu, ať už se jedná o úložné místo, publikaci mapových a geoprocessingových služeb, nebo

Více

Hynek Cihlář Podnikový architekt 7.11..2013. Od Indoše ke Cloudu

Hynek Cihlář Podnikový architekt 7.11..2013. Od Indoše ke Cloudu Hynek Cihlář Podnikový architekt 7.11..2013 Od Indoše ke Cloudu Jediná jistota je změna Rychlost vstupu na trh, zvyšování efektivity, zjednodušení funkčnosti, snižování nákladů Obtížnost řízení a kontroly

Více

Jak se bude vyvíjet Tvá kariéra?

Jak se bude vyvíjet Tvá kariéra? Jak se bude vyvíjet Tvá kariéra? 26. dubna 2016 Václav Žárský Radek Dolejš Agenda Kdo jsme Jak rosteme Co, proč a jak děláme? Náš tým Kariéra Rozvoj Jak o sebe pečujeme a bavíme se Plusy Volný čas Unicorn

Více

End-to-end testování. 26. dubna Bořek Zelinka

End-to-end testování. 26. dubna Bořek Zelinka End-to-end testování 26. dubna 2013 Bořek Zelinka Bořek Zelinka Unicorn Systems, Test architekt Unicorn, 2004 Testování Quality Assurance ČVUT, Fakulta stavební, 2004 2 Agenda Princip end-to-end testů

Více

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele MINISTERSTVO VNITRA odbor strukturálních fondů č.j. MV- 82945-5 /OSF Praha dne 24. listopadu 2009 Počet listů: 5 Odpověď zadavatele na otázky ze dne 20. listopadu 2009 k Zadávací dokumentaci na veřejnou

Více

CineStar Černý Most Praha 31. 10. 2012

CineStar Černý Most Praha 31. 10. 2012 CineStar Černý Most Praha 31. 10. 2012 Stejná aplikace na více zařízeních Michael Juřek Microsoft s.r.o. Potřebné ingredience 1. Portable libraries 2. Návrhový vzor MVVM 3. XAML 4. Abstrakce platformy

Více

Elektronické formy vzdělávání úředníků

Elektronické formy vzdělávání úředníků Marbes consulting = správný partner na cestě k efektivnímu vzdělávání Pro: Krajský rok informatiky Ústí nad Labem Datum: 26.9.2012 Marian Kudela MARBES CONSULTING s.r.o. Tel.: 378 121 500 Brojova 16 326

Více

Konsolidace zálohování a archivace dat

Konsolidace zálohování a archivace dat České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačové grafiky a interakce Závěrečná zpráva projektu 493/2013/1 Konsolidace zálohování a archivace dat Řešitel: Jan Kubr Spoluřešitel:

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Jan Horák. Pilíře řešení

Jan Horák. Pilíře řešení Jan Horák Pilíře řešení Nová generace systémů Důsledek rozvoje a změn informatiky ve zdravotnictví: Nové technologie Výkonnost, mobilita, velikost monitorů, dotykové ovládání, vzdálené přístupy Nové možnosti

Více

MANAGEMENT Procesní přístup k řízení organizace. Ing. Jaromír Pitaš, Ph.D.

MANAGEMENT Procesní přístup k řízení organizace. Ing. Jaromír Pitaš, Ph.D. MANAGEMENT Procesní přístup k řízení organizace Ing. Jaromír Pitaš, Ph.D. Obsah Definice procesního řízení Výhody procesního řízení Klasifikace procesů podle důležitosti Popis kontextu procesů Základní

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D.

Procesní přístup k projektům informačních systémů. RNDr. Vladimír Krajčík, Ph.D. Procesní přístup k projektům informačních systémů RNDr. Vladimír Krajčík, Ph.D. Jaká byla moje cesta k zavedení a užití procesních prvků při řízení projektů veřejných informačních systémů se zaměřením

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

Návrhář podnikových procesů

Návrhář podnikových procesů Návrhář podnikových procesů Návrhář podnikových procesů analyzuje, navrhuje a optimalizuje procesy systému řízení podniku a v jeho rámci podnikové procesy, případně procesy pro dodržení kvality ICT služeb.

Více

CISAŽP. Celostátní informační systém pro sběr a hodnocení informací o znečištění životního prostředí

CISAŽP. Celostátní informační systém pro sběr a hodnocení informací o znečištění životního prostředí CISAŽP Celostátní informační systém pro sběr a hodnocení informací o znečištění životního prostředí Cíl budování systému Komplexně přispět k ochraně a zlepšování životního prostředí v České republice prostřednictvím

Více

Firemní profil FG Forrest

Firemní profil FG Forrest Firemní profil FG Forrest Název: FG Forrest, a.s. Sídlo: Praha 1, Václavské nám. 823/33, 110 00 IČ: 2529 0568 Obchodní rejstřík: Rok založení: Kdo jsme: Součástí skupiny FG Forrest: spisová značka B 6941

Více

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant

BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM. Petr Dolejší Senior Solution Consultant BEZPEČNÁ SPRÁVA KLÍČŮ POMOCÍ HSM Petr Dolejší Senior Solution Consultant OCHRANA KLÍČŮ A ZOKB Hlavní termín kryptografické prostředky Vyhláška 316/2014Sb. o kybernetické bezpečnosti zmiňuje: v 17 nástroj

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

Implementace cloudové aplikace

Implementace cloudové aplikace Implementace cloudové aplikace 11. dubna 2014 David Kimr David Kimr Unicorn Universe, 2009 (1998) Unicorn, 1993 Univerzita Hradec Králové, Fakulta informatiky a managementu Univerzita Karlova v Praze,

Více

Cíle a měřitelné parametry budování a provozu egc. Příloha č. 1 Souhrnné analytické zprávy

Cíle a měřitelné parametry budování a provozu egc. Příloha č. 1 Souhrnné analytické zprávy Cíle a měřitelné parametry budování a provozu egc Příloha č. 1 Souhrnné analytické zprávy Projekt Příprava vybudování egovernment cloudu Fáze: Úkol: Odpovědný subjekt: FÁZE I. (přípravná) Předložit Vládě

Více

Vliv evaluací ESF MPSV na systémové změny

Vliv evaluací ESF MPSV na systémové změny Vliv evaluací ESF MPSV na systémové změny Konference ČES 2019 28. Května 2019, Praha Filip Kučera (oddělení evaluací MPSV) OBSAH Úvod Systémová změna jako: reakce na globální výzvy obecná změna chování

Více

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

Aplikační programové vybavení

Aplikační programové vybavení Aplikační software Aplikační software Programy z nejrůznějších oblastí využití počítače. Dnes existují stovky programů a u každého druhu pak často desítky konkrétních programů, které s větším nebo menším

Více

Efektivnější systém pro vyřizování požadavků na IT v ČMSS

Efektivnější systém pro vyřizování požadavků na IT v ČMSS 2 Shared Experience Technologická řešení Efektivnější systém pro vyřizování požadavků na IT v ČMSS Efektivnější systém pro vyřizování požadavků na IT v ČMSS přinesl procesní zpracování požadavků všech

Více

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů. Návrhář software Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů. Odborný směr: Informační technologie Odborný podsměr: nezařazeno do odborného podsměru

Více