Podobné dokumenty
Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Elektronické zpracování dotazníků AGEL. Verze

Tour de ABB 2013 Průvodce online aplikací

Návod k práci s programem MMPI-2

InsideBusiness Payments CEE

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Pracovní výkazy. návod k použití. Internetová aplikace Pracovní výkazy slouží k zadávání pracovních výkazů od zaměstnanců a externích pracovníků.

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Databáze prodejců. Tlačítka. Vytvoří kartu nového prodejce (Alt+N); Změní vybraného prodejce Uloží nového prodejce nebo změnu (Alt+U);

Vstupní požadavky, doporučení a metodické pokyny

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

Stručný obsah. K2118.indd :15:27

Úvod. Program ZK EANPRINT. Základní vlastnosti programu. Co program vyžaduje. Určení programu. Jak program spustit. Uživatelská dokumentace programu

Rizikové procesy. 1. Spuštění modulu Rizikové procesy. 2. Popis prostředí a ovládacích prvků modulu Rizikové procesy

5 Evidence manželských smluv

Program. Uživatelská příručka. Milan Hradecký

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

Správa obsahu webové platformy

Nástrojová lišta v editačním poli

Modul IRZ návod k použití

Moje-Projekty.cz Dokumentace k aplikaci

Průvodce aplikací FS Karta

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Svolávací systém Uživatelský manuál

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Podrobný postup pro doložení příloh k Finančnímu zdraví žadatele prostřednictvím Portálu farmáře

Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a. Strana 1 z 9

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

Nápověda aplikace Patron-Pro

Postupy práce se šablonami IS MPP

Olga Rudikova 2. ročník APIN

Podrobný postup pro doložení příloh k Finančnímu zdraví žadatele prostřednictvím Portálu Farmáře

Uživatelská příručka 6.A6. (obr.1.)

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Uživatelská příručka

MONITORING OBCHODNÍCH PARTNERŮ

Podrobný postup pro doložení příloh k Finančnímu zdraví žadatele prostřednictvím Portálu farmáře

Nápověda k systému CCS Carnet Mini

Práce s MS Excel v Portálu farmáře a využití pro stažení dat KN z LPIS a sestav z EPH

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 2. kolo příjmu žádostí Programu rozvoje venkova ( )

Semestrální práce 2 znakový strom

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Racionální hnojení Zpráva o výsledcích AZZP

Návod pro práci s aplikací

Externí Helpdesk Uživatelská příručka. verze 1.00

nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

WebmMenu slouží pro editaci a management položek menu. Pro další informace si prosím vyberte jedno z následujících témat:

1 Webový server, instalace PHP a MySQL 13

BENCHMARKING VENKOVA. Uživatelská příručka nástroje ehomer.cz. Verze dokumentu: 1.1

2HCS Fakturace 3 - modul Banka -

Nápověda k systému CCS Carnet Mini. Manuál k aplikaci pro evidenci knihy jízd

Stav přijímacího řízení

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V

Grantové projekty. V současné době jsou zpracovány tyto části:

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro

Easycars Aplikace pro správu autobazaru

Webová aplikace Znalostní testy online UŽIVATELSKÁ PŘÍRUČKA

Kontingenční tabulky v MS Excel 2010

Práce s administračním systémem internetových stránek Podaných rukou

1. ESO9 MAJETEK ZÁKLADNÍ VLASTNOSTI DOPORUČENÝ HW... 3

Aplikace pro srovna ní cen povinne ho ruc ení

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách

Obrázek 1: Struktura programu z hlediska zapojení

Podrobný postup pro doložení příloh k Finančnímu zdraví žadatele prostřednictvím Portálu Farmáře

Postup pro zpracování kontrolního hlášení

Tato podagenda obsahuje hlavní pracovní prostředí pro editaci artiklů, sledování vývoje cen nebo pohybu artiklů.

Stručný manuál pro webový editor. Ukládáni základních informací, tvorba menu

RELAČNÍ DATABÁZE ACCESS

Redakční systém Joomla. Prokop Zelený

Uživatelský manuál. Verze Tel: , sales@ictb.cz, WWW:

Program. Uživatelská příručka. Milan Hradecký

ČNHP. Příručka pro pacienty. Institut biostatistiky a analýz. Vytvořil:

Modul EPNO. Téma: Elektronické odesílání evidenčních listů přepravy nebezpečných odpadů

Modul Statistika poskytuje přehled o počtu studentů na fakultách, v jednotlivých programech, oborech, apod.

Obsah Úvodem... 5 Co je to vlastně formulář... 6 Co je to šablona... 6 Jak se šablona uloží... 6 Jak souvisí formulář se šablonou...

Jak vytvořit sestavy na míru v registru zvířat (IZR)

MS POWERPOINT. MS PowerPoint

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Možnosti tisku v MarushkaDesignu

Pravidla a plánování

Profesis on-line Obrázky v prezentaci byly upraveny pro potřeby prezentace.

Formulář pro křížový filtr

Uzávěrka časopisu PEXeso

INTERNETOVÉ BANKOVNICTVÍ Hromadné platby a stahování výpisů

Internetový obchod Mironet

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Ignijet_2007 Externí monitor

Dokumentace pro správu zlínských DUM

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

Uživatelský manuál: Fuelomat systém

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či.

Internetový obchod ES Pohoda Web Revolution

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Prozkoumání příkazů na pásu karet Každá karta na pásu karet obsahuje skupiny a každá skupina obsahuje sadu souvisejících příkazů.

GEOM LITE - MANUÁL hlavní obrazovka

Transkript:

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ BAKALÁŘSKÁ PRÁCE INFORMAČNÍ SYSTÉM OVOCNÁŘSKÉ ŠKOLKY Ondřej Letocha Vedoucí práce: Ing. Josef Semrád Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika leden 2009

2

Poděkování Děkuji panu Ing. Josefu Semrádovi za velkou ochotu, trpělivost a pomoc při psaní této práce. 3

Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil 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 23.1. 2009............................................................. 4

Abstrakt Ovocnářská školka Ovostrom potřebuje nový informační systém, který bude flexibilní, rychlý a bude využívat moderní technologie. Systém bude zajišťovat vedení několika skladů a poskytovat přehledy potřebné pro rychlé zjišťování informací o položkách skladů. Tato bakalářská práce se zabývá návrhem systému a jeho částečnou realizací. Abstract Travel agency Honza needs new information system, which will be flexible, fast and will be using modern IT technologies. The system will provide management of several warehouses and provide the necessary reports for the rapid detection of information about lots of warehouses. This bachelor thesis deals with the design of the system and its partial implementation. 5

Obsah Obsah... 6 1 Analýza... 8 1.1 Školka ovocných stromků Ovostrom... 8 1.2 Současné řešení... 8 1.3 Popis nového řešení... 9 1.3.1 Nástin nového systému... 9 1.3.2 Stručný popis použitých technologií... 10 1.4 Případy užití systému... 11 1.4.1 Uživatelské role... 11 1.4.2 Scénáře použití systému... 11 1.4.3 Use case diagramy... 13 1.4.3.1 Use case diagram zákazníka... 14 1.4.3.2 Use case diagram uživatele systému ve firmě... 15 1.5 Datový model... 16 1.5.1 Grafické vyjádření datového modelu... 16 1.5.2 Popis hlavních částí datového modelu... 17 1.6 Odhad ceny projektu... 17 1.6.1 Cena hardware... 17 1.6.2 Cena software... 18 1.6.3 Cena vývoje... 18 1.6.3.1 Popis metody výpočtu ceny vývoje... 18 1.6.3.2 Vzorce pro výpočet ceny vývoje... 18 1.6.3.3 Výpočet... 19 1.6.4 Celková cena... 19 2 Implementace... 20 2.1 Popis základních vrstev informačního systému... 20 2.1.1 Jádro systému... 20 2.1.2 Databáze... 20 2.1.3 Vzhled aplikace... 20 2.1.4 Úspora množství přenášených dat... 21 2.2 Popis základních částí webové prezentace... 21 2.2.1 Jádro prezentace... 21 2.2.2 Vzhled prezentace... 22 2.3 Vstupy a výstupy systému... 22 2.3.1 Vstupy dat do systému... 22 2.3.2 Výstupy dat systému... 22 2.4 Komunikace mezi částmi systému... 23 2.5 Import dat z Excelu... 23 3 Prezentační vrstva systému... 25 3.1 Prezentační vrstva informačního systému... 25 3.2 Jednotlivé části (stránky) systému... 25 3.2.1 Hlavní stránka... 25 3.2.2 Karta zákazníka... 27 3.2.3 Skladová karta stromku... 28 3.2.4 Stránka pro úpravy názvů apod... 30 4 Programová část... 31 4.1 Úvod... 31 6

4.2 Ukázka částí zdrojových kódů... 31 4.2.1 Filtrování řádků v hlavní tabulce... 31 4.2.2 Části kódu potřebné pro přidání nového záznamu do tabulky Vyorané... 32 4.2.2.1 Část ze zdrojového kódu skladové karty... 32 4.2.2.2 Javascriptová funkce pridatv... 32 4.2.2.3 Kód v souboru send.php... 33 5 Závěr... 35 5.1 Splněné části... 35 5.2 Vlastní přínos... 35 5.3 Možnosti dalšího zlepšování informačního systému... 35 6 Seznam použité literatury... 36 7 Příloha datové médium... 37 7

1 Analýza 1.1 Školka ovocných stromků Ovostrom Firma se zabývá pěstováním a prodejem ovocných stromků. Jedná se o menší společnost, která pěstuje ovocné stromky na několika hektarech půdy ve více různých sadech. Všechny procesy pro pěstování jako jsou sázení, očkování, vyorávání, skladování, chemické ošetření apod. zajišťuje vlastními pracovními silami a prostředky. Pro většinu z prováděných prací je potřeba evidence provedených úkonů, jak pro kontrolu státními orgány, tak i pro vlastní potřeby firmy. Činnost firmy se rozděluje na sezónní a mimosezónní. 1.2 Současné řešení Školka v současnosti nemá žádný ucelený informační systém pro správu jakýchkoliv činností. Nejvíce využívá tabulek v programu Microsoft Excel a pomocí nich řeší různé menší automatické úkony. Toto řešení je velmi neefektivní a nevhodné, protože je těchto tabulkových miniaplikací již velké množství, každá funguje na jiném základu a neexistuje žádné rozumné propojení získaných dat. Zde je menší výčet těchto aplikací: a) Sklad stromků k prodeji Sestává se z hlavní tabulky vytvořené v Excelu, kde je výčet všech typů stromků k prodeji. U každé odrůdy je uvedeno několik hodnot, které určují stavy skladu, počet prodaných kusů, rezervované množství apod. b) Skladová karta stromku Všechny typy stromků, které jsou uvedeny v hlavní tabulce mají svou skladovou kartu, ve které jsou rozšířenější údaje hodnot z hlavní tabulky. Obsahuje data prodejů, jména kupujících, jména prodávajících, rozdělení rezervovaných kusů dle jmen, počty vyoraných stromků, rozdělení stromků do kvalitativních tříd a další informace potřebné u každého stromku. 8

Skladová karta je také realizována pomocí tabulky v Excelu. Bohužel má velmi omezující vlastnost všechny odrůdy jsou pouze na jednom listu a každá odrůda má k dispozici maximálně 50 řádků. Dané omezení je způsobeno vzorečky, které jsou použity pro počítání aktuálních hodnot skladu. c) Evidence provedených postřiků a hnojiv Pro potřeby Ministerstva zemědělství se musí vést záznamy o všech provedených postřicích a hnojení na pěstovaných stromkách. Ministerstvo vydalo vzor Excelovské tabulky, jak by tyto evidence měly vypadat. Zapisují se zde konkrétní hodnoty hnojení případně postřiků jako jsou např.: datum, katastrální území, plodina, použité hnojivo, množství živin dodaných do půdy atd. d) Skladová evidence přípravků určených pro postřiky a hnojení Tato evidence je také vedena v Excelu. Jsou zde ukládány informace o stavu zásob postřiků a hnojiv. Zároveň je tento sklad propojen s evidencí provedených postřiků a automaticky počítá stav skladu na základě nakoupených a použitých prostředků. Firma využívá i další tabulky, ale ty již nejsou tak podstatné pro denní chod společnosti. Většina denních úkonů je v závislosti na ročním období prováděna v jedné z výše uvedených miniaplikaci. 1.3 Popis nového řešení 1.3.1 Nástin nového systému Společnost potřebuje vyvinout nový informační systém, který by umožnil centralizovanou správu všech činností probíhajících ve firmě. Takového řešení je možné dosáhnout pouze převedením všech tabulek do ucelenějšího formátu a lepším využitím možností současné výpočetní techniky tak, aby odpadlo co největší množství výpočtů, které jsou řešeny zaměstnanci. Díky tomu dojde k minimalizaci chyb způsobených přepisováním a překlepy při 9

práci s daty a tím se zároveň zvýší efektivita práce. Důležité je, aby bylo možné postupné vyvíjení a přidávání nových částí, které můžou být potřeba s rostoucími nároky firmy. Součástí nového systému bude i zcela nová webová prezentace firmy s vhodnou SEO optimalizací umožňující získání nových zákazníků. Poslední částí nového systému je aplikace pro hlášení nalezených chyb, požadavků na změny apod. Tato část nesouvisí přímo s chodem firmy, ale je důležitá pro komunikaci mezi vývojářem a zadavatelem systému. 1.3.2 Stručný popis použitých technologií Nový systém je kompletně založen na Open source webových technologiích. K jeho používání plně dostačuje volně dostupný internetový prohlížeč. Jádro systému je řešeno pomocí skriptovacího jazyku PHP [1], který umožňuje dynamickou tvorbu stránek. Databáze systému běží na platformě MySQL [2]. Dále je využit programovací jazyk Javascript [3], poskytující rychlé reakce a odezvy na práci uživatele. Vzhled systému je řešen pomocí CSS [4]. Z důvodu úspory množství přenesených dat, pohodlí uživatele a rychlejší práci je kladen důraz na využití možností AJAX technologie, která je vlastně soubor výše zmíněných platforem. K webové prezentaci bude využit volně dostupný redakční systém Joomla, který poskytuje solidní rozšiřitelnost, spoustu skinů a pluginů. Velkou výhodou je také lokalizace do češtiny, protože v budoucnu je zamýšleno, že manager firmy bude sám publikovat nové příspěvky na web, aby se tím ušetřilo na výdajích za redaktora. 10

1.4 Případy užití systému 1.4.1 Uživatelské role Vzhledem k velikosti firmy, využívá systém jen malý počet zaměstnanců. Není potřeba zde zavádět více uživatelských rolí, protože každý administrativní pracovník může pracovat se systémem v plné míře. 1.4.2 Scénáře použití systému Přehled nejpoužívanějších postupů pro práci se systémem: a) Zjištění skladových zásob jednotlivých odrůd stromků Z menu se vybere odkaz vedoucí na hlavní přehled všech stromků na skladě Pomocí filtrů lze zúžit okruh zobrazených odrůd Nalezení požadovaného stromku a jeho konkrétních hodnot b) Zjištění konkrétních pohybů na skladu s určitým stromkem V hlavním přehledu se nalezne požadovaný stromek (viz postup výše) Zaškrtnutím políčka Otevírat ve stejném okně vyberu, kde se má zobrazit skladová karta a kliknutím na název stromku se karta otevře Zde je možné vidět 4 různé tabulky s vypsanými operacemi a) Inventarizace přehled všech provedených inventarizací b) Rezervace výpis aktuálně zamluvených stromků konkrétními zákazníky c) Prodej přehled všech uskutečněných prodejů dle data d) Vyorávání výpis počtu vyoraných stromků, seřazených dle data a rozdělených do konkrétních kvalitativních tříd c) Práce se skladovou kartou konkrétního stromku Po zobrazení skladové karty stromku lze provádět následující operace a) Zjištění počtů konkrétních kvalitativních tříd stromku na skladě Všechny údaje jsou uvedeny v části Sklad 11

b) Přidání inventury stromku Kliknutím na políčko pro zaškrtnutí vedle nápisu Inventury se otevře seznam již provedených inventur a možnost přidat další K jednotlivým třídám se zapíšou zjištěné hodnoty na skladě (pro zobrazení všech existujících tříd se klikne na Ukázat další třídy vedle tlačítka Přidat) Po vypsání všech požadovaných hodnot následuje kliknutí na tlačítko přidat Zobrazí se tabulka s přehledem hodnot ze skladu, inventury a hodnot, které se přidají do inventur viz obr. č. 2 Při rozdílných počtech ve skladu a skutečných (zapsaných) hodnot u konkrétní třídy jsou políčka zvýrazněna červeně Pro výběr správné hodnoty stačí kliknutí přímo na ni Po výběru všech správných hodnot se kliknutím na tlačítko Přidat vloží nová inventura c) Přidání rezervace V části rezervace viz obr. č. 3 se zapíšou počty rezervovaných tříd nebo jen celkový počet do políčka Počet (pro zobrazení všech existujících tříd se klikne na Ukázat další třídy vedle tlačítka Přidat) Vybere se jméno rezervujícího pokud není v seznamu, stačí dvakrát kliknout na rozbalovací seznam a vyskočí okno pro přidání nového jména Samotné přidání se provede tlačítkem Přidat d) Přidání nového prodeje V části se prodej viz obr č. 4 se vypíšou požadované hodnoty Kliknutím na tlačítko Přidat se hodnoty uloží e) Přesun stromku V části prodej se vypíšou požadované hodnoty a zaškrtne se políčko Přesun viz obr. č. 5 12

Kliknutím na tlačítko Přidat se přesunou dané hodnoty z hlavního skladu na firmu f) Přidání vyoraných stromků V části Vyorávání se vypíšou požadované údaje Kliknutím na Přidat se zapíšou do systému g) Změna zadaných hodnot Vyberu hodnotu, kterou chci přepsat Změním hodnotu na novou Opuštěním pole s editovanou hodnotou se tato hodnota v databázi změní Úspěšná změna se projeví změnou barvy daného pole na zelenou h) Mazání vložených údajů Naleznu řádek, který chci smazat a kliknutím na tlačítko Del provedu nevratné vymazání z databáze 1.4.3 Use case diagramy Tyto diagramy byly vytvořeny programem SmartDraw [5]. 13

1.4.3.1 Use case diagram zákazníka Zákazník, který se dostane na webovou prezentaci firmy zde může najít informace o stromcích poskytujících firmou, vlastnostech různých odrůd a zároveň má i možnost poslat poptávku na určité množství konkrétního stromku. 14

1.4.3.2 Use case diagram uživatele systému ve firmě 15

1.5 Datový model 1.5.1 Grafické vyjádření datového modelu 16

1.5.2 Popis hlavních částí datového modelu Základem je tabulka ok_plany, ve které jsou uloženy všechny řádky se stromky o něž se firma stará. Jednotlivé záznamy v této tabulce reprezentují řádky stromků ze všech sadů. Umístění řádku je obsaženo v atributech skolka a parcela. Popis stromků nacházejícího se na daném řádku určují základní atributy podnoz, odruda, preockovane, typ_vypestku, druh a rok. Tyto atributy zároveň rozdělují stromky na různé typy, podle kterých se pak vypisují v hlavním přehledu skladu. Další atributy jako celkem, rozv, rozv_ock, knipp, dppz, dppmz, dpp, dpm atd určují počty různých tříd daného typu stromku. Další důležitou tabulkou je ok_strom. V této tabulce jsou vybrány všechny možné typy stromků z ok_plany. Je zde navíc přidán atribut puvod, který umožňuje nákup stromků od jiných firem a práci s těmito novými stromky v přehledech. Tabulky ok_inventura, ok_rezervace, ok_presun, ok_vyor, ok_prodej slouží k zaznamenávání operací uskutečněných s každým typem stromku. Jejich základní atributy jsou: id_s pro určení konkrétního stromku, etiketa pro označení stromku různými etiketami a datum pro uchování data, kdy daná činnost na skladě proběhla. Atributy jako jmeno, odkud, pozn a pocet určují v závislosti na tabulce další vlastnosti pro lepší práci se skladem. Zbylé atributy 3min, 3min4, 5pl, a další jsou všechny použitelné typy tříd, které je možné pro práci se stromky využít. Tyto atributy nejsou z důvodu úspory místa v grafickém zobrazení datového modelu vypsány všechny. 1.6 Odhad ceny projektu 1.6.1 Cena hardware Vzhledem k tomu, že firma již vlastní několik počítačů, není potřeba kupovat žádný nový hardware. Obecně pro projektovaný systém výkonově postačuje jakýkoliv kancelářský počítač. Cena hardware je tedy nulová. 17

1.6.2 Cena software Všechen použitý software je volně použitelný a tudíž je zde cena také nulová. 1.6.3 Cena vývoje 1.6.3.1 Popis metody výpočtu ceny vývoje Pro odhad ceny vývoje je zvolena metoda COnstructive COst MOdel COCOMO [6]. Tato metoda se rozděluje na tři základní úrovně: 1. Základní model je statický model, který počítá cenu vývoje jako funkci velikosti programu v LOC. Rozděluje se na další tři typy podle pracnosti: Organický mód - malý tým, známé prostředí, známá problematika Přechodný mód - složitější problémy, komunikace, vyšší rozsah Uzavřený mód - krátké termíny, omezení, ladění HW, změny požadavků 2. Střední model počítá cenu vývoje jako funkci velikosti programu v LOC a množiny faktorů (produkt, HW, lidé). 3. Pokročilý model je stejný jako střední model, ale navíc se odhadují ceny faktorů každé etapy softwarového procesu. 1.6.3.2 Vzorce pro výpočet ceny vývoje Pro výpočet je použit organický mód základního modelu. Koeficienty pro tento mód mají hodnoty: a = 3,2; b = 1,05; c = 2,5; d = 0,38. Rozsah projektu je odhadem 10 000 řádků kódu. Rozsah R = 10 [KDSI] (tisíc zdrojových instrukcí) Náročnost N * b = a R [ČM] (člověko-měsíc) Doba trvání projektu D * d = c N [M] (měsíce) Optimální počet pracovníků O = Náročnost / Doba trvání projektu [L] (lidí) 18

1.6.3.3 Výpočet N = a R b = 3,2 10 1,05 = 35,9 ČM D= c N d = 2,5 35,9 0,38 = 9,7 M O = N / D = 35,9 / 9,7 = 3,7 L Je tedy potřeba zaměstnat 4 lidi na 10 měsíců. Při 8 pracovních hodin za den, 20 pracovních dní za měsíc a ohodnocení 200 Kč/hod vychází celková cena vývoje: 4 8 20 10 200 = 1 280 000 Kč. 1.6.4 Celková cena Cena za Částka [Kč] Hardware 0 Software 0 Vývoj 1280000 Celkem 1280000 19

2 Implementace 2.1 Popis základních vrstev informačního systému 2.1.1 Jádro systému Jádro systému funguje na programové platformě PHP. Tento skriptovací jazyk pro psaní webových aplikací poskytuje dostatečnou programovou vybavenost, funkčnost a flexibilitu. Umožňuje jednoduché generování dynamického obsahu a práci s databází. Většina skriptů je prováděna na serveru a do klientského počítače se již přenáší pouze data, která se mají zobrazit, čímž se snižuje jeho zátěž a procesorový čas může být využit například pro zpracování Javascriptové části aplikace. 2.1.2 Databáze Pro databázovou část aplikace byla zvolena platforma MySQL, která dovoluje jednoduchou správu přes webové rozhraní phpmyadmin [7] a má velkou podporu mezi uživateli kvůli své jednoduché implementaci, díky které je dostupné velké množství řešení různých databázových problémů. 2.1.3 Vzhled aplikace Uživatelské rozhraní a vzhled aplikace je řešen pomocí kaskádových stylů CSS. Je kladen důraz na přehlednost a jednoduchou použitelnost. V dnešním světě plným informací je důležité zvýraznění hlavních a podstatných údajů, které mohou uživateli napovědět k opravě chyby lidského faktoru nebo k zaměření se například na nastávající nedostatek potřebných zásob. Celkové barevné schéma je jinak voleno střídmě, aby se dalo pracovat se systémem celý pracovní den bez bolavých očí z ostrých barev a únavy z toho vyplívající. 20

2.1.4 Úspora množství přenášených dat V systému se již teď pracuje s poměrně velkým objemem dat, jejichž přenos může s dalším nárůstem způsobit velké zatížení sítě a zároveň i počítače, který přijatá data musí zpracovávat. Tento problém nelze brát na lehkou váhu, protože v pozdější fázi by mohlo začít docházet k přetížení sítě a stejně tak i k dlouhým časům odezvy systému na konkrétní činnosti uživatele. Proto je v programové části snaha o co největší využívání technologie AJAX. Toto programové řešení výrazně redukuje množství dat, které se musí přenášet a zpracovávat počítačem. Místo načtení celé stránky se načítá pouze malá část, se kterou je potřeba pracovat. Technologie AJAX je používána ve většině případů, kde dochází k práci s novými daty na již načtené stránce, jako je třeba změna již zapsaných hodnot do databáze stačí změnit požadovanou hodnotu a opuštěním vstupního pole se hodnota automaticky změní na stránce i v databázi bez zbytečného načítání stejné stránky, kde je změněna pouze jedna hodnota. 2.2 Popis základních částí webové prezentace 2.2.1 Jádro prezentace Celá webová prezentace funguje na open source CMS systému Joomla, zajišťujícím dostatečnou škálovatelnost a flexibilitu zobrazených stránek. CMS Joomla je neustále vyvíjen, jak z pohledu bezpečnosti, tak z pohledu uživatelského pohodlí při jeho používání. Stejně jako webová aplikace firemního informačního systému využívá databázi MySQL, což zjednodušuje celou administraci a redukuje čas potřebný ke správě. K běžné publikaci aktualit zde není potřeba odborných znalostí a odpadá tím potřeba najmutí externího redaktora, což pomáhá k ušetření peněz a zvyšuje rychlost přidávání nových článků. 21

2.2.2 Vzhled prezentace Barvy pro webovou prezentaci byly vybrány podle barev firemních. Bylo vybráno volně dostupné základní schéma, ve kterém byla změněna hlavička, aby více korespondovala se zaměřením firmy. 2.3 Vstupy a výstupy systému 2.3.1 Vstupy dat do systému Všechny data se do systému zadávají přes formuláře webového rozhraní. Každá dílčí část aplikace má přizpůsobené své vstupy pro maximálně pohodlné a rychlé zadávání dat. Při přidávání se automaticky vyplňují pole, která lze vyplnit, jako třeba datum, ale samozřejmě je možné automaticky vyplněné datum i změnit. V jiné části se zase automaticky vybírají hodnoty z již zadaných vstupů. U rozbalovacích seznamů lze nastavit pořadí zobrazených položek a když v seznamu potřebná položka chybí, je možné ji jednoduchým způsobem přidat bez nutnosti přechodu na jinou stránku nebo obnovení samotné stránky toto je možné docílit díky použité technologii AJAX. Dále systém zobrazuje jen ty vstupní pole, které jsou pro dané operace nejdůležitější a nejvíce používanější, přičemž zbývající méně používané se dají zobrazit a skrýt kliknutím na tlačítko. V závislosti na potřebě se některé části viditelné až po rozkliknutí zobrazují i po novém načtení stránky a jiné jsou vždy po načtení schované. Tento výběr záleží na dané práci jeden den může být konkrétní schovaná část potřeba po celou pracovní dobu, ale v jiné dny nemusí být potřeba vůbec. 2.3.2 Výstupy dat systému Načítání základních dat z databáze potřebných pro správné zobrazení webového rozhraní probíhá hned při načítání stránky. Zobrazují se zase jen data potřebná k práci například při zobrazování prodejů se nezobrazují všechny třídy prodaných stromků u každého jednotlivého prodeje, ale pouze třídy, které byly prodány. 22

Obsáhlejší tabulky je možné filtrovat pomocí zvolených kritérií. Příkladem je hlavní tabulka, ve které jsou vypsány stovky řádků všech dostupných typů stromků na skladě. Tuto tabulku je možné filtrovat pomocí pěti různých kritérií a je samozřejmě možné zadat více kritérií současně. Na konci této tabulky jsou vypsány součty všech aktuálně zobrazených dat v tabulce, takže když nevyužijí žádné filtry, jsou zde součty všech typů stromků, ale když použiji filtr třeba na konkrétní odrůdu, tak se vysčítají jen data pro danou odrůdu. Tím si může uživatel jednoduchým a rychlým způsobem zjistit počty například při jednání se zákazníkem po telefonu. Při kliknutí na políčka dat s počty stavů na skladě se tyto hodnoty automaticky sčítají a zobrazují do jednoho pole na konci hlavní tabulky tato funkce zase umožňuje rychlou orientaci v číslech. 2.4 Komunikace mezi částmi systému Po zadání nových dat do vstupních polí a kliknutí na tlačítko Přidat se tato data odešlou pomocí Javascriptu ke zpracování. Funkce data zkontroluje, upraví a provede všechny činnosti potřebné k zajištění zaslání dat ve správném formátu. Z této funkce psané v Javascriptu se pomocí AJAX technologie odešlou data na server. Na serveru přijme data PHP skript, který otevře spojení s MySQL databází a pošle data do databáze. PHP skript dostane odpověď z databáze a pošle zpátky na klientský počítač XML soubor s vyhodnocením proběhlé operace nebo případně i novými daty. Javascript na klientském počítači zpracuje odpověď ze serveru a informuje uživatele o úspěšnosti proběhlé operace nebo zobrazí nová požadovaná data. 2.5 Import dat z Excelu Do nového systému je potřeba importovat data ze starých tabulek vytvořených v Excelu. Tato operace je velmi pracná a zdlouhavá. Většina dat je uložena v naprosto nevhodném formátu a neumožňuje jednoduchý export z Excelu a následný import do MySQL databáze. Nejdříve je potřeba data upravit tak, aby forma jejich uložení odpovídala možnostem importu dat do MySQL tzn. například nadpis Meruňky nakopírovat ke každému řádku, kde jsou meruňky apod. Dále se musí každá tabulka s daty uložit ve formátu vhodném pro import 23

jako jsou třeba soubory *.csv. Následně se v rozhraní phpmyadmin vytvoří vhodné SQL tabulky a přes Import se data nahrají. Celý postup je velmi pracný a zdlouhavý, ale správně importovat stará data je velmi důležité pro chod firmy. Některé tabulky se vyplatí přepsat ručně, ale to je jen velmi malé procento případů a většina se musí importovat výše zmíněným postupem. 24

3 Prezentační vrstva systému 3.1 Prezentační vrstva informačního systému Pro obyčejného uživatele je to nejdůležitější část informačního systému. Je to vlastně jediná vrstva, se kterou se dostane do styku a podle níž bude posuzovat pohodlnost práce se systémem. Při návrhu je potřeba brát v potaz mnoho faktorů jako například rozmístění ovládacích prvků, barevnost, rychlost reakce na uživatelovi podněty, přehlednost apod. Každý uživatel má odlišné představy o tom, jak by měla aplikace vypadat a proto je potřeba nalézt vhodný kompromis, který bude vyhovovat všem. 3.2 Jednotlivé části (stránky) systému 3.2.1 Hlavní stránka Obrázek č. 4 Hlavní stránka systému 25

Na obrázku č. 4 je vidět hlavní stránka systému, ze které se uživatel dostává do dalších částí. Úplně nahoře se nachází menu v současnosti se skládající ze 4 položek: Index zde se nachází systém pro hlášení chyb a požadavků, Hlavní stránka viz obrázek a popis níže Úpravy a přidávání podnoží, odrůd atd slouží k přidávání nových položek do tabulek Plány školek výpis a editace všech řádků, na kterých firma pěstuje stromky Největší část obrázku zabírá výpis všech typů stromků. Konkrétně zde je použit filtr, který zobrazil pouze všechny stromky s podnoží BSB 2. Celý výpis stromků zobrazuje pouze 23 viditelných řádků na jedné obrazovce. Takový způsob zobrazení dat je zvolen z důvodu ukotvení hlavičky a patičky tabulky, aby se při hledání stromků umístěných níže v tabulce uživatel neztrácel a stále viděl, jaké hodnoty se ve sloupcích nachází. Zároveň se při najetí myší na číslo zobrazí i přesnější znění názvu sloupce. Zkrácené tvary v hlavičce a patičce jako Vyor., Prod. atd jsou použity z důvodu úspory místa. Kdyby zde byly vypsány v plném znění, tabulka by se velmi rozšířila a uživatelé by pak museli posunovat stránku do strany, což je naprosto nevyhovující a nepohodlné řešení. Kliknutím na položky ve sloupci Odrůda / Přeočk. se uživatel dostane skladovou kartu stromku. Více zvýrazněný řádek v tabulce se mění v závislosti na pozici ukazatele. Předchází se tím přehlednutí na jiný řádek. V posledním řádku tabulky jsou v pravé části vysčítané hodnoty jednotlivých sloupců. V části levé se nachází hodnota, kterou uživatel získá klikáním na jednotlivé buňky tabulky. Buňky jejichž hodnoty jsou zahrnuty do součtu se zvýrazní tmavě zelenou barvou. Kliknutím na tlačítko smaž se počítadlo vynuluje a zvýrazněným buňkám se vrátí původní barva. V pravé části je vidět menší okno orámované zelenou barvou. Toto okno se zobrazí po kliknutí na číslo ve sloupci rezervace. Zobrazuje všechny zákazníky, kteří mají daný stromek rezervovaný a celkový součet jejich rezervací daného stromku. 26

3.2.2 Karta zákazníka Obrázek č. 5 Karta zákazníka Stránka s kartou zákazníka je rozdělena na 5 částí: 1. Nejvýše se nachází tabulka se jménem zákazníka a hodnotami Prodáno, Rezervováno a Zbývá dodat. Tento základní přehled slouží k rychlému zjištění základních údajů. 2. Tabulka Zbývá dodat zobrazuje součty všech odrůd, které mají ještě nevyřízené rezervace. 3. Do tabulky Splněné rezervace se přesunou všechny již plně dodané rezervace. 4. Předposlední tabulka s názvem Prodáno se od Splněné rezervace liší tím, že jsou zde nekompletní prodeje, u kterých ještě zbývá zákazníkovi část dodat. 5. Poslední tabulka Rezervace vypisuje všechny rezervace bez vysčítání podle stromků tak, jak byly zadány do systému. Pořadí tabulek na stránce odpovídá tomu, jak moc jsou informace v nich důležité. Poslední tabulku je možné na přání zákazníka jednoduchým způsobem upravit tak, aby bylo 27

možné hodnoty rezervovaných tříd upravovat. Provedené změny by se samozřejmě promítly i na skladové kartě každého změněného stromku. 3.2.3 Skladová karta stromku Pro názornost bude stačit zobrazení pouze dvou částí z celkových pěti, které se na kartě nacházejí. V horní části je výpis stejných údajů zobrazených u každého stromku na hlavní stránce. Hned pod tímto základním přehledem je zobrazen výpis skladových zásob stromku s možností přidávání inventur viz obrázek č [6]. Obrázek č. 6 Sklad a Inventury Protože se inventury přímo promítají do stavu skladu, jsou tyto tabulky umístěny hned u sebe. Většinou se ale inventurami nepracuje a proto je možné zrušit zaškrtnutí a zůstane zobrazena pouze horní tabulka o čtyřech řádcích, ve které jsou vypsány všechny dostupné třídy. Pomocí nejširší tabulky se zadávají nové inventury. Po kliknutí na tlačítko Přidat se zobrazí okno viz obrázek č. [7], kde je možnost vybrat správné hodnoty, se kterými se má počítat při dalších operacích se stromkem. 28

Obrázek č. 7 Přidání nové inventury Zobrazené okno pro přidání nové inventury zvýrazňuje ty hodnoty, které jsou rozdílné na skladu a ze vstupních dat zjištěných inventurou. Kliknutím na jednu z položek ve sloupci se položka přepíše do vstupního pole pod daným sloupcem. Ve vstupních polích se automaticky jako první zobrazí nižší číslo z obou vstupů. Hodnoty ve vstupních polích lze taky měnit zcela nezávisle dle potřeb uživatele. Po korekci všech hodnot se kliknutím na tlačítko Přidat vloží hodnoty do databáze. obr. č [8]. Zbývající části jsou si již velmi podobné a proto stačí příklad na části pro prodej viz Obrázek č. 8 Část prodej ve skladové kartě stromku Pro vkládání nových uskutečněných prodejů je zde zase vidět nejširší část tabulky. K ní je navíc přilepeno zobrazení všech zbývajících tříd, které je možné zadat. Při načtení stránky je vidět pouze základní část pro vkládání a zbylé třídy se zobrazí po kliknutí na text Ukázat další třídy. 29

Pod tabulkou pro přidávání je zobrazen výpis všech vložených prodejů. Veškeré hodnoty v této tabulce se dají měnit bez opětovného načtení stránky. Mazání uložených prodejů se provádí tlačítkem Del. Na každé skladové kartě jsou ještě části pro zadávání nových rezervací a vyoraných stromků. Tyto části se od Prodeje odlišují jen v trochu jiných vstupním datech, ale hlavně jsou mají jiné barvy pozadí, které jednoznačně odlišují jinak si podobné části. 3.2.4 Stránka pro úpravy názvů apod. Obrázek č. 9 Výřez stránky pro úpravy Na zobrazeném výřezu je vidět několik tabulek. V každé z nich se vkládají, ale hlavně upravují jiné hodnoty. U některých jako třeba Přidat třídu nebo Přidat zákazníka se zároveň nastavuje i priorita zobrazení názvů například v rozbalovacím seznamu. 30

4 Programová část 4.1 Úvod Hlavní myšlenka pro vytváření AJAX aplikace je z knihy AJAX a PHP [8]. 4.2 Ukázka částí zdrojových kódů 4.2.1 Filtrování řádků v hlavní tabulce Ukázková část funkce pro filtrování řádků v tabulce zobrazuje jádro filtrovacího algoritmu psaného v Javascriptu. Tato funkce je volána vždy při změně hodnoty v některém z pěti rozbalovacích seznamů na hlavní stránce. 1. for (var i = 0; i< elm.length; i++){ 2. for (var r = 2; r < table.rows.length-2; r++){ 3. ele = table.rows[r].cells[i].innerhtml.replace(/<[^>]+>/g,""); 4. if(ele.tolowercase().indexof(elm[i].value.tolowercase())>=0 ){ 5. if(table.rows[r].style.display!= 'none'){ 6. table.rows[r].style.display = ''; 7. } 8. }else table.rows[r].style.display = 'none'; 9. } 10. } Na prvním řádku začíná for cyklus, který postupně projde všech pět rozbalovacích seznamů, umístěných na hlavní stránce pro selekci jen chtěných stromků. Cyklus for na řádku dva postupně prochází všechny řádky hlavní tabulky mimo hlavičky a patičky. Třetí řádek přiřazuje do proměnné ele hodnotu buňky z právě prohledávaného řádku. Na čtvrtém řádku se porovnává načtená hodnota buňky - ele s hodnotou která je vybrána v rozbalovacím seznamu. Pokud se v řetězci z buňky nalezne řetězec z rozbalovacího seznamu a daný řádek ještě není vyfiltrován tak, aby se nezobrazil, nastaví se hodnota display na zobrazení řádku. V opačném případě se zůstane řádek nezobrazen. 31