Mendelova univerzita v Brně Provozně ekonomická fakulta
Návrh a realizace informačního systému firmy Motoexpres Bakalářská práce
Vedoucí práce: Mgr. Zuzana Priščáková
Tomáš Orálek
Brno 2013
Rád bych poděkoval vedoucí své bakalářské práce Mgr. Zuzaně Priščákové za velmi vstřícný přístup a poskytnutí cenných rad a připomínek při zpracování mé práce.
Prohlašuji, že jsem tuto bakalářskou práci řešil samostatně, pouze s využitím literatury, která je uvedena v seznamu literatury dále v práci. V Brně dne 15. května 2013
__________________
Abstract Orálek, T. The proposal and the implementation of an information system of the company Motoexpres. Bachelor thesis. Brno: MENDELU PEF in Brno, 2013. Bachelor thesis addresses the creation of the information system of the company Motoexpres. In thesis, there are used principles of the structured approach. Based on the results of the prefatory analysis, the proposal of the IS is created. The modeling of a system itself is performed by the CASE tool PowerDesigner. The resulting model is then used as a layout for a specific realization. The web application is implemented via the script language PHP with a use of a database system MySQL. At the end of the thesis, there is an assessment of the reached results and its benefits for practice. Keywords Information system, analysis, web application, PHP, MySQL.
Abstrakt Orálek, T. Návrh a realizace informačního sytému firmy Motoexpres. Bakalářská práce. Brno: MENDELU PEF v Brně, 2013. Bakalářská práce se zabývá tvorbou informačního systému pro firmu Motoexpres. V práci bude využito principů strukturovaného přístupu. Na základě výsledků úvodní analýzy vznikne návrh IS. Samotné modelování systému, proběhne za pomoci CASE nástroje PowerDesigner. Výsledný model poté poslouží jako podklad pro konkrétní realizaci. Webová aplikace bude implementována prostřednictvím skriptovacího programovacího jazyka PHP s využitím databázového systému MySQL. Na závěr bude provedeno zhodnocení dosažených výsledků a jejich praktický přínos. Klíčová slova Informační systém, analýza, webová aplikace, PHP, MySql.
Obsah
9
Obsah 1
2
3
4
5
Úvod a cíl práce
15
1.1
Úvod ......................................................................................................... 15
1.2
Cíl práce ................................................................................................... 15
Informační systémy
16
2.1
Základní pojmy ........................................................................................ 16
2.2
Aktuální trendy IS/ICT ............................................................................ 16
2.3
Architektura IS/ICT ................................................................................. 17
2.4
Podnikové informační systémy .............................................................. 20
2.5
Metody strukturované analýzy ................................................................ 21
Softwarové technologie
23
3.1
CASE nástroje ......................................................................................... 23
3.2
PHP ......................................................................................................... 24
3.3
MySQL .................................................................................................... 25
Analýza a návrh informačního systému pro firmu Motoexpres
26
4.1
Charakteristika firmy .............................................................................. 26
4.2
Aktuální stav ve firmě ............................................................................. 26
4.3
Formální a neformální specifikace ......................................................... 26
4.4
Kontextový diagram................................................................................ 27
4.5
Systémový diagram ................................................................................. 28
4.6
Dekompozice procesu 1.1 Evidence objednávek .................................... 30
4.7
Entitně relační diagram ........................................................................... 31
Implementace informačního systému
34
5.1
Struktura IS............................................................................................. 36
5.2
Zabezpečení .............................................................................................37
5.3
Sekce uživatelé ........................................................................................ 38
5.4
Sekce obchod .......................................................................................... 38
5.5
Sekce servis ............................................................................................. 39
10
Obsah
5.6
Sekce admin .............................................................................................39
5.7
Sekce přehledy .........................................................................................39
5.8
Sekce katalog .......................................................................................... 40
6
Zhodnocení výsledků
41
7
Ekonomická analýza
42
8
Závěr
43
9
Literatura
44
A
Příklady minispecifikací
47
B
Ukázka registrace uživatele
48
C
Výpis zákazníků
49
D
Ukázka vytvoření předávacího protokolu
50
E
Výpis zboží z katalogu
51
Obsah
11
12
Seznam obrázků
Seznam obrázků Obr. 1 Grafické zobrazení obecného schématu globální architektury
18
Obr. 2
21
Znázornění prvků ERD v CASE nástroji Data Architect
Obr. 3 Znázornění prvků DFD v CASE nástroji Process Analyst
22
Obr. 4
Kontextový diagram
28
Obr. 5
Systémový diagram
29
Obr. 6
Dekompozice procesu Evidence objednávek
31
Obr. 7
Entitně relační diagram (ERD)
32
Obr. 8
Registrační formulář
48
Obr. 9
Výpis registrovaných zákazníků
49
Obr. 10
Formulář pro vytvoření předávacího protokolu
50
Obr. 11
Výpis nabízeného zboží
51
Seznam tabulek
13
Seznam tabulek Tab. 1
Testovací přihlašovací údaje
35
Tab. 2
Práva uživatelů v sekci uživatelé
38
Tab. 3
Práva uživatelů v sekci obchod
38
Tab. 4
Práva uživatelů v sekci servis
39
Tab. 5
Práva uživatelů v sekci admin
39
Tab. 6
Práva uživatelů v sekci přehledy
40
Tab. 7
Práva uživatelů v sekci katalog
40
Úvod a cíl práce
15
1 Úvod a cíl práce 1.1
Úvod
V současné moderní době jsou všichni lidé obklopeni informačními technologiemi (IT). Tyto technologie usnadňují práci jak jednotlivcům, tak i celé společnosti. Právě ve společnosti mohou sloužit nejen k usnadnění, ale zároveň i ke značnému zrychlení a zdokonalení procesů, které se v ní vyskytují. Správné využívání IT lze přeměnit v konkurenční výhodu daného podniku. Současný svět je řízen především aktuálními informacemi, k jejich získávání, ukládání, analyzování a interpretaci slouží informační systémy (IS). Informační systém je definován jako soubor lidí, technických prostředků a metod, které zabezpečují sběr, přenos, uchování a zpracování dat, za účelem tvorby a prezentace informací uživatelům, kteří jsou zapojeni do procesu řízení (Danel, 2011). Používání IS v dnešním konkurencí nabitém prostředí není jen nějaký nový trend, ale tato skutečnost se jeví skoro jako nutnost. Bez něj společnost ztrácí některé důležité výhody, které by zásluhou tohoto systému mohla využívat. Důraz při implementaci takového IS musí být kladen na vhodnost řešení a intuitivní ovládání pro koncové uživatele. Díky informačnímu systému bude většina procesů zautomatizována, a tak se zaměstnanci mohou naplno věnovat svým primárním činnostem. Tvorbu informačního systému jsem si zvolil jako předmět své bakalářské práce právě kvůli zvýšení efektivity vykonávaných procesů v dané firmě.
1.2 Cíl práce Cílem této bakalářské práce je na základě analýzy navrhnout a implementovat informační systém v podobě webové aplikace, který by měl zvýšit efektivnost vykonávaných procesů. Nejprve analyzuji současný stav informačních toků ve firmě Motoexpres, zabývající se servisem vozidel a motocyklů. Na základě této analýzy namodeluji reálné informační toky, které budou reprezentovány funkčním a datovým modelem. Konkrétní návrh informačních toků vytvořím za pomoci CASE nástroje PowerDesigner. Informační systém budu implementovat ve skriptovacím jazyce PHP s využitím databázového systému MySQL. Vzhled webové aplikace poté vytvořím prostřednictvím jazyka HTML a CSS. Součástí práce bude nejen zhodnocení dosažených výsledků, ale i ekonomická analýza nákladů IS pro výše zmíněnou firmu.
16
Informační systémy
2 Informační systémy Informační systém je organizován specifickým způsobem a včleněn do organizační struktury podniku. Vyznačuje se danými ekonomickými charakteristikami a musí být určitým způsobem řízen jak v době jeho vytváření, tak v době jeho fungování. IS může být také definován jako množina prvků ve vzájemných informačních a procesních vztazích (Menčík, 2000). Jediná a přesná definice pojmu informační systém ale v podstatě neexistuje, protože každý tvůrce IS zdůrazňuje jiné aspekty a používá různou terminologii.
2.1 Základní pojmy Mezi základní pojmy v oblasti informačních systémů se řadí data, informace, informační technologie, IS/ICT. Data jsou získávána pozorováním, nebo měřením. Používají se pro popis určitého jevu, nebo také vlastnosti zkoumaného objektu. Je důležité mít na paměti, že v počítači jsou uložena data nikoliv informace. Informace jsou údaje o reálném prostředí, o jeho stavu a procesech, které zde probíhají. Informace snižují, nebo odstraňují neurčitost (entropii) systému (uživatele informace) a jsou získávány z dat (Jonák, 2003). Informační technologie jsou definovány jako programové, metodické a technické prostředky, jež jsou využívány k získání, uchování, přenosu a prezentaci dat. Pojem IS/ICT (ICT – Informační a komunikační technologie), lze popsat následovně. Zatímco IS představují potřebu informací, ICT uspokojení této potřeby (Rábová, 2008, s. 8).
2.2 Aktuální trendy IS/ICT Ve společnosti se všeobecně vyskytuje mnoho trendů, které ovlivňují pořízení a zavedení informačního systému. V současnosti lze mezi aktuální trendy zařadit cloudové technologie, CRM, Business Intelligence, mobilní přístup do IS (Wikipedie, 2012). • Cloudová technologie. Cloud computing je nový model využívání a poskytování IT služeb prostřednictvím internetových technologií. Uživatelé přistupují přes internet ze svých počítačů k informačnímu systému, který je uložen v chráněném datovém centru. • Podpora CRM (Customer Relationship Management). Jedná se o proces sběru, zpracování a využití informací o zákaznících, díky čemuž můžeme následně poznat, pochopit a předvídat chování firemních zákazníků. Toto řešení podporuje oboustrannou komunikaci mezi firmou a zákazníky (Wikipedie, 2012).
Informační systémy
17
• Modul Business Intelligence. V současnosti každý informační systém umí ukládat data, ale pro získání relevantních informací, které se vztahují k aktuální potřebě rozhodování z uložených dat, je zapotřebí BI řešení (Cach, 2007). Jako zdroj dat pro BI se buduje tzv. datový sklad. Zde jsou uchovaná konsolidovaná, validovaná, vyčištěná a optimalizovaná data s historií pro analytické dotazy (CRM portál). • Mobilní přístup do IS. Přístup do IS probíhá online přes externí zařízení (smartphone, tablet), a tak se zvyšuje nejen efektivita či kontrola, ale i uživatelský komfort při zadávání dat.
2.3 Architektura IS/ICT Architektura IS/ICT je základem pro tvorbu informačního systému a lze ji definovat jako grafické a písemné vyjádření celkové koncepce IS/ICT, které v sobě zahrnuje základní představu o: • struktuře IS v návaznosti na organizační strukturu podniku, • funkcích, které bude IS zabezpečovat v návaznosti na procesy podniku, • provozu a bezpečnosti celého systému, • vazbách na okolní prostředí (Rábová, 2008, s. 15). Architekturu je nutné během vývoje, implementace a provozu IS neustále upravovat a přizpůsobovat v závislosti na měnících se požadavcích, ovšem základní koncepce musí zůstat zachována. Globální architektura Globální architektura představuje hrubý návrh celého IS/ICT, zachycující vizi jeho budoucího stavu, jednotlivé součásti IS/ICT a jejich vzájemné vazby. V globální architektuře rozlišujeme vertikální dimenzi (hierarchické uspořádání z hlediska povinností a práv lidí – dělí se do tří úrovní – nejnižší, střední a vrcholový management) a horizontální dimenzi (členění podle podnikových útvarů a funkcí – marketing, obchod, účetnictví, …) (Rábová, 2008, s. 16). Dobře navržená architektura systému vede k minimalizaci dodatečných nákladů spojenými s chybným zadáním, nebo řízením podniku. V průběhu času došlo k určité standardizaci základních bloků této architektury (viz obr. 1).
18
Informační systémy
Obr. 1
Grafické zobrazení obecného schématu globální architektury
Globální architektura zobrazená jako pyramida obsahuje následující základní bloky (Klimeš, 2006, s. 23): • TPS (Transaction Processing System) – je nejspecifičtější blok IS, sloužící k operativnímu řízení. Zde se vytváří data pro ostatní vrstvy. • MIS (Management Information System) – obstarává řízení podniku na taktické úrovni. Koncepce MIS je založena na integraci do třech linií (obchodně-logistické, finančně-účetní, průřezové). • EIS (Executive Information System) – představuje část IS určenou pro strategické řízení. Hlavním úkolem tohoto bloku je nalézt a identifikovat určité jevy v podniku a následně tyto jevy podrobně analyzovat. • EDI (Electronic Data Interchange) – pomocí elektronických prostředků zprostředkovává výměnu obchodních dokumentů (strukturovaných dat) mezi obchodními partnery. • OIS (Office Information System) – je software podporující standartní administrativní činnosti, zahrnující správu dokumentů, zpracování textů, elektronickou poštu atd.
Informační systémy
19
Dílčí architektury IS/ICT Dílčí architektury vznikají v návaznosti na globální architekturu. Ve své podstatě se jedná o podrobnější návrhy IS z různých pohledů na modelovaný systém. Dílčí architektura může být procesní, funkční, datová, softwarová, hardwarová a technologická (Klimeš, 2006, s. 22). • Procesní architektura představuje koncept budoucího stavu podnikových procesů. Vymezuje klíčové procesy a vazby podniku s okolím. K zachycení těchto vazeb slouží kontextový diagram. • Funkční architektura navazuje na procesní architekturu a dále ji rozděluje na požadované skupiny funkcí. Pro reprezentaci funkční architektury se využívá diagram datových toků (Data Flow Diagram, DFD) i minispecifikace (popis funkcí). • Datová architektura v rozlišení na interní a externí určuje datové objekty a zdroje. Probíhá zde návrh datových entit, databázových souborů a jejich uložení. Nástrojem datové architektury je diagram entit a vztahů (Entity Relationship Diagram, ERD). • Softwarová architektura určuje softwarové komponenty informačního systému a vazby mezi nimi. V softwarové architektuře je obsažen jak základní, tak i aplikační SW. Stanovuje vnitřní strukturu SW částí – určení modulů, vzájemných vazeb a jejich charakteristiky. • Hardwarová architektura určuje typy, počty a vzájemné vztahy HW komponent (PC, serverů, přídavných zařízení, …). • Technologická architektura propojuje software, hardware a datovou architekturu. Vymezuje způsob zpracování aplikace a jejich funkcí (Klimeš, 2006, s. 22-23). Architektura orientovaná na služby Architektura orientovaná na služby (Service Oriented Architecture, SOA) přináší nové postupy k řešení IS/ICT. SOA je výpočetní architektura, při jejímž využití aplikace obsahují pouze logiku danou pro jejich vlastní úkol a pro obecnější činnosti využívají služeb na síti (Kay, 2004). Volání služby může probíhat přímo z daných činností byznys procesu. Jednotlivé služby pracují nezávisle na sobě. Uživatele služeb nezajímá, na kterém počítači v síti jsou služby provozovány, ani jak jsou implementovány. Servisně orientovaná architektura je založená na následujících klíčových principech: • technologie jsou řízeny službami a služby jsou řízeny byznys procesy, • služby fungují jako a technologiemi,
abstraktní
vrstva
mezi
podnikovými
• schopnost reagovat na změny požadavků je základním požadavkem,
procesy
20
Informační systémy
• kvalitní SOA se neustále vyvíjí (Buchalcevová, 2005).
2.4 Podnikové informační systémy Podnikový informační systém je tvořen lidmi, kteří zpracovávají podniková data, prostřednictvím technologických prostředků a stanovené metodologie a vytvářejí z nich informační a znalostní databáze organizace. Vytvořené databáze slouží k řízení a rozhodování procesů v podniku (Sodomka, 2010, s. 44). Důležitou součástí informačního systému podniku je i software a hardware. Smyslem využití informačních technologií v podnikovém IS je celková racionalizace rozhodovacích, řídících a správních činností. Vlastnosti podnikového IS, které napomáhají k udržení dlouhodobé konkurenceschopnosti: • poskytování celkového pohledu na fungování organizace • aplikování moderních ICT • plnění integračních funkcí a podpora vytváření dlouhodobé znalostní databáze • respektování faktu, že schopnosti lidí nejsou v principu nahraditelné aplikací IS/ICT (Sodomka, 2010, s. 44-45) Životní cyklus podnikového IS Životní cykly (postupy) popisují základní představu o tvorbě softwarového produktu (informačního systému) (Lacko, 2006, s. 28). Životní cyklus podnikového informačního systému se skládá z těchto základních etap: 1.
Plánování – úvodní studie, posouzení zda je projekt uskutečnitelný, odhadnutí přínosů a nákladů.
2.
Analýza a návrh – zahrnuje analýzu (funkční a datový model), definici požadavků a návrh IS (technologický model) do takové úrovně, kdy je možné začít s implementací. Implementace – realizace funkčního systému podle dříve vytvořeného návrhu. Zavádění do provozu – zavedení technického a programového vybavení IS do podniku včetně nastavení parametrů, naplnění daty, školení uživatelů apod. Provoz a údržba – zajištění bezproblémového provozu IS, udržování IS v chodu a odstraňování vzniklých problémů. Inovace – změny IS na základě analýzy potřeb, upgrade současného řešení nebo přechod na jiný produkt (Basl, 2008, s. 215).
3. 4.
5. 6.
Informační systémy
21
2.5 Metody strukturované analýzy Pod pojmem metody strukturované analýzy se skrývá celá řada různorodých metod, nástrojů, úvah a metodik vývoje IS. Strukturované metody jsou založeny na strukturalizaci jak zkoumaného předmětu, tak i jeho způsobu zkoumání. Strukturalizace je základním prostředkem boje se složitostí při vyvíjení informačního systému. Vývoj jednotlivých metod probíhal odděleně s určitým pohledem na zkoumanou věc. Postupem vývoje dosáhly strukturované metody v rámci svého způsobu vnímání reality jistého stupně dokonalosti. Tak vznikly uzavřené, ale neúplné metodické systémy zabývající se stejnou problematikou (vývoj IS), ovšem každý k ní přistupuje jinak (Chlapek, 1999, s. 72). V závislosti na tom, že každá z metod pohlíží na společný předmět zájmu trochu jinak, se mohou vzájemně doplňovat. Ve strukturovaných metodách rozlišujeme dvě základní fáze vývoje IS: • analýza systému – výsledkem je konceptuální model, • konstrukce systému – výsledkem je technologický model (Chlapek, 1999, s. 72-73). Model reality je na konceptuální úrovni tvořen datovým modelem, funkčním modelem a modelem řízení. Na technologické úrovni je model systému tvořen modelem programové struktury systému a modelem logických datových struktur (Chlapek, 1999, s. 73). Datový model Datový model je statický popis systému (Chlapek. 1999, s. 73) a jako nástroj zde slouží ERD (Entity Relationship Diagram). Diagram entit a vztahů tvoří entity (datové objekty), relace (vzájemné vztahy) a atributy (podstatné vlastnosti objektů a vztahů). Jednotlivé vztahy jsou identifikovány jejich kardinalitou (počet výskytů entit ve vztahu) a parcialitou (volitelností vazby) viz obr. 2.
Obr. 2
Znázornění prvků ERD v CASE nástroji Data Architect
Funkční model Funkční model popisuje procesy a vztahy mezi nimi (Chlapek, 1999, s. 73). Prostředkem pro jeho zobrazení je DFD (Data Flow Diagram). Diagram datových
22
Informační systémy
toků určuje z jakých procesů a návazností se skládá realita a potažmo i procesy, které budou tvořit informační systém. DFD je složen z následujících prvků: • Proces (funkce) představuje reálné činnosti vyskytující se v podniku např. evidence zaměstnanců, evidence objednávek, … Znázorňuje transformaci vstupních dat na výstupní. • Terminátor (externí entita) reprezentuje objekty, které jsou součástí okolí nikoliv popisovaného systému např. zákazník, dodavatel, účetnictví. • Datový tok zobrazuje abstrakci přesunu dat. Název datového toku specifikuje, o jaký druh dat se přibližně jedná. Příkladem může být datový tok informace o zaměstnanci mezi terminátorem zaměstnanec a procesem evidence zaměstnanců (viz obr. 3). • Datastore představuje pomyslné skladiště dat. Používá se jako východisko pro tvorbu ERD.
Obr. 3
Znázornění prvků DFD v CASE nástroji Process Analyst
Model vnějšího chování Model vnějšího chování je reprezentován kontextovým diagramem. Kontextový diagram představuje hranice systému a všechny zdroje a místa určení dat (externí entity). Jedná se o zvláštní typ diagramu datových toků (DFD). Stojí na vrcholu hierarchické struktury a zobrazuje celý systém jako jednu funkci (Chlapek, 1999, s. 82). Systém zde reprezentuje pouze jeden hlavní proces. Model řízení Model řízení je používán pouze v případě aplikací pracujících v reálném čase (real-time aplikace), kde popisuje časové následnosti procesů. Nástrojem je STD (State Transition Diagram). Na základě vstupních řídících toků rozhoduje řídící proces pomocí výstupních řídících toků o činnosti příslušných funkcí (řídí a koordinuje jejich činnost). Tento model se více využívá v objektové analýze (Chlapek, 1999, s. 88).
Softwarové technologie
23
3 Softwarové technologie V současné době existuje mnoho softwarových prostředků vhodných k realizaci informačního systému. V následujícím textu jsou stručně charakterizovány technologie využité v této práci. Strukturovaná analýza a návrh IS byly vytvářeny s využitím CASE nástroje (PowerDesigner). K implementaci webové aplikace jsem zvolil skriptovací jazyk PHP, který patří mezi nejpoužívanější při tvorbě aplikací tohoto druhu. Data, se kterými aplikace pracuje, jsou uloženy v databázi MySQL.
3.1 CASE nástroje CASE nástroje (Computer Aided Software Engineering, Computer Aided Systems Engineering) jsou počítačové prostředky podporující vývoj a údržbu softwarových aplikací (Rábová, 2008, s. 66). CASE nástroje mohou podporovat jak strukturované, tak i objektově orientované metody vývoje. Jedna z nejdůležitějších vlastností je zajištění souvislostí, které člověk neumí pojmout. Neustále je ale nutné, mít na paměti, že samotné použití CASE nezaručuje bezchybný a rychlý vývoj aplikace. Jedná se totiž pouze o jednu část vývoje, kam dále patří také využití odborníků (analytik, návrhář, programátor, …), zavedení a plnění metodiky, řízení projektu, atd. (Procházka, 2004). Obecné funkce a vlastnosti CASE nástrojů mimo jiné určují, z jakých částí (komponent) jsou tyto systémy složeny. Mezi komponenty CASE nástrojů patří: • Konzistentní grafické uživatelské prostředí – určuje jednotný styl popisků, ovládacích prvků, použití symbolických ikon apod. • Centrální databáze – uchovává informace o všech objektech IS. Informace jsou dále dostupné ve všech následujících krocích projektování. • Prostředky pro ověřování konzistentnosti dat a podpora normalizace dat • Textový editor – slouží k popisu jednotlivých částí IS. Prostředek tvorby technické a uživatelské dokumentace. • Možnost návrhu uživatelských obrazovek – zahrnuje simulaci vstupů a výstupů. • Generátor zdrojových kódů • Import/export dat – pro práci s dokumentací a modely, které byly vytvářeny v odlišných programech, nebo jsou v odlišných programech dále zpracovávány (Procházka, 2004). Analýza informačního systému firmy Motoexpres vznikla s využitím CASE nástroje PowerDesigner od firmy Sybase. Modelování kontextového diagramu a jednotlivých DFD (metoda Gane and Sarson) probíhalo v nástroji ProcesAna-
24
Softwarové technologie
lyst. Modelování datové části, respektive entitně relačního diagramu probíhalo v nástroji DataArchitect.
3.2 PHP PHP, také známé jako hypertextový preprocesor PHP (PHP: Hypertext Preprocessor, v původním významu Personel Home Page) je skriptovací programovací jazyk, sloužící k vytváření dynamických webových stránek a internetových aplikací (Tansley, 2003). Produkt PHP je šířený bezplatně jako open source řešení. Současná verze PHP 5 (PHP 5.4.11) obsahuje velké množství výkonových vylepšení (PHP GROUP, 2013). Vytvořen byl v roce 1994 programátorem Rasmusem Lerdorfem. Jazyk PHP je nezávislý na platformě to znamená, že skripty lze přenášet mezi jednotlivými operačními systémy téměř beze změn. Dále také není svázán s žádným konkrétním serverem, a tak může běžet na libovolném z nich (např. Apache) (Kosek, 1999, s. 21-22). Snadnost práce je založená na přirozené kombinaci příkazů PHP a HTML kódu. Základní nástroj pro tvorbu skriptů je textový editor, který umí pracovat se zdrojovým kódem stránky v HTML (Kosek, 1999, s. 24). Mezi hlavní výhody programování v PHP patří následující výčet: • přenositelnost, • open source řešení, • vysoký výkon, • značné množství užitečných knihoven, • velmi dobrá spolupráce s Apache/MySQL, • široká podpora php na serverech, • jednoduchá syntaxe (user-friendly), • velké množství literatury a rozšířená on-line podpora, • dokumentace v mnoha jazycích (Web Design, 2012). Nette Framework Nette Framework je nástroj pro vytváření webových aplikací v PHP 5. Soustředí se na eliminaci výskytu bezpečnostních děr a jejich zneužití, jako je např. XSS (Cross-Site Scripting), session hijacking, session fixation, atd. Podporuje AJAX (Asynchronous JavaScript and XML), MVC (Model-View-Controller), Web 2.0, plně využívá objektů (OOP). Nette Framework vznikl již v roce 2004, ale teprve v roce 2008 byl uvolněn jako open source. Původním autorem projektu je David Grudl. O další rozvoj frameworku se v současnosti stará organizace Nette Foundation. Aktuální verzí projektu je Nette Framework 2.0 (Nette Foundation, 2013b).
Softwarové technologie
25
3.3 MySQL MySQL je systém řízení relačních databází (RDBMS – Relational Database Management System). Jedná se o softwarový prostředek umožňující ukládat velké množství rozličných dat a navracet je zpět, při naplňování potřeb různých druhů organizací (Gilfillan, 2003, s. 20). Databázový systém MySQL byl vytvořen již v roce 1995 švédskou firmou MySQL AB. Nyní je majetkem společnosti ORACLE a jeho současná verze je MySQL 5. Mezi známé konkurenty MySQL se řadí např. DB2, PostgreSQL, Firebird. Ke komunikaci s databází je využíván jazyk SQL (Gilfillan, 2003, s. 13). Mezi základní výhody nabízené MySQL patří: • meziplatformní podpora, • open source řešení, • vysoký výkon, • rychlost, • podpora SQL, • kompatibilita s různými systémy (např. PHP) (Rosebrock, 2005, s. 225). SQL SQL (Structured Query Language, česky strukturovaný dotazovací jazyk) je neprocedurální standardizovaný jazyk určený pro práci s daty v relačních databázích. Základ jazyka je postaven na teorii, podle níž lze využitím pěti základních operací (sjednocení, kartézský součin, rozdíl, projekce, selekce) vykonat veškeré operace s daty (Faltýnek, 2007). Jazyk vznikl již v roce 1974, původně jako SEQUEL (Structured English Query Language). Následující verze SEQUEL2 byla později přejmenována na SQL.
26
Analýza a návrh informačního systému pro firmu Motoexpres
4 Analýza a návrh informačního systému pro firmu Motoexpres 4.1 Charakteristika firmy Firma Motoexpres je česká firma, založená v roce 2009 ve Vyškově. Autoservis, motoservis a pneuservis Motoexpres je neautorizovaný (neznačkový) servis co se týče vztahu k jednotlivým značkám automobilů a motocyklů. Zabývá se opravami osobních i užitkových automobilů. Firma byla původně založená čistě jako pneuservis, později však rozšířila portfolio svých služeb o již zmíněný servis motorových vozidel a motocyklů, a s tím související prodej náhradních dílů, pneumatik, karosářské a lakýrnické práce, a jiné. Přestože se jedná o menší firmu, její vybavení je na vysoké úrovni. Mezi toto vybavení patří např. diagnostika vozů všech značek, zvedáky na auta, kompletní vybavení pneuservisu (vyvažovačka, zouvačka, kompresory, …). Ve firmě je kromě majitele zaměstnán jeden mechanik. Služby, které servis poskytuje, vykonává majitel i mechanik. Firma Motoexpres žádné díly nevyrábí, tudíž je závislá na nákupech od jednotlivých dealerů. Jelikož se jedná o menší servis, tak skladem je jen minimum dílů. Veškeré produkty se objednávají až v případě konkrétního požadavku. Při poskytování služeb tohoto rozsahu je zapotřebí uchovávat velké množství informací. Mimo jiné se jedná například o faktury, objednávky (servisu a dílů), předávací protokoly, informace o zákaznících, zaměstnancích, atd.
4.2 Aktuální stav ve firmě Firma v současnosti žádný informační systém, ve kterém by uchovávala informace, nevyužívá. Případná snaha o vytvoření obdobného systému, pro uložení informací, byla omezena pouze na tvorbu tabulek v programu Microsoft Excel. Toto řešení se ale z dlouhodobého hlediska ukázalo jako nedostačující, a proto bylo zamítnuto ze strany majitele. Výpočetní technika, kterou firma využívá v současné době je 1 stolní počítač, 2 notebooky a tiskárna.
4.3 Formální a neformální specifikace Analýze a návrhu IS pro firmu Motoexpres předcházel důkladný průzkum informačních toků, které se zde vyskytují. Dosažené závěry, jež vyplynuly z průzkumu, byly následně konzultovány s majitelem. Výsledkem práce by měl být přehledný, stabilní a intuitivní IS, který bude využíván jak ze strany firmy, tak ze strany zákazníků. Systém bude evidovat informace o zákaznících a jejich objednávkách, informace o zaměstnancích, firemních nabídkách zboží aj. Důraz při tvorbě tohoto IS by měl být kladen nejen na úsporu nákladů na tvorbu samotnou, ale i na následný provoz systému, jež tvoří značnou část nákladů.
Analýza a návrh informačního systému pro firmu Motoexpres
27
Základním požadavkem na systém je bezpečnost v oblasti přístupu k systémovým zdrojům. Data mohou číst, nebo modifikovat pouze autorizovaní uživatelé. Přístup bude omezený v závislosti na typu uživatelského účtu majitel (administrátor), mechanik (zaměstnanec), zákazník. Vzhledem k tomu, že se jedná o malou firmu, tak majitel zde vykonává většinu činností, které obstarává i jeho zaměstnanec. Mimo to se ovšem stará o vytváření sezonní nabídky zboží (pneumatik), anebo také analyzuje přehledy objednávek od zákazníků a přehledy vykázané práce od mechanika. Mechanik se stará o vyřizování přijatých objednávek (zajištění objednaného dílu, servis). Dále v případě přistavení motorového vozidla na servis vystavuje předávací protokol, který obsahuje důkladný popis vozidla (typ vozidla, stav km, vin kód, …). Za odvedenou (vykázanou) práci je mu vypočítána mzda. Informace o její výši a další se dozví skrze výplatní pásku. V systému jsou evidovány informace o mechanikovi, nutné k vykonávání jeho práce a následnému vyplácení mzdy. Zákazník při vytváření uživatelského účtu vkládá do systému požadované údaje, aby následně mohl využívat jeho služeb. Zákazník může vytvářet jednotlivé objednávky na servis, či zboží. V případě zájmu může zjistit, v jakém stavu se jeho objednávka právě nachází. Dále je také informován o případných firemních nabídkách sezónního zboží. Jestliže si zákazník objednal servis vozidla, pak po jeho dokončení dostane vyplněný předávací protokol i s vyjádřením servisu k dané opravě. Po vyřízení každé objednávky je zákazníkovi zaslána faktura. Fakturace, odvody a ostatní účetní doklady jsou zpracovávány v externím systému účetnictví. Princip externího účetnictví je zde již zavedený a firmě se osvědčil.
4.4 Kontextový diagram V kontextovém diagramu (obr. 4) je celý systém zobrazen jako jeden hlavní proces (IS Motoexpres). Tento hlavní proces v sobě zahrnuje další dílčí procesy znázorněné v systémovém diagramu. Dále se zde vyskytují i 4 externí entity (terminátoři): majitel, mechanik, zákazník a účetnictví. Spojení mezi terminátorem a procesem je charakterizováno orientovaným datovým tokem. Popis jednotlivých bloků diagramu byl specifikován v části formální a neformální specifikace.
28
Analýza a návrh informačního systému pro firmu Motoexpres
objednavka servisu Majitel
Zakaznik
objednavka zbozi
prehled objednavek za mesic
osobni udaje
vlozeni zbozi
1 vystupni predavaci protokol
prehled vykazane prace za mesic
faktura pro zakaznika prehled dennich objednavek
katalog pneu
IS Motoexpres
fakturace info o stavu objednavky
vyplatni paska
+ objednavky
pracovni vykaz
info o mechanikovi
ucetni doklady
Mechanik
Ucetnictvi vstupni predavaci protokol info pro odvody
Obr. 4
Kontextový diagram
Entity obsažené v kontextovém diagramu se dají rozdělit na vnitřní a vnější. Do kategorie vnitřní spadá majitel a mechanik, tyto entity jsou součástí firmy. Z vnějšího okolí se systémem komunikují zákazníci a účetnictví.
4.5 Systémový diagram Systémový diagram (obr. 5) vzniká dekompozicí hlavního procesu kontextového diagramu. V tomto případě se jedná o dekompozici procesu IS Motoexpres. Tato nová úroveň obsahuje 4 subprocesy (evidence objednávek, evidence zboží, evidence zaměstnanců, evidence účetních dokladů). Evidence objednávek, evidence zboží a evidence účetních dokladů jsou v závislosti na jejich složitosti dále dekomponovány. Evidence zaměstnanců se dále nedekomponuje, a proto je popsána minispecifikací.
Analýza a návrh informačního systému pro firmu Motoexpres
29
Zakaznik [vystupni predavaci protokol] [vstupni predavaci protokol] Mechanik
[info o stavu objednavky]
Zakaznik
Zakaznik [osobni udaje]
Mechanik
1.1
[prehled dennich objednavek]
Evidence objednavek
[objednavka zbozi] Zakaznik
[prehled objednavek za mesic]
+ Majitel
[objednavka servisu]
aktualizace objednavky
[objednavky]
Zakaznik 2
Ucetnictvi
Objednavky [vlozeni zbozi]
info o zbozi Majitel 1
Zakaznici
1.2
aktualizace info o zakaznikovi Evidence zbozi
Zakaznik [katalog pneu]
+ 6
Zbozi aktualizace zbozi
Mechanik 1.3 [info o mechanikovi]
Evidence zamestnancu
aktualizace info o zamestnanci
3
Zamestnanci Majitel
[prehled vykazane prace za mesic] udaje o zamestnanci pro vyplatu
Mechanik 1.4
udaje o zakaznikovi pro fakturaci [pracovni vykaz]
[vyplatni paska]
Evidence ucetnich dokladu
Mechanik
[faktura pro zakaznika]
+ [fakturace]
Zakaznik
[ucetni doklady]
aktualizace vykonu aktualizace faktury
Ucetnictvi
[info pro odvody] 4
Ucetnictvi
Vykony
5
Faktury Ucetnictvi
Obr. 5
Systémový diagram
V procesu evidence objednávek probíhá zpracování jednotlivých objednávek od zákazníků. Společně s nimi do procesu vstupují i osobní údaje zákazníka, kte-
30
Analýza a návrh informačního systému pro firmu Motoexpres
ré jsou nedílnou součástí objednávky a poté se uchovávají v datastoru zákazníci. Tento datastor zároveň slouží jako propojení mezi evidencí objednávek a evidencí účetních dokladů. Když si zákazník objedná zboží ze sezonní nabídky, tak informace o daném produktu jsou získány z datastoru zboží. V případě objednávky servisu se zde řeší i předávací protokoly k vozidlu. Přijaté objednávky se uchovávají v datastoru objednávky. Uložené objednávky jsou poskytovány nejen mechanikovi, ale skrze měsíční přehledy i majiteli. Evidence zboží je proces, evidující zboží, které je sezonně nabízeno firmou. Záznamy o produktech vytváří majitel a jsou uloženy v datastoru zboží. Následně je z nich vytvářen katalog s nabídkou pro zákazníky. Evidence zaměstnanců slouží ke sběru informací o zaměstnancích. K jejich uchovávání slouží datastor zaměstnanci. Datastor zaměstnanci také propojuje procesy evidence zaměstnanců a evidence účetních dokladů. Proces evidence účetních dokladů eviduje veškeré vnější i vnitřní účetní údaje vyskytující se ve firmě. Mimo jiné se zpracovávají výkazy práce od zaměstnance a faktury spojené s činností firmy. Informace, se kterými proces pracuje, se ukládají do datastorů výkony (vykázaná práce) a faktury. Na základě uvedených výkonů jsou po té vytvářeny přehledy pro majitele a vypočítána mzda.
4.6 Dekompozice procesu 1.1 Evidence objednávek Dekomponováním procesu evidence objednávek vznikly tři subprocesy zpracování objednávek, přehledy objednávek a evidence zákazníků. Procesy přehledy objednávek a evidence zákazníků se již dále nedekomponují a jsou popsány minispecifikací. Zpracování objednávek je dále dekomponováno na zpracování objednávek zboží a zpracování objednávek servisu. Proces evidence zákazníků sbírá informace o zákaznících (osobní údaje), ukládá je do datastoru zákazníci a dále je poskytuje procesu zpracování objednávek. Přehledy objednávek je proces, zpracovávající objednávky ve formě přehledů. Tyto přehledy jsou poskytovány externímu účetnictví, majiteli i mechanikovi.
Analýza a návrh informačního systému pro firmu Motoexpres
31
[vstupni predavaci protokol]
Mechanik
[vystupni predavaci protokol]
Zakaznik
Zakaznik 1.1.1 [objednavka zbozi]
Zpracovani objednavek
[objednavka servisu] Zakaznik
+
[info o stavu objednavky]
Zakaznik
[aktualizace objednavky] [info o zbozi] 2
Objednavky
6
Zbozi objednavky 1.1.3
Zakaznik [osobni udaje]
1
Zakaznici
udaje o zakaznikovi
Evidence zakazniku
[aktualizace info o zakaznikovi] Ucetnictvi 1.1.2 Prehledy objednavek
[objednavky] [prehled objednavek za mesic] Majitel
[prehled dennich objednavek]
Obr. 6
Mechanik
Dekompozice procesu Evidence objednávek
4.7 Entitně relační diagram Entitně relační diagram (obr. 7) modelovaného systému zobrazuje jednotlivé entity, jejich atributy a vazby mezi nimi. Vazby jsou určeny jejich kardinalitou a parcialitou. ERD je složeno z entit zákazníci, zaměstnanci, objednávky, zboží, objednávky-zboží, předávací protokoly, faktury, výkony, mzdy, adresy a role.
32
Analýza a návrh informačního systému pro firmu Motoexpres
Zakaznici id_zakaznika jmeno_zak prijmeni_zak datum_narozeni_zak firma ICO DIC fk_id_adresy cislo_uctu_zak telefon_zak email_zak heslo_zak
Objednavky_zbozi fk_id_objednavky fk_id_zbozi mnozstvi
id_adresy mesto ulice cislo_popisne psc
Obsahuje
Nalezi
Bydli
Adresy
Predavaci protokoly
Objednavky
Objednavaji
Pozaduji
id_predavaci_protokol fk_id_zamestnance fk_id_zakaznika cislo_op cislo_rp typ_vozidla rz vin_code datum_prevzeti misto_prevzeti stav_km stav_nadrze popis_zavady datum_vyrizeni vyjadreni
Faktury
Prijimaji
Zbozi id_zbozi nazev_zbozi popis_zbozi cena_zbozi
id_objednavky fk_id_zamestnance fk_id_zakaznika datum_vytvoreni nazev_obj_zbozi popis_obj_zbozi pocet_ks pozadavek_servisu datum_pozadavku cena_celkem stav
cislo_faktury dodavatel fk_id_zakaznika fk_id_objednavky datum_vystaveni datum_splatnosti celkem_k_uhrade fk_id_zamestnance
Jsou_uctovany
Zpracovavaji Role id_role role_u popis_role
Bydli
Zadavaji
Vykonavaji
Zamestnanci id_zamestnance jmeno_zam prijmeni_zam datum_narozeni_zam fk_id_role fk_id_adresy cislo_uctu_zam telefon_zam email_zam heslo_zam
Vyrizuje Vykony Produkuji
id_vykonu fk_id_zamestnance fk_id_mzdy datum_od datum_do pocet_hodin
Vytvari
Mzdy id_mzdy hruba_mzda cista_mzda datum_vyplaty
Obr. 7
Entitně relační diagram (ERD)
Zákazníci mohou vytvářet objednávky. V závislosti na druhu objednávky vyžadují předávací protokol. Pokud je objednáváno zboží ze sezonní nabídky je možné ho načíst z entity zboží. Zákazník po vyřízení objednávky obdrží fakturu, na které je uvedený i zaměstnanec, který objednávku vyřizoval. Zaměstnanci zpracovávají přijaté objednávky. V případě objednávky servisu vyplňují předávací protokol po přistavení vozidla. Zaměstnanec po vyřízení objednávky vystaví zákazníkovi fakturu. V databázi jsou uchovávány mimo jiné i výkony zaměstnance, které vytvořil svou pracovní činností. Na základě těchto výkonů je vypočítána mzda. ERD obsahuje oproti entitám, které vznikly importem datastorů z funkčního modelu navíc entity adresy, role, mzdy a objednávky-zboží. • Adresy – byly vytvořeny v závislosti na tom, že v databázi se uchovávají nejen informace o bydlišti zákazníků, ale i zaměstnanců. Tudíž je vhodnější pro tyto informace vyčlenit zvláštní entitu.
Analýza a návrh informačního systému pro firmu Motoexpres
33
• Role – slouží k rozlišení práv pro vstup do informačního systému u jednotlivých zaměstnanců (majitel, mechanik). V popisu role je přesně specifikováno, co může uživatel s danou rolí vykonávat. • Mzdy – uchovávají informace o výši mezd, vyčíslených na základě odvedených výkonů. • Objednávky-zboží – jedná se o entitu, která vznikla dekompozicí vztahu M:N mezi objednávkami a zbožím.
34
Implementace informačního systému
5 Implementace informačního systému Aplikace IS Motoexpres je implementována za pomoci open source frameworku Nette, který využívá softwarovou architekturu MVC (Model-View-Controller). MVC slouží u aplikací s grafickým rozhraním k oddělení kódu obsluhy (controller) od kódu aplikační logiky (model), a také od kódu zobrazujícího data (view) (Nette Foundation, 2013a). Model má na starost komunikaci s databázovým systémem. Prostřednictvím jeho funkcí se dají získat, nebo modifikovat data v databázi (příkazy insert, update, select, delete). Při implementaci byla pro práci s daty využita databázová vrstva Dibi, umožňující jednoduchý a přehledný zápis SQL příkazů. View neboli pohled je vrstva, která prezentuje výsledky uživatelských požadavků (Nette Foundation, 2013a). V Nette ji představuje šablonovací systém Latte. Základní vzhled aplikace je definován v souboru Layout.latte. Šablony využívají například i některá rozšíření (PDF Response – export dat do formátu pdf). Zde se výsledný vzhled dokumentu odvíjí od vzhledu dané šablony. Funkci Controlleru obstarává ve frameworku Presenter. Jedná se o tzv. řadič, který zpracovává požadavky uživatele a na jejich základě pak volá model a následně požádá view o vykreslení dat (Nette Foundation, 2013a). IS Motoexpres obsahuje následující presentery: • AccessPresenter – zabezpečuje aplikaci (omezuje přístup na základě přidělené systémové role), dědí od něj většina presenterů. • AdministracePresenter – správa pracovních výkazů. • BasePresenter – součást frameworku, potomek třídy presenter. • ErrorPresenter – součást frameworku, obstarává chybové hlášky (403, 404, 405, 410, 500). • HomepagePresenter – úvodní stránka, profil uživatele. • KatalogPresenter – správa zboží v katalogu, export dat do různých formátů. • ObchodPresenter – správa objednávek a faktur. • PrehledyPresenter – přehledy přijatých objednávek a vyplněných pracovních výkazů. • RegistracePresenter – registrace nových zákazníků. • ServisPresenter – správa předávacích protokolů. • SignPresenter – součást frameworku, obstarává přihlašování uživatelů do systému. • UzivatelePresenter – správa uživatelů (zaměstnanci, zákazníci).
Implementace informačního systému
35
Aplikace používá doporučenou adresářovou strukturu distribuce Nette Framework (Nette Foundation, 2013a). Kořenový adresář • app o config o models o presenters o router o templates o bootstrap.php o web.config • libs o o o o o o
Datepicker dibi ismotoexpres Nette PdfResponse PHPExcel
• log • temp • tests • www o o o o o
css images js .htaccess index.php
V rámci testování aplikace jsem vytvořil následující vzorové uživatelské účty: Tab. 1
Testovací přihlašovací údaje
Role E-mail Heslo Admin
[email protected] admin29 Zaměstnanec
[email protected] zam11 Zákazník
[email protected] zak11
36
Implementace informačního systému
5.1
Struktura IS
Celá struktura IS Motoexpres je zachycena v následujícím přehledu sekcí. Přístup uživatelů do jednotlivých částí systému a vykonávání operací je omezené přístupovými právy. • Úvod • Uživatelé o Vytvořit uživatele o Zaměstnanci o Zákazníci • Obchod o Objednávky Vytvořit poptávku po zboží Vytvořit objednávku zboží (z katalogu) Přehled objednávek o Faktury Vytvořit fakturu Přehled faktur • Servis o Vytvořit protokol o Předávací protokoly • Admin o Vytvořit pracovní výkaz o Výkazy práce • Přehledy o Objednávky Poptávky po zboží Objednávky zboží (z katalogu) Objednávky servisu o Výkony • Katalog o o o o
Vytvořit zboží Obsah katalogu Export do XLS Export do PDF
Každá sekce také umožňuje jednoduchou správu dat (vytváření, editace, mazání). Součástí je i podpora exportu dat do formátu pdf a xls (xlsx).
Implementace informačního systému
37
5.2 Zabezpečení Přístup uživatelů do systému je podmíněn jejich přihlášením (autentizací). Uživatelé se přihlašují na základě zvoleného přihlašovacího jména (e-mailu) a hesla. Samotnou autentizaci obstarává třída Authenticator. Nejprve se zjistí, zdali uživatel s tímto e-mailem vůbec existuje a pokud ano tak se porovná hash zadaného hesla s hashem uloženým v databázi. V případě úspěšného přihlášení je uživateli přidělena identita (soubor informací o uživateli kromě hesla). Tato identita je poté dále využívána při procesu autorizace. Autorizace využívá ACL (Access Control List, řízení práv a přístupu) a obstarává ji třída Authorizator. V této třídě jsou pevně definovány systémové role, zdroje a operace. • Role. Systémové role v IS Motoexpres jsou admin, zaměstnanec, zákazník a host (nepřihlášený uživatel, vytváří se automaticky). Příkaz na vytvoření role vypadá následovně $this->addRole('employee'); • Zdroj. Zdroje si lze představit jako jednotlivé sekce systému. Fakticky se jedná o všechny implementované presentery viz výše. Příkaz pro přidání zdroje je $this->addResource('Uzivatele'); • Operace. Jedná se o konkrétní akce, které může uživatel vykonávat. Všechny akce, které nejsou povoleny, jsou automaticky zakázány. Příkaz povolující uživateli s přidělenou rolí zaměstnance přístup do sekce uživatelé a vykonat dané akce se zapisuje $this->allow('employee', 'Uzivatele', array('default', 'editace', 'zmenaHesla', 'zakaznici')); Mezi další druhy ochrany se řadí nastavení určitých omezení, při zadávání dat do formulářů. Sem patří například kontrola samotných vstupních dat (ochrana proti SQL injection), maximální délky zadávaných dat, formátu, zda jsou hodnoty celočíselné, desetinné atd. Příkaz vynucující vyplnění textového pole, a také kontrolující formát e-mailové adresy se dá zapsat tímto způsobem: $form->addText('email', 'E-mailová adresa*:') ->addRule(Form:FILLED, 'Zadejte prosím e-mailovou adresu!') ->addRule(Form:EMAIL, 'Zadejte prosím platný e-mail!'); Ošetřený je i samotný výpis dat z databáze proti útoku XSS. Tato ochrana spočívá v převedení HTML značek (řídících znaků) <>&” na odpovídající HTML entity např. > na >.
38
Implementace informačního systému
5.3 Sekce uživatelé V sekci uživatelé se nachází seznam všech zaměstnanců a zákazníků. Mezi funkce, které sekce poskytuje, patří vytvoření, editace, smazání a změna hesla uživatele. Jednotlivé funkce jsou však omezeny v závislosti na přidělených právech uživatelů (viz tab. 2). Tab. 2
Práva uživatelů v sekci uživatelé
Akce Přístup Zobrazení zaměstnanců Zobrazení zákazníků Vytvoření uživatele Editace uživatele Smazání uživatele Změna hesla
Admin Ano Ano Ano Ano Ano Ano Ano
Zaměstnanec Ano Ano Ano Ano, pouze zákazníka Ano, vlastní a zákazníky Ne Ano, pouze sobě
Zákazník Ne Ne Ne Ne Ano, vlastní Ne Ano, pouze sobě
5.4 Sekce obchod Sekce obchod obsahuje podsekce objednávky a faktury. V části objednávky je možnost zobrazit přehled objednávek, nebo jednotlivé objednávky vytvářet. Část faktury umožňuje také zobrazit přehled faktur, nebo fakturu vytvořit. Tab. 3
Práva uživatelů v sekci obchod
Akce
Admin Přístup Ano Přístup do sekce Objednávky Ano Zobrazení objednávek Ano Vytvoření poptávky Ano Vytvoření objednávky Ano Editace objednávky Ano Smazání objednávky Ano Přístup do sekce Faktury Ano Zobrazení faktur Ano Vytvoření faktury Ano Editace faktury Ano Smazání faktury Ano
Zaměstnanec Ano Ano Ano Ano Ano Ano Ne Ano Ano Ano Ano Ne
Zákazník Ano Ano Ano, pouze vlastních Ano Ano Ne Ne Ano Ano, pouze vlastních Ne Ne Ne
Implementace informačního systému
39
5.5 Sekce servis Sekce servis slouží k vytváření předávacích protokolů v případě, kdy zákazník přistaví svůj vůz na servis. V sekci nalezneme také seznam předávacích protokolů. Nachází se zde i možnost exportu protokolů do formátu pdf. Tab. 4
Práva uživatelů v sekci servis
Akce Přístup Zobrazení protokolů Vytvoření protokolu Editace protokolu Smazání protokolu Export do pdf
Admin Ano Ano Ano Ano Ano Ano
Zaměstnanec Ano Ano Ano Ano Ano Ano
Zákazník Ano Ano, pouze vlastní Ne Ne Ne Ano, pouze vlastní
5.6 Sekce admin Část admin (administrace) je určena primárně pro zaměstnance. Mají zde možnost zadávat informace o vykonané práci (pracovní výkaz). Po vložení zmíněných informací může majitel (administrátor) sdělit zaměstnanci informace o jeho mzdě a datu výplaty mzdy. Tab. 5
Práva uživatelů v sekci admin
Akce Přístup Zobrazení výkazů Vytvoření výkazu Editace výkazu Smazání výkazu
Admin Ano Ano Ano Ano Ano
Zaměstnanec Ano Ano, pouze vlastních Ano Ne Ne
Zákazník Ne Ne Ne Ne Ne
5.7 Sekce přehledy Sekce přehledy se člení na objednávky a výkony. Přehledy informují majitele nejen o počtu přijatých objednávek, ale i množství zaměstnanci odvedené práce.
40
Implementace informačního systému
Tab. 6
Práva uživatelů v sekci přehledy
Akce Přístup Přístup do sekce Objednávky Zobrazení poptávek po zboží Zobrazení objednávek zboží Zobrazení objednávek servisu Smazání záznamu Přístup do sekce Výkony Zobrazení výkonů Smazání výkonu Export do pdf
Admin Ano Ano Ano Ano Ano Ano Ano Ano Ano Ano
Zaměstnanec Ne Ne Ne Ne Ne Ne Ne Ano, pouze vlastních Ne Ano, pouze vlastních
Zákazník Ne Ne Ne Ne Ne Ne Ne Ne Ne Ne
5.8 Sekce katalog V sekci katalog se nachází seznam nabízeného sezonního zboží. Tato sekce je přístupná i nepřihlášeným uživatelům (hosté, návštěvníci), ovšem pouze jako seznam bez dodatečných funkcí. Export dat je zde rozšířený kromě formátu pdf, také o formát xls. Tab. 7
Práva uživatelů v sekci katalog
Akce Přístup Zobrazení zboží Vytvoření zboží Editace zboží Smazání zboží Export do xls Export do pdf
Admin Ano Ano Ano Ano Ano Ano Ano
Zaměstnanec Ano Ano Ano Ano Ano Ano Ano
Zákazník Ano Ano Ne Ne Ne Ano Ano
Host Ano Ano Ne Ne Ne Ano Ano
Zhodnocení výsledků
41
6 Zhodnocení výsledků Výsledkem práce je funkční aplikace IS Motoexpres. Tato aplikace přináší výhody nejen firmě Motoexpres, ale také jejich zákazníkům. Pro firmu je největší předpokládanou výhodou zrychlení každodenních činností, jež se zde vyskytují. Zrychlení podporuje automatické zpracovávání objednávek informačním systémem, které doposud probíhá odesláním objednávky na e-mail, což je v případě většího počtu přijatých objednávek nepřehledné a nevyhovující. Pro majitele jsou nespornou výhodou přehledy objednávek a výkonů, které systém poskytuje. Ty mohou být dále využívány při plánování. Aplikace rovněž podporuje jednoduchou správu a evidenci zaměstnanců a zákazníků. Díky uchovávání informací v elektronické podobě, se zvyšuje efektivita jejich zpracování a vyhledávání. Ovšem pokud by byly některá data potřeba převést do papírové formy, není to díky exportu žádný problém. Pro zákazníky nabízí aplikace také několik výhod. V první řadě možnost jednoduše vytvářet objednávky zboží, nebo servisu v intuitivním prostředí. Během zpracovávání objednávky zákazník dostává okamžitě informace o stavu, v jakém se jeho objednávka nachází, a také o tom kdo ze zaměstnanců jeho objednávku vyřizuje. V případě, kdy zákazník vytvoří objednávku servisu, nebo poptávku po zboží, tak celkovou cenu za objednávku se dozví ihned po nacenění. Pokud se jedná o objednávku zboží z katalogu, je celková cena zobrazena v IS již po dokončení objednávky. Další výhodou je evidence předávacích protokolů, která poskytuje ucelený přehled o historii prováděných oprav na vozidle.
42
Ekonomická analýza
7 Ekonomická analýza V dnešní době se ekonomika nachází v útlumu a trh je přesycen. Aby firma v takové situaci vynikla, tak se musí nějakým způsobem odlišit. Jednou z možností je zákazníkům nabízet lepší služby. A právě informační systém tuto možnost nabízí. Firmy obecně se ovšem snaží šetřit, a tak každá investice musí být maximálně efektivní. Motoexpres je malá firma, tudíž pro ni není reálné vynaložit značné finanční prostředky na nákup informačního systému, který vyvíjí společnosti pro komerční využití. Nejen pořizovací cena, ale také roční provoz a údržba takového systému stojí nemalé finance. Zde se naskýtá prostor pro řešení vycházející z této bakalářské práce. Pořizovací náklady aplikace IS Motoexpres nejsou nijak velké. V oblasti výpočetní techniky, kterou firma využívá, není třeba dělat žádné změny. Informační systém totiž funguje jako webová aplikace, tedy její provoz není omezený hardwarovými prostředky. Provoz a údržba této aplikace není nikterak složitá záležitost. Lehce ji zvládne jeden uživatel. V tomto případě majitel firmy. Vzhledem k intuitivnímu ovládání systému, odpadají i náklady na zaškolování zaměstnanců. Nedostatky tohoto řešení se přirozeně skrývají v rozsahu nabízených funkcí systému. Ty se nedají srovnávat s funkčností dražších komerčních IS. Ale když uvážíme požadavky firmy na informační systém, tak zjistíme, že toto řešení je pro ni zcela dostačující. Celkové náklady na IS jak vyplynulo z předchozího odstavce, se omezily pouze na provoz aplikace na serveru (hosting) a na doménu pod kterou aplikace poběží. Cena těchto služeb se pohybuje kolem 500 Kč s DPH/rok. • Hosting. Důležité je, aby hosting podporoval MySQL a PHP v nejnovějších verzích. Celkové náklady na 1 rok poté vychází na 363 Kč (Hosting Wedos, 2013). • Doména. Registrace domény ismotoexpres.cz stojí 151 Kč na 1 rok (Hosting Wedos, 2013).
Závěr
43
8 Závěr Předmětem této bakalářské práce bylo analyzovat reálné informační toky ve firmě Motoexpres a na základě výsledků této analýzy navrhnout a implementovat informační systém. Při práci jsem se přesvědčil, jak důležitá je důkladná analýza i podrobný návrh pro správnou implementaci informačního systému. Výsledná aplikace vychází ze skutečných potřeb firmy, a tak se v ní nenacházejí žádné nadbytečné funkce. Samotná implementace probíhala s využitím českého PHP frameworku Nette. Data, se kterými IS pracuje, jsou uchovávány v databázovém systému MySQL. Vzhled aplikace byl vytvářen prostřednictvím jazyka HTML a kaskádových stylů. Další částí vývoje systému bylo jeho testování. Tuto část nelze vynechat před ostrým nasazením. Testování spočívalo v prověření celkové funkčnosti aplikace na zkušebních datech. Výsledek testu přinesl zjištění, že IS je schopný ostrého provozu. Verze obsahující zkušební data je dostupná na www.motoexpres.php5.cz. Aplikace IS Motoexpres je lehce rozšiřitelná do budoucna. I díky využití modelu MVC, jež velice zpřehledňuje celou aplikaci. Jedna z nabízejících se možností by bylo vytvoření modulu účetnictví, které je doposud řešeno outsourcingem. Pokud by se tento modul stal součástí IS, tak by to přineslo další snížení celkových nákladů. Na základě úspěšného testování a pozitivní reakce majitele firmy na funkcionalitu i vzhled aplikace je jisté, že cíl práce se podařilo splnit.
44
Literatura
9 Literatura BASL, J., BLAŽÍČEK, R. Podnikové informační systémy: podnik v informační společnosti. 2. vyd. Praha: Grada, 2008. 283 s. ISBN 978-80-247-2279-5. BUCHALCEVOVÁ, A. Metodiky vývoje a údržby informačních systémů: kategorizace, agilní metodiky, vzory pro návrh metodiky. 1. vyd. Praha: Grada, 2005. 163 s. ISBN 80-247-1075-7. CACH, P., HROCH, M. SystemOnline. Business intelligence staví na datovém skladu [online]. 2007 [cit. 2013-01-13]. Dostupné z: http://www.systemonline.cz/business-intelligence/business-intelligencestavi-na-datovem-skladu.htm. CRM portál. CRM a Business Intelligence [online]. [cit. 2013-01-13]. Dostupné z: http://www.crmportal.cz/redakcni/crm-a-business-intelligence. DANEL, R. Informační systémy: úvod a základní pojmy v oblasti informačních systémů [online]. Ostrava: Institut ekonomiky a systémů řízení, Hornickogeologická fakulta, VŠB-TUO, 2011 [cit. 2013-01-09]. Dostupné z: http://homel.vsb.cz/~dan11/is2011/1%20Informacni%20systemy%20%20uvod.ppt. FALTÝNEK, L. Linux EXPRES. Structured Query Language [online]. 2007 [cit. 2013-01-25]. Dostupné z: http://www.linuxexpres.cz/praxe/structuredquery-language. GILFILLAN, I. Myslíme v MySQL 4. 1. vyd. Praha: Grada, 2003. 750 s. ISBN 80247-0661-x. CHLAPEK, D., ŘEPA, V., STANOVSKÁ, I. Techniky a nástroje vývoje informačních systémů. 1. vyd. Praha: Vysoká škola ekonomická, 1999. 151 s. ISBN 80245-0005-1. JONÁK, Z. Informace. KTD: Česká terminologická databáze knihovnictví a informační vědy (TDKIV) [online]. Praha: Národní knihovna ČR, 2003 [cit. 2012-11-24]. Dostupné z: http://aleph.nkp.cz/F/?func=direct&doc_number=000000456&local_bas e=KTD. KAY, R. Computerworld. SOA umožňuje flexibilní propojení aplikací [online]. 2004 [cit. 2013-01-13]. Dostupné z: http://computerworld.cz/archiv/soa-umoznuje-flexibilni-propojeniaplikaci-21382. KLIMEŠ, C. Informační systémy [online]. Nitra: Univerzita Konštantína Filozofa, 2006 [cit. 2012-11-25]. 192 s. Dostupné z: http://www1.osu.cz/~prochazka/rpri/skripta.pdf. KOSEK, J. PHP – tvorba interaktivních internetových aplikací. 1. vyd. Praha: Grada Publishing, 1999. 492 s. ISBN 80-7169-373-1.
Literatura
45
LACKO, B. Navrhování systémů řízení [online]. Brno: Vysoké učení technické, 2006 [cit. 2013-01-13]. 204 s. Dostupné z: http://www.vns.wz.cz/opory/NSR.pdf. MENČÍK, P. Úvod do informačních systémů [online]. 2000 [cit. 2013-01-09]. Dostupné z: http://pmencik.sweb.cz/zvi.htm. NETTE FOUNDATION. MVC aplikace & presentery [online]. 2013a [cit. 201304-21]. Dostupné z: http://doc.nette.org/cs/presenters. NETTE FOUNDATION. Rychlý a pohodlný vývoj webových aplikací v PHP [online]. 2013b [cit. 2013-02-26]. Dostupné z: http://nette.org/cs/#tocfeatures. PHP GROUP. PHP Manual [online]. 1997-2013 [cit. 2013-01-24]. Dostupné z: http://php.net/manual. PROCHÁZKA, J. Databázový svět. Nástroje CASE? Co? Proč? Jak? [online]. 2004 [cit. 2013-01-17]. Dostupné z: http://www.dbsvet.cz/view.php?cisloclanku=2004052702. RÁBOVÁ, I. Podnikové informační systémy a technologie jejich vývoje. Brno: Tribun CZ, 2008. 139 s. ISBN 978-80-7399-599-7. ROSEBROCK, E., FILSON, E. Linux, Apache, MySQL a PHP: instalace a konfigurace prostředí pro pokročilé webové aplikace. 1. vyd. Praha: Grada, 2005. 344 s. ISBN 80-247-1260-1. SODOMKA, P. Informační systémy v podnikové praxi. 2. vyd. Brno: Computer Press, 2010. 501 s. ISBN 978-80-251-2878-7. TANSLEY, D. PHP a MySQL: vytváříme dynamické webové stránky. Praha: SoftPress, 2003. 480 s. ISBN 80-86497-40-2. WEB DESIGN. Advantages of PHP Programming [online]. 2012 [cit. 2013-0124]. Dostupné z: http://www.webdesign.org/web-programming/php/advantages-of-phpprogramming.21905.html. HOSTING WEDOS. Neomezený hosting WEDOS NoLimit s mírně omezenými parametry. [online]. 2013. [cit. 2013-04-24]. Dostupné z: http://hosting.wedos.com/. WIKIPEDIE: Otevřená encyklopedie: Informační systém [online]. 2012 [cit. 1301-13]. Dostupné z: http://cs.wikipedia.org/w/index.php?title=Informa%C4%8Dn%C3%AD_s yst%C3%A9m&oldid=9396084. WIKIPEDIE: Otevřená encyklopedie: Řízení vztahů se zákazníky [online]. 2012 [cit. 13-01-13]. Dostupné z: http://cs.wikipedia.org/w/index.php?title=%C5%98%C3%ADzen%C3%AD _vztah%C5%AF_se_z%C3%A1kazn%C3%ADky&oldid=9450013.
46
Přílohy
Přílohy
Příklady minispecifikací
47
A Příklady minispecifikací Minispecifikace procesu 1.3 Evidence zaměstnanců Pro každého evidovaného zaměstnance proveď: 1. Čti info o mechanikovi z terminátoru Mechanik 2. Jestliže byly přečteny informace o mechanikovi potom 2.1. Zapiš aktualizace info o zaměstnanci do datastoru Zaměstnanci 3. Jestliže byly informace o mechanikovi změněny potom 3.1. Čti aktualizace info o zaměstnanci z datastoru Zaměstnanci Minispecifikace procesu 1.1.1.1 Zpracování objednávek zboží Pro každou zpracovávanou objednávku zboží proveď: 1. Čti údaje o zákazníkovi z procesu Evidence zákazníků 2. Čti objednávka zboží z terminátoru Zákazník 3. Jestliže objednané zboží je obsaženo v sezonní nabídce zboží potom 3.1. Čti info o zboží z procesu Přehledy objednávek 4. Jestliže byla přijata objednávka zboží potom 4.1. Zapiš aktualizace objednávky do datastoru Objednávky 5. Jestliže byly údaje v objednávce změněny potom 5.1. Čti aktualizace objednávky z datastoru Objednávky 6. Jestliže si Zákazník vyžádá informace o stavu objednávky potom 6.1. Odešli info o stavu objednávky terminátoru Zákazník 7. Odešli objednávky do procesu Přehledy objednávek
48
Ukázka registrace uživatele
B Ukázka registrace uživatele
Obr. 8
Registrační formulář
Výpis zákazníků
C Výpis zákazníků
Obr. 9
Výpis registrovaných zákazníků
49
50
Ukázka vytvoření předávacího protokolu
D Ukázka vytvoření předávacího protokolu
Obr. 10
Formulář pro vytvoření předávacího protokolu
Výpis zboží z katalogu
E Výpis zboží z katalogu
Obr. 11
Výpis nabízeného zboží
51