16.06.2015 Views

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE ... - Index of

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE ... - Index of

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE ... - Index of

SHOW MORE
SHOW LESS

Transform your PDFs into Flipbooks and boost your revenue!

Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.

SLOVENSKÁ TECHNICKÁ <strong>UNIVERZITA</strong> V <strong>BRATISLAVE</strong><br />

MATERIÁLOVOTECHNOLOGICKÁ FAKULTA SO<br />

SÍDLOM V TRNAVE<br />

Evidenčné číslo: MTF-5262-69497<br />

DATABÁZOVÁ APLIKÁCIA V PROSTREDÍ WEB PRE<br />

ASOCIÁCIU MILITARY PAINTBALL<br />

BAKALÁRSKA PRÁCA<br />

2012 Klaudia Lovíšková


SLOVENSKÁ TECHNICKÁ <strong>UNIVERZITA</strong> V <strong>BRATISLAVE</strong><br />

MATERIÁLOVOTECHNOLOGICKÁ FAKULTA SO<br />

SÍDLOM V TRNAVE<br />

Evidenčné číslo: MTF-5262-69497<br />

DATABÁZOVÁ APLIKÁCIA V PROSTREDÍ WEB PRE<br />

ASOCIÁCIU MILITARY PAINTBALL<br />

BAKALÁRSKA PRÁCA<br />

Študijný program: Aplikovaná informatika a automatizácia v priemysle<br />

Číslo študijného odboru: 2621<br />

Názov študijného odboru: 5.2.14 AUTOMATIZÁCIA 9.2.9 APLIKOVANÁ INFORMATIKA<br />

Školiace pracovisko: UIAM MTF STU v Trnave<br />

Vedúci záverečnej práce/školiteľ: Ing. Eduard Nemlaha, PhD.<br />

Trnava 2012<br />

Klaudia Lovíšková


Poďakovanie<br />

Ďakujem vedúcemu mojej bakalárskej práce Ing. Eduardovi Nemlahovi, PhD. za<br />

poskytnuté cenné rady, pripomienky a odborné informácie, ktoré mi veľmi pomohli pri<br />

vypracovávaní mojej bakalárskej práce.<br />

Klaudia Lovíšková


Súhrn<br />

Bakalárska práca obsahuje analýzu a návrh a implementáciu databázovej aplikácie v<br />

prostredí WEBu. Bola vypracovaná v rámci bakalárskeho štúdia na<br />

Materiálovotechnologickej fakulte, Slovenskej technickej univerzity v Bratislave, študijný<br />

program Aplikovaná informatika a automatizácia v priemysle. Ako ciel práce si autor<br />

stanovil návrh a tvorbu databázového systému a implementáciu grafického prostredia na<br />

web. Prvá kapitola z bakalárskej práce je venovaná definícii pojmov, druhá analyzuje<br />

problémovú oblasť, tretia navrhuje riešenie a dátovú analýzu. V štvrtej kapitole je popísaná<br />

implementácia navrhnutej aplikácie vo WISIWIG editore Adobe Dreamweawer. Piata<br />

kapitola obsahuje používateľskú príručku V závere je zhodnotený návrh riešenia a<br />

implementácia projektu. Použité podklady pri písaní práce pochádzajú z viacerých<br />

domácich i zahraničných odborných zdrojov a zo siete Internet.<br />

Kľúčové slová: Aplikácia, databáza, entitno-relačný model, fyzický model


Abstrakt<br />

Bachelor thesis contains an analysis, draft and implementation <strong>of</strong> the database<br />

applications on the Web. It was prepared within the bachelor study in Faculty <strong>of</strong> Materials<br />

Science, Slovak University <strong>of</strong> Technology in Bratislava, the study program Applied<br />

Informatics and Automation in industry. As the aim <strong>of</strong> this thesis, the<br />

author determined draft and creation <strong>of</strong> a database system and the implementation <strong>of</strong> a<br />

graphical environment on the web. The first chapter <strong>of</strong> the thesis is devoted to the<br />

definition <strong>of</strong> terms, the second analyzes the problem area, the third proposed solution,<br />

and data analysis. The fourth chapter describes the implementation <strong>of</strong><br />

the proposed applications in Adobe Dreamweawer, the WISIWIG editor. The<br />

fifth chapter contains the user guide. At the end <strong>of</strong> the thesis is appraised solutions <strong>of</strong><br />

the draft and implementation <strong>of</strong> the project. Materials that were used came from<br />

several local and foreign expertise and resources <strong>of</strong> the Internet.<br />

Key words: Application, database, entity-relational model, physical model


OBSAH<br />

Súhrn .............................................................................................................................................5<br />

Abstrakt .........................................................................................................................................6<br />

OBSAH .........................................................................................................................................7<br />

Zoznam príloh ...............................................................................................................................9<br />

Zoznam symbolov a skratiek ........................................................................................................10<br />

Zoznam ilustrácií a tabuliek .........................................................................................................11<br />

Úvod............................................................................................................................................12<br />

1. Informačný systém ..................................................................................................................14<br />

1.1 Definícia informácie ..........................................................................................................14<br />

1.2 Termín databáza ................................................................................................................14<br />

1.2.1 Databázový systém .....................................................................................................14<br />

1.3 Čo je to aplikácia ...............................................................................................................15<br />

1.4 Čo je paintball ...................................................................................................................15<br />

1.5 MySQL .............................................................................................................................15<br />

1.6 Apache HTTP Server ..........................................................................................................16<br />

1.7 PHP ...................................................................................................................................16<br />

1.8 HTML.................................................................................................................................16<br />

2. Analýza problémovej oblasti ...................................................................................................17<br />

2.1 Používateľské požiadavky .................................................................................................18<br />

2.2 Cieľová skupina ................................................................................................................18<br />

2.3 Operácie s dátami ..............................................................................................................19<br />

2.4 Rozdelenie používateľov ...................................................................................................19<br />

2.5 Identifikácia a špecifikácia požiadaviek ..............................................................................21<br />

2.6 Nájdenie účastníkov a prípadov použitia ............................................................................23<br />

2.7 Detaily niektorých prípadov použitia..................................................................................25<br />

2.8 Štruktúrovaný diagram prípadov použitia ..........................................................................29<br />

2.9 Diagram aktivít – prihlásenie do aplikácie ..........................................................................31<br />

3. Návrh riešenia - Dátová analýza...............................................................................................32<br />

3.1 Identifikácia množín entít a ich atribútov ...........................................................................32<br />

3.2 Identifikácia relačných vzťahov: .........................................................................................35<br />

3.3 Entitno – relačný model .....................................................................................................39<br />

3.4 Transformácia ERM do relačných schém ...........................................................................41<br />

3.3.1 Transformácia množín entít ........................................................................................41<br />

7


3.3.2 Transformácia relačných vzťahov ...............................................................................41<br />

3.3.3 Úprava relačných schém pre potreby implementácie ...................................................44<br />

3.3.4 Logický model ............................................................................................................44<br />

3.3.5 Fyzický model .............................................................................................................45<br />

4. Implementácia prostredia v editore Adobe Dreamweaver ........................................................46<br />

4.1 Adobe Dreamweaver .........................................................................................................46<br />

4.2 Návrh stránky ....................................................................................................................46<br />

4.2.1 Tvorba menu ..............................................................................................................47<br />

4.2.2 Kalendár akcií.............................................................................................................48<br />

4.2.3 Archív hier .................................................................................................................49<br />

4.2.4 Hráči a teamy .............................................................................................................49<br />

4.2.5 PB/Army shopy a Ihriská ............................................................................................49<br />

4.2.6 Fórum .........................................................................................................................50<br />

4.2.7 FAQ ...........................................................................................................................50<br />

4.3 Registrácia a prihlásenie ....................................................................................................50<br />

4.3.1 Rozdiel medzi Session a Cookies .................................................................................51<br />

4.3.2 Session .......................................................................................................................51<br />

4.3.3 Registrácia ..................................................................................................................51<br />

4.3.4 Prihlásenie ..................................................................................................................52<br />

4.4 Hlásenie o chybách............................................................................................................53<br />

5. Používateľská príručka .............................................................................................................54<br />

5.1 Prihlasovacie okno ............................................................................................................54<br />

5.2 Registrácia ........................................................................................................................55<br />

5.3 Založenie hry ....................................................................................................................56<br />

5.4 Pr<strong>of</strong>il .................................................................................................................................57<br />

Záver ...........................................................................................................................................59<br />

Zoznam použitej literatúry ...........................................................................................................60<br />

Prílohy .........................................................................................................................................62<br />

8


Zoznam príloh<br />

Príloha 1 Zdrojový kód na vypisovanie určitého počtu hier ...........................................................63<br />

Príloha 2 Zdrojový kód na prihlásenie ...........................................................................................64<br />

Príloha 3 Obrázok z kalendára akcií ..............................................................................................64<br />

Príloha 4 Ihriska ...........................................................................................................................65<br />

Príloha 5 Pridaj nove ihrisko .........................................................................................................65<br />

Príloha 6 vytvor novu hru ............................................................................................................66<br />

Príloha 7 uvod, index stranky .......................................................................................................66<br />

9


Zoznam symbolov a skratiek<br />

CSS<br />

DB<br />

DBS<br />

DW<br />

ERD<br />

FTP<br />

FK<br />

HTML<br />

OS<br />

PHP<br />

PK<br />

SQL<br />

SRBD<br />

WAIS<br />

WWW<br />

XML<br />

Cascading Style Sheets<br />

Databáza<br />

Databázový systém<br />

Adobe Dream weawer<br />

Entitno-relačný diagram<br />

File Transfer Protocol<br />

foreign key (cudzí kľúč)<br />

Hypertext Markup Language<br />

Operačný Systém<br />

Hypertext Preprocessor, programovací jazyk<br />

primary key (primárny kľúč)<br />

Structured Query Language<br />

systém riadenia bázy dát<br />

Wide area information server<br />

World Wide Web<br />

extensible markup language<br />

10


Zoznam ilustrácií a tabuliek<br />

Obrázok 1 Štruktúrovaný diagram prípadov použitia (1) ...............................................................29<br />

Obrázok 2 Štruktúrovaný diagram prípadov použitia (2) ...............................................................30<br />

Obrázok 3 Entitno – relačný diagram............................................................................................40<br />

Obrázok 4 Fyzický model ..............................................................................................................45<br />

Obrázok 5 master.css ...................................................................................................................47<br />

Obrázok 6 Kalendár hier ...............................................................................................................48<br />

Obrázok 7 Formulár na odosielanie chýb ......................................................................................53<br />

Obrázok 8 Prihlásenie do aplikácie ...............................................................................................54<br />

Obrázok 9 Registrovať_umiestnenie.............................................................................................55<br />

Obrázok 10 Registrácia do aplikácie .............................................................................................55<br />

Obrázok 11 Založenie hry .............................................................................................................56<br />

Obrázok 12 Kalendár pri zakladaní akcie ......................................................................................57<br />

Obrázok 13 Hľadaj hráča ..............................................................................................................57<br />

Obrázok 14 Pr<strong>of</strong>il .........................................................................................................................58<br />

Tabuľka 1 Identifikácia a špecifikácia požiadaviek.........................................................................21<br />

Tabuľka 2 Nájdenie účastníkov .....................................................................................................23<br />

Tabuľka 3 Nájdenie prípadov použitia ..........................................................................................23<br />

Tabuľka 4 Prípady použitia časť 1 .................................................................................................25<br />

Tabuľka 5 Prípady použitia časť 2 .................................................................................................25<br />

Tabuľka 6 Prípady použitia časť 3 .................................................................................................26<br />

Tabuľka 7 Prípady použitia časť 4 .................................................................................................27<br />

Tabuľka 8 Prípady použitia časť 5 .................................................................................................27<br />

Tabuľka 9 Prípady použitia časť 6 .................................................................................................28<br />

11


Úvod<br />

Výmena informácií je neoddeliteľnou súčasťou sveta. Nie len ľudia si pre svoju existenciu<br />

potrebujú vymieňať informácie, ale taktiež každý živý organizmus, či už zviera alebo<br />

rastlina. Informácií je veľmi vela, a každý jeden z nás ich musí selektovať a triediť podľa<br />

aktuálnej potreby. Čím je ale ľudstvo vyspelejšie, tým viac informácií nás obklopuje a tým<br />

je ich triedenie pre nás náročnejšie na čas. Človek preto neustále hľadá spôsoby, ako ich<br />

efektívne triediť, hľadať a posúvať ďalej. Snaží sa nájsť možnosť ako informáciu za krátku<br />

dobu posunie čo najväčšej cieľovej skupine a nemusí dlho čakať na spätnú väzbu.<br />

V minulosti to ľudia používali najmä ústne podanie, písanie novín či kníh, ktoré boli<br />

dostupné, no takéto predávanie informácii bolo často krát pomalé a nie vždy človek našiel<br />

to, čo hľadal. Obrovská zmena prišla až s rozšírením internetu. V dnešnej dobe sa<br />

nachádza vo väčšine domácností. Človek nemusí vynaložiť príliš veľa námahy a do<br />

niekoľko sekúnd si nájde všetko čo potrebuje. Statické stránky sa začali meniť na<br />

dynamické. Ľudia uprednostňujú posielanie elektronickej pošty pred klasickou. Vzniklo<br />

veľké množstvo sociálnych sietí, ktoré ponúkajú ľuďom ľahšiu komunikáciu medzi sebou<br />

a umožňujú spájať davy. A to všetko len preto, že im to ušetrí čas a rýchlo poskytne to, čo<br />

práve potrebujú. S internetom sa rozširovali aj databázy. Kedysi archív predstavoval<br />

obrovskú miestnosť s policami a skrinkami po označovanými písmenami abecedy a rokmi<br />

s veľkým množstvom papiera. V dnešnej dobe klasický archív zaniká. Ľudia zistili, že je<br />

oveľa efektívne ak sa informácie uchovávajú v rôznych dátových úložiskách, a za pomoci<br />

databázového systému ich veľmi rýchlo hľadajú, používajú či archivujú. Zistili, že<br />

s informáciou v takejto forme sa narába oveľa jednoduchšie a jej stratenie, či zničenie je<br />

oveľa náročnejšie. Tieto informácie sa dajú kopírovať, ukladať na rôzne miesta, ľahko<br />

sprístupňovať a listovať v nich a to všetko bez toho, aby sa človek musel postaviť zo<br />

stoličky, či sa fyzicky namáhať a to všetko v časovo veľmi krátkom intervale. Čo je ale<br />

najdôležitejšie, že tieto informácie dokážu pracovať aj samy bez toho aby sme do nich<br />

zasahovali. Pri tvorbe systému sa zadajú podmienky a informácie sa samy „upratujú“ na<br />

základe raz napísaného algoritmu. Vedia sa zatriediť, vyhľadať, spojiť.<br />

Cielom mojej práce, ako už i jej názov napovedá je vytvorenie databázového systému<br />

v prostredí webu. Túto aplikáciu som robila pre asociáciu military paintbal, nakoľko sama<br />

som jej súčasťou, som dobre oboznámená s problematikou v tejto oblasti. Momentálne na<br />

Slovensku neexistuje databázový systém venujúci sa military hráčom tohto športu preto ho<br />

12


nahrádza databázový systém zameraný na športový a komerčný paintball sídliaci na<br />

stránke www.pbcentrum.sk.<br />

Military paintball ide ale stále do popredia a s pribúdajúcimi hráčmi začalo byť fungovanie<br />

na tejto stránke neefektívne. Chýba tam akákoľvek selekcia informácií či hier. Často<br />

dochádza k strácaniu jedného alebo druhého nakoľko paintball sám osobe sa delí ešte<br />

minimálne na 5 veľkých kategórií a hráči venujúci sa jednej, málokedy sú ochotní zdieľať<br />

hry a informácie s inými kategóriami tohto športu. Hlavnou úlohou môjho databázového<br />

systému je spracovanie a prenos informácií, uchovávanie, zhromažďovanie, ich<br />

prezentácia, výber, distribúcia a následná práca s týmito údajmi. Cieľom môjho<br />

databázového systému je jednoduchá práca s dátami a ľahká dostupnosť pre bežného<br />

užívateľa a to bol dôvod, prečo som databázovú aplikáciu umiestnila na Internet<br />

a vytvorila jej jednoduché a zrozumiteľné prostredie.<br />

Moja práca obsahuje päť kapitol a Úvod, ktorý predstavuje vstup do spracovávanej<br />

problematiky a záver, kde sú zhodnotené výsledky práce a jej prínos.<br />

Prvá kapitola obsahuje teoretické pojmy a definície, aby oboznámila čitateľa s oblasťou,<br />

ktorou sa budeme zaoberať.<br />

Druhá kapitola sa už týka daného projektu. Popisuje požiadavky, ktoré budú na systém<br />

kladené, rozoberá praktické aplikácie, využívanie informácií zo systému, ich vkladanie<br />

a prácu s nimi. Taktiež obsahuje definície budúcich používateľov systému a ich práva.<br />

Tretia kapitola predstavuje jadro práce a zaoberá sa popisom a formálnym návrhom<br />

databázového systému a v štvrtej kapitole sa budem zaoberať implementáciou grafického<br />

prostredia v Adobe Dream weawer.<br />

13


1. Informačný systém<br />

1.1 Definícia informácie<br />

Informácia je slovo s mnohými významami, ktoré závisia na kontexte, ale vo<br />

všeobecnosti dá sa opísať ako predpis blízky<br />

pojmom význam, poznatok, signál, inštrukcia, komunikácia,<br />

reprezentácia a mentálny podnet.<br />

Informácia zahrňuje v sebe správu spolu s jej významom pre príjemcu. Je to správa,<br />

ktorá vyjadruje istý stav, slúži nejakému cieľu alebo vyvoláva nejakú akciu. Správa<br />

sa stáva informáciou buď v dôsledku ľudskej interpretácie alebo tým, že ju spracujú<br />

algoritmy, alebo že je uložená v súboroch. Podľa Shannonovej teórie informácií je<br />

informácia mierou stredného informačného obsahu, prenositeľného daným<br />

kódovaním.<br />

1.2 Termín databáza<br />

Databáza je skupina informácií usporiadaná podľa určitých kritérií (najčastejšie do<br />

formátu tabuľky) tak, aby bola umožnená čo najpokročilejšia manipulácia s týmito<br />

informáciami. Databáza je tvorená jednotlivými záznamami, pričom každý záznam<br />

je rozdelený do jednotlivých polí. [2]<br />

1.2.1 Databázový systém<br />

Databázový systém tvoria nasledovné komponenty[5]:<br />

<br />

<br />

<br />

<br />

Dáta<br />

Hardvér<br />

S<strong>of</strong>tvér<br />

Užívatelia<br />

14


1.3 Čo je to aplikácia<br />

Aplikácia alebo používateľský aplikačný program vo výpočtovej technike a<br />

v informatike je počítačový program pomáhajúci používateľovi pri uskutočňovaní<br />

činnosti určitého konkrétneho typu, napríklad pri manipulácii s textami (textový<br />

procesor), číslami, grafikou a pod. Aplikácie môžu byť združené do aplikačných<br />

balíkov napr. kancelárskych ako sú Micros<strong>of</strong>t Office alebo Open Office. [3]<br />

Internetová sieťová aplikácia je s<strong>of</strong>twarová aplikácia určená na spojenie medzi<br />

ľuďmi a so sieťou Internetu; je to program umožňujúci komunikovať s ostatnými<br />

používateľmi Internetu a mať prístup k dátam, ktoré možno v Internete nájsť.<br />

Napríklad: mail, telnet, ftp, gopher, WAIS, WWW, ... [4]<br />

1.4 Čo je paintball<br />

Paintball je šport, kde sa hráči snažia trafiť súpera farebnou silikónovou guľôčkou<br />

pomocou značkovacej zbrane a vyradiť ho z hry. Delí sa na niekoľko druhov.<br />

Športový paintball je v súčasnosti olympijskou športovou disciplínou. Military<br />

paintball sa svojimi pravidlami snaží čo najviac priblížiť reálnemu bojovému<br />

stretu. Hra je sústredená do CQB (close quarters battle/boj v uzavretom priestore)<br />

alebo do OSB (Open Space Battle/boj v otvorenom priestore) čím sa najviac líši od<br />

športového, ktorý je hraný na ihriskách.<br />

1.5 MySQL<br />

Databáza MySQL je svetovou najobľúbenejšou open source databázou, pretože má<br />

vysoký výkon, spoľahlivosť a jej používanie je jednoduché. MySQL beží na viac<br />

ako 20 platformách vrátane Linuxu, Windows, Mac OS,Solaris, IBM AIX a je<br />

implementovaný vo viacerých programovacích jazykoch ako PHP, C++ či Perl.<br />

Databázový systém je relačný typu DBMS (database management system). Každá<br />

databáza je v MySQL tvorená z jednej alebo z viacerých tabuliek, ktoré majú<br />

riadky a stĺpce. V riadkoch sa rozoznávajú jednotlivé záznamy, stĺpce udávajú<br />

15


dátový typ jednotlivých záznamov, pracuje sa s nimi ako s poľami. Práca s MySQL<br />

databázou je vykonávaná pomocou takzvaných dotazov, ktoré vychádzajú z<br />

programovacieho jazyka SQL (Structured Query Language). [1]<br />

1.6 Apache HTTP Server<br />

Je to s<strong>of</strong>twarový webový server s Open source licenciou pre Linux, BSD, Micros<strong>of</strong>t<br />

Windows a iné platformy. V dnešnej dobe je najrozšírenejším na celom svete.<br />

Apache je jednoduchý, ale pritom veľmi výkonný. Podporuje rôzne programovacie<br />

jazyky, ktoré nemusia byť v počítači vôbec nainštalované, ale stačí, ak si<br />

nainštalujeme príslušný modul, ktorý podporuje práve ten konkrétny programovací<br />

jazyk. [3]<br />

1.7 PHP<br />

PHP radíme k skriptovacím jazykom ktoré pracujú na strane servera. Z toho<br />

plynie, že jeho hlavnou výhodou je, že k zdrojovému kódu skriptu sa nedostane nik<br />

iný, ako jeho autor. PHP skripy sa zapisujú priamo do HTML kódu stránky.<br />

PHP dokáže získavať dáta z formulárov na HTML stránkach a ďalej s týmito<br />

dátami pracovať, môže čítať a ukladať cookies, dynamicky generovať stránky atd.<br />

Jeho najsilnejšou parketou je však široká spolupráce s databázami. [4]<br />

1.8 HTML<br />

Hypertextový značkový jazyk je značkový jazyk určený na vytváranie webových<br />

stránok a iných informácií zobraziteľných vo webovom prehliadači. HTML kladie dôraz<br />

hlavne na prezentáciu informácií (odseky, fonty, váha písma, tabuľky atď). Špecifikáciu<br />

jazyka HTML udržiava World Wide Web Consortium (W3C). Aktuálna verzia je HTML<br />

4.01<br />

16


2. Analýza problémovej oblasti<br />

V porovnaní s Českou republikou sme v organizácií paintballového športu pozadu, hoci<br />

počtom hráčov sa blížime k ich číslam, v organizácii a riadení stagnujeme na jednom<br />

mieste už niekoľko rokov. Kým na Slovensku sa rozvíja a napreduje len športový paintball,<br />

v zahraničí sa rovnako rýchlo vyvíjajú aj ostatné jeho podskupiny. Napríklad, v ČR už 5<br />

rokov funguje ako aj vlastný databázový systém pre túto kategóriu paintball športu tak aj<br />

vlastné fórum. Mojím cieľom bolo vytvoriť podobné zázemie aj na Slovensku s tým, že<br />

fórum, reprezentujúce military paintball už existuje niekoľko rokov a dotvorila som<br />

k nemu vyhovujúcu databázovú aplikáciu. Keďže sa v tomto športe pohybujem, často krát<br />

som narážala na problém, že som niečo hľadala a bolo to zdĺhavé, lebo jediný informačný<br />

systém venujúci sa tejto problematike bol neprehľadný a netriedil dáta v ktorých by sa dalo<br />

ľahko pohybovať. Neponúkal možnosť zatriediť akciu do jednotlivého štýlu paintballu aby<br />

si užívateľ mohol nechať selektovať len tie hry, o ktoré má záujem. Často krát vznikali<br />

situácie, že hráči nevedeli o nasledujúcej akcii alebo stretnutí. Ich informačná plocha bola<br />

zahltená pre nich nepodstatnými udalosťami. Toto ma viedlo k myšlienke, vytvoriť novú<br />

databázovú aplikáciu a umiestniť ju na Internet. Paintball sám o sebe sa delí na speedball<br />

(klasický športový paintball ako ho poznáme), woodsball (podobný ako športový,<br />

s rozdielom že sa hrá v lesnom ihrisku), scenario (väčšie ihrisko či plocha, kde sa vytvorí<br />

určitý scenár pre hracie strany, napr. získať budovu obsadenú súperom), military (hráči sa<br />

snažia čo najpresnejšie napodobniť určitú vojenskú jednotku, herné územie nie je<br />

ohraničené a zvyčajne sa pohybuje na ploche niekoľko kilometrov štvorcových. Dodržujú<br />

sa vojenské pravidlá a disciplína, akcie prebiehajú niekoľko dní bez prestávky. Všetky<br />

situácie sa každý účastník snaží zahrať čo najreálnejšie. Čiže pri smrteľnom zranení leží<br />

bez pohybu – nereaguje na okolie, pri zranení kričí a volá medika či ošetrujúceho lekára...)<br />

a obsahuje aj ďalšie menšie pod kategórie. Počet hráčov na Slovensku rok od roku<br />

enormne narastá. Je potrebné, aby existovalo miesto, ktoré ich bude spájať a pomáhať im<br />

v komunikácii. Hlavným cieľom teda bol databázový systém, ktorý umožní selekciu dát,<br />

jednoduché a rýchle vyhľadávanie, jednoduché vkladanie dát a komunikáciu. Zároveň som<br />

pri jeho tvorbe myslela na to, že tento šport sa veľmi rýchlo vyvíja, preto som navrhla<br />

databázu tak, aby sa dali jednoducho vykonať zmeny, či doplniť ďalšie údaje, ktoré by sa<br />

na strane užívateľa rýchlo prejavili.<br />

17


2.1 Používateľské požiadavky<br />

Úlohou databázovej aplikácie by malo byť predovšetkým uchovávanie informácií<br />

o užívateľoch, hrách a stretnutiach následne potrebné údaje selektovať.<br />

Registrovaný užívateľ by mal mať možnosť doplniť, zmeniť či vymazať svoj pr<strong>of</strong>il<br />

a nahliadnuť na pr<strong>of</strong>il iného užívateľa. Vytvoriť udalosť či vyhľadávať potrebné<br />

údaje, vedieť sa prihlásiť na udalosť a pozrieť, kto ďalší sa jej ešte zúčastní,<br />

prípadne kto ju vytvoril. Databázová aplikácia by mala taktiež dovoľovať vytvoriť<br />

nový team, pridať do informácií dostupných užívateľovi nové ihrisko a obchod<br />

zameraný na túto tematiku. Jej úlohou je triediť informácie tak, aby boli pre<br />

užívateľa aktuálne, čiže rozlišovať udalosti podľa dátumu konania, prípadne podľa<br />

dátumu vloženia.<br />

Taktiež by mala archivovať už prebehnuté udalosti a ponúkať užívateľom na ne<br />

spätný pohľad.<br />

2.2 Cieľová skupina<br />

Aplikácia bude zameraná predovšetkým na ľudí, ktorý sa aktívne alebo rekreačne<br />

venujú paintball športu. Taktiež bude informovať a uľahčovať vstup novým<br />

záujemcom o tento šport. Veľa nových hráčov, ktorí sa rozhodnú venovať<br />

paintballu nevedia zvyčajne o hrách, ktoré sa konajú alebo nevedia o tomto športe<br />

veľa informácií, ktoré by im umožnili rozhodnúť sa, ktorým smerom sa v tomto<br />

športe vydať. V konečnom dôsledku aby sa mohol military paintball ďalej rozvíjať<br />

je potrebná informovanosť a jednoduchý nábor práve nových členov a preto<br />

zameranie sa aj na túto skupinu je veľmi dôležité v ohľade na budúcnosť.<br />

18


2.3 Operácie s dátami<br />

V aplikácií budú ústrednými údajmi dáta o registrovaných užívateľoch a údaje<br />

jednotlivých akcií. Každý človek, ktorý bude mať záujem pracovať s aplikáciou<br />

bude musieť byť zaregistrovaný s dôvodu, aby sa zabránilo vytváraniu SPAMu od<br />

automatických programov na tvorenie reklamy. Tento častý problém dynamických<br />

webov budem riešiť pri registrácií generovaním kódu, ktorý bude nutné prepísať<br />

alebo kontrolnou otázkou s predpokladom, že len človek bude schopný na ňu<br />

odpovedať správne. Takýto užívateľ bude môcť tvoriť nové akcie, editovať a mazať<br />

vlastné akcie. Tie budú následne poskytované všetkým užívateľom bez nutnosti<br />

registrácie. Ďalšie údaje, ktoré budeme používať budú obchody, ihriská,<br />

značkovače a iné doplňujúce údaje. Aplikácia bude zabezpečovať pridávanie<br />

a vymazávanie užívateľov, akcií a ich editáciu. Cieľom bude navrhnúť aplikáciu<br />

tak, aby sa nenarušila jej štruktúra pri prípadnej zmene. Nakoľko je paintball mladý<br />

a vyvíjajúci sa šport, musíme predpokladať, že v budúcnosti môžu nastať zmeny,<br />

ktoré potom ľahkou editáciou budeme schopný vykonať.<br />

2.4 Rozdelenie používateľov<br />

Administrátor – má možnosť pridávať akcie, vkladať príspevky, vkladať novinky,<br />

obchody, ihriská a teamy. Má oprávnenie editovať a mazať tieto údaje a príspevky<br />

a novinky iných užívateľov. Úlohou administrátora je zabezpečiť správne<br />

fungovanie databázovej aplikácie a zabezpečiť, že bude plniť svoj cieľ. Taktiež<br />

bude evidovať pripomienky a návrhy jednotlivých užívateľov. Bude novým<br />

užívateľom pomáhať v orientácii sa v aplikácií a odpovedať im na otázky. Pri<br />

rozšírení sa sortimentu značkovačov pre paintball je povinný vložiť nový druh do<br />

databázy. Jeho úlohou je vkladať na úvodnú stránku novinky, ktoré napíšu<br />

užívatelia a skontrolovať ich správnosť a obsah.<br />

19


Veliteľ– Bežný užívateľ sa stáva týmto užívateľom automaticky pri vytvorení<br />

vlastného teamu. Bude mať možnosť pridávať nové akcie, obchody a ihriská. Môže<br />

editovať svoje príspevky, vložené akcie, svoj pr<strong>of</strong>il a svoje konto môže kedykoľvek<br />

zrušiť. Veliaci má schopnosť editovať si svoj vytvorený team. Vymazávať z neho<br />

členov a previesť svoje práva na iného člena teamu s tým, že sám ich stratí. Taktiež<br />

môže zrušiť tento team. Má právo napísať novinku, ktorú odošle na skontrolovanie<br />

administrátorovi.<br />

Vojak – Je to každý užívateľ, ktorý sa zaregistruje do databázovej aplikácie.<br />

Získava schopnosť editovať si vlastné konto a prípadne ho zrušiť. Môže vkladať<br />

akcie do kalendára, ktoré môže editovať. Je schopný pridať do aplikácie cez<br />

formulár nový obchod či ihrisko. Taktiež môže vkladať príspevky. Má právo<br />

napísať novinku, ktorú odošle na skontrolovanie administrátorovi. V jeho<br />

právomoci je založiť team a tým sa stať používateľom veliaci alebo sa pridať do už<br />

existujúceho teamu.<br />

Kadet – nezaregistrovaný užívateľ, ktorý má právo prezerať údaje v aplikácií no<br />

nemôže tam vkladať nové, editovať ich či zmazať. Je to typ používateľa, ktorý<br />

využíva databázu len na informatívnej úrovni bez toho aby sa do nej akýmkoľvek<br />

spôsobom zapájal. Každý kadet má možnosť registrácie a stať sa používateľom<br />

s právami vojak<br />

20


2.5 Identifikácia a špecifikácia požiadaviek<br />

Tabuľka 1 Identifikácia a špecifikácia požiadaviek<br />

Funkčné požiadavky Doplňujúce informácie Priorita Use Case<br />

R01 Aplikácia bude<br />

evidovať užívateľov<br />

R02 Aplikácia bude<br />

evidovať teamy<br />

R03 Aplikácia bude<br />

evidovať novinky<br />

R04 Aplikácia bude<br />

evidovať akcie<br />

R05 Aplikácia bude<br />

evidovať tréning<br />

R06 Aplikácia bude<br />

overovať práva pre<br />

užívateľov.<br />

R07 Aplikácia bude schopná<br />

nájsť hráča<br />

R08 Aplikácia bude schopná<br />

nájsť team<br />

R09 Aplikácia bude<br />

rozlišovať práva.<br />

R10 Aplikácia bude mať<br />

formulár na registráciu<br />

užívateľa.<br />

R11 Aplikácia bude<br />

ponúkať editáciu<br />

Evidencia užívateľov (IDuziv,<br />

Nazov, Web, typ)<br />

Musí UC001<br />

Evidencia teamov (IDteam,<br />

nazov, popis)<br />

Musí UC027<br />

Evidencia noviniek<br />

(IDnovinka, nadpis, text)<br />

Musí UC029<br />

Evidencia akcií (ID, meno,<br />

miesto, zaciatok, koniec,<br />

max_pocet, styl_hry, pokyny,<br />

Musí UC010<br />

scenar)<br />

Evidencia tréningov<br />

(IDtrening, zaciatok, koniec, Musí UC007<br />

ine)<br />

Musí UC009<br />

Musí UC020<br />

Musí UC021<br />

Musí -<br />

Musí -<br />

Musí -<br />

R12 Aplikácia umožní Musí UC022<br />

21


prihlásenie<br />

R13 Aplikácia bude Evidencia obchodov<br />

evidovať obchody (IDobchodu, nazov, web, typ)<br />

Musí UC005<br />

R14 Aplikácia bude Evidencia ihrísk (IDihriska,<br />

evidovať ihriská nazov, miesto, www)<br />

Musí UC006<br />

R15 Aplikácia bude Evidencia zbrane (ID_zbran,<br />

evidovať zbrane typ, vyrobca, popis, obrazok)<br />

Musí UC002<br />

R16 Aplikácia bude<br />

evidovať druhy<br />

Evidencia druhov (nazov,<br />

popis) Musí -<br />

paintballu<br />

R17 Aplikácia bude Evidencia pristupu(IDpristup,<br />

evidovať prístupy nazov)<br />

Musí -<br />

Nefunkčné požiadavky Doplňujúce informácie Priorita Use Case<br />

R12 Aplikácia bude<br />

implementovaná Verzia CSS 5 Mala by -<br />

v Dreamweaver<br />

R13 Overenie užívateľa<br />

bude do 2 sekúnd.<br />

Mala by -<br />

R14 Aplikácia bude<br />

Prehliadka bude aspoň raz za 6<br />

podliehať pravidelným<br />

mesiacov<br />

kontrolám.<br />

Musí -<br />

R15 Aplikácia sa bude Aktualizácia systému – každý<br />

pravidelne aktualizovať.<br />

rok<br />

Mala by -<br />

22


2.6 Nájdenie účastníkov a prípadov použitia<br />

Tabuľka 2 Nájdenie účastníkov<br />

Účastník<br />

A01 Systémový<br />

administrátor<br />

A02 Veliteľ<br />

A03 Vojak<br />

A04 Kadet<br />

Slovný popis<br />

Osoba, ktorá spravuje systém<br />

Osoba, ktorá vykonala registráciu, je prihlásená a založila<br />

tím<br />

Osoba, ktorá vykonala registráciu a je prihlásená<br />

Osoba, ktorá nie je zaregistrovaná a prihlásená<br />

Tabuľka 3 Nájdenie prípadov použitia<br />

Prípad použitia<br />

Slovný popis<br />

UC001 Eviduj užívateľa Právo založiť pr<strong>of</strong>il/registrovať sa má kadet<br />

UC002 Priraď zbraň Právo pridať zbraň má systémový administrátor,<br />

veliteľ a vojak<br />

UC003 Zúčastni sa tréningu Právo zúčastniť sa tréningu má systémový<br />

administrátor, veliteľ a vojak<br />

UC004 Zúčastni sa akcie Právo zúčastniť sa akcie má systémový<br />

administrátor, veliteľ a vojak<br />

UC005 Vlož obchod Právo vložiť obchod má systémový administrátor,<br />

veliteľ a vojak<br />

UC006 Vlož ihrisko Právo vložiť ihrisko má systémový administrátor,<br />

veliteľ a vojak<br />

UC007 Eviduj tréning Právo založiť tréning má systémový<br />

administrátor, veliteľ a vojak<br />

UC008 ZamedziťPrístup Pri nesprávnom zadaní prihlasovacieho mena<br />

alebo hesla bude užívateľovi automaticky<br />

zamedzený prístup.<br />

UC009 Overiť Práva Aplikácia bude automaticky overovať.<br />

UC010 Eviduj akciu Právo založiť akciu má systémový administrátor,<br />

23


veliteľ a vojak<br />

UC011 Eviduj team Právo založiť team má systémový administrátor a<br />

vojak<br />

UC012 Vstúpiť do teamu Právo vstúpiť do teamu má systémový<br />

administrátor a vojak<br />

UC013 Pridaj akciu Právo pridať akciu má systémový administrátor,<br />

veliteľ a vojak<br />

UC014 Pridať novinku Právo priradiť novinku má veliteľ a vojak<br />

UCO15 Vlož novinku<br />

Právo vložiť novinku má systémový<br />

administrátor<br />

UC016 Zmeň užívateľa Právo zmeniť, upraviť pr<strong>of</strong>il má systémový<br />

administrátor, veliteľ a vojak po splnení ďalších<br />

podmienok.<br />

UC017 Zmeniť team Právo zmeniť, upraviť team má systémový<br />

administrátor a veliteľ po splnení ďalších<br />

podmienok.<br />

UC018 Vymaž team Právo vymazať team má systémový administrátor<br />

a veliteľ po splnení ďalších podmienok.<br />

UC019 Vymaž pr<strong>of</strong>il Právo vymazať team má systémový<br />

administrátor, veliteľ a vojak po splnení ďalších<br />

podmienok.<br />

UC020 Nájdi hráča Právo vyhľadať hráča má systémový<br />

administrátor, veliteľ, vojak a kadet<br />

UC021 Nájdi team Právo vyhľadať team má systémový<br />

administrátor, veliteľ, vojak a kadet<br />

UC022 Prihlásiť sa Právo prihlásiť sa má systémový administrátor,<br />

veliteľ a vojak<br />

UC023 Zmeň akciu Právo zmeniť akciu má systémový administrátor,<br />

veliteľ a vojak po splnení ďalších podmienok.<br />

UC024 Pridať užívateľa Právo pridať užívateľa má kadet<br />

UC025 Pridať team Právo pridať team má systémový administrátor<br />

a vojak<br />

UC026 Zmaž akciu Právo zmazať akciu má systémový administrátor,<br />

24


veliteľ a vojak po splnení ďalších podmienok.<br />

UC027 Eviduj obchod Právo evidovať obchod má systémový<br />

administrátor, veliteľ a vojak<br />

UC028 Eviduj ihrisko Právo evidovať ihrisko má systémový<br />

administrátor, veliteľ a vojak<br />

UC029 Eviduj novinku Právo evidovať novinku má systémový<br />

administrátor<br />

2.7 Detaily niektorých prípadov použitia<br />

Tabuľka 4 Prípady použitia časť 1<br />

ID: UC020<br />

Vstupné podmienky:<br />

1. aktér je v aplikácii<br />

Prípad použitia: Hľadaj hráča<br />

Aktéri: systémový administrátor, veliteľ, vojak a kadet<br />

1. UC začína, keď administrátor, veliteľ, vojak alebo kadet vstúpi do systému za účelom<br />

hľadať hráča<br />

2. Systém overí spojenie s DB<br />

5.1. Aplikácia vyhľadá hráča<br />

5.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />

Vedľajší scenár: kontrola spojenia s DB<br />

Tabuľka 5 Prípady použitia časť 2<br />

Prípad použitia: Založ pr<strong>of</strong>il<br />

ID: UC001<br />

Aktéri: kadet<br />

Vstupné podmienky:<br />

1. aktér je v aplikácií<br />

1. UC začína, keď kadet vstúpi do aplikácie za účelom registrovať sa<br />

2. Kadet vyplní formulár, kde musí vyplniť povinné údaje.<br />

3. Aplikácia overí spojenie s databázou<br />

4. Aplikácia overí, či sa zhodujú obe zadané hesla<br />

25


5. Aplikácia overí, či bol dobre vyplnený overovací kód<br />

6. Aplikácia overí, či sú vyplnené povinné údaje<br />

7. Aplikácia overí, či prihlasovacie meno sa nezhoduje s menom už registrovaného<br />

užívateľa.<br />

8. Ak sú zadané údaje správne, potom<br />

8.1. Aplikácia povolí prístup k evidencii<br />

8.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />

Vedľajší scenár: Overenie práva, overovanie dát, kontrola spojenia s DB<br />

Tabuľka 6 Prípady použitia časť 3<br />

Prípad použitia: Prihlásenie<br />

ID: UC022<br />

Aktéri: administrátor systému, veliteľ a vojak<br />

Vstupné podmienky:<br />

1. aktér je v aplikácii<br />

1. UC začína, keď administrátor alebo veliteľ alebo vojak vstúpi do aplikácie za účelom<br />

prihlásiť sa<br />

2. Systémový administrátor alebo veliteľ práporu sa prihlasuje cez formulár, kde musí<br />

zadať prihlasovacie meno a heslo<br />

3. Aplikácia overí spojenie s databázou<br />

4. Aplikácia overí, či bolo zadané správne meno a heslo (Overenie práva)<br />

5. Ak sú zadané údaje správne, potom<br />

5.1. Aplikácia povolí prístup<br />

5.2. inak aplikácia zamedzí prístup(Zakáž prístup)<br />

Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />

26


Tabuľka 7 Prípady použitia časť 4<br />

Prípad použitia: Pridaj novinku<br />

ID: UC014<br />

Aktéri: veliteľ a vojak<br />

Vstupné podmienky:<br />

1. aktér je prihlásený<br />

1. UC začína, keď veliteľ alebo vojak vstúpi do aplikácie za účelom pridať novinku<br />

2. Aplikácia overí, či je užívateľ prihlásený<br />

3. Aplikácia overí práva užívateľa<br />

4. Ak sú zadané údaje správne, potom<br />

4.1. Aplikácia povolí pridanie novinky, ktorú odošle na schválenie administrátorovi<br />

4.2. inak aplikácia zamedzí prístup k evidencii (Zakáž prístup)<br />

Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />

Tabuľka 8 Prípady použitia časť 5<br />

Prípad použitia: Vlož novinku<br />

ID: UC015<br />

Aktéri: systémový administrátor<br />

Vstupné podmienky:<br />

1. aktér je prihlásený<br />

1. UC začína, keď administrátor vstúpi do aplikácie za účelom vložiť novinku<br />

2. Aplikácia overí spojenie s databázou<br />

3. Aplikácia overí, či je užívateľ prihlásený<br />

4. Aplikácia overí práva užívateľa<br />

5. Ak sú zadané údaje správne, potom<br />

5.1. Aplikácia povolí vloženie novinky do databázy<br />

5.2. inak aplikácia zamedzí prístup k evidencii (Zakáž prístup)<br />

Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />

27


Tabuľka 9 Prípady použitia časť 6<br />

Prípad použitia: Vložiť obchod<br />

ID: UC005<br />

Aktéri: systémový administrátor, veliteľ a vojak<br />

Vstupné podmienky:<br />

1. aktér je prihlásený<br />

1. UC začína, keď administrátor, veliteľ alebo vojak vstúpi do aplikácie za účelom pridať<br />

novinku<br />

2. Aplikácia overí spojenie s DB<br />

3. Aplikácia overí, či je užívateľ prihlásený<br />

4. Aplikácia overí práva užívateľa<br />

5. Ak sú zadané údaje správne, potom<br />

5.1. Aplikácia povolí pridanie obchodu<br />

5.2. inak aplikácia zamedzí prístup (Zakáž prístup)<br />

Vedľajší scenár: Overenie práva, kontrola spojenia s DB<br />

28


2.8 Štruktúrovaný diagram prípadov použitia<br />

Obrázok 1 Štruktúrovaný diagram prípadov použitia (1)<br />

29


Obrázok 2 Štruktúrovaný diagram prípadov použitia (2)<br />

30


2.9 Diagram aktivít – prihlásenie do aplikácie<br />

31


3. Návrh riešenia - Dátová analýza<br />

3.1 Identifikácia množín entít a ich atribútov<br />

Akcia - názov založenej akcie. Bude obsahovať tieto atribúty:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

ID – kľúčový atribút, primárny kľúč<br />

Meno – Skrátený názov, pod ktorým bude akcia vystupovať v aplikácií.<br />

Miesto – Miesto konania sa akcie. Prípadne zemepisné súradnice.<br />

Zaciatok – Dátum začatia akcie.<br />

Koniec – Dátum skončenia akcie.<br />

Max_pocet – Maximálny počet účastníkov. Počet ľudí, pre ktorých je daná<br />

akcia robená.<br />

Styl_hry – Tento atribút zaraďuje akciu do určitej skupiny, na ktoré sa<br />

paintball delí (woodsball, military, speed...).<br />

Pokyny – Tento atribút predstavuje informácie o tom, čo organizátor<br />

požaduje. Môžu tam byť jednotlivé upozornenia, pravidla a iné.<br />

Scenar – Bude obsahovať popis priebehu danej akcie. Prípadne informácie<br />

pre hráčov, čo môžu od akcie očakávať.<br />

Užívateľ – Do tejto entity patrí každý zaregistrovaný užívateľ, ktorý chce aktívne<br />

využívať databázovú aplikáciu. Jej súčasťou sú tieto atribúty:<br />

<br />

<br />

<br />

<br />

IDuziv – číslo, ktoré je predstavuje určitého užívateľa, toto číslo je preňho<br />

originálne, čiže žiadny užívatel nemôže mať rovnaké ID. Taktiež je to<br />

primárny kľúč.<br />

Nick – Atribút, ktorý obsahuje prezývku užívateľa, pod ktorou bude<br />

vystupovať aby sa zabezpečila jeho anonymita.<br />

Preferovany_maskac – Maskovacie oblečenie má rôzny maskovací vzor,<br />

tento atribút bude obsahovať práve ten, ktorý užívateľ využíva najčastejšie –<br />

ktorý preferuje.<br />

Heslo – Atribút potrebný na prihlásenie sa užívateľa do aplikácie. Užívateľ<br />

si ho zadáva pri svojej registrácii.<br />

32


Pravo – Tento atribút má hodnoty 1 (administrátor), 2 (Veliaci), 3 (vojak)<br />

a udávajú, aké práva má užívateľ v aplikácií.<br />

Mesto – Atribút obsahujúci miesto bydliska užívateľa.<br />

Charakteristika – Obsahuje text, ktorý si užívateľ o sebe napíše a je ochotný<br />

zverejniť ostatným.<br />

Ihriská – Táto entita opisuje jednotlivé ihriska, na ktorých sa dá hrať paintball,<br />

zapožičať si výzbroj alebo výstroj ak užívateľ nemá vlastnú. Umožňuje ľahko sa<br />

dostať k tomuto športu novým záujemcom a taktiež robí reklamu distribútorovi:<br />

IDihriska – Primárny kľúč. Číslo, pod ktorým ihrisko vystupuje.<br />

Nazov – Názov, pod ktorým majiteľ ihriska podniká a je registrovaný.<br />

Miesto – Atribút, ktorý obsahuje adresu ihriska.<br />

Www – Obsahuje URL adresu ihriska.<br />

Obchody – Predstavuje obchod, ktorý je zameraný na paintball alebo vojenské<br />

doplnky. Tým umožní užívateľovi rýchlejšie sa dostať k hľadaným veciam,<br />

prípadne rýchlemu porovnaniu cien. Jeho atribúty sú:<br />

<br />

<br />

<br />

<br />

IDobchodu – Primárny kľúč, originálne číslo každého jedného obchodu.<br />

Nazov – Názov obchodu, pod ktorým vystupuje.<br />

Web – URL adresa na rýchle nájdenie obchodu, prípadne eshopu.<br />

Typ – Tento atribút udáva, na aké doplnky je obchod zameraný (army shop,<br />

paintball shop, prípadne iné)<br />

Team – Entita predstavujúca určitú skupinu užívateľov, ktorí sa spolu<br />

prezentujú pod určitým menom. Jej atribúty sú:<br />

<br />

<br />

<br />

IDteam – Primárny kľúč. Originálne číslo, ktoré zastupuje každý jeden tím.<br />

Nazov – Názov tímu, ktorý bude združovať užívateľov.<br />

Popis – Atribút, ktorý predstavuje charakteristiku tímu, ktorá sa zadáva pri<br />

registrácii užívateľom.<br />

33


Tréning – táto entita informuje užívateľov určitého tímu o zocvičení. Obsahuje<br />

nasledujúce atribúty:<br />

<br />

<br />

<br />

<br />

IDtrening – Primárny kľúč. Číselná hodnota.<br />

Zaciatok – Dátum začatia zocvičenia.<br />

Koniec – Dátum skončenia zocvičenia.<br />

Ine – Popis a ďalšie informácie, ktoré potrebujú poznať členovia tímu.<br />

Zbraň – táto entita predstavuje značkovač, ktorý je kľúčovou súčasťou paintballu.<br />

Bude obsahovať nasledujúce atribúty:<br />

<br />

<br />

<br />

<br />

<br />

ID_zbran – Primárny kľúč. Číselná hodnota každého jedného typu<br />

značkovača.<br />

Typ – Atribút, ktorý definuje určitý typ značkovača, ktorý výrobca dal na<br />

trh.<br />

Vyrobca – Atribút predstavuje výrobcu, ktorý značkovač vyrobil.<br />

Popis – Bližšie informácie o značkovači. Popis materiálu, dostrelu, FPS<br />

(feet per second) – jednotka rýchlosti a iné.<br />

Obrazok – Atribút, ktorý bude obsahovať obrázok značkovača.<br />

Druh – Entita, ktorá udáva o aký druh paintballu ide a jej popis, pre nových<br />

záujemcov.<br />

<br />

<br />

Nazov – Názov určitého druhu paintballu. Je to zároveň aj primárny kľúč,<br />

lebo tento názov je originálny.<br />

Popis – Predstavuje určitú charakteristiku daného druhu a jej základné<br />

pravidlá<br />

34


Prístup – Entita, ktorá udáva, či je akcia alebo tréning otvorený pre väčšiu skupinu<br />

záujemcov alebo uzavretý pre určitých ľudí, ktorých si vyberie a určí organizátor.<br />

<br />

<br />

<br />

ID_prostup – primárny kľúč<br />

Nazov – Názov, pod ktorým bude vystupovať v aplikácii<br />

Popis_p – obsahuje popis, ktorý objasní užívateľovi čo plynie z jednotlivých<br />

druhov prístupov.<br />

Novinka – Entita, ktorá obsahuje najnovšie správy zo sveta paintballu. Obsahuje<br />

tieto atribúty:<br />

<br />

<br />

<br />

IDnovinka<br />

Nadpis<br />

Text<br />

3.2 Identifikácia relačných vzťahov:<br />

Užívateľ vkladá(1) obchod:<br />

Obchod - Nemôže byť obchod, ktorý nie je vložený užívateľom: 1<br />

- Jeden obchod, môže byť vložený len jedným užívateľom: 1<br />

Užívateľ - Môže byť užívateľ, ktorý nevložil žiadny obchod: 0<br />

-Môže byť užívateľ, ktorý vložil viac obchodov: N<br />

Užívateľ vkladá(2) ihriská:<br />

Ihriská -Nemôže byť ihrisko, ktoré nevložil užívateľ: 1<br />

-Každé ihrisko, môže byť vložené len jedným užívateľom: 1<br />

Užívateľ -Môže byť užívateľ, ktorý nevložil ihrisko: 0<br />

-Môže byť užívateľ, ktorý vložil viac ihrísk: N<br />

35


Užívateľ vkladá(3) novinku:<br />

Novinka -Nemôže byť novinka, ktorú nevložil užívateľ: 1<br />

-Každú novinku vložil jeden užívateľ: 1<br />

Užívateľ -Môže byť užívateľ, ktorý nevložil novinku: 0<br />

-Môže byť užívateľ, ktorý vložil viac noviniek: N<br />

Užívateľ vlastní zbraň:<br />

Zbraň -Môže byť zbraň, ktorú nevlastní žiadny užívateľ: 0<br />

-Jedna zbraň, môže mať viac užívateľov: N<br />

Užívateľ -Môže byť užívateľ, ktorý nevlastní zbraň: 0<br />

-Môže byť užívateľ, ktorý vlastní viac zbraní: M<br />

Užívateľ sa zúčastňuje(1) tréningu:<br />

Tréning -Môže byť tréning, ktorého sa nezúčastní žiadny užívateľ: 0<br />

-Jedného tréningu sa môže zúčastniť viac užívateľov: N<br />

Užívateľ -Môže byť užívateľ, ktorý sa nezúčastní tréningu: 0<br />

-Môže byť užívateľ, ktorý sa zúčastní viac tréningov: M<br />

36


Užívateľ sa zúčastňuje(2) akcie:<br />

Akcia -Môže byť akcia, ktorej sa nezúčastní žiadny užívateľ: 0<br />

-Jednej akcie sa môže zúčastniť viac užívateľov: N<br />

Užívateľ -Môže byť užívateľ, ktorý sa nezúčastní žiadnej akcie: 0<br />

-Jeden užívateľ sa môže zúčastniť viac akcií: M<br />

Užívateľ zakladá(1) tréning:<br />

Tréning -Nemôže byť tréning, ktorý nezaložil užívateľ: 1<br />

-Každý tréning je založený len jedným užívateľom: 1<br />

Užívateľ -Môže byť užívateľ, ktorý nezaloží tréning: 0<br />

-Jeden užívateľ môže založiť viac tréningov: N<br />

Užívateľ zakladá(2) akciu:<br />

Akcia -Nemôže byť akcia, ktorý nezaložil užívateľ: 1<br />

-Každá akcia je založená len jedným užívateľom: 1<br />

Užívateľ -Môže byť užívateľ, ktorý nezaloží akciu: 0<br />

-Jeden užívateľ môže založiť viac akcií: N<br />

Užívateľ zakladá(3) tím:<br />

Tím -Nemôže byť tím, ktorý nezaložil užívateľ: 1<br />

-Každý tím je založený len jedným užívateľom: 1<br />

Užívateľ -Môže byť užívateľ, ktorý nezaloží tím: 0<br />

-Jeden užívateľ môže založiť viac tímov: N<br />

37


Užívateľ patrí do teamu:<br />

Tím -Nemôže byť tím, ktorému nepatrí žiadny užívateľ: 1<br />

-Môže byť tím, ktorému patrí viac užívateľov: N<br />

Užívateľ -Nemôže byť užívateľ, ktorý nepatrí do tímu: 1<br />

-Nemôže byť užívateľ, ktorý patrí do viac tímov: 1<br />

Akcia má(1) druh:<br />

Druh: -Môže byť druh, ktorý nemá žiadnu akciu: 0<br />

-Môže byť druh, ktorý má viac akcií: N<br />

Akcia -Nemôže byť akcia, ktorá nemá druh: 1<br />

-Každá akcia môže mať len jeden druh: 1<br />

Tréning má(2) prístup:<br />

Prístup: -Môže byť prístup, ktorý nemá žiaden tréning: 0<br />

-Môže byť prístup, ktorý má viac tréningov: N<br />

Tréning -Nemôže byť tréning, ktorá nemá prístup: 1<br />

-Každý tréning môže mať len jeden prístup: 1<br />

Akcia má(3) prístup:<br />

Prístup: -Môže byť prístup, ktorý nemá žiadnu akciu: 0<br />

-Môže byť prístup, ktorý má viac akcií: N<br />

Akcia -Nemôže byť akcia, ktorá nemá prístup: 1<br />

-Každá akcia môže mať len jeden prístup: 1<br />

38


3.3 Entitno – relačný model<br />

Entitno-relačný diagram (ER, ERD, ER diagram) je špeciálny graf, ktorý<br />

naznačuje vzťahy medzi subjektmi v databáze. V ER diagramoch sa používajú<br />

symboly predstavujúce základné typy informácií: boxy (obdĺžniky) reprezentujú<br />

entity, atribúty sú reprezentované oválmi, ktoré sú spojené s entitou, alebo je názov<br />

atribútu priamo vpísaný do značky pre entitu. Vzájomné vzťahy, resp. relácie<br />

medzi entitami sú vyjadrené buď značkou malého kosoštvorca, alebo jednoduchým<br />

prepojením 2 entít pomocou úsečky.<br />

Entita - je špecifickým predmetom záujmu z oblasti reálneho sveta. Každá<br />

jednotka základných informácií sa nazýva 'entita', ktorá má určitý názov a obsahuje<br />

atribúty (vlastnosti entity).<br />

Atribút - Každá entita obsahuje jeden alebo viac atribútov. Atribúty si môžeme<br />

predstaviť ako malé kusy informácií v rámci entity. Spolu popisujú entitu do takej<br />

miery, ako je to nevyhnutné.<br />

Relácia - V relačnej databáze majú všetky subjekty medzi sebou určitú väzbu,<br />

ktorá je vyjadrená ako vzťah. Relácia je väzba medzi subjektmi.<br />

Doména - Doména je pomenovaná množina skalárnych hodnôt rovnakého typu. Je<br />

to vlastne typ atribútu. Rozoznávame celočíselný, reálny, textový, dátumový a<br />

binárny typ.<br />

39


Obrázok 3 Entitno – relačný diagram<br />

40


3.4 Transformácia ERM do relačných schém<br />

3.3.1 Transformácia množín entít<br />

Obchod (IDobchodu, nazov, web, typ)<br />

Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika)<br />

Ihriska(IDihriska, nazov, mesto, www)<br />

Zbran(ID_zbran, typ, vyrobca, popis, obrazok)<br />

Trening(IDtrening, zaciatok, koniec, ine)<br />

Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar)<br />

Team(IDteam, nazov, popis)<br />

Druh(nazov, popis)<br />

Pristup(ID_pristup, nazov, popis_p)<br />

Novinka(ID_novinka, nadpis, text)<br />

3.3.2 Transformácia relačných vzťahov<br />

a) Kardinalita M:N – binárne vzťahy<br />

<br />

<br />

Keďže kardinalita relačného vzťahu vlastní je M:N, bude reprezentovaný vlastnou<br />

relačnou schémou:<br />

Vlastni (IDuziv, ID_zbran)<br />

Keďže kardinalita relačného vzťahu zúčastňuje(1) je M:N, bude reprezentovaný<br />

vlastnou relačnou schémou:<br />

Zucastnuje_1 (IDuziv, IDtrening)<br />

41


Keďže kardinalita relačného vzťahu zúčastňuje(2) je M:N, bude reprezentovaný<br />

vlastnou relačnou schémou:<br />

Zucastnuje_2 (IDuziv, ID)<br />

b) Kardinalita 1:N resp N:1 – binárne vzťahy<br />

<br />

Keďže kardinalita relačného vzťahu vkladá(1) je 1:N ( Užívateľ vkladá obchod) a<br />

obchod je povinným členom vzťahu. Vzťah vkladá(1) bude reprezentovaný cudzím<br />

kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme obchod:<br />

Obchod (IDobchodu, nazov, web, typ, IDuziv-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu vkladá(2) je 1:N (Užívateľ vkladá ihriská)<br />

a ihriská sú povinným členom vzťahu. Vzťah vkladá(2) bude reprezentovaný<br />

cudzím kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme ihriska:<br />

Ihriska(IDihriska, nazov, mesto, www, IDuziv-FK NN )<br />

<br />

Keďže kardinalita relačného vzťahu zakladá(1) je 1:N (Užívateľ zakladá tréning)<br />

a tréning je povinným členom vzťahu. Vzťah zakladá(1) bude reprezentovaný<br />

cudzím kľúčom ID užívateľa z relačnej schémy uzivatel v relačnej schéme trening:<br />

Trening(IDtrening, zaciatok, koniec, ine, IDuziv-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu zakladá(2) je 1:N (Užívateľ zakladá akciu) a<br />

akcia je povinným členom vzťahu. Vzťah zakladá(2) bude reprezentovaný cudzím<br />

kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej schéme akcia:<br />

Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />

IDuziv-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu zakladá(3) je 1:N (Užívateľ zakladá team) a<br />

team je povinným členom vzťahu. Vzťah zakladá(3) bude reprezentovaný cudzím<br />

kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej schéme team:<br />

Team(IDteam, nazov, popis, IDuziv-FK NN)<br />

42


Keďže kardinalita relačného vzťahu patrí je N:1 (Užívateľ patrí do teamu) a<br />

užívateľ je povinným členom vzťahu. Vzťah patrí bude reprezentovaný cudzím<br />

kľúčom ID teamu z relačnej schémy team v relačnej schéme uzivatel:<br />

Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika,<br />

IDteam-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu má(1) je N:1 (Akcia má(1) druh) a akcia je<br />

povinným členom vzťahu. Vzťah má(1) bude reprezentovaný cudzím kľúčom ID<br />

druh z relačnej schémy druh v relačnej schéme akcia:<br />

Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />

IDdruh-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu má(3) je N:1 (Akcia má(3) pristup) a akcia je<br />

povinným členom vzťahu. Vzťah má(3) bude reprezentovaný cudzím kľúčom ID<br />

prístupu z relačnej schémy prístup v relačnej schéme akcia:<br />

Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />

ID_pristup-FK NN)<br />

<br />

Keďže kardinalita relačného vzťahu má(2) je N:1 (Tréning má(2) pristup) a<br />

tréning je povinným členom vzťahu. Vzťah má(2) bude reprezentovaný cudzím<br />

kľúčom ID prístupu z relačnej schémy pristup v relačnej schéme trening:<br />

Trening(IDtrening, zaciatok, koniec, ine, ID_pristup-FK NN)<br />

Keďže kardinalita relačného vzťahu vkladá(3) je 1:N (Užívateľ vkladá(3)<br />

novinku) a novinka je povinným členom vzťahu. Vzťah vkladá(3) bude<br />

reprezentovaný cudzím kľúčom ID užívateľa z relačnej schémy užívateľ v relačnej<br />

schéme novinka:<br />

Novinka(ID_novinka, nadpis, text, IDuziv-FK NN)<br />

43


c) Kardinalita 1:1 – binárne vzťahy<br />

V entitno-relačnom modely sa nenachádza kardinalita 1:1<br />

3.3.3 Úprava relačných schém pre potreby implementácie<br />

Odstránime nadbytočné medzery, interpunkčné znamienka a znaky, ktoré by mohli<br />

robiť problém, pri implementácii tabuliek do databázy.<br />

3.3.4 Logický model<br />

Obchod (IDobchodu, nazov, web, typ, IDuziv)<br />

Uzivatel (IDuziv, nick, preferovany_maskac, Heslo, Pravo, Mesto, Charakteristika,<br />

IDteam)<br />

Ihriska(IDihriska, nazov, mesto, www, IDuziv)<br />

Zbran(ID_zbran, typ, vyrobca, popis, obrazok)<br />

Trening(IDtrening, zaciatok, koniec, ine, IDuziv, ID_pristup)<br />

Akcia(ID, meno, miesto, zaciatok, koniec, max_pocet, styl_hry, pokyny, scenar,<br />

IDuziv, ID_pristup, Nazov)<br />

Team(IDteam, nazov, popis, IDuziv)<br />

Druh(nazov, popis)<br />

Pristup(ID_pristup, nazov, popis_p)<br />

Novinka(ID_novinka, nadpis, text, IDuziv)<br />

Vlastni(IDuziv, ID_zbran)<br />

Zucastnuje_1(IDuziv, IDtrening)<br />

Zucastnuje_2(IDuziv, ID)<br />

44


3.3.5 Fyzický model<br />

Obrázok 4 Fyzický model<br />

45


4. Implementácia prostredia v editore Adobe Dreamweaver<br />

Vzhľad je prvým faktorom, ktorý na užívateľa zapôsobí, preto mu treba venovať<br />

dostatočnú pozornosť. Mojím cieľom bolo navrhnúť vzhľad, ktorý umožní užívateľovi<br />

jednoduchú orientáciu a ľahkú prácu s aplikáciou. Prostredie som sa rozhodla vytvoriť<br />

v editore Adobe Dreamweaver CS5. V prílohe je uvedených viacej obrázkov, ktoré<br />

umožňujú vytvoriť si predstavu o výzore aplikácie.<br />

4.1 Adobe Dreamweaver<br />

Adobe Dreamweaver je jedným z najobľúbenejších pr<strong>of</strong>esionálnych webových<br />

balíčkov pre rozvoj dreamweaver je komplexný produkt vhodný pre všetko, od<br />

jednoduchých stránok návrhu po rozvoj dynamických stránok písaných s<br />

ColdFusion, PHP , ASP, CSS, XML, XSLT a JavaScript. Dreamweaver je<br />

priemyselným štandardom pre vývoj prostredia webových aplikácií. Umožňuje<br />

pracovať všetkým typom užívateľov, od začiatočníkov až po pr<strong>of</strong>esionálov, od<br />

návrhárov pre vývojárov, ľahko a pohodlne vytvárať jednoduché aj zložité<br />

dynamické webové stránky.<br />

4.2 Návrh stránky<br />

Webová stránka je rozdelená pomocou tagu „div“ na 4 časti. Vrchnú časť zaberá<br />

logo v ktorom je umiestnené aj menu, na ľavo sa nám nachádza panel, spodnú časť<br />

tvorí päta stránky a zvyšok v strede je hlavné zobrazovacie okno. Rozdelenie<br />

stránky pomocou tagu div som zvolila preto, lebo je v súčasnosti najpoužívanejšie<br />

a dobre sa s ním pracuje. Podporujú ho všetky najpoužívanejšie prehliadače. Ja<br />

som testovala zobrazenie stránky v prehliadačoch Google Chrome 18, Mozzila<br />

Firefox 12.0, Opera 11.64 a Micros<strong>of</strong>t Explorer 9.<br />

Pomocou kaskádových štýlov som si nadefinovala hlavné zložky vzhľadu. Na<br />

obrázku nižšie môžete vidieť zadefinované vlastnosti niektorých častí stránky.<br />

46


4.2.1 Tvorba menu<br />

Menu sa nachádza ako nová vrstva položená na obrázku loga. Zvolila som ho<br />

čiastočne priehľadné aby nám nerušilo obrázok, ktorý sa nachádza pod ním. Je<br />

tvorené pomocou javaskriptu. Pozostáva z týchto volieb:<br />

Obrázok 5 master.css<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Home<br />

Kalendár akcií<br />

Archív hier<br />

Hráči<br />

Teamy<br />

PB/Army shopy<br />

Ihriská<br />

Forum<br />

Faq<br />

47


4.2.2 Kalendár akcií<br />

Pomocou kalendára sa dostaneme na stránku, na ktorej bude možnosť založiť novú<br />

hru a podľa dátumu vloženia zostupne vypísaných 8 akcií, ktoré pridal užívateľ. Ak<br />

bude databáza obsahovať viac týchto akcií, zoradia sa do strán a na každej strane<br />

bude vypísaných práve 8. Tieto výpisy budú zoradené do tabuľky aby sa zachovala<br />

štruktúra. Každý tento výpis bude obsahovať Názov hry, miesto, začiatok, koniec a<br />

maximálny počet hráčov pričom bude slúžiť ako hypertextový odkaz, ktorý nás<br />

prenesie na kartu, ktorá sa tvorí každej pridanej hre. Na tejto karte sa nachádzajú<br />

podrobnosti o akcii a taktiež možnosť prihlásiť sa na akciu. Na obrázku č.3 si<br />

môžete pozrieť kód, pomocou ktorého vypisujem dáta s databázy a usporadúvam<br />

ich na stránke.<br />

Obrázok 6 Kalendár hier<br />

48


4.2.3 Archív hier<br />

Tu si užívateľ môže pozrieť akcie, ktoré už prebehli a prečítať si z nich report. Do<br />

archívu sa dostane každá akcia automaticky, keď jej deň konania bude starší ako<br />

aktuálny deň. Používam tu podobný selekt ako pri „Kalendár akcií“ s tým<br />

rozdielom, že som upravila podmienku na výpis, ktorú budú spĺňať len akcie staršie<br />

ako aktuálny dátum a samozrejme prispôsobím ho na výpis nami požadovaných<br />

dát.<br />

4.2.4 Hráči a teamy<br />

Tieto odkazy nás pošlú na karty, kde môžeme vidieť vypísaných hráčov, čiže<br />

užívateľov, ktorí sa registrovali alebo registrované teamy. Obsahuje tiež<br />

okienko „hľadaj hráča/“hľadaj team“, ktoré bude selektovať buď vami zadaný<br />

údaj ak je celý a správne alebo po zadaní písmena vypíše užívateľov, ktorým<br />

prezývka začína na dané písmeno alebo sa v nej nachádza. Selekt na hľadanie<br />

vyzerá nasledovne:<br />

a) hráča<br />

("SELECT IDUziv,nick FROM uzivatel WHERE nick like '%$hladaj%'");<br />

b) teamu<br />

("SELECT IDteam,Nazov FROM team WHERE Nazov like '%$hladaj%' ");<br />

4.2.5 PB/Army shopy a Ihriská<br />

Obchody:<br />

Táto stránka nám ponúka známe obchody či už paintballového charakteru alebo<br />

obchody s vojenskými pomôckami a výstrojom. Je tu možnosť pridať obchod.<br />

Kliknúť na odkaz už vytvoreného a preniesť sa na jeho website. Záznamy sa tu<br />

taktiež vypisujú do tabuľky a ich počet na stranu je 10.<br />

49


Ihriská:<br />

U herných plôch platí to isté ako pri obchodoch. Selektuje záznamy z tabuľky<br />

ihriská, vkladá ich do tabuľky na stránke, počet na stranu je desať a ponúka<br />

ľahký prechod na ich website.<br />

4.2.6 Fórum<br />

Pri nábehu myšou na fórum v menu, dostaneme ďalšie dve pod kategórie, ktoré<br />

si môžeme zvoliť:<br />

o SK Forum<br />

o CZ Forum<br />

Obe slúžia ako hypertextový odkaz na stránky, kde je umiestnené fórum<br />

slovenskej a českej paintballovej asociácie. Tieto fóra sa otvoria na novej karte.<br />

4.2.7 FAQ<br />

Táto časť pomáha užívateľovi orientovať sa na stránke a dáva odpovede na<br />

najčastejšie otázky. Užívateľ sa tu dozvie ako sa môže zaregistrovať, ako pridá<br />

hru alebo sa na ňu prihlási. Taktiež radí, ako sa po registrácii prihlásiť, ako<br />

vyhľadať užívateľa a podobne.<br />

4.3 Registrácia a prihlásenie<br />

Registrácia a prihlásenie je jedna s najdôležitejších vecí v aplikácii. Aby užívateľ<br />

mohol s aplikáciou pracovať musí byť prihlásený. Bolo treba zabezpečiť, aby sa<br />

užívateľ nemusel prihlasovať za každým, ak načíta novú stránku pomocou menu.<br />

Toto som docielila pomocou Session.<br />

50


4.3.1 Rozdiel medzi Session a Cookies<br />

Havný rozdiel medzi COOKIEs a SESSION je ten, že COOKIES sa ukladajú u<br />

klienta a SESSION na webovom serveri. To čo je ukladané u klienta (COOKIEs) je<br />

vo svojej podstate potenciálne nebezpečné. U údajov ukladaných u užívateľa platí,<br />

že to čo prehliadač prijme môže byť uložené, zmenené a poslané naspať.<br />

4.3.2 Session<br />

SESSION k svojmu správnemu fungovaniu využíva COOKIEs. Samotná relácia je<br />

riadená priradeným popisovačom čo je vlastne PHP ID (zašifrované náhodné číslo<br />

ktoré je uložené u klienta ako COOKIEs), to odkazuje na SESSION uložené na<br />

serveri. Spúšťame ho pomocou session_start() a toto session sa nám nachádza na<br />

každej našej stránke a zabezpečuje, že prihlásenie užívateľa bude stále aktívne.<br />

4.3.3 Registrácia<br />

Táto možnosť sa nachádza na vrchu v ľavom panely vo forme hypertextového<br />

odkazu. Po jeho zvolení sa dostaneme na stránku register.php na ktorej sa<br />

nachádza formulár, ktorý je potrebné vyplniť. Pomocou „*“ sú vyznačené údaje<br />

ktoré sú povinné. Na konci formulára sa nachádza overovacia časť vo forme<br />

sčítania dvoch číslic. Kým sa formulár odošle kontroluje nasledovné veci:<br />

1. Kontroluje pripojenie na databázu<br />

2. Kontroluje zhodu zadaných hesiel<br />

3. Kontroluje, či bol dobre vyplnený overovací kód<br />

4. Kontroluje, či bolo vyplnené meno a heslo<br />

5. Kontroluje, či už neexistuje užívateľ s rovnakým menom<br />

Ak táto kontrola neprebehne, vždy vypíše užívateľovi, v čom nastala chyba aby<br />

vedel, čo je potrebné opraviť. Ak kontrola prebehne celá, vložia sa údaje<br />

51


o užívateľovi do databázy, jeho prihlásenie sa uloží do session, na jeho obrazovku<br />

sa vypíše informácia o tom, že jeho registrácia prebehla úspešne a bude<br />

presmerovaný a úvodnú stránku index.php.<br />

4.3.4 Prihlásenie<br />

Prihlásenie sa taktiež nachádza v ľavom panely. Po zvolení tejto možnosti<br />

a vyplnení mena a hesla sa odkaz „prihlásenie“ zmení na panely na<br />

„meno_prihláseného“, ktoré tiež predstavuje hypertextový odkaz, ktorý vás<br />

pošle na stránku pr<strong>of</strong>ilu. Na obrázku v prílohe je úsek kódu, ktorý toto<br />

prihlásenie umožňuje.<br />

52


4.4 Hlásenie o chybách<br />

Ak užívateľ na stránke nájde chybu, môže ju ohlásiť administrátorom stránky. Túto<br />

voľbu nájde v päte stránky, kde sa nachádza veta „Našli ste chybu? Ohláste ju alebo<br />

vložte pripomienku na vylepšenie TU“. Ak klikne na slovo „TU“ prejde na stránku,<br />

kde sa nachádza formulár. Ten po vyplnení odošle vyplnené údaje ako mail na<br />

mailovú adresu webovej aplikácie sídliacu na gmail.com. Do formulára užívateľ<br />

vyplní nasledovné údaje:<br />

Meno<br />

E-mail<br />

Predmet<br />

Správa<br />

Pomocou týchto údajov sa vyplní v maily odosielateľ, predmet a telo správy.<br />

Formulár si môžete pozrieť na priloženom obrázku.<br />

Obrázok 7 Formulár na odosielanie chýb<br />

53


5. Používateľská príručka<br />

Ak užívateľ navštívi aplikáciu, tak na úvodnej stránke môže vidieť horné menu,<br />

v obsahovej časti novinky zo sveta paintballu a na ľavom panely ponuku registrácie či<br />

prihlásenia, čas a dátum, 3 najbližšie akcie a počasie.<br />

5.1 Prihlasovacie okno<br />

Keďže aplikácia rozoznáva práva užívateľov je nutné sa na prácu s ňou<br />

prihlásiť. Predpokladáme, že užívateľ vykonal úspešne registráciu. Na<br />

prihlásenie zadá svoje meno a heslo. Ak sa údaje nezhodujú s údajmi v<br />

databáze, aplikácia vypíše, či bolo zadané zlé meno alebo heslo.<br />

Obrázok 8 Prihlásenie do aplikácie<br />

54


5.2 Registrácia<br />

Registrovať sa musí každý užívateľ, ktorý chce s aplikáciou pracovať<br />

na vyššej úrovni ako si ju prezerať. V ľavom panely sa nachádza vedľa<br />

dátumu ponuka registrácie a po jej zvolení sa užívateľovi vypíše<br />

formulár. Po vyplnení povinných údajov odošle údaje. Ak jeho<br />

registrácia prebehla úspešne, môže sa prihlásiť. V inom prípade bude<br />

upozornený, kde spravil chybu. Taktiež sa tam nachádza voľba vyčistiť<br />

formulár aby jednotlivé veci nemusel mazať ručne a po jednom.<br />

Obrázok 9 Registrovať_umiestnenie<br />

Obrázok 10 Registrácia do aplikácie<br />

55


5.3 Založenie hry<br />

Založenie novej hry prebieha voľbou kalendár akcií a pod vypísanými<br />

hrami sa nachádza voľba „založiť novú“. Založenie novej hry prebieha<br />

vyplnením formulára a jeho odoslaním. Túto právomoc má každý<br />

zaregistrovaný užívateľ.<br />

Obrázok 11 Založenie hry<br />

56


Začiatok a koniec hry sa zadáva kliknutím na kalendár. Otvorí sa nám toto okno,<br />

kde vyberieme vhodný dátum.<br />

Obrázok 12 Kalendár pri zakladaní akcie<br />

5.4 Pr<strong>of</strong>il<br />

Ak chce užívateľ nahliadnuť na svoj pr<strong>of</strong>il, môže tak spraviť po prihlásení, kde sa<br />

v ľavom panely zmení text z „Prihlásiť/Registrovať„ na „Meno_prihlaseneho<br />

Odhlásiť“. Ak klikne na svoje meno automaticky prejde na svoj pr<strong>of</strong>il. Druhá<br />

možnosť, ako nahliadnuť na svoj alebo cudzí pr<strong>of</strong>il je cez možnosť menu „Hráči“<br />

následne zvolí hľadaj hráča.<br />

Obrázok 13 Hľadaj hráča<br />

57


Nemusí zadať celé meno hľadaného užívateľa. Ak zadá písmeno ktoré<br />

sa v jeho mene nachádza a zvolí hľadaj, aplikácia mu vypíše<br />

registrovaných hráčov podľa písmena. Následne si vyberie užívateľa<br />

a po kliknutí na jeho meno bude presmerovaný na jeho pr<strong>of</strong>il.<br />

Obrázok 14 Pr<strong>of</strong>il<br />

58


Záver<br />

Cieľom bakalárskej práce bolo vytvoriť databázovú aplikáciu v prostredí webu a jej<br />

implementácia. Podľa katalógu požiadaviek som vytvorila návrh aplikácie, potrebné<br />

tabuľky a vytvorila potrebnú databázu. Prostredie som implementovala v editore Adobe<br />

Dreamweaver CSS5, čím boli splnené počiatočné požiadavky. Je potrebné aby prešla<br />

aplikácia testovaním. Táto fáza zatiaľ nebola vykonaná preto, lebo aplikácia prejde<br />

v blízkej dobe rozšírením, ktoré bude ponúkať užívateľom väčší komfort pri jej používaní<br />

a taktiež nové možnosti jej využitia. Už teraz som ale do jej tvorby a implementácie<br />

zaviedla formulár, ktorým užívatelia môžu podávať hlásenia o chybách a navrhovaných<br />

zmenách. Aplikácia sa bude potom vyvíjať podľa požiadaviek užívateľa. Plánované<br />

zavedenie aplikácie a umožnenie jej dostupnosti pre verejnosť je začiatkom augusta. Do<br />

toho termínu by mala aplikácia prejsť prvou fázou testovania, na ktorom by sa malo<br />

podieľať okolo dvadsať užívateľov. Keď už bude aplikácia dostupná na internete, jej<br />

aktualizácia bude prebiehať v nočných hodinách aby nenarušila prácu užívateľov. Čas<br />

a upozornenie o tejto aktualizácii bude včas zverejnený na stránke. Predpokladaný počet<br />

denných návštev je 300 ľudí.<br />

Implementácia databázovej aplikácie sa mi podarila. Aplikácia umožňuje vkladanie,<br />

mazanie a editovanie dát, ktoré sa v nej nachádzajú, rozlišuje práva užívateľov a podľa<br />

nich im umožňuje prístupy. Všetky zdrojové kódy sú priložené ako príloha na DVD-R<br />

nosiči, ktorý sa nachádza na poslednej strane obalu bakalárskej práce.<br />

59


Zoznam použitej literatúry<br />

[1] MySQL.[online], 28.5.2012, Dostupné na internete: < http://www.mysql.com/whymysql><br />

[2] Jiří Hlavenka a kol.: Nový výkladový slovník výpočetní techniky, 1. vyd. Praha 4:<br />

Computer Press, 1994. ISBN 80-85896-05-2<br />

[3] Apache HTTP server, [online], 25.5.2012, Dostupné na internete:<br />

<br />

[4] Bražina, M., PHP [online], 16.5. 2000, Dostupné na internete: <<br />

http://www.builder.cz/art/php/clanek2083064230.html><br />

[5] Date, C.J.: Introduction to Database Systems, Pearson Education Inc., 2004, 1024 s.<br />

ISBN 0-321-18956-6<br />

[6] Sheldon, R.,Moes, G.: Beginning MySQL (Programmer to Programmer), 1 edition<br />

Wrox, 2005. ISBN 0764579509<br />

60


Čestné vyhlásenie<br />

Čestne vyhlasujem, že bakalársku prácu na tému „Databázová aplikácia v prostredí WEB<br />

pre asociáciu military paintball“ som vypracovala samostatne. Použitú literatúru<br />

a podkladové materiály uvádzam v priloženom zozname bibliografických odkazov.<br />

V Trnave dňa 25. mája2012<br />

Podpis


Prílohy


Príloha 1 Zdrojový kód na vypisovanie určitého počtu hier


Príloha 2 Zdrojový kód na prihlásenie<br />

Príloha 3 Obrázok z kalendára akcií


Príloha 4 Ihriska<br />

Príloha 5 Pridaj nove ihrisko


Príloha 6 vytvor novu hru<br />

Príloha 7 uvod, index stranky

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!