VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV AUTOMATIZACE A INFORMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF AUTOMATION AND COMPUTER SCIENCE
INFORMAČNÍ SYSTÉM LOGISTIKY SERVISNÍ FIRMY INFORMATION SYSTEM OF SERVICE COMPANY LOGISTIC
DIPLOMOVÁ PRÁCE DIPLOMA THESIS
AUTOR PRÁCE
BC. RICHARD KEREK
AUTHOR
VEDOUCÍ PRÁCE SUPERVISOR
BRNO 2007
ING. PAVEL HERIBAN
Strana 3
ZADÁNÍ ZÁVĚREČNÉ PRÁCE ¨
Strana 4
Zadání závěrečné práce
Strana 5
LICENČNÍ SMLOUVA
uf...sory za
Strana 6
Licenční smlouva
Strana 7
ABSTRAKT Tato diplomová práce se zabývá návrhem a realizací nového informačního systému pro podporu činností komerční servisní organizace. Autor využil k dosažení svého cíle soudobé progresívní technologie z oblasti programování online dynamických informačních systémů, jako jmenovitě HTML, CSS, PHP a MySQL. Mezi hlavní přínosy práce patří rozšíření a zkvalitnění služeb, jako zejména možnost sledování častých závad, kvality dílů a spokojenosti zákazníků v nově budované firmě, ve které zamýšlí být autor osobně zainteresován. Také pro zákazníky nabízí dané řešení nové komfortnější služby.
ABSTRACT This diploma thesis deals with projection and implementation of new information system for supporting operations in commercial service company. Author has used contemporary progressive technologies from the range of programming online dynamic information systems to achieve his objective, such as HTML, CSS, PHP and MySQL. General contributions of this work comprehend spread and enhancement of services, namely the possibility of monitoring frequent faults, parts quality and customers contentment in newly built company the author intends to be involved in personally. Given solution offers new, more comfortable services even for the customers.
KLÍČOVÁ SLOVA Informační systém logistiky servisní firmy, Informační systém servisní podpory, Informační systém firmy, informační systém zákaznické podpory
KEYWORDS Information system of service company logistic, Information system of service support, Information system of company, Information system of customer support
Strana 9
PODĚKOVÁNÍ
PODĚKOVÁNÍ Rád bych touto cestou poděkoval panu Ing. Pavlu Heribanovi za cenné rady a připomínky při tvorbě této diplomové práce. Děkuji také rodičům za jejich trpělivost a podporu v průběhu celého studia.
Strana 11
Obsah: Zadání závěrečné práce...................................................................................................3 Licenční smlouva.............................................................................................................5 Abstrakt............................................................................................................................7 Poděkování.......................................................................................................................9 1 Úvod................................................................................................................................13 2 Projektování informačních systémů............................................................................15 2.1 Informační systém.........................................................................................................15 2.1.1 Komponenty IS...........................................................................................................17 2.1.2 Dělení IS.....................................................................................................................18 2.1.3 Architektura IS............................................................................................................19 2.1.4 Logistické informační systémy...................................................................................20 2.1.5 Databázové systémy....................................................................................................21 2.2 Požadavky na IS............................................................................................................24 2.3 Návrh IS........................................................................................................................24 2.4 Metody a moduly tvorby software................................................................................25 3 Zadání projektu.............................................................................................................29 3.1 Účel projektu.................................................................................................................29 3.2 Specifikace požadavků..................................................................................................29 3.3 Časový plán...................................................................................................................30 4 Volba vhodných nástrojů pro realizaci systému.........................................................33 4.1 Nástroje tvorby IS.........................................................................................................33 4.1.1 HTML.........................................................................................................................33 4.1.2 CSS.............................................................................................................................34 4.1.3 JavaScript....................................................................................................................35 4.1.4 SQL.............................................................................................................................35 4.1.5 MySQL.......................................................................................................................36 4.1.6 Apache HTTP Server..................................................................................................37 4.1.7 PHP.............................................................................................................................37 4.1.8 DBDesigner.................................................................................................................38 4.1.9 PSPad..........................................................................................................................39 4.2 Nástroje tvorby grafiky IS.............................................................................................40 4.2.1 Adobe Photoshop........................................................................................................40 4.3 Ostatní podpůrné nástroje..............................................................................................41 4.3.1 Open Office.................................................................................................................41 5 Analýza projektu...........................................................................................................43 5.1 Funkční analýza.............................................................................................................43 5.2 Datová analýza..............................................................................................................49 5.2.1 Normalizované relace.................................................................................................49 5.2.2 Datový slovník............................................................................................................50 5.2.3 Datový model..............................................................................................................53 5.3 Bezpečnostní analýza....................................................................................................54 6 Realizace informačního systému..................................................................................55 6.1 Návrhy grafické podoby sekcí IS..................................................................................55 6.2 Realizovaná podoba IS..................................................................................................56 6.3 Zhodnocení časového plánu projektu............................................................................61 7 Závěr...............................................................................................................................63 Seznam použité literatury.............................................................................................65
Strana 13
1
ÚVOD
Tato diplomová práce pojednává o návrh a realizaci informačního systém logistiky servisní firmy, jde tedy o konkrétní zákaznické řešení z prostředí aplikované informatiky. Přestože sočasný trh v této oblasti nabízí nepřeberné množství nejrůznějších více či méně vhodných hotových prodktů, rozhodl se ator přistopit k projektvlastního informačního systému, který by nejen prokázal jeho odbornozpůsobilost k řešení obdobných zadání, ale byl by zároveň přínosem při realizaci autorova záměrdo nejbližší budoucnosti: vybudování menší servisní firmy, ve které by zmíněný informační systém řešil přesně ty funkce, které jsoz autorova hlediska pro jeho úspěšné podnikání klíčové. Při jejich vytyčení vycházel autor z vlastních několikaletých zkušeností, kdy působil na pozici servisního technika. Práce popisuje kromě nezbytného teoretického základu, který uvádí spíše stručně formocitací dostupných odborných pramenů, především jednotlivé etapy návrha realizace tohoto informačního systémod formulace zadání projekta specifikace požadavků, přes volbvhodných nástrojů pro realizaci, funkční analýzu, datovoanalýzu, bezpečnostní analýzu, návrh grafické podoby systéma vlastní realizaci systémaž po ladění, testování a ukončení projektu. Autor užil rovněž některé základní fragmenty metodiky projektového řízení, které mpomohly udržet projekt relativně pod kontrolou. Jednalo se zejména o vytyčení jednotlivých etap projektu, stanovení jejich časové náročnosti a následné sledování a vyhodnocování jejich průběhu. Praktická část práce, která je momentálně umístěna k testování na adrese http://pcq.php5.cz/, klade důraz na užití volně šiřitelných technologií (HTML, CSS, PHP, MySQL) a osvědčených postupů projektování informačních systémů.
Strana 15
2
PROJEKTOVÁNÍ INFORMAČNÍCH SYSTÉMŮ
2.1
Informační systém
Informační systémy (IS) definujeme jako systémy sběru, uchování, vyhledání a zpracování dat za účelem poskytnutí informací. Data jsoúdaje získané pozorováním nebo měřením. Informace jsointerpretací těchto dat a vztahů mezi nimi.Vývoj IS má tyto charakteristiky [10]: ► je pevně vázán organizačním kontextem, ► je praktickodisciplinou, ► je to profese, ► je permanentně vybavován novými metodami a technikami, softwarovopodporou, ► neznamená pouze adekvátní aplikaci metodiky, nástrojů a technik, ale také projektového řízení (čas, zdroje, rizika...). Informační systém je tvořen úlohami, aplikacemi, které můžeme dekompozičně uspořádat do subsystémů, skupin úloh, samotných úloh, funkcí, modulů. Typy úloh IS podle jejich charakterjsonásledující [10]: ► strategické, ► tradiční (agendové), ► povinné, ► infrastrukturní, ► rozvojové, ► obnovující, ► doplňkové. Informační systémy zajišťují tyto činnosti [12]: ► výběr informace, ► prognózy vývoje, ► plánování, ► rozhodování, ► použití pro automatizaci inženýrských prací, ► použití pro zpracování ekonomických agend hospodářství, účetnictví apod.).
(mzdy,
faktury,
skladové
Č innost IS může probíhat dvojím způsobem. Prvním je zpracování v dávkách. Tento způsob je výhodný pro soubory, kde se zpracování účastní všechny nebo většina záznamů. Bývá však doprovázen delším časovým intervalem mezi zadáním vstupních dat a zpracováním výstupních sestav. Druhým způsobem je konverzace se systémem. Konverzační systémy byly původně vytvořeny pro aplikace vyžadující rychlozpětnovazbjako je např. objednávka zboží. Vstup dat se provádí přímo tam, kde data vznikají, a odpadá tak mnoho administrativy a kódování, které je typické pro dávkové zpracování [9]. Informační systém firmy je složen ze dvočástí (Obr. 1). Ručně prováděné činnosti představuje část neautomatizovaná. Č ást automatizovaná využívá k automatizaci různých prostředků informačních, komunikačních a dalších technologií [9].
Strana 16
2 Projektování informačních systémů Informační systémy firmy
Automatizovaná část
Neautomatizovaná část
Obr. 1 Členělení informačního systémfirmy Automatizovaný informační systém (AIS) je souborem technických prostředků (hardware), programových prostředků (software) a organizačních prostředků (orgware), které jso vzájemně účelně vybrané a propojené pro automatizované získávání nám potřebných informací k rozhodování a řízení. Pod pojmem hardware rozumíme technické vybavení počítačů, programovým vybavením rozumíme software [9].
HARDWARE
SOFTWARE AIS
ORGWARE
Obr. 2 Složení AIS Účelem AIS ve firmách, je poskytovat informace pro podporrozhodování a řízení. Poskytované informace musí být[10]: ► významné, ► přesné, ► včasné, ► dostatečné, ► úplné, ► srozumitelné. V současné době jsoinformační systémy budovány ponejvíce jako automatizované, takže se mnohdy označení „automatizovaný” vynechává a hovoříme jen o informačním systému, i když v běžném hovormyslíme automatizovaný informační systém[9].
2 Projektování informačních systémů
Strana 17
2.1.1 Komponenty IS Komponentami IS nazýváme technické, programové a organizační prostředky, které tvoří celý informační systém. Těmito prostředky jso[9]: Technické prostředky: ► počítače (osobní počítače, servery, pracovní stanice, specializované řídicí počítače, apod.) a jejich bezprostřední komponenty (operační paměti, přídavné procesory, rozhraní), ► periferní zařízení (tiskárny, souřadnicové zapisovače, digitizéry, snímače čárových kódů a čipových karet, speciální displeje, apod.), ► síťové komunikační prostředky (kabeláž sítě, komunikační počítače, rozbočovače v šítích, síťové karty do osobních počítačů, modemy, zesilovače signálu, apod.), ► doplňková a podpůrná zařízení (zálohovací zdroje síťového napětí, filtry před obrazovky, specializovaný nábytek, klimatizační zařízení, měřící a testovací zařízení), ► provozní materiál (papír do tiskáren, diskety, mýměnné optické disky, náplně do tiskáren), ► dokumentace technického vybavení. Programové prostředky [9]: ► operační systémy (základní operační systémy, síťové operační systémy, operační systémy řízení reálného času) a jejich přídavné části, ► systémové programy, které provádějí speciální řídicí a provozní funkce, ► vývojové prostředky (programovací jazyky, knihovny programovacích jazyků, testovací prostředky, vývojová prostředí), ► databázové systémy a jejich součásti, ► standardní aplikační programy (tabulkové procesory, textové editory, presentační programy, elektronická pošta, apod.), ► speciální aplikační programy, zhotovené podle individuálních požadavků. Organizační prostředky [9]: ► pokyny pro obsluha návody k obsluze, ► provozní pokyny IS, ► směrnice zajišťující dělba koordinaci prací kolem IS, ► směrnice stanovující zodpovědnost za správnost vkládaných dat, ► směrnice vymezující oprávněnost přístupk datům a oprávněnost manipulace s daty, ► pokyny pro archivaci dat a pořizování bezpečnostních kopií, ► pokyny k provádění antivirové ochrany a k zabezpečení dat před úmyslným zneužitím, zcizením nebo poškozením, ► pokyny pro vyhodnocování a sledování činnosti IS včetně evidence nákladů na IS ► zásady pro údržba inovaci IS, ► pokyny a zásady pro zajišťování bezpečnosti IS.
2.1.2 Dělení IS IS můžeme rozdělovat podle různých hledisek. Rozdělení AIS nám umožňuje přesněji
Strana 18
2 Projektování informačních systémů
vymezit potřebné technické, programové a organizační vybavení a stanovit postupy pro návrh a realizaci IS [9]. Jedno ze základních rozdělení IS je podle umístění v pyramidě řízení:
EIS
MIS
Strategická úroveň řízení
Taktická úroveň řízení
RTCS
Operační úroveň řízení
Obr. 3 Pyramida řízení EIS (Executives Information System) – automatizovaný informační systém pro vrcholové strategické řízení, podporující automatickoanalýzdat z hlediska dlouhodobých vývojových trendů (OLAP – On Line Analysing Processing) MIS (Management Information System) – automatizovaný informační systém pro vedoucí pracovníky střední úrovně a referenty, podporující transakční zpracování firemních údajů ve fakturách, objednávkách, zakázkách, mzdách a platech, skladovaných položkách, apod.). RTCS (Real Time Control System) – automatizovaný řídící systém, který na operativní úrovni v reálném čase řídí provádění jednotlivých výrobních úkonů pro konkrétní operace ve výrobě. Dalšími možnými děleními jsou: ► rozdělení IS podle velikosti, ► rozdělení IS podle obsahového zaměření, ► rozdělení IS podle automatizovaných funkcí. Důležitým rozdělením je dělení IS podle způsobdodávky [9]: ► IS dodávané jako hotový produkt, ► IS vytvářené individuálně na objednávkpodle požadavků zákazníka, ► IS dodávané jako prototyp, tj. dodá se řada připravených skeletů programů (prototyp), které se pak upravují a dopracovávají podle požadavků zákazníka např. zadáním hodnot předem připravených parametrů, apod. U toho typu dělení má každý z těchto způsobů dodávky IS své výhody a nevýhody, které jsou shrnuty v následující tabulce č.1. Tabulka 1.
2 Projektování informačních systémů
Strana 19
Hotový produkt
Vývoj podle požadavků
Prototyp
Č as
Téměř ihned
Velmi dlouhá doba vývoje
Relativně krátká doba
Cena
Velmi nízká cena
Velmi vysoká cena
Přijatelná cena
Jakost
Viditelná jakost s malým počtem chyb Firma se musí přizpůsobit SW
Předpokládaná jakost s velkým počtem chyb SW se musí přizpůsobit firmě
Č ástečně viditelná jakost a přijatelné množství chyb Oboustranné přizpůsobení
Malé firmy
Velmi velké firmy
Střední a velké firmy
Přizpůsobení Vhodná velikost firmy
Aby mohl být SW system prohlášen za prototyp, měl by splňovat následující požadavky [9]: ► od začátku musí být vyvíjen jako prototyp, ► přizpůsobování se musí realizovat recionálním způsobem (parametrizace, makroinstrukce, přizpůsobování objektů) nikoliv přeprogramováváním, ► koncepce prototypu musí být poměrně dosti blízká cílovým požadavkům, ► finální dokumentace musí vznikat jako vedlejší efekt procesu přizpůsobování prototypu požadavkům uživatele a nikoliv jednotlivými zásahy do stávající dokumentace. V rámci využívání databázového systému se rozdělují IS: ► bez databázového systému, ► s využitím lokálních databází (heterogenní nebo homogenní řešení), ► s centralizovanou databází, ► s databází architektury klient/server (heterogenní nebo homogenní řešení), ► s decentralizovanou databází. Více o dalších děleních je popsáno v literatuře [9].
2.1.3 Architektura IS Architektura IS je aplikace různých koncepcí, charakterizující řešení základních problémů při návrhu, realizaci a užívání IS [9]. Koncepce orientace IS Pro firmy je důležité obstát v konkurenčním prostředí a to je úzce spjato s jejich informovaností. Minulé systémy byly orientovány na získávání informací pouze o stavu podniku. Dnes však podniky musí požadovat informace o vnějším trhu, o chování konkurence, o finanční situaci v bankovnictví, o chování a požadavcích svých zákazníků atd. Koncepce zaměření IS Dříve bylo těžiště v oblasti výroby, v současnosti je kladena priorita do obchodní oblasti a ekonomické oblasti (např. CRM – Customer Relationship Management,
Strana 20
2 Projektování informačních systémů
HRM – Human Resource Management, apod.). Očekává se především poskytování informací pro řízení jako přímá podpora firemního managementu. Preferovány jsou systémy schopné podpořit realizaci strategických a taktických cílů a pomoci tak firmě nejlépe zhodnotit vložený kapitál. Koncepce filosofie IS Výkon, technické a programové vybavení počítačů nám v dnešní době dovoluje skutečné řízení v reálném čase způsobem, který připomíná automatickou regulaci (dodržení předepsaných hodnot). Takové systémy dovolují vedoucím pracovníkům prozkoumat následky možných rozhodnutí dříve, než jsou skutečně provedena. Můžeme zde využít i metod umělé inteligence a koncipovat systémy tak, aby byly schopny v bázi znalostí shromažďovat samy určité poznatky a akceptovat jim předkládané zkušenosti. Koncepce ve způsobu poskytování informací Presentace informací bude muset být prováděna postupně s možností zásahu uživatele tak, aby uživatel mohl specifikovat formu informací a jejich rozsah, jak bezprostředně potřebuje k řízení. Zvlášť důležité informace budou muset mít možnost být presentovány tak, aby nemohly být přehlédnuty a opomenuty. Často se v této souvislosti hovoří o tzv. inteligentních informačních filtrech. Koncepce dynamiky růstu Stále více se informační technologie propojují s komunikačními technologiemi. Tento trend je podporován nízkými cenami hardware a zvyšujícím se tlakem na komplexní pojetí informačních systémů. Takové pojetí přináší podnikatelům četné výhody: účinnou podporu rozhodovacích procesů, snižování stavu meziskladů i skladů, snižování nákladů na administrativní pracovní síly, zvýšení rychlosti komunikace procesů, zvýšení kvality řady činností (kvalita korespondence, kvalita prospektové, nabídkové a technické dokumentace, kvalita konstrukčních výpočtů a kvalita výkresové dokumentace atd.). Na druhé straně přináší tento dynamický rozvoj informačních systémů problémy, pokud se firma neorientuje od začátku cílevědomě na otevřenou, flexibilní koncepci IS. Koncepce struktury IS IS je dělen do určitých částí, navzájem propojených. Strukturu IS z hlediska jednotlivých funkčních modulů resp. subsystémů definujeme prostým výčtem [9].
2.1.4 Logistické informační systémy Definice logistiky [14]: 1. Logistika je v širším smyslu myšlenkovým postojem, který přináší užitek všude tam, kde celkové posuzování po sobě následujících a probíhajících procesů vede k optimalizaci. 2. Logistika je souhrn všech činností, které uživateli slouží k zabezpečení hmotných toků a s nimi souvisejících toků informací a energie. 3. v užším smyslu v aplikaci na podnik, se vztahuje logistika na všechny materiální a komunikativní pochody během a po produkci
2 Projektování informačních systémů
Strana 21
zboží a to uvnitř a vně podniku. Tokem v logistice rozumíme posloupnost stavů pohybu a přerušení pohybu (stavu klidu), jako pohyb kvant jedním směrem. Toky mají fyzickou, informační a peněžní (resp. hodnotovou) dimenzi. Informační toky iniciují, doprovázejí a dokumentují průběh toků fyzických. Jde o toky informací o požadavcích zákazníků, toky řídících informací, toky informací o průběhu a výsledcích fyzického toku. Plánování toku se děje uplatněním nároků a podmínek dodavatelů, zákazníků a nositelů služeb. Hlavním cílem dobře fungujícího logistického informačního systému organizace je vytvoření informačního prostředí, v němž bude možné účinně plánovat a koordinovat všechny logistické aktivity spojené s řízením hmotných toků. Logistika je tedy věda, která se zabývá skloubením všech procesů systému podniku za účelem optimalizace [14].
2.1.5 Databázové systémy Tradiční a relativně nejčastější použití počítačů bylo a je v oblasti zpracování dat, tzv. hromadné zpracování dat (HZD). Tato klasická metoda má však svoje záporné vlastnosti a ty motivovaly ke vzniku databázových systémů majících vlastnosti [12]: ► struktury datových souborů jsou odděleny od uživatelských programů, ► přístup k datům je možný jen prostřednictvím programů databázového systému, ► data je možné vyhodnotit jakýmkoliv způsobem, ► je umožněn přístup více uživatelů současně a vyřešena ochrana dat před zneužitím. Databáze (DB, database) nebo také báze dat je centrálně zpracovávaná struktura dat, pro kterou je vytvořena jediná interní organizace dat, společná pro všechny oblasti a způsoby využití těchto dat. Centrální správa databáze, kde jsou obsaženy všechny implementační programy, jsou realizovány prostřednictvím specializovaného programového vybavení, které se nazývá systém řízení báze dat (DBMS, database management system). Tento systém zahrnuje [12]: ► prostředky pro popis dat, které se někdy označují jako jazyk typu DDL (data definition language – jazyk pro definici dat), slouží k vytvoření všech definic uživatelských dat potřebných v aplikaci ► prostředky pro popis algoritmu, označované jako jazyk typu DML (data manipulation language – jazyk pro manipulaci s daty), používá se jednak k aktualizaci dat (tj. změnám dat v databázi, přidávání a rušení), jednak k výběru dat z databáze podle daných požadavků. Č ást DML určená pro výběr dat se nazývá dotazovací jazyk (query language). Ten spolu s DB tvoří databázový systém (DBS, database system).
Strana 22
2 Projektování informačních systémů
DBS
DBMS
DB
DDL
DML
Query Language
Obr. 4 Složení DBS Architektura DBS [12]: ► Externí úroveň (external level) je reprezentována daty z pohledu uživatele. Reprezentují je např. výstupní tiskové sestavy, formuláře pro vstup dat, popř. jiná data, která obsahují informaci užitečnou pro uživatele systému. ► Konceptuální úroveň (conceptual level) je integrovaným pohledem nebo schématem celé databáze. Popis databáze na konceptuální úrovni se nazývá logické schéma databáze (logical database scheme). ► Interní úroveň (internal level) koresponduje s vlastním fyzickým uložením dat a metodami přístupu k datům. Popis databáze na této úrovni se nazývá fyzické schéma databáze (physical database scheme). Externí úroveň (External level)
Pohled uživatelele 1
Pohled uživatelele 2
Konceptuální úroveň (Conceptual level)
Logické schéma
Interní úroveň (Internal level)
Fyzické schéma
Obr. 5 Architektura DBS
...
Pohled uživatelele n
2 Projektování informačních systémů
Strana 23
Modely dat IS a jeho konstrukce je určitým druhem modelu reality. Před vybudováním databáze je tedy nutné analyzovat realitu a vytipovat objekty, o nichž chceme v databázi udržovat informaci. Objekty lze přitom rozdělit do dvou tříd [12]: ► Entity – rozumíme jimi abstrakce libovolných existujících věcí, ► Hodnoty – charakterizují, popisují entity. Atributy jsou vlastnosti entit, přiřazují každé entitě z množiny entit hodnotu z nějaké neprázdné množiny nazývané doména atributu. Atribut je tedy funkce z množiny entit do domény atributu. Vztahy mezi entitami nazýváme relace. Atribut či množina atributů, jehož hodnoty jednoznačně určují každou entitu v množině entit se nazývají klíčovým atributem dané množiny entit. Nejčastější případ vztahů mezi množinami entit (kardinalita vztahu) [12]: ► kardinalita 1:1 – každá entita z množiny entit je spojena vztahem s nejvýše jednou entitou druhé množiny, ► kardinalita 1:N – reprezentuje situace, kdy každá entita z první množiny entit je spojena vztahem s žádnou nebo více entitami z druhé množiny, ale každá entita z druhé množiny je spojena vztahem s nejvýše jednou entitou z první množiny entit, ► kardinalita M:N – je nejobecnější, nejsou kladena žádná omezení na množinu dvojic entit spojených příslušným vztahem. Entito-relační model (E-R model) je schématickým znázorněním množin entit, jejich atributů a vztahů mezi nimi grafickou formou [12]. Entity nebo množiny entit Atributy Relace, vztahy mezi entitami nebo množinami entit Spojení symbolů Značení jednoduchého výskytu ve vztahu
1
Značení vícenásobného výskytu ve vztahu
M, N
Obr. 6 Grafická symbolika E – R modelů Postup vytváření E-R modelu Nejprve určíme a pojmenujeme zobrazované objekty z reality a vztahy mezi nimi, které nás budou zajímat. Následně rozhodneme o rozdělení objektů na entity a hodnoty. Definičním oborům vztahů mezi entitami a atributům se podle potřeby přiřadíme nová jména, stanovíme identifikátory entit, u vztahů mezi entitami určíme jejich typ (1:1, 1:N, M:N). Výsledně sestrojíme grafické zobrazení modelu [12].
Strana 24
2 Projektování informačních systémů
Návrh struktury relační databáze, normalizace Návrh struktury databáze je dán definovanými pravidly plynoucími z funkčních závislostech mezi doménami atributů vybraných z určitých relací [12]. Na základě těchto pravidel se dále provádí normalizace, převod relačního schématu do tzv. vyšších normálních forem. Tímto je pak databáze připravena pro efektivní návrh.
2.2
Požadavky na IS
Pro úspěšný návrh a realizaci IS je důležitá správná specifikace vstupních požadavků. Předpokládá se vytvoření reprezentativního souboru požadavků na IS. Požadavky by měly mít následující strukturu [9]: ► co se požaduje, ► proč se takový požadavek vznáší, ► co realizace požadavku přinese, ► kdo jej předkládá, ► jaká je jeho priorita. Při sestavování je potřeba také rozlišit mezi následujícími pojmy [9]: Požadavek je přímo vznesená žádost zákazníka, který je schopen její splnění uhradit Problém představuje situaci, kdy se obrací zákazník na dodavatele s prosbou o její řešení, protože si sám zákazník s touto situací už neví rady (žádost na řešení na základě oboustranné dohody pak přechází v požadavek). Potřeba je objektivní skutečnost, vyplývající z určitých okolností. Pokud však není podložena požadavkem, je často na dodavateli, zda se rozhodne ji splnit. (Neřešená, naléhavá potřeba často přechází v problém). Přání je představa zákazníka. Zákazník se domnívá, že by uskutečnění této představy mělo zákazníka velmi dobře uspokojit, bohužel však často mylně. Vzniklý soubor požadavků se zkontroluje pro úplnost, bezrozpornost a duplicitu požadavků. Evidenci a správě požadavků při tvorbě IS je v současné době věnována stále větší pozornost. Tato problematika je označována odborným termínem Software Requirement Management – SRM. Využívá se specializovaných produktů (např. Requisite Pro) a zvláštních postupů, protože řada zákazníků nedovede specifikovat své informační požadavky, ale dovede se vyjádřit např. k nabídnutým vzorům obrazovek [9].
2.3
Návrh IS Při návrhu IS se obvykle používá následujícího postupu [9]: ► Analýzuje se současný stav používaných informačních a firemních procesů ve vymezené předmětné oblasti příslušné firmy/instituce. ► provede se rozbor požadavků uživatele na požadovaný IS. ► specifikují se potřebné technické prostředky. ► specifikují se potřebné programové prostředky s návrhem, které je potřeba zakoupit a které je potřeba vyvinout. ► stanoví se doporučení případných příslušných organizačních změn. ► stanoví se doporučení pro fázi provozu IS včetně návrhu potřebného organizačního zajištění IS a školení obslužného personálu a školení uživatelů.
2 Projektování informačních systémů
► ► ►
Strana 25
specifikace investic spojených s návrhem IS. stanoví se doporučení pro postup realizace navrhovaného IS. jiné (záruky, poradenství, návrh způsobu servisu apod.).
Rozhodně bychom neměli přistupovat k návrhu dříve, než jsme analyzovali stávající stav (Current Status Analysis) a důkladnou analýzu požadavků na požadovaný IS. Obsah výsledného návrhu by měl být obsažen v předmětu smlouvy o dílo.
2.4
Metody a moduly tvorby software
Metody strukturovaného přístupu Metody strukturované analýzy a návrhu se v detailech liší. Vycházejí však ze stejných principů uplatňovaných v systémovém inženýrství, které lze výstižně shrnout takto [9]: ► ► ► ► ► ►
Abstrakce Strukturalizace Hierarchie Modularita Iterace Systémový přístup
Metoda SSADM je jednou z metod strukturovaného přístupu. Metoda důsledně odděluje logický a fyzický návrh. Zkoumá systém z hlediska třech pohledů [9]: ► pohled na funkce, které má systém plnit, ► pohled na data, která mají být v systému uložena, ► pohled na události, které probíhají v systému v určitých časových okamžicích. Metoda obsahuje přesně definovanou spoluúčast uživatelů na analýze a návrhu tak, aby se zajistila maximální uživatelská přívětivost systému a aby byly splněny požadavky zákazníka. Metoda splňuje obecné cíle, které jsou vlastní všem metodám softwarového inženýrství a které jsou v ní již implicitně zahrnuty [9]: ► Návrh informačního systému s těmi funkcemi, které uživateli umožní maximální podporu informačních a řídících procesů. ► Návrh báze dat, která s ohledem na požadované funkce obsahuje vhodně uspořádaná potřebná data. ► Návrh vhodných programových a technických prostředků pro realizaci informačního systému. ► Návrh potřebných personálních, organizačních a finančních zabezpečení pro vybudování a vlastní provozování informačního systému. ► Zabezpečení přiměřené kvality všech činností prováděných během návrhu. ► Zajištění co možná nejmenších nákladů na návrh, realizaci a provozování informačního systému. ► Zajištění dokumentace průběhu a výsledků všech činností spojených s návrhem informačního systému. Mimo tyto všeobecné cíle definuje SSADM explicitně cíle následující [9]: ► Poskytnutí požadovaného systému zákazníkovi ve stanoveném termínu a bez překročení rozpočtu. ► Dodání systému, který vyhovuje požadavkům zákazníka.
Strana 26
2 Projektování informačních systémů
►
Zajištění vysoké flexibility dodávaného systému, který musí reagovat na změnové řízení v organizaci zákazníka. Zvýšení kvality navrhovaného systému zmenšením počtu chyb. Zvýšení produktivity při projektování systému. Zajištění nezávislosti na dodavateli hardwaru a softwaru. Aplikace technik projektového řízení k účinnějšímu plánování a řízení projektu.
► ► ► ►
Metoda SSADM klade důraz na správnost a náročné provedení prvních etap projektu, protože čím dříve se odhalí chyba, tím menší jsou pak náklady na její odstranění. Architektura SSADM sestává ze tří fází [9]: ► Fáze úvodního projektu. Zde se definují problémy, na základě nich se setaví projekt. ► Fáze analýzy. Zde se provede analýza stávajícího systému, následně se specifikují požadavky na novou podobu systému a vyberou se vhodné nástroje realizace. ► Fáze návrhu. Zde proběhne současně návrh procesů a struktury dat a bude proveden fyzický návrh. Metoda SSADM je velmi úsporná v používání diagramů. Při analýze a návrhu používáme pouze tři druhy diagramů [9]: ► Diagramy toku dat (DFD – Data Flow Diagram) pro popis funkcí. ► Diagramy logických datových struktur (LDS - Logical Data Structure) pro popis logických vazeb mezi datovými entitami ► Diagramy životního cyklu dat (ELH - Entity Life History) pro popis vlivu událostí na stav datových entit systému.
Metody objektově orientovaného přístupu Objektově orientované programování představuje dnes pojem, který doslova hýbe počítačovým světem. Všeobecně se mluví o objektově orientovaném programování jako o moderní metodě návrhu programů a jejich realizaci Objektově orientovaná technologie vychází z abstrakce reálného světa, ze kterého vyděluje objekty, které jí slouží k lepšímu pochopení reálného světa a k jeho modelování. Analogicky k objektům v reálném světě zavádí i vzájemné vztahy mezi abstraktními objekty [9]. V počítači je objekt realizován jako abstraktní datová struktura. Každý objekt má svůj název odlišný od jmen jiných objektů a atributy, které ho charakterizují. Atributy objektu nejen charakterizují jeho vlastnosti, ale vypovídají o stavech objektu, případně popisují historii průběhu jeho aktivity [9]. Koncepce abstraktních datových struktur je však již delší dobu známa a používána ve strukturovaném programování a datové modelování s nimi běžně pracuje. Nový přístup objektově orientované technologie spočívá v tom, že pojem objekt zahrnuje také činnosti, které jsou s objektem svázány. v praxi je objekt vytvořen strukturou datových položek různých typů a činnosti jsou realizovány procedurami, resp. funkcemi. Toto spojení datových struktur s algoritmy nazýváme zapouzdření (ENCAPSULATION) a činnosti zapouzdřené do objektu označujeme jako metody (METHODS) [9]. Objekty se společnými vlastnostmi sdružujeme do tzv. tříd (CLASSES), což nám umožňuje přehledně uspořádat všechny objekty do určitých skupin. Definice objektu, podobně jako definice typu proměnné, pouze popisuje druh objektu a jeho vlastnosti ve vztahu k jiným objektům. Konkrétní výskyt příslušného druhu objektu se nazývá instance. Instance mohou mezi sebou spolupracovat tím, že si vyměňují zprávy, kterými si sdělují různé žádosti na provedení potřebných akcí instancí jiného objektu. Zprávy figurují jako elementární kroky a zároveň zajišťují návaznost jednotlivých kroků, aby se dosáhlo požadovaných složitých činností [9].
2 Projektování informačních systémů
Strana 27
Sdružování objektů, které mají podobné atributy a chování, do tříd nám však neslouží pouze k utřídění objektů. Existence tříd nám umožňuje zavést mechanismus dědictví. Mechanismus zděděných vlastností můžeme i porušit a určitou instanci individualizovat. Polymorfismus přináší objektově orientované technologii možnost univerzálnosti v používání objektů, která dosud nebyla programátorům k dispozici [9].
K podrobnější analýze a objektově orientovanému návrhu se používá v poslední době nejrozšířenější metoda UML (Unified Modeling Language). Tato metoda je orientována na grafický popis objektově orientovaných systémů [9]. Model v UML se skládá z různých diagramů (Use Case diagram, diagram typu jednání, diagram tříd, diagram sekvence událostí), jež představují průhledy na různé části sémantického základu navrhované aplikace. Sémantickým základem je souhrn specifikací aplikace, který vymezuje teritorium, v němž se může návrh pohybovat. Jazyk UML rozeznává pět základních pohledů na systém [9]: ► Pohled případů užití. v případech užití jsou vyjádřeny základní požadavky kladené na systém. Veškeré další pohledy se pohybují v mantinelech vymezených pohledem případů užití. ► Logický pohled se zabývá zejména pojmy z problémové domény zadavatele a jejich vzájemnými statickými vztahy. ► Procesní pohled se soustřeďuje na chování systému, které musí splňovat požadavky a omezení z případů užití, jež jsou kladeny na průběh procesů. Pregnantně řečeno, jedná se o procesně orientovaný doplněk logického pohledu. ► Implementační pohled zachycuje fyzické rozdělení aplikace na samostatné komponenty a jejich závislosti. ► Pohled nasazení mapuje komponenty na množinu fyzických výpočetních uzlů v cílovém prostředí. Modely tvorby SW Postupy – životní cykly, které popisují základní představu o tvorbě SW nazýváme v softwarovém inřenýrství konceptuálními modely tvorby SW. Rozeznáváme jich celou řadu. Vodopádový životní cyklus (The Waterfall Life Cycle) neodráží známou skutečnost ”zpětných kroků” při tvorbě SW a nutnost důkladného prověřování výsledků každé etapy. V tomto tvaru však neodráží vodopádový model potřebné „zpětné kroky“ při tvorbě SW a nutnost důkladného prověřování každé etapy. Proto bývá brána v potaz spíše jeho níže vyobrazená modifikace. V–životní cyklus (The V Life Cycle) vychází z konceptu potřeby neustálého testování, aby se dosáhla vysoká jakost SW. Ukazuje nutnost plánovat testy současně se vznikem požadavků na ověřování jednotlivých kroků. Objektově orientovaný životní cyklus (An Object Oriented Life Cycle) je dalším možným typem životního cyklu SW, jehož použití bude v budoucnu stále narůstat na významu je Objektově orientovaný životní cyklus, který odráží objektově orientovaný přístup ke tvorbě SW. Významnou součástí komponent modelu je knihovna tříd, která slouží jako zásobník programových prvků pro nově vytvářená řešení. Velmi moderním trendem vývoje aplikačního SW je vývoj se zvýšenou společnou účastí budoucích uživatelů a s využitím myšlenky rychlého vytvoření základního jádra aplikace, které se postupně rozšiřuje se současným využíváním prvotně vytvořených programových funkcí. Takový vývoj nazýváme rychlý vývoj aplikace (Rapid Applications Development) [9].
Strana 29
3
ZADÁNÍ PROJEKTU
3.1
Účel projektu
Autor tohoto projektu hodlá založit vlastní firmu zabývající se obchodní a převážně servisní činností v oblasti výpočetní techniky. Počítá se se zavedením účetního sofware a internetového obchodu. Dále má autor v plánu zavést informační systém pro podporu činnosti servisních služeb. Tento informační systém by měl sloužit jak firmě, tak i potřebám klientů. Systém by měl evidovat zaměstnance, klienty, jejich položky (dále komponent) a zakázky těchto komponent. Klienti by mohli sami své zakázky průběžně kontrolovat, komentovat a hodnotit. Pro firmu by měl systém z evidencí umět zpracovat informace o častých závadách komponent a vybrat možná řešení vedoucí k jejich rychlému odhalení. Firma tak bude moci zpracovat daleko více zakázek za menší čas. Při průzkumu trhu obdobných informačních systémů, nebyl takový vhodný systém nalezen. Výroba takového systému na zakázku byla z hlediska výše nákladů zamítnuta, proto se rozhodl autor tento systém vytvořit sám s tím, že k návrhu a řešení projektu pod názvem „informační systém logistiky servisní firmy“ využije svoje znalosti, které nabyl během předchozích zaměstnání v tomto oboru. Cílem tohoto projektu bude vytvoření informačního systému povahy webové aplikace splňující následující požadavky.
3.2
Specifikace požadavků
Vlastnosti požadavky: ► ► ► ►
► ► ► ►
►
budoucího
informačního
systému
jsou
stannoveny
následujícími
Vytvoření informačního systému, ke kterému bude mít přistup firma, klienti firmy, ale i široká veřejnost. Systém bude veřejnosti poskytovat informace o aktuálních událostech spojených s poskytovanými službami a o podmínkách pro uskutečnění zakázek. Vytvoření databáze pro evidenci zaměstnanců, klientů, zakázek, komponent, závad a Klienti budou mít přístup ke svým účtům, kde budou moci prohlížet seznamy svých komponent, k nim příslušný seznam zakázek s možností ohodnocení jejich průběhu řešení. Hodnocení budou sledována firmou v rámci statistik. Komunikace mezi klienty a techniky bude probíhat formou poznámek v úrovni zakázky. vytvoření ceníku servisních prací s možností editace a v rámci zakázek s možností kalkulace cen provedených prací. Systém bude ze zpracovávaných zakázek patřičně doplňovat databázi častých závad a na základě povahy závady vybírat jejich možné řešení. Systém bude rovněž vyhodnocovat kvalitu komponent. Celkové náklady na realizaci tohoto systému by měly být pokud možno co nejnižší, nejlépe nulové.
Strana 30
3.3
3 Zadání projektu
Č asový plán
Běžné projektové řízení zahrnuje stanovení realizačního týmu, vedoucího projektu, jednotlivých členů projektu, atd. v tomto případě je zastane sám autor, proto není potřeba tyto kroky dále řešit. Součástí projektového řízení je dále typické vymezit tzv. časový plán. Tento plán je složen z časových etap, které musí být pro jeho zdárné ukončení provedeny v určitém, předem pevně stanoveném sledu. Tyto etapy popisují úkony nad projektem a jsou definovány časem jejich možného trvání. Tento časový plán je pak průběžně porovnáván se skutečným průběhem prací na projektu a podle toho vyhodnocován. Před tím by však správně měla být provedena analýza rizik. Pracovník odpovědný za plánování projektu z firemní báze znalostí (knowledge base) stanoví adekvátně dlouhé časy pro jednotlivé etapy, tak aby práce v těchto etapách a samotný projekt byly včas ukončeny. Pro tento projekt byl vytvořen následující časový plán:
1. Formulace zadání a specifikace požadavků V této časové etapě bude vstupem určení oblasti projektu a zmapování požadavků na funkci systému. Výstup etapy bude dokument strukturované textové formy, obsahující zpracovaný soupis těchto požadavků (viz podkapitoly 3.1 a 3.2) včetně zpracovaného časového plánu. Stanovená doba pro realizaci této etapy je 1 týden.
2. Volba vhodných nástrojů pro realizaci systému Vstupními informacemi pro tuto etapu bude dokument soupisu požadavků z první etapy. Výstupem bude výběr vhodných, lehce dostupných a použitelných informačních a programových nástrojů pro realizaci systému. Vybrané nástroje pro realizaci jsou obsahem kapitoly 4. Stanovená doba pro realizaci této etapy je 2 týdny.
3. Funkční analýza Pro tuto etapu je vstupem dokument z první etapy. Na základě tohoto dokumentu se v této etapě zpracuje funkční analýza projektu, která poslouží jako výstup z etapy. O funkční analýze pojednává podkapitola 5.1. Stanovená doba pro realizaci této etapy je 4 týdny.
4. Datová analýza Vstupem bude funkční analýza a seznam vhodných nástrojů realizace systému. Tyto informace poslouží k návrhu a vypracování datové struktury budoucího systému. Výstupem bude grafická a textová podoba datových struktur. Zpracovaný výstup této etapy obsahuje podkapitola 5.2. Stanovená doba pro realizaci této etapy je 2 týdny.
3 Zadání projektu
Strana 31
5. Bezpečnostní analýza Vstupem etapy bude výběr vhodných nástrojů. Práce v této etapě bude spočívat v lokalizaci bezpečnostních opatření spojených s vybranými nástroji realizace a povahou navrhovaného systému. Výstupem etapy bude soupis těchto opatření (viz podkapitola 5.3.). Stanovená doba pro realizaci této etapy je 1 týden.
6. Návrh grafické podoby systému V této časové etapě budou vstupem informace z druhé a třetí etapy. Ůkolem bude vytvořit prvotní grafický návrh jednotlivých sekcí, připravit grafický návrh celkového vzhledu a zaimplementovat ho v průběhu programování systému. Výstupem této etapy bude realizace těchto návrhů. Ukázky výsledné podoby systému najdeme v podkapitole 6.1. Stanovená doba pro realizaci této etapy je 3 týdny.
7. Realizace systému V této etapě proběhne samotné programování systému. Vstupy pro programování tvoří poznatky ze všech předchozích etap. Výstupem této etapy bude funkční prototyp realizovaného systému (viz podkapitola 6.2). Stanovená doba pro realizaci této etapy je 6 týdnů.
8. Ladění a testování systému, ukončení projektu Vstupem je zrealizovaný systém. Úkolem této etapy bude vyladit prvotní verzi systému dle zjištěných nedostatků. Dále bude tento systém testován z hlediska bezpečnosti, dle stanovených bezpečnostních požadavků páté etapy. Výstupem bude již plně funkční systém. Touto etapou bude také celý projekt ukončen. Stanovená doba pro realizaci této etapy je 3 týdny.
Strana 33
4
VOLBA VHODNÝCH NÁSTROJŮ PRO REALIZACI SYSTÉMU
V dnešní informační době je k dispozici široká škála informačních a programových nástrojů určených pro návrch a realizaci informačních systémů, ze kterých lze vybírat. Výběr vhodných nástrojů by měl probíhat s zohledněním kritérií, která s návrhem a realizací informačního systému souvisejí. Pro realizaci tohoto informačního systému probíhal výběr vhodných nástrojů návrhu a realizace dle kritérií vycházejících ze stanovených požadavků na projekt s přihlédnutím míře znalostí autora o tvorbě informačních systémů. Rozhodovacím faktorem mezi podobnými si nástroji byla dostupnost a zpracování jejich dokumentace. Vybrané nástroje jsou (až na jedinou výjimku) povahy OpenSource. Pořízení a užívání těchto nástrojů je zdarma, což vyhovuje deklarovaným požadavkům, konkrétně požadavku spojeného s dosažením co nejnižších nákladů celkové realizace projektu. O jednotlivých prostředcích pojednávají následující podkapitoly.
4.1
Nástroje tvorby IS
4.1.1 HTML HTML (Hyper Text Markup Language) je hypertextový jazyk s příznaky. Úlohou tohoto jazyka je popis, jakým způsobem budou data zobrazena internetovým prohlížečem (browser). Prohlížeč tedy obsahuje překladač (interpretr) HTML, s jehož pomocí budou stránky patřičně zobrazeny. Tento jazyk nám umožňuje vkládat text, měnit formátování, vložit odkazy na jiné soubory, vkládat obrázky a spoustu dalších věcí. k tomu se využívá příkazů, tzv. tagů (značek). Mezi tagy se uzavírají části textu dokumentu a tím se určuje význam (sémantika) obsaženého textu. Názvy jednotlivých značek se uzavírají mezi úhlové závorky (
). Část dokumentu uzavřená mezi značkami tvoří tzv. element (prvek) dokumentu. Součástí obsahu elementu mohou být další vnořené elementy. Atributy jsou doplňující informace, které upřesňují vlastnosti elementu. Značky rozeznáváme párové a nepárové. Párové značky rozlišujeme počáteční (
) a koncové. Koncová značka má před názvem značky znak lomítko (). Nepárové značky, jak z pojmenování vyplývá, budou jenom jedny (například vykreslení vodorovné čáry (
). Kromě těchto značek se mohou vyskytovat i další prvky. ► ► ► ►
Direktivy - začínají znaky „
Dobrou příručkou HTML je internetová stránka http://www.jakpsatweb.cz/html/.
Strana 34 4 Volba vhodných nástrojů pro realizaci systému Struktura HTML dokumentu pro verzi 4.01 má následující podobu:
Titulek stránky Nadpis stránky
Toto je tělo dokumentu
4.1.2 CSS CSS (Cascading Style Sheets, tabulky kaskádových stylů) vznikly jako souhrn metod pro úpravu vzhledu webových stránek. Hlavním smyslem je tvůrcům webových stránek umožnit oddělit vzhled dokumentu od jeho struktury a obsahu. Jazyk byl navržen standardizační organizací W3C (www.w3.org). První návrh normy byl zveřejněn v roce 1994, v roce 1996 byla pak vydána specifikace CSS 1 , ta sloužila k formátování obsahu HTML. CSS 2 vydaná v roce 1998 již podporuje i XHTML a XML dokumenty a umožňuje vytvářet různé výstupy pro jednotlivá koncová zařízení (monitor, tiskárna, pda apod.). Má podobu souboru stylů s příponou .css, který se připojuje k HTML dokumentu. Výhody CSS: ► konzistentní styl. Všechny stránky webové prezentace mají stejný styl nadpisů, seznamů, textů apod. ► dynamická práce se styly. Změna sytlu webové prezentace přepsáním jediného souboru (soubor stylů). ► kratší doba načítání stránky. Zkrácení výsledného HTML kódu. Stylový předpis se skládá z posloupnosti pravidel. Pravidlo sestává ze dvou částí. První částí je selektor, který specifikuje skupinu elementů na nichž bude pravidlo aplikováno. Selektor by měl začínat vždy na novém řádku. Druhou částí jsou k němu přidružené deklarace uzavřené v složených závorkách. Pokud je deklarací více, jsou pak odděleny středníkem a mezerou. Samotná deklarace je složena z vlastnosti a její hodnoty oddělené dvojtečkou. Příklad CSS stylu: h1 { margin: 5px; }
/* vzhled nadpisu první úrovně */ /* okraj šířky 5 pixelů */
Selektor je „h1“, deklarace je „margin:5px“, vlastnost „margin“, hodnota „5px“. Podrobně se CSS zabývá internetová stránka http://www.jakpsatweb.cz/css/.
4 Volba vhodných nástrojů pro realizaci systému Strana 35 4.1.3 JavaScript JavaScript je interpretovaný, multiplatformní programovací jazyk s jednoduchými objektově orientovanými schopnostmi, syntakticky podobný jazykům C, C++ a Java. JavaScript se využívá pro okamžitou úpravu CSS kódu či jako „doplněk“ při vytváření webové grafiky. Patří mezi skriptovací jazyky běžících na straně klienta. Jeho charakteristikami jsou: ► ► ► ► ► ►
nemusí se kompilovat, využívá objektů prohlížeče a zabudovaných objektů case sensitivní, rozlišuje se velikost písma v zápisu uživatel může JavaScript zakázat neumí přistupovat k souborům ani k žádným systémovým objektům neumí žádná data uložit
Univerzální jádro jazyka bylo vloženo do webových prohlížečů, což umožňuje vložit do HTML kódu stránky proveditelný obsah. Stránky se tak stávají dynamické a mohou obsahovat nejrůznější programy, které komunikují s uživatelem, řídí chování prohlížeče. Jak už zde bylo zmíněno JavaScript je programovacím jazykem citlivým na velikost písmen. Je třeba přesně dodržovat velikost písmen v klíčových slovech nebo identifikátorech. JavaScript ignoruje mezery, tabulátory a nové řádky vyskytující se mezi literály, operátory, identifikátory klíčových slov, proměnných, funkcí nebo objektů. To uživateli umožňuje přehledně členit zdojový text JavaScriptového programu. Pokud je potřeba zapsat na jednu řádku více příkazů JavaScriptu, lze oddělit jednotlivé příkazy středníkem „ ; ”. Pokud je však uveden pouze jediný příkaz na řádce, umožňuje JavaScript středník neuvést, stejně tak za posledním příkazem na řádce. Do zdrojového textu programu JavaScriptu je možné umístit libovolné poznámky. Veškerý text mezi značkou dvou lomítek „ // ” a koncem řádky je JavaScriptem považován za poznámku a ignorován. Pro uvedení víceřádkové poznámky lze použít počáteční značku lomítko, hvězdička „ /* ” a koncovou značku hvězdička, lomítko „ */ ”, přičemž veškerý text mezi těmito značkami je považován za poznámku a ignorován. JavaScriptový kód je obvykle umístěn do těla stránky mezi značky <SCRIPT> a . Podrobně se JavaScriptu věnuje webová adresa http://www.jakpsatweb.cz/javascript/.
4.1.4 SQL SQL (Structured Query Language) je strukturovaným dotazovacím neprocedurálním jazykem umožňujícím fungování relačního řídicího systému. Je také množinově orientovaný databázový jazyk, který zpracovává data v množinách. Popisuje, s jakými daty pracovat, nikoli jak s nimi pracovat. Kód jazyka SQL nepíšeme v žádném samostatném programu, ale vkládáme jej do jiného programovacího jazyka, který je již procedurální. Se samotným jazykem SQL můžeme pracovat pouze v případě, že se terminálem připojíme na SQL server a na příkazový řádek bychom zadávali přímo příkazy jazyka SQL. Nejčastěji užívaným stadartem SQL dnešní doby je SQL3 organizace ANSI (Američan National Standards Organization). Jazyk plně akceptuje síťovou architekturu klient – server a je použitelný pro různé platformy. Je složen z několika částí: ► DDL (Data Definition Language). Je jazykem pro definování databázových struktur.
Strana 36 systému
4 Volba vhodných nástrojů pro realizaci
►
SDL (Storage Definition Language) definuje způsob ukládání tabulek VDL (View Definition Language) je jazyk určen pro návrháře a správce, určuje se vytváření pohledů. DML (Data Manipulation Language) je jazykem obsahujícím základní příkazy INSERT, UPDATE, DELETE, SELECT. s jazykem DML pracují nejvíce koncoví uživatelé a programátoři databázových aplikací.
► ►
u databáze je možno v rámci jazyka SQL provozovat následující operace: ► získávání informací z databáze ► aktualizace obsahu databáze ► modifikace struktury databáze ► změny bezpečnostního nastavení systému ► přidání oprávnění pro přístup k databázím a tabulkám Struktura dotazů SQL je popsána blíže v učebním textu Databázové systémy autora Doc. RNDr. Ing. Miloše Šedy, Ph.D. [9].
4.1.5 MySQL MySQL je definován jako multiplatformní relačním databázový systém typu DBMS (database management system), za jejímž vývojem je firma MySQL AB. Podporované vlastnosti MySQL: ► cizí klíče ► transakce ► podpora různých znakových sad a časových pásem ► poddotazy ► uložené procedury ► triggery ► pohledy Software MySQL se skládá z několik částí: ► server MySQL (démon mysql, jenž souští a udržuje databáze) ► klient MySQL (program mysql, který nabízí rozhraní pro správu serveru) ► další nástroje k údržbě a dalším účelům Databáze MySQL je tvořena z jedné nebo více tabulek, které mají řádky a sloupce. V řádcích rozeznáváme jednotlivé záznamy. Sloupce mají jméno a uvozují datový typ jednotlivých polí záznamů. Komunikace s tímto systémem probíhá pomocí jazyka SQL, doplněného o některá rozšíření. MySQL nabízí několik typů databázových tabulek (storage engine), které se liší svými možnostmi, použitím a způsobem ukládání dat do souborů, z nichž nejznámější jsou: ► ►
MyISAM – tento typ je bez podpory transakcí. InnoDB – transakce jsou u tohoto typu podporovány.
Systém může obsahovat na 60 000 tabulek s více než 5 miliardami řádků. Pro svou snadnou implementovatelnost, výkon a je volně šiřitelným softwarem, má v současné době vysoký podíl na poli používaných databází.
4 Volba vhodných nástrojů pro realizaci systému Strana 37 Pohled je databázový objekt, který uživateli poskytuje data ve stejné podobě jako tabulka. Na rozdíl od tabulky, ve které jsou data přímo uložena, obsahuje pohled pouze předpis, jakým způsobem mají být data získána z tabulek nebo z jiných pohledů. Z toho vyplývají některé zásadní rozdíly v chování tabulky a pohledu: Současnou bezplatnou verzi 5.0 lze získat na adrese http://dev.mysql.com/downloads, dokumentaci k MySQL pak nalezneme na adrese http://dev.mysql.com/doc/.
4.1.6 Apache HTTP Server Jedná se o softwarový webový server, zajišťující obsluhu prohlížečů jednotlivých návštěvníků. Název Apache vznikl z anglického slovního spojení „A patchy server” (záplatovaný server). Odvozen je z historie programu, kdy byl Apache mezi správci serverů používán s mnoha různými záplatami a úpravami. Tento nástroj se stal brzy celosvětově nejužívanějším řešením HTTP serveru na Internetu. V roce 2005 jeho použití dosáhlo 69% (z výsledků měření Netcraft). Jeho výhody jsou: ► stabilní ► výkonný ► multiplatformní ► ohromné konfigurační vlastnosti ► modul PHP umožňuje dynamické změny obsahu v závislosti na návštěvníkovi ► je zdarma. OpenSource technologie Apache HTTP Server je možno získat např. na adrese http://www.apache.org/ .
4.1.7 PHP Označení PHP bylo původně zkratkou anglické fráze „Personal Home Page“. Dnes je tento skriptovací jazyk, určený pro programování dynamických webových stránek, označován jako „Hypertext Preprocesor“. Jazyk PHP je navržen tak, aby vykonal určitou činnost jako reakci na výskyt určité události. Jedná se o servrovou technologii. Všechno, co se v kódu PHP odehrává, se odehrává na serveru (server-side programming) podle zadaných kritérií a výsledek je odeslán volajícímu počítači stejným způsobem, jakým se odesílají běžné statické stránky. Postup zpracování požadavku klienta na server je zobrazen na obrázku č. 7. PHP umožňuje procedurální i objektově orientované programování. Není zde nutné předem definovat typ proměnných, navíc jakákoli proměnná může kdykoli změnit svůj typ. Příkazy PHP se vkládají do struktury dokumentů HTML, XHTML či WML. Oddělují se značkami (nebo pouze ). Takto ohraničených oblastí lze vložit do kódu i více, ale nesmí být vnořeny jedna do druhé. Syntaxe PHP je velmi podobná syntaxi jazyka C. Aby server věděl, že má v souboru hledat příkazy PHP, musí mít soubor správnou příponu, obvykle .php, .php3 nebo .phtml. PHP nabízí k dispozici rozsáhlé knihovny různých funkcí (práce se soubory, zpracování grafiky, atd.), přístup k většině databázových serverů, například MySQL, Oracle, PostgreSSQL a podporuje spoustu protokolů, příkladem HTTP, FTP, SMTP, POP3 a další. Při programování webových aplikací bývá dnes po celém světě nejčastěji využíván skriptový jazyk PHP a databáze MySQL. Tato kombinace, společně s webovým serverem
Strana 38 4 Volba vhodných nástrojů pro realizaci systému (programem) jménem Apache nazývaná triáda, se i nám osvědčuje pro svou flexibilitu. Mezi další výhody této sestavy patří široká dostupnost hotových funkcí a fragmentů kódu a také neustálý vývoj těchto programů. Příklad včlenění php kódu do truktury HTML dokumentu:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
PHP - ukázka 1 Aktuální čas: Požadavek na adresu URL Klient HTML
SERVER
HTML PHP Požadavek skriptu
Obr. 7 Průběh zpracování požadavku v modelu klient – server s použitím php PHP je možno získat například na internetové adrese http://www.php.net.
4.1.8 DBDesigner Tato aplikace je přehledným vizuálním prostředím, které v sobě zahrnuje profesionální nástroje pro tvorbu, modelování a údržbu MySQL databází. Snaží se vyrovnat takovým nástrojům jako jsou například Oracle's Designer nebo IBM's Rational Rose. Za vývojem této aplikace stojí skupina fab FORCE, povaha produktu je opět OpenSource. Aplikace umožňuje rychlou práci s databázemi pomocí jednoduchého modelování E – R datových diagramů. DBDesigner 4 je zatím poslední aktuální verzí, která je ke stáhnutí dostupná na stránkách http://fabforce.net/.
4 Volba vhodných nástrojů pro realizaci systému Strana 39
Obr. 8 Protředí DBDesigner 4 4.1.9 PSPad
Obr. 9 Prostředí PSPad
Strana 40 4 Volba vhodných nástrojů pro realizaci systému PSPad je český freewarový editor z dílny Jana Fialy, určený je pro potřeby programátorů. PSPad umí zvýraznit syntaxi jednotlivých souborů, což velmi usnadní jejich úpravy, zvláště pokud se jdná o dlouhé soubory. Kromě tradičního HTML podporuje editor zvýraznění syntaxe pro FoxPro, INI soubory, C, C++, Java, Javascript, VBScript, ObjectPascal, MS-DOS Batch Language, Perl, PHP, SQL, Visual Basic a x86 Assembly Language.. Velice užitečnou funkcí jsou šablony, kdy je program schopny napovídat v rámci syntaxe. PSPad nabízí spoustu dalších užitečných funkcí, o kterých se můžeme dozvědět více na strankách tvůrce http://www.pspad.com/cz/ odkud lze stáhnou i jeho aktuální verzi 4.5.2 Instalaci je možno získat např. na domovské stránce produktu http://www.fabforce.net.
4.2
Nástroje tvorby grafiky IS
4.2.1 Adobe Photoshop Tento bitmapový grafický editor společnosti Adobe Systems je plně profesionální program pro práci s grafikou. v rámci k jeho širokým a propracovaným možnostem zpracování grafiky a uživatelské přívětivosti je momentálně nejčastěji používaným grafickým editorem současnosti. Autorovy předchozí zkušenosti s tímto programem, jakož i jeho typické užívání pro úkoly obdobného typu profesionálními grafiky předurčily jeho nasazení pro zpracování grafického návrhu podoby budoucího informačního systému. Pro práci bylo užito starší programové verze 7.0. Poslední aktuální vydaná verze programu je 10.0 CS3. Více informací o tomto nástroji a možné koupi poskytuje jeho výrobce ADOBE na internetových stránkách http://www.adobe.com/. Alternativním řešením je použití opensourcového nástroje GIMP, který je svou funkčností podobný výše zmíněnému komerčnímu nástroji. Prozatím však nedosahuje takových kvalit. Pro jednodušší návrh grafiky stránek je však dobře použitelný. Poslední verzi GIMPu 2.2 lze získat na adrese http://www.gimp.org/, kde je vedena i dokumentace tohoto nástroje.
Obr. 10 Prostředí Adobe Photoshop 7.0
4 Volba vhodných nástrojů pro realizaci systému Strana 41
Obr. 11 Prostředí GIMP 2.2 4.3
Ostatní podpůrné nástroje
4.3.1 Open Office Jedná se kancelářský balík aplikací a spadá do oblasti opensource software, který je dostupný pro všechny platformy zdarma. Tento balík sestává s textového procesoru, tabulkového procesoru, nástroje na tvorbu prezentací, nástroje pro práci s databázovými daty a nástroj pro tvorbu diagramů a dalších grafických objektů. Aktuální verzi 2.3 lze získat na adrese http://www.openoffice.cz/, kde se nachází i podrobná dokumentace tohoto balíku aplikací a mnoho podpůrných šablon, maker a podobně. Z tohoto balíku poslouží k orientačním grafickým náčrtům podoby navrhovaného systému textový editor.
Strana 42 systému
4 Volba vhodných nástrojů pro realizaci
Obr. 12 Prostředí textového editoru Open Office 2.1
Strana 43
5
ANALÝZA PROJEKTU
5.1
Funkční analýza
Z deklarovaných nedostatků stávájícího systému vedení evidence zakázek a s tím vzniklých požadavků firmy a průběžné konzultace s firmou byla v rámci třetí časové etapy sestaven následující soupis popisu funkcí projektovaného systému. Funkční chování systému dle oprávnění přistupující osoby: Sekce veřejnost Tato sekce slouží široké veřejnosti a nabízí k prohlížení základní informace firmy, k dispozici je náhled na seznam servisních prací poskytovaných firmou. v rámci této sekce je možnost se přihlásit k vlastnímu účtu. Nabídky menu budou následující: přihlášení, aktuálně, podmínky, kontakty. Sekce zákazník Zde přistupují přihlášení zákazníci. v rámci této sekce má zákazník přístup ke svým osobním údajům, v kterých lze měnit osobní údaje, může prohlížet své komponenty a zakázky. Je mu umožněno komunikovat s technikem řešícím jeho zakázku a může hodnotit průběh zakázek. Tak jako ve veřejné sekci bude moci i zde nahlížet na ceník servisních prací. Nabídky v této sekci budou: odhlášení, aktuálně, podmínky, osobní list, seznam zakázek, seznam komponent, ceník prací, kontakty. Sekce administrace Zde přistupují zaměstnanci firmy. Tato sekce nabízí stejné vlastnosti jako v případě sekce zákazníka. Dále je rozšířena o kompletní administrativu spojenou s evidencí klientů, zakázek (bude umožněn jejich tisk), komponent, servisních prací a informací poskytovaných firmou. Umožňuje také pohled na statistiku o datech uložených v rámci databáze a sledování kvality komponent. k urychlení detekce závad komponent bude k dispozici databáze častých závad, poskytující množinu vyřešení těchto závad. Nabídky této sekce budou: odhlášení, aktuálně, podmínky, osobní list, seznam osob, nová osoba, seznam zakázek, seznam komponent, nová komponenta, typy komponent, nový typ komponenty, ceník prací, nová práce, závady, seznam zjištění, nové zjištění, statistiky, kontakty. Výpis funkcí v rámci jednotlivých nabídek z menu systému: Příhlášení Tato nabídka obsahuje pole pro vkládání textu, konrétně uživatelského jména a hesla. Potvrzením tlačítkem „Přihlásit“ vstoupíme do příslušné sekce dle oprávnění uživatele a bude zobrazena nabídka „Aktuálně“. v případě špatně zadaných údajů se pole pro vkládání textu vyčistí pro nové zadávání. Přihlášenému uživateli místo nabídky „Přihlášení“ zobrazí tlačítko „Odhlásit“. Vypsáno bude jméno a příjmení přihlášené osoby fungující zároveň jako tlačítko pro přístup do nabídky „Osobní list“. Tlačítko „Odhlásit“ přepne uživatele zpět do veřejné sekce.
Strana 44
5 Analýza projektu
Aktuálně, Podmínky, Kontakty Při zvolení těchto nabídek bude zobrazen text, plněný administrátorem v podobě statické HTML stránek.. Následující nabídky budou stránkami s dynamickým obsahem: Osobní list Funkčnost z pohledu administrace: Nabídka zobrazí osobní údaje přihlášené osoby a seznam komponent, které uživatel vlastní. v části s osobními údaji bude k dispozici tlačítko „Upravit“ umožňující vstup do formuláře „Editace osoby“ pro upravování údajů, jehož funkce bude podrobněji popsána v rámci nabídky „Nová osoba“. Ve formuláři nebude možné měnit údaj „typ“ (označení oprávnění přistupující osoby), který bude pouze ke čtení. Seznam komponent bude utvořen z komponent, které daná osoba vlastní. Údaje o komponentě budou řazeny za sebou na řádku. Výpis údajů je následující: kód, typ, název, prodej, záruka a zásahy. Za nimi následuje tlačítko „Detail“, které nám zobrazí podsekci „Detail komponenty“. Tato podsekce je podrobně popsána u nabídky „Seznam komponent“ . Dalším tlačítkem „Smazat“ provedeme smazání příslušné komponenty. Funkčnost z pohledu zákazníka: Funkce nabídky osobního listu budou stejné jako v pohledu administrace. u seznamu komponent nebudou tlačítka „Detail“ a „Smazat“. Seznam osob Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. Generuje seznam osob vedených v databázi, který bude seřazen podle příjmení. Na jednotlivých řádcích budou vypsány za sebou následující údaje: příjmení, jméno, telefon, firma, adresa doručení. Za nimi následují vždy dvě tlačítka. První tlačítko „Detail“ umožní zobrazení nabídky „Osobní list“, následující tlačítko „Smazat“ opět vede do osobního listu s tím, že bude položen dotaz, zda-li chceme uživatele opravdu smazat. k tomuto dotazu bude možno volit ze dvou odpovědí pomocí příslušně popsaných tlačítek. Tlačítko „Ano“ uživatele z databáze odstraní včetně komponent a zakázek, které k němu patří a stejně jako tlačítko „Ne“ zajistí přesun zpět do seznamu osob. Krom generovaného seznamu osob bude k dispozici vyhledávání dle příjmení nebo jména. Bude tvořené textovými poli kam se bude vpisovat hledaný text. Vyhledávání a vypsání seznamu s nalezenými osobami bude spuštěno tlačítkem „Odeslat dotaz“. Vedle něj bude tlačítko“Všechny osoby“ generující výpis všech osob z databáze. Nová osoba Nabídka vyvolá formulář „Editace osoby“ pro zadávání osobních údajú a jejich ukládání do databáze. ► povinné údaje, bez nichž se údaje z formuláře nezapíšou do databáze a bude podáno hlášení o nezapsaných údajích o jméno, příjmení, telefon, uživatelské jméno, heslo, a kopie hesla fungující k ověřenosti správně zadaného hesla. Pokud bude kopie hesla špatná, nebudou údaje formuláře odeslány do databáze ► nepovinné údaje o adresa doručení, název,firmy, I ČO, DI Č, fakturační adresa, Email, ICQ
5 Analýza projektu
Strana 45
Údaj „typ“ bude řešen selektivní nabídkou ze dvou stavů: zákazník, technik. Součástí formuláře bude tlačítko „Storno“, jím se vrátíme do nabídky „Seznam osob“. Tlačítko „OK“ uloží údaje do databáze. Seznam zakázek Funkčnost z pohledu administrace: Jak z názvu vyplývá, vygeneruje se seznam všech zakázek z databáze, seřazených podle jejich stavů. Podrobnější popis stavů je popsán níže v podsekci „Detail zakázky“. Seznam bude sestaven, na řádku za sebou řazenými, následujícími údaji o zakázce: kód, typ, závada, název komponenty, stav, přijato, klient (příjmení, jméno). Údaj se jménem a příjmením bude zároveň funkčním tlačítkem, které odkáže do osobního listu klienta. Za nimi následuje tlačítko „Tisk“ umožňující vytvoření tiskové sestavy dané zakázky. Vybrané údaje pro tiskovou sestavu včetně ukázky její grafické podoby lze vidět na obrázku č. X v podkapitole 6.1. Za tlačítkem „Tisk“ následuje tlačítko „Detail“, jež odkáže do podsekce „Detail zakázky“ a tlačítko „Smazat“, které rovněž odkáže do podsekce s tím že bude položen dotaz, zda-li chceme zakázku opravdu smazat. k tomuto dotazu bude možno volit ze dvou odpovědí pomocí příslušně popsaných tlačítek. Tlačítko „Ano“ zakázku z databáze odstraní a stejně jako tlačítko „Ne“ navede zpět do seznamu zakázek. Krom generovaného seznamu zakázek bude k dispozici vyhledávání a to dvojího typu. První vyhledávání bude tvořené textovým polem kam se bude vpisovat hledaný kód. Druhé vyhledávání bude spočívat v hledání zakázek dle jejich stavu pomocí selekce. Vyhledání a vypsání konkrétních zakázek bude v obou případech spuštěno tlačítky „Hledat“. Vedle nich budou tlačítka „Zobraz vše“ generující výpis všech zakázek z databáze. Funkčnost z pohledu zákazníka: Opět se vygeneruje seřazený seznam zakázek z databáze, ale pouze těch které se týkají uživatele. Seznam bude sestaven, na řádku za sebou seřazenými, následujícími údaji o zakázce: kód, typ, závada, název komponenty, stav, přijato. Za nimi následuje tlačítko „Detail“, odkezující do podsekce „Detail zakázky“. Opět bude k dispozici vyhledávání, ale pouze v rámci zakázek patřících zákazníkovi. Podsekce „Detail zakázky“ Funkčnost z pohledu administrace: Podsekce bude sestavena z pěti funkčních částí. v první části budou vybrány a vypsány z databáze údaje o zakázce: kód, typ, doklad, stav, závada, zjištění, řešení, přijato, vyřízeno, vydáno, technik. Dále údaj cena zásahů, jehož hodnota bude při typu zakázky „reklamace“ stále rovna nule, jinak se bude tato hodnota počítat jako suma cen souvisejících servisních prací. Součástí této části bude tlačítko „Upravit“, které nám otevře formulář „Editace zakázky“, podrobněji popsaný níže. Druhou částí budou vypsané údaje o klientovi: příjmení, jméno, telefon. Přijmení klienta bude zároveň funkčním tlačítkem, které odkáže do osobního listu. Třetí částí bude výpis údajů o komponentě, pro kterou je zakázka řešena: kód, typ, název komponenty, výrobce. Kód komponenty bude zároveň funkčním tlačítkem pro přesun do podsekce „Detail komponenty“ (popsáno v rámci nabídky „Seznam komponent“). Část čtvrtá bude plnit dvě funkce. Zobrazovat seznam servisních prací vykonaných nad zakázkou. Pro plnění tohoto seznamu bude použito selekce z prací obsažených v ceníku prací (viz nabídka „Ceník prací“). Pro přidání vybrané práce použijeme tlačítka „Vložit práci“, zároveň dojde k návýšení hodnoty údaje „cena zásahů“ v první části podsekce o hodnotu ceny této servisní práce.
Strana 46
5 Analýza projektu
Poslední pátá část bude věnována komunikaci mezi klientem a technikem. Bude umožněno vkládat komentář k zakázce do textového pole. Záznam bude evidován k zakázce pomocí tlačítka „Vložit“. Jeho struktura bude následující: datum a čas, příjmení a jméno píšící osoby, typ osoby, text poznámky. Tyto komentáře budou řazeny pod sebou. Funkčnost z pohledu zákazníka: Podsekce bude mít následující funkční části. První část je téměř stejná jako v pohledu administrace, nebude zde tlačítko „Upravit“ pro editaci zakázky. Druhá, třetí a pátá část jsou totožné s pohledem administrace. Čtvrtá část obsahuje pouze seznam servisních prací vykonaných nad zakázkou. Přibude ještě funkční část hodnocení zakázky. To bude umožněno po překlopení stavu zakázky zaměstnancem na stav vyzvednuto (stavy jsou popsány v rámci formuláře „Editace zakázky“). Hodnocení bude řešeno vybráním známky 1 (spokojen) – 5 (nespokojen) a k zakázce připsáno potvrzovacím tlačítkem „Hodnotit“ a další možnost zásahu do hodnocení se tímto uzavře. Formulář „Editace zakázky“ Tento formulář bude určen k zadávání údajú o zakázce a jejich ukládání do databáze. ► Údaj kód bude generován inkrementačně, automaticky při vzniku nové zakázky ► Údaj technik (příjmení a jméno zaměstnance) bude automaticky dopsáno po potvrzení tlačítkem „OK“ (viz níže). ► Údaj typ bude vybírán selekcí dvou stavů: servis, reklamace. ► Údaj stav bude vybírán selekcí ze čtyř možností: probíhá, nevyřízeno, vyřízeno, vyzvednuto. ► Údaj zjištění bude vybírán selekcí ze seznamu zjištění (viz nabídka „Seznam zjištění“). Při tomto způsobu výběru a potvrzením tlačítkem „OK“ dojde k inkrementaci zaznamenávaného počtu použití tohoto zjištění, pokud zjištění v seznamu chybí, je možné ho doplnit v rámci údaje nové zjištění do příslušného textového pole. ► Údaje doklad, závada, řešení budou zapisována do textových polí. ► Údaje přijato, vyřízeno, vydáno budou v tomto pořadí postupně doplňovány aktuálním datem a časem. Údaj přijato při prvním uložení zakázky do databáze, údaj vyřízeno při nastavení zakázky na stav vyřízeno a údaj vydáno při nastavení na stav vyzvednuto. Součástí formuláře bude tlačítko „Storno“, jím se vrátíme do podsekce „Detail zakázky“. Tlačítko „OK“ uloží údaje do databáze a opět se přesuneme do podsekce detailu zakázky. Seznam komponent Funkčnost z pohledu administrace: Zde se vygeneruje seznam všech komponent z databáze, seřazených podle jejich počtu zásahu. Tento údaj je součtem všech zakázek souvisejících s komponentou. Seznam bude sestaven, na řádku za sebou řazenými, následujícími údaji o komponentě: kód, typ, název komponenty, prodej, záruka, zásahy, klient (příjmení, jméno). Údaj se jménem a příjmením bude zároveň funkčním tlačítkem, které odkáže do osobního listu klienta. Za nimi následuje tlačítko „Detail“, jež odkáže do podsekce „Detail komponenty“ a tlačítko „Smazat“, které rovněž odkáže do podsekce s tím že bude položen dotaz, zda-li chceme komponentu opravdu smazat. K tomuto dotazu bude možno volit ze dvou odpovědí pomocí příslušně popsaných tlačítek. Tlačítko „Ano“ komponentu z databáze odstraní a stejně jako tlačítko „Ne“ zajistí přesun zpět do seznamu komponent.
5 Analýza projektu
Strana 47
Krom generovaného seznamu zakázek bude k dispozici vyhledávání tvořené textovým polem kam se bude vpisovat hledaný kód komponenty. Vyhledání a vypsání konkrétních zakázek bude spuštěno tlačítkem „Hledat“. Vedle něj bude tlačítko „Zobraz vše“ generující výpis všech komponent z databáze. Funkčnost z pohledu zákazníka: Opět se vygeneruje seřazený seznam zakázek z databáze, ale pouze těch které se týkají uživatele. Seznam bude sestaven, na řádku za sebou řazenými, ledujícími údaji o komponentě: kód, typ, název komponenty, prodej, záruka, zásahy. Za nimi následuje tlačítko „Detail“, jež odkáže do podsekce „Detail komponenty“. Opět bude k dispozici vyhledávání, ale pouze v rámci zakázek patřících zákazníkovi. Podsekce „Detail komponenty“ Funkčnost z pohledu administrace: Podsekce bude sestavena ze tří částí. V první části budou vybrány a vypsány z databáze údaje o komponente: kód, výrobce, typ, sériové číslo, záruka, doklad, kód distributora, datum prodeje. Dále příjmení,jméno a telefon vlastníka komponenty. Součástí této části bude tlačítko „Upravit“, které nám otevře formulář „Editace komponenty“, podrobněji popsaný níže. V druhé části bude generován seznam zakázek seřazených podle jejich stavu. Budou vypsány následující údaje: kód, typ, závada, přijato, stav. Za nimi následuje tlačítko „Detail“, jež odkáže do podsekce „Detail zakázy“ a tlačítko „Smazat“, které rovněž odkáže do podsekce s tím že bude položen dotaz, zda-li chceme komponentu opravdu smazat. Bude zde i tlačítko „Přidat“ umožňující přechod do formuláře „Editace zakázky“. Poslední třetí část bude určena technikům pro vkládání poznámek ke komponentě.. Bude umožněno vkládat komentář do textového pole. Záznam bude evidován ke komponentě pomocí tlačítka „Vložit“. Jeho struktura bude následující: datum a čas, příjmení a jméno píšící osoby, typ osoby, text poznámky. Tyto komentáře budou řazeny pod sebou. Funkčnost z pohledu zákazníka: Podsekce bude mít následující funkční části. První část je téměř stejná jako v pohledu administrace, nebude zde tlačítko „Upravit“ pro editaci komponenty. Druhá část nebude mít tlačítko „Přidat“, třetí část se klientům nebude zobrazovat. Nová komponenta Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. Nabídka vyvolá formulář „Editace komponenty“ pro zadávání údajú o komponentě a jejich ukládání do databáze. ► údaj kód bude generován inkrementačně, automaticky při vzniku nové komponenty ► povinné údaje, bez nichž se údaje z formuláře nezapíšou do databáze a bude podáno hlášení o nezapsaných údajích. Údaje název komponenty, výrobce, sériové číslo, záruka, doklad, kód ditributora, datum prodeje budou zadávány do textových polí ► údaj typ komponenty bude vybírán selekcí ze seznamu typů komponent (popsáno v nabídce „Typy komponent“) ► údaj klient bude vybírán selekcí ze seznamu osob. Součástí formuláře bude tlačítko „Storno“, jím se vrátíme do nabídky „Seznam komponent“. Tlačítko „OK“ uloží údaje do databáze.
Strana 48
5 Analýza projektu
Typy komponent Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. Zobrazí se seznam typů komponent seřazený inkrementačně dle identifikačních čísel typů komponent. Na řádku budou za sebou vypsány následující údaje: kód, název typu komponenty. Za nimi bude tlačítko „Upravit“, které odkáže do formuláře „Editace typu komponenty“ a tlačítko „Smazat“, které typ komponenty ze seznamu smaže. Nový typ komponenty Nabídka vyvolá formulář „Editace typu komponenty“ Tento formulář bude určen pro vyplnění názvu typu komponenty do textového okna a jeho uložení do databáze. k dispozici budou dvě tlačítka. Tačítko „OK“ umožní uložení nového typu do databáze a stejně jako tlačítko „Storno“ odkáže zpět do nabídky „Typy komponent“. Identifikační číslo k názvu typu komponenty bude inkrementálně automaticky doplněno v rámci odsouhlasení tlačítkem „OK“. Ceník prací Funkčnost z pohledu administrace: Zobrazí se seznam servisních prací, seřazený inkrementačně dle identifikačních čísel prací. Na řádku budou za sebou vypsány následující údaje: kód, popis práce, cena bez DPH. Za nimi bude tlačítko „Upravit“, které odkáže do formuláře „Editace práce“ a tlačítko „Smazat“, které servisní práci ze seznamu smaže. Funkčnost z pohledu zákazníka: Zobrazí se seznam servisních prací, seřazený inkrementačně dle identifikačních čísel prací. Na řádku budou za sebou vypsány následující údaje: kód, popis práce, cena bez DPH. Zákazník může seznam jen prohlížet. Nová práce Nabídka vyvolá formulář „Editace práce“ Tento formulář bude určen pro vyplnění údajů: identifikační kód, popis servisní práce, cena. Tyto údaje budou zadávány do textových oken a uloženy do databáze. k dispozici budou dvě tlačítka. Tačítko „OK“ umožní uložení nové servisní práce a stejně jako tlačítko „Storno“ odkáže zpět do nabídky „Ceník prací“. Identifikační číslo bude kontrolováno na duplicitu v rámci odsouhlasení tlačítkem „OK“. V případě duplicity čísla proběhne upozornění. Závady Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. Bude sestavena ze tří funkčních částí. První část bude výběr pomocí selekce z uložených typů komponent. Tlačítkem „Zobraz“ se pro vybraný typ komponenty vyberou všechna zjištění ze zakázek souvisejících s typem komponenty a v rámci druhé části vygeneruje seznam těchto zjištění. Seřazení seznamu bude pomocí údaje počet zjištění. Výpis údajů na řádku bude následující: počet zjištění, popis zjištění. Následovat bude tlačítko „Závady“, které dále pro třetí funkční část vyhledá, v rámci zakázek s tímto zjištěním a typem komponenty, všechny závady a příslušná řešení a vygeneruje jejich seznam. Ten bude tvořen na řádku údaji: závada, řešení.
5 Analýza projektu
Strana 49
Seznam zjištění Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. Zobrazí se seznam zjištění vkládaných v rámci administrace zakázek, seřazený inkrementačně dle identifikačních čísel zjištění. Na řádku budou za sebou vypsány následující údaje: kód, popis zjištění. Za nimi bude tlačítko „Upravit“, které odkáže do formuláře „Editace zjištění“ a tlačítko „Smazat“, které zjištění ze seznamu smaže. Nové zjištění Nabídka vyvolá formulář „Editace zjištění“ Tento formulář bude určen pro vyplnění popisu údaje zjištění do textového okna a jeho uložení do databáze. k dispozici budou dvě tlačítka. Tačítko „OK“ umožní uložení nového zjištění do databáze a stejně jako tlačítko „Storno“ odkáže zpět do nabídky „Seznam zjištění“. Identifikační číslo k údaji zjištění bude inkrementálně automaticky doplněno v rámci odsouhlasení tlačítkem „OK“. Statistiky Tato nabídka bude zobrazena pouze v případě přihlášeného zaměstnance. V rámci této nabídky se spočítá celkový počet zákazníků, zaměstnanců, reklamací, servisů a celkově zakázek vedených v databázi. Spočítají se klienti, kteří hodnotili své zakázky, z hodnocení jednotlivých zakázek se spočítájí průměrné známky hodnocení servisů, reklamací a zakázek celkově. Výstupem bude zobrazení těchto výsledků.
5.2
Datová analýza
5.2.1 Normalizované relace osoba(id, prihljmeno, heslo, jmeno, prijmeni, telefon, typ_o, adresa_d, firma, ico, dic, adresa_f, email, icq) Atributy budou mít následující vlastnosti vyplývající z funkční analýzy (viz formulář „Editace osoby“) na: ► Atributy prihljmeno, heslo, jmeno, prijmeni, telefon, typ_o musí vždy obsahovat data. ► Atributy adresa_d, firma, ico, dic, adresa_f, email, icq nemusí obsahovat data. polozka(id, osoba_id, druhkomponenty_id, nazev, vyrobce, seriovecislo, prodej, doklad, zaruka, kod) Položka, ve funkční analýze pod pojmem komponenta, patří určité osobě a je určitého typu (druh komponenty). druhkomponenty(id, nazev) komppozn(id, osoba_id, druhkomponenty_id, datum, text) zakazka(id, polozka_id, osoba_id, typ_z, zavada, reseni, doklad, prijato, vydano, vyrizeno, stav) Zakázka má vztah k určité osobě, položce a zjištění. Atribut prijato bude doplněn datem a časem automaticky při vytvoření nové zakázky. Atributy vydano a vyrizeno budou
Strana 50
5 Analýza projektu
automaticky plněny datem a časem podle aktuální hodnoty atributu stav. Toto plnění je podrobně rozebráno ve funkční analýze v rámci formuláře „Editace zakázky“. zakazka_ma_prace(id, prace_id, zakazka_id) Tato relace určuje, které práce budou ve vazbě s kterými zakázkami. práce(id, popis, cena_p, kod) poznamka(id, zakazka_id, osoba_id, datum, text) Poznámka se vztahuje k určité zakázce a osobě. Atribut datum bude automaticky doplněn při vytvoření nové poznámky zjisteni(id, popis) hodnoceni(id, zakazka_id, hodnota) Hodnocení se bude vztahovat k určité zakázce. Atributy id u všech relací budou generovány systémem tak, aby byly jednoznačné.
5.2.2 Datový slovník Na základě definovaných normalizovaných relací byl společně s vybranými poznatky v rámci funkční analýzy stanoven tento datový slovník:
Tabulka osoba Identifikátor id
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
prihljmeno heslo jmeno prijmeni telefon
Popis Identifikační číslo osoby (kód) Přihlašovací jméno Heslo Jméno Příjmení Telefon
Varchar Varchar Varchar Varchar Varchar
20 100 20 20 20
NE NE NE NE NE
NE NE NE NE NE
NE NE NE NE NE
typ_o
Typ osoby
Tinyint
1
NE
NE
NE
adresa_d firma ico dic adresa_f email icq
Adresa doručení Název IČO DIČ Adresa firmy Email ICQ
Varchar Varchar Varchar Varchar Varchar Varchar Varchar
255 255 20 20 255 255 20
NE NE NE NE NE NE NE
NE NE NE NE NE NE NE
ANO ANO ANO ANO ANO ANO ANO
Řešení textem, může být více telefonních čísel Nabývá hodnot: 0 – zákazník 1 – technik
5 Analýza projektu
Strana 51
Tabulka polozka Identifikátor id
Popis Identifikační číslo komponenty (kód) osoba_id Identifikační číslo osoby (kód) druhkomponenty_id Identifikační číslo druhu komponenty (kód) nazev Název vyrobce Výrobce seriovecislo SN prodej Prodej doklad Doklad zaruka Záruka kod Kód
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
Varchar Varchar Varchar Datetime Varchar Varchar Varchar
255 20 20
NE NE NE NE NE NE NE
NE NE NE NE NE NE NE
NE NE NE NE NE NE NE
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
datum
Popis Identifikační číslo poznámky (kód) Identifikační číslo zakázky (kód) Identifikační číslo osoby (kód) Datum a čas
Datetime
255
NE
NE
NE
text
Text poznámky
Text
20
NE
NE
NE
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
typ_z
Popis Identifikační číslo komponenty (kód) Identifikační číslo polozky (kód) Identifikační číslo osoby (kód) Identifikační číslo zjisteni (kód) Typ zakázky (typ)
Tinyint
1
NE
NE
NE
zavada reseni doklad prijato vydano vyrizeno stav
Závada Řešení Doklad Přijato Vydáno Vyřízeno Stav
Varchar Varchar Varchar Datetime Datetime Datetime Varchar
255 255 20
NE NE NE NE NE
NE NE NE NE NE
ANO ANO ANO ANO ANO ANO NE
20 20 20
Datum a čas Kód dodavatele
Tabulka poznamka Identifikátor id zakazka_id osoba_id
Vkládáno automaticky u nové poznámky
Tabulka zakazka Identifikátor id polozka_id osoba_id zjisteni_id
20
Nabývá hodnot 0 – Servis 1 – Reklamace Datum a čas Datum a čas Datum a čas Datum a čas Předdefinovány texty (Probíhá, Nevyřízeno, Vyřízeno, Vyzvednuto)
Strana 52
5 Analýza projektu
Tabulka druhkomponenty Identifikátor id
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Varchar
100
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
datum
Popis Identifikační číslo poznámky (kód) Identifikační číslo zakázky (kód) Identifikační číslo osoby (kód) Datum a čas
Datetime
255
NE
NE
NE
text
Text poznámky
Text
20
NE
NE
NE
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
NE
NE
Popis Identifikační číslo práce (kód) Identifikační číslo zakázky (kód) Identifikační číslo práce (kód)
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer
10
NE
ANO
NE
Integer
10
NE
ANO
NE
Popis Identifikační číslo práce (kód) Popis práce Cena bez DPH Kód
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Integer Integer Datetime
10 10 255
Popis Identifikační číslo zjištění (kód) Popis zjištění
Datový typ Integer
Délka Klíč Cizí klíč Null Pozn. 10 ANO NE NE Autoinkrementace
Varchar
255
nazev
Popis Identifikační číslo druhu komponenty (kód) Název
NE
NE
NE
Tabulka komppozn Identifikátor id polozka_id osoba_id
Vkládáno automaticky u nové poznámky
Tabulka hodnoceni Identifikátor id zakazka_id hodnota
Popis Identifikační číslo hodnocení (kód) Identifikační číslo zakázky (kód) Ohodnocení
Tabulka zakazka_ma_prace Identifikátor id zakazka_id prace_id
Tabulka práce Identifikátor id popis cena_p kod
NE NE NE
NE NE NE
NE NE NE
Tabulka zjisteni Identifikátor id popis
NE
NE
NE
5 Analýza projektu
5.2.3 Datový model
Strana 53
Strana 54
5.3
5 Analýza projektu
Bezpečnostní analýza
Bezpečnostní analýza má prvořadý význam u jakékoliv webové aplikace. Vždy hrozí riziko ztráty či zničení dat. Nebezpečí číhá i v podobě krádeže informací nepovolanou osobou nebo v nabourání webového serveru. Na základě průzkumu v oblasti zabezpečení informačních systémů, srovnatelných v rámci vybraných programových postředků a povahou autorem projektovaného systému, byly navrženy patřičné bezpečnostní opatření. Nově navrhovanéný systém bude pak schopen případné útoky odhalit a blokovat a bude tak zajistěna jeho relativní bezpečnost. Navrhovaná bezpečnostní opatření: ► ► ► ► ► ► ►
► ► ► ► ►
Předpokládá se umístění aplikace na takovém serveru, který zajišťuje bezpečnost v rámci použitých technologií – Apache HTTP Server, PHP, MySQL. Zabezpečení proti uploadu PHP skriptů (kontrola koncovky) Zabezpečení proti vkládání škodlivého kódu v rámci url (include) Zabezpečení systému na úrovni skriptů (zamezení přístupu na skripty, které dle nevyhovujícího oprávnění uživatele nemají být zobrazeny) Po delší nečinnosti bude uživatel ze systému automaticky odhlášen Nepoužíjí se globální proměnné v PHP Ukládání hesel do databáze bude probíhat pomocí otisku (hash) – jednosměrné šifrování řetězců hesel pomocí kryptografického algoritmu MD5 (Message – Digest algorithm 5) Zamezení interpretace HTML kódu (značky HTML jsou aplikací filtrovány) Script Injection – zamezení vkládání falešných nebo nebezpečných parametrů aplikaci. SQL Injection – zamezení útoků falešných (neexistujících) SQL příkazů Zavedení metody Secure FTP – podpora šifrovaného přístupu přes FTP na virtuální server. Možné použití nádstavby protokolu HTTPS (užití SSL), poskytující zvýšenou bezpečnost před odposloucháváním nebo podvržením dat. Zakladní podmínkou je podpora HTTPS na straně hostingu, který implicitně komunikuje prostřednictvím TCP portu 443. Server musí vlastnit certifikát. Toto zabezpečení se předpokládá spíše u placených hostingů.
Strana 55
6
REALIZACE INFORMAČNÍHO SYSTÉMU
6.1
Návrhy grafické podoby sekcí IS
Rozložení jednotlivých grafických a funkčních prvků se dobře modelovalo s použitím textoveho editoru Open Office. Na obrázku je vidět, jak bude vypadat budoucí struktura obsahu stránek.
Obr. 13 Ukázka detailu osoby
Obr. 14 Ukázka detailu zakázky
Strana 56
6.2
6 Realizace informačního systému
Realizovaná podoba IS
Obr. 15 Ukázka detailu osoby z pohledu klient
Obr. 16 Ukázka seznamu zakázek z pohledu klienta
6 Realizace informačního systému
Obr. 17 Ukázka detailu zakázky z pohledu klienta
Obr. 18 Ukázka detailu zakázky z pohledu technika
Strana 57
Strana 58
6 Realizace informačního systému
Obr. 19 Ukázka seznamu komponent
Obr. 20 Ukázka detailu komponenty
6 Realizace informačního systému
Obr. 21 Ukázka detailu zakázky
Obr. 22 Ukázka z databáze nejčastějších závad
Strana 59
Strana 60
6 Realizace informačního systému
Obr. 23 Ukázka z formuláře „Editace osoby“
Obr. 24 Ukázka tiskového výstupu zakázky
6 Realizace informačního systému
6.3
Strana 61
Zhodnocení časového plánu projektu 1. Formulace zadání a specifikace požadavků Stanovená doba realizace této etapy byla 1 týden. Termín etapy byl splněn včas. 2. Volba vhodných nástrojů pro realizaci systému u této etapy byla stanovená doba 2 týdny, i zde se podařilo splnit časový limit. 3. Funkční analýza Tato etapa představovala 4 týdny. Č asový limit byl opět splněn.
4. Datová analýza Stanovená doba pro realizaci etapy byla 2 týdny. Etapa nebyla dokončena včas, skutečná doba návrhu datové struktury trvala 4 týdny. Tímto došlo v projektu ke ztrátě dvou týdnů. 5. Bezpečnostní analýza Na realizaci této etapy byl stanoven 1 týden. Časový limit byl lehce přetažen, ale lze ho brát za splněný. 6. Návrh grafické podoby systému Čas pro realizaci této etapy byl stanoven na 3 týdny. Zde se podařilo návrhy zpracovat dříve a byl tím ušetřen jeden týden. Časový skluz projektu se tím zkrátil na jeden týden. 7. Realizace projektu Stanovená doba pro realizaci etapy byla 6 týdnů. Tato část projektu si vyžádala pro zpracování nakonec 8 týdnů. Došlo zpět k nárustu skluzu celkem na 3 týdny. 8. Ladění a testování, ukončení projektu. u této etapy byla stanovená doba 3 týdny. Zde se podařilo splnit časový limit etapy. Celkový časový skluz projektu činí 3 týdny. V případě, kdy by šlo o projekt komerčního charakteru, jsou v rámci smlouvy o dílo deklarovány případné sankce za nedodržení stanoveného termínu realizace. Pak tento celkový časový deficit projektu by mohl pro realizátora mít nepříjemný finanční dopad. V případě projektu řešeného v této práci se však jedná o nekomerční projekt, pouze pro potřeby autora projektu a proto žádná penalizace za tento časový deficit nehrozí.
Strana 62
6 Realizace informačního systému
Strana 63
7
ZÁVĚR
Tato práce řeší praktický problém, konkrétně jde o rozšíření a zkvalitnění služeb v nově budované firmě, ve které zamýšlí být autor práce osobně zainteresován. K dosažení tohoto nelehkého cíle zvolil autor cestu nasazení moderního informačního systému, ve kterém by bylo možno sledovat časté závady, kvalitu dílů, spokojenost zákazníků a další ukazatele. Tento systém autor vyvinul od samého počátku s využitím poznatků a znalostí, které jsou v práci rovněž zmíněny v úvodní teoretické pasáži, za současného využití progresívních prostředků pro návrh a realizaci dynamických online informačních systémů, jako jsou bezesporu HTML, CSS, PHP a MySQL. Práce je částečně pojata i jako návodné řešení pro realizace obdobných problémů, proto jsou v ní uvedeny relativně rozsáhlé detaily o konkrétním problému (v pasáži datové analýzy) a dále autor užil i některé části z oblasti metodiky projektového řízení (stanovení etap projektu včetně jejich časové složitosti a následné sledování a průběžné vyhodnocování stavu projektu). Právě aplikace projektového řízení může být velmi užitečná v případě realizace obdobného typu projektu na čistě komerční bázi, kde mívá každá významější odchylka od původně plánovaného průběhu nemalé sankční dopady (především v návaznosti na smlouvu o dílo). V práci užívá autor zejména volně šiřitelné vývojové prostředky, což dále snižuje náklady na realizaci projektu. Jediným komerčním produktem v celém vývojovém řetězci tak zůstal Adobe Photoshop, který si však své začlenění díky svým kvalitám bezesporu zaslouží. Cílů práce se podařilo autorovi dosáhnout. Přesto je jistě možné daný informační systém dále rozvíjet, nabízí se kupříkladu začlenění modulu pro vstup čarových kódů jako prostředku další významné optimalizace logistiky firmy.
Strana 65
SEZNAM POUŽITÉ LITERATURY [1]
[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]
CASTAGNETTO, J.; RAWAT, H.; SCHUMANN, S.; SCOLLO, Ch.; VELIATH, D. Programujeme PHP profesionálně. 2.opravené a aktualizované vydání. Brno: Computer Press, 2004. 656s. ISBN 80–7226–310–2 GRUSOVÁ, L. CSS pro úplné začátečníky. Brno: Computer Press, 2003. 130s. ISBN 80–7226–680–2 HRONEK, L. HTML kapesní přehled. Brno: Computer Press, 2004. 110s. ISBN: 80–722–6958–5 KOSEK, J. PHP–Tvorba interaktivních internetových aplikací. Praha: Grada Publishing, 1999. 492s. ISBN 80–7169–373–1 LACKO, L. PHP a MySQL Hotová řešení. Brno: CP Books, a.s., 2005. 299s. ISBN 80–251–0397–8 STEPHENS, R.K.; PLEW, R.R. Naučte se SQL za 21 dní. Brno: Computer Press, 2004. 581s. ISBN 80–722–6870–8 ŠIMŮNEK, M. SQL Kompletní kapesní průvodce. Praha: Grada Publishing, 1999. 247s. ISBN 80–7169–692–7 ULLMAN, L. PHP a MySQL Názorný průvodce tvorbou dynamických WWW stránek. Brno: Computer Press, 2004. 534s. ISBN 80–251– 0063–4 LACKO, B.
Navrhování systémů řízení. [PDF dokument]. 2006. Brno. Dostupný z: . LACKO, B. Projektování řídících systémů. [PDF dokument]. 2006. Brno. Dostupný z: . ROUPEC, J. Počítačové sítě. [PDF dokument]. 2002. Brno. Dostupný z: . ŠEDA, M. <[email protected]> Databázové systémy. [PDF dokument]. 2002. Brno. Dostupný z: . ŠEDA, M. <[email protected]> Zpracování informací. [PDF dokument]. 2002. Brno. Dostupný z: . FARNÝ, M. Logistika v informačním systému podniku. Zlín, 8 s., Seminární práce na fakultě Managementu a Ekonomiky ve Zlíně. JANOVSKÝ, Dušan. Jak psát web [online]. 2006, 12.10.2007 [cit.2007-12.-09]. Dostupné z: . Interval.cz [online]. Brno : Vývoj aplikací, 2007 [cit. 5. 10 2007]. Dostupné z: .