Univerzita Karlova v Praze Matematicko-fyzikální fakulta
BAKALÁSKÁ PRÁCE
Ji°í Kun£ar
Informa£ní systém pro jazykovou agenturu Ústav formální a aplikované lingvistiky
Vedoucí bakalá°ské práce: RNDr. Miroslav Spousta
Studijní program: informatika, správa po£íta£ových systém·
2009
D¥kuji panu RNDr. Miroslavu Spoustovi za pomoc, p°ipomínky, cenné rady a za odborné vedení bakalá°ské práce. Dále bych rád pod¥koval rm¥ Primalingua s.r.o. za poskytnutí prost°edk· na vývoj aplikace. Speciální pod¥kování pat°í p°edev²ím paní majitelce Mgr. Milu²i Psotové a paní RNDr. Jitce Kun£arové, která vývoj informa£ního systému iniciovala.
Prohla²uji, ºe jsem svou bakalá°skou práci napsal samostatn¥ a výhradn¥ s pouºitím citovaných pramen·. Souhlasím se zap·j£ováním práce a jejím zve°ej¬ováním. V Praze dne 6.8.2009
Ji°í Kun£ar
2
Obsah 1 Analýza úlohy
8
1.1
Poºadavky klienta . . . . . . . . . . . . . . . . . . . . . . . .
8
1.2
Denice a up°esn¥ní pojm· . . . . . . . . . . . . . . . . . . .
9
2 Existující implementace
11
3 Návrh °e²ení
13
4 Pouºité technologie a frameworky
14
4.1
Server
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
4.2
Klient
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
5 Programátorská dokumentace
18
5.1
Databázové schéma . . . . . . . . . . . . . . . . . . . . . . .
18
5.2
Adresá°ová struktura . . . . . . . . . . . . . . . . . . . . . .
18
6 Uºivatelská dokumentace
19
6.1
Instalace serveru
. . . . . . . . . . . . . . . . . . . . . . . .
19
6.2
Umíst¥ní aplikace . . . . . . . . . . . . . . . . . . . . . . . .
20
6.3
Inicializace databáze
. . . . . . . . . . . . . . . . . . . . . .
20
6.4
Up°es¬ující informace . . . . . . . . . . . . . . . . . . . . . .
21
6.5
Správce (hlavní manaºer) . . . . . . . . . . . . . . . . . . . .
21
6.6
Dodavatel
25
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Název práce: Informa£ní systém pro jazykovou agenturu Autor: Ji°í Kun£ar Katedra (ústav): Ústav formální a aplikované lingvistiky Vedoucí bakalá°ské práce: RNDr. Miroslav Spousta e-mail vedoucího: Miroslav.Spousta@m.cuni.cz Abstrakt: Cílem práce je navrhnout a implementovat modulární informa£ní systém pro rmu zabývající se výukou jazyk·. Sou£ástí informa£ního systému bude zejména: - modul pro nabídku a prodej kurz· pro ve°ejnost, individuální výuku, jazykovou výuku pro podniky, p°eklady a tlumo£ení - modul produkty (výuka, p°eklady, tlumo£ení), výuka (individuální výuka, kurzy pro ve°ejnost, jazyková výuka pro podniky) - modul pro News (hromadné rozesílání mailem), rozvrh výuky, t°ídní knihy, studijní materiály - modul dodavatelé (smlouvy s lektory, p°ekladateli, tlumo£níky, m¥sí£ní výkazy odpracovaných hodin, m¥sí£ní p°ehledy náklad· na lektory, p°ekladatele, tlumo£níky) - modul odb¥ratelé (zápisy do kurz· pro ve°ejnost, objednávky, smlouvy, p°ílohy faktur za období od-do) - modul pro testování znalostí (jednoduché testovací prost°edí) - modul pro správu IS (uºivatelé, jejich práva, p°ehled zm¥n). Klí£ová slova: informa£ní systém, PHP, MySQL
Title: Information system of a language school Author: Ji°í Kun£ar Department: Institute of Formal and Applied Linguistics Supervisor: RNDr. Miroslav Spousta Supervisor's e-mail address: Miroslav.Spousta@m.cuni.cz Abstract: The goal of the thesis is to design and implement a modular information system for a company involved in teaching of foreign languages. The main parts of the information system will include, particularly: - a module for oer and sale of courses to the public and individuals, language training for businesses, translation and interpretation - a module of products (teaching, translation and interpretation), training
4
(individual training courses for the public, language classes for businesses) - a module for News (sending bulk mail), the schedule of teaching, class books, study material - a module of suppliers (contracts with teachers, translators, interpreters, monthly class-sheets, monthly reports on the cost of sta translators and interpreters) - a module of customers (registration in courses, orders, contracts, supplements to invoices for "from-to" periods) - a module for testing of knowledge levels (a simple testing environment) - a module for managing the IS (users, their rights and a summary of changes) Keywords: information system, PHP, MySQL
5
Úvod Informa£ní systémy hrají v rychle se rozvíjejícím prost°edí svou nepostradatelou roli a Internet jim poskytl výbornou platformu úmoº¬ující dal²í rozvoj v d°íve nep°íli² vyuºívaném prost°edí. Úmoº¬ují snadné a rychlé zpracování, vyhledávání a publikovaní informací, které se díky n¥mu stávají dostupné pro ²ir²í spektrum zákazník·, dodavatel· i samotných zam¥stanc·. S vyuºíváním Internetu, ale zárove¬ rostou nároky na funkce, bezpe£nost a dostupnost uloºených informací, které jsou pro chod rem ºivotn¥ d·leºité. Toto zvy²uje poºadavky na robustnost °e²ení v£etn¥ nárok· na nástroje pouºité p°i implementaci systému. P°ed zavád¥ní informa£ního systému je nutné stanovit, £eho chce rma s vyuºitím nového systému v daném £ase dosáhnout. Tomu by m¥la pomoci d·kladná analýza remních proces· a jejich optimalizace.
Kdo nepozná vlastní remní procesy, nem·ºe je zlep²ovat. [citát] Z p·vodních jednoduchých aplikací na Informa£ný systém, Client/Server.
Cíle práce Cílem práce je návrh a implementace informa£ního systému usnad¬ující £innost a spolupráci více subjekt· za pouºití vhodných opensource technologií a framework· v pouºitých programovacích jazycích. Cílem práce není vytvo°it, vzhledem k náro£ným právním úpravám a £astým zm¥nám, komplexní ú£etní program, ale systém úmoºní vytvo°it p°ehledy pro ú£etní evidenci, které mohou být zavedeny do n¥kterého jiº existujícího programu.
6
Obsah práce •
Analýza úlohy
•
Poºadavky
•
Existujicí implementace - IS na míru vs. hotová °e²ení
•
Návrh vlastní implementace
bezpe£nost: Sanitize,
∗
SQL Injection, Cross Site Scripting
výkonnost (pouºití cache) optimalizace GET/POST poºadavk· na stránku
•
Programátorská dokumentace
•
Uºivatelská dokumentace
Poznamky k prepsani.... Ve druhé kapitole této práce je provedena analýza úlohy s ohledem na n¥kolik motiva£ních praktických p°íklad·. V této kapitole jsou mimo jiné stanoveny poºadavky na °e²ení a je uveden p°ehled obdobných existujících implementací. Ve t°etí kapitole jsou stru£n¥ popsány technologie dále pouºívané v této práci a je ukázáno jejich pouºití. tvrtá kapitola popisuje návrh vlastní implementace s ohledem na poºadavky stanovené v kapitole druhé. Jsou zde základní návrhová rozhodnutí a d·vody pro volbu konkrétních °e²ení. Pátá kapitola obsahuje programátorskou dokumentaci. Je zde popsáno technické °e²ení implementace a jsou nastín¥ny n¥které problémy, které bylo p°i implementaci nutné °e²it. Uºivatelská dokumentace je obsaºena v ²esté kapitole. Popisuje uºivatelské rozhraní vytvo°ených aplikací a ukazuje jejich pouºití na konkrétních p°íkladech. V záv¥ru jsou p°ehledn¥ shrnuty výsledky, kterých bylo p°i vývoji systému dosaºeno, a jsou nazna£eny moºnosti dal²ího roz²í°ení.
7
Kapitola 1 Analýza úlohy 1.1 Poºadavky klienta Na za£átku stála ºádost manaºerky agentury zjednodu²it proces zpracování m¥sí£ních výkaz· lektor·, p°ekladatel· a tlumo£ník· tvo°ících podklady pro mzdy a fakturaci sluºeb. Tyto m¥sí£ní výkazy nem¥ly jednotný vzor a ani nebylo jednodu²e moºné, bez znalostí místních pom¥r· p°i°adit vykázanou £innost k jednotlivým produkt·m.
Zavedení jednotných identikátor· Kv·li vý²e uvedným problém·m se za£alo s postupným zavád¥ním jednotných identikátor· závazných pro v²echny zú£astn¥né strany. Tento krok byl ze za£átku velmi t¥ºce sná²en a trvalo n¥kolik m¥síc·, neº se tento proces tvorby ustálil a za£al být v²emi akceptován.
M¥sí£ní výkazy Vzhledem k velkým rozdíl·m mezi jednotlivými lektory, p°ekladateli a tlumo£níky, bylo rozhodnuto, ºe se v první fázi za£ne s jednotým papírovým formulá°em [@todo odkaz na prilohu]. Ten bude následn¥ zkontrolován administrativním pracovníkem a vloºen do systému, aby se p°ede²lo chybám.
8
Podklady pro fakturaci Se vzr·stajícím objemem p°eklad· a odu£ených hodin p°estávalo být únosné ru£ní vytvá°ení m¥sí£ních p°ehled· pro zákazníky. Ti si p°áli být informování nejen o po£tu odu£ených hodit, ale i o v²ech zm¥nách zavedeném m¥sí£ním rozvrhu a p°ípadném suplování. Zárov¥n musely být v systému zachyceny vazby mezi produktem, zákazníkem a vlastními ú£astníky tak, aby bylo moºné stanovit výslednou cenu zakázky, která m·ºe být závislá nejen od po£tu odu£ených hodin £i p°eloºených stran, ale i od po£tu ú£astník·.
Odd¥lení reálných dat více agentur Vzhledem ke sloºitým pom¥r·m v agentu°e bylo pot°eba odd¥lit evidenci zakázek vy°izovaných manaºerem pro r·zné agentury a fyzické osoby, jenº s agenturami úzce spolupracují.
Úzká provázanost s webem Evidence hodin, rozvrhy u£eben
Vícejazykový systém Vzhledem k tomu, ºe je systém ur£en primárn¥ pro jazykové agentury, kde se po£ítá s komunikací se zákazníky v jiném neº £eském jazyce, bylo k tomu p°izp·sobit systém jiº od po£átku.
1.2 Denice a up°esn¥ní pojm· Agentura Infoma£ní systém Informa£ní systém (IS) je systém pro sb¥r, udrºování, zpracování a poskytování informací a dat[IS].
9
Produkt Zakázka CSS
10
Kapitola 2 Existující implementace Existujicí aplikace lze rozd¥lit na n¥kolik skupin, kde ov²em ºádná nepokrývá ve²keré poºadavky v plném rozsahu. První se více zam¥°uje na správu webového obsahu. Ozna£ované anglickou zkratkou CMS - Content Management System, p°ed kterou se n¥kdy p°ídává W ozna£ující webové systémy. Tyto systémy lze rozd¥lit do podskupin podle zp·sobu, jakým prezentují uloºená data.
Oine zpracování
Server vygeneruje statické HTML p°ed samotnou pu-
blikací, proto takové systémy nepo°ebují, aby server aplikoval ²ablony na data p°i kaºdém poºadavku. Výhody jsou zjevné pro vytíºené CMS pouºívané p°eváºn¥ pro £tení dat. Naopak p°i £astých zm¥nách dat m·ºou být tyto systémy pomalé nebo neaktuální, proto je nutné si jejich nasazení °ádn¥ rozmyslet. P°íkladem takového systému je nap°íklad
1
Vignette CMS .
Online zpracování
Server generuje prezenta£ní data aº na základ¥ poºa-
davk· klienta. Pro ke²e
E-learning
... Moodle
ciele: *
strategické (plánovanie investícií. . . ) * taktické (vedenie, kontrola rozpo£tu. . . ) * operatívne (kaºdodenná rutina)
Dôleºité
sú tieº úlohy IS:
1 http://www.vignette.com/
11
*
manaºérske (EIS - Executive IS) * taktické (DSS - Decision Support System) * vedenie (MIS - Management IS) * expertné (KWS - Knowledge Work System) * kancelárske (OIS - Oce IS) * operatívne o TPS transak£né (banky, ...) o CRM - vz´ahy so zákazníkmi o RIS - rezerva£né systémy o CAM - kon²truk£né (CAD, ...) o GIS - geogracké systémy
12
Kapitola 3 Návrh °e²ení Evidence produkt· Podklady pro fakturaci dodavatel·m a mzdy Finan£ní vyrovnání subjekt· v IS
13
Kapitola 4 Pouºité technologie a frameworky Pouºité technologie byly £áste£n¥ determinovány poºadavy klienta1.1. Tím, ºe se m¥lo jednat o systém vyuºívající výhradn¥ open-souce technologie tak, aby nebyly zvy²ovány náklady na nákup licencí.
4.1 Server Tento webový informa£ní systém vyuºívá technologi PHP (jazyk, interpret a knihovny), která vychází se skriptovacího víceú£elového jazyka, jenº byl p·vodn¥ vyvinut pro tvorbu dynamických webových stránek. Z tohoto vyuºití vznikla i zkatka z anglických slov Personal Home Page, které byly nahrazeny
1
slovy PHP: Hypertext Preprocessor dající vznik rekurzivní zkratce . Výhodou pouºití PHP je existence interpretu pro r·zné opera£ní systémy a podobnost jeho syntaxe s C, Javou. Nevýhodou, která brzdí dal²ímu rozvoji a roz²í°ení, je absence normy (k datu vydání BP). Jazyk je tak de facto standardizovaný interpretem a mnoº-
2
stvím lidí , kte°í jej vyuºívají. I kdyº existují mnohé polemiky a ºivé diskuze mezi jeho zastánci a odp·rci o jeho výkonnosti, bezpe£nosti a vhodnosti pro
3
velké projekty, existují vyjímky , které tyto názory vyvrací a zárove¬ se podílejí na vývoji, a tak se snaºí p°isp¥t k jeho v¥t²í výkonnosti a bezpe£nosti. Vývoj jazyka sebou nese i stinné stránky. Mezi ty nejpodstatn¥j²í pat°í
4
úpravy API
n¥kterých vestav¥ných funkcí a zm¥na syntaxe. To m·ºe zap°í-
1 http://cs.wikipedia.org/wiki/Rekurzivní_zkratka
2 dle
statistiky na http://www.php.net/usage.php YouTube, Wikipedia (MediaWiki) a dal²í 4 anglická zkratka Application Programming Interface, ozna£uje sadu funkcí, procedur 3 Facebook,
14
£init, ºe po aktualizaci interpretu jazyka, p°estanou fungovat n¥které £ásti nebo celá aplikace. e²ením ov²em není z·stávat na n¥kolik let staré verzi, ve které mohly být objeveny chyby. Pokud programátor nechce nebo nem·ºe p°episovat kód m·ºe vyuºít sluºeb n¥ktrého z framework· nad daným jazykem, který se snaºí tyto rozdíly ve verzích zakrýt. Dal²í nespornou výhodou pouºívání framework· spo£ívá jednodu²²ím vývoji aplikací a minimalizací rizika chyb v jinak ru£n¥ psaném jádru aplikace. Toto je zaji²t¥no pouze pokud má kvalitní a úplnou dokumentaci a je zast°e²en silnou komunitou nebo spole£ností zaji²tující jeho vývoj. P°i výb¥ru byl proto d·raz kladen hlavn¥ na kvalitní dokumentaci, roz²í°itelnost a moºnost práce s r·znými rela£ními databázemi. Frameworky,
5
které spl¬ují vet²inu poºadavk· jsou Zend , Symfony a CakePHP.
CakePHP Nám dává p°íleºitost v¥novat se návrhu schématu. MVC - Model-ViewController - http://en.wikipedia.org/wiki/Model-view-controller Odstín¥ní od zp·sobu práce odli²nými zdroji dat. mezi rela£ními databázemi (MySQL, PostgreSQL, Oracle, MSSQL, ...) a dokonce i denování vlastních zdroj· dat a´ uº z lokálních zdroj· s p°ímým p°ístupem (formátované soubory nap°. csv, xml) nebo za pomocí API k on-line sluºbám (LDAP, twitter, IMAP). Díky mnoºství napsaného a otestovaného kódu, není pot°eba psát jiº jednou napsané £ásti, ale moºné ²et°it lidské zdroje na vývoj. Tím není my²leno prosté skládání kus· posbíraného kódu, ale smysluplného vyuºívání dostupných knihoven a plugin· do programovacího jazyka nebo frameworku. Díky t¥mto úsporám je moºné se zam¥°it na ergonomii dané aplikace a její moºnou optimalizaci, která je ov²em limitována výkonností pouºitého skriptovacího jazyka. Tato omezení lze, minimalizovat udrºováním £ástí zpraco-
6
vaného zdrojového kódu v pam¥ti a ke²ováním
nebo kompresí výstupu.
Tuto nep°íjemnou vlastnost skriptovacích jazyk· lze °e²it p°edkompilací zdrojových kód·, nebo vhodným vyuºíváním ke²í. APC, Xcache, File
£i t°íd programu £i knihovny, jenº mohou být vyuºívány programátorem 5 http://framework.zend.com/ 6 z anglického slova cache, ozna£uje vyrovnávací pam¥´
15
Dal²í moºnou optimalizací, která sice p°ímo nesouvisí s CakePHP, ale je v n¥m snadno implementovatelná, je sníºení po£tu poºadavk· na stránku. S pouºíváním javascriptových framework· a knihoven se snadno m·ºe stát, ºe po£et vkládaných odkaz· na skripty a kaskádové styly (CSS) se vy²plhá aº k desítkám a za£ne se neúm¥rn¥ prodluºovat doba pot°ebná na staºení v²ech pot°ebných £ástí. Zvy²uje se tak po£et poºadavk· na server a díky reºii protokolu HTTP je ve výsledku staºen v¥t²í objem dat. Tento problém úsp¥²n¥ °e²í projekty jsMin
7
8
a CSSTidy .
MySQL
4.2 Klient Pro vlastní b¥h aplika£ní logiky je moºné se spolehnout, ºe serverová £ást aplikace bude zpracována jednou verzí PHP interpretu v uzav°eném a otestovaném prost°edí. Naproti tomu klientská £ást bude prezentována na odli²ných opera£ních systémech v mnoha prohlíºe£ích nejr·zn¥j²ích verzích. Základními poºadavky kladené na prohlíºe£ jsou:
•
XHTML 1.0
•
CSS 2.1
•
JavaScript
9
10 11
S XHTML a CSS prohlíºe£e problémy nemívají. Hor²í je to, ale s implementacemi Javascriptu. Toto bylo vy°e²eno díky provázanosti CakePHP a javascriptového frameworku Prototype[@todo odkaz] a jeho roz²í°ení Script.aculo.us[@todo odkaz], který se snaºí zakrýt rozdíly mezi prohlíºe£i. Prototype není jediným £i nejlep²ím frameworkem. Existují i jiné, které mají rozsáhlej²í schopnosti v oblasti pouºívaní dotazovacího jazyka XPath nebo tvorby GUI
12
7 http://code.google.com/p/jsmin-php/
8 http://csstidy.sourceforge.net/
9 http://www.w3.org/TR/xhtml1/
10 http://www.w3.org/TR/CSS2/ 11 JavaScript
je dialektem ECMASriptu. Minimálním implementovaným standardem by m¥l být ECMA-262, revize 3:http://www.ecmainternational.org/publications/standards/Ecma-262.htm. 12 z anglických slov Graphical User Interface, uºivatelské prost°edí, jenº úmoºnuje uºivateli ovládat aplikaci pomocí grackých ovládacích prvk· 16
Prototype a jeho roz²í°ení Prototype úmoºnuje
•
JS - Prototype, Script.aculo.us, Livepipe
17
Kapitola 5 Programátorská dokumentace V následující kapitole je popsáno a vysv¥tleno databázové schéma, základní adresá°ová struktura projektu, a metody pouºitých t°íd.
5.1 Databázové schéma Normalizace???
5.2 Adresá°ová struktura
18
Kapitola 6 Uºivatelská dokumentace Tato uºivatelská dokumentace si klade za cíl stru£n¥ p°iblíºit £tená°i výhody informa£ního systému a jeho záklaními zp·soby ovládání. Jednotlivých kapitolách je vysv¥tleno, jak má správce postupovat od úvodní instalace, p°es inicializaci databáze, uloºení informací o uºivatelích, p°idání produkt· aº po tisk ú£etních podklad·. Dodavatel·m a zam¥stnanc·m je názorn¥ p°edvedeno, jak správn¥ a v£as vyplnit m¥sí£ní výkazy a jak vést evidenci docházky ú£astník· kurz·. Zákazník·m je vysv¥tleno, jak jednodu²e zjistit, kolik z objednaných sluºeb jiº bylo zaplaceno a zkontrolovat pr·b¥h aktuálních kurz· £i po£et p°eloºených stran p°ekladu. Studenti
6.1 Instalace serveru Pro b¥h serverové aplikace je nutné mít sprovozn¥ný program, který úmoºnuje zpracování zdrojových kód· a prezentaci výstupu protokolem HTTP pop°ípad¥ HTTPS. Nejznám¥j²ím voln¥ dostupným programem je Apache [http://httpd.apache.org/], který úmoºnuje pomocí modul· [http://httpd.apache.org/modules/] p°idat podporu pro jazyk PHP nutný k b¥hu IS.
Staºení a instalace Apache Pokud pouºíváte n¥kterou z moderních linuxových distribucí, zkuste nejd°íve projít repozitá°e [@todo vysv¥tlit], zda se zde nenachází jiº hotový balík upravený pro snadn¥j²í instalaci a konguraci.
19
Debian a jemu podobní (Ubuntu, Kubuntu, ...): apt-get install apache2 Gentoo emerge apache2 Pokud jste poºadovaný balík nena²li £i pouºíváte jiný opera£ní systém,
1
m·ºete ze stránek projektu vybrat odkaz vedoucí na poºadovaný balík zdrojových kód· nebo p°edkompilovanou aplikaci pro Vá² opera£ní systém.
Kongurace Apache Pro správnou funkci aplikace je pot°eba doinstalovat, pop°ípad¥ pouze povolit následující moduly: mod_php5, mod_rewrite a mod_ssl. Pro správnou funkci zabezpe£eného p°ipojení [@todo denovat zabezpe£ené p°ipojení] je nutné vygenerovat certikáty a upravit konguraci stránek.
Staºení a instalace MySQL serveru uºivatelské jméno: isadb heslo: isapass
6.2 Umíst¥ní aplikace Pokud máme server správn¥ nakongurovaný, zkopírujeme sloºku s aplikací do adresá°e ur£eného kongurací Apache (obvykle /var/www £i C:\\Program Files\apache2\www). Dále je pot°eba nastavit p°ihla²ovací údaje k databázi podle 6.1p°edchozí £ásti.
6.3 Inicializace databáze V souboru %CDROM%/app/cong/sql/isa_init.sql se nachází MySQL 5.0+ kompatibilní skript, který vytvo°í tabulky a naplní je daty nutnými k prvnímu p°ihlá²ení administrátora.
1 http://httpd.apache.org/download.cgi
20
6.4 Up°es¬ující informace Pro dal²í £tení manuálu je pot°eba up°esnit n¥kolik d·leºitých pojm·, které se budou dále vyskytovat.
Systémová skupina
je nutná pro správné fungování IS.
Tato sekce je rozd¥lena podle rolí denovaných v IS.
Správce: Editor:
pov¥°ený uºivatel s plnými právy ke v²em modul·m systému.
osoba s omezenými právy k editaci vybraných modul·.
Dodavatelé:
zam¥stnanec, brigádník £i jiný subjekt vykonávající zadanou
práci.
Odb¥ratelé:
@todo
Poskytovatelé:
subjekty, které jsou vedeny pod jednou st°echou a sdílí
£ást informací.
Ú£astníci:
studenti jednotlivých kurzu.
Vý²e popsané role mohou být zm¥n¥ny £i zakázány administrátorem systému. tená°i je doporu£eno £íst pouze £ásti, jenº se ho týkají.
6.5 Správce (hlavní manaºer) Má standardn¥ nastavena ve²kerá p°ístupová práva ke v²em modul·m systému.
Správa IS Tento modul obsahuje moduly pro nastavení jednotlivých £ástí systému, správu uºivatel·, skupin, práv a ostatních £íselník· (dan¥, místnosti, kategorie produkt·).
21
Uºivatelé (Users) Modul
Uºivatelé nabízí ve²keré nastavení pot°ebné pro denování moº-
ností p°i uºívání systému osobami majícími vztah k IS. Dále jsou zde uchovány ve²keré osobní informace d·v¥rného charakteru.
Seznam uºivatel· [/admin/Users/index]:
V horní £ásti se nachází od-
kazy na akce související s uºivately. Filtry pro práci se seznamem uºivatel· jsou umíst¥ny nad hlavní tabulkou a v hlavi£ce tabulky s funkcí na²eptáva£e.
P°idání uºivatele [/admin/Users/add]:
Jedinnou povinnou poloºkou je
zobrazovanné jméno, která slouºí jako popisek ve v²ech výb¥rových ltrech. Ostatní poloºky m·ºete vyplnit aº p°i jejich pot°eb¥ ve výpisu. Volba Aktivní slouºí k aktivaci uºivatelského ú£tu. Uºivatel je schopen se p°ihlásit pouze pokud je jeho ú£et aktivní.
Editace uºivatele:
Vyberte odpovídající skupinu k editaci a pro uloºení
zm¥n pouºijte tla£ítko Uloºit. V p°ípad¥ chybového hlá²ení zkontrolujte v²echny skupiny údaj·.
Zobrazení uºivatele:
@todo
Nastavení £i zm¥na hesla:
V p°ehledu uºivatele klikn¥te na odkaz Zm¥-
nit heslo a vypl¬te nové heslo do obou kolonek. Správce m·ºe editovat hesla v²em uºivatel·m a m¥l by je o této zm¥n¥ informovat zabezpe£eným kanálem[@todo denovat zabezpeceny kanal], aby se p°ede²lo zneuºití jejich ú£tu.
Skupiny a oprávn¥ní V tomto modulu m·ºete p°idávat a mazat uºivatelské skupiny a oprávn¥ní. Pro zachování správného fungování systému nemaºte tyto systémové skupiny: customers, employees, providers, students a admin. P°i implicitní nastavení má kaºdá ze systémových skupin práva denované a p°i°azené oprávn¥ní k prexovaným akcím jednotlivých modul·. Tyto oprávn¥ní jsou denovány tímto zp·sobem: *:customers_*, *:employees_*,
*:providers_*, *:students_*, *:admin_* a °íkají, ºe daná skupina m·ºe v libovolném modulu spou²t¥t akce za£ínajícím jejich jménem. V p°íkladu byl pouºit expanzní znak *, který je moºné pouºívat k nahrazení libovoného po£tu libovolných znak·, a :, jenº ur£uje hranici mezi modulem a akcí
22
(nap°. oprávn¥ní Users:*_view úmoºní zobrazit v²echny prexované akce
view v modulu
Uºivatelé).
Kaºdá skupina m·ºe m·ºe mít p°i°azeno více denovaných oprávn¥ní a je na správci, jak s nimi bude zacházet.
íselníky V této £ásti se seznámíme se v²emi £íselníky, jejich funkcemi v systému a moºností editace. V²echy dále uvedené moduly obsahují automaticky generovaný £íselný identikátor (dále jen id ), který slouºí pro interní pot°eby systému a není moºné ho zm¥nit. Dále je pot°eba upozornit na fakt, ºe vytvo°ené poloºky v £íselníku, které jiº byly v systému p°izazeny n¥jakým záznam·m, nelze vymazat. Vymazání je umoºn¥no aº kdyº je £íselník u daných záznam· zm¥n¥n.
Kategorie
obsahuje název, zkratku, jednoduchý slovní popis a za²ktávací
polí£ko ur£ující, zda se produkty v této kategorii povaºují za ve°ejné a má se zobrazovat jejich rozvh na webových stránkách. Ú£el £íselníku spo£íva v roz£len¥ní mnoºství produkt· do skupin, podle kterých lze vytvá°et tiskové sestavy (p°ílohy faktur, rozvrhy, m¥sí£ní p°ehledy náklad·, ...).
Místa
obsahují název a adresu. Slouºí k odkazu na místo v událostech.
títky
obsahují název a odkaz na nad°azený ²títek, pro moºnost tvorby
hierarchické struktury £lánk·.
Produkty Modul Produkty je závislý na správn¥ rozd¥lených uºivatelích do systémových skupin. Rovn¥º je doporu£eno p°edvyplnit £íselník kategorií produkt·.
Vytvo°ení nového produktu (jednoduchá verze) Vyberte kategorii a poskytovatele. Dále vypl¬te název produktu a infomaci o datu zahájení a p°edpokládaném £i ºádaném datu ukon£ení prací. Dále si °ekn¥me, jak se vypo£ítá výsledná cena (bez DPH) pro zákazníka. Od toho se bude odvíjet dal²í vypl¬ování formulá°e.
23
Stanovte si, jak budete daný produkt nabízet a od £eho se odvíjí náklady. V p°ípad¥, ºe se náklady odvíjí od po£tu participujících osob za²rtn¥te moºnost Po£ítat ú£astníky. Pokud nevíte dob°edu kolik hodin bude odu£eno £i kolik normostran bude ú£továno a náklady na n¥ nejsou xní, za²krtn¥te moºnost Po£ítat mnoºství. Celková cena bude spo£ítána takto:
•
jednotková cena je vynásobena po£tem ú£astník· pokud byla odpovídající volba za²krtnuta
•
mezisou£et je vynásoben sou£tem odpracovaných jednotek v událostech ve výkazech p°i°azených v produktu pokud byla volba po£ítat
mnoºství za²krtnuta
•
@todo moºná konverze
Te¤ uº zbývá doplnit zbývající povinné poloºky a to jednotku a jednotkovou cenu.
Výkazy Vytvo°ení a p°i°azení výkazu k produktu Vytvo°ení a p°i°azení výkazu k produktu provád¥jte pouze pokud je produkt, ke kterému chcete p°idat výkaz, jiº vytvo°en. V menu klikn¥te na poloºku P°idat výkaz a vypl¬te následný p°ehledný formulá°. U dodavatele se rozli²uje se i typ smlouvy uvedený v závorce. Sazba a jednotka jsou rovn¥º povinné poloºky. Jinou moºností, jak p°i°adit nový výkaz, je p°es modul
Produkty (nebo
p°es rychlé hledání), kde lze snadno vyhledat daný produkt. Zobrazte si detaily nalezeného produktu a ve skupin¥ P°i°azené výkazy klikn¥te na odkaz
P°idat výkaz.
P°idání události k výkazu
Tipy na urychlení práce Zvlá²tní formulá° na p°idání produktu spolu se zákazníkem i dodavatelem úmoºní rychlej²í zadávání v¥t²ího mnoºství nových produkt·.
24
6.6 Dodavatel zadávání výkazu, evidence docházky do kurz·
25
Záv¥r Zavedení informa£ního systému je b¥h na dlouhou tra´ ... p°íprava dodavatel· i odb¥ratel· na zm¥ny ve zp·sobu vykazování práce ...
26
Literatura [1] [IS] Wikipedia: Informa£ní systém, http://cs.wikipedia.org/wiki/Informa£ní_systém
27