Dokumentace k semestrální práci Informační systém pro on line vyhodnocování psích závodů agility a flyball
Vlastimil Kozelka
[email protected]
13.února 2007 Katedta počítačů, ČVUT FEL
I. Zadání 1, Rámcové zadání Za pomocí nástrojů GNU Linux navrhněte a implementujte integrovaný systém pro (online) vyhodnocování psích závodů agility a flyball. Aplikace bude přímo zpracovávat výsledky z automatické časomíry, data budou ukládána do relační databáze a tříděna dle zadání uživatele. Konečné výsledky budou zobrazovány na velkoplošném alfanumerickém displeji. Aplikace bude mít jednoduché uživatelské rozhraní a bude umožňovat tisk sestav výsledků a export do elektronického formátu, který umožní publikování v internetu.
2, Podrobné zadání viz. Příloha 1 - Podrobné zadání
II.Popis implementace 1, Databázové úložiště Aplikace používá jako datové úložiště databázový stroj MySQL – bylo požadované zadavatelem práce. Volil jsem verzi 5, která podporuje procedurální rozšíření a které využívám pro manipulaci s daty. Vlastní datové schéma obsahuje 12 entit, ve kterých jsou uloženy informace o závodech. Celé schéma a popis entit včetně atributů, jejich datových typů a omezení je uvedeno v příloze 2 Databázové schéma. Za zmínku stojí cykl, který je mezi entitami tymy, discipliny, zavody a tymy, psovodi, zapl_startovne, zavody. Na první pohled se může zdát, že informace o přiřazení jednotlivých týmů (tedy psovodů) na závod je duplikovaná a hrozí nekonzistence dat. Opak je ale pravdou. Entita zapl_startovne obsahuje informace o platbách startovného daným psovodem na daný závod, nikoli jeho přiřazení k týmům. Zatímco vztah mezi psovody, tymy, discipliny a zavody udává registraci psovoda a psa na zvolenou disciplínu pořádaného závodu. Entita zapl_startovne není uživatelům přístupná pro editaci, pouze pro prohlížení. Modifikaci provádí formulář pro výpočet startovného poté, co je požadované startovné opravdu zaplaceno. Přípustnou modifikací je pouze operace insert, takže entita udržuje historii provedených plateb – s výhodou využíváno v případě dodatečné registrace týmu na závod.
2, Uživatelská aplikace Pro prezentaci dat uživateli používám vlastní rozšíření komponenty jTable. Tato komponenta je sama o sobě pouhý rastr, který umí zobrazit data na dané pozici xy a v případě editace tyto změny zpět zapsat do datových struktur. Protože jako úložiště dat používám relační databázi, musím nejdříve data načíst z databázového stroje a následně je transformovat do struktur, se kterými bude bez problémů pracovat komponenta jTable. Pro načtení dat je používána skupina tříd starajících se o přihlášení a následné poskytování připojení aplikaci včetně ošetření vyjímek. Pro navigaci mezi záznamy používám vlastní komponentu RecordSelector, která úzce spolupracuje s komponentou jTable a třídami zajišťující transformaci dat. Pro úspěšné zobrazení a případnou editaci dat v komponentě jTable je vytvořena skupina Dokumentace k programu Agility
Strana 2 z 15
zobrazovačů, editorů a verifikátorů vstupních dat, které provádějí kontrolu integritních omezení. Až doposud uvedené problémy řeší třídy obsažené v DbFramework, které jsou zkompilované jako knihovna a přidané k vlastní aplikaci.
a) Manipulace s daty – knihovna DbFramework Knihovna je rozdělena do několika celků, které řeší následující úkoly. ●
Načítání dat z databáze, ošetření vyjímek – přihlášení a následné udržování připojení k databázi – poskytování připojení aplikaci – ošetření vyjímek vzniklích za běhu – např. ztráta připojení – implementace metod pro zálohování a obnovu databáze
●
Uložení dat do modelů spolupracující s komponentou jTable – nyní knihovna obsahuje dva modely – Basic a Filter, přičemž druhý je rozšířením prvního – model Filter poskytne komponentě jTable k zobrazení data, která splňují definovanou podmínku (tento model byl navržen pro vytváření formulářů typu Master-Detail, aby při změně záznamu v hlavním formuláři nemusela být načítána odpovídající data podřízeného formuláře z databáze, ale použila se jejich lokální kopie). Dále umožňuje editovat postupně detailní záznamy několika hlavních bez toho, aby změny byly uloženy do databáze. Uložení je možno provést jednou operací v rámci transakce na závěr. – model je zodpovědný za dodávku dat komponentě jTable, která provádí jejich vykreslení – model s pomocí předchozí skupiny tříd komunikuje s databázovým strojem ■ načtení požadovaných dat do lokální paměti ■ uložení změn do databáze, změny provedené ve formuláři se ukládají najednou, nikoliv po záznamech –
modely jsou navrženy tak, aby byly co nejuniverzálnější s ohledem na data (různý počet sloupců, typů dat sloupců, různá omezení atd.). Z tohoto důvodu využívají několik dalších pomocných tříd: ■
RowData ● model pracuje s daty po řádcích, tj. i uložení je k tomu uzpůsobeno ● každý načtený řádek je uložen do paměti v pomocné třídě RowData, která kromě vlastních dat obsahuje i flagy o stavu daného řádku (nemodifikovaný, upraven, nově vložený, označen ke smazání) ● v případě modifikace vykopíruje před uložením nové hodnoty původní hodnoty do pole oldData. Této vlastnosti se používá jako detekce, že v době mezi načtením a uložením dat je jiný uživatel v databázi nezměnil.
■
RowMetaData ● slouží pro získávání informací o načtených datech z databáze ● model dostává pouze string obsahující příkaz select a připojení k databázovému stroji. Po provedení příkazu select obdrží také metadata sloupců, které právě načetl. Tyto informace spolu s dalšími metadaty uloženými na serveru použije k získání informací o typu, délce, omezeních, všech sloupců. Dále získá seznam klíčových a neklíčových sloupců.
Dokumentace k programu Agility
Strana 3 z 15
●
●
takto získané informace poskytuje modelu tabulky pro vygenerování insert, update a delete příkazu a editorům a verifikátorům
Zobrazovače – CellRenderer, Editory - CellEditor – datumu – celých čísel – desetinných čísel, měny – výběr z platných možností (jComboBox) – pravda/nepravda (jCheckBox) – data typu řetězec
Editory úzce spolupracují s verifikátory dat, tj. editace daného pole je ukončena až poté, co vstupní data jsou verifikátorem označena za platná. ●
Verifikátory – InputVerifier – datumu (v případě zadání data bez roku provedou automatické doplnění na aktuální rok) – celých čísel – desetinných čísel (jako platný oddělovač desetinného čísla je brána čárka i tečka) – data typu řetězec Verifikátory kontrolují následující vlastnosti: • datový typ – např. v poli očekávající celé číslo selže zadání desetinného čísla, znakového řetězce atd. Pokud to má smysl, je kontrolována i platnost zadané hodnoty – např. u datumu je hodnota 31.11. odmítnuta, i když data jsou zadaná v požadovaném formátu. • maximální délku – překročení maximální délky by způsobilo chybu při uložení dat do databáze nebo jejich oříznutí • omezení null / not null – pole s omezením not null odmítne prázdnou hodnotu
●
Formátovače dat pro zobrazovače a editory – např. zobrazení data v národním formátu
●
Rozšíření komponenty jTable – zvýraznění editovaných řádků
●
Komponenta RecordSelector – slouží k navigaci mezi záznamy, k povolení editace a následnému uložení nebo zrušení změn – pro správnou funci potřebuje pouze odkaz na jTable, která jako model využívá BasicTableRowsData, nebo jejo rozšíření
b) Utilita pro obnovení databáze ze zálohy ● ●
jednoduchá aplikace využívající knihovnu DbFramework pro obnovení databáze záloha lze provádět přímo z programu Agility
Dokumentace k programu Agility
Strana 4 z 15
c) Aplikace Agilty – Formuláře Aplikace využívá knihovny JFC/Swing. Vlastní logika aplikace je rozčleněna pomocí menu do několika skupin. První skupina obsahuje formuláře pro zadávání nových dat nezávislých na aktuálním závodě. Další skupina dovoluje jejich editaci a doplnění. Tyto formuláře jsou pomocnými pro vlastní průběh závodu. Nejdůležitější skupinou formulářů jsou ty, které umožňují vlastní pořádání závodů. Všechny formuláře jsou vztaženy k aktuálně vybranémů závodu v liště hned pod menu. Jejich řazení pro přehlednost odpovídá průběhu závodu. Následuje příklad pořádání fiktivního závodu, na kterém postupně projdu všechny důležité funkce.
1. Vypsání závodu Nový závod lze zadat například kliknutím na „Zadání nového závodu“ a nebo volbou v menu. První skupina dat ve formuláři je povinná. Údaje o startovném je možné doplnit později. Poté vybereme nově zadaný závod jako aktuální. 2. Vypsání pořádaných disciplín Pro daný závod vypíšeme všechny disciplíny, které pořadatel uspořádá a později na ně bude umožněna registrace. U vícedenních závodů je důležité správně zadat datum, kdy daná disciplína proběhne. Správně zadané datum je důležité pro správný výpočet startovného. 3. Registrace týmů Po výběru psovoda, psa a disciplíny je možné tento tým přidat. Před vlastním přidáním je provedena kontrola, zda daný tým již není registrován. Datum registrace se doplní automaticky. Používá se pro vyhodnocení, zda byl tým registrován ve vypsaném termínu a nebo jestli byl registrován dodatečně. Po výběru psovoda se v tabulce zobrazí týmy, které již vybraný psovod tvoří. 4. Prezence týmů Při prezentaci se po volbě psovoda v tabulce zobrazí týmy daného psovoda. Registrace se provede zaškrtnutím prezence. Nakonec se provede výpočet startovného. Pokud je startovné uhrazeno, jsou týmům přiřazena startovní čísla. Při dodatečné změně registrace a následném výpočtu startovného se bere v potaz již zaplacené startovné daným psovodem na tento závod a ve formuláři se zobrazí pouze rozdíl. 5. Generování startovních listin Po dokončení prezencí se provede generování startovních listin. Při otevření formuláře se provede kontrola startovních listin. Pokud již jednou byly vygenerovány a jsou v pořádku, je to zobrazeno zaškrtnutím ve sloupci Výsledek kontroly. Uživatel si může vybrat, které startovní listiny chce generovat. Generování probíhá tak, že se prezentované týmy seřadí podle příjmení psovoda. Pokud by nějaký psovod tvořil více týmů, je dle možností posunut dolů tak, aby mezi jeho každým startem byli 3 jiní psovodi. Dodatečná ruční editace je možná formulářem Editace startovních listin. Ručně provedené změny lze přepsat opětovným generováním listiny. 6. Editace startovních listin Po výběru disciplíny je možné provést změny jednoduchým posunem zvoleného týmu nahoru nebo dolů.
Dokumentace k programu Agility
Strana 5 z 15
7. Organizace závodu Po výběru disciplíny je zobrazeno pořadí týmů ze startovních listin. Před samotným zobrazením je provedena kontrola startovní listiny. Pokud nebyla vygenerována, je na to uživatel upozorněn a je zobrazen formulář pro generování startovních listin. V tabulce je vybrán první závodník. Výsledky je možné načíst automaticky z časomíry (zatím implementováno generátorem náhodných čísel, nedostal jsem potřebnou dokumentaci) a nebo zadat ručně. Kliknutím na Ulož&Další tým vybere následující tým. V případě potřeby změny pořadí na startu stačí v tabulce vybrat požadovaný řádek. 8. Odvody Po závodě je možné automaticky vypočítat odvody pro Klub agilit. Nejdříve je nutno zadat požadované parametry. Vlastní výpočet zobrazí výslednou částku. Podrobnější odvody po disciplínách jsou zobrazeny v sestavě odvodů. 9. Výsledkové listiny Lze vytisknout nebo jen zobrazit. Generují se z dat zadaných formulářem Organizace závodu.
d) Aplikace Agilty – Sestavy Sestavy jsou generovány pomocí knihovny JasperReport. Vzhled reportu je definován XML souborem. Ten je následně zkompilován a je načten knihovnou JasperReport v Javě, která se postará o nahrání dat a zobrazení sestavy. Následně je možný tisk, případně export do několika formátů.
III.Použité prostředky Databázový stroj - MySQL 5.0.27 – www.mysql.com Formuláře - vytvořeny v programovacím jazyku Java – JDK 1.6.0 – www.java.sun.com ve vývojovém prostředí NetBeans 5.5 – www.netbeans.org ovladač databáze - MySqlConnector 5.0.4 – www.mysql.com Sestavy - generovány pomocí knihovny JasperReport – www.jasperforge.org Dokumentace – datový slovník vygenerován návrhářem v phpMyAdmin – www.phpmyadmin.net ostatní napsáno v OpenOffice 2.1 – www.openoffice.org Testování - aplikace testována v operačních systémech Windows 2000/XP a Solaris 10.
IV.Závěr Při tvorbě aplikace jsem kladl důraz na co nejvyšší univerzálnost a znovupoužitelnost tříd, co nejpřehlednější a nejjedodušší kód. Při tvorbě aplikace byly použity pouze opensource nástroje. Předkládanou práci jsem vytvořil sám s použitím následují literatury a dokumentace. Aplikaci bude třeba ještě upravit a doplnit podle připomínek uživatelů, je třeba doimplementovat některé funkce, které pro laika nebyly ze zadání zcela jasné. Některé funkce z knihovny DbFramework bude třeba také ještě doplnit, případně zdokonalit. Dále je třeba doimplementovat možnost řazení podle sloupců a vyhledávání v datech. Dokumentace k programu Agility
Strana 6 z 15
V. Seznam použité literatury 1. 2. 3. 4. 5. 6. 7.
www.docs.sun.com JavaDoc 1.6.0 Spell Brett, Java – programujeme profesionálně, Wrox Press 2000, Computer Press 2002 Herout Pavel, Učebnice jazyka Java, Koop 2003 Herout Pavel, Java – grafické uživatelské prostředí a čeština, Koop 2001 www.netbeans.org www.mysql.com
Dokumentace k programu Agility
Strana 7 z 15
VI.Přílohy 1, Podrobné zadání
I. ZÁKLADNÍ INFORMACE Agility jsou závody jejichž podstatou je překonávání překážek psem, který je na jednotlivé překážky naváděn psovodem , kde výsledným kritériem dle důležitosti jsou: 1. počet chyb – typy chyb: • chyba - 5 trestných bodů • odmítnutí - 5 trestných bodů • překročení standardního času – za každých 0,01 sec je 0,01 bodu 2. při shodě bodů rozhoduje menší počet na parkuru (chyba+odmítnutí) 3. změřený čas 4. tým je diskvalifikován když: • má tři odmítnutí • překročí maximální čas Pes a psovod tvoří tzv. TÝM . Každý psovod tvoří i několik týmů tzn. závodí s několika psy a většinou závodí ve všech typech závodů v příslušné kategorii např. Tým 1 ( psovod=pan Novák/ pes= kříženec) 1. závod = Výkonnostní zkoušky / Small / 1 2. závod = Jumping / Small / 1 3. závod = Agility / Small Typ závodu Kategorie
Výkonostní zkoušky small
medium
large
Jumping small
medium
Agility large
small medium large
Výkonnostní 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 třída Small = SA Medium = MA Large = LA
II.
JEDNOTLIVÉ FÁZE PŘÍPRAVY A PRŮBĚHU ZÁVODŮ 1/ Příprava po uzávěrce (před závodem)
1. Zapsání týmů: Jako první procedura je zapsání přihlášených týmů do závodu po uzávěrce (uzávěrka Dokumentace k programu Agility
Strana 8 z 15
většinou týden před závodem), kdy je potřeba zapsat všechny přihlášené do závodu, přičemž se nesmí zapomenout na možnost, že stejný psovod může tvořit několik týmů . Z tohoto důvodu se budou týmy zapisovat v následujícím formuláři: Jméno psovoda Narozen Kategorie/Třída OSA
Novák Jan
11.2.1971 Ben Anet z Česalky
Jméno Psa Člen Stát
kříženec N Border kolie A
Přidat psa
Plemeno
PP
SA-1 Jahoda Kladno MA-1
A
CZ
Vložit tým-y
Všimni si, že je navíc kolonka Narozen , to proto aby fungovalo automat.doplňování sloupce Člen. Informaci zda je psovod členem nebo ne, získá PC ze seznamu, který si ručně přepíšeme do tebou Vytvořeného formuláře . Pokud jeden psovod má více psů, obsluha PC stiskne tlačítko Přidat Psa . Tím se objeví další řádek, Kde by automaticky naskočilo jméno psovoda nebo by s tímto jménem už PC počítal. Stejně tak by počítal se sloupcem OSA a Člen, (každý psovod je vždy členem nebo nečlenem a je už jedno kolik má psů). Po zapsání všech psů psovoda stiskne obsluha tlačítko Vložit tým-y Tento formulář zajistí, že v případě chybně zadaného jména bude chybné všude, takže dojde ke správnému seřazení při tvorbě formuláře PREZENCE . Vysvětlivky: PP – zda má pes potvrzení o původu. Některé závody se rozdělují dle tohoto kritéria, ale zatím toto rozdělování nechceme Člen - zda je členem klubu agility. Pokud není je vyšší startovné. Tato kolonka bude sloužit k výpočtu odvodu ze závodu Českému klubu agility. Pozn. Jméno psa je někdy brutálně dlouhé např. akime z lesa šediváků 2. Vyplnění formuláře pro výpočet peněz: Obsluha PC vyplní požadované částky do jednotlivých kolonek. STARTOVNÉ
člen: Nečlen:
ZVÝŠENÉ STARTOVNÉ:
člen: nečlen:
VÝKON.PRŮKAZ člen: PES NAVÍC: Nečlen: 3. Vytvoření seznamu pro prezenci: po sepsání všech týmů se po stisknutí např, tlačítka na formuláři v PC automaticky provedou operace : • • •
Vytvoření formuláře pro prezenci Seřadí se jména psovodů dle abecedy do seznamu se vytvoří sloupec s názvem START.ČÍSLO
Dokumentace k programu Agility
Strana 9 z 15
start.čísla tvořit dle schematu SA-1 1-100 SA-2 101-200 SA-3 201-300
• •
LA-1 LA-2 LA-3
301-400 401-500 501-600
MA-1 MA-2 MA-3
601-700 701-800 801-900
do seznamu se vytvoří sloupec s názvem PREZENCE, do seznamu se vytvoří sloupec s názvem PENÍZE
START. JMÉNO PSOVODA JMÉNO PSA PLEMENO PP KATEGORIE/TŘÍDA OSA PREZENCE PENÍZE STÁT ČÍSLO 1 Novák Jan Akina z Česalky Border kolie A SA-1 Jahoda Kladno 2 Novák Jan Betina Knírač N LA-2 Jahoda Kladno 3 Hájková Ludmila Ben Kříženec N MA-3 Komořany 4 Hájková Ludmila Anita Belgický ovčák A SA-1 Č.Budějovice 5 Saková Hana Čokina Kokršpaněl A SA-1 Děčín
2/ Prezence v den závodů V den závodů se bude používat formulář již vytvořený na PRACOVIŠTI PREZENCE A START.LISTIN V současné době se prezence bude provádět jen na jednom počítači (zatím jich víc nemáme), ale v září 2003 Bude na Kladně mistrovství republiky a v roce 2006 asi mistrovství světa a to znamená více týmů. START. JMÉNO NAROZEN JMÉNO PSA PLEMENO PP KATEGORIE/ OSA PREZENCE PENÍZE STÁT ČÍSLO PSOVODA TŘÍDA 1 Novák Jan 11.1.1966 Akina z Česalky Border kolie A SA-1 Jahoda Kladno 2 Novák Jan 1.2.1971 Betina Knírač N LA-2 Jahoda Kladno 3 Hájková Ludmila 21.8.1959 Ben Kříženec N MA-3 Komořany 4 Hájková Ludmila 17.5.1961 Anita Belgický ovčák A SA-1 Č.Budějovice 5 Saková Hana 15.5.1972 Čokina Kokršpaněl A SA-1 Děčín
Operátor PC provede tyto operace: 1. do sloupce PREZENCE se zaznamená pomocí např. P přítomný tým. 2. Do kolonky PENÍZE operátor klikne myší a tím se mu otevře formulář pro výpočet peněz, které má zaplatit psovod. ZVÝŠENÉ STARTOVNÉ:
Dokumentace k programu Agility
člen: nečlen: Strana 10 z 15
VÝKON.PRŮKAZ
člen: Nečlen:
PES NAVÍC:
Výpočet •
Zvýšené startovné bude aktivní pouze pokud bude dopsán nový tým přímo v den prezence. Pokud tato situace nastane, obsluha PC zaškrtne správnou variantu tj. člen nebo nečlen. • V kolonce Výkon.průkaz obsluha PC zaškrtne správnou variantu tj. člen nebo nečlen • Kolonka Pes navíc bude aktivní až když se bude jednat o druhý tým stejného psovoda, pokud by to bylo možné, mohla by se tato kolonka vypustit a přidání příslušné částky by mohlo proběhnout automaticky. • Obsluha stiskne tlačítko Výpočet a tím dojde k výpočtu částky, kterou má psovod za Tento tým zaplatit. Tato částka se automaticky doplní do sloupce PENÍZE ve formuláři Pro prezenci. Pozn. Z těchto zaplacených peněz se odvádí peníze českému klubu agility. Princip Výpočtu dodám. 3. Nevím si rady s možností změny jména nebo datumu narození ve formuláři pro prezenci z Důvodu špatně zadaných dat při zapisování po uzávěrce. Pokud např. špatně vyplní jméno psovoda Nebo datum narození, dojde k špatnému autom.vyhodnocení psovoda zda je členem nebo ne. To znamená, že nevím jak PC změní tuto skutečnost pro výpočet peněz. Mně by se líbilo, kdyby Obsluha označila myší řádek, kterého se budou týkat změny a stiskne tlačítko ZMĚNA. Tím došlo k zobrazení formuláře shodného s formulářem pro zápis týmů po uzávěrce. Možná, že Lze zpětně využít již vytvořených procedur a tím by jsi mohl snadněji programovat NUTNÁ KONZULTACE. 4. V případě, že k prezenci přijde psovod po uzávěrce, pak není v seznamu a je ho potřeba zadat. Také nevím co bude pro tebe jednodušší. Mně by se líbilo tlačítko PŘIDAT TÝM a tak by došlo k zobrazení formuláře shodného s formulářem pro zápis týmů po uzávěrce. Možná, že opět Lze zpětně využít již vytvořených procedur a tím by jsi mohl snadněji programovat 5. Po prezenci stiskne obsluha tlačítko VYTVOŘ START,LISTINY. Zobrazí se formulář Kde obsluha navolí zda se mají start.listiny v JUMPINGU dělit dle výkonnostních tříd nebo ne. Po navolení stiskne ENTER (v případě více počítačů na pracovišti prezence a start. listin Dokumentace k programu Agility
Strana 11 z 15
by se vytvářely listiny buď stisknutím na jednom tebou zvoleném počítači )a dojde k vytvoření start.listin a formulářů pro jednotlivé typy závodů. Při tvorbě start. Listin nezapomenout na posunutí stejného psovoda o tři místa, aby nestartoval za sebou. Vzhled start. listiny:
STARTOVACÍ LISTINA 1,
JUMPING SA-1 (JUMPING SA) Startovací číslo
Jméno psovoda
1 4 5
Novák Jan Hájková Ludmila Saková Hana
Jméno Psa
OSA
Stát
Akina z Česalky Anita Čokina
Vzhled formuláře pro závod:
2,
JUMPING SA-1 (JUMPING SA)
Délka tratě [m]: Počet překážek: St.číslo 1 5 7 8
Standardní čas[s]: Maximální čas[s]:
Psovod
Pes
Rozhodčí: Postupová rychlost[m/s]: Chyby Odm.
Čas Tr.b.za Tr.b. Umístění (s) čas celkem
Repre I.
Ben Gwendolyn Black Podešťová Martina Van-Bery Bartošová Kristýna Abraham Tarsos Drahokoupilová Ariaga Godema Eliška
VYBRAT TYM Tlačítko VYBRAT TYM bude sloužit v průběhu jednotlivých typů závodu
3/ Průběh závodů 1. Rozhodčí určí pro typ závodu: • Délku tratě • Počet překážek • Max. čas Dokumentace k programu Agility
Strana 12 z 15
• Standardní čas • Postupovou rychlost To vše je zapsáno do připraveného formuláře v PC (viz. výše) včetně jména rozhodčího, přičemž max.čas a standardní čas je jeden z posuzovaných kritérií viz. výše. 2. Rozhodčí vyhlásí prohlídku parkuru a stanový čas pro prohlídku. Stanovený čas zadá operátor do PC a odstartuje prohlídku parkuru čímž spustí stopky v PC, které jsou zobrazeny i na tabuli(projektoru) Na konec prohlídky po uplynutí stanoveného času upozorní zvuk.signál. 3. Vyhlásí první tým a v PC stiskne tlačítko VYBRAT TYM . Tím dojde k zobrazení následujícího formuláře (větší písmo) v PC a na tabuli se objeví start.číslo týmu , jméno psovoda/psa ,stát, připravené stopky 00:00= minuty:sec a kolonky chyby a odmítnutí , po stisknutí nějakého tlačítka klávesnice (po písknutí rozhodčího) se spustí stopky, které odměřují maximální čas do nutného odstartování týmu (jsou také zobrazeny na tabuli včetně start. čísla a jména psovoda) formulář pro zápis během běhu
St.číslo 1
Psovod Repre I.
Pes
Chyby
Odm.
Čas Tr.b.za Tr.b. Umístění (s) čas celkem
Ben
4. po proběhnutí psa fotobuňkou se spustí automaticky stopky (formát stopek 00:00:00=min:sec:setiny sec. ) a automaticky se objeví na tabuli kolonky chyby a odmítnutí. Zároveň operátor PC spustí ručně kontrolní stopky (ty se zobrazují jen v PC) 5. operátor PC zaznamenává ručně Chyby/ Odmítnutí. Tento záznam provádí pomocí určených tlačítek na klávesnici (má ale zároveň možnost rychlé opravy!!). Každá chyba se ihned zaznamenává do formuláře závodu v PC a zobrazuje se vedle běžícího času na tabuli a zároveň slouží ke kontrole pro operátora PC . Během běhu je možná diskvalifikace týmu tzn. operátor stiskne určené tlačítko na klávesnici!! 6. po proběhnutí fotobuňkou psa v cíli se zastaví stopky a čas je zaznamenán automaticky do formuláře, při poruše autom. Stopek je uložen operátorem čas odměřený ručně pomocí PC nebo ručně napsaný z klasických stopek. 7. Po ukončení běhu týmu operátor zanese výsledek tohoto týmu do výsledkové listiny a zároveň se objeví průběžné pořadí doběhnutého týmu na tabuli. Zde se objeví i případná diskvalifikace. 8. to vše se opakuje až do konce typu závodu, kdy na konci operátor uzavře tento závod, čímž se vytvoří výsledková listina a je vytisknuta a uložena . Zároveň se na tabuli (projektoru) objeví výsledková listina 9. Ještě bych chtěl podchytit možnost posunutí týmu na start nebo dokonce zrušení startu (nevolnost…). Dokumentace k programu Agility
Strana 13 z 15
Vytištěná výsledková listina:
AGILITY SA Standardní 35 Rozhodčí: Zdeněk Spolek čas[s]: Maximální 60 Postupová rychlost[m/s]: 3,57 čas[s]:
Délka tratě [m]: 125 Počet překážek: 19
Poř. 1
Psovod
Pes
Plemeno
Repre I.
0
0
Tr.b. Tr.b. Rychl. STÁT za celkem (m/s) čas 28,98 0 0 4,2 CZ
Komoř 1 any
1
27,06 0
10
4,35
CZ
Argus Zlín
2
1
29,59 0
15
4,41
CZ
Komoř 3 any
1
30,33 0
20
4,48
CZ
Od Čas OSA Chyby m. (s)
Ben kříženec Gwendoly Podešťová n Black Van- šeltie 2 Martina Bery Bartošová Abraham 3 bígl Kristýna Tarsos
Mix
Drahokoupi Ariaga lová Eliška Godema Liška 5 Radovan
4
šeltie
Dis.
CZ
Časy které jsem zapsal do kolonky Rychl.(m/s) jsou smyšlené. Výsledková listina na tabuli:
AGILITY SA Poř. Psovod 1 Repre I.
Pes
OSA mix Komořan 2 Podešťová Martina Gwendolyn Black Van-Bery y Argus 3 Bartošová Kristýna Abraham Tarsos Zlín 4 Drahokoupilová Eliška Ariaga Godema Komořany 5 Liška Radovan Beronesse Hepta Zetor Brno
STÁT CZ CZ CZ CZ CZ
Tímto postupem proběhnou všechny typy závodů
4/ Další výsledkové listiny Po ukončení jednotlivých typů závodů se vytvoří další výsledkové listiny, které jsou výsledkem součtu některých typů závodů. Dokumentace k programu Agility
Strana 14 z 15
1.
Součet VÝKONOSTNÍ ZKOUŠKY s JUMPINGEM dle jednotlivých kategorií a výkonnostních tříd tzn. vznikne celkem devět výsledkových listin. Název výsledkových listin= VÝKONOSTNÍ ZKOUŠKY + JUMPING SA1 (SA2 , SA3, MA1,…)
2. Součet JUMPINGU S AGILITY dle jednotlivých kategorií bez rozlišení výkonnostních třid (AGILITY se podle tříd nerozlišuje – viz. výše) tzn. vzniknou tři výsledkové listiny. Název výsledkových listin= JUMPINGU + AGILITY SA (MA, LA)
JUMPING + AGILITY SA Vytištěná výsledková listina Poř. 1
Psovod
Pes
Plemeno
Repre I.
OSA mix
Podešťová Gwendolyn šeltie Martina Black Van-Bery Bartošová 3 Abraham Tarsos bígl Kristýna
2
Chyby Odm.
Čas Tr.b. Tr.b. STÁ (s) za čas celkem T
0
0
46,98 0
Komořany 0
0
47,06
CZ
49,59
CZ
Argus Zlín
0
CZ
JUMPING+AGILITY SA Výsledková listina na tabuli Poř. Psovod 1 Repre I.
Pes
OSA mix Komořan 2 Podešťová Martina Gwendolyn Black Van-Bery y Argus 3 Bartošová Kristýna Abraham Tarsos Zlín 4 Drahokoupilová Eliška Ariaga Godema Komořany 5 Liška Radovan Beronesse Hepta Zetor Brno
STÁT CZ CZ CZ CZ CZ
3. Součet jednotlivých dnů. Některé závody jsou několikadenní.
2, Databázové schéma
Dokumentace k programu Agility
Strana 15 z 15