Elektronická podpora výuky předmětu Komprese dat

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

Download "Elektronická podpora výuky předmětu Komprese dat"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Diplomová práce Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška Vedoucí práce: Ing. Miroslav Balík, Ph.D. Studijní program: Informatika a výpočetní technika květen 2006

2

3 Volný list iii

4 iv

5 Poděkování Rád bych poděkoval všem lidem, kteří mi byli nápomocni při sestavování a vytváření této diplomové práce. Zde bych rád vyzdvihl pana Ing. Miroslava Balíka, Ph.D. za jeho vedení a věcné připomínky. Dále pak mé ženě, Bc. Janě Ouškové, Dis., za pomoc při korektuře a za trpělivost při probděných nocích. Velký dík patří také celé mé rodině za podporu v dobách studia. v

6

7 Prohlášení Prohlašuji, že jsem svou diplomovou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne vii

8

9 Abstract The main aim of this work is to design and implement software system for students testing via dynamically generated tests concerning the data compression problems. The system tries to help lectors to provide e-learning form of studying. However it provides a possibility for student self-testing using trial test as well. Abstrakt Cílem této diplomové práce je navrhnout a realizovat systém pro automatické testování studentů pomocí dynamicky generovaných testů zabývajících se problematikou komprese dat. Systém slouží jako pomůcka pro hodnocení studentů e-learningovou formou, ale zároveň i jako vhodný materiál pro samotné studenty, kteří si pomocí zkušebních testů mohou ověřovat hloubku svých znalostí problematiky komprese dat. ix

10

11 Obsah Seznam obrázků xv 1 Úvod 1 2 Cíl práce 5 3 Definice a specifikace požadavků Definice pojmů Uživatelské role Administrátor Student Neregistrovaný uživatel Typy otázkových šablon Druhy testů Hodnocení studentů Jazykové mutace Bezpečnost systému Správa systémových zdrojů Tvorba analytického modelu Relační model Závislost mezi otázkou a její šablonou Jazykové mutace Funkční model Životní cyklus testu Návrh systému Modul pro prezentaci kompresních algoritmů Struktura modulu Modul pro testování studentů Typ aplikace Návrh struktury aplikace Realizace Modul pro prezentaci kompresních algoritmů Použité technologie Grafický vzhled xi

12 6.1.3 Podepisování JAR archivů Modul pro testování studentů Použité technologie Aplikační server Databázový server Prezentační vrstva Rámce pro vývoj aplikace Struktura tříd systému Zabezpečení systému Autentizace a autorizace Prolomení autorizace Vkládání XHTML entit do uživatelského vstupu Vkládání SQL příkazů do uživatelského vstupu Implementace grafického rozhraní testových otázek Testová otázka typu AnswerOne Testová otázka typu AnswerMany Testová otázka typu AnswerText Dynamické otázky Správa obrázků Statické obrázky Dynamické obrázky Tisk testů Správa uživatelů Postupné vkládání Hromadný import Databázový pooling Doba trvání testu Generování pouze jednoho ostrého testu Podpora vícejazyčných verzí Logování událostí Akceptační testy aplikace Rozhraní pro vytváření dynamických otázek Popis rozhraní Rozhraní DynamicQuestion Rozhraní DynamicQuestionText Rozhraní DynamicQuestionOption xii

13 7.1.4 Rozhraní DynamicQuestionOne Rozhraní DynamicQuestionMany Pořadí volaných metod Serializace objektů Generování dynamického obrázku Příklady implementace zásuvných modulů Příklad 1 - Hledání podřetězců Příklad 2 - Huffmanovo kódování Testování zásuvných modulů Popis aplikace Plugin Tester Závěr 77 9 Literatura 79 A Seznam použitých zkratek 81 B Instalační příručka 83 B.1 Instalace PostgreSQL B.1.1 Operační systém Windows XP B.1.2 Operační systém Linux B.2 Instalace aplikačního serveru Apache Tomcat B.2.1 Operační systém Windows XP B.2.2 Operační systém Linux B.2.3 Potřebná rozšíření B.3 Instalace systému SyVyKoD B.3.1 META-INF/context.xml B.3.2 WEB-INF/web.xml C Administrátorský manuál 93 C.1 Přihlášení do systému C.2 Vytváření skupin uživatelů C.3 Vytváření uživatelů C.4 Vytváření kategorií C.5 Vytváření otázkových šablon C.6 Vytváření šablon testů C.7 Přidávání zásuvných modulů C.8 Průběh testu C.9 Údržba aplikace xiii

14 C.9.1 Základní funkce C.9.2 Logování událostí C.9.3 Správa obrázků D Obsah přiloženého CD 101 D.1 Obsah D.2 Text diplomové práce D.3 Systém Syvykod D.4 Potřebný software xiv

15 Seznam obrázků 3.1 Schéma pro vytváření testových šablon E-R model systému SyVyKoD Model případu použití (Use Case diagram) systému SyVyKoD Diagram datových toků - Neregistrovaný uživatel Diagram datových toků - Student Diagram datových toků - Administrátor Dynamický model životního cyklu testu Použití návrhového vzoru MVC v základní struktuře aplikace Ukázka grafického rozhraní otázky typu AnswerOne Ukázka grafického rozhraní otázky typu AnswerMany Ukázka grafického rozhraní otázky typu AnswerText Zobrazování dynamických obrázků Struktura rozhraní pro dynamické otázky Pořadí volání metod zásuvných modulů Generovaný obrázek k příkladu Huffmanovo kódování Aplikace Plugin Tester xv

16

17 Kapitola 1 Úvod Mezi známá didaktická pravidla patří tvrzení, které přisuzuje důkladnému ověřování pochopení učiva stejnou váhu jako jeho výkladu. V dnešní době, kdy se oblibě začínají těšit různé formy dálkového studia, vzniká celá řada systémů pro podporu e-learningových kurzů. E-Learning je poměrně nový, velice široký pojem, pod kterým si lze představit celou řadu věcí týkajících se problematiky výuky podporované informačními technologiemi. Za nejzákladnější formu e-learningu lze považovat převádění existujících studijních materiálů do elektronické podoby - tzv. e-dokumentů. Další stupeň zahrnuje různé formy testování a metody komunikace mezi studenty pomocí audiovizuálních prostředků. Nejpokročilejší formy e-learningu nabízejí dokonce počítačové simulace laboratorních pokusů atd. Proces zavádění e-learningu je poměrně zdlouhavý. Důkazem je zatím nízké zastoupení vzdělávacích institucí, které by na tuto formu studia byly plně odkázány. Ovšem existují výjimky, které na e-learningu úspěšně postavili převážnou část výuky. Příkladem může být společnost Cisco a její vzdělávací program Cisco Networking Academy (CNA). Pro podporu e-learningového způsobu výuky existuje celá řada profesionálních produktů nazývaných course management systems (CMS) nebo také learning management systems (LMS). Ty mají velice propracovanou výukovou část. Většina z nich obsahuje propracovanou podporu komunikace uživatelů, podporu diskusních skupin, nástěnek, sdílení aplikací, video konferencí, virtuálních tříd atd. Vedle komerčních produktů (WebCT, Authorware, produkty firmy Macromedia atd.) existují i open-source systémy, které narozdíl od předchozích nevyžadují znalosti speciálních softwarových technologií. Mezi asi nejrychleji se rozšiřující patří produkt Moodle (Modular Object-Oriented Dynamic Learning Environment). Jedná se o modulové objektově orientované dynamické vzdělávací prostředí určené pro podporu prezenční i distanční výuky prostřednictvím online kurzů dostupných na WWW. Nevýhoda všech zmíněných systémů spočívá v poměrně obtížném nasazování do procesu výuky. Kvůli jejich flexibilitě nastavení a širokým možnostem může být těžké se v takovýchto e-learningových systémech rychle zorientovat. Cílem této práce je vytvoření systému, který tento problém odstraňuje. Zároveň více než na prezentování učiva se zaměřuje na testování studentů. Tímto se nejvíce odlišuje od existujících produktů. Jeho přehledné webové rozhraní umožňuje rychlé a snadné vytváření testovacích materiálů. Vedle snadné instalace se také vyznačuje možností vytváření dynamických otázek, které jsou generovány pomocí Java tříd snadno integrovatelných do systému. Automatické testování osvojených znalostí (u e-learningových kurzů preferované) musí zaručit podobné podmínky, kterým jsou studenti vystaveni u zkoušení klasického, v nejčastěj- 1

18 2 KAPITOLA 1. ÚVOD ším případě zkoušení písemným testem či ústní formou. Toho se dá celkem snadno dosáhnout v případě, kdy jsou studentům předkládány testy připravené přímo lektorem. Ovšem v situacích, kdy systém vytváří jednotlivé testy dynamicky, musí být kladen velký důraz na to, aby testy byly srozumitelné, jednotlivé otázky podobně složité a v neposlední řadě, aby vyhodnocené testy tvořily přehledný podkladový materiál pro ohodnocení studenta. Navržení systému, který má splňovat výše uvedené podmínky a přitom nabízí lektorům příjemný způsob, jak flexibilně, rychle a hlavně snadno připravovat testovací materiály, není vůbec triviální. Cílem této diplomové práce je navržení a implementování právě takovéhoto systému. Práce je rozčleněna do následujících kapitol: Kapitola 1 představuje obecný úvod do problematiky e-learningových kurzů. Kapitola 2 specifikuje cíle, kterých by tato diplomová práce měla dosáhnout a popisuje v jakém směru navazuje na práce předchozí. Kapitola 3 seznamuje se specifikací systému. Zároveň zavádí pojmy, které pomáhají popisovat jeho jednotlivé části. V této kapitole se z původních slovních požadavků vyčleňují podstatná fakta a hlavní komponenty systému. Obsah kapitoly určuje jakým směrem se bude vývoj projektu ubírat. Mimo jiné rozděluje uživatelské role a druhy podporovaných otázek. Kapitola 4 popisuje analytickou část projektu. Pomocí modelů představuje jednotlivé komponenty systému a jejich vzájemnou interakci. V kapitole jsou uvedeny různé možnosti návrhů vztahů těchto komponent. U jednotlivých možností jsou zmíněné výhody a nevýhody toho či onoho přístupu. Diagramy dynamického modelu pomáhají pochopit funkce, které systém nabízí a zároveň definuje ty uživatele, kteří jsou oprávněni nabízené funkce provádět. V závěru kapitoly je popsán životní cyklus testu, jehož pochopení je pro další orientaci v textu nezbytně nutné. Kapitola 5 popisuje návrh systému. Ve svém popisu opouští abstraktní úroveň vývoje a začíná pracovat s konkrétními technologiemi. Ještě se však nepouští do vysvětlování technických detailů implementace. Představuje střední vrstvu popisu struktury aplikace. Čtenář by měl po přečtení nabýt dojmu o tom, jak systém funguje. Popis je prováděn pomocí návrhových vzorů a blokových schémat. Kapitola 6 je popisem samotné realizace. Objevuje se zde popis problémů, které v rámci vývoje nastaly, a jejich konkrétní řešení. Pro větší přiblížení problematiky obsahuje kapitola příklady a klíčové úseky kódu, které řeší nastíněné problémy. Konkrétně se kapitola zabývá bezpečností systému, správou uživatelů, zaručením regulérních podmínek při ověřování znalostí studentů, správou demonstračních obrázků atd.

19 KAPITOLA 1. ÚVOD 3 Kapitola 7 je velice důležitá pro tvůrce rozšíření testovacích materiálů. Obsahuje detailní popis návrhu Java tříd (tzv. zásuvných modulů otázek) reprezentujících dynamické otázky. Popis programových rozhraní je doplněn kódem ukázkových modulů. Konec kapitoly představuje nástroj pro ověřování správnosti návrhu takovýchto modulů. Kapitola 8 shrnuje výsledky a uzavírá tuto práci. Přílohy obsahují především materiály nutné k instalaci potřebných softwarových komponent a systému samotného. Administrátorský manuál obsahuje informace vhodné pro snazší orientaci v systému, popisuje základní administrátorské akce a upozorňuje na věci, kterým je třeba při správě systému věnovat zvýšenou pozornost.

20

21 Kapitola 2 Cíl práce Cílem této práce je navržení a implementace systému pro podporu výuky předmětu Komprese dat, vyučovaném na Fakultě elektrotechnické Českého vysokého učení technického. Realizace systému si klade za cíl nabídnout dva moduly: modul prezentující informace o vyučovaných algoritmech, modul pro automatické a dynamické testování studentů. První modul navazuje na předchozí diplomové práce vytvářené pro Stringologickou skupinu Elektrotechnické fakulty, zejména pak na práci Ondřeje Hanouska [1] a na semestrální práce studentů předmětu 36KOD. Tyto práce se zabývají tvorbou vizualizačních Java appletů. Modul nabízí rozhraní pro tyto applety a prezentuje je formou webových stránek. Cílem druhé části je vytvoření vícejazyčné webové aplikace, nabízející možnost snadného vytváření testových materiálů, ze kterých je možné generovat testy. Ačkoli je aplikace vytvářena pro potřeby vyučujících předmětu 36KOD, její obecný návrh umožňuje nasazení ve všech oblastech, kde je zapotřebí ověřovat znalosti studentů pomocí e-learningových testů. 5

22

23 Kapitola 3 Definice a specifikace požadavků Systém pro podporu výuky se odlišuje od běžných webových aplikací několika vlastnostmi. Navrhovaný systém umožňuje generování testů dynamicky pomocí algoritmů integrovaných do systému. Systém se zaměřuje na řešení těchto problémů: realizace rozhraní pro snadné vytváření testových šablon a otázek, možnost vytváření dynamických otázek pomocí algoritmů řešících libovolný výpočetní problém (tzv. zásuvných modulů 1 otázek), ošetření regulérního průběhu vyplňování testu, striktní zabezpečení proti neoprávněným změnám dat a neoprávněným akcím, variabilní metody hodnocení studentů. Výše zmíněné problémy budou podrobně rozebrány dále v textu. Nejprve však následuje seznam zavedených pojmů. 3.1 Definice pojmů Systém SyVyKoD Pojem systém SyVyKoD je používán jako zkrácené označení názvu Systém pro podporu výuky předmětu Komprese dat. Pokud nehrozí záměna pojmů, je používán pouze termín systém. Testová otázka Testová otázka (zkráceně otázka) reprezentuje konkrétní podobu příkladu, který mají studenti za úkol vyřešit. Šablona otázky Pojem šablona otázky (nebo také otázková šablona) představuje objekt, který souhrnně popisuje vlastnosti generovaných otázek jednoho typu. Jedná se především o částečné znění zadání, čas stanovený na vypracování otázky, počet bodů za správnou a špatnou odpověď atd. V případech, kdy nehrozí záměna pojmů, je používán pouze termín šablona. Nejsnáze si lze šablonu představit jako záznam popisující vzor, podle kterého se konkrétní testové otázky generují. Tento záznam může obsahovat například tyto informace: Určete součet čísel a a b. Za správnou odpověď obdržíte 10 bodů, za špatnou 0 bodů. Pro otázku generovanou z této šablony systém náhodně 1 Termín zásuvný modul je používaný jako český ekvivalent k anglickému termínu plugin. 7

24 8 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ zvolí konstanty a a b a dosadí je do sčítanců v textu. Tím vzniká konkrétní otázka, u které už je možné kontrolovat správnost odpovědi. Test Termínem test je označována množina testových otázek. Na vypracování každého testu existuje časový limit, po jehož překročení není dále možné na otázky odpovídat. Kategorie Pojmem kategorie je označována množina otázkových šablon zabývajících se podobnou problematikou. Šablona testu Ze šablon testů (v případě, že nehrozí záměna s pojmem šablona otázky, je používán termín šablona) jsou generovány konkrétní testy. Šablony testů obsahují informace o tom, které kategorie se při vytváření testu použijí. Skupina Termínem skupina je označována množina sdružující studenty společných vlastností. Zásuvný modul otázky Pojmem zásuvný modul otázky (zkrácené modul) se označuje Java program, který umožňuje generovat znění otázek. Moduly lze do systému jednoduše přidávat a přiřazovat je jednotlivým otázkovým šablonám. Právě modul by byl ve výše uvedeném příkladu zodpovědný za generování hodnot čísel a a b. Jazyková mutace Pod pojmem jazyková mutace se obecně myslí texty přeložené do cizího jazyka. Konkrétně se pak jedná o jazykové mutace aplikace, šablon otázek, šablon testů a zásuvných modulů. Dynamický obrázek Dynamický obrázek je zde chápán jako obrázek vygenerovaný programově zásuvným modulem na základě zvolených hodnot parametrů. Neznamená to, že by se obrázek v průběhu času měnil. Statický obrázek Tento pojem představuje obyčejný obrázek uložený v souboru souborového systému. Jeho obsah je v rámci systému neměnný.

25 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ Uživatelské role Systém umožňuje prezentaci podpůrných materiálů k výuce předmětu Komprese dat a po autorizovaném vstupu testování znalostí studentů. Systém je založen na modelu klient-server. Spojení klientské části se serverovou je zajištěno pomocí webového prohlížeče, přes který uživatelé žádají o informace. Ty jsou aplikačním serverem zasílány zpět klientské straně. Aplikační server úzce spolupracuje s databázovým serverem, kde jsou uložena data využívaná systémem. Po přihlášení uživatele do systému se jeho vlastnosti liší podle následujících uživatelských rolí Uživatelská role Administrátor Administrátor má privilegia ke spravování systému, nastavování vlastností a pozorování probíhajících událostí. Předpokládá se, že administrátor má zároveň oprávnění ke konfiguraci aplikačního a databázového serveru. Základním úkolem administrátora je sestavování šablon testů a otázek, ze kterých si uživatelé generují konkrétní testy. Typickou osobou, která v systému vystupuje v roli administrátora, je vyučující předmětu. Kromě přípravy testů má administrátor za úkol také správu studentů. Ty může přidávat do systému postupně nebo může využít funkci hromadného importu uživatelů. Poslední funkcí administrátora je dohlížení na bezproblémový chod systému. K tomu může použít nástroj pro logování událostí, který zaznamenává veškeré události, které se v systému odehrály Uživatelská role Student Pod touto rolí vystupují v systému uživatelé, kteří mají možnost se do systému přihlašovat a pomocí něho skládat testy. Student může také upravovat své osobní údaje, které slouží administrátorovi v případě nutnosti kontaktování studenta. Kvůli zvyklostem v názvosloví je někdy role student označována jako role Uživatel. V případech, kdy se například mluví o údajích studentů, je běžnější používat pojem uživatelské heslo než heslo studenta. V žádném případě však nesmí docházet k záměně role Student s rolí Neregistrovaný uživatel Uživatelská role Neregistrovaný uživatel Za neregistrovaného uživatele se považuje každý návštěvník systému, který nemá oprávnění k přihlášení. První modul systému, zabývající se prezentací vizualizačních appletů, je plně k dispozici i neregistrovaným uživatelům. 3.3 Typy otázkových šablon Otázkové šablony mohou mít různé vlastnosti. Kombinací těchto vlastností vznikají různé typy šablon. Systém podporuje celkem 5 takových typů. Při vytváření nové šablony musí adminis-

26 10 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ trátor šabloně jeden z těchto typů přiřadit. Následující text uvádí seznam vlastností, kterými se může šablona vyznačovat. Static Šablony s touto vlastností vytvářejí otázky, které mají vždy stejné zadání. Toto zadání je v plném znění uvedeno přímo v šabloně. Dynamic Šablonám s vlastností Dynamic je přiřazen zásuvný modul, který při vytváření otázky ovlivňuje její zadání. Může například náhodně generovat sčítance v otázce zaměřené na znalost operace sčítání. AnswerMany Šablony s vlastností AnswerMany generují otázky, u kterých student vybírá z nabízených možností ty, které považuje za správné. U typu AnswerMany se počet správných odpovědí pohybuje v rozmezí 0..n, kde n je celkový počet odpovědí. AnswerOne Šablony s vlastností AnswerOne se oproti AnswerMany liší pouze v tom, že generují právě jednu správnou odpověď. Option Vlastnost Option představuje souhrnné označení šablon s vlastností AnswerOne a AnswerMany. AnswerText Na otázky generované tímto typem šablon odpovídá student pomocí textového řetězce vloženého do vstupního textového pole. Ten je porovnáván se správnou odpovědí. Příkladem může být otázka, kdy student musí zadat výstupní řetězec procesu kódování ze znalosti vstupního řetězce. ImageGenerator Šablony s vlastností ImageGenerator generující dynamický obrázek. Na základě kombinací uvedených vlastností systém rozlišuje 5 konkrétních typů šablon. Tabulka 3.1 v levém sloupci uvádí seznam těchto typů a v pravých sloupcích definuje, jaké vlastnosti tyto šablony mají. Jestliže se šablona některou z vlastností vyznačuje, pak je u této vlastnosti uveden symbol +. Tři poslední šablony mohou mít také vlastnost ImageGenerator, v závislosti na tom, zda generují či negenerují dynamický obrázek.

27 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ 11 Typ Vlastnosti šablon šablony Static Dynamic AnswerOne AnswerMany AnswerText Option StaticOne StaticMany DynamicOne DynamicMany DynamicText + + Tabulka 3.1: Přehled podporovaných typů šablon otázek a jejich vlastností Každá šablona otázky spadá do právě jedné kategorie. Výhoda zavedení kategorií spočívá v přehledném uspořádání šablon do logických celků. Administrátor má možnost tyto kategorie vytvářet a upravovat. Skládáním kategorií dohromady pak vytváří šablony testů. K šablonám přiřazuje jednotlivé kategorie a zároveň určuje, kolik otázek se z jednotlivých kategorií použije při vytváření testu. Šablony testů mají příznak nastaveny buď na aktivní nebo neaktivní. Studenti pak v závislosti na tomto příznaku mohou nebo nemohou testy generovat. Celý proces sestavování šablon je vidět na obrázku 3.1, kde jsou vytvořené 2 šablony testů, z nichž je možné generovat testy. Šablona Testu 1 generuje 2 otázky z Kategorie A a 1 otázku z Kategorie B. Šablona testu 2 generuje test se 3 otázkami pouze z Kategorie B. Obrázek 3.1: Schéma pro vytváření testových šablon

28 12 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ 3.4 Druhy testů Systém umožňuje studentům generovat dva druhy testů. Ostrý test je takový, který se započítává do celkového hodnocení studenta. Takovýto test může být jedním studentem generován podle konkrétní šablony pouze jedenkrát. Zkušební test může student generovat tolikrát, kolikrát uzná za vhodné, a proto se výsledky těchto testů do výsledného hodnocení nezapočítávají. Zkušební testy slouží pro procvičení vyučované látky. Konfigurací systému lze generování zkušebních testů povolit nebo zakázat. 3.5 Hodnocení studentů Důležitou vlastností systému je zpracování výsledků testů a promítnutí těchto výsledků do studentova hodnocení. V tomto směru nabízí systém řadu možností jak hodnocení určovat. Zadání diplomové práce klade požadavek na velkou flexibilitu v nastavování parametrů otázek. Počítá s tím, že existují otázky různých obtížností. Tuto obtížnost lze ohodnotit různým počtem bodů získaných v případě správné odpovědi. V případě špatné odpovědi student body nezískává. Ovšem neznalost základů problematiky by měla být penalizována důsledněji než pouhým ziskem 0 bodů. Zde by měla být administrátorovi ponechána možnost odečítat od bodů získaných v jiných otázkách. Z tohoto důvodu jsou u každé otázky uváděny dva parametry definující její bodové hodnocení. První specifikuje získané body v případě správné odpovědi, druhý body v případě odpovědi špatné. Z logiky věci vyplývá, že první parametr může nabývat kladných hodnot, kdežto druhý hodnot záporných nebo hodnoty 0. Celková úspěšnost testu je vypočítávána vždy pouze z ostrých testů. Pro způsob výpočtu se nabízí dva přístupy. První přístup bere v úvahu fakt, že studentovo celkové hodnocení testu může nabývat záporných hodnot. Tyto záporné hodnoty jsou přičítány k ostatním testům. Celkový počet získaných bodů se počítá z konečného součtu. Druhý přístup bere v úvahu fakt, že nejhorší hodnocení z jednoho testu je 0 bodů. Pokažený test tak neovlivňuje výsledky z jiných testů. Oba dva přístupy mohou být aplikovány na tři různé skupiny ostrých testů: První skupina obsahuje pouze ty testy, které pochází ze šablon, jež jsou právě aktivní. Druhá skupina zahrnuje testy generované ze šablon, které v systému v daný okamžik existují - v aktivním i neaktivním stavu. Poslední skupina obsahuje všechny ostré testy, dokonce i ty, jejichž šablony byly již ze systému odstraněny. Aplikováním dvou zmíněných přístupů na tyto tři skupiny testů vzniká celkem šest možných hodnocení každého studenta. Z těchto hodnocení může být zvoleno to, které nejlépe vyhovuje konkrétním podmínkám. Možnosti jsou zrekapitulovány následujícím příkladem.

29 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ 13 Číslo testu Maximálně dosažitelný počet bodů Získaný počet bodů Tabulka 3.2: Ukázka bodového ohodnocení z příkladu 3.1 Započítávané Hodnocení - 1. přístup Hodnocení - 2. přístup testy maximum získáno úspěšnost maximum získáno úspěšnost 1. skupina % % 2. skupina % % 3. skupina % % Tabulka 3.3: Ukázka výpočtu hodnocení studenta z příkladu 3.1 Příklad 3.1: V uvažované situaci administrátor vytvořil celkem 4 šablony testů. Všechny nastavil jako aktivní, a proto si student mohl ze všech šablon vygenerovat ostrý test. Po složení všech testů dosáhl student hodnocení uváděného v tabulce 3.2. Za nějaký čas administrátor přišel na chybu v šabloně, která generovala test číslo 4 a šablonu odstranil. Zároveň kvůli podezření na generování špatného obrázku deaktivoval šablonu číslo 1, aby tím zamezil dalšímu generování chybných testů. Po těchto akcích systém vypočítává celkové studentovo hodnocení tak, jak je uvedeno v tabulce Jazykové mutace Důležitou podmínkou je možnost provozovat systém v různých jazykových mutacích. To ovšem neznamená pouze přeložení systémových textů do jiných jazyků. Systém nabízí možnost, jak vytvářet univerzální šablony, ze kterých si studenti mohou generovat testy v různých jazycích. Tyto mutace musí být tedy možné vytvářet pro znění zadání otázek i znění odpovědí. 3.7 Bezpečnost systému Systém musí zaručit takové podmínky, aby studenti nemohli zneužívat operací, které systém nabízí, a zlepšovat tak své celkové hodnocení. Zvláště důležitá je kontrola operací, které generují testy. Zde je třeba zaručit, aby student mohl generovat skutečně jen jeden ostrý test. Neméně důležitá pozornost musí být věnována také těm akcím, které jakýmkoli způsobem ovlivňují podobu testu po vypršení časového limitu k těmto změnám určenému. V neposlední řadě je třeba zabezpečit detaily uživatelů, které mají zůstat skryty jiným uživatelům.

30 14 KAPITOLA 3. DEFINICE A SPECIFIKACE POŽADAVKŮ 3.8 Správa systémových zdrojů Šablony otázek mají možnost používat systémové zdroje v podobě obrázků a zásuvných modulů otázek. Aby bylo možné zamezit existenci neplatných odkazů na tyto zdroje, nabízí systém nástroje, kterými je možné tyto odkazy kontrolovat.

31 Kapitola 4 Tvorba analytického modelu V této kapitole jsou představeny nejdůležitější analytické modely, které slouží ke snadnějšímu pochopení a návrhu systému. Při návrhu těchto modelů je třeba pečlivě zvažovat veškeré požadavky, které od systému očekáváme, jelikož pozdější změna a zapracování těchto, byť sebemenších detailů, může mít značný vliv na celkovou délku vývoje aplikace. 4.1 Relační model Systém ke svému běhu potřebuje úložiště dat, které nabízí rychlé vyhledávání, snadnou modifikaci a vytváření nových záznamů. Všechny tyto aspekty splňují systémy, které jsou navrženy pro spolupráci s datovými strukturami definovanými pomocí relačního modelu dat. Relační model přináší celou řadu výhod, zejména mnohdy přirozenou reprezentaci zpracovávaných dat, možnost snadného definování a zpracování vazeb apod. Relační model klade velký důraz na zachování integrity dat. Zavádí pojmy jako referenční integrita, cizí klíč, primární klíč apod. Relační model systému SyVyKoD je složen z několika entit, které jsou zobrazeny na obrázku 4.1. Pro definování vztahů je zvolena binární notace zápisu. Vztahy mezi entitami jsou značené čarami. Plné čáry jsou použity tam, kde primární klíč otcovské entity přechází do části primárního klíče entity závislé. Čárkované čáry jsou použity v opačném případě. Povinné členství ve vztahu je značeno krátkou čárkou, nepovinné členství prázdným kolečkem. Rozvětvení čáry představuje vícenásobnou účast ve vztahu. V následujícím textu jsou použité entity stručně popsány a zároveň budou představeny i jiné způsoby, jakými je možné strukturu entit a jejich vztahů navrhnout. User Entita User shromažďuje informace o uživatelích systému. Každý uživatel vlastní své přihlašovací jméno. K ověření pravosti uživatele slouží heslo. Dále může mít uživatel nastaveno jméno, příjmení, a členství k nějaké skupině uživatelů. Group Entita Group udržuje informace o existujících skupinách uživatelů v systému. Question template V entitě Question template jsou uchovávány otázkové šablony. Question template text Tato entita shromažďuje jazykové mutace zadání otázek. 15

32 16 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Obrázek 4.1: E-R model systému SyVyKoD

33 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU 17 Log K uchovávání záznamů o událostech systému slouží entita Log. Answer template U všech šablon typu Static musí administrátor do systému vkládat odpovědi, ze kterých je při generování testových otázek část vybrána a v testu použita. Entita Answer template udržuje seznam všech odpovědí. Answer template text Pro uložení jazykových mutací odpovědí je využita entita Answer template text. Category Entita Category udržuje informace o existujících kategoriích. Tato entita nemá ekvivalent k Question template text. Je to z toho důvodu, že kategorie nejsou pro uživatele viditelné. Proto není třeba jejich názvy překládat. Test template Entita Test template udržuje informace o testových šablonách. Test category Entita Test category pouze umožňuje existenci vícenásobných vztahů entit Test template a Category. Test template text Entita Test template text udržuje jazykové překlady názvů testových šablon. Test Entita Test shromažďuje všechny testy, které v systému existují. Testy mají vazbu na testové šablony, ze kterých vznikly. Informace obsažené v této entitě představují obecné údaje o testu. Mezi důležité patří příslušnost ke studentovi, který test vygeneroval a začátek a doba trvání testu, z nichž se odvozuje časový limit na vypracování testu. Test question Tato entita shromažďuje testové otázky, ze kterých je test složen. Podle typu jsou pak studentovy odpovědi uloženy v entitě Answer 1 nebo v entitě Answer 2. Answer 1 Entita Answer 1 uchovává studentovy odpovědi na otázky generované šablonou s vlastností Option.

34 18 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Answer 2 Entita Answer 2 uchovává studentovy odpovědi na otázky generované šablonou s vlastností AnswerText. Popsaná podoba modelu není jediná možná. Cest, jak model navrhnout, je v případě systému SyVyKoD více. V následujícím textu jsou naznačeny některé další varianty, které by bylo možné při návrhu použít. U každé varianty jsou uvedeny její výhody a nevýhody Závislost mezi otázkou a její šablonou Z modelu 4.1 je patrné, že při generování testových otázek dochází ke kopírování některých atributů ze šablon do testových otázek. Tím dochází k vytváření jisté redundance dat. Tato akce má ovšem za následek odstranění závislosti mezi otázkou a její šablonou. Pokud by při generování měla tato závislost zůstat zachována, musel by se model změnit tak, že by byl do otázky přidán odkaz na příslušnou šablonu. To by se projevilo přidáním cizího klíče. Toto řešení by odstranilo část redundance. Použitý model však oproti této variantě nabízí několik výhod. Předně to jsou regulérní podmínky skládání testů. Jaké následky by mělo použití zmíněného řešení ukazuje příklad 4.1. Příklad 4.1: Administrátor vytvoří šablonu otázky, která testuje studenty ze znalosti operace součtu v závislosti na dvou sčítancích. Student, který si vygeneruje test obsahující tuto otázku, odpoví správným výsledkem. Tato otázka by tudíž měla být vyhodnocena jako správně zodpovězena. Ovšem administrátor může zadání v šabloně (a tudíž v uvažovaném případě i v otázce) změnit (například z důvodu nalezení chyby v textu) a s ním i hodnotu některého ze sčítanců. Od této chvíle se studentova odpověď vyhodnotí jako chybná. Podobný příklad lze použít i pro atributy udávající počty bodů za správnou a špatnou odpověď. Jestliže test uvádí nějaké podmínky, které prezentuje studentovi, měly by tyto podmínky zůstat zachovány i nadále. Z tohoto důvodu není nastíněné řešení použito. Místo toho systém odděluje šablony od otázek. Tento fakt zajišťuje, že vyhodnocovány budou odpovědi přesně na ty otázky, které byly součástí testu v době jeho vypracování. To ovšem neznamená, že by administrátorovi nebyla ponechána možnost úpravy zadání otázek v budoucnu generovaných. Administrátor může v šablonách otázek upravovat nejen zadání, ale i ostatní atributy. Změny se však promítnou až do nově vygenerovaných testů. Staré zůstanou nezměněny. Ve prospěch použité varianty přispívá i fakt, že systém je navrhován řádově pro desítky až stovky studentů. V takovémto počtu není redundance způsobená kopírováním studentů nijak závažná.

35 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Jazykové mutace Systém umožňuje vytváření šablon v různých jazykových mutacích. Nejsnazší cesta k poskytování těchto mutací by spočívala ve vytvoření několika tematicky shodných šablon v různých jazycích. Zároveň by v systému existovalo několik kategorií, které by se týkaly stejného tématu, avšak sdružovaly by pouze šablony jedné jazykové mutace. Tyto kategorie by se dále sdružovaly do jednojazyčných šablon testů atd. Popsané řešení je značně neefektivní a má hned několik nevýhod. Administrátor by musel vícekrát zadávat stejné hodnoty atributů pro několik tematicky shodných šablon. Tyto informace by se v databázi zbytečně duplikovaly. Dále by nastával problém s automatickým hodnocením, kde by bylo obtížné rozlišit, které kategorie testů již student vypracoval a které ne. Z tohoto důvodu systém využívá jiné řešení. Atributy každé šablony se do systému zadávají pouze jednou. Jestliže je nutná existence otázky i v jiných jazycích, administrátor může šabloně přidat jazykový překlad. Ten se ovšem ukládá v jiné entitě než hodnoty zbylých atributů. Proto nedochází ke zbytečné redundanci. Toto řešení operuje s tzv. implicitním zněním otázky. Jelikož je rozumné předpokládat, že každá otázka bude mít zadání alespoň v jednom jazyce 1, je entita otázek navržena tak, že sama obsahuje toto implicitní znění. Pokud je aplikace provozována v jednojazyčném prostředí, je šablona kompletní a není zapotřebí nic přidávat. Pokud je prostředí vícejazyčné, doplní administrátor příslušnou jazykovou mutaci. Jestliže se při generování testu vyskytne požadavek na generování otázky v jazyce, který šablona podporuje, bude otázka do testu začleněna v tomto jazyce. Pokud šablona požadovanou jazykovou mutaci nepodporuje, vytvoří se otázka v jazyce implicitním. Analogický postup je aplikován i při vytváření odpovědí u šablon s vlastností Static. Tento přístup má ještě jednu výhodu oproti prvně zmíněnému návrhu. Často se stává, zvláště pak u otázek s vlastností Option, že obsah odpovědí není závislý na jazykové mutaci - je ve všech jazykových mutacích totožný. Může se jednat například o binární výstup algoritmu. V takovýchto případech není nutné, aby administrátor zadával odpovědi ve všech jazykových mutacích, ale stačí uvést odpověď pouze jednou, v implicitní jazykové mutaci. Popsaný mechanizmus pak zajistí, že se při absenci požadované mutace použije mutace implicitní, tudíž ta s textem nezávislým na zvoleném jazyce. 4.2 Funkční model Modelování případů užití je jednou z forem, jak získávat přehled o požadavcích, které jsou na systém kladeny. Jedná se o doplňkový způsob vzhledem k specifikaci požadavků, jež byla popsána v předchozí kapitole. Modelování případu užití používá objekty známé pod těmito názvy: Účastníci. To jsou role přidělené osobám nebo předmětům využívající systém. 1 Většinou v jazyce prostředí, ve kterém je aplikace provozována

36 20 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Případy užití(use cases). Činnosti, které systém umožňuje provádět. Relace. Vztahy mezi účastníky a případy užití. Hranice systému. Hranice, jež vymezuje funkčnost systému. Na obrázku 4.2 je znázorněn model případu užití pro systém SyVyKoD. Představuje 3 aktéry - Student, Neregistrovaný uživatel a Administrátor. Každý z nich je spojen s konkrétním případem užití. Diagram přehledně zobrazuje základní funkce systému. Obrázek 4.2: Model případu použití (Use Case diagram) systému SyVyKoD Další částí analýzy jsou funkční datové toky. Na obrázcích 4.3, 4.4 a 4.5 jsou postupně znázorněny datové toky v závislosti na aktivitách pro neregistrovaného uživatele, studenta a administrátora. Neregistrovaný uživatel má právo pouze na prohlížení vizualizačních appletů znázorňující činnost kompresních algoritmů. Student může v systému vystupovat pod uživatelským jménem, může procházet svá osobní nastavení a hlavně může skládat administrátorem připravené testy. Po dokončení má možnost nechat testy automaticky vyhodnotit a zobrazit si své hodnocení. Osobní údaje ani hodnocení jiných uživatelů mu nejsou přístupné. Administrátor má právo vidět údaje ostatních uživatelů. Jeho hlavním úkolem je vytváření šablon, ze kterých si uživatelé generují vlastní testy. Administrátor má také možnost

37 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU 21 testy upravovat, mazat z nich jednotlivé testové otázky a nastavovat časový měřič limitu na vypracování testu. Obrázek 4.3: Diagram datových toků - Neregistrovaný uživatel Obrázek 4.4: Diagram datových toků - Student 4.3 Dynamický model - životní cyklus testu Reakce systému v závislosti na akcích uživatelů jsou velice podobné běžným aplikacím stejného typu. Proto není zapotřebí tyto triviální reakce systému rozvádět. Výjimku tvoří životní cyklus testu, který ovlivňuje značnou část uživatelských akcí. Jak bylo již dříve zmíněno, testy se generují z předpřipravených testových šablon. Od vygenerování až po ohodnocení prochází test několika fázemi, které se od sebe navzájem liší tím, jak je možné v těchto fázích s testem pracovat.

38 22 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Obrázek 4.5: Diagram datových toků - Administrátor 1. fáze - Aktivní šablona Tato fáze reprezentuje období testu před jeho vznikem. Jakmile administrátor sestaví testovou šablonu a označí ji jako aktivní, může student použít tuto šablonu pro vygenerování testu. Šablony, které nejsou aktivní, jsou pro studenta skryté, a proto z nich testy generovat nemůže. 2. fáze - Aktivní test V době generování nového testu se z parametrů testových otázek vypočítá časový interval potřebný na vypracování testu. Po tento interval bude test aktivní a bude patřit do 2. fáze životního cyklu. Po celou dobu této fáze je student oprávněn odpovídat na testové otázky a to dokonce i po odhlášení a opětovném přihlášení do systému. Po uplynutí času stanoveného na vypracování přechází test automaticky do 3. fáze. Pokud student dokončí test dříve než vyprší limit, může si nechat test vyhodnotit a tím přeskočit 3. fázi cyklu a přemístit ho přímo do 4. fáze.

39 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU fáze - Test čekající na vyhodnocení Po skončení časového limitu již není možné dále test upravovat ani prohlížet 2. Test se nachází ve stavu, kdy čeká na vyhodnocení testových otázek. Tuto akci může provést student kdykoli. Pokud test není ohodnocen, nezapočítávají se výsledky do celkového hodnocení studenta. Administrátor má možnost obnovit časový měřič testu. Tato volba může být užitečná v případě, kdy student neměl možnost regulérně test dokončit. Příkladem mohou být technické problémy připojení k systému apod. Po obnovení měřiče přechází test do 2. fáze Aktivní test a student může dokončit skládání testu. Zároveň platí, že administrátor má možnost test kdykoli ze systému odstranit a tím dát opět studentovi možnost ostrý test z této šablony generovat. 4. fáze - Kompletní Test Po vyhodnocení testu už samozřejmě nelze test dále upravovat. Je možné ho pouze prohlížet. U vyhodnocených otázek je zvýrazněno, zda student odpověděl na otázku správně či špatně. Zároveň má student k dispozici i správné řešení. Všechny ostré testy, které se nacházejí v této fázi, jsou započítávány do výsledného hodnocení. Celý životní cyklus testu je zobrazen pomocí dynamického modelu na obrázku 4.6. Výrazně jsou značeny ty stavy, které představují jednotlivé fáze životního cyklu. Pro přesnost je třeba dodat, že v diagramu není značena možnost odstranění testu. Tato akce může být provedena pouze administrátorem a to v každém ze stavů, v kterých se může test nacházet. Akce není do diagramu zanesena z důvodu zvýšení jeho přehlednosti. 2 Toto pravidlo se nevztahuje na administrátora

40 24 KAPITOLA 4. TVORBA ANALYTICKÉHO MODELU Obrázek 4.6: Dynamický model životního cyklu testu

41 Kapitola 5 Návrh systému Tato kapitola popisuje hlavní body návrhu systému SyVyKoD. Je rozdělena do dvou hlavních částí. První popisuje návrh modulu pro vizualizaci kompresních algoritmů. Druhá část se zabývá návrhem modulu pro testování studentů. 5.1 Modul pro prezentaci kompresních algoritmů Hlavním cílem této části je vytvoření šablony XHTML dokumentu, který bude studentům předmětu Komprese dat sloužit k vytváření prezentací kompresních algoritmů. U každé ukázky algoritmu je uveden jeho krátký popis vlastností, činnosti a především applet, který vizualizuje proces komprese a dekomprese zadaného vstupního textu. Tyto applety jsou vytvářeny v rámci semestrálních prací a navazují na diplomovou práci [1]. Dalším úkolem je návrh struktury webových stránek, které semestrální práce prezentují. Při návrhu přichází v úvahu dvě možnosti řešení. První z nich, která by seskupovala modul pro prezentaci algoritmů a modul pro testování studentů v jeden celek, může využívat výhod dynamického webu, což by pomohlo obzvláště při realizaci navigace mezi jednotlivými ukázkami algoritmů. Jako lepší se však ukázala možnost druhá, která rozděluje oba moduly na dva na sobě zcela nezávislé celky. Modul pro prezentaci algoritmů tak může být realizován formou statických webových stránek, což ho činí nezávislým na aplikačních serverech a webových službách a může být tudíž provozován i lokálně na offline PC stanici. Web existuje ve dvou jazykových variantách - české a anglické. Navržení kostry modulu umožňuje přepnutí jazyka v libovolné době při zachování zobrazovaného tématu Struktura modulu V následujícím textu je popsána struktura modulu. img ALG1 index_cs.html index_en.html ALG1.jar ALG2... styl.css compression.jar epsgraphics.jar - adresář s obrázky - adresář algoritmu ALG1 - český popis algoritmu - anglický popis algoritmu - vizualizační applet algoritmu ALG1 - adresář algoritmu ALG2 - specifikace grafického vzhledu - základní balíček pro vizualizační applety - balíček pro výstup obrázků v postskriptovém formátu 25

42 26 KAPITOLA 5. NÁVRH SYSTÉMU streams.jar index.html index_en.html obsah.html content.html - balíček pro podporu kompresních proudů - úvodní strana v češtině - úvodní strana v angličtině - přehled všech dostupných algoritmů v češtině - přehled všech dostupných algoritmů v angličtině Soubory compression.jar a streams.jar jsou archivy podporující vývoj aplikací zabývajících se kompresí dat. Konkrétně se jedná o základní třídy pro vytváření vizualizačních appletů. Jednotlivé vizualizační applety jsou uloženy v adresářích pojmenovaných podle názvu algoritmu. V adresářovém výpisu slouží jako ukázka algoritmu adresář ALG1, který obsahuje XHTML dokumenty pro popis algoritmu a JAR archiv s vizualizačním appletem. 5.2 Modul pro testování studentů Dobrý návrh struktury, objektů a vztahů mezi nimi je velice důležitý pro celkový vývoj modulu. Pokud k odhalení nedostatků systému dojde už ve fázi návrhu, je jeho změna méně bolestivá než v následujících fázích vývoje. Až doposud nebylo zapotřebí specifikovat na jakých konkrétních technologiích bude systém postaven. V tomto stupni vývoje je však třeba učinit rozhodnutí, které ovlivní jeho další směr. Odborná literatura uvádí, že i fáze návrhu má být pokud možno nezávislá na prostředcích konečné implementace. V tomto případě je návrh specifický natolik, že další abstraktní pohled na věc by byl nepřínosný. V následujícím textu bude nastíněna podoba aplikace do té míry, aby bylo možné provádět její další návrh Typ aplikace Modul pro testování studentů je realizován jako webová aplikace založená na Java 2 Platform Enterprise Edition (J2EE). J2EE je standardní součástí Javy. Platforma Java byla vybrána kvůli výhodám, které nabízí. Jedná se o perspektivní objektový programovací jazyk. Je vyvíjen společností SUN Microsystems a je zdarma dostupný pro různé operační systémy (Windows, Linux, Solaris atd.) Nezávislost na operačním systému a na hardwaru počítače zajišťuje způsob kompilace. Zdrojové kódy programu nejsou překládány do strojového kódu procesoru, ale pouze předzpracovávány do tzv. byte-kódu. Ten ještě není závislý na konkrétním procesoru, ale časově náročné fáze kompilace jsou v něm již provedeny. Při spuštění Java programu je byte-kód interpretován virtuálním strojem Java Virtual Machine (JVM). Java tedy patří do skupiny interpretovaných jazyků. J2EE je množina specifikací a praktik, které dohromady poskytují řešení pro vývoj, rozmístění a řízení vícevrstvých serverových aplikací. J2EE vychází z Java 2 Standard Edition (J2SE), k níž přidává vlastnosti potřebné pro poskytnutí stabilní, bezpečné a rychlé Java platformy na úrovni podnikových aplikací. Mezi tyto vlastnosti patří například zpracování událostí na straně serveru, řízení transakcí, databázové služby a další. Platforma J2EE zpřístupňuje podnikové aplikace širokému spektru klientů včetně internetových prohlížečů. Spojuje celou řadu

43 KAPITOLA 5. NÁVRH SYSTÉMU 27 technologií do jediné architektury s komplexním modelem programování aplikací. Platforma J2EE podstatně zjednodušuje vývoj síťových aplikací a snižuje jeho náklady. Modul pro testování (dále označován jako webová aplikace) nevyužívá všech dostupných součástí J2EE, ale zaměřuje se na použití servletů a JSP stránek. Servlet je obdoba CGI skriptu napsaná v Javě. Je to třída odvozená z třídy javax.servlet.http.httpservlet. Oproti CGI skriptům má několik výhod. Servlet je jednou zkompilován a načten do paměti. Potom už jenom odpovídá na požadavky klientů (takže je rychlejší než PHP, CGI nebo ASP). Jelikož je servlet program psaný v Javě, má přístup k většině Javovských knihoven. Servlet běží v servlet kontejneru aplikačního serveru. JSP je technologie založená na servletech, která jejich použití velice zjednodušuje a tím zrychluje vývoj webových aplikací. Další výhoda, kterou JSP mají, je oddělení obsahu od zpracování. Pro tyto účely používají JSP tzv. javabeans a uživatelské tagy. JSP technologie umožňuje směšovat statické HTML stránky s dynamicky generovaným obsahem. JSP stránky je možno používat i samostatně, ale podstatně lepší využití se nabízí ve spolupráci se servlety. Použití servletu je totiž poměrně obtížné pro vytváření statického HTML kódu. JSP se proto používá ke směšování statických částí HTML stránek, které jsou napsány v klasickém HTML kódu, s dynamickými částmi, které jsou vytvářeny pomocí servletu Návrh struktury aplikace Při návrhu systémů je výhodné používat osvědčené postupy, kterým se říká návrhové vzory. Tyto postupy jsou dostatečně propracované a pomáhají k modularizaci systému a tím i k jeho lepšímu pochopení. Systém SyVyKoD ve svém návrhu používá několik takovýchto vzorů. Celý systém je navržen podle modelu MVC - Model-View-Controller. MVC (někdy také označován jako Model-2) je softwarová architektura, která rozděluje datový model aplikace, uživatelské rozhraní a řídicí logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní. Komponenty MVC mají následující funkce: Komponenta Model představuje specifickou reprezentaci informací, s nimiž aplikace pracuje. Komponenta View převádí data reprezentovaná modelem do podoby vhodné k interaktivní prezentaci uživateli. Komponenta Controller reaguje na události (typicky pocházející od uživatele) a zajišťuje změny v komponentě model nebo v komponentě view. Použití tohoto návrhového vzoru v systému SyVyKoD je znázorněno na obrázku 5.1. Obrázek představuje obecný model, podle kterého je postavena celá aplikace. Aplikace je řízena požadavky uživatelů. Na každý HTTP požadavek je vygenerována HTTP odpověď, která je zaslána zpět uživateli. Požadavky přijímá controller, který je v aplikaci reprezentován servlety zvanými dispatchery. Dispatcher má za úkol rozhodnout, zda je přijímaný požadavek platný či nikoli. Jestliže ano, servlet extrahuje parametry předávané v HTTP požadavku. Podle těchto

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

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 : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

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

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

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

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

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

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Prezentace aplikace Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Osnova Úvod Programovací jazyk - PHP Etapy vývoje Funkce aplikace Co SW umí Na čem se pracuje Vize do budoucna Úvod Úvod Inspirováno

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Sísyfos Systém evidence činností

Sísyfos Systém evidence činností Sísyfos Systém evidence Sísyfos : Evidence pracovních Systém Sísyfos je firemní aplikace zaměřená na sledování pracovních úkonů jednotlivých zaměstnanců firmy. Umožňuje sledovat pracovní činnosti na různých

Více

Tvorba kurzu v LMS Moodle

Tvorba kurzu v LMS Moodle Tvorba kurzu v LMS Moodle Před počátkem práce na tvorbě základního kurzu znovu připomínám, že pro vytvoření kurzu musí být profil uživatele nastaven administrátorem systému minimálně na hodnotu tvůrce

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Moodle uživatelská příručka

Moodle uživatelská příručka Moodle uživatelská příručka Učební text pro studenty dálkového studia OSŠPo Kolín Projekt Zavádění nových forem výuky do dálkového studia, využití e-learningového prostředí pro zefektivnění práce studentů

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

ANOTACE vytvořených/inovovaných materiálů

ANOTACE vytvořených/inovovaných materiálů ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a

Více

IntraVUE 2.0.3 Co je nového

IntraVUE 2.0.3 Co je nového IntraVUE 2.0.3 Co je nového Michal Tauchman Pantek (CS) s.r.o. Červen 2008 Strana 2/8 Úvod IntraVUE je diagnostický a podpůrný softwarový nástroj pro řešení komunikačních problémů, vizualizaci a dokumentaci

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

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka Anotace V rámci projektu FRVŠ jsme připravili webovou e-learningovou aplikaci, která je implementována v jazyce Java v rozšířené

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

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

lms moodle Focused on your needs

lms moodle Focused on your needs Focused on your needs lms moodle Trigama International s.r.o. Poděbradská 57/206, Praha 9 Hloubětín Czech Republic IČ 02184117 www.trigama.eu info@trigama.eu tel/phone 00420 777 820 487 LMS Moodle (Modular

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

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

Zpravodaj. Uživatelská příručka. Verze

Zpravodaj. Uživatelská příručka. Verze Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Angličtina program k procvičování slovní zásoby

Angličtina program k procvičování slovní zásoby Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT Angličtina program k procvičování slovní zásoby Kamil Hanus Střední průmyslová škola elektrotechniky a informačních

Více

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Kritéria hodnocení praktické maturitní zkoušky z databázových systémů Otázka č. 1 Datový model 1. Správně navržený ERD model dle zadání max. 40 bodů teoretické znalosti konceptuálního modelování správné

Více

plussystem Příručka k instalaci systému

plussystem Příručka k instalaci systému plussystem Příručka k instalaci systému Tato příručka je určena zejména prodejcům systému a případně koncovým uživatelům. Poskytuje návod, jak provést potřebná nastavení komponent. ITFutuRe s.r.o. 26.2.2015

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Bc. Martin Majer, AiP Beroun s.r.o.

Bc. Martin Majer, AiP Beroun s.r.o. REGISTR DIGITALIZACE HISTORICKÝCH FONDŮ (RDHF) A DIGITÁLNÍCH KONKORDANCÍ (DK) Návrh uživatelského rozhraní klientských aplikací verze 1.0 Bc. Martin Majer, AiP Beroun s.r.o. 28.11.2016-1 - Obsah 1 Seznam

Více

E-learningový systém pro podporu výuky algoritmů

E-learningový systém pro podporu výuky algoritmů Úvod E-learningový systém pro podporu výuky algoritmů řešitel: Roman Hocke vedoucí práce: Mgr. Petr Matyáš 1 implementace e-learningového řešení Cíle práce přizpůsobení k výuce Teoretické informatiky a

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ

INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ INFORMAČNÍ SYSTÉM VIDIUM A VYUŽITÍ MODERNÍCH TECHNOLOGIÍ Michal Brožek, Dominik Svěch, Jaroslav Štefaník MEDIUM SOFT a.s., Cihelní 14, 702 00 Ostrava, ČR Abstrakt Neustále rostoucí význam sběru dat, možnost

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

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

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

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající

Více

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS.

Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou SITRONICS TS. Tvorba dokumentace SITRONICS centrum 1. Cíl Usnadnit tvorbu jednotné dokumentace SITRONICS centra. 2. Účel Stanovit nezbytná pravidla pro tvorbu dokumentace vytvářenou ve SITRONICS centru využitelnou firmou

Více

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA 2005 Lukáš Trombik OBSAH ÚVOD... 1 SPUŠTĚNÍ... 1 POPIS OVLÁDÁNÍ INFORMAČNÍHO SYSTÉMU... 1 POPIS KLIENTSKÉ ČÁSTI... 1 POPIS ADMINISTRÁTORSKÉ ČÁSTI...

Více

Struktura e-learningových výukových programù a možnosti jejího využití

Struktura e-learningových výukových programù a možnosti jejího využití Struktura e-learningových výukových programù a možnosti jejího využití Jana Šarmanová Klíčová slova: e-learning, programovaná výuka, režimy učení Abstrakt: Autorská tvorba výukových studijních opor je

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

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní

WR Reality. Web Revolution. Uživatelský manuál administračního rozhraní WR Reality Web Revolution Uživatelský manuál administračního rozhraní Web Revolution s. r. o. 2010 WR Reality Administrace uživatelský manuál Praktický průvodce administrací webové aplikace WR Reality

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda 1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání

Více

Elektronická technická dokumentace Bc. Lukáš Procházka

Elektronická technická dokumentace Bc. Lukáš Procházka 17, 18. hodina Elektronická technická dokumentace Bc. Lukáš Procházka Téma: závěrečná část dokumentu, dodatky a manuály 1) Závěrečná část dokumentu 2) Dodatky 3) Manuály a návody obsah dokumentu Závěrečná

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

(Enterprise) JavaBeans. Lekce 7

(Enterprise) JavaBeans. Lekce 7 (Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí

Více

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI Cyril Klimeš a) Jan Melzer b) a) Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR E-mail: cyril.klimes@osu.cz b) DC Concept

Více

Informace k e-learningu

Informace k e-learningu Informace k e-learningu Příprava na testy bude probíhat samostatně formou e-learningových školení přístupných způsobem popsaným níže. Zkušební testy, pomocí kterých se budete připravovat na závěrečný test,

Více

Národní šetření výsledků žáků v počátečním vzdělávání

Národní šetření výsledků žáků v počátečním vzdělávání Projekt NIQES Národní šetření žáků v počátečním vzdělávání Národní šetření výsledků žáků v počátečním vzdělávání Druhá celoplošná generální zkouška Název souboru: CP2-Procesy_přípravy_a_realizace_V3.doc

Více

APS Administrator.ST

APS Administrator.ST APS Administrator.ST Rozšiřující webový modul pro APS Administrator Webové rozhraní sledování docházky studentů Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská 1611/19, Praha, www.techfass.cz,

Více

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa

Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Individuální projekt z předmětu webových stránek 2012/2013 - Anketa Daniel Beznoskov, 2 IT A Skupina 1 Úvod Prohlášení o autorství Prohlašuji, že jsem individuální projekt z předmětu webových stránek na

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 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/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_02 Š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

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Zavedení e-learningu

Zavedení e-learningu Zavedení e-learningu Česká pojišťovna snižuje díky e-learningu náklady na školení svých pracovníků Přehled Země: Česká republika Odvětví: Bankovnictví a finance Profil zákazníka Česká pojišťovna a.s. je

Více

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3 ESO9 international a.s. Zpracoval: Skyva Petr U Mlýna 2305/22, 141 Praha 4 Záběhlice Dne: 15.1.20187 tel.: +420 585 203 370-2 e-mail: info@eso9.cz Revize: Skyva Petr www.eso9.cz Dne: 15.1.20187 Obsah 1.

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

IMPLEMENTACE ECDL DO VÝUKY MODUL 6: GRAFICKÉ MOŽNOSTI PC

IMPLEMENTACE ECDL DO VÝUKY MODUL 6: GRAFICKÉ MOŽNOSTI PC Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice IMPLEMENTACE ECDL DO VÝUKY MODUL 6: GRAFICKÉ MOŽNOSTI PC Metodika Zpracoval: Ing. David Marek srpen 2009 Úvod Grafické možnosti

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování 4.8.16. Úvod do programování Vyučovací předmět Úvod do programování je na naší škole nabízen v rámci volitelných předmětů v sextě, septimě nebo v oktávě jako jednoletý dvouhodinový kurz. V případě hlubšího

Více

DOCHÁZKA. Webový prohlížeč docházky. Osoby

DOCHÁZKA. Webový prohlížeč docházky. Osoby Webový prohlížeč docházky Slouží ke zobrazování a případně k jednoduchým úpravám údajů evidovaných v databázi docházkového systému. Na klientském počítači lze použít libovolný internetový prohlížeč, není

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

26 Evidence pošty. Popis modulu. Záložka Evidence pošty

26 Evidence pošty. Popis modulu. Záložka Evidence pošty 26 Evidence pošty Uživatelský modul Evidence pošty realizuje podrobnou evidenci všech došlých a odesílaných poštovních zásilek s možností přidělovat tyto zásilky uživatelům informačního systému k vyřízení,

Více

SOFTWAROVÁ PODPORA TVORBY PROJEKTŮ

SOFTWAROVÁ PODPORA TVORBY PROJEKTŮ Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné SOFTWAROVÁ PODPORA TVORBY PROJEKTŮ Distanční studijní opora Karel Skokan František Huňka Karviná 2012 Projekt OP VK 2.2 (CZ.1.07/2.2.00/15.0176)

Více

36 Elektronické knihy

36 Elektronické knihy 36 Elektronické knihy Uživatelský modul Elektronické knihy slouží k přípravě a publikování informací ve formátu HTML. Tento formát je vhodný pro prezentaci informací na internetu a je široce podporován

Více

SYLABUS IT V. Jiří Kubica. Ostrava 2011

SYLABUS IT V. Jiří Kubica. Ostrava 2011 P MODULU SYLABUS IT V DÍLČÍ ČÁST PROGRAMOVÁNÍ BUSINESS APLIKACÍ PODNIKU Bronislav Heryán Jiří Kubica Ostrava 20 : Autoři: Vydání: Počet stran: Tisk: Vydala: Sylabus modulu IT v podniku Programování business

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

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

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU Tvorba podnikových aplikací v jazyce JAVA Josef Pavlíček KII PEF CZU J2EE Jedná se o přístup: sadu pravidel, technologií, metod, doporučení jak provádět design, vývoj, nasazení a provozování vícevrstvých

Více

Zadání maturitní práce ve školním roce 2016/2017

Zadání maturitní práce ve školním roce 2016/2017 Zadání maturitní práce ve školním roce 2016/2017 vydané podle 15 odst. 1 vyhlášky č. 177/2009 Sb., o bližších podmínkách ukončování vzdělávání ve středních školách maturitní zkouškou, ve znění pozdějších

Více

Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32

Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32 Informační systém ISOP 7-13 Vypracováno pro CzechInvest Konfigurace pracovní stanice pro ISOP-Centrum verze 1.21.32 vypracovala společnost ASD Software, s.r.o. Dokument ze dne 20.2.2015, verze 1.00 Konfigurace

Více

S ICT ve výuce to umíme_dodávka dodatečného software

S ICT ve výuce to umíme_dodávka dodatečného software TECHNICKÉ PODMÍNKY NABÍDKY pro nabídku na veřejnou zakázku S ICT ve výuce to umíme_dodávka dodatečného software Druh zadávacího řízení: Otevřené nadlimitní řízení na dodávky dle 27 zákona č.137/2006 Sb.,

Více

Software pro vzdálenou laboratoř

Software pro vzdálenou laboratoř Software pro vzdálenou laboratoř Autor: Vladimír Hamada, Petr Sadovský Typ: Software Rok: 2012 Samostatnou část vzdálených laboratoří tvoří programové vybavené, které je oživuje HW část vzdáleného experimentu

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

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Manuál online studia

Manuál online studia Manuál online studia 2016 Obsah Funkce a ovládání systému online kurzů... 3 1 Práce se systémem... 3 1.1 Přihlášení do online studia... 3 1.2 Odhlášení... 5 1.3 Zapomenuté heslo... 6 1.4 Profil uživatele...

Více

Modelování procesů s využitím MS Visio.

Modelování procesů s využitím MS Visio. Modelování procesů s využitím MS Visio jan.matula@autocont.cz Co je to modelování procesů? Kreslení unifikovaných či standardizovaných symbolů, tvarů a grafů, které graficky znázorňují hlavní, řídící nebo

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

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

Nová áplikáce etesty zá te z ove testová ní

Nová áplikáce etesty zá te z ove testová ní Nová áplikáce etesty zá te z ove testová ní Verze 0.4 Datum aktualizace 28. 11. 2014 1 Obsah 1 Úvod... 2 1.1 Podpora - kontakty... 2 1.2 Zdroje... 2 1.3 Zkratky... 2 2 Předpoklady pro testování... 3 2.1

Více

1.13 ACCESS popis programu

1.13 ACCESS popis programu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing.

Více

Architektura aplikace

Architektura aplikace Architektura aplikace MARBES-JIRA plugin Tým: GRSS Členové: František Schneider Jaroslav Ráb Lukáš Gemela Jaromír Staněk Upravil Verze dokumentu Datum F. Schneider 1.0 25.3.2012 F. Schneider 2.0 25.4.2012

Více

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 12. Virtuální sítě (VLAN) Studijní cíl Základní seznámení se sítěmi VLAN. Doba nutná k nastudování 1 hodina VLAN Virtuální síť bývá definována jako logický segment LAN, který spojuje koncové uzly, které

Více