MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY Bakalářská práce
Aplikace pro výuku uchazečů o řidičský průkaz
BRNO 2004
Dalibor Klusáček
Aplikace pro výuku uchazečů o řidičský průkaz
Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
2
Aplikace pro výuku uchazečů o řidičský průkaz
Rád bych touto cestou poděkoval svému vedoucímu bakalářské práce RNDr. Jaroslavu Pelikánovi, Ph.D. za trpělivost, nezištnou pomoc a cenné rady.
3
Aplikace pro výuku uchazečů o řidičský průkaz
Shrnutí Cílem této bakalářské práce byl vývoj programu pro výuku uchazečů o řidičské oprávnění skupiny B, což odpovídá osobnímu automobilu do hmotnosti 3 500 kg. Z důvodů snadné přenositelnosti mezi různými operačními systémy je program napsán v programovacím jazyku Java. Program implementuje funkce, které uživateli umožní učit se a procvičovat si testové otázky k závěrečné zkoušce z odborné způsobilosti k řízení motorových vozidel. Součástí programu je i simulátor závěrečného testu, pomocí kterého si uživatel může ověřit, zda by v něm uspěl. Výsledky jsou průběžně zaznamenávány a uživatel tak má k dispozici statistiku své úspěšnosti. Další část programu se věnuje výuce teorie, vysvětluje základní principy funkce automobilu, základy poskytování první pomoci a obsahuje textové dokumenty potřebné pro zvládnutí problematiky provozu na pozemních komunikacích.
Klíčová slova Pravidla provozu, odborná způsobilost, Java, třída, funkce programu, testové otázky.
4
Aplikace pro výuku uchazečů o řidičský průkaz
Obsah SHRNUTÍ........................................................................................................................................................... 4 ÚVOD................................................................................................................................................................. 7 2. LEGISLATIVA..............................................................................................................................................8 2.1. DŮLEŽITÉ DOKUMENTY.................................................................................................................................. 8 2.2. ZÍSKÁNÍ ŘIDIČSKÉHO PRŮKAZU........................................................................................................................ 9 2.2.1. Získání odborné způsobilosti.............................................................................................................9 2.2.2. Zkouška z odborné způsobilosti...................................................................................................... 10 3. MOŽNOSTI VÝUKOVÝCH PROGRAMŮ.............................................................................................12 4. VÝUKOVÝ PROGRAM AUTOŠKOLA 1.0............................................................................................13 4.1. POŽADAVKY NA PROGRAM............................................................................................................................ 13 4.2. VOLBA PROGRAMOVACÍHO JAZYKA.................................................................................................................13 4.2.1. Swing............................................................................................................................................... 14 4.3. NÁVRH UŽIVATELSKÉHO ROZHRANÍ................................................................................................................ 14 4.3.1. Levý a pravý panel ......................................................................................................................... 15 4.3.2. Lišta menu....................................................................................................................................... 17 4.4. UCHOVÁVÁNÍ DAT.......................................................................................................................................18 4.5. IMPLEMENTACE........................................................................................................................................... 19 4.5.1. Hlavní třídy programu.................................................................................................................... 19 4.5.2. Třídy pro práci s multimediálními prvky........................................................................................ 21 4.5.3. Další třídy........................................................................................................................................22 5. SROVNÁNÍ S EXISTUJÍCÍMI PROGRAMY.........................................................................................24 5.1. AUTOŠKOLA 2003...................................................................................................................................... 24 5.2. AUTOŠKOLA 3D......................................................................................................................................... 25 5.3. AUTOŠKOLA PROFESSIONAL...........................................................................................................................26 5.4. AUTOUNIVERZITA 1.0.................................................................................................................................. 27 5.5. TESTOMANIE.............................................................................................................................................. 28 6. VÝVOJ......................................................................................................................................................... 29 6.1. ŘIDIČSKÁ OPRÁVNĚNÍ...................................................................................................................................29 6.2. DATABÁZE CHYBNÝCH ODPOVĚDÍ...................................................................................................................29 6.3. PODPORA VÍCE UŽIVATELŮ............................................................................................................................ 29 6.4. ZVUK........................................................................................................................................................ 29 7. ZÁVĚR......................................................................................................................................................... 30 POUŽITÁ LITERATURA..............................................................................................................................31 PŘÍLOHY ........................................................................................................................................................32 1. SPUŠTĚNÍ VÝUKOVÉHO PROGRAMU AUTOŠKOLA 1.0............................................................................................ 32 1.1. Spuštění v systému MS Windows........................................................................................................32 1.2. Přeložení programu v systému MS Windows..................................................................................... 32 1.3. Spuštění v systému Unix, Linux..........................................................................................................32 1.4. Přeložení programu v systému Unix, Linux....................................................................................... 32 2.ZOBRAZENÍ ČEŠTINY........................................................................................................................................ 33 3.STRUKTURA CD............................................................................................................................................. 33
5
Aplikace pro výuku uchazečů o řidičský průkaz
Seznam obrázků a tabulek OBRÁZEK 4.1.: VÝUKOVÝ PROGRAM AUTOŠKOLA 1.0............................................................................................ 13 OBRÁZEK 4.2.: NÁVRH UŽIVATELSKÉHO ROZHRANÍ.................................................................................................15 OBRÁZEK 4.3. : ZOBRAZENI ZÁLOŽKY AUTOMOBIL V PROGRAMU AUTOŠKOLA 1.0......................................................16 OBRÁZEK 4.4.: STRUKTURA PROGRAMU Z POHLEDU TŘÍD.........................................................................................20 OBRÁZEK 4.5.: ZÁKLADNÍ STRUKTURA ZOBRAZENÍ TŘÍD VYUKA, PROCVICOVANI A SIMULATOR.................................... 21 OBRÁZEK 5.1.: AUTOŠKOLA 2003...................................................................................................................... 24 OBRÁZEK 5.2.: AUTOŠKOLA 3D..........................................................................................................................25 OBRÁZEK 5.3.: AUTOŠKOLA PROFESSIONAL.......................................................................................................... 26 OBRÁZEK 5.4.: AUTOUNIVERZITA 1.0.................................................................................................................. 27 TABULKA 2.1.: SKUPINY A PODSKUPINY ŘIDIČSKÝCH OPRÁVNĚNÍ................................................................................ 8 TABULKA 2.2.: POTŘEBNÝ BODOVÝ ZISK PRO HODNOCENÍ „PROSPĚL“ U PÍSEMNÉ ZKOUŠKY........................................... 10 TABULKA 2.3.: ROZSAH OTÁZEK ZE ZNALOSTI OVLÁDÁNÍ A ÚDRŽBY.......................................................................... 11 TABULKA 4.1.: STRUKTURA ZÁZNAMU OTÁZKY V SOUBORU................................................................................... 18 TABULKA 5.1.: SROVNÁVACÍ TABULKA PROGRAMŮ .............................................................................................. 28
6
Aplikace pro výuku uchazečů o řidičský průkaz
Úvod V současné době dochází k prudkému nárůstu automobilové dopravy. Roste počet automobilů na silnicích, dálnicích i v ulicích měst. Řidičské oprávnění se pro většinu lidí stalo samozřejmostí, pro mnohé nezbytností z hlediska zaměstnání nebo je pro ně automobil součástí životního stylu. Rostoucí počet automobilů logicky přináší i vyšší nároky na účastníky silničního provozu, a to jak na řidiče, tak i kupříkladu na chodce. Denně se setkáváme s hrozivými statistikami o počtu dopravních nehod na našich silnicích. Zatímco z hospodářského hlediska máme západní Evropu ještě v čem dohánět, z hlediska nehodovosti máme bohužel před většinou evropských zemí velký náskok. Důvodů je jistě celá řada, od zastaralosti vozového parku, přes špatný stav pozemních komunikací, až po vzájemnou bezohlednost. Tuto neradostnou situaci se již několik let pokouší naši zákonodárci a policie řešit. Důležitou úlohu při výchově budoucích řidičů mají autoškoly. Náplní jejich činnosti je vyškolit uchazeče o řidičské oprávnění, aby úspěšně složili závěrečné zkoušky nutné pro získání řidičského oprávnění. Pro úspěšné složení zkoušky musí uchazeč zvládnout řízení vozidla a úspěšně složit test z pravidel provozu na pozemních komunikacích a souvisejících otázek. Uchazeč o řidičský průkaz se k této zkoušce připravuje studiem testových otázek a pravidel silničního provozu, které si většinou opatřuje ve formě učebnice pravidel silničního provozu. Tyto publikace jsou relativně drahé a mají krátkou životnost, neboť legislativa se v této oblasti často mění, například za poslední čtyři roky platí již třetí verze otázek k závěrečnému testu a brzy budou nejspíše následovat další změny související s chystanou novelou zákona č. 361/2000 Sb., o provozu na pozemních komunikacích. Tato situace byla inspirací pro vytvoření počítačového programu, který by suploval klasické učebnice a poskytoval možnost aktualizace, která u klasické učebnice nepřipadá v úvahu. Náplní této práce je tedy vytvořit počítačový program, který by uchazeči o řidičské oprávnění skupiny B umožnil připravit se na úspěšné složení závěrečného testu v autoškole. Program poskytuje funkce pro výuku a procvičování testových otázek, umožňuje uživateli vyzkoušet si závěrečný test. Dále obsahuje část teoretickou, která seznámí uživatele s principy automobilu, se základy poskytování první pomoci a obsahuje textové dokumenty s příslušnou legislativou. Úvod práce je věnován legislativě, která souvisí s provozem na pozemních komunikacích a stanovuje podmínky pro udělení řidičského oprávnění, následně jsou rozebrány možnosti výuky pomocí výukových programů. V další části jsou popsány důvody použití programovacího jazyka Java, je přiblížen návrh uživatelského rozhraní, datové části programu a hlavní rysy implementace. Poté je provedeno srovnání programu s podobnými existujícími programy. Na závěr je zmíněna možnost dalšího vývoje programu.
7
Aplikace pro výuku uchazečů o řidičský průkaz
2. Legislativa 2.1. Důležité dokumenty Zákon č. 361/2000 Sb., o provozu na pozemních komunikacích upravuje práva a povinnosti účastníků provozu na pozemních komunikacích, pravidla provozu na pozemních komunikacích, úpravu a řízení provozu a vymezuje působnost a pravomoc orgánů státní správy a Policie České republiky ve věcech provozu na pozemních komunikacích. Skupiny a podskupiny řidičských oprávnění upravuje § 81 tohoto zákona. Tabulka 2.1.: Skupiny a podskupiny řidičských oprávnění Typ Oprávnění k řízení Motocyklů s postranním vozíkem nebo bez něj. A Lehkých motocyklů o objemu válců nepřesahujícím 125 cm3 a o výkonu nejvýše 11 kW. A1 a)
Motorových vozidel, s výjimkou vozidel uvedených v popisu řid. oprávnění A, A1 a AM a motocyklu o výkonu nad 25 kW nebo s poměrem výkon/hmotnost přesahujícím 0, 16 kW/kg nebo motocyklu s postranním vozíkem a s poměrem výkon/hmotnost přesahujícím 0, 16 kW/kg, jejichž maximální přípustná hmotnost nepřevyšuje 3 500 kg a s nejvýše 8 místy k sezení, kromě místa řidiče; k tomuto motorovému vozidlu smí být připojeno přípojné vozidlo o maximální přípustné hmotnosti nepřevyšující 750 kg, B b) Traktorů a pracovních strojů samojízdných, jejichž maximální přípustná hmotnost nepřevyšuje 3 500 kg, c) Jízdních souprav složených z motorového vozidla podle písmene a) nebo b) a přípojného vozidla, pokud maximální přípustná hmotnost soupravy nepřevyšuje 3 500 kg a maximální přípustná hmotnost přípojného vozidla nepřevyšuje pohotovostní hmotnost motorového vozidla. Motorových tříkolových a čtyřkolových vozidel uvedených v popisu řid. oprávnění B, jejichž maximální konstrukční rychlost převyšuje 45 km/h nebo jsou poháněná spalovacím motorem o objemu válců převyšujícím 50 cm3 nebo jsou poháněná jakýmkoli jiným zařízením srovnatelného B1 výkonu. Pohotovostní hmotnost těchto vozidel nesmí být vyšší než 550 kg; do pohotovostní hmotnosti vozidla elektricky poháněného se nezapočítává hmotnost akumulátorů. Motorových vozidel, s výjimkou vozidel uvedených v popisu řid. oprávnění D a D1, jejichž maximální přípustná hmotnost převyšuje 3 500 kg; k tomuto motorovému vozidlu smí být C připojeno přípojné vozidlo, jehož maximální přípustná hmotnost nepřevyšuje 750 kg. Opravňuje k řízení motorových vozidel, s výjimkou vozidel uvedených v popisu řid. oprávnění D a D1, jejichž maximální přípustná hmotnost převyšuje 3 500 kg, avšak nepřevyšuje 7 500 kg; C1 k tomuto motorovému vozidlu smí být připojeno přípojné vozidlo, jehož maximální přípustná hmotnost nepřevyšuje 750 kg. Motorových vozidel určených pro přepravu osob s více než 8 místy k sezení, kromě místa řidiče; k tomuto motorovému vozidlu smí být připojeno přípojné vozidlo, jehož maximální přípustná D hmotnost nepřevyšuje 750 kg. Motorových vozidel určených pro přepravu osob s více než 8 místy k sezení, kromě místa řidiče, avšak ne s více než 16 místy k sezení, kromě místa řidiče; k tomuto motorovému vozidlu smí být D1 připojeno přípojné vozidlo, jehož maximální přípustná hmotnost nepřevyšuje 750 kg. Jízdních souprav složených z motorového vozidla uvedeného v popisu řid. oprávnění B a přípojB+E ného vozidla, pokud nejde o jízdní soupravu uvedenou v popisu řid. oprávnění B písm. c). Jízdních souprav složených z motorového vozidla uvedeného v popisu řid. oprávnění C+E C a přípojného vozidla, jehož maximální přípustná hmotnost převyšuje 750 kg. Jízdních souprav složených z motorového vozidla uvedeného v popisu řid. oprávnění C1 a přípojného vozidla, jehož maximální přípustná hmotnost převyšuje 750 kg. Maximální přípustná C1+E hmotnost soupravy však nesmí převyšovat 12 000 kg a maximální přípustná hmotnost přípojného vozidla nesmí převyšovat pohotovostní hmotnost motorového vozidla. 8
Aplikace pro výuku uchazečů o řidičský průkaz Jízdních souprav složených z motorového vozidla uvedeného v popisu řid. oprávnění D a přípojného vozidla, jehož maximální přípustná hmotnost převyšuje 750 kg. Jízdních souprav složených z motorového vozidla uvedeného v popisu řid. oprávnění D1 a přípojného vozidla, jehož maximální přípustná hmotnost převyšuje 750 kg a nejsou v něm přepravovány D1+E osoby. Maximální přípustná hmotnost soupravy však nesmí převyšovat 12 000 kg a maximální přípustná hmotnost přípojného vozidla nesmí převyšovat pohotovostní hmotnost motorového vozidla. Opravňuje k řízení mopedů a malých motocyklů s maximální konstrukční rychlostí 45 km/h. AM Traktorů a pracovních strojů samojízdných; k motorovému vozidlu smí být připojeno přípojné T vozidlo.
D+E
Pro budoucí řidiče je pak důležitá vyhláška Ministerstva dopravy a spojů č. 30/2001 Sb., kterou se provádějí pravidla provozu na pozemních komunikacích a úprava a řízení provozu na pozemních komunikacích, protože obsahuje popis, vysvětlení a v příloze i vyobrazení všech dopravních značek a dalších zařízení, kterými se upravuje a řídí provoz na pozemních komunikacích. Dalšími důležitými dokumenty jsou zákon č. 247/2000 Sb., o získávání a zdokonalování odborné způsobilosti k řízení motorových vozidel a prováděcí vyhláška Ministerstva dopravy a spojů 470/2001 Sb. Těmito normami se upravuje získávání odborné způsobilosti k řízení motorových vozidel.
2.2. Získání řidičského průkazu Předpokladem pro získání řidičského průkazu je splnění zákonných podmínek. Ty jsou upraveny v §82 zákona č. 361/2000 Sb., kde kromě věku a zdravotní způsobilosti je hlavní podmínkou získání odborné způsobilosti k řízení motorového vozidla. Získání odborné způsobilosti řeší zákon č. 247/2000 Sb., o získávání a zdokonalování odborné způsobilosti k řízení motorových vozidel a prováděcí vyhláška Ministerstva dopravy a spojů č. 470/2001 Sb.
2.2.1. Získání odborné způsobilosti Pro získání odborné způsobilosti se uchazeč musí podrobit výuce a výcviku v autoškole, po jejím dokončení pak závěrečnému přezkoušení. Toto přezkoušení provádí příslušný okresní úřad, který také určí zkušebního komisaře, jenž přezkoušení provede. Výukou a výcvikem je příprava žadatele na získání řidičského oprávnění pro příslušnou skupinu nebo podskupinu řidičského oprávnění. Předmětem výuky a výcviku žadatelů o řidičská oprávnění je získání potřebných teoretických a praktických znalostí, dovedností a návyků k řízení motorových vozidel v provozu na pozemních komunikacích. Výuka obsahuje výuku předpisů o provozu vozidel, výuku o ovládání a údržbě vozidla, výuku teorie řízení a zásad bezpečné jízdy a zdravotnickou přípravu. Výcvik obsahuje výcvik v řízení vozidla, výcvik praktické údržby vozidla a praktický výcvik zdravotnické přípravy. Rozsah výuky a výcviku je rozdělen podle druhu výuky a výcviku a podle jednotlivých skupin nebo podskupin řidičských oprávnění, k jejichž získání se výuka a výcvik provádí. Žadatel o řidičské oprávnění se musí podrobit zkoušce z odborné způsobilosti k řízení motorových vozidel, která se skládá ze zkoušky z předpisů o provozu na pozemních komunikacích a znalosti zdravotnické přípravy, ze znalosti ovládání a údržby vozidla a z praktické jízdy s výcvikovým vozidlem. Výsledek každé zkoušky se hodnotí stupněm „prospěl“ nebo „neprospěl“. Jestliže žadatel o řidičské oprávnění neprospěl v některé zkoušce, může zkoušku opakovat. Každá opakovaná zkouška může být provedena nejdříve za pět pracovních dní ode dne konání
9
Aplikace pro výuku uchazečů o řidičský průkaz
neúspěšné zkoušky.
2.2.2. Zkouška z odborné způsobilosti Zkoušky z odborné způsobilosti k řízení motorových vozidel jsou zahájeny testem z předpisů o provozu na pozemních komunikacích. Je-li žadatel o řidičské oprávnění u této zkoušky hodnocen stupněm „neprospěl“, nesmí pokračovat v dalších zkouškách, a to až do doby, kdy bude hodnocen stupněm „prospěl“. Zkouška z předpisů o provozu na pozemních komunikacích se provádí testem písemně nebo pomocí výpočetní techniky. Test obsahuje otázky z pravidel provozu na pozemních komunikacích, z předpisu o technických podmínkách provozu vozidel na pozemních komunikacích a dále z předpisů souvisejících s provozem na pozemních komunikacích, které jsou součástí výuky podle učebních osnov. Zkouška prováděná pomocí výpočetní techniky je sestavována náhodným výběrem jednotlivých zkušebních otázek. Znění všech zkušebních otázek z předpisů o provozu na pozemních komunikacích vydává ministerstvo ve Věstníku dopravy. Na vykonání zkoušky se stanoví doba 30 minut. Počet otázek v testu, jejich bodové hodnocení, složení testu podle bodového hodnocení a minimální počet bodů nutných k získání jednotlivých skupin a podskupin řidičského oprávnění stanoví vyhláška Ministerstva dopravy a spojů č. 470/2001 Sb. Podle této vyhlášky je test složen z 25 otázek. Z celkového počtu 25 otázek je 18 otázek z pravidel provozu na pozemních komunikacích, z nichž je 5 otázek z dopravních značek, světelných signálů, dopravních zařízení a zařízení pro provozní informace a 3 otázky z řešení situací na křižovatkách. Dále jsou z celkového počtu 25 otázek 2 otázky z předpisů o podmínkách provozu vozidel na pozemních komunikacích a 5 otázek z předpisů souvisejících s provozem na pozemních komunikacích. V rámci otázek z předpisů souvisejících s provozem na pozemních komunikacích je v každém testu jedna otázka ze znalostí zdravotnické přípravy. Otázky z pravidel provozu na pozemních komunikacích, mimo otázek z dopravních značek, světelných signálů, dopravních zařízení a zařízení pro provozní informace a otázek z řešení situací na křižovatkách, jsou hodnoceny 3 body. Otázky z dopravních značek, světelných signálů, dopravních zařízení a zařízení pro provozní informace jsou hodnoceny 2 body. Otázky z řešení situací na křižovatkách jsou hodnoceny 4 body. Otázky z předpisů o podmínkách provozu vozidel na pozemních komunikacích jsou hodnoceny 1 bodem. Otázky z předpisů souvisejících s provozem na pozemních komunikacích jsou hodnoceny 2 body a otázky ze znalostí zdravotnické přípravy jsou hodnoceny 3 body. Ke každé otázce v testu jsou přiřazeny 4 odpovědi, z nichž nejméně jedna je vždy správná. Za správně zodpovězenou otázku se považuje otázka, u níž byly vybrány a označeny pouze všechny správné odpovědi. Pro hodnocení testu stupněm „prospěl“ je pro řidičské oprávnění skupiny B potřebné získání 56 bodů z 65 možných. Tabulka 2.2.: Potřebný bodový zisk pro hodnocení „prospěl“ u písemné zkoušky Body
Řidičské oprávnění
50
AM
52
A
54
T a podskupiny B
56
A, B a B+E
59
C a C+E a podskupiny C1 a C1+E (Podmínka: všechny otázky z řešení situací na křižovatkách zodpovězeny správně).
10
Aplikace pro výuku uchazečů o řidičský průkaz
61
D a D+E a podskupiny D1 a D1+E (Podmínka: všechny otázky z řešení situací na křižovatkách zodpovězeny správně).
Poté, co uchazeč složí úspěšně test z předpisů o provozu na pozemních komunikacích, dostaví se k přezkoušení ze znalosti ovládání a údržby vozidla (s výjimkou skupiny AM). Zkouška pro skupinu B se provádí ústně dvěma otázkami u modelů či výcvikového vozidla. Rozsah požadovaných znalostí odpovídá znalosti základních soustav vozidla a činitelů, které mají vliv na bezpečnost jízdy a na životní prostředí, jejich běžnou údržbu a odstraňování běžných poruch a závad. Tabulka 2.3.: Rozsah otázek ze znalosti ovládání a údržby Počet otázek Řidičské oprávnění 1
A a podskupiny A1 a B1
2
T, B a B+E
3
C, C+E a podskupiny C1 a C1+E
4
D, D+E a podskupiny D1 a D1+E
Rozsah znalostí Znalosti základních soustav vozidla a činitelů, které mají vliv na bezpečnost jízdy a na životní prostředí, jejich běžnou údržbu a odstraňování běžných poruch a závad. Znalosti základních soustav vozidla a činitelů, které mají vliv na bezpečnost jízdy a na životní prostředí, jejich běžnou údržbu a odstraňování běžných poruch a závad. Skupina T pak dále znalosti v provádění údržby vozidla, jakož i rozpoznávání a odstraňování vyskytujících se poruch s ohledem na požadavky bezpečnosti a hospodárnosti provozu motorových a přípojných vozidel. Znalosti základních soustav vozidla a činitelů, které mají vliv na bezpečnost jízdy a na životní prostředí, jejich běžnou údržbu a odstraňování běžných poruch a závad a dále znalosti v provádění údržby vozidla, jakož i rozpoznávání a odstraňování vyskytujících se poruch s ohledem na požadavky bezpečnosti a hospodárnosti provozu motorových a přípojných vozidel. Znalosti základních soustav vozidla a činitelů, které mají vliv na bezpečnost jízdy a na životní prostředí, jejich běžnou údržbu a odstraňování běžných poruch a závad a dále znalosti v provádění údržby vozidla, jakož i rozpoznávání a odstraňování vyskytujících se poruch s ohledem na požadavky bezpečnosti a hospodárnosti provozu motorových a přípojných vozidel.
11
Aplikace pro výuku uchazečů o řidičský průkaz
3. Možnosti výukových programů V současné době se výukové programy stávají běžnou pomůckou při vzdělávání jak ve školách, tak při samovzdělávání. Rozmach výukových programů úzce souvisí s tím, že se počítače staly běžným vybavením domácností, škol i kanceláří. Tím, jak operační systémy přešly z textového na grafické uživatelské rozhraní, staly se počítače přístupnější i laikům, kteří do té doby neměli reálnou možnost využít možností, jež počítače nabízejí. Grafické uživatelské rozhraní umožnilo vývoj programů, jejichž vzhled a ovládací prvky jsou do značné míry totožné. Tato zásada je velice výhodná, a bývá dobré se jí držet, neboť uživatel pak nevnímá interakci s programem jako zátěž, protože ovládací prvky jsou mu známé a nemusí nad ovládáním programu přemýšlet. V následujícím textu jsou popsány důvody pro použití výukových programů, jejich výhody a nevýhody. Učení s pomocí programů dovoluje využívat současných multimediálních možností počítačů, lze s výhodou využít grafických prvků, obrázků, video sekvencí nebo animací či mluveného slova. Tím lze výuku učinit zajímavou, srozumitelnější a zábavnější. Dalším přínosem je, že učení se stává interaktivní, neboť program může například kontrolovat výsledky, vytvářet statistiky úspěšnosti, přičemž uživatel si je vědom spravedlivosti hodnocení, protože počítač si na něj „nezasedne“. Dalším velkým kladem je možnost volby vlastního tempa při probírání látky, stejně jako času, kdy s učením začít a kdy skončit podle toho, jak to uživateli vyhovuje. Počítačový program se také neunaví a neopotřebovává, na rozdíl od učitele, respektive knihy. Nezanedbatelná je i možnost aktualizace programu, která v případě klasických učebnic znamená většinou nutnost koupě nové. Tím se dostáváme k dalšímu aspektu, který bude jistě čím dál více akcentován, a sice k šetrnosti k životnímu prostředí. Počítačový program lze „vyrábět“ pouhým kopírováním z nějakého zdroje, lze ho přenášet po počítačové síti bez znečistění ovzduší a jeho likvidace je taktéž šetrná, neboť představuje pouze smazání z disku počítače. Výuka pomocí počítačového programu může mít samozřejmě i negativní dopady. Při dlouhodobém používání dochází k nezdravému namáhání zraku, tělo nemá dostatečnou pohybovou a fyzickou aktivitu a většinou také nedochází k řádnému rozvoji verbálních schopností, což může mít za následek, že uživatel pak v běžném prostředí nedovede vyniknout a těžko navazuje vztahy s ostatními lidmi. Zejména u dětí a mládeže pak hrozí, že použití počítače je přivede například k nelegálnímu softwaru, virům apod.
12
Aplikace pro výuku uchazečů o řidičský průkaz
4. Výukový program Autoškola 1.0 4.1. Požadavky na program Jak vyplývá ze zadání bakalářské práce, úkolem bylo vytvořit program, který by uchazeči o řidičské oprávnění umožňoval připravovat se ke zkoušce z předpisů o provozu na pozemních komunikacích a znalosti zdravotnické přípravy. Pro tyto potřeby program implementuje funkce, které uchazeči umožní jednak učit se, ale i procvičovat si jednotlivé testové otázky, kdy program kontroluje správnost uživatelových odpovědí. Uživatel má možnost zvolit si tématické podskupiny testových otázek, kdy se učí, respektive procvičuje pouze jím zvolený okruh otázek. Znění otázek bude respektovat znění zkušebních otázek, které jsou zveřejňovány Ministerstvem dopravy a spojů. Další požadovanou funkcí, která má uživateli co nejvíce napomoci připravit se k závěrečné zkoušce, je simulátor závěrečného testu. Tato funkce umožňuje uchazeči vyzkoušet, zda by v závěrečném testu v autoškole uspěl. Skladba otázek odpovídá složení skutečného testu, splňuje tedy podmínky vyhlášky Ministerstva dopravy a spojů 470/2001 Sb., stejně jako časový limit, kterým je uživatel limitován. Po ukončení testu se uživatel dozví, zda by ve skutečném testu uspěl a jeho výsledek je uložen do statistiky. Statistika je další funkce programu umožňující uživateli zjistit, jaká je z dlouhodobého hlediska jeho úspěšnost v testech. Kromě těchto funkcí pak má program část teoretickou, která obsahuje důležité textové dokumenty související s problematikou silničního provozu, dále část vysvětlující principy funkce jednotlivých částí automobilu, jejichž znalost je potřebná pro úspěšné složení zkoušky ze znalosti ovládání a údržby vozidla. Posledním důležitým dokumentem je stručné shrnutí zásad poskytování první pomoci. Program implementuje výše zmíněné funkce, využívá standardní grafické uživatelské rozhraní a v přiměřené míře multimediálních prvků. Obrázek 4.1.: Výukový program Autoškola 1.0
13
Aplikace pro výuku uchazečů o řidičský průkaz
Pro program Autoškola 1.0 jsem se rozhodl použít programovací jazyk Java z několika důvodů. Programovací jazyk Java vyvinutý firmou Sun Microsystems je interpretovaný jazyk. To znamená, že zdrojový kód programu není překladačem přeložen do strojového jazyka počítače, ale do pseudojazyka nazývaného bajtkód (byte-code). Tento jazyk je nezávislý na cílovém počítači, respektive operačním systému. Bajtkód je pak při spouštění programu interpretován interpretem. Ten se nazývá JVM (Java Virtual Machine). Výsledný program (bajtkód) lze tedy bez úprav spustit na libovolném počítači, respektive operačním systému, na kterém je přítomen příslušný interpret JVM. Ten bývá součástí tzv. Java platformy, která je v současné době dostupná pro většinu operačních systémů, zejména tedy MS Windows, Unix, Linux či Mac OS. Toto byl hlavní důvod, proč byl při vývoji programu Autoškola 1.0 použit programovací jazyk Java. Program je snadno přenositelný na jiné platformy, má totožný vzhled pod různými operačními systémy a jednotný zdrojový kód. Nevýhodou tohoto rozhodnutí je v případě Javy principiálně pomalejší běh programů, než u jiných jazyků. Důvodem je právě to, že program je nutno při spouštění a během činnosti interpretovat, což poněkud zpomaluje jeho běh. V současné době se však rozdíly do značné doby smazávají, výkon počítačů roste, ale zejména pro tuto výukovou aplikaci není pomalejší běh velkým problémem.
4.2.1. Swing V předcházejícím odstavci bylo zmíněno, že aplikace má stejný vzhled při běhu pod jinými operačními systémy. Důvod, proč je to možné, se jmenuje Java Core API. Jedná se o balík základních knihovních tříd, které se vyskytují v každé platformě Javy, tedy pod každým operačním systémem, kde je Java přítomna. API poskytuje dva balíky tříd pro vytváření grafických aplikací. Starší se jmenuje AWT (Abstract Windowing Toolkit). Její výhodou je rychlejší běh, jednodušší použití, nevýhodou, že vzhled grafických prvků je ovlivněn platformou, a je značně omezen jejich počet. To proto, že AWT při zobrazení grafických prvků využívá okenní systém příslušného operačního systému a jeho grafické knihovny, podporuje tedy jen společný zlomek těchto prvků, které se v zobrazení liší v závislosti na operačním systému. Novější a v současné době jasně dominující se jmenuje Swing. Ten si všechny komponenty vykresluje sám, díky tomu pak nabízí velké množství grafických komponent pro vývoj aplikací. Umožňuje již výše zmíněný totožný vzhled aplikací díky použití manažerů zobrazení určujících vzhled grafických prvků, poskytuje maximální flexibilitu a možnost použití více zobrazení pro konkrétní komponentu. Daní za toto bohatství je složitost programování a pomalé zobrazování za běhu aplikace. Pokud nepotřebujeme žádnou z funkcí, které nabízí Swing, zůstaneme u rychlejšího zobrazení pomocí AWT. V praxi ale i u jednoduchých aplikací narážíme na hranice možností AWT. Strohost grafických komponent AWT a jednota zobrazení tak byly hlavním důvodem pro použití knihoven Swing při vývoji programu Autoškola 1.0.
4.3. Návrh uživatelského rozhraní Po stanovení požadavků na funkci bylo navrženo uživatelské rozhraní. Cílem bylo, aby ovládání programu bylo do značné míry intuitivní a nepředstavovalo pro uživatele zbytečnou zátěž. Program Autoškola 1.0 je rozdělen na dva panely, přičemž levý menší má konstantní velikost a obsahuje menu určené pro navigaci ve funkcích programu, zatímco pravý panel vyplňuje zbytek velikosti okna programu a slouží pro zobrazování jednotlivých funkcí programu. Při změnách velikosti programu pak zůstává velikost navigačního panelu stejná, zatímco pravý panel se zvětšuje, respektive zmenšuje. Toto řešení základního uspořádání programu bylo vybráno, neboť 14
Aplikace pro výuku uchazečů o řidičský průkaz
se často vyskytuje zejména u internetových stránek a uživatel by s orientací neměl mít větší potíže. Okno programu je ještě doplněno o další standardní prvky, kterými jsou lišta menu v horní části programu a stavová lišta na spodní části. Horní lišta menu je standardní součástí většiny programů a její funkce je obdobná i v programu Autoškola 1.0. Spodní stavová lišta je určena pro vypisování informací pro uživatele za běhu programu. Obrázek 4.2.: Návrh uživatelského rozhraní lišta menu hlavní navigační pravý panel, sloužící pro zobrazování jednotlivých menu programu funkcí programu
stavová lišta
4.3.1. Levý a pravý panel Jak již bylo řečeno, levý panel slouží k navigaci programem, respektive k výběru jeho hlavních funkcí. V pravém panelu se pak zobrazují požadované volby, tedy jednotlivé funkce programu. Položky menu levého panelu jsou tvořeny vzájemně se vylučujícími přepínači (radio button). To znamená, že uživatel může mít aktivovánu vždy jen jednu hlavní funkci programu. ·
Úvod
Tato volba přepínače je implicitně zvolena při startu programu a zobrazí v hlavním (pravém) panelu aplikace informace pro uživatele společně s nápovědou. ·
Teoretická výuka
Tato volba zobrazí v hlavním panelu aplikace záložky se třemi panely, kterými uživatel zvolí jednu z kapitol teoretické výuky. Tyto mají po řadě názvy Dokumenty, Automobil a První pomoc. §
Dokumenty
První volbou se uživatel dostane do sekce dokumentů, která obsahuje základní textové dokumenty potřebné pro plné pochopení problematiky provozu na pozemních komunikacích. Jedná se o plné znění zákona č. 361/2000 Sb., o provozu na pozemních komunikacích, dále o vyhlášku Ministerstva dopravy a spojů č. 30/2001 Sb, kterou se provádějí pravidla a úprava řízení provozu na pozemních komunikacích. Součástí dokumentů je i příloha vyhlášky, která obsahuje vyobrazení dopravních značek a dopravních zařízení. Posledním dokumentem je pak seznam otázek ze znalosti ovládání a údržby vozidla, které může uchazeč o řidičské oprávnění očekávat u závěrečné zkoušky. Ke každé otázce je připojena stručná odpověď. Dokumenty jsou zobrazovány v samostatném okně, což umožňuje jejich použití i při další práci s programem.
15
Aplikace pro výuku uchazečů o řidičský průkaz
§
Automobil
V pořadí druhá záložka obsahuje do šesti kapitol rozdělenou problematiku principů funkce automobilu. První kapitola vysvětluje funkci benzínového a naftového motoru, součástí je kromě obrázků i jednoduchá animace pracovního cyklu benzínového motoru. Druhá kapitola se věnuje převodovce a její funkci, následují kapitoly o brzdové soustavě, podvozku a karoserii. Poslední kapitola se věnuje palubní desce a významu jednotlivých kontrolek na přístrojovém štítu. Každá z kapitol je tvořena několika snímky a vysvětlujícím textem. Obrázek 4.3. : Zobrazeni záložky Automobil v programu Autoškola 1.0
§
První pomoc
Poslední záložka obsahuje informace ve stručnosti popisující, kterak poskytnout první pomoc při dopravní nehodě, jak rozpoznat jednotlivá zranění a správně je ošetřit, případně obnovit základní životní funkce.
16
Aplikace pro výuku uchazečů o řidičský průkaz ·
Procvičování testových otázek
Tento přepínač aktivuje funkci procvičování testových otázek. Výběr otázek lze ovlivnit volbou příslušného tématického podokruhu. Je možné vybírat z otázek týkajících se pravidel provozu, řidičského oprávnění, zdravotní přípravy, technických předpisů, dopravních značek nebo situací na křižovatkách. Volba se provádí zaškrtnutím příslušného zaškrtávacího políčka (checkbox). Otázka se zobrazí v hlavní části okna programu, zadání s případným obrázkem v horní části, odpovědi jsou seřazeny pod sebe. Uživatel zaškrtává ty z odpovědí, které považuje za správné. Pak tlačítkem Vyhodnotit zjistí, zda odpověděl správně. Chybné odpovědi jsou označeny červeně, správné zeleně. Poté lze stisknutím tlačítka Další >> přejít k další otázce a proces se opakuje. Otázky se zobrazují jedna za druhou, není možné se pohybovat zpět. Během procvičování se ve spodní části hlavního okna zobrazuje počet správně a špatně zodpovězených otázek současně s procentuální úspěšností. ·
Výuka testových otázek
V pořadí čtvrtý přepínač aktivuje funkci výuky testových otázek. Pomocí zaškrtávacích políček uživatel může ovlivnit, zda výuka bude probíhat ze všech otázek nebo pouze z některých tématických podokruhů. Režim zobrazení je stejný jako v případě Procvičování testových otázek, rozdíl spočívá v tom, že správné odpovědi na otázky jsou zvýrazněny a v otázkách je možno pohybovat se vpřed i vzad pomocí tlačítek ve spodní části. Pokud se uživatel rozhodne změnit rozsah vyučovaných otázek pomocí zaškrtávacích políček, je tato volba platná až po znovuzvolení přepínače Výuka testových otázek. Zabraňuje se tak nechtěné změně rozsahu otázek. ·
Simulátor testu
Poslední z hlavních funkcí je Simulátor testu, který uživateli umožňuje vyzkoušet si, zda a jak by uspěl u závěrečného testu z pravidel provozu na pozemních komunikací. K dispozici je 20 různých variant testů, které svou skladbou odpovídají skutečným testům. Model zobrazení je opět stejný jako v případě Výuky nebo Procvičování testových otázek. Podobně jako ve Výuce se tedy uživatel může v otázkách pohybovat směrem vpřed i vzad. Na rozdíl od Procvičování však k vyhodnocení testu dochází až na popud uživatele nebo po vypršení třicetiminutového časového limitu. Uplynulý čas se zobrazuje v horní části panelu Simulátoru. Výsledek testu se zapíše do statistiky. Po vyhodnocení testu má uživatel možnost prohlédnout si své odpovědi a zjistit, zda a kde případně chyboval.
4.3.2. Lišta menu Horní lišta menu obsahuje čtyři položky. První je Autoškola, druhou Statistika, následuje Vzhled programu a Nápověda. ·
Autoškola
Pod položkou Autoškola jsou přístupné položky mající stejnou funkci jako přepínací tlačítka hlavního menu, dále pak položka Konec umožňující ukončit program. ·
Statistika
Položka Statistika obsahuje dvě položky. První zobrazuje statistiku úspěšnosti, druhá umožňuje vymazat historii výsledků testů.
17
Aplikace pro výuku uchazečů o řidičský průkaz
Položka Výsledky informuje uživatele o počtu správně a špatně zodpovězených otázek v testech. Další informací je jeho dosud nejlepší a nejhorší výsledek dosažený v závěrečném testu z pravidel provozu na pozemních komunikacích. Nakonec se uživatel dozví, jaká je jeho celková procentuální úspěšnost odpovědí. Volba Smazat výsledky smaže soubor obsahující dosavadní výsledky testů. Toho lze využít kupříkladu poté, co uživatel zvládne dostatečně znalost pravidel provozu a chce, aby výsledky statistiky nebyly příliš ovlivňovány předchozími neúspěšnými pokusy. Taktéž je dobré smazat statistiku, když jsme program delší dobu nepoužívali nebo používal-li jej někdo jiný. ·
Vzhled programu
V této položce jsou přístupny tři vzájemně se vylučující volby (radio button), umožňující měnit vzhled programu. První volba Windows nastaví vzhled programu ve stylu zvyklostí operačního systému MS Windows. Následující volba Unix nastaví programu vzhled typický pro operační systémy Unix (Motif). Poslední volba Java nastavuje programu vzhled implicitní pro Javu. Tyto přepínače slouží uživateli, aby si vzhled programu na různých platformách nastavil podle svých potřeb a zvyklostí, kupříkladu během práce na počítači s operačním systémem MS Windows lze nastavit vzhled typický pro Unix. Vzhled aplikace Autoškola 1.0 je optimalizován pro volbu Windows. ·
Nápověda
Položka Nápověda obsahuje dvě položky, Nápověda a O programu Autoškola 1.0. Nápověda vyvolá nápovědu k programu, která se zobrazí v novém okně. Tím je umožněno pracovat s programem a zároveň mít k dispozici nápovědu k programu, jak bývá obvyklé. Druhá položka O programu Autoškola 1.0 vyvolává standardní dialogové okno informující uživatele o verzi a autorovi programu.
4.4. Uchovávání dat Pro funkci programu bylo nutné navrhnout datovou strukturu pro uchovávání dat. Celý výukový program pracuje do značné míry pouze s testovými otázkami. Samozřejmě obsahuje i jiná data, jako jsou obrázky a různé textové dokumenty, klíčové výukové funkce však souvisejí právě s testovými otázkami. Vzhledem k tomu, že drtivá většina otázek se skládá pouze z textu, ostatní pak obsahují navíc pouze obrázek, nebyla zaváděna nějaká složitá datová struktura a otázky jsou ukládány do textového souboru. Soubor má jednoduchou strukturu (viz tabulka) a lze jej snadno upravit bez dalších nástrojů. Vzhledem k tomu, že Java poskytuje dostatek funkcí pro převod řetězců na jiné datové typy stejně jako pro práci s nimi, nebyla implementace složitá. Tabulka 4.1.: Struktura záznamu otázky v souboru řádek v souboru 1 2 3 4 5 6 7 8
význam číslo otázky zadání otázky a) první možná odpověď b) druhá možná odpověď c) třetí možná odpověď d) čtvrtá možná odpověď X1X2X3X4 určení správných odpovědí ( Xi=1 i-tá správná, Xi=0 i-tá špatná ) komentář k otázce
18
Aplikace pro výuku uchazečů o řidičský průkaz
9 10
název souboru s obrázkem oddělovací řádek
4.5. Implementace K vývoji programu Autoškola 1.0 bylo použito prostředí Borland JBuilder 7, které je v základní verzi k dispozici zdarma a umožňuje rychlý vývoj aplikací (RAD Rapid Aplication Development). Výsledný zdrojový kód byl upravován pro zachování přehlednosti. JBuilder byl výhodný zejména při vytváření grafického rozhraní, neboť obsahuje editor Designer, WYSIWYG nástroj (What You See Is What You Get) pro tvorbu grafických uživatelských rozhraní. Vzhledem ke komplexnosti a potažmo také složitosti knihovny Swing, je tato funkce při práci velice užitečná a usnadňuje vývoj. V následujících podkapitolách budou ve stručnosti popsány nejdůležitější třídy programu, zejména jejich funkce a význam, který v programu mají.
4.5.1. Hlavní třídy programu ·
Autoskola Třída Autoskola obsahuje metodu main(), která spouští program vytvořením instance třídy Autoskola. Tím dojde k volání konstruktoru třídy, který pak vytvoří instanci třídy Okno, vykreslující hlavní okno aplikace. Sama o sobě třída Autoskola nevytváří žádné grafické prvky, pouze vytvořené instanci třídy Okno nastaví velikost a umístění na obrazovce. ·
Okno Třída Okno se stará o vykreslení hlavního okna programu. Při vytvoření instance třídy Okno dojde k volání konstruktoru Okno(), který provede vytvoření okna programu. Poté jsou do nově vytvořeného okna vkládány jednotlivé komponenty. Do horní části okna se vkládá lišta menu, do dolní části pak stavová lišta. V těle konstruktoru se pak vytvoří instance tříd LevyP a PravyP, které definují obsah levé a pravé části okna programu. Po inicializaci jsou vloženy do okna programu. Konstruktor třídy Okno tak zajišťuje složení obsahu hlavního okna programu. Kromě konstruktoru pak třída Okno obsahuje funkce pro obsluhu lišty menu. ·
LevyP Třída LevyP je následníkem rodičovské třídy JPanel. Konstruktor LevyP(Okno) vytváří navigační panel menu pro ovládání hlavních funkcí programu. Parametr Okno konstruktoru umožňuje přístup k proměnným jiných tříd. Třída dále obsahuje obslužné funkce pro přepínače a zaškrtávací políčka menu. Ty v případě přepínačů zajišťují změny obsahu hlavní části okna programu pomocí instancí třídy PravyP. ·
PravyP Třída PravyP je následníkem rodičovské třídy JPanel. Konstruktor PravyP(Okno, String) vytvoří podkladový panel, na nějž se vloží obsah, který je určen druhým řetězcovým parametrem konstruktoru. Podle tvaru parametru se vytvoří instance příslušné třídy, která se vloží na pravý panel. Příslušnou třídou je buď Uvod, Teorie, Vyuka, Procvicovani nebo Simulator.
19
Aplikace pro výuku uchazečů o řidičský průkaz
Obrázek 4.4.: Struktura programu z pohledu tříd Okno LevyP
PravyP Uvod / Teorie / Procvicovani / Simulator
Vyuka
/
·
Uvod Třída Uvod má konstruktor Uvod(Okno), který zobrazí na pravý panel úvodní obrazovku programu. ·
Teorie Instance třídy Teorie zajistí vykreslení panelu s teoretickou výukou na pravý panel programu. ·
Vyuka Třída Vyuka ve svém konstruktoru Vyuka(Okno) realizuje vykreslení plochy pro výuku testových otázek. Pomocí parametru Okno lze přistupovat k proměnným z třídy LevyP a zjišťovat tak informace o vybraných okruzích otázek. Třída dále obsahuje metodu inicializuj(), která v závislosti na stavu zaškrtnutých políček volá metodu nactiSeznam(Vstup, int), jež naplní seznam instancemi třídy Otazka, které reprezentují jednotlivé testové otázky. Parametr int určuje okruh testových otázek. Metoda vypisOtazku(Otazka) vypíše testovou otázku, která je jí předána jako parametr. Pro pohyb v testových otázkách slouží tlačítka <
>. Při stisku tlačítka je vyvolána obsluha události. Při ní se vyhodnotí, zda se požaduje další, či předchozí otázka. Podle toho se zvýší, respektive sníží index do seznamu otázek. Z daného indexu se poté vybere objekt typu Otazka a předá se metodě vypisOtazku(Otazka) zajišťující pak její vykreslení. Kvůli přehlednosti je obsluha událostí ze třídy Vyuka přesunuta do třídy PosluchacV.
·
Procvicovani Třída Procvicovani zajišťuje vykreslení plochy pro procvičování testových otázek. Kromě načtení otázek do seznamu otázek a jejich vypisování, se třída stará o vyhodnocení odpovědí uživatele a aktualizaci průběžně zobrazovaných výsledků úspěšnosti. Tato funkce je
20
Aplikace pro výuku uchazečů o řidičský průkaz
zajištěna metodou vyhodnotOtazku(Otazka). Podobně jako v třídě Vyuka je obsluha událostí přesunuta do třídy PosluchacP. ·
Simulator Třída Simulator je do značné míry analogická se třídami Vyuka a Procvicovani. Nejdříve se pomocí metody generujMutaci() naplní seznam otázek příslušnou verzí závěrečného testu. Třída pak zajišťuje zobrazování testových otázek a po uplynutí časového limitu nebo na popud uživatele provede vyhodnocení testu pomocí metody vyhodnotTest(). ·
Stopky Třída Stopky je pomocná třída pro třídu Simulator. Třída zajišťuje vypisování zbývajícího času pro závěrečný test. Pro tento účel třída vytvoří vlákno, které vždy vypíše zbývající čas, sníží hodnotu pomocné proměnné představující zbývající čas v sekundách o jedničku a uspí se na dobu jedné sekundy. Poté se cyklus opakuje. V případě, že uživatel test ukončí nebo vypršel čas, je cyklus ukončen a provede se vyhodnocení testu. Konstruktor má tvar Stopky(String, int, Simulator), kde parametr String slouží pro pojmenování vlákna, Simulator umožňuje přístup k proměnným a metodám třídy Simulator a int specifikuje časový limit v minutách. Obrázek 4.5.: Základní struktura zobrazení tříd Vyuka, Procvicovani a Simulator Horní lišta zobrazí číslo otázky, případně uplynulý čas testu. Panel pro zobrazení Obsahuje-li otázka obrázek, zobrazí se zde. textového zadání testové otázky.
Na tomto panelu se zobrazí možné odpovědi, ze kterých uživatel vybírá správnou. a) první možná odpověď b) druhá možná odpověď c) třetí možná odpověď d) čtvrtá možná odpověď Lišta s tlačítky pro pohyb v otázkách, případně pro vyhodnocení odpovědí.
4.5.2. Třídy pro práci s multimediálními prvky V kapitole o možnostech výukových programů byla zmíněna důležitost a výhoda použití multimediálních prvků při výuce pomocí počítačových programů. Z tohoto důvodu proto výukový program Autoškola 1.0 využívá pro svou činnost některých multimediálních prvků. K jejich realizaci používá tři třídy. ·
Obrazek Tato třída slouží pro zobrazení obrázku. Konstruktor Obrazek(JPanel, String) vykreslí na panel specifikovaný prvním parametrem obrázek specifikovaný druhým parametrem konstruktoru. Třída využívá služeb třídy MediaTracker, která obrázek nejdříve uloží do paměti a teprve poté jej vykreslí na panel. Zabraňuje se tak nepříjemnému trhání při zobrazování obrázku, 21
Aplikace pro výuku uchazečů o řidičský průkaz
které by mohlo nastat v momentě, kdy zobrazovací metoda nemá k dispozici obrazová data, protože ještě probíhá jejich načítání. ·
Animace Třída Animace slouží pro přehrávání krátkých animací. Animace je realizována nejjednodušší možnou formou, tedy pravidelným střídáním jednotlivých snímků po uplynutí určité doby, v tomto případě činící 300 milisekund. Konstruktor Animace(JPanel, String, int) vloží na zadaný panel kreslící plochu a načte jednotlivé snímky ze zadaného umístění. Jejich počet určuje třetí parametr. Načtení je realizováno pomocí třídy MediaTracker. Díky jejímu použití je zaručeno, že všechny snímky animace budou načteny do paměti dříve, než se animace spustí. Tím se zabrání trhanému zobrazení a zpomalení běhu. Pro spuštění nebo zastavení animace pak slouží metody start(), respektive stop(). Metoda start() spustí vlákno, které na plátno vykreslí jeden snímek animace a poté se uspí na dobu 300 milisekund. Po uplynutí této doby se vlákno vzbudí a překreslí plochu dalším snímkem animace. Tato smyčka běží do té doby, než je animace vypnuta metodou stop(), která ukončí probíhající cyklus. ·
Zvuk Třída Zvuk slouží pro přehrávání zvuku. Třída je potomkem rodičovské třídy Thread. Voláním konstruktoru Zvuk(String) se vytvoří nové vlákno, které provede přehrání zvukového souboru zadaného v parametru konstruktoru. Díky použití vlákna je umožněna práce s programem zatímco probíhá přehrávání zvukového záznamu. V současné verzi programu není možnost přehrávat zvuk využita. Třída je k dispozici pro pozdější rozvoj programu.
4.5.3. Další třídy Zbývající třídy jsou pomocné, slouží pro vedlejší funkce programu nebo jsou použity při konstrukci grafického uživatelského rozhraní. Zmíněny budou třídy dovolující zobrazení výsledků, textových dokumentů nebo práci se statistikou. ·
Dokument Třída Dokument vytvoří nové okno, ve kterém zobrazí textový dokument. To umožňuje současnou práci s programem i s textovým dokumentem. Třída Dokument je využívána pro zobrazení jednotlivých textových dokumentů z kapitoly Teoretická výuka nebo pro zobrazení nápovědy k programu. ·
DialogOkno Třída DialogOkno je potomkem rodičovské třídy JDialog a obsahuje více konstruktorů. Použití jednotlivých konstruktorů umožňuje vykreslovat různá dialogová okna, která slouží pro vypisování výsledků procvičování, závěrečného testu, statistiky apod. Další uplatnění třídy lze nalézt při volbě varianty závěrečného testu. ·
Vstup Třída Vstup je používána pro načítání dat ze souboru. Nejdůležitější metody jsou naplnSeznam(LinkedList,BufferedReader), která naplní seznam testových otázek a nactiStatistiku(DialogOkno, BufferedReader), jež slouží k načtení statistiky úspěšnosti ze souboru.
22
Aplikace pro výuku uchazečů o řidičský průkaz
·
Vystup Třída Vystup realizuje zápis dat do souboru. Program jejich služeb využívá při aktualizaci výsledků statistiky po ukončení testu nebo pokud se uživatel rozhodne smazat své dosavadní výsledky. Metoda zapisVysledek(String, int, int) zapíše do souboru informace o výsledku testu. Metoda smazatStatistiku(String) smaže výsledky testů v souboru statistiky.
23
Aplikace pro výuku uchazečů o řidičský průkaz
5. Srovnání s existujícími programy Program Autoškola 1.0 byl porovnán s několika existujícími programy stejného zaměření. Každý porovnávaný program je krátce představen a na konci kapitoly je pak uvedena tabulka srovnávající jednotlivé programy navzájem.
5.1. Autoškola 2003 Autoškola 2003 je výukový program určený pro uchazeče o řidičské oprávnění skupin A, B, C, D, E a T. Je určen pro operační systémy MS Windows a nevyžaduje instalaci. Program obsahuje funkce pro prohlížení, procvičování, zkoušení a závěrečný test. Režim procvičování se od zkoušení liší pouze v absenci pole informujícího uživatele o procentuální úspěšnosti jeho odpovědí. Každá odpověď je vyhodnocována okamžitě, což bohužel platí i v režimu závěrečného testu, kdy se nelze k jednotlivým otázkám vracet a je nutno zodpovídat jednu po druhé. Uživatelské prostředí je ze všech porovnávaných programů nejjednodušší a program je snadno ovladatelný. Rozsah funkcí pokrývá nezbytné minimum. Zdarma je dostupná zkušební verze, kde je počet testových otázek omezen na 70. Plná verze je ze všech ostatních programů nejlevnější. Program je k dispozici na internetové adrese http://www.holubec.cz. Obrázek 5.1.: Autoškola 2003
24
Aplikace pro výuku uchazečů o řidičský průkaz
5.2. Autoškola 3D Tento výukový program podporuje výuku a procvičování testových otázek. Uživatel se může podrobit závěrečnému testu, případně si zopakovat chybně zodpovězené testy. Program podporuje všechny podskupiny řidičského oprávnění. Autoškola 3D umožňuje práci více uživatelů, k tomu slouží procedura přihlášení. Kapitoly zabývající se teoretickou výukou nejsou jeho součástí. Uživatelské rozhraní není standardní, po krátkém cviku však práce s ním nečiní větších problémů. Registrovaná verze je podmíněna zaplacením poplatku, který je odvislý od toho, pro kolik instalací se rozhodneme. To platí zejména pro autoškoly a pro běžného uživatele není podstatné. Program je určen pro operační systémy MS Windows a vyžaduje instalaci. Program lze získat na internetové adrese http://www.autoskola.cz. Obrázek 5.2.: Autoškola 3D
25
Aplikace pro výuku uchazečů o řidičský průkaz
5.3. Autoškola professional Program určený pro operační systémy MS Windows umožňuje práci více uživatelů, bez vzájemného ovlivňování výsledků. Uživatel může volit mezi výukou, procvičováním, závěrečným testem nebo prohlídkou statistiky. Program podporuje všechny podskupiny řidičského oprávnění. K dispozici je funkce umožňující prohlížení špatně zodpovězených otázek. Program obsahuje vybrané paragrafy zákona č. 361/2000 Sb., o provozu na pozemních komunikacích, jiné zdroje k teoretické výuce nejsou přítomny. Program nepoužívá standardní uživatelské rozhraní. Při spuštění v operačním systému MS Windows 95 se během práce s programem ztrácel nad některými komponentami programu ukazatel myši. Na druhou stranu program nabízí dostatek funkcí, zejména pak propracovanou statistiku. Program vyžaduje instalaci a plná verze je zpoplatněna v souvislosti s počtem zakoupených licencí. Autoškolu professional lze získat na adrese http://www.unio.cz. Obrázek 5.3.: Autoškola professional
26
Aplikace pro výuku uchazečů o řidičský průkaz
5.4. Autouniverzita 1.0 Program Autouniverzita 1.0 je určen pro operační systémy MS Windows. Uživateli nabízí přehledný a jednoduchý vzhled, tvořený standardními grafickými prvky. Jednotlivé funkce programu jsou uspořádány v hlavním okně do pěti záložek. První záložka nabízí k prostudování důležité dokumenty související s problematikou provozu na pozemních komunikacích. Další záložka umožňuje procvičování situací na křižovatkách. Výuka a procvičování testových otázek probíhá v sekci Otázky. Uživatel si může zvolit mód prohlížení nebo procvičování, stejně jako příslušný podokruh zkušebních otázek. V sekci Testy si uživatel může vyzkoušet závěrečný test. Poslední sekce Vyhodnocení sleduje a zobrazuje úspěšnost odpovědí na jednotlivé otázky v průběhu práce s otázkami nebo testy. Právě zde se lze dozvědět, které otázky dělají uživateli problémy. Výuka není zaměřena pouze na nejběžnější řidičské oprávnění skupiny B, ale podporuje i všechny zbývající. Program je primárně určen pro jednoho uživatele, nepodporuje tedy oddělenou práci více uživatelů. Program vyžaduje instalaci. Autouniverzita 1.0 nabízená společností Turbina software je zdařilým a přehledným programem díky dobrému uživatelskému rozhraní a bohatosti funkcí. Nevýhodou je tak pouze jeho cena, která je ze všech srovnávaných programů nejvyšší. Demoverze je k dispozici na internetové adrese http://www.autouniverzita.cz. Obrázek 5.4.: Autouniverzita 1.0
27
Aplikace pro výuku uchazečů o řidičský průkaz
Tabulka 5.1.: Srovnávací tabulka programů Název programu
skupiny řidičských oprávnění
prohlídka chybných odpovědí
podpora více uživatelů
teoretická výuka
statistika
Autoškola 1.0
B
ne
ne
ano
ano
ne
ne
ne
ne
ano
ano
ne
ne
ano
ano
ne
ano
ano
ne
částečná
ano
Autoškola 2003 Autoškola 3D Autoškola professional Autouniverzita 1.0
všechny skupiny všechny skupiny všechny skupiny všechny skupiny
operační systém nespecifikován MS Windows MS Windows MS Windows MS Windows
Srovnávací tabulka ukazuje vzájemné rozdíly v programech, tedy co který program nabízí oproti jinému. Funkce jako výuka nebo test nejsou v tabulce zmiňovány, neboť jsou brány jako nezbytné a všechny porovnávané programy je též implementují.
5.5. Testomanie Na závěr a mimo srovnání je uvedena ještě jedna možnost, jak si osvojit znalost testových otázek. Pokud není pro výuku požadován počítačový program, jsou v současné době na internetové adrese http://www.testomanie.cz/autoskola dostupné stránky, kde si lze zdarma prohlížet testové otázky včetně odpovědí a vyzkoušet si i závěrečný test. Potřebné vyhodnocení odpovědí v testu obstarává JavaScript. Stránky jsou přístupné zdarma. Na rozdíl od programů je však použití podmíněno připojením k internetu, což tuto alternativu pro většinu uživatelů z dlouhodobého hlediska diskvalifikuje.
28
Aplikace pro výuku uchazečů o řidičský průkaz
6. Vývoj 6.1. Řidičská oprávnění Autoškola 1.0 ve své první verzi umožňuje přípravu k testovým zkouškám pro uchazeče o řidičské oprávnění skupiny B. V případě dalšího vývoje by bylo vhodné se zaměřit i na ostatní skupiny řidičského oprávnění a příslušně modifikovat i program, neboť by se nejednalo o nějak zvlášť náročnou operaci. Výsledkem rozšíření by pak bylo, že program by se mohl stát užitečným pomocníkem i ostatním žadatelům o řidičský průkaz. Úprava programu by zahrnovala v podstatě dvě změny. První a největší spočívá v rozsahu teoretických znalostí, kdy uchazeči o řidičské oprávnění jiných skupin potřebují větší nebo menší znalosti z ovládání a údržby vozidla. Znamenalo by to patřičně rozšířit, respektive omezit kapitolu teoretická výuka. Druhou změnou je počet bodů potřebných k splnění závěrečného testu, kdy se nároky liší podle jednotlivých skupin řidičského oprávnění.
6.2. Databáze chybných odpovědí Ze srovnávací tabulky vyplývá, že program Autoškola 1.0 neobsahuje funkci pro výuku chybně zodpovězených testových otázek, což pravděpodobně nepředstavuje velký problém. Při vyhodnocení testu si uživatel může prohlédnout, které otázky zodpověděl špatně a zároveň zjistit správné odpovědi. Většinou také uchazečům dělá problém pouze některá podskupina otázek, kupříkladu technické předpisy nebo křižovatky. V tom případě se pak uživatel může věnovat výuce těchto podskupin.
6.3. Podpora více uživatelů Další funkce, kterou program Autoškola 1.0 neobsahuje, je podpora práce více uživatelů. Se začleněním této funkce do programu není do budoucna počítáno, neboť její přítomnost má smysl pouze, je-li program používán přímo v autoškole, kdy je jedna instalace programu využívána více žáky, případně není licenčními podmínkami povolena instalace na více počítačů, avšak Autoškola 1.0 je určena primárně pro domácí použití a je k dispozici zdarma.
6.4. Zvuk Do budoucna je počítáno s tím, že program bude využívat třídu Zvuk, která umožňuje přehrávat zvukové záznamy. V současné době je třída funkční, ale není využita. Zvukových prvků by šlo využít jako řídících elementů, upozorňujících uživatele na různé okolnosti, kupříkladu na různé chybové situace. Další využití by pak připadalo v úvahu například v kapitole s teoretickou výukou. Třída Zvuk by zde mohla najít využití třeba při vytváření vysvětlující komentářů k animacím nebo fotografiím v kapitole Automobil.
29
Aplikace pro výuku uchazečů o řidičský průkaz
7. Závěr Snahou bakalářské práce bylo vytvořit počítačový výukový program, který by byl uchazečům o řidičské oprávnění k dispozici zdarma a nebyl vázán pouze na jeden konkrétní operační systém. Práce seznamuje se související legislativou a obsahuje rozbor možností, návrh a realizaci výukového počítačového programu Autoškola 1.0 včetně jeho srovnání s jinými obdobnými produkty. Program je k dispozici bezplatně a umožňuje uchazeči o řidičské oprávnění nejrozšířenější skupiny B učit se sadu testových otázek, vyzkoušet své znalosti při procvičování a konečně absolvovat závěrečný test, který ověří, zda by uživatel obstál u závěrečného testu z pravidel provozu na pozemních komunikacích. Součástí programu je i kapitola zabývající se teoretickou výukou. V ní uživatel nalezne důležité dokumenty, včetně vyobrazení dopravních značek, otázky a odpovědi pro test z ovládání a údržby vozidla, texty vysvětlující principy funkce automobilu a informace o poskytování první pomoci. Do budoucna je počítáno s využitím zvuku a rozšířením programu na všechny typy řidičského oprávnění.
30
Aplikace pro výuku uchazečů o řidičský průkaz
Použitá literatura [1]
Herout, P.: Učebnice jazyka Java. České Budějovice, KOPP 2001.
[2]
Herout, P.: Java, grafické uživatelské rozhraní a čeština. České Budějovice, KOPP 2001.
[3]
Souček, V.: Učebnice pravidel silničního provozu. Praha, Ottovo nakladatelství 2003.
[4]
Hawlitzek, F.: Java 2, příručka programátora. Praha, Grada 2002.
[5]
The Java Tutorial, A practical guide for programmers, Sun Microsystems, Inc., 2003. Dokument dostupný na URL: http://java.sun.com/docs/books/tutorial (jaro 2003)
[6]
The Java 2 Platform API Specification , Sun Microsystems, Inc., 2003. Dokument dostupný na URL: http://java.sun.com/j2se/1.4.1/index.html (jaro 2003)
[7]
Kosek, J.: HTML tvorba dokonalých WWW stránek. Praha, Grada 1998.
[8]
Autoškola 2003, výukový program dostupný na URL: http://www.holubec.cz (listopad 2003)
[9]
Autoškola 3D, výukový program dostupný na URL: http://www.autoskola.cz (listopad 2003)
[10]
Autoškola professional, výukový program dostupný na URL: http://www.unio.cz (listopad 2003)
[11]
Autouniverzita 1.0, výukový program dostupný na URL: http://www.autouniverzita.cz (listopad 2003)
[12]
Testomanie, výukové stránky dostupné na URL: http://www.testomanie/autoskola.cz (březen 2004)
31
Aplikace pro výuku uchazečů o řidičský průkaz
Přílohy 1. Spuštění výukového programu Autoškola 1.0 1.1. Spuštění v systému MS Windows Program zkopírujeme z přiloženého CD. Z adresáře Autoskola1.0 překopírujeme všechny podadresáře a soubory do adresáře, ve kterém je nainstalována Java (např. C:/Windows/Java/jre). V tomto adresáři musí být přítomen soubor java.exe. Toto řešení je neelegantní, ale bude jistě fungovat. V opačném případě bychom museli do cesty PATH přidat adresář, ve kterém se java.exe nachází. Kupříkladu ve MS Windows NT pomocí: Start/ControlPanel/System/Enviroment. Poté můžeme program kopírovat do libovolného adresáře. Program spustíme z příkazové řádky příkazem: java -cp . autoskola.Autoskola. Podle nastavení prostředí lze někdy též použít java - classpath . autoskola.Autoskola nebo java autoskola.Autoskola. V adresáři je k dispozici spouštěcí dávkový soubor spust.bat. Pro správnou funkci statistiky je potřeba přidat souboru statistika.txt v adresáři dokumenty právo zápisu. Není-li v systému Java přítomna, lze ji bezplatně stáhnout z http://www.java.sun.com.
1.2. Přeložení programu v systému MS Windows Program je přeložen a není nutno jej znovu překládat. Pokud by to však z nějakého důvodu bylo zapotřebí, postupujeme následovně. Postup je stejný jako v případě spouštění s tím rozdílem, že potřebujeme překladač javac.exe. Program přeložíme příkazem javac autoskola/*.java, případně použijeme dávkový soubor preloz.bat.
1.3. Spuštění v systému Unix, Linux Program zkopírujeme z adresáře Autoskola1.0 do svého adresáře. Pomocí příkazu chmod nastavíme všem souborům v podadresářích adresáře Autoskola1.0 práva rwx pro uživatele (například: chmod u+rwx *.*). Pomocí příkazu module add jdk (může se drobně lišit podle verze Javy) zajistíme funkčnost Javy. Poté spustíme program příkazem java autoskola.Autoskola. Tento příkaz zadáváme z adresáře ve kterém máme zkopírovány adresáře s programem (tj. autoskola, dokumenty, otazky,...).
1.4. Přeložení programu v systému Unix, Linux Pomocí příkazu module add jdk (může se drobně lišit podle verze Javy) zajistíme funkčnost Javy. Program přeložíme příkazem: javac -encoding Cp1250 autoskola/*.java.
32
Aplikace pro výuku uchazečů o řidičský průkaz
2. Zobrazení češtiny Podmínkou správného zobrazení českých znaků v programu je, aby na počítači byla nainstalována čeština nebo fonty s akcentovými znaky. Pokud se znaky zobrazují chybně, je nutno přidat soubory z adresáře Cestina do adresářů, kde se nachází soubory font.properties.*. Soubory font.properties.* z CD (pro správné zobrazení českých znaků) fungují pouze, máte-li v MS Windows zvoleno nastavení pro Českou republiku (Regional Settings / Czech). Je-li tam jiné (United States), pak funguje soubor font.properties. Lze tedy postupovat tak, že soubor font.properties.cs, respektive font.properties.cp1250 přejmenujeme na font.properties a tím zajistíme jeho použití. Tento postup je „na jistotu“, protože existuje-li v adresáři pouze soubor font.properties, pak se jistě použije. Pokud bychom některý soubor přepisovali, je potřeba si jej zazálohovat kvůli pozdějšímu navrácení do původního stavu. Podrobnější návod s aktuálními verzemi souborů font.properties.* lze získat na http://www.java.cz. Při překladu programu na jiné platformě než je MS Windows, je potřeba uvést parametr -encoding Cp1250 u překladače javac. Např.: javac -encoding Cp1250 autoskola/*.java
3. Struktura CD CD obsahuje následující adresáře: ·
Autoskola1.0 Tento adresář obsahuje program Autoškola 1.0. V jednotlivých podadresářích jsou uloženy zdrojové kódy (zdroj), přeložené třídy (autoskola), dokumenty (dokumenty), obrázky (obrazky), testové otázky (otazky) a varianty závěrečných testů (testy). ·
Cestina Tento adresář obsahuje soubory užitečné při řešení problémů se zobrazením českých znaků v programu. ·
Text V tomto adresáři jsou uloženy zdrojové soubory s bakalářskou prací. Práce je ve formátu MS Word (doc). K dispozici je také orientační verze ve formátu OpenOffice.org 1.1.0 (sxw) a PDF.
33