NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská...

62
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA PODNIKATELSKÁ ÚSTAV INFORMATIKY FACULTY OF BUSINESS AND MANAGEMENT INSTITUTE OF INFORMATICS NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY SLUŽEB V MENZÁCH PROPOSAL OF WEB PORTAL FOR RATING SERVICES IN STUDENTS' CANTEENS BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE ONDŘEJ KOVAŘÍK AUTHOR VEDOUCÍ PRÁCE Ing. JAN LUHAN, Ph.D. SUPERVISOR BRNO 2014

Transcript of NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská...

Page 1: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚBRNO UNIVERSITY OF TECHNOLOGY

FAKULTA PODNIKATELSKÁÚSTAV INFORMATIKY

FACULTY OF BUSINESS AND MANAGEMENTINSTITUTE OF INFORMATICS

NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍKVALITY SLUŽEB V MENZÁCH

PROPOSAL OF WEB PORTAL FOR RATING SERVICES IN STUDENTS' CANTEENS

BAKALÁŘSKÁ PRÁCEBACHELOR'S THESIS

AUTOR PRÁCE ONDŘEJ KOVAŘÍKAUTHOR

VEDOUCÍ PRÁCE Ing. JAN LUHAN, Ph.D.SUPERVISOR

BRNO 2014

Page 2: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Vysoké uěení technické v BrněFakulta podnikatelská

Akademický rok: 2013 l 14

Ústav informatiky

,Y7'

ZAD ANI BAKALARSKE PRACE

ondřei Kovaří k

Manaž erská informatika (6209R02 l )

Ředitel ú stavu Vám v souladu se zákonem č .11l/1998 o lysokých š kolách, Studijní m azkuš ební m řádem VUT v Brně a Směrnicí děkana pro realtzaci bakalářských, magisterských a

doktorských studijní ch programů zadávábakalářskou práci s názvem:

Návrh webové ho portálu pro hodnocení kvality služ eb v menzách

v anglické m jazyce:

Proposal of Web Portal for Rating Services in Students' Canteens

Pokyny pro vypracování :

ÚvodCí le práce, metody a postupy zpracovániTeoretická ýchodiska práceAnaIý za souč asné ho stavuVlastní návrhy řeš eníZávěrSeznam použ ité literaturyPří lohy

Podle $ 60 zákona č ' |2lI2OOO Sb. (autorský zákon) v platné m znění , je tato práce ''Š kolní m dí lem''. Využ ití té to

práce se ří dí právní m rež imem autorské ho zákona. Citace povoluje Fakulta podnikatelská Vysoké ho uč enítechnické ho v Brně. Podmí nkou externí ho vyuŽiti té to práce je uzavření ''Licenč ní sm|ouvy'' dle autorské hozákona'

Page 3: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Seznam odborné literatury:

GUTMANS, A' Mistrovství v PHP 5. 2. vyd. Brno: Computer Press, 2007 .655 s. ISBN978-80-251-1519-0.HQGAN, B. P. HTML5 a CSS3: qýukol"ý kurz webové ho qivojáře. Brno: Computer Press'201 1. ISBN 97 8-80-25r -357 6-r.JANOVSKÝ, D. Jak psát web: návod na html stránky fonline]. 2013 [cit. 2013-1I-22].D o stupné z: <http : l l wwwj akp satweb . czl j av ascript/j avascript- uvo d. htm>.

KOFLER, M. a B. Óccl. PHP 5 a MySQL 5: prů vodce webové ho programátora. l. vyd.Brno: Computer Press, 2007.608 s. ISBN 978-80-251-1813-9.THE JQUERY FOLTNDATION. JQuery: write less, do more [online]. Copyright 2013 [cit.20 I 3 - | l -25]. Dostupné z: <https : l l jquery. com>.WELLING,L. aL. THOMSON. MySQL: Prů vodce základy ďatabázové ho systé mu. Brno:Computer Press, 2005. ISBN 80-251^067 I-3.

Vedoucí bakalářské práce: Ing. Jan Luhan, Ph.D.

Termí n odevzdání bakalářské práce je stanoven č asovým planem akademické ho roku 20I3lI4.

lr?.i';*doc. RNDr. Bedřich Pů ž a, CSc.

Ředitel ú stavudoc. Ing. et Ing. Stahislav

V Brně, dne 24 ' 3 ' 2014

Page 4: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro

hodnocení kvality jídel v menzách. Tento portál bude sloužit studentům k tomu, aby si

předali informace o jednotlivých menzách a jídlech, která nabízejí. Práce také stanovuje

návrhy, jak by se portál mohl dále rozvíjet.

!ABSTRACT This bachelor’s thesis describes the process of designing and programming a web hub

for rating the quality of food in students' canteens. This hub will serve as a palace for

students to share the informations about canteens and food served by them. The thesis

also describes proposals for future development.

!!KLÍČOVÁ SLOVA php, MySQL, Ajax, HTML, CSS, jQuery, Smarty, hodnocení, menzy, web

!KEYWORDS php, MySQL, Ajax, HTML, CSS, jQuery, Smarty, rating, canteens, web

!

Page 5: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

BIBLIOGRAFICKÁ CITACE KOVAŘÍK, O. Návrh webového portálu pro hodnocení kvality služeb v menzách.

Brno: Vysoké učení technické v Brně, Fakulta podnikatelská, Ústav informatiky, 2014.

Vedoucí bakalářské práce Ing. Jan Luhan, Ph.D.

Page 6: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

ČESTNÉ PROHLÁŠENÍ Prohlašuji, že předložená bakalářská práce je původní a zpracoval jsem ji samostatně.

Prohlašuji, že citace použitých pramenů je úplná, že jsem ve své práci neporušil

autorská práva (ve smyslu Zákona č. 121/2000 Sb., o právu autorském a o právech

souvisejících s právem autorským).

V Brně dne 6. června 2014 ……………………….……… podpis studenta

Page 7: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

PODĚKOVÁNÍ Rád bych poděkoval vedoucímu bakalářské práce Ing. Janu Luhanovi, Ph.D. za rady a

připomínky k bakalářské práci.

Page 8: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Úvod 11 ........................................................................................................1 Cíle práce, metody a postupy zpracování 12 .............................................

1.1 Návrh systému 12 .............................................................................1.2 Praktický model 12 ...........................................................................1.3 Návrhy dalšího rozšíření 12 .............................................................

2 Teoretická východiska práce 13 ................................................................2.1 Internet 13 ........................................................................................

2.1.1 World Wide Web (www) 13 ......................................................................

2.2 Vývoj systému 14 .............................................................................2.3 Návrh systému 15 .............................................................................

2.3.1 Use-case Diagram (UCD) 17 ....................................................................

2.3.2 Data Flow Diagram (DFD) 17 ..................................................................

2.3.3 Entity-relationship diagram (ERD) 18 ......................................................

2.4 Použité technologie 20 .....................................................................2.4.1 PHP 20 ......................................................................................................

2.4.2 MySQL 21 ................................................................................................

2.4.3 HTML 22 ..................................................................................................

2.4.4 CSS 22 ......................................................................................................

2.4.5 JavaScript 23 .............................................................................................

2.4.6 AJAX 23 ...................................................................................................

2.4.7 jQuery 24 ..................................................................................................

2.4.8 Smarty 24 ..................................................................................................

2.5 Teoretická východiska pro webovou prezentaci 24 .........................2.5.1 Pyramida aspektů web designu 24 ............................................................

2.5.2 Sedm empirických pravidel web designu 25 ............................................

2.5.3 Filozofie použitelnosti 26 .........................................................................

2.5.4 Grafika podporující použitelnost webu 27 ...............................................

2.5.5 Post flat design 28 .....................................................................................

3 Analýza současného stavu 29 ....................................................................3.1 Analýza cílových uživatelů 29 .........................................................

3.1.1 Popis cílových uživatelů 29 ......................................................................

Page 9: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

3.1.2 Specifické charakteristiky a hrozby z nich plynoucí 29 ...........................

3.2 Analýza konkurence 30 ....................................................................3.2.1 Kritéria a způsob výběru 30 ......................................................................

3.2.2 České 31 ....................................................................................................

3.2.3 Mezinárodní 31 .........................................................................................

3.2.4 Foursquare 31 ...........................................................................................

3.3 Časové faktory ovlivňující vývoj systému 33 ..................................3.4 Měření úspěchu webového portálu 33 .............................................3.5 Požadavky na systém 34 ..................................................................

3.5.1 Technické požadavky 34 ...........................................................................

3.5.2 Požadavky na funkčnost 34 .....................................................................

4 Vlastní návrhy řešení 36 ............................................................................4.1 Návrh 36 ...........................................................................................

4.1.1 Funkční model 36 .....................................................................................

4.1.2 Datový model 38 .......................................................................................

4.1.3 Struktura webu 41 .....................................................................................

4.1.4 Vzhled portálu 42 ......................................................................................

4.1.5 Časový plán realizace projektu 43 ............................................................

4.2 Realizace 45 .....................................................................................4.2.1 Soubor .htaccess 45 ..................................................................................

4.2.2 Princip fungování systému. 46 .................................................................

4.2.3 Zabezpečení proti SQL injection 47 .........................................................

4.2.4 Zabezpečení hesla 48 ................................................................................

4.2.5 Postupné načítání obsahu 49 .....................................................................

4.2.6 Post flat design 50 .....................................................................................

4.2.7 Ukotvení menu 52 .....................................................................................

4.2.8 Google Analytics 53 .................................................................................

4.3 Návrh budoucího rozvoje 53 ............................................................4.3.1 Spolupráce s menzami 53 .........................................................................

4.3.2 Spolupráce s tvůrci mobilních aplikací 54 ................................................

4.3.3 Rozšířit působnost 54 ...............................................................................

4.5 Finanční zhodnocení 54 ...................................................................

Page 10: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Závěr 56 ........................................................................................................Seznam použité literatury 57 ........................................................................Seznam obrázků 60 ......................................................................................Seznam tabulek 61 .......................................................................................Seznam zdrojového kódu 61 ........................................................................Přílohy 62.....................................................................................................

Page 11: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

ÚVOD

Studenti vysokých škol komunikují v současnosti přes široké spektrum webových

portálů a aplikací. Zaměření těchto aplikací je různé; například spolupráce na

projektech, informace o časech zkoušek, sdílení studijních materiálů, plánování

společenských akcí, sledování studentských slev, sdílení historek a mnoho dalšího.

Mezi důležité priority studentů patří, kromě studia a společenského života, také jídlo.

Velká část studentů se stravuje v menzách. Ve městech, jako je Brno či Praha, je větší

množství menz natolik blízko sebe, že se studentům vyplatí vybrat si, ve které menze se

budou stravovat. Ale podle čeho se rozhodnou?

Na základě sdílených zkušeností. Na rychlé sdílení zkušeností v rámci velké skupiny

a s co nejmenším zkreslením jsou vhodné právě internetové aplikace.

Tato práce se zabývá vytvořením takovéto aplikace pro studenty, která jim pomůže

v rozhodnutí, kde se stravovat.

!

�11

Page 12: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

1 CÍLE PRÁCE, METODY A POSTUPY ZPRACOVÁNÍ

1.1 Návrh systému

Prvním cílem této práce je navrhnout informační systém, který bude vhodný pro

nasazení formou webové aplikace.

Je potřeba, aby systém zpracovával dostatečné množství informací, které jsou pro

studenty relevantní. Ale současně musí být dostatečně jednoduchý, aby byl funkční i na

dostupné technologii. Složitost systému musí brát v potaz také preference uživatelů

(studentů). Např.: doba pozornosti, vyžadovaná odbornost, jednoduchá porovnatelnost

dat.

1.2 Praktický model

Druhým cílem práce je vytvořit model tohoto systému (viz 1.1). Tento model se skládá

z několika navzájem komunikujících aplikací.

Na straně databáze je využíváno řešení serveru pracujícího s MySQL. Proto musí být

datový model systému převeden do podoby MySQL databáze.

Na straně aplikační je využit Apache server s podporou jazyka PHP. Ten prováže data

z databáze se vzhledem aplikace a odešle je uživateli formou jazyků HTML a CSS. Tato

práce se zabývá návrhem PHP aplikací a HTML/CSS layoutu.

Na straně klientské je webový prohlížeč, který interpretuje HTML s CSS a zajišťuje

interakci s aplikačním serverem pomocí JavaScriptu, jQuery a HTML dotazů. V této

práci je řešen návrh JavaScriptových funkcí za využití knihovny jQuery.

1.3 Návrhy dalšího rozšíření

Třetím cílem práce je navrhnout případná rozšíření nebo další využití po uvedení

do provozu.

�12

Page 13: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

2 TEORETICKÁ VÝCHODISKA PRÁCE

V této kapitole je popsána teorie potřebná k realizaci práce. Jsou zde informace k

internetu, vývoji systému, webové prezentaci a k jednotlivým technologiím, které jsou

využity v prototypu webového portálu.

2.1 Internet

Internet je nadnárodní otevřená počítačová síť složená z velkého množství podsítí.

Slouží k přenosu informací. Původně měla síť sloužit pro komunikaci výzkumných

zařízení s vládou USA, poté pro komunikaci mezi jednotlivci, sdílení souborů, webové

prezentace atd. Dnes je využívaná k širokému spektru komunikací, mnohdy dokonce

bez lidské interakce. [1].

Protože internet funguje na bázi posílání paketů (protokoly TCP/IP), nezajišťuje

bezpečnost, spolehlivost, ani kvalitu přenosu. To mohou do jisté míry zajistit až služby

využívající internet (např. bezpečnost zajištěna šifrováním).[2].

Služby využívající komunikace po internetu využívají své protokoly (definované

způsoby komunikace) a mohou se zásadně lišit ve svém charakteru. Společným znakem

je následná komunikace přes TCP/IP. [2].

2.1.1 World Wide Web (www)

Nejpopulárnější službou internetu je v současnosti www. Univerzální hypertextový

systém tvořený internetovými stránkami, které jsou provázány hypertextovými odkazy.

Přístup k www zprostředkovávají webové prohlížeče.

Hlavní tři technologie www jsou:

• HTML - hypertextový jazyk pro tvorbu www stránek

• HTTP - protokol pro přenos www stránek ze serveru do prohlížeče

• URL - adresování objektů v síti

�13

Page 14: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Mezi hlavní služby poskytované jako www patří: sociální sítě, zpravodajství, firemní

prezentace, obchody a mnoho dalších. [1]

2.2 Vývoj systému

Tvorba složitějších systémů vyžaduje adekvátní přípravu. Pokud je tento systém

realizován formou software, je třeba zvážit časovou náročnost, náklady na návrh, na

programování a na údržbu software. Náklady ušetřené při návrhu se mohou negativně

promítnou do nákladů programování a údržby.

“Pokud tedy chceme za použití softwaru celkově ušetřit, je lépe věnovat více úsilí vývoji

softwaru, než pak řešit problémy způsobené nekvalitním softwarem.” [3].

Vývoj software probíhá v několika na sebe navazujících krocích.

Analýza a specifikace požadavků

Zjištění, o jakou funkčnost má zákazník zájem. Přeformulování požadavků

do formálního jazyka. Studie proveditelnosti, analýza rizik a stanovení akceptačních

testů.

Architektonický návrh

Stanovuje koncepci systému metodou shora-dolů (tzv. dekompozicí).

“Dekompozice spočívá v rozložení (angl. decomposition) složitějšího problému na

jednodušší podproblémy, jejichž zvládnutí je lehčí.” [3].

V rámci architektonického návrhu se systém rozdělí do několika podsystémů a rozhraní

mezi nimi. [3].

Podrobný návrh

Detailní plán systému, softwarových součástí algoritmů, logická a fyzická struktura dat,

způsob implementace, harmonogram prací a odhadované náklady.

Implementace

Programová realizace a tvorba dokumentace. Dokumentace může být technická (popis

programu, struktury dat, jednotlivých funkcí) a uživatelská (návod k použití).

�14

Page 15: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Testování a provoz

Testování ověřuje, jestli je splněn požadavek zadání. Testuje se funkčnost - jestli systém

splňuje požadavky zadání, porovnávají se skutečné výstupy s očekávanými výstupy.

Dále se může testovat použití systému na různých platformách, zátěžové testování,

odolnost proti chybám uživatele a pod.

[3].

2.3 Návrh systému

V rámci analýzy a návrhu software se využívá několik metodik. Ty se podle zaměření

dělí na objektově orientované a strukturované. Objektově orientované se zaměřují

na objekty (ty slučují data a funkce). Strukturované metody se zaměřují na procesy

a uspořádání dat. Strukturované se více hodí na stabilní systémy a objektově

orientované na systémy, které se dynamicky mění. [3].

Mezi nejznámější strukturované metodiky patří SDLC (software development life-

cycle). Jedná se o metodiku založenou na formálním popisu jednotlivých etap životního

cyklu systému. Mezi hlavní výhody SDLC patří detailní popis, dokumentace, údržba

a schopnost zvládnout i velké projekty. Mezi hlavní nevýhody patří vyšší náklady

a nízká flexibilita. [3][4].

Nejrozšířenější objektovou metodikou je pak tzv. Rational Unified Process (RUP)

navržený společností Rational Software (nyní součástí IBM). RUP je velmi obsáhlý

způsob návrhu a realizace software. Je velmi variabilní a jeho nasazení se může lišit

projekt od projektu. Je postaven na iteračním modelu vývoje. [5].

Hlavním prvkem RUP je využívání jazyka UML (Unified Modeling Language). Tento

jazyk se stal průmyslovým standardem pro popis požadavků, struktury a vazeb mezi

objekty. Využívá hlavně vizuálního zobrazení pomocí diagramů. Tyto diagramy dokáží

pracovat s dekompozicí a velmi přehledně nastínit i složitý systém. [5].

!!

�15

Page 16: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

!!UML využívá diagramy popisující strukturu a chování. [6].

Diagramy popisující strukturu

• Class diagram

• Component diagram

• Composite structure diagram

• Deployment diagram

• Object diagram

• Package diagram

• Profile diagram

Diagramy popisující chování

• Activity diagram

• Communication diagram

• Interaction overview diagram

• Sequence diagram

• State diagram

• Timing diagram

• Use case diagram

[6].

Vhodnost metodik se liší podle velikosti a charakteru projektu. U menších projektů je

často výhodnější využít jen některé metody z těchto metodik. Pro projekt rozsahu této

bakalářské práce se vyplatí využít tyto diagramy:

�16

Page 17: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

2.3.1 Use-case Diagram (UCD)

Use-case diagram zachycuje interakci systému s aktéry (např. uživatelé, čas).

Ohraničuje jednotlivé části systému a ukazuje, který uživatel má dostupnou kterou

funkcionalitu. Popisuje jednotlivé funkce systému. Je možné jej vypracovat v několika

úrovních abstrakce.

Use-case diagram se vypracovává jako první z UML diagramů. Nejprve se tedy určí

funkce systému a až poté se řeší, jak se dané funkce dosáhne.

UCD je zobrazen pomocí:

• případů užití (elipsa) - funkce, která vede k dosažení nějakého cíle

• aktérů (panáček) - část okolí systému, se kterou systém komunikuje. (např. uživatel,

čas, admin) [7][8].

Obrázek č. 1: Ukázka UCD [9].

2.3.2 Data Flow Diagram (DFD)

Data Flow diagram znázorňuje datové toky. Popisuje z jakých funkcí se systém skládá,

jejich vstupy a výstupy. Lze z něj vyčíst, odkud data pocházejí, jak jsou zpracována

a kam se uloží.

�17

Page 18: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

DFD je zobrazen pomocí:

• datových úložišť (dvě vodorovné čáry) - sdílení informací mezi procesy

• datových toků (šipka) - přesun dat v rámci systému

• funkcí (kruh) - zpracovávají vstupy a vytváří z nich výstupy

• terminátorů (obdélník) - externí entity, které se systémem komunikují

[10][11].

Obrázek č. 2: Ukázka DFD [vlastní].

2.3.3 Entity-relationship diagram (ERD)

Diagram datového modelování. Znázorňuje způsob uložení dat v relační databázi. Jedná

se o statický model. Popisuje jednotlivé tabulky, jejich sloupce a vztahy mezi nimi.

Může se během vývoje upřesňovat a měnit. Využívá se pro hrubý (prvotní) model

i pro podrobný (konečný) model. [10].

Dobře připravený ERD je základním krokem k návrhu kvalitní databáze. Dále je pak

velmi užitečný při následném rozšiřování databáze. Entity v ERD pak přímo odpovídají

tabulkám databáze. Vlastnost entity je pak sloupcem tabulky v databázi.[12].

!Základní ER diagram se skládá z:

• entit (tabulka - obdélník) - Každá entita odpovídá nějaké skutečné věci, myšlence

nebo konceptu. Každá entita má název, ten odpovídá názvu tabulky v databázi

(např. zaměstnanec). [12].

�18

Page 19: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

• vlastností entit (řádek v tabulce) - Vlastnost popisující instanci entity (např. rok

narození). Z vlastností se pak určuje primární klíč (PK). Primární klíč je ta vlastnost

(soubor vlastností), která přesně určí každou instanci entity (např. rodné číslo). Dále

se z vlastností určují cizí klíče (FK). Ty slouží pro provázání instancí entity

s instancemi ostatních entit. (např. id oddělení v tabulce zaměstnance odkazuje

na primární klíč tabulky oddělení). [12].

• vztahů (čára) - Popisuje vztah mezi jednotlivými entitami (např. zaměstnanec

“náleží” k oddělení; adresa se skládá z ulice, města a státu). [12].

Obrázek č. 3: Ukázka ERD [13].

Dále můžeme v ERD zachytit kardinalitu vztahu a datový typ atributu (vlastnosti).

Kardinalita vztahu entit určuje, kolik instancí entity se váže na instanci ostatních entit.

A také v opačném směru, kolik instancí ostatních entit se váže na instanci dané entity.

(např. oddělení má více zaměstnanců, ale každý zaměstnanec spadá pod jedno

oddělení). Máme 3 druhy kardinality 1-1, 1-N, a N-M. [14].

1-1 je přímý vztah instancí (např. každý zaměstnanec má svou kartu a každá karta je

používána maximálně jedním zaměstnancem). [14].

�19

Page 20: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

1-N instance entity A náleží jedné instanci entity B, ale instanci entity B může náležet

několik instancí entity A (např. zaměstnanec zodpovídá za několik úkolů, ale za každý

úkol zodpovídá jeden zaměstnanec). [14].

N-M instance entit jsou navzájem ve vztahu s více instancemi druhé entity.

Ve skutečnosti je nahrazena dvěma vazbami 1-N. (např. zaměstnanci se účastní více

projektů a každý projekt má více zaměstnanců. [14].

U některých vztahů se využívají min/max restrikce. Ty určují minimální/maximální

počet instancí na obou stranách vztahu. Zapisujeme min..max na obou stranách vztahu.

Pokud se min a max shodují, zapíšeme jen jednu. Pokud není počet omezen,

použijeme *. (příklad: Každý zaměstnanec má 1 kartu. Karta je buď nevyužita, nebo ji

má jeden zaměstnanec. Vztah se zapíše 0..1 — 1). [14].

Datový typ atributu můžeme přidat do ERD, zejména pokud víme jaká databáze se

bude v projektu využívat. Zapisují se v řádku za název atributu. Zápis je ve formátu

typ(délka) (např. int(10)).

V této práci jsou využity následující datové typy:

• int - celočíselný typ

• varchar - řetězec znaků proměnlivé délky

• mediumtext - textový formát pro delší texty

• timestamp - časový údaj ve formátu UTC

[15].

2.4 Použité technologie

2.4.1 PHP

PHP je univerzální skriptovací jazyk běžící na aplikačním serveru. Z pohledu webových

stránek obstarává logické operace a komunikaci s databází. Pomocí PHP se komponuje

stránka do podoby HTML a tak je pak odeslána klientovi. [16].

�20

Page 21: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Pomocí jazyka PHP se také zabezpečuje webová stránka tak, aby se k uživateli dostaly

jen ty informace, na které má oprávnění. [16].

Zdrojový kód č. 1: Ukázka PHP kódu [vlastní].

2.4.2 MySQL

MySQL je databázový systém a současně také dialekt jazyka SQL, který tento systém

využívá ke komunikaci. MySQL je dostupné pod bezplatnou licencí a to na několika

platformách. Jedná se o jeden z rychlejších databázových systémů. Je velmi populární

mezi programátory webových aplikací, a proto jej také má většina hostingů v nabídce.

[17][18].

MySQL běží na databázovém serveru. Aplikační server s MySQL komunikuje pomocí

SQL dotazů.

Zdrojový kód č. 2: Ukázka MySQL dotazu [vlastní].

�21

<?php  if($url[1]  !=  "")  {          $css[]  =  "/css/jidlo_detail.css";          $js[]  =  "/js/get_dish.js";          $console  .=  "<br>get_dish(url[1])";  }  else  {          $css[]  =  "/css/jidlo.css";          $js[]  =  "/js/jidla.js";          $js[]  =  "/js/get_dishes.js";          $console  .=  "<br>get_dishes()";  }

SELECT  *  FROM  faculties  AS  f  JOIN  universities  AS  u  ON  f.ID_university  =  u.ID_university  ORDER  BY  u.ID_university  ASC,  f.faculty_short  ASC

Page 22: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

2.4.3 HTML

HTML (HyperText MarkUp Language) je značkovací jazyk, který se používá při tvorbě

www stránek. Je využíván pro zápis struktury, obsahu a částečně i vzhledu stránek. Je

interpretován prohlížečem na straně klienta. [19].

Zdrojový kód č. 3: Ukázka HTML kódu [vlastní].

2.4.4 CSS

CSS (Cascading Style Sheets; překládáno jako kaskádové styly) je jazykem popisujícím

zobrazení www stránek napsaných v jazyce HTML, nebo XHTML. Byl vytvořen pro

oddělení vzhledu od struktury stránek. Nyní se využívá hlavně pro sdílení vzhledu mezi

více stránkami. Je interpretován prohlížečem na straně klienta. [19].

Zdrojový kód č. 4: Ukázka CSS kódu [vlastní].

�22

<!DOCTYPE  html>  <!-­‐-­‐  Author:  Ondrej  Kovarik  -­‐-­‐>  <html>          <head>          </head>          <body>                  <div  id="wrapper">                  </div>          </body>  </html>      

#top  #logo.down{          bottom:-­‐50px;          transition:  all  0.4s;          transform:rotate(-­‐7deg)    scale(0.7);          -­‐webkit-­‐transform:rotate(-­‐7deg)    scale(0.7);          -­‐ms-­‐transform:rotate(-­‐7deg)    scale(0.7);          -­‐moz-­‐transform:rotate(-­‐7deg)    scale(0.7);          -­‐o-­‐transform:rotate(-­‐7deg)    scale(0.7);  }

Page 23: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

2.4.5 JavaScript

JavaScript je skriptovací jazyk, který je spouštěn na klientově straně v prohlížeči.

Umožňuje pracovat se stránkou bez komunikace se serverem, nebo tuto komunikaci

zprostředkovat bez toho, aby byl uživatel rušen opětovným načtením stránky. [19].

JavaScript je užitečný pro okamžitou práci s webem při interakci s uživatelem. Dokáže

okamžitě reagovat na jeho vstupy a tím zajistit plynulou interakci, která by se pomocí

HTML nedala docílit. [19].

JavaScript dokáže také pracovat s individuálním zobrazením stránky (např. reagovat

na změnu velikosti okna, polohu myši atd.). [19].

Z bezpečnostních důvodů nemůže JavaScript pracovat s lokálními soubory. Pouze

se soubory, které uživatel do stránky vloží, nebo které jsou poslány ze serveru. [19].

Zdrojový kód č. 5: Ukázka JavaScript kódu s využitím knihovny jQuery [vlastní].

2.4.6 AJAX

AJAX (Asynchronous JavaScript and XML) je označení technologie využívaná při

vývoji interaktivních webů. AJAX umožňuje měnit obsah stránek bez opětovného

načítání stránky. Kombinuje XML, JavaScript, HTTP a (X)HTML. Stránka pomocí

JavaScriptu kontaktuje server a ten odpoví formou XML dat. JavaScript tyto data

interpretuje a vloží do HTML. AJAX se stal populární poté, co ho začal využívat

Google pro okamžité vyhledávání(2005). [20][21].

�23

//načte  další  při  scrollování  $(window).bind("scroll",  function()  {      load_dishes();  });

Page 24: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

2.4.7 jQuery

jQuery je malá knihovna JavaScriptu, která usnadňuje programování. Je podporována

napříč prohlížeči. Rychle se rozvíjí. Usnadňuje manipulaci s HTML, odchytávání

událostí, animace a Ajax. Je budována neziskovou organizací jQuery Foundation. [22].

2.4.8 Smarty

Smarty je šablonový systém pro PHP. Hlavním úkolem Smarty je oddělit logické funkce

od vzhledové prezentace. Tento systém výrazně zlepšuje přehlednost a usnadňuje

spolupráci programátora a designera. [23]

Zdrojový kód č. 6: Ukázka Smarty šablony [vlastní].

2.5 Teoretická východiska pro webovou prezentaci

Jak již bylo zmíněno (2.1.1), webová prezentace (webové stránky) je zobrazována

pomocí prohlížečů, je dostupná přes URL a provázána hypertextovými odkazy.

Tvorba webové prezentace (web design) se zabývá skládáním funkčních, grafických

a obsahových prvků tak, aby dosáhla vytyčeného cíle (předat informaci, prodat produkt,

zobrazit reklamu).

2.5.1 Pyramida aspektů web designu

Pro jednoduché znázornění prvků tvorby webu slouží pyramida aspektů web designu.

Jedná se o metaforu, kdy z jednotlivých kostek obsahu skládáme pyramidu. Jako

základna pyramidy slouží spojnice vizuální formy a funkcí (technologií). Pyramida je

skládána směrem vzhůru, kde na jejím vrcholu je dosažení cíle (účelu) stránky. [24]

�24

<div  id="console">          <strong>DEBUG</strong>          <br>URL:  {$url|v}          Console:{$console}  </div>

Page 25: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Obrázek č. 4: Pyramida aspektů web designu [24].

2.5.2 Sedm empirických pravidel web designu

Existuje sedm základních pravidel, které napomáhají webdesignerům k dosažení

profesionálních výsledků. [25].

To, že něco můžete udělat, neznamená, že byste to udělat měli

Existuje velké množství technologií a nástrojů na tvorbu webu. Přidání další

technologie může web zpomalit nebo znepříjemnit jeho čtení. Před přidáním

technologie by se měl webdesigner zamyslet, zda technologie přidá na hodnotě webu,

nebo zda je to pouze módní novinka. [25].

Výjimka potvrzuje pravidlo

Při tvorbě webu neexistují absolutní pravidla. Není potřeba zcela zavrhnout technologii,

která na většině stránek není vhodná.

Například blikající text. Ten je ve většině případů nepříjemný pro uživatele, ale jako

upozornění na chybu ve formuláři se dá použít. [25].

�25

Page 26: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Soudcem a porotou je koncový uživatel

Názor na obsah webové prezentace se může lišit člověk od člověka. Ale jen proto, že

webdesigner má možnost web vytvářet, neznamená, že by měl uzpůsobit web jen podle

svého názoru. Je potřeba brát v potaz hlavně koncové uživatele. Pro ně je web

vytvářený. [25].

Webdesigner by měl vždy usilovat o získání co nejširších znalostí a zkušeností

Aby bylo dosaženo co nejlepšího výsledku pro co nejvíce uživatelů, je potřeba využívat

vhodné technologie správně. Prohlížeče a prostředí, ve kterém se stránky používají, se

liší. Pro dosažení kvalitního výsledku je třeba rozumět použitým technologiím. [25].

Nejlepší přístup je skromnost

Webdesign se v současnosti velmi rychle vyvíjí. Aby mohl webdesigner zůstat

konkurenceschopný, musí se umět učit od ostatních. [25].

Nikdy se nezavděčíte všem

Není možné se zavděčit všem návštěvníkům stránky. Snaha o zavděčení se všem často

vede ke stránce, která se nakonec líbí menšímu počtu lidí. Cílem webdesignera je

zavděčit se většině návštěvníků. [25].

Udržujte si přehled o standardech

Webové standardy se stále mění. Je potřeba si udržovat přehled, protože standardy

ukazují, jakým směrem se bude web vyvíjet. Se znalostí nových standardů je jednodušší

udělat web, který bude funkční i v další generaci prohlížečů. [25].

2.5.3 Filozofie použitelnosti

Použitelnost je náročnost, s jakou může uživatel najít a zpracovat potřebné informace,

provést potřebnou činnost. Filozofie použitelnosti se zabývá návrhem webu tak, aby byl

snadno použitelný pro všechny uživatele. [25].

Jedna z metod, využívaná k dosažení tohoto cíle, je zjednodušování webu na zásadní

prvky a odstranění většiny obrázků. Obrázky a grafika se v rámci filozofie použitelnosti

�26

Page 27: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

využívají jen omezeně. Filozofie použitelnosti patří ke konzervativním přístupům k

navrhování webu. [25].

Výhody filozofie použitelnosti

• rychlé načítání stránek

• intuitivní navigace

• konzistentní webová terminologie a metafory (např. nákupní košík)

• stručné texty

• podpora co nejvíce prohlížečů

• usnadněný přístup pro uživatele s postižením zraku, sluchu

Nevýhody filozofie použitelnosti

• může působit hodně konzervativně

• nízký důraz na grafiku

[25].

2.5.4 Grafika podporující použitelnost webu

I přesto, že se filozofie použitelnosti snaží omezit grafiku, může v mnoha případech

využití grafiky prospět použitelnosti webu. Mnohdy je to právě grafika, co dodá webu

přidanou hodnotu. [25].

První dojem

Uživatel si vytváří názor ihned po návštěvě stránky. Vnímá atmosféru webu,

profesionalitu a přehlednost. [25].

Mozek zpracovává grafiku rychleji než slova

Díky tomu, že mozek zpracovává grafické informace rychleji než slova, se grafika hodí

pro vyjádření atmosféry, o čem web je. Hodí se i pro označení některých funkcí.

Kromě konkrétních obrázků se často využívají piktogramy. Piktogramy dokáží uživateli

velmi usnadnit navigaci (např. lupa pro hledání). [25].

�27

Page 28: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Grafika může podpořit navigaci

Kromě výše zmíněných piktogramů může grafika pomoci navigaci tím, že oddělí

jednotlivé oblasti. Může se jednat o rozdělení jednotlivých funkčních modulů (menu,

obsah, patička), nebo třeba sekce webu (úvod, pro domácnosti, pro firmy, výprodej).

[25].

2.5.5 Post flat design

Webdesign je v posledních 4 letech čím dál více ovlivňován minimalistickým "flat

design" stylem, tedy plochým stylem bez textur, se zaměřením na barvy a typografii.

Tento styl vychází z grafických škol Bauhaus a Švýcarského stylu typografie. [29][30].

Poté, co Microsoft vydal v roce 2010 mobilní operační systém, se začal "flat design"

rozšiřovat napříč internetem. V dnešní době je využíván nejen velkým počtem

technologických společností (Microsoft, Facebook, Apple, Google, Twitter), ale i

netechnické společnosti s nezanedbatelným vlivem na vývoj internetu (New York

Times, SAP, Mashable). [26][27].

Během roku 2013 došlo k masivnímu rozšíření flat designu napříč obory, napříč médii.

V dnešní době je flat design k vidění nejen na webových stránkách, plakátech, ve

výlohách obchodů, brožurách, ale i v umění. [26][27].

Popularita flat designu však vedla k vzniku velkého množství webových stránek, které

se jen velmi málo liší jedna od druhé. Toto vede k vzniku tzv. post flat design stylu. Ten

se vyznačuje záměrným porušováním některých pravidel flat design stylu. Tato porušení

můžou být různá. Některé stránky přidají texturu k jinak plochému stylu, jiné zůstanou

u čistých barevných ploch, ale přidají vrstvy a stíny. [26][27].

�28

Page 29: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

3 ANALÝZA SOUČASNÉHO STAVU

Tato kapitola je složena z analýzy cílového uživatele, analýzy konkurence, časových

faktorů s vlivem na vývoj systému, měření úspěchu portálu a analýza požadavků na

webový portál.

3.1 Analýza cílových uživatelů

3.1.1 Popis cílových uživatelů

Zaměření portálu je převážně na studenty ve větších městech. V těch městech, kde je

dostatečné množství menz, aby si studenti vybírali, kde se budou stravovat.

Cílová skupina je tedy převážně ve věku 18-26 let. Počítačová gramotnost je vysoká,

většina studentů má internet dostupný doma, ve škole a v mobilních zařízeních. Studenti

jsou zvyklí využívat několik webových portálů různého zaměření a komplexnosti

(sociální sítě, školní systémy, elektronické obchody, portály s hodnocením filmů …).

Vzhledem k finanční a časové výhodnosti se velká část studentů stravuje v menzách.

3.1.2 Specifické charakteristiky a hrozby z nich plynoucí

Díky tomu, že je skupina cílových uživatelů takto vymezena, můžeme určit několik

specifických charakteristik, které mají vliv na výsledný produkt.

Mezi důležité charakteristiky patří:

• omezený rozpočet

• pozitivní přístup ke změnám

• krátká doba pozornosti

Omezený rozpočet studentů a možnost vzniku alternativní služby s malým rozpočtem

vede k nutnosti financovat portál jiným způsobem než členskými poplatky. Vyplývá

z toho nutnost financování pomocí sponzorů, reklamy, případně spoluprací s menzami.

�29

Page 30: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Cílová skupina ve věku 18-26 let má převážně pozitivní náhled na změny. Na rozdíl od

starších uživatelů upřednostňují studenti evoluční vývoj služby. To umožňuje spustit

portál v tzv. etapě 0. Tedy se základní funkčností a další funkce přidávat za chodu.

Velmi častým tématem vztaženým k internetovým stránkám je zkracující se doba

pozornosti. A to jak doba upoutání pozornosti, tak doba udržení pozornosti. Podle

některých statistik (http://www.statisticbrain.com/attention-span-statistics/) se doba

upoutání pozornosti zkrátila mezi lety 2000 a 2013 z 12s na 8s. Tento jev je výrazný

zejména u studentů, kteří konzumují velké množství informací. Proto je třeba, aby byl

portál co nejjednodušší. Například upřednostnit hodnocení 1-5* před slovním

hodnocením.

3.2 Analýza konkurence

3.2.1 Kritéria a způsob výběru

Na internetu je velké množství webových služeb, které se zabývají hodnocením jídelen

a restaurací. Jejich sféra pokrytí může být lokální, celostátní nebo i nadnárodní.

V současnosti je také znatelný trend mobilních aplikací zabývajících se hodnocením

restaurací. Výběr restaurace pomocí mobilního připojení k internetu je nyní běžný.

Proto, abychom mohli provést analýzu, je potřeba stanovit základní kritéria průzkumu.

• dostupnost na webu

• hodnocení restaurací v Brně

• stránky v češtině/angličtině

Metoda určení konkurence je vybrána tak, aby kopírovala způsob, jakým bude

informace hledat cílový uživatel. Tedy vyhledání klíčových slov (“hodnocení jídlo

Brno”, “hodnocení jídel v Brně”, “menzy Brno”) pomocí majoritních vyhledávacích

systémů (Google, Seznam). Z prvních dvou stránek vyhledávače vybereme stránky

určené pro hodnocení jídel. Doplníme o známé portály a aplikace, které by mohly být

konkurencí.

�30

Page 31: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Výsledky pro přehlednost rozdělíme na české a mezinárodní služby.

3.2.2 České

Tabulka č. 1: Česká konkurence [vlastní].

Téměř žádná nalezená služba není v současnosti přímou konkurencí. Nicméně z

dlouhodobého hlediska k tomu mají potenciál a je potřeba je sledovat.

3.2.3 Mezinárodní

Tabulka č. 2: Mezinárodní konkurence [vlastní].

Obdobně jako české, tak i mezinárodní služby nejsou přímou konkurencí. Jedinou

výjimkou je sociální síť Foursquare.

3.2.4 Foursquare

Foursquare je sociální síť využívající geolokační služby mobilních zařízení. Je založena

na databázi míst umístěných na mapě. Nová místa mohou přidávat uživatelé i

společnosti. [28].

typ zaměření menzy

fajnsmekr.cz portál restaurace, hospody… NE

nejezto.cz portál restaurace NE

dobresenajim.cz portál restaurace NE

rajbrno.blogspot.cz blog restaurace NE

flob.cz portál všeobecné NE

lunchtime.cz app, portál restaurace pouze Krmítko

czechpubs.cz portál hospody, restaurace NE

typ zaměření menzy

yelp.com app, portál restaurace pouze PrF

foursquare.com app, portál všeobecné ANO

google.com/maps app, mapa všeobecné pouze Krmítko

�31

Page 32: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Uživatelé se poté na místě mohou “checknout” (check in - zapsat se, nahlásit se),

zanechat tip (heslo na WiFi, nejlepší jídlo, vlastní zkušenost), ohodnotit službu (délka

obsluhy, kvalita jídla), získat slevu, vložit fotku. To celé je obohaceno o prvky hry

(body za check-in, starosta místa - uživatel s nejvíce check-iny za posledních 60 dnů).

[28].

Místa si mohou uživatelé ukládat do seznamů (plán výletu, WiFi zdarma, určitý typ

restaurací), sdílet vytvořené seznamy, sdílet svoje “check-iny” s přáteli v rámci

Foursquare, nebo přes Facebook a Twitter. [28].

Foursquare má přes 50 milionů uživatelů, spolupracuje s více než 1,7 milionu

společností. V databázi spravuje více než 60 milionů míst, 40 milionů tipů a 5 miliard

check-inů. [28][29].

Z výše uvedených čísel je jasné, že check-iny jsou výrazně více užívány než tipy. Toho

si je vědoma i společnost Foursquare a plánuje rozdělení služby do dvou aplikací

(Foursquare a Swarm). Aplikace Foursquare bude nadále sloužit pro hledání nových

míst a sdílení zkušeností. Aplikace Swarm bude sloužit pro sdílení polohy s přáteli. [30]

Hlavní konkurencí je tedy funkce zanechání tipů a zkušeností. Ta je v současnosti méně

využívanou funkcí, nicméně Foursquare ji nadále podporuje rozdělením aplikací.

Pro představu, nakolik jsou služby využívané u nás, se podíváme na některé vybrané

menzy.

Tabulka č. 4: Menzy na Foursquare [vlastní].

Menza Purkyňova

Krmítko FSS Menza Moravské nám.

Menza Kolejní

počet check-inů 1914 1151 2340 793

počet návštěvníků 213 178 293 140

počet tipů 8 5 11 5

tipy ohledně kvality jídla

5 3 5 4

tipy ke konkrétnímu jídlu

1 3 2 1

�32

Page 33: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Z tohoto průzkumu vyplývá, že Foursquare je velkou konkurencí co do počtu uživatelů

(i místních), ale co do využití služby pro hodnocení jídel v menzách je jen málo

využíván.

3.3 Časové faktory ovlivňující vývoj systému

Během analýzy je nutné určit jaké časové faktory ovlivňují nasazení systému a jak tyto

faktory ovlivní vývoj systému. V této podkapitole si vytyčíme některé časové milníky,

které pak budou využity při návrhu časového plánu.

Vzhledem k tomu, že je systém určen pro využití studentům během školního roku, je

potřeba to zohlednit při vývoji systému. Je vhodné, aby byla plně funkční a otestovaná

verze spuštěna se začátkem školního roku. Během začátku školního roku by také měla

proběhnout reklamní kampaň upozorňující na novou službu. Jako milník vývoje tedy

můžeme považovat 01. 09. 2014.

Protože je vývoj projektu svázán s touto bakalářskou prací, je tím stanoveno, kdy musí

být spuštěn web s prototypem systému. 01. 06. 2014.

V době psaní této práce je webhosting zaplacený do 09. 05. 2015. Toto datum je tedy

milníkem, do kdy se musí vyhodnotit úspěšnost webového portálu a rozhodnout, zda

bude pokračovat a jak bude financována jeho další existence.

3.4 Měření úspěchu webového portálu

Úspěch webového portálu je možné měřit podle několika hledisek nebo jejich

kombinací. Mezi základní měřené hodnoty patří finanční hodnota webu, výdělečnost

webu, počet registrovaných uživatelů, počet návštěvníků, ocenění externí organizací

(např. Křišťálová Lupa).

Ne všechny ukazatele se hodí pro každý web. Jejich užitečnost se může měnit v průběhu

jejich životního cyklu. Některé mají význam až poté, co jsou změřeny (získání ocenění).

�33

Page 34: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Vzhledem k tomu, že systém popsaný v této práci je v současné etapě nevýdělečný,

nejsou finanční ukazatele vhodné (finanční stránkou se zabývá kapitola Finanční

zhodnocení).

Jako vhodné ukazatele tedy můžeme použít počet registrovaných uživatelů a počet

návštěvníků.

Jako metody měření těchto ukazatelů budou využity výpis z databáze pro uživatele a

Google Analytics pro návštěvy. Přidanou hodnotou, kterou Google Analytics přináší

oproti klasickému počítadlu návštěv, je velké množství dat, které je možné využít pro

další rozvoj webu.

3.5 Požadavky na systém

Vzhledem k tomu, že se jedná o vlastní projekt bez formálních požadavků externí

společnosti, stanovím si požadavky na systém sám. Při stanovení požadavků budu

přihlížet k cílům práce, analýze uživatelů, analýze konkurence, časovým faktorům a

vlastním zkušenostem s tvorbou webových stránek.

3.5.1 Technické požadavky

Výsledkem práce bude webový portál využívající HTML 5, CSS 3, PHP, MySQL,

jQuery. Portál bude umístěný na hostingu, dostupný na české doméně.

Programová část bude psána tak, aby ji bylo možné rozšířit o nové funkce bez velkých

zásahů do stávajícího obsahu.

3.5.2 Požadavky na funkčnost

• Bude používat tzv. "čitelné URL". Tedy bez ?, &, #, =…

• Vzhled "post-flat-design".

• Dynamický vzhled, reagující na posun obrazovky.

• Možnost filtrovat jídla podle hodnocení, menzy, fakulty, školy.

• Průměrné hodnocení jídel je dostupné pro všechny.

�34

Page 35: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

• Registrovaní uživatelé mohou jídla hodnotit.

• Zabezpečení databáze proti SQL injection.

• Heslo se nepřenáší po síti, využívá se hashovací funkce.

• Zabezpečení hesla proti odposlechu packetů (packet sniffing).

�35

Page 36: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4 VLASTNÍ NÁVRHY ŘEŠENÍ

V této kapitole je nejdříve popsán samotný návrh systému, některé problémy realizace,

návrh budoucího rozvoje a finanční zhodnocení.

4.1 Návrh

Tato podkapitola popisuje návrh prototypu portálu.

4.1.1 Funkční model

Nejdůležitější částí návrhu systému je návrh funkčnosti systému. Tedy kdo bude se

systémem pracovat a co bude systém schopný dělat.

Nejprve se podíváme na to, kdo bude se systémem pracovat, tedy na aktéry.

• admin - správce stránky. K systému přistupuje přes backdoor řešení poskytovatele

hostingu. Přímo zasahuje do kódu stránky a spravuje data v databázi.

• nepřihlášený uživatel - K systému přistupuje přes www portál. Pouze vidí stávající

hodnocení, nemůže do něj zasahovat. Může se zaregistrovat a přihlásit.

• přihlášený uživatel - K systému přistupuje přes www portál. Může hodnotit jídla.

Funkce, které využívá admin, jsou prováděny přes backdoor řešení poskytovatele

hostingu, není tedy třeba je specifikovat. Funkce, které vykonává www portál pro

uživatele, jsou:

• registrace - Vytvoření nového uživatelského účtu.

• přihlášení se - Po zadání uživatelských údajů se zpřístupní funkce systému dostupné

jen registrovaným uživatelům.

• aktuality - Novinky ohledně portálu, dostupné na úvodní stránce portálu.

• zjistit hodnocení - Zobrazení jídel s jejich průměrným hodnocením.

• filtrování jídel - Možnost nastavení filtrů pro zobrazení jídel splňujících parametry.

• hodnocení jídla - Zadání vlastního hodnocení jídla.

�36

Page 37: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

• informace o uživateli - Každý uživatel si může zobrazit informace o svém účtu.

• odhlášení se - Systém se vrátí do režimu pro nepřihlášeného uživatele.

Nyní si tyto funkce a aktéry znázorníme pomocí Use-Case diagramu.

Obrázek č. 5: Use-case diagram www portálu [vlastní].

Z Use-Case diagramu je tedy jasné, co bude prototyp www portálu umět.

�37

Page 38: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.1.2 Datový model

Dalším důležitým krokem návrhu je datový model. Nejprve pomocí data flow diagramů

popsat některé datové toky a z nich vyplývající požadavky na databázi. Následně pak

schéma databáze pomocí entity relationship diagramu.

Entity relationship diagram pak slouží přímo k vytvoření databáze MySQL. Je vhodné

jej udržovat aktuální a při každé změně databáze změnit ERD. Při dalším vývoji

systému pak ERD výrazně pomáhá ve zorientování se v databázi.

Nejprve vytvoříme data flow diagram z první funkce zakreslené v use-case diagramu.

Obrázek č. 6: Data flow diagram registrace nového uživatele [vlastní].

Z diagramu je patrné, že v databázi budeme potřebovat uchovávat údaje o univerzitách a

uživatelích. Údaje o univerzitách poskytuje admin a údaje o uživateli jsou získány

během procesu registrace.

Obdobný postup se aplikuje na ostatní funkce. Vzhledem k tomu, že se jedná o triviální

funkce, stačí v tomto případě data flow diagram hodnocení jídla, který obsáhne všechny

potřebné entity, které budou uloženy v databázi.

Další potřebná data jsou aktuality, ty se ovšem mění jen velmi málo a vždy za dozoru

admina. Je tedy jednodušší umístit je přímo do smarty šablony a neukládat je do

databáze.

!!

�38

Page 39: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Obrázek č. 7: Data flow diagram registrace nového uživatele [vlastní].

Z tohoto diagramu tedy vidíme, že do databáze bude potřeba ukládat data o 6 entitách.

Uživatelé, jídla, menzy, fakulty, univerzity a hodnocení (hvězdičky).

Než budeme moci vytvořit ERD, je nejprve nutné zjistit v jakém vztahu jsou entity vůči

sobě navzájem a jaké data o každé z nich chceme uchovávat.

Každé hodnocení se týká jednoho jídla a je uděleno jedním uživatelem. Každý uživatel

může hodnotit více jídel. Každé jídlo může být hodnoceno více uživateli. Obě vazby

jsou tedy 1-N.

Každý uživatel náleží k některé univerzitě (1-N). Každé jídlo patří do jedné menzy (1-

N). Každá menza spadá pod jednu fakultu (1-N). A každá fakulta spadá pod jednu

univerzitu (1-N).

�39

Page 40: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

U univerzit je potřeba uchovat jejich název, zkratku a krátký popis. U fakult postačí

uchovat zkratku a celý název. U menz je třeba uchovat zkratku, název a popis. Nicméně

v dalších verzích systému bude potřeba uchovávat i další údaje jako je adresa, GPS

souřadnice, doba provozu atd. U jídla postačí název a popis. Hodnocení stačí jen počet

udělených hvězdiček. U uživatele pak login, heslo, jméno a email.

Jednotlivé entity ještě doplníme o cizí klíče a můžeme sestavit entity relationship

diagram (v databázi používám anglické názvy). ERD je také doplněno o datové typy

jednotlivých atributů.

Obrázek č. 8: Entity relationship diagram [vlastní].

Podle tohoto diagramu je již možné naprogramovat MySQL databázi a naplnit základní

data (univerzity, fakulty, menzy a jídla). Uživatelé a hodnocení se naplní používáním

www portálu.

�40

Page 41: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.1.3 Struktura webu

Dalším krokem návrhu je návrh struktury webu. Tedy z jakých stránek a prvků se bude

web skládat. Současně také, které adresáře budou dostupné z webu.

Pro znázornění použiji mentální mapu s barevným rozlišením druhů.

Obrázek č. 9: Struktura webu [vlastní].

# - znamená volba podle id, nebo názvu (např. "/jidlo/12" pro stránku jídla s Id 12).

(menu) - Údaj v závorce značí, odkud bude daná sekce dostupná.

• Modře znázorněné větve jsou oddíly, které budou mít svou vlastní stránku.

• Fialově označené větve jsou vykresleny na vrstvě překrývající zobrazenou stránku.

Pokud se tedy uživatel rozhodne nepřihlásit se nebo zruší registraci, zůstane na stejné

stránce.

• Zeleně jsou označeny adresáře, které jsou přímo dostupné pro načtení souborů.

• Oranžově je znázorněna větev, která umožňuje spustit skripty místo načtení stránky.

Tyto skripty jsou využívány pro načtení obsahu bez nutnosti opětovného načtení celé

stránky.

�41

Page 42: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.1.4 Vzhled portálu

Čtvrtým krokem návrhu je návrh layoutu (rozložení) webu. Web je rozdělený do tří

horizontálních částí. Horní část má 100 px na výšku a obsahuje menu a logo stránky.

Střední část je určena pro hlavní obsah stránky a výška se přizpůsobuje tomuto obsahu.

Dolní část má 470 px na výšku a obsahuje patičku a podpis.

Celý web je umístěn ve sloupci o šířce 850 px. Tato šířka je dostatečně malá, aby se dala

zobrazit na mobilních zařízeních (např. Apple iPhone4S 960:640, Samsung Galaxy S4

1920:1080, Nokia Lumia 920 1280:768, HTC One 1920:1080, LG G Pro 2 1920:1080).

U rozlišení malých 13" notebooků (např. 1440:900) zabere 2/3 stránky. U stolních

monitorů (1920:1080) zabere téměř polovinu stránky. A u 1440p monitorů je to

přibližně 1/3 stránky. Tento sloupec se automaticky centruje. Centrální sloupec není

vizuálně oddělen od okrajů stránky, aby web působil kompaktním dojmem.

Obrázek č.10: Layout webu (velikosti uvedeny v pixelech) [vlastní].

�42

Page 43: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Při posunu stránky (scrollování) se menu po posunu o 70 px přichytí (ukotví) u horního

okraje a tam zůstane (obsah se posouvá pod menu). Současně se logo zmenší o 30%,

posune dolů a otočí o 7°.

Toto uchycení menu je vhodné proto, aby bylo možné stránku ovládat bez posouvání

"tam a zpět".

Obrázek č.11: Layout ukotveného menu (velikosti uvedeny v pixelech) [vlastní].

4.1.5 Časový plán realizace projektu

Neméně důležitou částí návrhu je časový plán. Časový plán si sestavíme formou časové

osy. V časové ose budou využity 3 základní termíny: etapa, generace a milník.

• Etapa sdružuje několik úkolů do jednoho celku. Po ukončení jednotlivých etap

probíhá kontrola splnění úkolů. Etapy mohou probíhat v návaznosti na sebe nebo i

souběžně.

• Generace (www portálu) popisuje verzi (vývojovou iteraci) portálu. Prototyp

popsaný v této práci je označen jako generace 1. Drobné úpravy jsou prováděny

průběžně, ale přidání nových funkcí, změna současných funkcí je důvodem k

vytvoření nové generace. Každá nová generace je vyvíjena na lokálním serveru

odděleně od veřejné verze dostupné přes internet. Po dokončení nové generace

proběhne testování všech funkcí. Po splnění testů nahradí nová generace původní.

V časové ose jsou zmíněny pouze první dvě generace, protože jsou vázány časově.

Ostatní generace budou vyvíjeny v rámci časových možností.

• Milník je časový údaj, který vymezuje dokončení etapy, nebo etap. Milníky jsou již

vytyčeny v analýze časových faktorů.

!

�43

Page 44: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

�44

Generace 1

Prototyp tak jak je popsaný v této

práci. Hodnocení jídel 1-5*.

Generace 2

Přidáno slovní hodnocení.

Hodnocení slovního hodnocení

(pomohlo/nepomohlo).

Generace 3

Sekce menzy. Popis menz, otevírací

doba, adresa, mapa, průměrné

hodnocení všech jídel v menze.

Generace 6

Vyhledávání v jídlech, menzách, podle

GPS souřadnice.

Etapa 0

vytvořit a otestovat

generaci 1

Etapa 1

spuštění www stránek

Etapa 2

naplnit databázi

Etapa 3

vytvořit generaci 2

Etapa 4

propagace webu, získání

nových uživatelů

Etapa 5

zhodnotit provoz a určit,

zda se portál vyplatí

provozovat

06. 06. 2014

odevzdání bakalářské práce

01. 09. 2014

začátek školního roku

09. 05. 2015

expirace hostingu

Generace 4

Slovní hodnocení menz.

Generace 7

Porovnání dvou jídel.

Generace 5

Sekce uživatel rozšířena o oblíbená

jídla.

Obrázek č.12: Časový plán realizace projektu [vlastní].

Page 45: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2 Realizace

V této podkapitole jsou popsány některé zajímavé problémy realizace a jejich řešení.

4.2.1 Soubor .htaccess

Aby bylo možné dosáhnout struktury webu podle návrhu (viz 4.1.3), je třeba nastavit

pravidla pro přístup k serveru. V těchto pravidlech můžeme vybrat adresáře, do kterých

bude povolený přístup a všechny ostatní přístupy směřovat na "/index.php" (hlavní

soubor webu). Při tomto přesměrování se předává URL pomocí $_GET proměnné.

Díky tomuto přesměrování může web rozumět tzv. hezkým URL, tedy sekce

oddělené "/" bez funkčních znaků (?, &, #, =). Příklad hezkého URL bude vypadat

takto: "http://studentskajidla.cz/jidlo/2".

Současně si tak zabezpečíme šablony Smarty a PHP skripty proti čtení a spuštění přes

URL. Tyto skripty však zůstanou dostupné pro provádění na serveru (skript index.php si

je může spustit).

Pro přímý přístup necháme dostupné soubory, které se vkládají do webové stránky

pomocí odkazu, tedy obrázky, JavaScriptové skripty a soubory css.

Pravidla přístupu k serveru se nastavují v souboru "/.htaccess".

Zdrojový kód č. 7: Soubor .htaccess [vlastní].

�45

php_value  display_errors  "0"  php_value  log_errors  "1"  Options  -­‐Indexes  !<IfModule  mod_rewrite.c>     RewriteEngine  On     RewriteBase  /  #  vyjimky  z  pravidla:     RewriteCond  %{REQUEST_URI}  !^/css/.*$     RewriteCond  %{REQUEST_URI}  !^/js/.*$     RewriteCond  %{REQUEST_URI}  !^/img/.*$  #  presmerovani  na  index.php     RewriteRule  ^(.*)$  index.php?url=$1  [L,QSA]  </IfModule>

Page 46: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2.2 Princip fungování systému.

Nyní je tedy nastaven přístup přes "/index.php". V následujícím odstavci je popsané, jak

na sebe jednotlivé technologie reagují při načtení stránky v prohlížeči.

Uživatel zadá URL a odešle se požadavek na server. Soubor "/.htaccess" přesměruje na

soubor "/index.php", ten obsahuje hlavní skript, který zpracuje předané URL, načte

další potřebné skripty, komunikuje s MySQL databází a sestaví Smarty šablony.

Sestavením Smarty šablon vznikne HTML (s odkazy na css a obrázky) a JavaScript.

Webový prohlížeč přijme HTML, CSS a JavaScript. Vzhled na základě HTML a CSS je

zobrazen uživateli. JavaScriptové skripty reagují na chování uživatele (např. ukotvení

menu při scrollování). Tento postup je použit při každém načtení stránky.

Obrázek č. 13: Princip načtení stránky [vlastní].

V okamžiku, kdy je stránka načtená, může nadále komunikovat se serverem přes AJAX.

Příkladem může být registrace, kdy před odesláním dat se kontroluje unikátnost loginu,

ale nedochází k opětovnému načtení celé stránky.

JavaScript v načtené stránce reaguje na akci uživatele a pomocí AJAXu spustí php

skript na serveru. Tento skript komunikuje s databází, případně složí šablonu Smarty a

�46

Page 47: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

odešle odpověď zpět AJAXu. AJAX odpověď vyhodnotí a upraví podle ní HTML a

CSS.

.

Obrázek č. 14: Funkce AJAXu [vlastní].

Tento postup je z pohledu uživatele vhodnější. Nemusí se načítat celá stránka a formulář

zůstává vyplněný. Pokud tedy uživatel během registrace zadá již obsazený login, je na

to upozorněn a nemusí vyplňovat celý formulář znovu. V některých případech si

uživatel ani nemusí být vědom, že stránka stále komunikuje se serverem (např. načítání

dalších jídel).

4.2.3 Zabezpečení proti SQL injection

Databázi je potřeba zabezpečit proti SQL injection útokům. Tedy pokud někdo zadá do

formuláře SQL kód, nesmí se tento kód provést. Provedení kódu by mohlo poškodit,

nebo kompromitovat databázi.

PHP obsahuje od verze 5.1 objekty PDO (PHP Data Objects). PDO slouží k obsluze

databází a obsahuje metody pro práci s nimi. Výhodou PDO je rychlost, kompatibilita s

více druhy databází, snadná čitelnost objektového zápisu a jednodušší způsob

zabezpečení komunikace mezi aplikací a databází. PDO tedy působí jako komunikační

vrstva mezi PHP aplikací a MySQL databází.

�47

Page 48: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Pro obranu před SQL injection se využívají "připravené dotazy". Databázi se nejdříve

pošle dotaz se zástupným symbolem místo dat z formuláře. Data jsou poslána jako

parametr později. Databáze tak ví, co jsou data a co kód k provedení.

Zdrojový kód č. 8: Připravené dotazy pomocí PDO [vlastní].

4.2.4 Zabezpečení hesla

Webový portál neobsahuje důvěrná data a není proto nutné šifrovat komunikaci.

Nicméně většina lidí používá stejnou kombinaci hesla a loginu pro více webových

stránek. Je proto vhodné zabezpečit přenos hesla, aby nebylo odposlechnuto během

komunikace.

K tomuto účelu je možné použít hashovací funkci SHA256. Již při registraci se vytvoří

SHA256 otisk hesla a ten je pak uložen v databázi. Při každém přihlášení se pak na

straně klienta vytvoří otisk hesla, které napsal do formuláře a až tento otisk je odeslán

ke kontrole. Pro ochranu před slovníkovým útokem je k heslu přidáván řetězec

"studentskajidla".

.

Zdrojový kód č. 9: Vytvoření otisku hesla [vlastní].

Toto opatření neslouží k zabránění přístupu do systému, ale k znesnadnění rozklíčování

hesla z odposlechu. SHA256 je poměrně rychlá funkce, to je výhodou pro implementaci

JavaScriptem, ale také nevýhodou pro bezpečnost (zejména u slabých hesel).

password=CryptoJS.SHA256($("#passwd").val()+"studentskajidla");

�48

$result=$db-­‐>prepare("  SELECT  *  FROM  users  as  us  JOIN  universities  as  uni  on  us.ID_university  =  uni.ID_university  WHERE  login  =  :login  LIMIT  1;  ");  $result-­‐>bindValue(':login',  $login,  PDO::PARAM_STR);  $result-­‐>execute();

Page 49: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2.5 Postupné načítání obsahu

Databáze může v budoucnu obsahovat velké množství jídel, případně mohou být jídla

zobrazována s obrázkem. Není potřeba, načítat všechna jídla najednou, protože by se

stejně nezobrazila na obrazovce. Obvyklým řešením je rozdělit výsledky hledání do

stránek, což je ale nepohodlné pro uživatele.

Mnohem užitečnější je načítat jídla, která chce uživatel vidět, v okamžiku kdy je chce

vidět (nebo jen nepatrně dříve). Takže při načtení stránky načíst tolik jídel, kolik se na

stránku vejde a pak při posunu po stránce načítat jídla další podle toho, jak se uživatel

posunuje. V optimálním případě si uživatel ani nevšimne, že se jídla načítají postupně a

bude předpokládat, že jsou načtena všechna jídla. V případě pomalejšího načítání se

uživateli zobrazí symbol načítání. I v tomto případě se načítají jen ta jídla, která chce

uživatel zobrazit.

Hlavní výhodou je rozprostření času načítání do dobu kdy si uživatel prohlíží již

načtený obsah. Není vyžadováno žádné rozhodování uživatele (zobrazit další stranu,

vrátit se na předchozí stranu…). Tento postup také šetří na přenosu dat, což je žádané v

době nízkých FUP limitů mobilních připojení.

Funkce pro načtení jídel

Po načtení stránky a při každém jejím posunu (scrollování) je zavolána funkce načtení

jídel. Protože při posunu po stránce dochází k mnohačetnému volání funkce, je potřeba

ošetřit, aby se server nezahltil. Toho je docíleno vytvořením kritické sekce, tedy pokud

je funkce prováděna, nelze spustit znovu. Kritická sekce je naprogramována pomocí

tzv. semaforu - globální proměnné, která ukazuje, zda je dovoleno vstoupit do funkce.

V kritické sekci se ověří, zda již bylo načteno poslední jídlo. Pokud ano, funkce se

ukončí a semafor zůstane uzavřen. Pokud ještě nebylo načteno všechno, vyhodnotí

funkce místo na obrazovce (výška okna + posun < pozice + výška posledního načteného

jídla). Pokud je stránka zaplněna, funkce otevře semafor a ukončí se. Pokud je na

stránce volné místo, načte pomocí AJAX další dvě jídla (jeden řádek), otevře semafor a

spustí se znovu.

�49

Page 50: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2.6 Post flat design

Nyní je na čase se rozhodnout o tom, nakolik se řídit dnes tak populárním flat designem

a v kterých ohledech ho porušit. V nadcházejících odstavcích bude vybráno barevné

schéma stránky a písmo. Následně pak prvky protichůdné s flat designem - textury a

stíny.

Barevné schéma

Vzhledem k tomu, že je web složený ze tří hlavních částí, je vhodné je odlišit barevně.

Rozhodl jsem se pro bílé menu a tmavě šedou patičku, protože tyto barvy na sebe

snadno přejímají charakter třetí barvy. Pro hlavní část stránky, je potřeba zvolit takovou

barvu, která se hodí k tématu stránky. Tématem stránky je jídlo, hodí se tedy spíše barvy

teplé, tedy část spektra mezi červenou a žlutou. Zvolil jsem zlatavě žlutou.

Obrázek č. 15: Barevné schéma [vlastní].

Písmo

Jako písmo jsem se rozhodl využít Helvetica Neue s úzkým profilem písma. Helvetica

(Neue) patří k nejvíce používaným bezpatkovým fontům. Většina lidí je zvyklá ji číst.

Helvetica Neue je součástí některých operačních systémů (iOS, OS X). Na platformě

Windows je využit jako zástupný font Tahoma, také v s úzkým profilem. Pro ostatní

systémy je nastaven bezpatkový font.

Obrázek č. 16: Helvetica Neue Light [vlastní].

!

�50

Page 51: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Logo

Logo je velmi jednoduché. Využívá stejné písmo jako zbytek stránky a k tomu obrázek

odkazující na téma stránky - jídlo.

Obrázek č. 17: Logo stránky [vlastní].

Textury

Ozvláštnit stránku, oproti plochám jednotné barvy flat designu, jsem se rozhodl

využitím jemné textury. Vygeneroval jsem na geometrické mřížce body s náhodnou

intenzitou. Tato intenzita je znázorněna barvou. Nízká intenzita je průhledná a vysoká

intenzita je šedá. Položením textury nad základní barvy vznikne struktura, která není

nijak rušivá, nicméně je dost výrazná, aby stránku odlišila.

Obrázek č. 18: Textura stránky [vlastní].

Stíny

Další prvek je de facto pravým opakem flat designu. Vyzdvihnutí menu nad ostatní

obsah pomocí stínu a plovoucího umístění. Stín docílí plastického efektu a následný

posuv obsahu stránky "pod" menu tento efekt ještě umocní.

Obrázek č. 19: Stín menu [vlastní].

�51

Page 52: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2.7 Ukotvení menu

Návrh layoutu popisuje, jakým způsobem se má menu chovat při posunutí stránky. Zde

je popsáno, jak toho dosáhneme.

Nejprve je potřeba pomocí jQuery sledovat posunutí a kontrolovat o kolik je stránka

posunuta. Plná výška menu je 100 px a při posunu se má ukotvit 30 px vysoký pruh u

horního okraje. K tomu tedy dojde po posunu o 70 px.

Zdrojový kód č. 10: Ukotvení menu - jQuery [vlastní].

Při překročení hranice 70 px, se přidá/ubere třída "fixed" k objektu #top a současně se

přidají/uberou třídy "down" a "shadow" k objektu #logo. Tyto třídy popisují vzhled po

ukotvení.

Zdrojový kód č. 11: Ukotvení menu - CSS [vlastní].

�52

$(window).bind('scroll',  function  ()  {          if  ($(window).scrollTop()  >  70)  {                  $('#top').addClass('fixed');                  $('#logo').addClass('down  shadow');        }  else  {                  $('#top').removeClass('fixed');                  $('#logo').removeClass('down  shadow');        }  });

#top.fixed,  #top.fixed  #menu_wrapper{          height:30px;  }  #top.fixed{          position:fixed;      }  #top  #logo.down{          bottom:-­‐50px;          left:  -­‐70px;          transform:rotate(-­‐7deg)  scale(0.7);          -­‐webkit-­‐transform:rotate(-­‐7deg)  scale(0.7);          -­‐ms-­‐transform:rotate(-­‐7deg)  scale(0.7);          -­‐moz-­‐transform:rotate(-­‐7deg)  scale(0.7);          -­‐o-­‐transform:rotate(-­‐7deg)  scale(0.7);  }

Page 53: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.2.8 Google Analytics

V analýze je jako metoda měření návštěvnosti vybrána služba Google Analytics. Pro

zprovoznění této služby je potřeba vytvořit si účet na stránce http://google.com/

analytics. Po vytvoření účtu služba vygeneruje JavaScript kód a ten je nutné vložit do

stránky.

Po vložení kódu do stránky je možné na stránkách služby Google Analytics sledovat

návštěvnost stránek, spolu s dalšími údaji o návštěvách.

Obrázek č. 20: Ukázka Google Analytics [31].

4.3 Návrh budoucího rozvoje

Budoucí rozvoj stránky, z pohledu funkčnosti, je popsán v podkapitole 4.1.5 Časový

plán realizace projektu.

Možnosti budoucího rozvoje jsou závislé na úspěšném získání uživatelů.

4.3.1 Spolupráce s menzami

Prvním cílem dalšího rozvoje je začít obousměrnou komunikaci s menzami. Poskytnout

jim zpětnou vazbu. Domluvit se na uspořádání akcí pro vzájemnou podporu, například

formou soutěže pro studenty. Může se jednat o soutěž sběratelskou (kdo se nají v

určitém počtu menz), může se jednat o soutěž formou souboje (kdo má lepší jídla -

podle menz, podle fakult, podle škol).

�53

Page 54: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

4.3.2 Spolupráce s tvůrci mobilních aplikací

Existuje několik mobilních aplikací s online jídelníčky pro různé školy (např. VUT

Menzy od Romana Sládečka, Menzy ČVUT od Václava Halíka, Menzy ZČU od Luďka

Vlka, Menzy UK od TEEN). Bylo by oboustranně výhodné spojit funkce jídelníčků s

funkcemi hodnotícího portálu. Došlo by k překryvu uživatelských bází. Tedy někteří

uživatelé portálu by objevili mobilní aplikace a naopak. Služby online denních

jídelníčků a dlouhodobé hodnocení všech jídel se navzájem doplňují.

4.3.3 Rozšířit působnost

Dalším z cílů budoucího rozvoje je rozšíření působnosti o další školy v dalších městech,

zejména pak ČVUT a UK v Praze.

4.5 Finanční zhodnocení

Náklady

Návrh portálu byl proveden v rámci této bakalářské práce a nebyly na něj vynaloženy

žádné finanční prostředky.

V rámci realizace byla zaplacena doména a webhosting na jeden rok. Roční náklady na

doménu a hosting činní 514 Kč (151 Kč za doménu, 12*30,25 Kč za hosting).

Přínosy

V době odevzdání práce je portál ve fázi prototypu. Podle časového plánu sestaveného

v návrhu, bude od 01. 09. 2014 v provozu pro veřejnost. Ve fázi prototypu, nejsou

dostupné potřebná data pro odhad návštěvnosti, není tedy možné odhadnout kolik by

mohla vydělávat reklama na stránkách. Finanční přínosy bude tedy možné odhadovat,

až na základě dat získaných z provozu portálu.

Hlavním přínosem je poskytnutí bezplatné služby studentům. Tato služba jim napomůže

ve výběru dobrého jídla v menzách.

Osobním přínosem je pak možnost zařadit portál do osobního portfolia, jako prezentaci

znalostí vývoje www stránek.

�54

Page 55: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

Zhodnocení

Pokud bude vývoj portálu postupovat tak, jak bylo navrženo, bude možné v první

polovině roku 2015 rozhodnout, zda se portál vyplatí provozovat nadále na placeném

hostingu, nebo zda se přesune na neplacený hosting.

�55

Page 56: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

ZÁVĚR

Cílem práce je navrhnout a vytvořit portál pro studenty, který jim umožní srovnávat

kvalitu jídel v menzách.

Prvním dílčím cílem práce byl návrh systému. Po analýze požadavků na systém bylo

provedeno několik kroků k úspěšnému sestavení návrhu. Byl vytvořen funkční model,

datový model, model struktury webu a vzhled webu.

Druhým dílčím cílem bylo vytvoření prototypu tohoto portálu. Na základě teoretických

podkladů, analýzy požadavků a připravenému návrhu byl prototyp úspěšně vytvořen.

Webový portál je dostupný na adrese http://studentskajidla.cz.

Třetím dílčím cílem bylo navrhnout budoucí rozvoj portálu. V práci je stanoven časový

plán dalšího vývoje portálu včetně dalších funkcí, o které bude portál rozšířen. Dále je

také možné rozšíření služeb díky případné spolupráci s menzami a vývojáři mobilních

aplikací.

V rámci této práce vznikla nová bezplatná služba pro studenty. Webový portál, který jim

umožní sdílet zkušenosti z menz.

Zdrojový kód www portálu a MySQL databáze je přiložen na DVD.

Funkční služba je dostupná na http://studentskajidla.cz.

�56

Page 57: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

SEZNAM POUŽITÉ LITERATURY

[1] WINKLER, P. Velký počítačový lexikon: co je co ve světě počítačů.

Vyd. 1. Brno: Computer Press, 2009, 520 s. ISBN 978-80-251-2331-7.

[2] VITOVSKÝ, A. Moderní slovník softwaru: výkladový anglicko-český a česko-

anglický. Vyd. 1. Praha: AV Software, 2006, 588 s. ISBN 80-901-4288-5.

[3] KŘENA, B. a R. KOČÍ. Úvod do softwarového inženýrství IUS: Studijní opora

[PDF]. Brno: VUT, 28. února 2006.

[4] POST, G. a D. L ANDERSON. Management information systems: solving

business problems with information technology.

2nd ed. Boston: Irwin/McGraw-Hill, c2000, xxii, 666 p. ISBN 00-722-9756-5.

[5] RATIONAL SOFTWARE. Rational Unified Process: Best Practices for

Software Development Teams [online]. Cupertino: Rational Software, ©1998.

Rev 11/01. Dostupné z: http://www.ibm.com/developerworks/rational/library/

content/03July/1000/1251/1251_bestpractices_TP026B.pdf

[6] FAKHROUTDINOV, K. UML-diagrams.org [online].New York City:

Copyright © 2009-2014 uml-diagrams.org.

Dostupné z: http://www.uml-diagrams.org

[7] FILEV, A., T. LOTON a K. MCNEISH. Professional UML Using Visual Studio

.Net. Hoboken: John Wiley & Sons, 2005. ISBN 9780764558757.

[8] ČÁPKA, D. UML - Use Case Diagram. In: Devbook.cz: programátorská

sociální síť [online]. 2013 [cit. 2014-04-14].

Dostupné z: http://www.devbook.cz/uml-use-case-diagram

[9] Use-case. In: Guitify [online]. 2012 [cit. 2013-11-25].

Dostupné z: http://guitify.wordpress.com/use-case/

[10] BRUCKNER, T. Tvorba informačních systémů: principy, metodiky,

architektury. 1. vyd. Praha: Grada, 2012, 357 s. Management v informační

společnosti. ISBN 978-80-247-4153-6.

�57

Page 58: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

[11] Data Flow diagramy. In: Enterprise Architect CZ: ...efektivně k efektivitě…

[online]. 2013-06-05 [cit. 2014-04-14].

Dostupné z: http://www.enterprise-architect.cz/content/data-flow-diagramy

[12] JANSSEN, C. Entity-Relationship Diagram (ERD). In: Technopedia [online].

2014 [cit. 2014-05-25]. Dostupné z: http://www.techopedia.com/definition/1200/entity-relationship-diagram-erd

[13] TAYLOR, B. How Much Normalization is Enough? [online]. Tucson:

2011 [cit. 2014-03-20]

Dostupné z: http://www.sswug.org/editorials/default.aspx?id=2202

[14] I n t r o d u c t i o n t o d a t a b a s e d e s i g n . I n : D a t a n a m i c [ o n l i n e ] .

2013 [cit. 2014-05-25]. Dostupné z: http://www.datanamic.com/support/lt-dez005-introduction-db-modeling.html

[15] MySQL Data Types. In: W3resource [online]. 2013 [cit. 2014-05-25].

Dostupné z: http://www.w3resource.com/mysql/mysql-data-types.php

[16] GUTMANS, A., S. BAKKEN a D. RETHANS. Mistrovství v PHP 5. Vyd. 1.

Překlad Bogdan Kiszka. Brno: CP Books, 2005, 655 s. ISBN 80-251-0799-X.

[17] KOFLER, M. a B. ÖGGL. PHP 5 a MySQL 5: průvodce webového

programátora. 1. vyd. Brno: Computer Press, 2007. 608 s.

ISBN 978-80-251-1813-9.

[18] WELLING, L. MySQL: průvodce základy databázového systému. Vyd. 1.

Brno: Computer Press, 2005, 255 s. ISBN 80-251-0671-3.

[19] JANOVSKÝ, D. Jak psát web: návod na html stránky [online].

2013 [cit. 2013-11-22]. Dostupné z: http://www.jakpsatweb.cz

[20] GIANT. Ajax [online]. 2012 [cit. 2013-11-25]. Dostupné z: ajax.cz

[21] AJAX Introduction. In: W3schools.com [online]. 2013 [cit. 2013-12-22].

Dostupné z: http://www.w3schools.com/ajax/ajax_intro.asp

�58

Page 59: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

[22] THE JQUERY FOUNDATION. JQuery: write less, do more [online].

Copyright 2013 [cit. 2013-11-25]. Dostupné z: https://jquery.com

[23] NEW DIGITAL GROUP. Smarty Frequently Asked Questions-SmartyWiki

[online]. 2012 [cit. 2013-11-25].

Dostupné z: http://smarty.incutio.com/?page=SmartyFrequentlyAskedQuestions

[24] POWELL, T. A. Web design: kompletní průvodce. Vyd. 1. Překlad Petr Matějů.

Brno: Computer Press, 2004, 818 s. ISBN 80-722-6949-6.

[25] ECCHER, C. Profesionální webdesign: techniky a vzorová řešení. Vyd. 1.

Překlad Roman Zámečník, Michal Vaněk. Brno: CP Books, 2005, 421 s.

ISBN 80-251-0547-4.

[26] WELLS, R. Post Flat Design. In: Colective Ray [online].

2014 [cit. 2014-06-02]. Dostupné z: http://blog.collectiveray.com/post/82108622609/post-flat

[27] MCGOUGH, O. Flat Design Is Going Too Far. In: Usabilla [online]. 2014

[cit. 2014-06-02]. Dostupné z: http://blog.usabilla.com/flat-design-going-far/

[28] About Foursquare. In: Foursquare [online]. 2014 [cit. 2014-04-29].

Dostupné z: https://foursquare.com/about

[29] 12 Important foursquare User Stats. In: Digital Marketing Ramblings: The

Latest Digital Marketing Stats,Tips, Trends and Technology [online].

2014 [cit. 2014-04-29]. Dostupné z: http://expandedramblings.com/index.php/by-

the-numbers-interesting-foursquare-user-stats/

[30] A look into the future of Foursquare, including a new app called Swarm. In:

The Foursquare Blog [online]. 2014 [cit. 2014-04-29]. Dostupné z: http://blog.foursquare.com/post/84422758243/a-look-into-the-future-of-foursquare-including-a-new

[31] GOOGLE. Google Analytics [online]. 2014 [cit. 2014-06-02]. Dostupné z: https://www.google.com/analytics

�59

Page 60: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

SEZNAM OBRÁZKŮ

Obrázek č. 1: Ukázka UCD. …………………………………………………………17

Obrázek č. 2: Ukázka DFD. …………………………………………………………18

Obrázek č. 3: Ukázka ERD. …………………………………………………………19

Obrázek č. 4: Pyramida aspektů web designu. .…………………………………… 25

Obrázek č. 5: Use-case diagram www portálu .…………………………………… 37

Obrázek č. 6: Data flow diagram registrace nového uživatele …..…………………… 38

Obrázek č. 7: Data flow diagram registrace nového uživatele …..…………………… 39

Obrázek č. 8: Entity relationship diagram …………………………………………… 40

Obrázek č. 9: Struktura webu …..……………………………………………………. 41

Obrázek č.10: Layout webu ………………………..………………………………… 42

Obrázek č.11: Layout ukotveného menu …..………………………………………… 43

Obrázek č.12: Časový plán realizace projektu ….…………………………………… 44

Obrázek č. 13: Princip načtení stránky …..…………………………………………… 46

Obrázek č. 14: Funkce AJAXu …..………………………………………………… 47

Obrázek č. 15: Barevné schéma …..………………………………………………… 50

Obrázek č. 16: Helvetica Neue Light …..…………………………………………… 50

Obrázek č. 17: Logo stránky …..…………………………………………………….. 51

Obrázek č. 18: Textura stránky ….…………………………………………………… 51

Obrázek č. 19: Stín menu …………………………………………………………… 51

Obrázek č. 20: Ukázka Google Analytics …..………………………………………. 53

!

�60

Page 61: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

SEZNAM TABULEK

Tabulka č. 1: Česká konkurence …………………………………………………… 31

Tabulka č. 2: Mezinárodní konkurence ……..………………………………………. 31

Tabulka č. 4: Menzy na Foursquare …….…..………………………………………. 32

!

!SEZNAM ZDROJOVÉHO KÓDU

Zdrojový kód č. 1: Ukázka PHP kódu ……………………………………………… 21

Zdrojový kód č. 2: Ukázka MySQL dotazu ………………………………………… 21

Zdrojový kód č. 3: Ukázka HTML kódu …………………………………………… 22

Zdrojový kód č. 4: Ukázka CSS kódu ……………………………………………… 22

Zdrojový kód č. 5: Ukázka JavaScript kódu s využitím knihovny jQuery ………… 23

Zdrojový kód č. 6: Ukázka Smarty šablony ………………………………………… 24

Zdrojový kód č. 7: Soubor .htaccess ………………………………………………… 45

Zdrojový kód č. 8: Připravené dotazy pomocí PDO ………………………………… 48

Zdrojový kód č. 9: Vytvoření otisku hesla …………………………………………… 48

Zdrojový kód č. 10: Ukotvení menu - jQuery ……………………………………… 52

Zdrojový kód č. 11: Ukotvení menu - CSS ………………………………………… 52

!

�61

Page 62: NÁVRH WEBOVÉHO PORTÁLU PRO HODNOCENÍ KVALITY … · 2016-01-06 · ABSTRAKT Tato bakalářská práce se zabývá návrhem a naprogramováním webového portálu pro hodnocení

PŘÍLOHY

Obsah přiloženého DVD

K bakalářské práci je přiloženo DVD, které obsahuje:

/MySQL Složka obsahuje SQL skripty pro vytvoření a naplnění databáze.

/www Složka obsahuje soubory webového portálu

/postup_instalace.pdf Postup instalace webového portálu.

/bp_xkovar55.pdf Kopie této práce.

�62