České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů
Bakalářská práce
Dendrologická WEB databáze II Jana Rauerová
Vedoucí práce: Ing. Jiří Chludil
Studijní program: Elektrotechnika a informatika, strukturovaný, Bakalářský Obor: Výpočetní technika 29. června 2009
iv
v
Poděkování Tímto bych chtěla poděkovat především Ing. Jiřímu Chludilovi za to, že vedl mou práci, za jeho čas a rady, a také všem ostatním za jejich podporu.
vi
vii
Prohlášení Prohlašuji, že jsem práci vypracovala samostatně a použila jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon).
V Praze dne 30. 6. 2009
.............................................................
viii
Abstract This work is focused on web-oriented database containing informations on trees and bushes. Its user is able to independently add and comment the contained set of herbage. Additionaly while browsing its contents, various attributes can be selected. Analysis, design, implementation and testing of the application are also included. The result should be working program and this document.
Abstrakt Tato bakalářská práce se zabývá vývojem webově orientované databáze, která bude obsahovat informace o stromech a keřích. Uživatel bude mít možnost tyto rostliny sám vkládat, přidávat k nim poznámky a při prohlížení si vybrat, které atributy si přeje vidět. Bude zde popsaná analýza, návrh, implementace a testování aplikace. Výsledkem práce bude funkční použitelný program a tento dokument.
ix
x
Obsah 1 Úvod 1.1 Dendrologická web databáze . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Dendrologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Dřevina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Známé vědecké dendrologické instituce . . . . . . . . . . . . . . . . . . 1.4.1 Výzkumný ústav pro krajinu a okrasné zahradnictví - VÚKOZ 1.4.2 Výzkumný a šlechtitelský ústav ovocnářský - VSÚO . . . . . . 1.4.3 Výzkumný ústav lesního hospodářství a myslivosti - VÚHLM . 1.4.4 Botanický ústav - AVČR . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
1 1 1 2 2 2 3 4 5
2 Popis problému, specifikace cíle 2.1 Popis problému . . . . . . . . . . . . . . . . . 2.1.1 Cíl práce . . . . . . . . . . . . . . . . 2.1.2 Katalog požadavků . . . . . . . . . . . 2.1.2.1 Funkční požadavky . . . . . 2.1.2.2 Nefunkční požadavky . . . . 2.2 Rešerše existujících dendrologických databází 2.2.1 Dendrologie.cz . . . . . . . . . . . . . 2.2.2 Květena lesů, luk a strání . . . . . . . 2.2.3 Biological Library . . . . . . . . . . . 2.2.4 Botany.cz . . . . . . . . . . . . . . . . 2.2.5 Fotografický herbář . . . . . . . . . . . 2.2.6 Herbář . . . . . . . . . . . . . . . . . . 2.2.7 Květena ČR . . . . . . . . . . . . . . . 2.2.8 eBotanika.net . . . . . . . . . . . . . . 2.2.9 Arboeko . . . . . . . . . . . . . . . . . 2.2.10 Závěr . . . . . . . . . . . . . . . . . . 2.3 Průzkum . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
7 7 7 8 8 9 9 9 10 11 12 12 13 14 15 15 16 17
3 Analýza a návrh řešení 3.1 Úvod . . . . . . . . . . . . . 3.2 Unified Modeling Language 3.3 Typ databáze . . . . . . . . 3.4 Uživatelské role . . . . . . . 3.5 Use case diagramy . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
19 19 19 19 20 20
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
xi
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
xii
OBSAH
3.6 3.7 3.8
Stavové diagramy . . . Aktivity diagramy . . Návrh databáze . . . . 3.8.1 Systémová data 3.8.2 Dendrologie . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
4 Realizace 4.1 Úvod . . . . . . . . . . . . . . . . . . 4.1.1 Použitý software . . . . . . . 4.2 Technologie a programovací jazyky . 4.2.1 Standard XHTML 1.0 Strict . 4.2.2 CSS - kaskádové styly . . . . 4.2.3 JavaScript - strana klienta . . 4.2.4 PHP - strana serveru . . . . . 4.3 Popis implementace . . . . . . . . . . 4.3.1 Diagram nasazení . . . . . . . 4.3.2 GUI . . . . . . . . . . . . . . 4.3.3 Databáze . . . . . . . . . . . 4.3.4 Tvorba funkčních celků . . . . 4.3.4.1 Správa uživatelů . . 4.3.4.2 Správa rostlin . . . . 4.3.4.3 Správa poznámek . 4.3.4.4 Správa šablon . . . . 4.3.5 Tvorba dokumentace . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . .
. . . . .
23 24 26 26 26
. . . . . . . . . . . . . . . . .
29 29 29 29 29 30 30 30 31 31 31 32 33 33 33 34 35 35
5 Testování 37 5.1 Testování při vývoji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.2 Uživatelské testování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.2.1 Závěrečný dotazník . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6 Závěr
39
Literatura
41
A Dotazník
43
B Seznam použitých zkratek
47
C Instalační příručka 49 C.1 EasyPHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 D Uživatelská příručka 51 D.1 Ovládání pro nepřihlášeného uživatele . . . . . . . . . . . . . . . . . . . . . . 51 D.2 Ovládání pro přihlášeného uživatele . . . . . . . . . . . . . . . . . . . . . . . . 52 D.3 Ovládání pro administrátora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 E Obsah přiloženého CD
57
Seznam obrázků 1.1 1.2 1.3 1.4
VÚKOZ - Dendrologická zahrada . . . . . . . . . . Výzkumný a šlechtitelský ústav ovocnářský . . . . Výzkumný ústav lesního hospodářství a myslivosti Botanický ústav . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
3 4 4 5
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
Dendrologie.cz . . . . . . . . . . . . Květena lesů luk a strání . . . . . . . Biological Library . . . . . . . . . . . Botany.cz . . . . . . . . . . . . . . . Fotografický herbář . . . . . . . . . . Herbář - vyhledávání . . . . . . . . . Květena ČR - pokročilé vyhledávání eBotanika - rozcestník . . . . . . . . Arboeko . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
10 10 11 12 13 14 15 15 16
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8
Správa uživatelů . Správa rostlin . . . Správa poznámek . Správa šablon . . . Stavy uživatelského Vložení rostliny . . Systémová data . . Dendrologie . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
21 22 22 23 24 25 27 28
4.1 4.2 4.3 4.4 4.5 4.6
Diagram nasazení . . . . . . Ukázka GUI . . . . . . . . . Registrace nového uživatele Ukázka rostliny . . . . . . . Poznámka k rostlině . . . . Ukázka šablony . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
31 32 33 34 34 35
. . . . . . . . . . . . účtu . . . . . . . . .
. . . . . . . .
D.1 Ovládání pro nepřihlášeného uživatele . . . . . . . . . . . . . . . . . . . . . . 51 D.2 Ovládání pro přihlášeného uživatele . . . . . . . . . . . . . . . . . . . . . . . . 52 D.3 Ovládání pro administrátora . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
xiii
xiv
SEZNAM OBRÁZKŮ
Seznam tabulek 2.1
Porovnání jednotlivých stránek . . . . . . . . . . . . . . . . . . . . . . . . . . 16
xv
xvi
SEZNAM TABULEK
Kapitola 1
Úvod 1.1
Dendrologická web databáze
Jako bakalářskou práci jsem se rozhodla vytvořit webové stránky dendrologické databáze s jednoduchým, uživatelsky přívětivým rozhraním. Bude se jednat o multimediální databázi pro ukládání informací o stromech a keřích. Tuto práci jsem si vybrala, protože se mi zdála zajímavá. S tvorbou webu jsem doposud neměla příliš zkušeností, a proto bych to chtěla napravit a naučit se tak něco nového. Další motivací bylo vytvořit základ programu, který se bude v praxi využívat. Tato aplikace bude určena všem uživatelům se zájmem o dendrologii. Ať už půjde o laiky nebo odborníky, o čtenáře, kteří budou v databázi hledat informace, nebo o registrované uživatele, kteří se budou chtít na systému určitým způsobem podílet, kontrolovat a doplňovat data v databázi. Dendrologie je nauka o dřevinách, tedy o stromech a keřích, ale aplikace by se dala rozšířit i o trvalky apod. V tomto textu používám slovo „rostliny“, ale jsou tím myšleny hlavně stromy a keře. Protože tato tématika nemusí být všeobecně známá, popíšu v úvodu některé základní pojmy. Tím bude samozřejmě samotná Dendrologie a dále vysvětlím pojem Dřevina. Nakonec stručně představím nejznámější české instituce. Součástí budou ukázky jejich webových prezentací.
1.2
Dendrologie
Dendrologie[1] je, jak již bylo zmíněno, nauka o dřevinách, nebo jinými slovy vědní disciplína zkoumající dřeviny. Název „dendrologie“ je odvozen z řeckých slov dendron - strom a logos rozum nebo myšlenka. Její počátky spadají do poloviny 19. století a jsou spojeny především s rozvojem tehdejšího lesnictví. Není to však nauka jen o dřevu, jako spíše speciální botanická disciplína o dřevinách jako takových. Vzhledem k ohromné šíři problematiky se dendrologie dělí na víc specializovaných, či aplikovaných dendrologií. Například lesnická dendrologie je zaměřená na lesnicky pěstované dřeviny, které studuje po stránce morfologické, ekologické i chorologické. Sadovnická dendrologie se věnuje okrasným druhům dřevin a meliorační zase dřevinám, které je možné
1
2
KAPITOLA 1. ÚVOD
využít při zlepšování životního prostředí. Základním cílem této nauky je poznání jednotlivých vybraných druhů dřevin, získání základních poznatků o dřevinách a jejich společenstvech, o ekologii dřevin, o jejich funkci v krajině a o možnostech jejich praktického využití. Samotnými stromy se zabývá arboristika. Dendrologie se snaží o pochopení úlohy různých druhů v ekosystému. Proto musí být součástí studia dendrologie i informace o stanovištích jednotlivých druhů (taxonů) stromů a keřů, o území jejich přirozeného rozšíření (o areálech) a o klimatu, které tam panuje. U rostlin se rozpoznává mnoho údajů. Jednoznačným identifikátorem je dvojice latinský název + kultivar. Např. PINUS SYLVESTRIS ’HIBERNIA’ (český ekvivalent = Borovice lesní ’HIBERNIA’) nebo např. ROSA ’FAIRY DANCE’ (český ekvivalent = Růže ’FAIRY DANCE’). Latinský název představuje druh a kultivar jakousi vyšlechtěnou mutaci. I když je český název podstatně jednodušší, všichni odborníci upřednostňují právě latinská jména.
1.3
Dřevina
Vyslovit jednoznačnou definici, co je vlastně dřevina[2], je poměrně obtížná věc. Dřeviny jsou víceleté rostliny, jejíž nadzemní části druhotně hrubnou a dřevnatí. K dřevinám však zařazujeme i např. maliník Rubus idaeus, přestože má nadzemní část zdřevnatělou pouze 2 roky. Větší část dřevin, zejména v našem klimatickém pásmu vzhledem ke střídání ročních období, přirůstá periodicky. Což znamená, že vytvoří každou sezónu nový přírůst a vznikají tak charakteristické letokruhy. Podle původu dřevin můžeme dělit jednotlivé druhy dřevin na dřeviny domácí - tedy původní a dřeviny cizí - na naše území introdukované (přivezené odjinud a u nás vysazené).
1.4
Známé vědecké dendrologické instituce
Botanickou vědu obhospodařují různá muzea, školy, botanické zahrady, vědecké a výzkumné ústavy, učené společnosti a spolky. S dendrologií to není jinak. Nabízím několik nejdůležitějších odkazů.
1.4.1
Výzkumný ústav pro krajinu a okrasné zahradnictví - VÚKOZ
Výzkumný ústav Silva Taroucy pro krajinu a okrasné zahradnictví[3] se sídlem v Průhonicích se zabývá výzkumem všech typů krajin, souvisejících environmentálních rizik, výzkumem biologické rozmanitosti a poskytuje odbornou ochranu a péči o krajinu. Byl založen na panství hraběte Arnošta Emanuela Silva Taroucy, které stát odkoupil prostřednictvím ministerstva zemědělství v roce 1927. Ústav navázal ve své činnosti na zahradnické tradice spjaté zejména s budováním přírodně krajinářského Průhonického parku od roku 1885 a s činností Dendrologické společnosti a její Spolkové zahrady v Průhonicích od roku 1909. Od doby založení zahradnického výzkumu v roce 1927 až do dneška trvá nepřerušená kontinuita ústavu v problematice zahradnické výroby a uplatnění zeleně v sídlech a krajině v těsném spojení se zahradnickou a sadovnicko-krajinářskou praxí.
1.4. ZNÁMÉ VĚDECKÉ DENDROLOGICKÉ INSTITUCE
3
VÚKOZ ve své více než sedmdesátileté existenci vždy zastával úlohu výzkumné, odborné, informační, poradenské a osvětové činnosti oboru okrasného zahradnictví s celostátní působností. Pod VÚKOZ patří také známá Dendrologická zahrada[4], která byla založena v r. 1974 na pozemcích bývalé zahrady Dendrologické společnosti a přilehlých plochách. Jejím hlavním posláním je soustřeďování a hodnocení genofondu domácích i cizokrajných dřevin z hlediska využití v zahradní a krajinářské tvorbě.
Obrázek 1.1: VÚKOZ - Dendrologická zahrada
1.4.2
Výzkumný a šlechtitelský ústav ovocnářský - VSÚO
Výzkumná činnost Výzkumného a šlechtitelského ústavu ovocnářského[5] se prakticky týká všech ovocných plodin, které se pěstují na území České republiky jako tržní kultury. Historie ústavu začíná rokem 1951, kdy v rámci reorganizace Ovocnicko–vinařského ústavu v Praze a Ovocnického ústavu v Průhonicích byla jednotlivá zahradnická odvětví rozdělena do samostatných ústavů. Výzkumný ústav ovocnářský byl umístěn do historické budovy zámku v Holovousích, malé obci ve východních Čechách, kde pěstování ovoce má již dlouhou tradici. Výzkumný ústav ovocnářský zde byl založen 1.3.1951 a od 1.1.1952 se stal jedním z ústavů Ministerstva zemědělství ČSR. V roce 1956 přešel pod přímé vedení Československé akademie zemědělských věd a v roce 1977 byl přičleněn jako samostatná hospodářská organizace k VHJ Sempra Praha.
4
KAPITOLA 1. ÚVOD
Obrázek 1.2: Výzkumný a šlechtitelský ústav ovocnářský
1.4.3
Výzkumný ústav lesního hospodářství a myslivosti - VÚHLM
Výzkumný ústav lesního hospodářství a myslivosti[6] sídlí v Strnadech blízko Zbraslavi. Je resortním lesnickým výzkumným ústavem. Rozhodující podíl činnosti tvoří řešení výzkumných úkolů pro lesní hospodářství a zajišťování expertních výzkumných činností pro státní správu a vlastníky lesů všech kategorií.
Obrázek 1.3: Výzkumný ústav lesního hospodářství a myslivosti
1.4. ZNÁMÉ VĚDECKÉ DENDROLOGICKÉ INSTITUCE
1.4.4
5
Botanický ústav - AVČR
Botanický ústav Akademie věd České republiky[7] se zabývá vědeckým výzkumem vegetace na úrovni organismů, populací a ekosystémů. Vědecká náplň ústavu v současnosti zahrnuje zejména taxonomii, biosystematiku a evoluci cévnatých i bezcévných rostlin včetně vybraných skupin hub (projekty Květena České republiky, Atlas rozšíření jednotlivých druhů, spolupráce na flórách různých částí Evropy), algologii (studium sinic, ekologické a ekotoxikologické aspekty jejich rozvoje, funkce jednotlivých skupin řas na stanovištích s extrémními podmínkami), ekologii rostlin, dendrochronologii, paleoekologii a geobotaniku (koordinace české části celoevropské syntézy rostlinných společenstev, podíl na dokončení textové části k geobotanické mapě Evropy, vegetace a flóra CHKO Křivoklátsko).
Obrázek 1.4: Botanický ústav
6
KAPITOLA 1. ÚVOD
Kapitola 2
Popis problému, specifikace cíle 2.1 2.1.1
Popis problému Cíl práce
Cílem této práce je vytvořit webový portál dendrologické databáze, do které bude moci uživatel vkládat nové rostliny a přidávat k nim poznámky. V nich budou ostatní uživatelé rostlinu hodnotit či upozorňovat na chyby v určitých informacích. Autor vložené rostliny tak bude mít zpětnou vazbu a může data případně upravit. Každý uživatel bude mít ale práva editovat a mazat jen data, které on sám vložil. Pouze administrátor bude mít možnost editovat a vymazávat data ostatních uživatelů a to v případě, že např. uživatel úmyslně vloží rostlinu s neslušným názvem nebo že bude chtít k rostlině přidat nějakou informaci. U každé rostliny nás zajímá mnoho informací, např. jak se rostlina jmenuje, jakého je typu, její klasifikace, pěstební podmínky atd. Toto všechno jsou určité rysy neboli vlastnosti, kterými se rostlina vyznačuje. Obecně se jim říká atributy. Je velmi důležité, aby rostlina měla právě ty atributy, které uživatele zajímají. Jeden ze způsobů je ukazovat všechny vlastnosti, které rostlina má. Ale při určitém počtu může uživatel ztratit přehled. Další možností je ukázat jen ty nejdůležitější. Jenomže toto je velmi těžké určit, protože každý typ uživatele má trochu jiné požadavky. Např. taxonom bude určitě hledat jiné informace než zahrádkář. Proto se tato webová aplikace bude odlišovat od ostatních hlavně tím, že bude umožňovat uživateli, aby si sám vybral, jaké údaje bude rostlina mít. K tomu bude sloužit tzv. „šablona“. Uživatel sám si v ní navolí, které položky by ho zajímaly a zobrazovaly se mu. Podle této šablony se pak automaticky nakonfiguruje uživateli vlastní rozhraní. Systém tak bude velmi flexibilní a bude umožňovat určité uzpůsobení podle potřeb jednotlivých jedinců. Tato konfigurace je myšlena tak, že si uživatel bude moci zvolit atributy rostliny a jejich pořadí. Není to tedy úplná konfigurace rozhraní jako spíše jen obsahu rozhraní, uživatel si nemůže vybrat přesnou pozici či vzhled atributu. Toto by se dalo naimplementovat také, ale kladlo by to na uživatele příliš velké požadavky a bylo by to nepřehledné. Proto jsem se rozhodla pro tuto zjednodušenou verzi. Po dohodě s vedoucím práce jsme dále rozhodli, že vkládání dalších atributů do systému, nebude automatické - přímo z webového rozhraní, ale bude vyžadovat zásahy do databáze. Konkrétně půjde o vložení nového atributu nebo podtabulky do tabulky rostlina a vložení
7
8
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
řádku do tabulky atribut. Také sjednocování rostlin není cílem této práce. Ale počítá se s tím do budoucna, proto bude nyní povolené, aby se v databázi mohla objevit jedna rostlina vícekrát.
2.1.2
Katalog požadavků
Katalog požadavků slouží jako přehledná evidence všech požadavků na práci.
2.1.2.1
Funkční požadavky
1. Systém bude umožňovat nepřihlášenému uživateli prohlížet si informace o rostlinách. 2. Systém bude umožňovat vytvoření účtu novému uživateli. 3. Systém bude umožňovat přihlášení a odhlášení ze systému. 4. Systém bude umožňovat přihlášenému uživateli měnit své osobní údaje. 5. Uživatel bude mít přístup pouze ke svým osobním údajům. 6. Systém bude umožňovat uživateli vkládat do systému rostliny, ty později editovat nebo mazat. 7. Systém bude umožňovat uživateli vkládat k rostlinám poznámky, ty později editovat nebo mazat. 8. Systém bude umožňovat uživateli vytvářet šablony, ty později editovat nebo mazat. 9. Systém bude umožňovat nakonfigurování obsahu rozhraní podle těchto šablon. 10. Uživatel bude moci editovat a mazat jen své rostliny, šablony a poznámky. 11. Systém bude umožňovat administrátorovi editovat všechny rostliny. 12. Systém bude umožňovat administrátorovi mazat všechny rostliny, šablony a poznámky. 13. Systém bude umožňovat administrátorovi editovat e-mail uživateli (např. při překlepu). 14. Systém bude umožňovat administrátorovi schvalovat registrace (bude zde možnost automatického schvalování). 15. Systém bude umožňovat administrátorovi prohlížet si osobní údaje uživatelů. 16. Systém bude umožňovat administrátorovi blokovat a mazat účty uživatelů.
2.2. REŠERŠE EXISTUJÍCÍCH DENDROLOGICKÝCH DATABÁZÍ
2.1.2.2
9
Nefunkční požadavky
1. Půjde o webovou aplikaci s jednoduchým, uživatelsky přívětivým rozhraním. 2. Budou použity jen zdarma dostupné technologie - XHTML, CSS, JavaScript, PHP, MySQL. 3. Aplikace bude fungovat na nejrozšířenějších WWW prohlížečích - Mozilla Firefox, Internet Explorer. 4. Bude možné rozšíření o další atributy, ale ne automaticky - vkládání bude vyžadovat zásahy do databáze.
2.2
Rešerše existujících dendrologických databází
Na internetu se můžeme setkat s celou řadou již existujících dendrologických databází. Pro správný návrh softwaru je třeba tyto projekty z různých hledisek prozkoumat a vyvarovat se tak možných chyb. Tato hodnotící hlediska jsou: zhodnocení jejich funkčnosti, prohřešky proti normě html podle validátoru w3[8], grafická úprava, vhodnost navržení uživatelského rozhraní a uživatelská přívětivost, podpora konfigurace, jaké má databáze atributy, kdo všechno může do databáze vkládat, zda je možná editace nebo přidávání poznámek atd. Kvalitu informací a údajů o jednotlivých rostlinách hodnotit nebudu, protože na to nemám potřebné znalosti. Zde uvádím příklady dendrologických databází a dalších stránek s informacemi o dendrologii obecně.
2.2.1
Dendrologie.cz
Dendrologie.cz[9] obsahuje obecné informace o dřevinách celého světa. Hlavní a největší náplní těchto stránek jsou popisy dřevin včetně zahradních kříženců. Ty je možno také prohlížet ve vyhledávací databázi Dendrologie online, která se stala v roce 2006 součástí webu dendrologie.cz strukturalizací původního obsahu. Databáze obsahuje velké množství informací o listnatých dřevinách, doplňující obrázky a lokalizace zajímavých dřevin. • Klady – Systém umí výsledky seřadit abecedně česky nebo latinsky. – Systém umožňuje prohledávat synonyma. – Zobrazují se nejčastěji hledané výrazy. • Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Zobrazování rostlin není příliš přehledné (karty Čeleď, Rod, Druh, Nižší jednotka). – Stránka není validní (špatně specifikovaný doctype).
10
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
Obrázek 2.1: Dendrologie.cz
2.2.2
Květena lesů, luk a strání
Květena lesů, luk a strání[10] je webová stránka, která je postavena na databázi stromů a keřů, ale také bylin (jednoděložných, dvouděložných). • Klady – Stránky mají velmi pěkný design. – Databáze obsahuje fotografie rostlin. • Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Stránky obsahují příliš málo informací. – Stránka není validní (vzhled přímo v HTML, nepoužito CSS).
Obrázek 2.2: Květena lesů luk a strání
2.2. REŠERŠE EXISTUJÍCÍCH DENDROLOGICKÝCH DATABÁZÍ
2.2.3
11
Biological Library
Biological Library[11] je mezinárodní encyklopedie rostlin, hub a živočichů. Vedle taxonomického systému nabízí i bohatou galerii fotografií, výkladový a překladový slovník, databázi odkazů, biotopů a chráněných území, diskuzní fórum a řadu dalších funkcí souvisejících s biologií. Je to nekomerční vzdělávací projekt určený odborníkům i veřejnosti, na jehož obsahu se mohou podílet zájemci všech možných specializací. • Klady – Databáze obsahuje fotografie rostlin. – Systém umožňuje přidávat komentáře. – Systém umožňuje přihlašování do systému, přihlášení uživatelé mohou určovat fotografie. – Stránky jsou k dispozici i v angličtině. – Stránka je validní. • Zápory – Vkládat rostliny může pouze administrátor. – Stránky obsahují příliš málo informací o rostlinách. – Uživatelské rozhraní a zobrazování rostlin je dost nepřehledné. – Stránky mají nečitelný vzhled, hlavní stránka je přeplácaná.
Obrázek 2.3: Biological Library
12
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
2.2.4
Botany.cz
Botany.cz[12] je server plný článků o botanice a přírodě. Obsahuje herbář rostlin, ale i jiné zajímavé položky např. houby, atlas lokalit, biogeografické regiony nebo významné zahrady. • Klady – Databáze obsahuje fotografie rostlin. – Stránky jsou k dispozici i v angličtině. • Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Vyhledávání nefunguje. – Stránka není validní (lehké prohřešky proti HTML). – Uživatelské rozhraní je nepřehledné.
Obrázek 2.4: Botany.cz
2.2.5
Fotografický herbář
Tento Fotografický herbář[13] existuje i ve verzi na CD ROM, což je obdoba tohoto internetového herbáře. Obsahuje stejné množství rostlin (které v tuto chvíli činí 771 druhů), ale lze jej spouštět přímo z CD bez nutnosti připojení k internetu a oproti internetovému herbáři obsahuje navíc další vymoženosti (více fotografií, lepší vyhledávání, filtrování atd.). • Klady – Stránky obsahují poměrně dostatek informací o rostlině. – Zobrazení rostlin je přehledné. – Databáze obsahuje fotografie rostlin.
2.2. REŠERŠE EXISTUJÍCÍCH DENDROLOGICKÝCH DATABÁZÍ
13
– Ukazují se nejvíce a nejméně navštěvované rostliny. • Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Stránka není validní (formátování v HTML, nepoužito CSS).
Obrázek 2.5: Fotografický herbář
2.2.6
Herbář
Herbář[14] obsahuje fotografie semenných rostlin (jednoděložných a dvouděložných) v členění podle čeledí. Je zaměřen především na květenu Česka a Slovenska. Fotografie z dalších zemí evropských i neevropských jsou zde pro zpestření a dokreslení různorodosti rostlinné říše. Obsah herbáře bude průběžně stále doplňován tak, aby v dohledné době obsahoval minimálně 1000 botanických druhů. • Klady – Dá se velmi přehledně vyhledávat. – Stránky obsahují dostatek informací. – Grafická úprava je jednoduchá, ale velmi pěkná. – Databáze obsahuje fotografie rostlin.
14
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
• Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Stránka není validní (formátování v HTML, nevhodně použité tabulky).
Obrázek 2.6: Herbář - vyhledávání
2.2.7
Květena ČR
Květena ČR[15] jsou stránky věnované flóře České republiky. Je zde spousta kapitol o rostlinách a přírodě, např. chráněná území, ohrožené druhy, galerie zvířat, naučné stezky a biotopy atd. • Klady – V systému je velmi přehledné vyhledávání. – Systém umožňuje vyhledávat podle klíče. – Stránky obsahují dostatek informací, mají přehledné zobrazení rostlin. – Databáze obsahuje fotografie rostlin. • Zápory – Vkládat rostliny může pouze administrátor, uživatel pouze čte data. – Úvodní stránka je dost přeplácaná. – Stránka není validní (chybí doctype a další prohřešky proti HTML, nepoužito CSS).
2.2. REŠERŠE EXISTUJÍCÍCH DENDROLOGICKÝCH DATABÁZÍ
15
Obrázek 2.7: Květena ČR - pokročilé vyhledávání
2.2.8
eBotanika.net
Zde se již nejedná o databázi. eBotanika[16] je vlastně jakýmsi rozcestníkem po světě odborné i populární botaniky. Jde o velmi svobodný web, kde se dají zveřejnit zajímavé příspěvky nebo psát vzkazy do návštěvní knihy. Uživatel zde může najít přehledy a aktuality internetové botaniky (české a mezinárodní odkazy, akce, blogy, komentáře).
Obrázek 2.8: eBotanika - rozcestník
2.2.9
Arboeko
Jako poslední ze zajímavých www stránek bych zmínila stránku firmy Arboeko[17], která je jedním z největších podniků v České republice v oblasti pěstování, prodeje a distribuce okrasných dřevin. Firma Arboeko se nachází v Obříství nedaleko Mělníka. Byla založena
16
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
v roce 1993 a díky své velmi aktivní prodejní politice zaznamenala v následujících letech významný nárůst. Vlastní skladba výroby zahrnuje cca. 80 ha alejových a soliterních stromů, 22 ha mladého materiálu stromů a 10 ha kontejnerovaných dřevin.
Obrázek 2.9: Arboeko
2.2.10
Závěr
Po tomto průzkumu jsem zjistila, že žádná z uvedených stránek nesplňuje všechny potřebné požadavky. Viz tabulka 2.1 na stránce 16. Validátorem w3 prošla pouze jedna. Některé měly sice velmi pěkný design, mnoho informací o rostlinách a spoustu fotografií, ale chybí zde jakákoliv zpětná interakce uživatelů. Přihlašování řešil pouze server BioLib, kde se mohly vkládat komentáře a označovat fotografie. Nikde ale nemohl vkládat rostliny přímo uživatel, o konfiguraci uživatelského rozhraní ani nemluvě. Mým úkolem je tedy vytvořit takovou aplikaci, která by tyto požadavky splňovala. Název stránky Biological Library Květena lesů luk a strání Květena ČR Herbář Fotografický herbář Dendrologie.cz Botany.cz
validnost w3 ANO NE NE NE NE NE NE
přehledný design ANO ANO ANO ANO ANO NE NE
vkládání komentářů ANO NE NE NE NE NE NE
Tabulka 2.1: Porovnání jednotlivých stránek
vkládání rostlin NE NE NE NE NE NE NE
2.3. PRŮZKUM
2.3
17
Průzkum
Abych věděla, které všechny atributy bude nutné do systému začlenit, vytvořila jsem dotazník. Tohoto průzkumu se zúčastnilo několik výzkumníků i zahrádkářů. Po vyplnění jsem výsledky zpracovala a určila, které atributy by uživatelé rádi uvítali (dohromady jich bude okolo 20-30) a které jsou naopak nesmyslné nebo nezajímavé. Protože jsem v této oblasti neznalá, dopustila jsem se při tvorbě dotazníku několika chyb, na které jsem byla upozorněna. Např.: • Výška stromu se uvádí v bodě naroubování koruny. • Pracuje se hlavně s centimetry. • Popis vůně je zbytečná informace, navíc je to individuální pocit. • Hnojení se určuje v závislosti na stáří rostliny, velmi rychle se se mění přípravky. • Chyběla informace o způsobu množení a mrazuvzdornosti.
Ukázka dotazníku je v příloze A na straně 43.
18
KAPITOLA 2. POPIS PROBLÉMU, SPECIFIKACE CÍLE
Kapitola 3
Analýza a návrh řešení 3.1
Úvod
Protože moji práci mohou číst i laici, kteří se v oblasti softwarového inženýrství příliš nevyznají, bude tato kapitola obsahovat nejprve popis návrhových prostředků a dále pak vlastní návrh.
3.2
Unified Modeling Language
Návrh aplikace může vlastně vzniknout jen za použití tužky a poznámkového bloku, s jejichž pomocí si může každý načrtnout jednoduchý model aplikace. Model bude ale používat syntaxi a sémantiku známou pouze autorovi náčrtku. Proto je zde „Unified Modeling Language“ - jazyk UML. Jak již název napovídá, jde o unifikovaný modelovací jazyk, proto jedním z jeho hlavních cílů je sjednocení používaných výrazových prostředků. UML má, narozdíl od převážně textově orientovaných programovacích jazyků, vlastní grafickou syntaxi (tj. pravidla pro sestavování jednotlivých elementů jazyka do větších objektů) a sémantiku (tj. jednoznačná pravidla určující jednotlivým syntaktickým výrazům jejich význam). Umožňuje tedy modelovat jednoduché i složité aplikace pomocí stejné formální syntaxe, a proto mohou návrháři lehce sdílet výsledky své práce. Jazyk UML vytvořili v roce 1996 pánové Jacobson, Booch a Rumbaugh pro firmu Rational Corp. V roce 1997 byl již jazyk akceptován jako průmyslový standard a postupně začal ostatní analytické jazyky vytlačovat. Jako nástroj pro tvorbu UML diagramů jsem použila program Enterprise Architect. Informace o UML diagramech jsem čerpala z webových stránek zabývajících se touto tematikou např. z Wikipedie[18].
3.3
Typ databáze
Při volbě databázového úložiště máme hned několik možností např. Oracle, Postgress, MS SQL, atd. Já jsem zvolila technologii MySQL, což je jednoduchý databázový SQL server,
19
20
KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ
poskytuje však dostatečné prostředky pro tvorbu naší aplikace. Pokud bychom ale chtěli databázi rozšířit, bylo by dobré přejít na jinou databázi, např. PostgreSQL. MySQL je snadno implementovatelný (lze jej instalovat na Linux, MS Windows, ale i další operační systémy) a podporuje přístup z mnoha programovacích jazyků (např. C, C++, Eiffel, Java, Perl, PHP, Python a Tcl). Další výhoda je, že se jedná o volně šiřitelný software a je nabízen drtivou většinou webhostingů.
3.4
Uživatelské role
V systému budou 3 základní role: • Nepřihlášený uživatel • Přihlášený uživatel • Administrátor Nepřihlášený uživatel bude mít právo data pouze číst, tedy prohlížet si rostliny a poznámky k nim. Samozřejmě bude mít možnost se do systému registrovat. Po úspěšné registraci a schválení administrátorem se bude moci do systému přihlásit. Tím získá více pravomocí. Přihlášený uživatel bude mít v systému oproti nepřihlášenému uživateli hned několik funkcí navíc. Jedna z nich je vkládání rostlin do databáze a jejich pozdější editování, případně i mazání. Dále mu bude umožněno prohlížet si a upravovat své osobní údaje (kromě uživatelského jména, které bude v databázi unikátní). Prohlížení osobních údajů ostatních uživatelů ale k dispozici nebude. Také nesmíme zapomenout na tzv. „šablony“, které bude mít možnost uživatel vytvořit a tím nadefinovat, jaké informace o rostlinách by si přál vidět. Při vytváření šablony uživatel rozhodne, zda se bude jednat o veřejnou šablonu (uvidí ji i ostatní uživatelé) nebo ne. Tyto šablony bude moci uživatel opět editovat nebo úplně smazat. A nakonec je zde poslední funkce a tou je vytváření (a opět editování a mazání) poznámek, které bude uživatel vkládat k rostlinám. Administrátor bude mít nejvyšší práva - editování a mazání všech rostlin, mazání všech poznámek či šablon. A to je z toho důvodu, aby mohl vymazat případná neslušná data od některých uživatelů. Dále bude moci pracovat s účty uživatelů - schvalovat je při registraci (bude zde možné automatické schvalování), prohlížet si jejich osobní údaje, blokovat uživatele (nebudou se moci nějaký čas přihlásit - právě v případě neslušného chování) a samozřejmě i uživatele smazat.
3.5
Use case diagramy
Use case diagramy, neboli případy užití jsou grafickým zobrazením chování systému nebo jeho části z pohledu uživatele. Modelování případů užití je způsob zachycení funkčních požadavků. Případy užití jsou vždy iniciovány účastníkem, mají slovesnou vazbu, mohou mít textovou specifikaci a měly by popisovat jednu rutinní akci jednoho účastníka v jednu chvíli. Účastník (actor) reprezentuje kohokoliv (či cokoliv) mimo systém, kdo se systémem komunikuje a interaguje (člověk, hardware, čidlo, jiný systém, atd.). Use case využíváme hlavně
3.5. USE CASE DIAGRAMY
21
ke specifikaci požadavků na systém, komunikaci se zákazníkem, podklad pro řízení projektu a návrh uživatelského rozhraní. Aplikaci bych rozdělila na 4 celky - moduly: • Modul správa uživatelů • Modul správa rostlin • Modul správa poznámek • Modul správa šablon
V těchto diagramech je graficky znázorněno, jaké má který uživatel v různých částech systému práva. Toto bylo detailně popsáno v kapitole 3.4 na stránce 20.
Obrázek 3.1: Správa uživatelů
22
KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ
Obrázek 3.2: Správa rostlin
Obrázek 3.3: Správa poznámek
3.6. STAVOVÉ DIAGRAMY
23
Obrázek 3.4: Správa šablon
3.6
Stavové diagramy
Stavovým diagramem se v informatice zobrazuje systém, který má konečný počet stavů. Tím může být např. konečný automat (stavový automat) či podobné systémy. Diagramy stavových automatů jsou tvořeny třemi základními prvky: stavy objektu, kterými prochází (nebo lépe řečeno může projít) v průběhu svého životního cyklu v systému, událostmi a přechody mezi nimi. Ke změně stavu může dojít konkrétní událostí nebo i pouhým plynutím času. Myslím, že pro tento druh diagramu se přesně hodí ukázat možné stavy uživatelského účtu. Administrátor má u každého uživatele na výběr ze 3 stavů: Neschválený, Schválený a Blokovaný. Po odeslání registračního formuláře musí administrátor nejprve uživatelský účet schválit (bude zde možnost automatického schvalování). Tím se uživatel dostane z Neschváleného stavu do Schváleného. Do Blokovaného stavu se dostanou uživatelé, kteří na webu poruší pravidla slušného chování. Ale pokud to administrátorovi vysvětlí může je vrátit zpět do stavu Schváleného. Posledním stavem je stav Smazaný a ten slouží např. pro neaktivní účty.
24
KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ
Obrázek 3.5: Stavy uživatelského účtu
3.7
Aktivity diagramy
Diagramy aktivit se používají pro popis dynamických aspektů systému. Znázorňují tok řízení z aktivity do aktivity, od počátečního bodu po jeden nebo více koncových bodů. Důraz se klade na zobrazení pořadí aktivit. Diagramy aktivit využíváme při modelování průběhu jednotlivých use case, při modelování podnikových procesů nebo při workflow. Tato aplikace nemá příliš složité sekvence aktivit, proto jsem se rozhodla tyto triviální aktivity diagramy (např. Přihlášení, Odhlášení...) nezobrazovat a ukázala bych jen diagram Vložení rostliny. Tento diagram je hodně podobný všem dalším formulářům v systému. Uživatel nejprve vloží údaje, tyto údaje odešle a systém zkontroluje jejich správnost. Pokud jsou ve formuláři chyby, systém tyto chyby zvýrazní a uživatel je může opravit. Pokud je vše v pořádku, data se vloží do databáze.
3.7. AKTIVITY DIAGRAMY
25
Obrázek 3.6: Vložení rostliny
26
KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ
3.8
Návrh databáze
Je velmi důležité určit strukturu informací, které bude databáze obsahovat. Pro popis funkčního modelu databáze jsem zvolila E-R diagram. Pro lepší přehlednost jsem rozdělila databázi na 2 části: Systémová data (data pro nakonfigurování, podle nich se vytvoří hlavní databáze) a Dendrologie (hlavní databáze, tabulka a podtabulky rostliny). Tyto 2 části spojuje tabulka uzivatel, která se vyskytuje v obou částech. V tabulce rostlina uvádím pro lepší přehlednost jen několik atributů, výsledná aplikace bude jich obsahovat více.
3.8.1
Systémová data
Viz obrázek 3.7 na stránce 27. • uzivatel - Stejné jako v Systémových datech. Tato tabulka obě části spojuje. • vztah - Tabulka spojující šablonu a atribut. • sablona - Tabulka popisující šablony, které může uživatel vytvářet. • atribut - Tabulka, která popisuje, jaké všechny atributy může rostlina mít. Kolik řádků bude tato tabulka obsahovat, tolik bude mít sloupců tabulka Rostlina.
3.8.2
Dendrologie
Viz obrázek 3.8 na stránce 28. • uzivatel - Tabulka obsahující informace o jednotlivých uživatelích. • rostlina - Tabulka obsahující informace o rostlinách. Zde jsou jen uvedeny jen příklady atributů. • poznamka - Tabulka obsahující poznámky, které vložili uživatelé k určitým rostlinám. • typy - Podtabulka popisující typy rostlin. • slunce - Podtabulka obsahující informace, jak mnoho slunce rostlina snese. • odstiny - Podtabulka popisující odstiny barev rostlin. • barvy - Podtabulka popisující barvy rostlin.
3.8. NÁVRH DATABÁZE
27
Obrázek 3.7: Systémová data
28
KAPITOLA 3. ANALÝZA A NÁVRH ŘEŠENÍ
Obrázek 3.8: Dendrologie
Kapitola 4
Realizace 4.1
Úvod
V této kapitole bych nejprve stručně popsala použité prostředky, tedy prostředí a programovací jazyky a dále bych se zaměřila na samotnou implementaci.
4.1.1
Použitý software
Pro vývoj aplikace byl využit tento software: • Enterprise Architect 7.1 • EasyPHP 1.8 • PSPad 4.5.3 • Mozilla Firefox 3.0.11 • MiKTeX 2.7
4.2 4.2.1
Technologie a programovací jazyky Standard XHTML 1.0 Strict
Standard XHTML 1.0 Strict je jedna z nejpřísnějších norem, která vyjímá formátovací prvky, a tak směřuje k důslednému oddělení formy od obsahu. Používá se, pokud chcete strukturovaný dokument osvobozený od formátovacích značek souvisejících s rozvržením stránky. Předpokládá se tedy jeho užití společně s CSS, které umožní dosáhnout potřebných grafických efektů. XHTML (verze 1.0) vzniklo začátkem roku 2000 jako odpověď na anarchii, která panovala okolo HTML 4.01 (a webu vůbec). Kód napsaný v XHTML je oproti zastaralému HTML přehlednější, sémantičtější a lépe se v něm orientuje.
29
30
4.2.2
KAPITOLA 4. REALIZACE
CSS - kaskádové styly
Jak se jazyk HTML vyvíjel, vznikaly různé způsoby formátování (barva a velikost písma, pozadí, zarovnání atd., tedy všechno, co nepatří do obsahu). Starší, dnes již zastaralý způsob je používat přímo HTML tagy. Pomocí HTML tagů ale nešly některé věci vytvořit. Proto se přistoupilo k novějšímu způsobu, což jsou CSS styly. Je to sice složitější, ale užitečnější a všeobecné. CSS vzniklo někdy kolem roku 1997 a je součástí HTML 4. Je to kolekce metod pro grafickou úpravu webových stránek. Ta zkratka znamená Cascading Style Sheets, česky "kaskádové styly". Kaskádové, protože se na sebe mohou vrstvit definice stylu, ale platí jenom ta poslední. Velmi dobře popsané a vysvětlené věci okolo webových technologií (HTML, CSS, ale i JavaScriptu nebo PHP) jsou například na www stránkách Jak psát web[19] nebo Tvorba webu[20].
4.2.3
JavaScript - strana klienta
JavaScript je programovací jazyk, který je základem dynamického webu. Zapisuje se přímo do HTML kódu, což je velká výhoda, protože je to jednoduché. JavaScript je závislý na prohlížeči (uživatel si ho může vypnout). Jedná se o klientský skript. To znamená, že se program odesílá se stránkou na klienta do prohlížeče a teprve tam je vykonáván. Protikladem klientských skriptů jsou skripty serverové, které jsou vykonávány na serveru a na klienta jdou už jen výsledky. Existují i jiné jazyky klientských skriptů, např. VBScript. Jsou ale tak málo používané, že když se dnes mluví o „skriptech“, myslí se tím JavaScripty.
4.2.4
PHP - strana serveru
PHP je skriptovací programovací jazyk, který pracuje na straně serveru. Jazyk PHP vznikl v roce 1996 a zkratka původně znamenala Personal Home Page. Od té doby PHP prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. Podobně jako JavaScript je určený pro programování dynamických internetových stránek. A také se začleňuje přímo do struktury jazyka HTML. PHP lze použít i k tvorbě konzolových a desktopových aplikací. PHP skripty jsou prováděny na straně serveru, k uživateli je přenášen až výsledek jejich činnosti. Je nezávislý na platformě, skripty fungují bez větších úprav na mnoha různých operačních systémech. Podporuje mnoho knihoven pro různé účely - např. zpracování textu, grafiky, práci se soubory, přístup k databázovým systémům. PHP se stalo velmi oblíbeným především díky jednoduchosti použití a tomu, že kombinuje vlastnosti více programovacích jazyků. V kombinaci s operačním systémem Linux, databázovým systémem (obvykle MySQL nebo PostgreSQL) a webovým serverem Apache je velmi často využíván k tvorbě webových aplikací.
4.3. POPIS IMPLEMENTACE
4.3 4.3.1
31
Popis implementace Diagram nasazení
Obrázek 4.1: Diagram nasazení
4.3.2
GUI
Rozhraní se skládá z horního pruhu s nadpisem, pruhu s menu a přihlašovacím formulářem, prostřední části a patičky. Při rozhodování, zda použít vodorovné nebo postranní menu vlevo, jsem zvolila možnost vodorovného menu. Je to hlavně z toho důvodu, abych ušetřila místo na straně. A dále myslím, že pokud není položek příliš mnoho, je vodorovné menu lepší. Bez přihlášení má uživatel v menu na výběr jen z několika málo možností - Úvod, Rostliny, Vzhled, Kontakt, Nápověda, ale po přihlášení se tento seznam rozšíří o položky Rostliny, Šablony a Profil. Administrátor má navíc ještě položku Uživatelé. U všech formulářů (registrace, přihlášení, změna osobních údajů, vložení rostliny...) je kontrolována správnost dat. Když uživatel zadá nějakou položku špatně, je to zvýrazněno červeným upozorněním vedle ní. Snažila jsem se navrhnout grafické uživatelské rozhraní jednoduché a přívětivé tak, aby na uživatele nekladlo příliš velké nároky. Určitě by se dala grafika o mnoho vylepšit, ale myslím, že tento návrh bohatě postačuje. Uživatel má dokonce na výběr z několika možností vzhledu. Vybraný vzhled je pro daného uživatele uložen pomocí cookies. Cookie označuje malé množství dat, které server pošle prohlížeči a ten je uloží na počítači uživatele.
32
KAPITOLA 4. REALIZACE
Obrázek 4.2: Ukázka GUI
Další ukázky grafického rozhraní budou zobrazeny v podkapitole 4.3.4 na straně 33 nebo v příloze D na straně 51.
4.3.3
Databáze
Realizace databáze byla velmi snadná. Použila jsem k tomu webovou aplikaci PHPMyAdmin, kde jsem pouze spustila SQL dotazy vygenerované z Enterprise Architectu. Pak už jsem tabulky upravovala jen minimálně (např. kódování nebo některé datové typy). Pokud se uživatelé mohou do webové aplikace zaregistrovat, obvykle se pak pro jejich přihlášení požaduje uživatelské jméno a jejich heslo, které se ukládá spolu s dalšími informacemi, které vyplnili, do databáze. Celkem závažná chyba je ukládat heslo tak, jak jej uživatel zadal, bez jakéhokoliv kódování. Sice by byla pak jednoduchá implementace funkce zaslání zapomenutého hesla, ale bylo by to nezabezpečené. Je tu riziko získání všech údajů přinejmenším autorem aplikace nebo správcem serveru. Proto se toto řeší tak, že se neukládá celé heslo, ale jen jeho hash. Hashovací funkce převádí libovolný řetězec na bytový řetězec s pevnou délkou (např. sha1() vrací vždy 40 znaků). Výhoda této funkce je, že je jednosměrná - nedá se v rozumném čase z hashe zjistit původní řetězec. Heslo je tedy do databáze ukládáno jako hashovací kód funkce sha1(), takže nelze nijak zjistit, jaké má uživatel heslo. Program je také chráněn proti „zlému uživateli“, používá funkce htmlspecialchars a mysql_real_escape_string.
4.3. POPIS IMPLEMENTACE
4.3.4
33
Tvorba funkčních celků
Po implementaci GUI a databáze začala realizace samotných PHP stránek. Hlavní stránkou je stránka index.php a ta pomocí includů zajišťuje sestavení stránky podle zadaných podmínek podle proměnných $_GET. Aplikace se dá rozdělit na několik částí (stejné jako v use casech). • Modul správa uživatelů • Modul správa rostlin • Modul správa poznámek • Modul správa šablon 4.3.4.1
Správa uživatelů
Při registraci uživatel zadává osobní údaje, které pak ale vidí jen on a administrátor. Ostatní uživatelé k těmto datům nemají přístup. Uživatel si tyto údaje (včetně hesla) může změnit (kromě uživatelského jména, to je v databázi unikátní). V případě zapomenutí hesla může uživatel požádat o vygenerování nového hesla na e-mail. Pro funkci přihlašování uživatelů jsem použila session. Session je množina proměnných, které dovolují uchovávat nastavené hodnoty po celou dobu připojení (tj. se znovunačtením stránky se neztratí).
Obrázek 4.3: Registrace nového uživatele
4.3.4.2
Správa rostlin
Toto je asi nejdůležitější část celé aplikace - vkládání, editace a vymazávání rostlin uživatelem. Každý uživatel má přístup jen ke svým rostlinám, které sám vytvořil. Ostatní si prohlížet samozřejmě může, ale nemá možnost v nich dělat jakékoliv změny nebo je dokonce mazat. Tyto práva má pouze administrátor.
34
KAPITOLA 4. REALIZACE
Uživatel může rostliny zobrazovat v různých šablonách, které si vytvoří a podle toho vypadá jeho rozhraní. Protože jsem chtěla, aby aplikaci mohli používat jak laici, tak odborníci, je tu i velmi užitečná možnost zobrazování seznamu rostlin buď jako latinský název-kultivar nebo český název-kultivar. Tabulka rostlina obsahuje nyní proti návrhu také daleko více atributů a podtabulek. Důvodem je zjednodušení a zpřehlednění v návrhu, protože mnoho atributů by bylo v diagramu nečitelných.
Obrázek 4.4: Ukázka rostliny
4.3.4.3
Správa poznámek
Velmi užitečné jsou poznámky k rostlinám, kterými mohou ostatní uživatelé upozornit na chyby nebo naopak rostlinu pochválit. Uživatel, který rostlinu vkládal, tak má zpětnou vazbu a v případě špatného ohlasu může rostlinu editovat.
Obrázek 4.5: Poznámka k rostlině
4.3. POPIS IMPLEMENTACE
4.3.4.4
35
Správa šablon
Šablony jsou velmi zajímavým prvkem této aplikace. Šablona je jakási konfigurace uživatelského rozhraní. Každý uživatel si v ní může zvolit, které informace o rostlinách by ho zajímaly. Při vybírání a prohlížení rostliny se mu pak zobrazí další formulář, kde zvolí, která šablona má být aktivní. Uživatel má na výběr ze svých šablon a navíc ještě z veřejných šablon ostatních uživatelů. Uložení šablony řeším podobně jako u vzhledu - pomocí cookies. Nakonec bych upozornila na funkci, kterou jsem naimplementovala navíc oproti návrhu. A tou je možnost zobrazení rostliny v té šabloně, ve které byla vytvořena. Tím získává stránka velkou dynamičnost. Ve struktuře databáze se tato změna projevila jen nepatrně - v tabulce rostlina se objevil cizí klíč id_sab z tabulky sablona.
Obrázek 4.6: Ukázka šablony
4.3.5
Tvorba dokumentace
Tento dokument byl psán v sázecím systému LATEX. LATEX je balík maker programu TEX, který umožňuje autorům textů sázet a tisknout svá díla ve velmi vysoké typografické kvalitě, přičemž autor používá vzhledy, které byly předdefinovány profesionály. Pro ulehčení práce jsem použila šablonu (zdrojové soubory a formátovací makra) ze stránek katedry[21], respektive z článku týkajícího se pokynů pro psaní bakalářských prací[22]. Jako editor jsem použila PSPad, který je přizpůsobitelný pro práci s LATEXem a jako kompilátor jsem si nainstalovala MiKTeX podle návodu[23]. Nejvíc informací o LATEXu jsem čerpala z manuálu k LATEXu[24], ze seriálu na Root.cz[25] a ze stránek o LATEXu[26], kde bylo vše srozumitelně vysvětleno.
36
KAPITOLA 4. REALIZACE
Kapitola 5
Testování Neoddělitelnou součástí vývoje softwarového produktu je samozřejmě jeho testování. Cílem tohoto testování není zajistit bezchybnost, ale najít co možná největší počet chyb. Používá se k měření správnosti, úplnosti, bezpečnosti a kvality vyvíjeného systému. Testování je vlastně jakési srovnání aktuálních hodnot s očekávanými. Důvod, proč nám neposkytne úplnou správnost počítačového softwaru, je, že můžeme nasimulovat pouze konečné množství standardních a nestandardních hodnot, situací a možností. Ale i při tomto konečném množství vstupů a výstupů lze přijít na většinu chyb. Tato část je podle mého názoru jedna z nejdůležitějších a rozhodně ji není možné opomenout. Testování jsem rozdělila na 2 části: 1. Testování mnou jako programátorkou této aplikace - testování při vývoji. 2. Uživatelské testování, kde si program vyzkouší i další uživatelé.
5.1
Testování při vývoji
Již při programování aplikace jsem zkoušela testovat nejrůznější vstupy a opravila tak mnoho chyb. Program jsem spouštěla jak lokálně na vlastním počítači, tak i na vzdáleném školním serveru http://bd.felk.cvut.cz, kde bylo použito trochu jiné nastavení.
5.2
Uživatelské testování
Tuto fázi testování provádím na 2 úrovních: 1. Testování na uživatelích z oblasti informačních technologií. 2. Testování na uživatelích z oblastí zahradníků. Program musí být jednoduchý, aby práci s ním zvládli jak laici v oblasti dendrologie, tak laici v oblasti počítačů. Pro uživatelské testování jsem se rozhodla vytvořit krátký závěrečný dotazník, kde budu zjišťovat, s čím jsou uživatelé spokojeni, co se jim nelíbí a co by dále uvítali. Výsledky tohoto dotazníku budou až ve výsledné prezentaci, protože ho výzkumníkům budu dávat k dispozici během prázdnin, kdy nebudou tolik vytížení.
37
38
KAPITOLA 5. TESTOVÁNÍ
5.2.1
Závěrečný dotazník
Tento dotazník by měl sloužit k nalezení chyb a závěrečnému zhodnocení. • Byla pro Vás práce se systémem jednoduchá? • Byla podle Vás některá z částí zbytečně složitá? Která? • Co si myslíte, že by potřebovalo vylepšit? • Jaké informace o rostlině byste tu dále uvítal? • Jaké funkce Vám zde chybí?
Kapitola 6
Závěr Cílem této bakalářské práce bylo navrhnout, implementovat a otestovat webové stránky dendrologické databáze. Nejprve jsem provedla rešerši již existujících podobných systémů. Tím jsem zjistila jejich hlavní mezery a nedostatky, které bych chtěla pokrýt. Abych věděla, které všechny atributy bude nutné do systému začlenit, vytvořila jsem dotazník a podle jeho výsledků vytvořila databázi. Dále jsem provedla analýzu požadavků a navrhla aplikaci pomocí jazyka UML (Unified Modeling Language). Nakonec jsem vše naprogramovala a řádně otestovala. Při implementaci jsem se snažila o co nejpřívětivější uživatelské rozhraní. Pro odhalení co největšího počtu chyb jsem vytvořila další dotazník, který má za úkol zjistit, jak se uživatelům program líbí, co jim v systému chybí, případně co by vytkli. Nakonec se mi zdárně podařilo docílit funkční aplikace a splnit všechny cíle, které jsem si na začátku stanovila. Vytvořila jsem tak základ programu, který se bude moci v praxi využívat. Myslím, že je tato práce velmi přínosná, právě protože řeší všechny nedostatky všech výše uvedených stránek. Možností v pokračování a navazování na tuto práci je hned několik. Práce by se dala samozřejmě rozvinout o automatizaci vkládání atributů přímo z uživatelského rozhraní, což by vyžadovalo jistou synchronizaci databází. Dále se teď v programu může stát, že se v databázi objeví jedna rostlina několikrát. Zajímavou úlohou by bylo vyřešit slučování těchto stejných rostlin. Při budoucím vývoji by bylo dobré použít architekturu MVC (Model-viewcontroller) nebo některý z frameworků a tím si usnadnit práci.
39
40
KAPITOLA 6. ZÁVĚR
Literatura [1] Dendrologie. http://cs.wikipedia.org/wiki/Dendrologie, stav z 20. 6. 2009. [2] J. Jakl. Dendrologie - nauka o dřevinách. http://www.priroda.cz/clanky.php?detail=536, stav z 20. 6. 2009. [3] Výzkumný ústav pro krajinu a okrasné zahradnictví. http://www.vukoz.cz, stav z 20. 6. 2009. [4] Dendrologická zahrada. http://www.dendrologickazahrada.cz, stav z 20. 6. 2009. [5] Výzkumný a šlechtitelský ústav ovocnářský. http://www.vsuo.cz, stav z 20. 6. 2009. [6] Výzkumný ústav lesního hospodářství a myslivosti. http://www.vulhm.cz, stav z 20. 6. 2009. [7] Botanický ústav. http://www.ibot.cas.cz, stav z 20. 6. 2009. [8] W3 validator. http://validator.w3.org, stav z 20. 6. 2009. [9] P. Horáček. Dendrologie.cz. http://www.dendrologie.cz, stav z 20. 6. 2009. [10] Květena lesů luk a strání. http://www.kvetena.com, stav z 20. 6. 2009. [11] O. Zicha. Biological library. http://www.biolib.cz, stav z 20. 6. 2009. [12] P. Beňadik. Botany.cz. http://botany.cz, stav z 20. 6. 2009. [13] Z. Pazdera. Fotografický herbář. http://botanika.wendys.cz, stav z 20. 6. 2009. [14] J. Šumbera. Herbář. http://www.herbar.cz, stav z 20. 6. 2009.
41
42
LITERATURA
[15] P. Kocián. Květena ČR. http://www.kvetenacr.cz, stav z 20. 6. 2009. [16] J. Jakl. Ebotanika.net. http://ebotanika.net, stav z 20. 6. 2009. [17] Arboeko. http://www.arboeko.com, stav z 20. 6. 2009. [18] Unified modeling language. http://cs.wikipedia.org/wiki/UML, stav z 20. 6. 2009. [19] D. Janovský. Jak psát web. http://www.jakpsatweb.cz, stav z 20. 6. 2009. [20] Š. Grimmich. Tvorba webu. http://www.tvorba-webu.cz, stav z 20. 6. 2009. [21] K336 Info. http://info336.felk.cvut.cz, stav z 20. 6. 2009. [22] K336 Info - pokyny pro psaní bakalářských prací. https://info336.felk.cvut.cz/clanek.php?id=504, stav z 20. 6. 2009. [23] P. Sysel and P. Rajmic. Instalace LATEXu. [24] R. Bednář. LATEX - online manuál. http://www.cstug.cz/latex/lm/frames.html, stav z 20. 6. 2009. [25] Seriál jak na LATEX. http://www.root.cz/serialy/jak-na-latex, stav z 20. 6. 2009. [26] D. Martinek. Stránky o LATEXu. http://www.fit.vutbr.cz/~martinek/latex, stav z 20. 6. 2009. [27] Wikipedie. http://cs.wikipedia.org, stav z 20. 6. 2009. [28] D. Janovský. EasyPHP. http://www.jakpsatweb.cz/php/easyphp.html, stav z 20. 6. 2009.
Příloha A
Dotazník Dobrý den, jsem studentkou 3. ročníku ČVUT – FEL, obor výpočetní technika a chtěla bych Vás tímto poprosit o 5 minut Vašeho času a vyplnění krátkého dotazníku. Jedná se o dotazník, který bude podkladem pro moji bakalářskou práci na téma: Dendrologická web databáze (webově orientovaná databáze pro ukládání informací o stromech a keřích). Které z těchto informací byste na stránkách dendrologické databáze rádi uvítali? 1. Typ uživatele: • Pěstitel • Prodejce • Taxonom • Výzkumník • Zákazník • Zahrádkář • Další (Uveďte) 2. Název: • České pojmenování • Latinské jméno • Kultivar • Anglické jméno • Další (Uveďte) 3. Klasifikace: • Oddělení • Třída
43
44
PŘÍLOHA A. DOTAZNÍK
• Řád • Čeleď • Rod • Druh • Kultivar • Typ • Další (Uveďte) 4. Vlastnosti: (a) Stromy, keře • Typ • List – tvar – typ – barva • Výška – koruna – kmen – v záv. na čase • Průměr kmene • Plocha pokryvu • Květ – období – barva – popis vůně • Plod – tvar – typ – jedlost – barva – obd. zralosti – vůně • Stručný popis • Ocenění • Další (Uveďte) (b) Trvalky • Typ • List – tvar
45
•
• •
•
• • •
– typ – barva Výška – květ – stonek – v záv. na čase Plocha pokryvu Květ – období – barva – popis vůně Plod – tvar – typ – jedlost – barva – obd. zralosti – vůně Stručný popis Ocenění Další (Uveďte)
5. Pěstební podmínky: (a) Stromy, keře • • • • •
• • •
•
Lokalita Stinné x slunné stanoviště Půda Závlaha Hnojení – kdy – čím – množství Doba sázení Doba přesazování Ořezávání – doba – způsob Další (Uveďte)
(b) Trvalky • Lokalita
46
PŘÍLOHA A. DOTAZNÍK
• • • •
Stinné x slunné stanoviště Půda Závlaha Hnojení – kdy – čím – množství • Doba sázení • Doba přesazování • Další (Uveďte)
6. Ostatní: • Poznámka • Fotka • Video • Model • Další (Uveďte) 7. Co byste ještě uvítali na stránkách, poznámky:
Děkuji za čas strávený vyplňováním dotazníku. Jana Rauerová
Příloha B
Seznam použitých zkratek Většina pojmů převzata z Wikipedie [27]. HTTP (HyperText Transfer Protocol) je internetový protokol určený původně pro výměnu hypertextových dokumentů ve formátu HTML. V současné době je používán i pro přenos dalších informací. HTML (HyperText Markup Language) je značkovací jazyk pro hypertext. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje publikaci dokumentů na Internetu. XHTML (eXtensible Hypertext Markup Language) je značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí WWW vyvinutý W3C. Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen. Došlo však k založení pracovní skupiny, která má za cíl vytvořit novou verzi HTML. Vedle toho paralelně pokračuje i vývoj XHTML 2.0. WWW (World Wide Web) je označení pro aplikace internetového protokolu HTTP. Je tím myšlena soustava propojených hypertextových dokumentů. CSS (Cascading Style Sheets) je jazyk pro formátování stránek napsaných v jazycích HTML, XHTML nebo XML navržen standardizační organizací W3C. PHP (Hypertext Preprocessor, původně Personal Home Page) je skriptovací programovací jazyk určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či WML, což lze využít při tvorbě webových aplikací. PHP lze použít i k tvorbě konzolových a desktopových aplikací. SQL (Structured Query Language) je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. MySQL je multiplatformní databáze. Komunikace s ní probíhá pomocí jazyka SQL. Podobně jako u ostatních SQL databází se jedná o dialekt tohoto jazyka s některými rozšířeními.
47
48
PŘÍLOHA B. SEZNAM POUŽITÝCH ZKRATEK
GUI (Graphical User Interface) je uživatelské rozhraní, které umožňuje ovládat počítač pomocí interaktivních grafických ovládacích prvků. UML (Unified Modeling Language) je v softwarovém inženýrství grafický jazyk pro vizualizaci, specifikaci, navrhování a dokumentaci programových systémů. UML nabízí standardní způsob zápisu jak návrhů systému včetně konceptuálních prvků, jako jsou business procesy a systémové funkce, tak konkrétních prvků, jako jsou příkazy programovacího jazyka, databázová schémata a znovupoužitelné programové komponenty. W3C (World Wide Web Consortium) je mezinárodní konsorcium, jehož členové společně s veřejností vyvíjejí webové standardy pro World Wide Web. Cílem konsorcia je rozvíjet World Wide Web do jeho plného potenciálu vývojem protokolů a směrnic které zajistí dlouhodobý růst webu. MVC (Model-view-controller) je softwarová architektura, která rozděluje datový model aplikace, uživatelské rozhraní a řídicí logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní.
Příloha C
Instalační příručka 1. Zkopírujte obsah složky src na server. 2. Vytvořte tabulky v databázi pomocí souboru create.sql. 3. Naplňte tabulky testovacími daty pomocí souboru data.sql. Systém vyžaduje mít na klientovi webový prohlížeč a přístup k internetu a na serveru nainstalované tyto programy: • Apache s podporou PHP • PHP s podporou MySQL • MySQL Pro spuštění lokálně na vlastním počítači je možno použít program EasyPHP.
C.1
EasyPHP
EasyPHP je instalační balíček obsahující skriptovací jazyk PHP, http server Apache, databázi MySQL a webový konfigurační PHPMyAdmin. Umožňuje spustit PHP skripty na vlastním počítači. Aktuální stabilní verze 1.8 má necelých 8 MB (ke stažení na http: //www.slunecnice.cz/sw/easyphp) a obsahuje: • Apache 1.3.33 • PHP 4.3.10 • MySQL 4.1.9 • PHPMyAdmin 2.6.1 Adresář představující kořen dokumentů je potom: C:\Program Files\EasyPHP1-8\www a stránka lokálního serveru: http://localhost. V případě problémů je návod popsán na stránkách Jak psát web[28].
49
50
PŘÍLOHA C. INSTALAČNÍ PŘÍRUČKA
Příloha D
Uživatelská příručka Tato kapitola bude sloužit jako nápověda pro uživatele, kteří chtějí používat tuto aplikaci.
D.1
Ovládání pro nepřihlášeného uživatele
Obrázek D.1: Ovládání pro nepřihlášeného uživatele • Registrace 1. Přejděte na odkaz vpravo nahoře Registrace. (1) 2. Vyplňte potřebné údaje (povinné je uživatelské jméno, 2x heslo a e-mail). 3. Potvrďte tlačítkem Uložit. • Přihlášení 1. Zadejte vpravo nahoře uživatelské jméno a heslo. 2. Potvrďte tlačítkem Přihlásit. (2) • Vygenerování nového hesla 1. V menu zvolte odkaz Nápověda. (3) 2. Zadejte e-mail, který jste uvedli při registraci. 3. Stiskněte tlačítko Vygenerovat nové heslo.
51
52
PŘÍLOHA D. UŽIVATELSKÁ PŘÍRUČKA
4. Potvrďte akci. • Vyhledat rostlinu 1. Zadejte vpravo nahoře, jakou rostlinu chcete najít. 2. Stiskněte tlačítko Hledat. (4)
D.2
Ovládání pro přihlášeného uživatele
Obrázek D.2: Ovládání pro přihlášeného uživatele • Odhlášení 1. Přejděte vpravo nahoře na odkaz Odhlásit. (1) • Změna osobních údajů 1. V menu zvolte odkaz Profil. (2) 2. Stiskněte tlačítko Změnit údaje. 3. Změňte potřebné údaje. 4. Potvrďte tlačítkem Uložit. • Změna hesla 1. V menu zvolte odkaz Profil. 2. Stiskněte tlačítko Změnit heslo. 3. 2x zadejte nové heslo. 4. Potvrďte tlačítkem Uložit. • Vložení rostliny 1. V menu zvolte odkaz Rostliny. (3) 2. Stiskněte tlačítko Nová položka.
D.2. OVLÁDÁNÍ PRO PŘIHLÁŠENÉHO UŽIVATELE
53
3. Vyplňte potřebné údaje (povinné je české jméno, latinské jméno a kultivar). 4. Potvrďte tlačítkem Uložit. • Editace rostliny 1. V menu zvolte odkaz Rostliny. 2. Vyberte rostlinu. 3. Stiskněte tlačítko Změnit údaje. 4. Změňte potřebné údaje. 5. Potvrďte tlačítkem Uložit. • Vymazání rostliny 1. V menu zvolte odkaz Rostliny. 2. Vyberte rostlinu. 3. Stiskněte tlačítko Vymazat. 4. Potvrďte akci. • Vytvoření šablony 1. V menu zvolte odkaz Šablony. (4) 2. Stiskněte tlačítko Nová položka. 3. Vyplňte potřebné údaje (povinné je pouze jméno šablony, veřejnost šablony říká, zda bude šablona k dispozici i ostatním uživatelům nebo ne). 4. Potvrďte tlačítkem Uložit. • Editace šablony 1. V menu zvolte odkaz Šablony. 2. Vyberte šablonu. 3. Stiskněte tlačítko Změnit údaje. 4. Změňte potřebné údaje. 5. Potvrďte tlačítkem Uložit. • Vymazání šablony 1. V menu zvolte odkaz Šablony. 2. Vyberte šablonu. 3. Stiskněte tlačítko Vymazat. 4. Potvrďte akci. • Vytvoření poznámky 1. V menu zvolte odkaz Rostliny. 2. Vyberte rostlinu.
54
PŘÍLOHA D. UŽIVATELSKÁ PŘÍRUČKA
3. Vyplňte text poznámky. 4. Potvrďte tlačítkem Uložit. • Editace poznámky 1. V menu zvolte odkaz Rostliny. 2. Vyberte rostlinu. 3. Stiskněte tlačítko Editovat u vybrané poznámky. 4. Změňte poznámku. 5. Potvrďte tlačítkem Uložit. • Vymazání poznámky 1. V menu zvolte odkaz Rostliny. 2. Vyberte rostlinu. 3. Stiskněte tlačítko Vymazat u vybrané poznámky. 4. Potvrďte akci.
D.3
Ovládání pro administrátora
• Vyhledat uživatele 1. Zadejte vpravo nahoře, jakého uživatele chcete najít. 2. Stiskněte tlačítko Hledat. (1) • Upravit e-mail v cizím účtu 1. V menu zvolte odkaz Uživatelé. (2) 2. Vyberte uživatele. 3. Stiskněte tlačítko Opravit e-mail. (3) 4. Opravte e-mail. 5. Potvrďte tlačítkem Uložit. • Schválit účet 1. V menu zvolte odkaz Uživatelé. 2. Vyberte uživatele. 3. Přepněte na možnost Schválený účet. (4) • Blokovat účet 1. V menu zvolte odkaz Uživatelé. 2. Vyberte uživatele. 3. Přepněte na možnost Blokovaný účet. (4)
D.3. OVLÁDÁNÍ PRO ADMINISTRÁTORA
• Smazat účet 1. V menu zvolte odkaz Uživatelé. 2. Vyberte uživatele. 3. Stiskněte tlačítko Vymazat. (5) 4. Potvrďte akci.
Obrázek D.3: Ovládání pro administrátora
55
56
PŘÍLOHA D. UŽIVATELSKÁ PŘÍRUČKA
Příloha E
Obsah přiloženého CD /text /figures /include /src /include /images /rostl /styles /database
text bakalářské práce v PDF a TeX obrázky k textu jednotlivé kapitoly textu zdrojové soubory zdrojové kódy aplikace obrázky použité v aplikaci obrázky k rostlinám CSS styly skripty pro vytvoření a naplnění databáze testovacími daty
57