}w !"#$%&'()+,-./012345
MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY
Syste´m pro rˇı´zenı´ zaka´zek maly´ch a strˇednı´ch firem DIPLOMOVA´ PRA´CE
Jan Machacˇ
Brno, 2006
Prohla´sˇenı´ Prohlasˇuji, zˇe tato diplomova´ pra´ce je my´m pu˚vodnı´m autorsky´m dı´lem, ktere´ jsem vypracoval samostatneˇ. Vsˇechny zdroje, prameny a literaturu, ktere´ jsem prˇi vypracova´nı´ pouzˇ´ıval nebo z nich cˇerpal, v pra´ci rˇa´dneˇ cituji s uvedenı´m u´plne´ho odkazu na prˇ´ıslusˇny´ zdroj.
Vedoucı´ pra´ce RNDr. Jaroslav Ra´cˇek, Ph.D.
ii
Podeˇkova´nı´ Na tomto mı´steˇ bych chteˇl podeˇkovat: • rodicˇu˚m, • RNDr. Jaroslavu Ra´cˇkovi, Ph.D., vedoucı´mu me´ diplomove´ pra´ce, • Mgr. Petru Humlı´cˇkovi, rˇediteli Omega Design, s.r.o., za vstrˇ´ıcnost a trpeˇlivost, • Mgr. Vlastimilu Holerovi za pomoc prˇi sazbeˇ v syste´mu LaTeX.
iii
Zada´nı´ Sezna´mit se s problemetikou rˇ´ızenı´ podnikovy´ch zaka´zek. Prove´st analy´zu, na´vrh a implementaci ja´dra informacˇnı´ho syste´mu pro rˇ´ızenı´ zaka´zek maly´ch a strˇednı´ch firem. Syste´m umozˇnı´ soubeˇzˇnou pra´ci desı´tek uzˇivatelu˚ s individua´lnı´mi prˇ´ıstupovy´mi pra´vy.
iv
Klı´cˇova´ slova informacˇnı´ syste´m, rˇ´ızenı´ zaka´zek, Java, PostgreSQL, UML
v
Obsah 1 2
3
4
5
´ vod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . U ˇ ´ızenı´ zaka´zek . . . . . . . . . . . . . . . . . . . . . . . . . R ´ cˇel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 U 2.2 Princip fungova´nı´ . . . . . . . . . . . . . . . . . . . . . . 2.3 Pozˇadavky na syste´m . . . . . . . . . . . . . . . . . . . . 2.4 Proble´my rˇesˇene´ syste´mem . . . . . . . . . . . . . . . . . Popis syste´mu Navigo Port . . . . . . . . . . . . . . . . . . 3.1 Pu˚vodnı´ za´meˇr . . . . . . . . . . . . . . . . . . . . . . . 3.2 Klasicka´ uzˇitı´ . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Pohled odpoveˇdne´ osoby zaka´zky . . . . . . . 3.2.2 Pohled rˇadove´ho zameˇstnance . . . . . . . . . 3.2.3 Pohled vedenı´ firmy . . . . . . . . . . . . . . . 3.2.4 Pohled u´cˇetnı´ . . . . . . . . . . . . . . . . . . . 3.3 Popis za´kladnı´ch datovy´ch entit aplikace . . . . . . . . . . 3.4 Popis uzˇivatelske´ho rozhranı´ na prˇ´ıkladu modulu Kontakty 3.5 Popis ostatnı´ch modulu˚ . . . . . . . . . . . . . . . . . . . 3.5.1 Zaka´zky . . . . . . . . . . . . . . . . . . . . . . 3.5.2 Denı´k . . . . . . . . . . . . . . . . . . . . . . . . ´ koly . . . . . . . . . . . . . . . . . . . . . . . . 3.5.3 U 3.5.4 Vystavene´ faktury . . . . . . . . . . . . . . . . 3.5.5 Prˇijate´ faktury . . . . . . . . . . . . . . . . . . . 3.5.6 Pokladna . . . . . . . . . . . . . . . . . . . . . . 3.5.7 Objedna´vky . . . . . . . . . . . . . . . . . . . . 3.5.8 Odmeˇny externistu˚ . . . . . . . . . . . . . . . . 3.5.9 Odmeˇny briga´dnı´ku˚ . . . . . . . . . . . . . . . 3.5.10 Statistika zaka´zek . . . . . . . . . . . . . . . . . 3.5.11 Odmeˇny odpoveˇdny´ch osob . . . . . . . . . . 3.5.12 Kalkulace . . . . . . . . . . . . . . . . . . . . . 3.5.13 Popis uzˇivatelsky´ch pra´v . . . . . . . . . . . . Popis pouzˇite´ architektury . . . . . . . . . . . . . . . . . . 4.1 Databa´ze . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Logicka´ vrstva . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Prezentacˇnı´ vrstva . . . . . . . . . . . . . . . . . . . . . 4.4 Hodnocenı´ architektury . . . . . . . . . . . . . . . . . . . Navigo Port v praxi . . . . . . . . . . . . . . . . . . . . . . . 5.1 Srovna´nı´ se Sprinx CRM .net . . . . . . . . . . . . . . . 5.2 Pozˇadavky a navrhovane´ modifikace pro firmu FOLBER . 5.2.1 Rozpocˇty pro jednotlive´ u´koly zameˇstnancu˚ a poveˇdnou osobou dle odvedene´ pra´ce . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . jejich odmeˇnˇova´nı´ od. . . . . . . . . . . . . .
2 3 3 3 3 4 6 6 7 7 10 11 12 14 17 19 19 22 22 22 25 26 27 27 27 27 28 29 32 34 34 35 37 37 39 39 40 41 1
OBSAH 5.2.2
6
Evidence formy u´hrady pro klienta i pro subdodavatele pro jednotlive´ zaka´zky a kontakty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.3 Tvorba harmonogramu zaka´zky, evidence milnı´ku˚ zaka´zky a podobny´ch atributu˚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 Jednoduche´ vystavova´nı´ specificky´ch dokumentu˚ pro firmu FOLBER s maxima´lnı´m mozˇny´m vyuzˇitı´m dat v databa´zi a co nejjednodusˇsˇ´ı spra´vou a editacı´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Za´veˇr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42 42
42 43
2
Kapitola 1
´ vod U Cı´lem te´to diplomove´ pra´ce je sezna´mit cˇtena´rˇe se zpu˚sobem realizace ja´dra syste´mu rˇ´ızenı´ zaka´zek, jezˇ prima´rneˇ vznikal pro uzˇitı´ firmou OmegaDesign, s.r.o. a jezˇ meˇl by´t v prˇ´ıpadeˇ u´speˇchu v te´to firmeˇ da´le pouzˇ´ıva´n dcerˇinou spolecˇnostı´ Apromo s.r.o.. Pokud by byl u´speˇsˇny´ i zde, meˇl by by´t nabı´dnut dalsˇ´ım podobneˇ orientovany´m spolecˇnostem jako komercˇnı´ rˇesˇenı´. V prvnı´ cˇa´sti se pra´ce kra´tce a strucˇneˇ veˇnuje popisu obecny´ch pozˇadavku˚ na takovy´to syste´m, da´le jsou pozˇadavky konkretizova´ny a uprˇesneˇny tak, jak byly polozˇeny prima´rnı´m odbeˇratelem syste´mu. Na´sleduje kraticˇke´ zamysˇlenı´ nad tı´m, co vlastneˇ syste´m pomu˚zˇe rˇesˇit, a v na´sledujı´cı´ kapitole se cˇtena´rˇ mu˚zˇe sezna´mit s rˇesˇenı´m teˇchto velmi strucˇneˇ popsany´ch pozˇadavku˚ ve vznikle´ aplikaci. Popis samotny´ je zpracova´n ve trˇech krocı´ch, kdy prvnı´m z nich je popis klasicky´ch prˇ´ıpadu˚ uzˇitı´ syste´mu a vysveˇtlenı´ za´kladnı´ch datovy´ch entit, na´sleduje popis jednotlivy´ch modulu˚ vcˇetneˇ strucˇne´ho vysveˇtlenı´ uzˇivatelske´ho rozhranı´, se ktery´m se cˇtena´rˇ setka´ na prˇilozˇeny´ch obra´zcı´ch syste´mu, a poslednı´m krokem je popis pouzˇite´ architektury vcˇetneˇ vysveˇtlenı´ motivace pro takove´to rˇesˇenı´. Na´sledujı´cı´ srovna´nı´ s typicky´m konkurentem a vysveˇtlenı´ modifikacı´ pro jednoho ze za´kaznı´ku˚ popisuje situaci kolem syste´mu v dobeˇ dokoncˇova´nı´ te´to pra´ce. Za´veˇrecˇnou kapitolou je pak hodnocenı´ syste´mu vcˇetneˇ popisu chyb, k nimzˇ prˇi na´vrhu cˇi realizaci dosˇlo a zamysˇlenı´, se nad budoucnostı´ podobny´ch syste´mu˚ obecneˇ.
3
Kapitola 2
ˇ ı´zenı´ zaka´zek R 2.1
´ cˇel U
ˇ ´ızenı´m zaka´zek mu˚zˇeme v zjednodusˇeneˇ cha´pat vesˇkerou cˇinnost obchodnı´ka smeˇrˇovanou R dovnitrˇ firmy. Klasicky´m prˇ´ıkladem je u´kolova´nı´ jiny´ch zameˇstnancu˚, sledova´nı´ probı´hajı´cı´ch pracı´ nebo sestavova´nı´ rozpocˇtu˚. Cı´lem syste´mu pro rˇ´ızenı´ zaka´zek je, stejneˇ jako u vetsˇiny podobny´ch informacˇnı´ch syste´mu˚, maxima´lneˇ usnadnit komunikaci mezi zameˇstnanci, poskytnout potrˇebne´ na´stroje vedoucı´m pracovnı´ku˚m a pomocı´ controllingovy´ch vy´stupu˚ usnadnˇovat pla´nova´nı´ a kontrolu chodu firmy. Prˇirozeny´m du˚sledkem nasazenı´ takove´to aplikace by meˇla by´t veˇtsˇ´ı systematizace pra´ce, prˇesne´ vymezenı´ zodpoveˇdnostı´ a pra´v ve spolecˇnosti a v neposlednı´ rˇadeˇ take´ posı´lena´ zastupitelnost jednotlivy´ch pracovnı´ku˚.
2.2
Princip fungova´nı´
Zaka´zkovy´ syste´m shromazˇd’uje data o provedene´ pra´ci zameˇstnancu˚ zapojeny´ch do realizace zaka´zky, osobeˇ poskytuje odpoveˇdne´ za jejı´ realizaci na´stroje pro tvorbu rozpocˇtu˚, objedna´vek a podobny´ch dokumentu˚, udrzˇuje prˇehled o spotrˇebovany´ch prostrˇedcı´ch, cˇinnostech nutny´ch k u´speˇsˇne´mu ukoncˇenı´ zaka´zek, o vytı´zˇenı´ jednotlivy´ch oddeˇlenı´ firmy apod. Vedoucı´m pracovnı´ku˚m firmy poskytuje statisticke´ vy´stupy, pomocı´ nichzˇ je mozˇno kuprˇ´ıkladu pla´novat cash flow nebo analyzovat ziskovost jednotlivy´ch obchodnı´ku˚. Z tohoto prˇ´ıkladu se mu˚zˇe zda´t, zˇe informacˇnı´ syste´m nenı´ nic jine´ho, nezˇ neˇkolik navza´jem oddeˇleny´ch na´stroju˚ zabaleny´ch do vzletny´ch formulacı´ marketingove´ho oddeˇlenı´ dodavatelske´ firmy. Ovsˇem fakt, zˇe se samotny´ syste´m jevı´ jednodusˇe, je jednı´m ze za´kladnı´ch kamenu˚ jeho u´speˇchu. Kazˇdy´ zameˇstnanec je schopen dı´ky jeho jednoduchosti pochopit data v syste´mu obsazˇena´ a vazby mezi nimi a je tedy schopen s nimi rychle a snadno pracovat. Propojenı´m teˇchto jednoduchy´ch na´stroju˚, zejme´na vsˇak dat v nich ulozˇeny´ch, nabı´zı´ komplexnı´ prˇehled o deˇnı´ ve firmeˇ odpracovany´mi hodinami jednotlivy´ch zameˇstnancu˚ z pohledu zaka´zek pocˇ´ınaje a automaticky´m odmeˇnˇova´nı´m osob odpoveˇdny´ch za rˇ´ızenı´ zaka´zek koncˇe. Shrnutı´m prˇedchozı´ho by mohlo by´t zjednodusˇene´ tvrzenı´, zˇe principem dobre´ho fungova´nı´ syste´mu pro rˇ´ızenı´ zaka´zek je jednoducha´ pra´ce podrˇ´ızeny´ch se syste´mem, ktery´ nadrˇ´ızeny´m poskytne komplikovane´ vy´stupy.
2.3
Pozˇadavky na syste´m
Popis jednotlivy´ch pozˇadavku˚ vycha´zı´ z obecne´ specifikace firmy Omega Design jako prima´rnı´ho odbeˇratele syste´mu. Jsou tedy typicke´ pro projektoveˇ orientovanou organizaci. Jejich prˇekryv s pozˇadavky kuprˇ´ıkladu cˇisteˇ vy´robnı´ spolecˇnosti bude diskutova´n da´le. 4
ˇ I´ZENI´ ZAKA´ZEK 2. R Za´kladnı´m pozˇadavkem je evidence pracı´ jednotlivy´ch zameˇstnancu˚ – tedy klasicke´ vy´kaznictvı´ pra´ce. Kazˇdy´ zameˇstnanec musı´ mı´t jednoduchou mozˇnost, jak do syste´mu popsat svu˚j pracovnı´ den, a to takovy´m zpu˚sobem, aby bylo mozˇno da´le s teˇmito daty pracovat. Zejme´na jde o prˇirˇazenı´ provedeny´ch cˇinnostı´ k jednotlivy´m realizovany´m zaka´zka´m. Ke kazˇde´mu provedene´mu u´konu je nutno prˇirˇadit take´ jeho typ a rozsah. Samozrˇejmostı´ musı´ by´t evidence rezˇijnı´ch na´kladu˚ jednotlivy´ch cˇinnostı´. Dalsˇ´ım prˇirozeny´m pozˇadavkem je databa´ze kontaktu˚ obsahujı´cı´ jak jednotlive´ firmy, tak jejich pobocˇky, osoby ve firma´ch pu˚sobı´cı´ a dalsˇ´ı relevantnı´ u´daje. Evidence samotny´ch zaka´zek, jejich trˇ´ıdeˇnı´, sledova´nı´ na´kladu˚, objedna´vek, fakturace, sestavova´nı´ rozpocˇtu˚ a pla´nova´nı´ cash flow v ra´mci zaka´zky je pak ja´drem cele´ho syste´mu. Naprˇ´ıcˇ kontakty a zaka´zkami jde pozˇadavek na jednoduchy´ denı´k komunikace s klientem s mozˇnostı´ ochrany citlivy´ch za´znamu˚ a jednoduchy´ syste´m u´kolova´nı´ zameˇstnancu˚. Trochu stranou pak stojı´ pozˇadavky na evidenci prˇijaty´ch faktur a vedenı´ pokladnı´ knihy, ktere´ se sice va´zˇou k na´kladove´ stra´nce zaka´zek, ale u maly´ch firem s u´cˇetnictvı´m vedeny´m externı´ firmou mu˚zˇe by´t jejich nasazenı´ i kontraproduktivnı´, nebot’ samotne´ vedenı´ te´to evidence nemusı´ prˇine´st zisk v podobeˇ lepsˇ´ıho prˇehledu o financˇnı´ situaci firmy a mu˚zˇe by´t cˇa´stecˇneˇ nahrazeno jednodusˇsˇ´ımi syste´my teˇsneˇji se prˇimykajı´cı´mi k evidenci zaka´zek (vzpomenˇme kuprˇ´ıkladu ono pla´nova´nı´ cash flow). Data sebrana´ vy´sˇe zmı´neˇny´mi moduly by meˇl syste´m zpracova´vat v prˇehledny´ch statistika´ch ziskovosti jednotlivy´ch zaka´zek, statistika´ch odvedene´ pra´ce jednotlivy´ch zameˇstnancu˚ (a to jak podle druhu cˇinnosti, tak dle zameˇstnance) a take´ by meˇl nabı´zet relativneˇ jednoduche´ a prˇitom dostatecˇneˇ univerza´lnı´ mechanismy pro odmeˇnˇova´nı´ zameˇstnancu˚. Syste´m by naopak nemeˇl obsahovat funkce, jezˇ jsou dostupne´ v beˇzˇny´ch kancela´rˇsky´ch balı´cı´ch a meˇl by se vyhy´bat implementaci jizˇ jednou vytvorˇeny´ch a trˇetı´ stranou da´le vyvı´jeny´ch aplikacı´ch. Meˇl by vsˇak umozˇnˇovat komunikaci se softwarem na spra´vu emailovy´ch kontaktu˚, s u´cˇetnı´m softwarem cˇi syste´mem pro evidenci docha´zky. Jednı´m z poslednı´ch, ale velmi du˚lezˇity´m pozˇadavkem je syste´m uzˇivatelsky´ch pra´v, ktery´ je dostatecˇneˇ univerza´lnı´ pro aplikaci v ru˚zneˇ ”demokraticky´ch” spolecˇnostech a ktery´ je schopny´ reflektovat vertika´lnı´ strukturu organizace. Pozˇadavky na podobny´ syste´m se vsˇak u jinak zameˇrˇeny´ch firem mohou znacˇneˇ lisˇit. Omega Design je prˇedevsˇ´ım spolecˇnost nevy´robnı´, proda´vajı´cı´ jen um a pra´ci svy´ch zameˇstnancu˚, proto nepotrˇebuje skladove´ hospoda´rˇstvı´. Kazˇda´ zaka´zka je take´ teˇzˇce zachytitelny´m origina´lem, proto se zde neujme take´ neˇjaky´ jednodusˇsˇ´ı work flow syste´m nebo tvorba a kontrola pracovnı´ch skupin, ktere´ jsou ve firmeˇ fixnı´ dle prova´deˇne´ pra´ce.
2.4
Proble´my rˇesˇene´ syste´mem
Jak jizˇ bylo zmı´neˇno vy´sˇe, syste´m by meˇl hlavneˇ zprˇehlednit deˇnı´ uvnitrˇ firmy a napoma´hat tak vedenı´ k lepsˇ´ımu hospodarˇenı´. Sledova´nı´ vytı´zˇenı´ jednotlivy´ch pracovnı´ku˚ mu˚zˇe naznacˇit hodneˇ o jejich vy´konnosti, dı´ky starsˇ´ım datu˚m a podobny´m u´kolu˚m je mozˇno kuprˇ´ıkladu sna´ze odhadovat cˇasovou na´rocˇnost cˇinnostı´. Meˇl by take´ by´t pomocny´m na´strojem pro obchodnı´ky a vedenı´ firmy, v idea´lnı´m prˇ´ıpadeˇ by meˇl nahradit vesˇkerou agendu psanou na papı´r cˇi do elektronicky´ch dokumentu˚ na loka´lnı´m pocˇ´ıtacˇi. Snahou syste´mu je poskytnout takove´ na´stroje, ktere´ umozˇnı´ zrychlenı´ a zjednodusˇenı´ pra´ce, zlepsˇenı´ jejı´ systematicˇnosti a dı´ky tomu usnadnˇujı´cı´ zastupitelnost jednotlivy´ch pracovnı´ku˚ kuprˇ´ıkladu v okamzˇiku nemoci. Dalsˇ´ım jizˇ zmı´neˇny´m vy´stupem je jednoduchy´ odmeˇnˇovacı´ syste´m, jehozˇ vy´sledkem 5
ˇ I´ZENI´ ZAKA´ZEK 2. R by meˇla by´t veˇtsˇ´ı motivace obchodnı´ch pracovnı´ku˚, snazsˇ´ı ucˇetnı´ pra´ce a v neposlednı´ rˇadeˇ take´ usnadneˇnı´ sbeˇru dat o vynalozˇeny´ch financı´ch. Obecneˇ se da´ rˇ´ıcı´, zˇe cˇ´ım veˇtsˇ´ı prˇehled a du˚veˇru majı´ lide´ ve spolecˇnosti v informacˇnı´ syste´m, tı´m le´pe je mozˇno data v syste´mu vyuzˇ´ıt (nebot’jich bude dostupny´ch vı´ce a budou kvalitneˇjsˇ´ı) a dı´ky tomu je mozˇno syste´m da´le rozsˇ´ırˇit a poskytnout tak pracovnı´ku˚m dalsˇ´ı uzˇitecˇne´ na´stroje, ktere´ jim jejich pra´ci ulehcˇ´ı a take´ prˇinesou dalsˇ´ı zajı´mava´ data.
6
Kapitola 3
Popis syste´mu Navigo Port 3.1
Pu˚vodnı´ za´meˇr
Syste´m Navigo Port byl vyvı´jen prima´rneˇ jako na´hrada jak technologicky, tak funkcˇneˇ zastarale´ho syste´mu spra´vy zaka´zek firmy Omega Design, s.r.o. se snahou vytvorˇit univerza´lneˇ pouzˇitelne´ rˇesˇenı´ aplikovatelne´ bez veˇtsˇ´ıch za´sahu˚ v dalsˇ´ıch podobneˇ orientovany´ch spolecˇnostech. Pu˚vodnı´ rˇesˇenı´ bylo realizova´no jako webova´ aplikace (na ba´zi ASP skriptu˚ a databa´ze MSSQL) a velmi dobrˇe se osveˇdcˇilo. Analy´za ja´dra syste´mu byla tı´mto faktem usnadneˇna, nebot’ pu˚vodnı´ aplikace byla uspokojiveˇ pouzˇ´ıva´na neˇkolik let. Samozrˇejmostı´ byla snaha o co nejprˇirozeneˇjsˇ´ı a nejjednodusˇsˇ´ı prˇechod na novy´ syste´m, a proto bylo nejen vhodne´, ale take´ viceme´neˇ nutne´ prˇevzı´t neˇktere´ principy stare´ho syste´mu. Bylo zrˇejme´, zˇe novy´ syste´m si musı´ zachovat podobu webove´ aplikace. Jejı´ prakticˇnost, dostupnost te´meˇrˇ odkudkoli a jednoduchost implementace vyva´zˇ´ı nedostatky te´to technologie, nehledeˇ na fakt, zˇe uzˇivatele´ si jizˇ na tuto podobu zvykli. Dosˇlo take´ k prˇevzetı´ za´kladnı´ho modelu vykazova´nı´ pra´ce a sledova´nı´ zaka´zky vcˇetneˇ na´zvoslovı´. Novy´ syste´m byl vsˇak vyvı´jen na jine´ platformeˇ a od pocˇa´tku navrhova´n se snahou o co nejjednodusˇsˇ´ı rozsˇirˇitelnost a univerza´lnost. Cı´lem nebyl „krabicovy´“ software, ale dostatecˇneˇ modula´rnı´ syste´m, jehozˇ obecnost a znovupouzˇitelnost nenı´ na u´kor nasazenı´ v dalsˇ´ıch spolecˇnostech bez ohledu na jejich specifika. Rozsah funkcnı´ syste´mu je da´n snahou nenahrazovat jizˇ existujı´cı´ specializovane´ a obecneˇ pouzˇitelne´ produkty, jako jsou u´cˇetnı´ syste´my, syste´my docha´zky, nebo dokonce e-mailovı´ klienti. Vzhledem k investicı´m materˇsky´ch spolecˇnostı´ do vy´voje takovy´chto obecneˇ pouzˇitelny´ch syste´mu˚ je velmi nesnadne´ (zvla´sˇteˇ pak u groupwarovy´ch rˇesˇenı´ typu Outlook Exchange) konkurovat jim co do funkcˇnosti a propracovanosti. I pro koncove´ho uzˇivatele je vy´hodneˇjsˇ´ı pouzˇ´ıt hotove´, hojneˇ rozsˇ´ırˇene´ a univerza´lnı´ rˇesˇenı´ trˇetı´ strany, jezˇ je ve veˇtsˇineˇ prˇ´ıpadu i levneˇjsˇ´ı, nezˇ aplikaci zpracovanou na mı´ru. Hranice mezi teˇmito dveˇma sveˇty vsˇak nejsou nijak ostre´, docha´zı´ tak k prˇekryvu funkcı´ a nutnost komunikace mezi jednotlivy´mi pouzˇ´ıvany´mi syste´my je samozrˇejmostı´. Jako prˇ´ıklad mu˚zˇe poslouzˇit napojenı´ syste´mu Navigo Port na Outlook Exchange, kdy pla´nova´nı´ schu˚zek je rˇesˇeno Exchangem, ale u´kolova´nı´ zameˇstnancu˚ na zaka´zka´ch jizˇ obhospodarˇuje Navigo a do Outlooku se jen exportujı´ emailove´ kontakty. I kdyzˇ se mu˚zˇe zda´t, zˇe jde v podstateˇ o zdvojenı´ agendy, syste´m se velice osveˇdcˇil. Cela´ aplikace je sestavena z „modulu˚“. Pod tı´mto oznacˇenı´m si mu˚zˇeme prˇedstavit jak jednotlive´ polozˇky hlavnı´ho menu, tak take´ jednotlive´ funkcˇnı´ celky cˇi na´stroje zmı´neˇne´ v u´vodu. Rozdeˇlenı´ modulu˚ nenı´ zcela striktnı´, jednotlive´ funkce jsou po syste´mu rozesety spı´sˇe na mı´sta, kde je uzˇivatel potrˇebuje, a logika ovla´da´nı´ je navrhova´na vı´ce z pohledu uzˇivatele, nezˇ z pohledu syste´mu. Jednotlive´ moduly se dajı´ take´ deaktivovat, a to jak z marketingovy´ch du˚vodu˚, tak take´ kvu˚li snaze o jednoduchost a odstraneˇnı´ nepotrˇebny´ch funkcı´ nepotrˇebne´ funkce. 7
3. POPIS SYSTE´MU NAVIGO PORT
3.2
Klasicka´ uzˇitı´
Nejprˇehledneˇjsˇ´ı pohled do syste´mu je mozˇno zı´skat pochopenı´m funkcı´, jezˇ nabı´zı´ jednotlivy´m zameˇstnancu˚m spolecˇnosti. Pomocı´ jednoduchy´ch a velmi hruby´ch diagramu˚ prˇ´ıpadu˚ uzˇitı´ je mozˇno do syste´mu nahlı´zˇet bez nutnosti zna´t podrobneˇji vnitrˇnı´ strukturu cˇi funkce a je mozˇno velmi intuitivneˇ pochopit rozdeˇlenı´ jednotlivy´ch modulu˚. Na´kresy obsahujı´ jen ty cˇa´sti syste´mu, ktere´ jsou v souvisejı´cı´m textu popisova´ny. Nejsou take´ zapracova´ny ryze informativnı´ pohledy do syste´mu, jejichzˇ prˇ´ıtomnost je zrˇejma´ (naprˇ´ıklad sledova´nı´ podrobnostı´ o zaka´zce zameˇstnancem). Vy´chozı´m prˇedpokladem je, zˇe kazˇda´ zaka´zka ma´ jakousi „odpoveˇdnou osobu“, jezˇ se o ni „stara´“, a pra´veˇ te´to osobeˇ by meˇl syste´m co mozˇna´ nejvı´ce ulehcˇit pra´ci. Cˇinnost zmı´neˇne´ho cˇloveˇka spocˇ´ıva´ nejen v komunikaci s klientem a korigova´nı´ pracı´ na zaka´zce, ale va´zˇou se na ni take´ dalsˇ´ı vı´ce cˇi me´neˇ administrativnı´ cˇinnosti. Prima´rnı´m cı´lem nasazenı´ syste´mu je usnadnit a zjednodusˇit tuto agendu. V neˇktery´ch situacı´ch se da´ oponovat mysˇlenkou, zˇe zˇa´dna´ takto slozˇita´ agenda vedena by´t nemusı´. V praxi se vsˇak ukazuje, zˇe klasicke´ „pozna´mky na papı´r, ktere´ rˇesˇ´ı vsˇe“, at’ uzˇ skutecˇneˇ na papı´rˇe, nebo zaznamena´vane´ elektronicky, jsou mozˇna´ rychlejsˇ´ı, ale pro dlouhodoby´ chod firmy a hlavneˇ pro zastupitelnost jednotlivy´ch pracovnı´ku˚ jsou te´meˇrˇ likvidacˇnı´. Syste´m vna´sˇ´ı do agendy jasna´ pravidla a porˇa´dek. Nesmı´ vsˇak svazovat ruce. 3.2.1
Pohled odpoveˇdne´ osoby zaka´zky
Na diagramu prˇ´ıpadu uzˇitı´ syste´mu Navigo Port z pohledu odpoveˇdne´ osoby jsou v cˇa´sti veˇnovane´ modulu zaka´zky v chronologicke´m porˇadı´ serˇazeny za´kladnı´ cˇinnosti, jezˇ se va´zˇou k jejı´mu zˇivotnı´mu cyklu. Samozrˇejmeˇ jde o modelovy´ prˇ´ıpad a ne vsˇechny zaka´zky se mu budou podobat, ale nejde take´ o zˇa´dnou cˇirou abstrakci nemajı´cı´ rea´lny´ podklad. Tento zˇivotnı´ cyklus zaka´zky prˇirozeneˇ zacˇ´ına´ jejı´m zalozˇenı´m, ke ktere´mu se va´zˇe vypracova´nı´ na´zvu a popisu zaka´zky, jenı´mu zarˇazenı´ do patrˇicˇny´ch kategoriı´ a nastavenı´ jejı´ch dalsˇ´ıch vlastnostı´. Zaka´zka samotna´ nemusı´ by´t zalozˇena prˇ´ımo odpoveˇdnou osobou, ale mu˚zˇe jı´ by´t prˇideˇlena nadrˇ´ızeny´m, nebo ve zvla´sˇteˇ demokraticky´ch spolecˇnostech take´ podrˇ´ızeny´mi. Sestavenı´ rozpocˇtu, jezˇ je tvorˇen strukturou odpovı´dajı´cı´ vy´kazu pracı´ na zaka´zce spolu s mozˇnostı´ definovat dalsˇ´ı na´klady, mu˚zˇe a nemusı´ na´sledovat. Syste´m samozrˇejmeˇ poskytuje dostatecˇmny´ apara´t na tvorbu jednodusˇsˇ´ıch rozpocˇtu˚, jejichzˇ data mohou by´t pote´ da´le vyuzˇita, ale u vı´ce specializovany´ch firem se prˇedpokla´da´ vyuzˇitı´ sofistikovaneˇjsˇ´ıho rozpocˇtovacı´ho softwaru vytvorˇene´ho prˇ´ımo na mı´ru. Oboustranna´ komunikace s rozpocˇtovacı´ aplikacı´ je vhodna´, ale pro beˇh na´mi popisovane´ho syste´mu ne nezbytna´, nebot’funkci rozpocˇtu mohou do jiste´ mı´ry zastoupit moduly ty´kajı´cı´ se pla´nova´nı´ financı´ na zaka´zce a objedna´vek. Je zde take´ videˇt, zˇe modul zaka´zky za´visı´ na modulu kalkulace; nejde vsˇak o skutecˇneˇ fyzicky oddeˇlene´ aplikace, ale spı´sˇe o analytickou a marketingovou pomu˚cku. Tvorba objedna´vek, jezˇ v klasicke´m beˇhu komplexneˇjsˇ´ı zaka´zky navazuje, nenı´ nic jine´ho, nezˇ sestavova´nı´ a spra´va dokumentu˚, jejichzˇ struktura je prˇedem dana´. Jde o jednoduchou pomu˚cku, jezˇ na beˇh zaka´zky opeˇt nema´ za´sadneˇjsˇ´ı vliv, ale ktera´ je pro odpoveˇdnou osobu (v Omega Design nazy´vanou te´zˇ account manager) velmi uzˇitecˇna´ a azˇ prˇekvapiveˇ cˇasto uzˇ´ıvana´. Opeˇt jde o zprostrˇedkova´nı´ sluzˇeb jine´ho modulu, ktery´ nabı´zı´ i systematicky´ prˇehled objedna´vek a dalsˇ´ı samozrˇejme´ funkce. Pla´nova´nı´ financı´ je oproti tomu funkce vztahujı´cı´ se prˇ´ımo k zaka´zce. Pod tı´mto pojmem 8
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.1: Diagram prˇ´ıpadu uzˇitı´ z pohledu odpoveˇdne´ osoby zaka´zky 9
3. POPIS SYSTE´MU NAVIGO PORT se neskry´va´ nic slozˇiteˇjsˇ´ıho, nezˇ jednoduchy´ pla´novacˇ cash flow. Tedy mı´sto, kam mu˚zˇe by´t zaznamena´no, kdy a kolik financı´ bude pro zdar zaka´zky nutno vynalozˇit a kdy je mozˇne´ pocˇ´ıtat se za´lohovy´mi platbami od klienta. Bohuzˇel tato funkce prˇ´ılisˇ za´visı´ na „snazˇivosti“ accounta, ktere´mu neprˇina´sˇ´ı dostatek uzˇitku k tomu, aby byl dostatecˇneˇ motivova´n k sveˇdomite´mu zaznamena´va´nı´ teˇchto u´daju˚. Zada´va´nı´ a kontrola u´kolu˚ je cˇinnost, jezˇ se odkazuje na modul u´koly, ktery´ se prolı´na´ veˇtsˇ´ı cˇa´stı´ syste´mu. Za´kladnı´m pozˇadavkem je mozˇnost u´kolovat jak jednotlive´ zameˇstnance, tak i jejich skupiny (pracovnı´ ty´my), a take´ definovat ocˇeka´vany´ rozsah pracı´ a jejich typ (opeˇt ´ kolovacı´ modul v analogicke´m forma´tu k vy´pisu pracı´ na zaka´zce a polozˇce rozpocˇtu). U poma´ha´ odpoveˇdne´ osobeˇ v udrzˇenı´ prˇehledu nad tı´m, kdo je za jakou cˇa´st realizace zaka´zky odpoveˇdny´, jake´ termı´ny se k zaka´zce va´zˇou apod. Pra´ci zameˇstnanci zada´vajı´ formou „akcı´ na zaka´zce“. Kazˇda´ akce ma´ definova´n rozsah, typ pra´ce a jednoduchy´ slovnı´ popis. Kazˇdy´ zameˇstnanec je firmou nucen k rozumne´mu vyplnˇova´nı´ vy´kazu pra´ce a dı´ky syste´mu, jaky´m jsou odmeˇnˇova´ny odpoveˇdne´ osoby jednotlivy´ch zaka´zek, take´ tlacˇen k minimalizaci zapsane´ pra´ce na jednotlivy´ch zaka´zka´ch, cozˇ vytva´rˇ´ı prostrˇedı´, ktere´ relativneˇ silneˇ motivuje zameˇstnance k rozumne´mu vykazova´nı´ vlastnı´ pra´ce. Odpoveˇdna´ osoba dı´ky tomu mu˚zˇe monitorovat pracnost a plneˇnı´ rozpocˇtu. Z delsˇ´ı cˇasove´ perspektivy se tı´mto zpu˚sobem take´ buduje databa´ze, kterou je mozˇno prˇekvapiveˇ dobrˇe vyuzˇ´ıt k lepsˇ´ımu odhadova´nı´ pracnosti novy´ch projektu˚. Z prˇehledu akcı´ na zaka´zce je mozˇno take´ kalkulovat fakturaci u zaka´zek, jezˇ jsou fakturova´ny dle provedeny´ch praci a ne dle rozpocˇtu. Neˇkterˇ´ı zameˇstnanci mohou by´t odmeˇnˇova´ni ne dle objemu pra´ce na zaka´zce odvedene´, ale dle prˇedem domluvene´ho sche´matu. Proto musı´ syste´m umozˇnˇovat spra´vu teˇchto „nestandardnı´ch“ odmeˇn. Klasicky´m prˇ´ıkladem mu˚zˇe by´t grafik pracujı´cı´ na reklamnı´ kampani, ktery´ pote´, co zapı´sˇe akci na zaka´zce, zı´ska´ na´rok na odmeˇnu, jezˇ je mu odpoveˇdnou osobou prˇideˇlena a na jine´m mı´steˇ ve firmeˇ pak take´ neˇky´m zcela jiny´m vyplacena. Odmeˇny se va´zˇou na jednotlive´ profese; jeden cˇloveˇk tedy mu˚zˇe by´t odmeˇneˇn za vı´ce profesı´, cozˇ napoma´ha´ lepsˇ´ı cˇitelnosti dat. Schvalova´nı´ vy´daju˚ zaka´zky nemusı´ znı´t na prvnı´ pohled dostatecˇneˇ jasneˇ, ale nejde o nic jine´ho, nezˇ o odsouhlasenı´ plateb dodavatelu˚m. Kazˇda´ prˇijata´ faktura je zavedena do syste´mu a odpoveˇdna´ osoba oznacˇ´ı na´klady vztahujı´cı´ se k jejı´ zaka´zce. Faktura je proplacena azˇ v okamzˇiku, kdy je schva´lena. Protozˇe zde docha´zı´ k prˇesahu s u´cˇetnı´m softwarem a k ukla´da´nı´ redundantnı´ch dat, je velmi du˚lezˇite´ dobrˇe rozva´zˇit, zda tento modul a vlastneˇ cely´ princip pouzˇ´ıt. U mensˇ´ıch firem bude jisteˇ le´pe fungovat jednoduche´ schvalovacı´ razı´tko na fakturˇe. Vystavova´nı´ faktur je take´ prˇesah do u´cˇetnı´ho syste´mu, ale prˇi spolupra´ci s externı´ u´cˇetnı´ firmou nikterak rusˇivy´. Jde o jednoduchy´ modul velmi podobny´ modulu objedna´vky, ktery´ se stara´ jen o rozumne´ vystavova´nı´ dokumentu˚ dane´ struktury. ˇ ivotnı´ cyklus zaka´zky koncˇ´ı jejı´m uzavrˇenı´m, cˇ´ımzˇ zodpoveˇdna´ osoba ozna´mı´ syste´mu, Z zˇe pra´ce na zaka´zce byly dokoncˇeny, zˇa´dnou dalsˇ´ı prˇijatou fakturu neocˇeka´va´ a vlastneˇ jediny´m vneˇjsˇ´ım jevem, ktery´ se mu˚zˇe k zaka´zce vztahovat, je proplacenı´ nebo doplacenı´ vydane´ faktury. Kromeˇ modulu zaka´zky je odpoveˇdna´ osoba komunikacı´ sva´za´na jesˇteˇ s modulem kontakty, nebot’ na´plnı´ jejı´ pra´ce je i aktualizace obchodnı´ch kontaktu˚ firmy. Jak je videˇt na obra´zku 3.1, s modulem denı´k je mozˇno komunikovat jak prostrˇednictvı´m modulu kontakty, tak prˇes zaka´zky, nebot’ za´znamy v neˇm se samozrˇejmeˇ mohou ty´kat jak obecneˇ kontaktu, tak take´ zaka´zky jako takove´. 10
3. POPIS SYSTE´MU NAVIGO PORT Prostrˇednictvı´m tohoto prˇ´ıpadu uzˇitı´ se da´ do syste´mu nahle´dnout asi nejprˇirozeneˇji, avsˇak pohled nenı´ komplexnı´. Na´sledujı´cı´, jizˇ hrubsˇ´ı pohledy na syste´m z pozice rˇadove´ho pu´racovnı´ka, vedenı´ firmy a u´cˇetnı´ ukazujı´ pohled na syste´m ze trˇ´ı dalsˇ´ıch perspektiv, ktere´ odhalujı´ jak dalsˇ´ı moduly, tak take´ da´vajı´ jesˇteˇ vı´ce nahle´dnout do filozofie cele´ aplikace. 3.2.2
Pohled rˇadove´ho zameˇstnance
Obra´zek 3.2: Diagram prˇ´ıpadu uzˇitı´ z pohledu rˇadove´ho zameˇstnance Z pohledu rˇadove´ho zameˇstnance je uzˇitı´ syste´mu podstatneˇ jednodusˇsˇ´ı. Nejdu˚lezˇiteˇjsˇ´ı cˇinnostı´ je vykazova´nı´ pra´ce, nebot’ bez neˇj nema´ syste´m v podstateˇ na cˇem staveˇt. Doba, 11
3. POPIS SYSTE´MU NAVIGO PORT kterou zameˇstnanec popisovany´mi cˇinnostmi stra´vı´, by vsˇak nemeˇla prˇesa´hnout 5 % pracovnı´ doby (tedy vyka´zat podrobneˇ cˇinnost za cely´ den by nemeˇlo zabrat vı´ce nezˇ zhruba pu˚l hodiny). Samozrˇejmy´m na´strojem je kontrola vlastnı´ho pracovnı´ho vy´kazu ktery´ v idea´lnı´m prˇ´ıpadeˇ srovna´va´ vyka´zanou pra´ci s docha´zkou evidovanou v externı´m syste´mu. Zameˇstnanec je tedy motivova´n popsat svu˚j pobyt na pracovisˇti pokud mozˇno beze zbytku a odpoveˇdny´mi osobami na jednotlivy´ch zaka´zka´ch nucen k minimalizaci cˇinnostı´, jezˇ na tyto zaka´zky prˇipisuje. Cely´ syste´m je tedy schopen pracovnı´ka ve´st k produkci rozumneˇ prˇesny´ch a odu˚vodnitelny´ch za´znamu˚. Spolupra´ce s modulem u´koly je zrˇejma´, pracovnı´k prˇijı´ma´, plnı´ a zada´va´ u´koly jak sa´m sobeˇ, svy´m podrˇ´ızeny´m, nebo dokonce nadrˇ´ızeny´m. Doplnˇkem teˇchto cˇinnostı´ je pak aktualizace obchodnı´ch kontaktu˚ firmy, nebot’i rˇadovy´ zameˇstnanec prˇirozeneˇ mu˚zˇe komunikovat s klientem. Zaznamena´va´nı´ podstatny´ch uda´lostı´ do denı´ku je take´ cˇinnost prolı´najı´cı´ se te´meˇrˇ vsˇemi rolemi v syste´mu. 3.2.3
Pohled vedenı´ firmy
Obra´zek 3.3: Diagram prˇ´ıpadu uzˇitı´ z pohledu vedenı´ firmy Z pohledu nejvysˇsˇ´ıho vedenı´ firmy jsou jasne´ snahy o prezentaci souhrnny´ch dat. Vedenı´ spolecˇnosti mu˚zˇe samozrˇejmeˇ prova´deˇt vsˇechny cˇinnosti zna´zorneˇne´ v pohledech odpoveˇdne´ osoby nebo rˇadove´ho zameˇstnance, na sche´matu jsou vsˇak zobrazeny jen cˇinnosti, jezˇ jsou pro vedenı´ spolecˇnosti jedinecˇne´. 12
3. POPIS SYSTE´MU NAVIGO PORT Patrˇ´ı mezi neˇ samozrˇejmeˇ statisticke´ vy´stupy sledujı´cı´ ziskovost a pracnost zaka´zek (tedy statisticky´ modul zobrazujı´cı´ souhrnne´ statistiky z pohledu zaka´zky), jezˇ jsou za´kladnı´m controllingovy´m vy´stupem cele´ho syste´mu a jezˇ o zˇivotaschopnosti a okamzˇite´ situaci firmy rˇ´ıkajı´ azˇ prˇekvapiveˇ mnoho informacı´. K teˇmto statistika´m se z pohledu zaka´zek prˇipojujı´ statistiky z pohledu vyka´zane´ pra´ce. Slouzˇ´ı zejme´na k udrzˇenı´ prˇehledu o tom, jaky´ druh pra´ce je ve spolecˇnosti nejcˇasteˇjsˇ´ı, napoma´hajı´ zjisˇteˇnı´ vytı´zˇenı´ jednotlivy´ch profesı´ zastoupeny´ch ve spolecˇnosti a poskytujı´ dalsˇ´ı klasicke´ statisticke´ vy´stupy. Vedenı´ firmy take´ prˇ´ıslusˇ´ı starost o urcˇova´nı´ cen pracı´. Nejde jen o prodejnı´ ceny pracı´, ale hlavneˇ o tzv. rezˇijnı´ ceny, tedy vycˇ´ıslenı´ na´kladu˚ na vykona´nı´ pra´ce. Ve stejne´m modulu je take´ zarˇazena agenda uzˇivatelu˚ syste´mu, jejich zarˇazova´nı´ do skupin a dalsˇ´ı na´stroje slouzˇ´ıcı´ k administraci globa´lnı´ch vlastnostı´ syste´mu. V neposlednı´ rˇadeˇ je trˇeba zmı´nit modul odmeˇny odpoveˇdny´ch osob, jezˇ se stara´ o vazbu prˇ´ıjmu˚ osob odpoveˇdny´ch za zaka´zky na ziskovost teˇchto zaka´zek. Vedenı´ spolecˇnosti prˇ´ıslusˇ´ı nejen nastavova´nı´ cele´ho syste´mu (zjednodusˇeneˇ si tuto cˇinnost mu˚zˇeme prˇedstavit jako nastavova´nı´ procent ze zisku, ktera´ prˇipadnou odpoveˇdne´ osobeˇ), ale take´ prˇizna´va´nı´ jednotlivy´ch odmeˇn. Vycha´zı´ se zde z prˇedpokladu, zˇe zˇa´dny´ automaticky´ syste´m (cˇi matematicky´ model) nemu˚zˇe tak citlivou a komplexnı´ situaci popsat zcela prˇesneˇ a prˇitom pro odmeˇnˇovane´ho dostatecˇneˇ transparentneˇ. Prˇ´ıtomnost vedoucı´ho pracovnı´ka, ktery´ ve veˇtsˇineˇ prˇ´ıpadu˚ da´ za pravdu syste´mu a v patologicky´ch prˇ´ıpadech zasa´hne a napravı´ prˇ´ıpadnou „krˇivdu“, je prˇ´ınosneˇjsˇ´ı, nezˇ tvorba slozˇiteˇjsˇ´ıch a me´neˇ srozumitelny´ch automaticky´ch syste´mu˚. 3.2.4
Pohled u´cˇetnı´
Na sche´matu prˇ´ıpadu uzˇitı´ z pohledu u´cˇetnı´ jsou moduly a akce, ktere´ se cˇa´stecˇneˇ prˇekry´vajı´ s klasicky´m „krabicovy´m“ u´cˇetnı´m softwarem. Zacˇleneˇnı´ teˇchto funkcı´ do syste´mu je vedeno snahou mı´t v prˇehledu ziskovosti zaka´zek co nejprˇesneˇjsˇ´ı data. Syste´m obsahuje i modul pro komunikaci s u´cˇetnictvı´m Money, ktery´ se v minulosti z velke´ cˇa´sti staral o nava´za´nı´ na´kladu˚ prˇ´ıchozı´ch faktur na jednotlive´ zaka´zky, ale vzhledem k prodleveˇ, jezˇ vznikala prˇi importu teˇchto dat od externı´ u´cˇetnı´ firmy, bylo rozhodnuto o realizaci komplexneˇjsˇ´ıho syste´mu spra´vy u´cˇetnictvı´ v Navigo Port. S externı´ u´cˇetnı´ firmou se komunikuje jen za u´cˇelem vedenı´ u´cˇetnictvı´ formou vyzˇadovanou sta´tem a vesˇkere´ analyticke´ operace jsou implementova´ny do syste´mu. Vy´sledkem jsou aktua´lnı´ data teˇsneˇ va´zana´ na entity v Navigo Port a komunikace s u´cˇetnı´ firmou jen pomocı´ vytisˇteˇny´ch dokladu˚. Modul pokladna v podstateˇ jen nahrazuje klasickou papı´rovou pokladnı´ knihu a umozˇnˇuje prˇirˇazenı´ jednotlivy´ch vy´dajovy´ch pokladnı´ch dokladu˚ k jednotlivy´m zaka´zka´m, nebo roztrˇ´ıdeˇnı´ zbytkovy´ch „rezˇijnı´ch“ na´kladu˚ do stromove´ struktury pro lepsˇ´ı orientaci a prˇehled. Modul prˇijate´ faktury slouzˇ´ı prima´rneˇ k evidenci na´kladu˚, ktere´ je mozˇno take´ zarˇazovat do rezˇijnı´ch kategoriı´, prˇirˇazenı´ k zaka´zka´m je vsˇak slozˇiteˇjsˇ´ı. Kazˇda´ polozˇka na prˇijate´ fakturˇe totizˇ musı´ by´t prˇed proplacenı´m dodavateli schva´lena kteroukoli odpoveˇdnou osobou. ´ cˇetnı´ jen sleduje, zdali k takove´mu schva´lenı´ vcˇas dosˇlo, a prˇi zava´deˇnı´ faktury do syste´mu U je schopna prˇedem urcˇit pravdeˇpodobnou zaka´zku, ke ktere´ se konkre´tnı´ polozˇka va´zˇe. Soucˇa´stı´ agendy prˇijaty´ch faktur je samozrˇejmeˇ evidence provedeny´ch plateb ve vztahu ke splatnosti jednotlivy´ch faktur a jine´ samozrˇejme´ cˇinnosti. U vydany´ch faktur se u´cˇetnı´ stara´ opeˇt o platebnı´ mora´lku klientu˚ a hlavneˇ rˇesˇ´ı proble´my se sˇpatneˇ, cˇi neprˇesneˇ vystaveny´mi fakturami. Cˇinnostı´ ryze specifickou a nerˇesˇenou klasicky´m u´cˇetnı´m syste´mem je evidence plateb 13
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.4: Diagram prˇ´ıpadu uzˇitı´ z pohledu u´cˇetnı´
14
3. POPIS SYSTE´MU NAVIGO PORT externistu˚ ve vazbeˇ na zaka´zky a evidence vyplaceny´ch odmeˇn briga´dnı´ku˚. Jde o jednoduche´ agendy silneˇ va´zane´ na zaka´zky, ktere´ nemajı´ jednoduchou reflexi v u´cˇetnictvı´.
3.3
Popis za´kladnı´ch datovy´ch entit aplikace
Pro lepsˇ´ı proniknutı´ do syste´mu je vhodne´ projı´t velmi zbeˇzˇneˇ za´kladnı´ datove´ entity se ktery´mi pracuje. Zjednodusˇeny´ ERD diagram ukazuje jen za´kladnı´ tabulky, pro pochopenı´ syste´mu vsˇak plneˇ postacˇuje. Za´kladnı´ entitou, kterou lze nale´zt v kazˇde´m modulu, je osoba (db d persons), ktera´ mu˚zˇe kuprˇ´ıkladu zodpovı´dat za zaka´zku, vystavit fakturu, by´t odmeˇnˇova´na nebo mu˚zˇe vykonat akci. Zaka´zka (db d jobs) je jednodusˇe mı´stem pro ulozˇenı´ za´kladnı´ch dat o zaka´zce (kuprˇ´ıkladu jejı´ho slovnı´ho popisu). Ze sche´matu je patrne´, zˇe se na ni va´zˇou objedna´vky (db d orders), faktury vydane´ (db d outgoing invoices), polozˇky pokladnı´ knihy (db d cash book), rozpocˇty (db d budgets), polozˇky prˇijaty´ch faktur (db d incomming invoice entries) a osoby v neˇkolika rolı´ch. Vy´znam teˇchto vazeb snad nenı´ nutno blı´zˇe specifikovat, a kdyby snad nebyl na prvnı´ pohled zrˇejmy´, je mozˇno podrobnosti nale´zt v popisu jednotlivy´ch modulu˚. Akce (db d actions) jsou za´kladnı´ jednotkou vykonane´ pra´ce. Kazˇda´ ma´ svu˚j typ, rozsah a urcˇenı´ ceny. Velmi teˇsneˇ se va´zˇou k zaka´zka´m a struktura za´pisu objemu pra´ce u nich pouzˇita´ se s mensˇ´ımi cˇi veˇtsˇ´ımi obmeˇnami vyskytuje na vı´ce mı´stech v syste´mu. K zaka´zce se va´zˇou i prˇijate´ faktury (db d incomming invoices), ale jde pouze o vazbu mensˇ´ıho informativnı´ho vy´znamu (blı´zˇe v popisu prˇ´ıslusˇne´ho modulu), samotne´ na´klady jsou evidova´ny pomocı´ vazby jednotlivy´ch polozˇek prˇijate´ faktury. Kategorie na´kladu˚ (ktere´ jsou uzˇ´ıva´ny zejme´na ke trˇ´ıdeˇnı´ rezˇijnı´ch na´kladu˚) se samozrˇejmeˇ va´zˇou k jednotlivy´m pokladnı´m dokladu˚m a polozˇka´m prˇijaty´ch faktur. Firmy (db d firms) jsou opeˇt entitou s jasny´m vy´znamem. Va´zˇou se na neˇ samozrˇejmeˇ jak zaka´zky, tak faktury, cˇi objedna´vky. Ke kazˇde´mu za´znamu o firmeˇ se da´le mohou va´zat adresy pobocˇek (db d addresses) a samozrˇejmeˇ lide´ (db x persons firms), ktery´m touto vazbou na firmu prˇibudou za´znamy o firemnı´ch telefonech a dalsˇ´ı u´daje. Denı´cˇek (db d diary), prˇesneˇji tedy jeho za´znamy, se prˇirozeneˇ va´zˇou na firmy, zaka´zky a osoby, ktere´ za´znam vytvorˇily. Zameˇstnanci (db d employees) nejsou nic jine´ho nezˇ specia´lnı´ skupina osob. Jsou prˇirˇazova´ni do skupin (db d groups of employees), ktere´ tvorˇ´ı (jako i neˇktere´ jine´ entity v tomto seznamu zmı´neˇne´) stromovou strukturu a meˇly by odra´zˇet strukturu organizace v nı´zˇ je syste´m pouzˇ´ıva´n. Va´zˇou se na neˇ take´ uzˇivatelska´ pra´va (db x rights groups of employees). Kazˇdy´ zameˇstnanec (je mozˇno nad nı´m prˇesneˇji uvazˇovat spı´sˇe jako o uzˇivateli syste´mu) mu˚zˇe patrˇit do vı´ce skupin (db x employees groups of employees). ´ koly mohou Popis skupin zameˇstnancu˚ idea´lneˇ uvozuje vysveˇtlenı´ u´kolu˚ (db d tasks). U by´t va´za´ny jak na zameˇstnance, cozˇ je prˇirozene´, tak na skupinu zameˇstnancu˚. Nejde vsˇak o nic jine´ho, nezˇ o snahu zachytit situaci, kdy je trˇeba vykonat neˇjakou cˇinnost, a nenı´ du˚lezˇite´, kdo ji vykona´. Pak stacˇ´ı zadat u´kol te´ skupineˇ zameˇstnancu˚, ktera´ ma´ pozˇadovanou cˇinnost v popisu pra´ce, a pocˇkat, kdo z nich u´kol prˇijme. 15
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.5: Leva´ cˇa´st zjednodusˇene´ho entitneˇ relacˇnı´ho diagramu 16
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.6: Prava´ cˇa´st zjednodusˇene´ho entitneˇ relacˇnı´ho diagramu 17
3. POPIS SYSTE´MU NAVIGO PORT
3.4
Popis uzˇivatelske´ho rozhranı´ na prˇı´kladu modulu Kontakty
Design uzˇivatelske´ho rozhranı´ nenı´ soucˇa´stı´ zada´nı´ te´to pra´ce a je z velke´ cˇa´sti dı´lem prˇ´ımo firmy Omega Design, prˇesto se vsˇak od neˇj cˇa´stecˇneˇ odvı´jejı´ i rˇesˇenı´ nizˇsˇ´ıch vrstev syste´mu. Ve filozofii ovla´da´nı´ se take´ cˇa´stecˇneˇ odra´zˇ´ı filozofie cele´ aplikace; nejde tedy o cˇa´st zcela oddeˇlenou, kterou by prˇi popisu syste´mu bylo mozˇno u´plneˇ pominou. Analyticke´ pra´ce rˇesˇitele se navı´c cˇasto vztahovaly pra´veˇ k uzˇivatelske´mu rozhranı´, cˇi jı´m byly ovlivneˇny. Navı´c na samotny´ syste´m se uzˇivatel dı´va´ pra´veˇ prˇes toto rozhranı´. Tolik tedy k du˚vodu˚m jeho blizˇsˇ´ımu popisu.
Obra´zek 3.7: Prˇehled kontaktu˚ Ve veˇtsˇineˇ prˇ´ıpadu˚ se modul aplikace da´ rozdeˇlit na vy´pis za´znamu˚ (tedy jaky´si prˇehled) a detail jednotlive´ polozˇky. Jako modelovy´ prˇ´ıklad vy´pisu na´m zde slouzˇ´ı seznam kontaktu˚. Samotna´ stra´nka se skla´da´ z jednoduchy´ch prvku˚, jaky´mi jsou hlavnı´ menu, nadpis, logo a paticˇka, ktere´ snad nenı´ nutno da´le rozebı´rat, a pak z tzv. filtru a samotne´ho vy´pisu dat. Filtr je na nasˇem prˇ´ıkladu tvorˇen oblastı´ mezi cˇerveny´m na´pisem „Kontakty“ a sˇedivou plochou obklopujı´cı´ tabulku. Filtrem (jak sa´m na´zev napovı´da´) je specifikova´no, co bude zobrazeno v tabulce pod nı´m. V tomto prˇ´ıpadeˇ je ve filtru zakomponova´n dalsˇ´ı velmi cˇasto uzˇ´ıvany´ ovla´dacı´ prvek, ktery´ je interneˇ neprˇesneˇ nazy´va´n „div“. Jde v podstateˇ o imitaci okna, jezˇ zde konkre´tneˇ slouzˇ´ı zde k usˇetrˇenı´ mı´sta a poma´ha´ designoveˇ zapracovat tu cˇa´st formula´rˇe, jezˇ nema´ prˇedem danou strukturu. Seznam kategoriı´ kontaktu˚ je totizˇ mozˇno kdykoli zmeˇnit. Pod filtrem uzˇ na´sleduje tabulka s vypsany´mi daty, odkazy na dalsˇ´ı podstra´nky (zde jme´na firem odkazujı´cı´ na detaily za´znamu) cˇi jinam (e-mailove´ adresy osob) jsou zobrazeny klasicky modry´m pı´smem, jezˇ se prˇi prˇechodu mysˇi podtrhne tak, aby bylo uzˇivateli hned jasne´, zˇe jde o aktivnı´ prvek. Zobrazenı´ detailu˚ firmy ukazuje prˇehledneˇ vsˇechny entity, ktere´ je mozˇno na za´znamu firmy evidovat. Je zrˇejme´, zˇe ke kazˇde´ firmeˇ, jak uzˇ bylo zmı´neˇno drˇ´ıve, prˇ´ıslusˇ´ı osoby a adresy. Jejich zmeˇny jsou opeˇt rˇesˇeny skryty´m divem, ktery´ rˇesˇ´ı jednak nedostatek mı´sta, umozˇnˇuje prohlı´zˇenı´ podrobnostı´ o jednotlivy´ch za´znamech bez nutnosti nacˇ´ıta´nı´ dat ze serveru a v neposlednı´ rˇadeˇ rozdeˇluje stra´nku velmi prˇirozeny´m zpu˚sobem na vı´c formula´rˇu˚. Tyto editacˇnı´ divy se otevı´rajı´ kliknutı´m na maly´, bı´le podlozˇeny´ odkaz „detaily/zmeˇnit“ 18
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.8: Detail kontaktu vpravo u kazˇde´ho rˇa´dku. Moduly denı´k a u´koly, jejichzˇ editacˇnı´ prvky jsou na obra´zku videˇt, jsou popisova´ny da´le. Jediny´m polem stojı´cı´m poneˇkud mimo tento popisovany´ syste´m, je „pozna´mka“, ktera´ by meˇla by´t v editacˇnı´m divu detailu˚ firmy, ale kvu˚li prakticˇnosti a rychlosti ovla´da´nı´ je vytazˇena na sta´vajı´cı´ mı´sto.
19
3. POPIS SYSTE´MU NAVIGO PORT
3.5
Popis ostatnı´ch modulu˚
3.5.1
Zaka´zky
Obra´zek 3.9: Vlastnosti zaka´zky Sledova´nı´ pracı´ na zaka´zka´ch je za´kladnı´ funkcı´ syste´mu. Kazˇda´ odvedena´ pra´ce ma´ v syste´mu podobu akce, jejı´zˇ typ urcˇuje druh odvedene´ pra´ce, jejı´ beˇzˇnou fakturacˇnı´ cenu (tedy beˇzˇnou cenu za jednu jednotku v prˇ´ıpadeˇ prodeje te´to pra´ce za´kaznı´kovi) a rezˇijnı´ cenu (tedy odhad na´kladu˚, ktere´ firmeˇ vzniknout v prˇ´ıpadeˇ, zˇe je vykona´na jedna jednotka pra´ce). Typy akcı´ se samozrˇejmeˇ v cˇase meˇnı´, ale obeˇ cˇa´stky jsou u kazˇde´ akce fixova´ny v obeˇ jejı´ho vzniku cˇi poslednı´ zmeˇny typu. Vlastnosti samotne´ zaka´zky jsou v za´sadeˇ jen mı´stem, kde je ji mozˇno popsat a kde se nastavujı´ jejı´ za´kladnı´ vlastnosti. Zde je mozˇno zarˇadit zaka´zku do kategoriı´, zmeˇnit odpoveˇdnou osobu, ale zejme´na je mozˇno ji uzavrˇ´ıt. Uzavrˇenı´ zaka´zky je podstatny´ bod jejı´ho zˇivotnı´ho cyklu, jde o definitivnı´ tecˇku za pracemi na zaka´zce a vlastneˇ za celou jejı´ existencı´. Do odmeˇn odpoveˇdny´ch osob se zapocˇ´ıta´vajı´ jen uzavrˇene´ zaka´zky, na neˇzˇ samozrˇejmeˇ nenı´ mozˇno pote´ vykazovat dalsˇ´ı pra´ci. Tabulka prˇizna´va´nı´ odmeˇn jiny´m odpoveˇdny´m osoba´m umozˇnˇuje specifikovat dalsˇ´ı osoby s cˇa´stecˇny´m na´rokem na odmeˇnu prˇi u´speˇsˇne´m dokoncˇenı´ 20
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.10: Vkla´da´nı´ nove´ akce z prˇehledu zaka´zek
zaka´zky. Nema´ vsˇak zˇa´dny´ prˇ´ımy´ vliv na pra´va na zaka´zce. Zaka´zky je mozˇno seskupovat do „rodin“ klasicky´m vztahem rodicˇ – potomek. Je tedy mozˇno jednodusˇe a prˇirozeneˇ rozmeˇlnit velke´ projekty na mensˇ´ı a pra´ci tak le´pe organizovat. V cele´m modulu zaka´zky a na neˇkolika dalsˇ´ıch mı´stech v syste´mu je mozˇno se zaka´zkami pracovat bud’to jednotliveˇ, nebo s celou rodinou zaka´zek najednou. Typicky´m prˇ´ıkladem tohoto prˇ´ıstupu je jednoducha´ mozˇnost sedovat ve vy´pisu akcı´ na zaka´zce bud’ akce jen vybrane´ zaka´zky, anebo jejı´ a vsˇech jejich dcer. Tento jednoduchy´ mechanismus umozˇnˇuje ve´st agendu jednotlivy´ch podprojektu˚ oddeˇleneˇ bez toho, aby se ztratil prˇehled o celku. Jak jizˇ bylo patrne´ z na´kresu prˇ´ıpadu uzˇitı´ z pohledu odpoveˇdne´ osoby na zaka´zce, je mozˇno prˇecha´zet do jiny´ch modulu˚ a pracovat s nimi z pohledu zvolene´ zaka´zky. Tento popis mozˇna´ znı´ poneˇkud krkolomneˇ, ale nejde o nic jine´ho, nezˇ o jednoduche´ odkazy kuprˇ´ıkladu na vsˇechny faktury ty´kajı´cı´ se vybrane´ zaka´zky. Odkaz „finance na zaka´zce“ prˇenese uzˇivatele do jednoduche´ho fomula´rˇe, ktery´ umozˇnˇuje editaci trˇ´ı jednoduchy´ch agend. Prˇedpokla´dane´ prˇ´ıjmy a vy´daje jsou jednoduchou mozˇnostı´, jak pla´novat finance na zaka´zce. Sada cˇ´ıselny´ch atributu˚, na ilustracˇnı´m obra´zku zacˇ´ınajı´cı´ „Pytlı´kem“ a koncˇ´ıcı´ „Grafikem“, nenı´ nic jine´ho, nezˇ customizovatelna´ sada atributu˚ zaka´zky, ktere´ slouzˇ´ı jen pro poznamena´nı´ jaky´chkoli cˇ´ıselny´ch u´daju˚. Je zde zarˇazena z toho du˚vodu, zˇe jde veˇtsˇinou o cifry ty´kajı´cı´ se financı´. Poslednı´m prvkem formula´rˇe je sada vstupnı´ch polı´cˇek nadepsana´ „Odmeˇny“, ktere´ se ty´kajı´ odmeˇnˇova´nı´ externistu˚. Kazˇdy´ uzˇivatel v syste´mu mu˚zˇe by´t zarˇazen do skupiny s prˇ´ıznakem, ktery´ zaprˇ´ıcˇinı´ vytvorˇenı´ takove´to polozˇky na jake´koli zaka´zce, k nı´zˇ existuje akce dane´ho uzˇivatele. Cely´ mechanismus tedy vypada´ tak, zˇe osoba spravujı´cı´ uzˇivatelske´ skupiny prˇirˇadı´ uzˇivatele do „odmeˇnˇovane´“ skupiny; takovy´ uzˇivatel vyka´zˇe pra´ci formou akce cˇi akcı´ na zaka´zce a odpoveˇdne´ osobeˇ za tuto zaka´zku se automaticky vytvorˇ´ı „kolonka“ pro vyplneˇnı´ prˇ´ıslusˇne´ odmeˇny. 21
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.11: Finance na zaka´zce Ve vy´pisu akcı´ na zaka´zce (odkaz „Akce“) nenı´ nic jine´ho, nezˇ prˇehledna´ tabulka, jedinou dalsˇ´ı informacı´ je zde soucˇet na´kladu˚ za pra´ci briga´dnı´ku˚. Tato agenda je vedena zcela mimo a bude popsa´na da´le.
22
3. POPIS SYSTE´MU NAVIGO PORT 3.5.2
Denı´k
Modul denı´ku nema´ samostatnou prˇehlednou tabulku jako kuprˇ´ıkladu zaka´zky, ale je prˇ´ıtomen v podobeˇ jednoduche´ho formula´rˇe a vy´pisu za´znamu˚ v modulu zaka´zky a kontakty. Cı´lem bylo maxima´lneˇ jednodusˇe zaznamena´vat komunikaci ty´kajı´cı´ se zaka´zek a kontaktu˚, prˇicˇemzˇ hlavnı´ du˚raz byl kladen na jednoduche´, intuitivnı´ a rychle´ pouzˇitı´ tohoto na´stroje. Kazˇdy´ za´znam je slozˇen jen z textu a oznacˇenı´, zda jde o norma´lnı´, citlivy´, cˇi soukromy´ za´znam. Citlive´ za´znamy vidı´ typicky vsˇichni obchodnı´ci firmy, ale ne rˇadovı´ zameˇstnanci, a du˚veˇrne´ za´znamy vidı´ jen jejich autorˇi, prˇ´ıpadneˇ jejich nadrˇ´ızenı´ vybavenı´ specia´lnı´m pra´vem. 3.5.3
´ koly U
Agenda u´kolu˚ je k nalezenı´ vzˇdy vedle zobrazenı´ rozhranı´ modulu denı´k ale kromeˇ toho ma´ take´ dveˇ prˇehledove´ tabulky: Pohled na u´koly pra´ve prˇihla´sˇene´ho uzˇivatele, cozˇ je take´ vstupnı´ stra´nka syste´mu a pak obecnou prˇehledovou aplikaci.
Obra´zek 3.12: „Div“ pro vlozˇenı´ nove´ho u´kolu Samotny´ u´kol obsahuje kromeˇ popisu, termı´nu dokoncˇenı´ a priority take´ mozˇnost definovat ocˇeka´vany´ rozsah a typ pra´ce ve stejne´m forma´tu, v jake´m by odvedena´ pra´ce mohla by´t zaznamena´na v akci. Jak jizˇ bylo zmı´neˇno drˇ´ıve, je mozˇno jej zadat jak osobeˇ, tak i skupineˇ osob. Kazˇdy´ u´kol musı´ by´t prˇijat osobou, jezˇ jej ma´ plnit. Tato akce prˇirozeneˇ odpada´ u u´kolu˚, jezˇ si prˇihla´sˇena´ osoba zada´va´ sama sobeˇ, ale ma´ velky´ vy´znam u u´kolu zadane´ho skupineˇ uzˇivatel, nebot’ten, kdo u´kol prˇijme, se za´rovenˇ sta´va´ jeho rˇesˇitelem. Zˇivotnı´ cyklus u´kolu koncˇ´ı jeho ukoncˇenı´m v prˇ´ıpadeˇ u´speˇchu a stornova´nı´m v prˇ´ıpadeˇ neu´speˇchu. 3.5.4
Vystavene´ faktury
Tento modul cˇa´stecˇneˇ zasahuje do sfe´ry, kde by bylo mozˇno pouzˇ´ıt univerza´lnı´ u´cˇetnı´ syste´m. Nava´zat vsˇak informace z takove´ho syste´mu na zaka´zky a da´le s nimi rozumneˇ, rychle a dostatecˇneˇ prˇesneˇ pracovat nenı´ trivia´lnı´ proble´m, nehledeˇ na to, zˇe zada´vajı´cı´ firma vyuzˇ´ıva´ pro spra´vu u´cˇetnictvı´ sluzˇby externı´ firmy, a proto je takova´to komunikace jesˇteˇ vı´ce ztı´zˇena. Cela´ agenda je tedy rozdeˇlena a kazˇda´ vydana´ faktura se vystavuje v Navigo Port a odesˇle ´ cˇetnı´ za´kaznı´kovi, za´rovenˇ se vsˇak v papı´rove´ podobeˇ prˇeda´ u´cˇetnı´ firmeˇ k zau´cˇtova´nı´. U firma pak fakturu zavede do u´cˇetnictvı´ sta´tem pozˇadovany´m zpu˚sobem, cozˇ je take´ to, co umı´ nejle´pe a do cˇehozˇ nenı´ trˇeba z vnitrˇnı´ho informacˇnı´ho syste´mu nahlı´zˇet. 23
3. POPIS SYSTE´MU NAVIGO PORT Navigo Port pak jesˇteˇ poma´ha´ sledovat platby za ty faktury, jezˇ do syste´mu zada´va´ jeden z pracovnı´ku˚. Opeˇt se zde obcha´zı´ prˇ´ıma´ komunikace s u´cˇetnı´m softwarem (acˇ importovacı´ modul byl implementova´n a rea´lneˇ neˇkolik meˇsı´cu˚ vyuzˇ´ıva´n), nebot’prˇi cˇeka´nı´ na aktualizaci dat v u´cˇetnı´m syste´mu a pak jejich import docha´zelo ke zbytecˇny´m a neprˇ´ıjemny´m cˇasovy´m prodleva´m, jezˇ znesnadnˇovaly udrzˇenı´ prˇehledu o rea´lne´m stavu plateb. Modul vystavene´ faktury umı´ prˇirozeneˇ a transparentneˇ pracovat se vsˇemi beˇzˇny´mi druhy faktur vcˇetneˇ za´lohovy´ch, umı´ automaticky prˇipravovat vyu´cˇtova´nı´ za´loh a rˇesˇ´ı vsˇechny takove´to za´kladnı´ proble´my. Samozrˇejmostı´ je prˇedvyplnˇova´nı´ kontaktnı´ch u´daju˚ o odbeˇrateli z modulu Kontakty a vystavova´nı´ cizojazycˇny´ch faktur (s automatickou konverzı´ z cicı´ meˇny). Vystavovat nove´ faktury je mozˇno prˇirozeneˇ prˇ´ımo z modulu zaka´zky, jak bylo ostatneˇ naznacˇeno vy´sˇe. Struktura samotne´ faktury je zrˇejma´ z obra´zku˚ a obejde se tedy bez podrobneˇjsˇ´ıho komenta´rˇe.
24
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.13: Editace vystavene´ faktury
25
3. POPIS SYSTE´MU NAVIGO PORT 3.5.5
Prˇijate´ faktury
Agenda prˇijaty´ch faktur slouzˇ´ı kromeˇ evidence obecny´ch na´kladu˚ firmy hlavneˇ ke schvalova´nı´ faktur na zaka´zka´ch. Za´kladnı´m proble´mem je, jak urcˇit, ktera´ faktura patrˇ´ı ke ktere´ zaka´zce a zdali je vu˚bec fakturovana´ cˇa´stka opodstatneˇna´ a nejedna´-li se o chybneˇ vystavenou fakturu, prˇ´ıpadneˇ prˇ´ımo o pokus o podvod. K cele´ veˇci je jesˇteˇ trˇeba poznamenat, zˇe jedna prˇijata´ faktura mu˚zˇe obsahovat na´klady pro vı´ce zaka´zek najednou. Prˇed zavedenı´m syste´mu kazˇda´ faktura fyzicky kolovala mezi obchodnı´ky, kterˇ´ı na ni oznacˇovali cˇa´stky prˇipadajı´cı´ na jejich zaka´zky. Tento syste´m byl velmi pomaly´ a znacˇneˇ neprˇehledny´, lecˇ v ja´dru spra´vny´. Proto byl jeho mechanismus prˇevzat do Naviga. Cely´ postup prˇi zava´deˇnı´ prˇijate´ faktury tedy vypada´ na´sledovneˇ: Osoba odpoveˇdna´ za vedenı´ agendy faktur zavede prˇijatou fakturu do syte´mu takovy´m zpu˚sobem, aby obchodnı´ci (tedy zna´me´ odpoveˇdne´ osoby na zaka´zka´ch) mohli dle tohoto za´znamu rozhodnout, je-li tato faktura opra´vneˇna´, a pokud ano, ke ktere´ zaka´zce se va´zˇe. Tato zapisujı´cı´ osoba ma´ mozˇnost fakturu rozdeˇlit na „polozˇky faktury“ a teˇmto polozˇka´m prˇideˇlit pravdeˇpodobnou zaka´zku, ke ktere´ se va´zˇou. Obchodnı´ci pote´ schvalujı´ jednotlive´ polozˇky prˇ´ımo v syste´mu, prˇicˇemzˇ je mozˇno jim prˇideˇlit pra´vo, ktere´ jim da´ mozˇnost rozdeˇlovat jednotlive´ polozˇky na vı´c cˇa´stı´, a tı´m uprˇesnˇovat za´pis provedeny´ na zacˇa´tku. Osoba starajı´cı´ se o zapisova´nı´ faktur ma´ za´rovenˇ odpoveˇdnost za jejich vcˇasne´ schva´lenı´, cˇ´ımzˇ je motivova´na k co nejprˇesneˇjsˇ´ım za´pisu˚m, ktere´ za´rovenˇ usnadnˇujı´ pra´ci obchodnı´ku˚m.
Obra´zek 3.14: Editace prˇijate´ faktury Mezi prˇijate´ faktury vsˇak patrˇ´ı i tzv. rezˇijnı´ na´klady, cozˇ jsou typicky prona´jmy prostor, telefonnı´ u´cˇty, poplatky za elektrˇinu apod, tedy vsˇe, co nenı´ mozˇno rozumneˇ rozdeˇlit jako na´klady na jednotlive´ zaka´zky. Tyto rezˇijnı´ na´klady schvaluje osoba se specia´lnı´m pra´vem podobneˇ jako na´klady k jednotlivy´m zaka´zka´m. Zde se take´ ve velke´ mı´rˇe vyuzˇ´ıva´ syste´m „druhu˚“ na´kladu˚. Nenı´ jı´m nic jine´ho, nezˇ stromova´ struktura, ke ktere´ je mozˇno jednotlive´ polozˇky faktur prˇirˇazovat a pote´ je take´ jednodusˇe vypisovat polu s rezˇijnı´mi na´klady vznikly´mi z pokladnı´ch dokladu˚.
26
3. POPIS SYSTE´MU NAVIGO PORT 3.5.6
Pokladna
Modul pokladny nenı´ nic jine´ho, nezˇ do elektronicke´ podoby prˇevedena´ pokladnı´ kniha. V prˇ´ıpadeˇ na´kladu˚ je rozsˇ´ırˇena na vazbu na zaka´zky, jezˇ je obdobou vazby prˇijaty´ch faktur, a analogicky take´ o mozˇnost trˇ´ıdeˇnı´ vy´daju˚ podle druhu.
Obra´zek 3.15: Editace vy´dajove´ho pokladnı´ho dokladu Pokladnı´ doklady nenı´ mozˇno schvalovat, protozˇe na´klad z pokladnı´ho dokladu musı´ by´t jasny´ v momenteˇ jeho vystavenı´ (nebot’ spolu s nı´m odcha´zejı´ z firmy penı´ze). Je tedy odpoveˇdnostı´ zameˇstnance, ktery´ doklad vydal, veˇdeˇt, procˇ vynakla´da´ financˇnı´ prostrˇedky. Pokladnı´ doklady take´ nenı´ mozˇno da´le deˇlit, cozˇ ovsˇem nenı´ prˇeka´zˇkou, nebot’ nenı´ proble´m vystavit jich vı´ce kusu˚ mı´sto jednoho. Nedeˇlenı´ dokladu take´ vna´sˇ´ı veˇtsˇ´ı prˇehled do souhrnny´ch tabulek. Pokladnı´ doklad je take´ na rozdı´l od faktury mozˇno rusˇit, prˇ´ıpadneˇ jej nava´zat na „souvisejı´cı´ osobu“, cozˇ nenı´ nic jine´ho, nezˇ zpu˚sob, jak syste´mu rˇ´ıci, zˇe se dany´ doklad neˇjaky´m zpu˚sobem va´zˇe na zadanou osobu. Uprˇesneˇnı´ tohoto vztahu je veˇcı´ slovnı´ho popisu. Typicky´m uzˇitı´m te´to funkce je vypla´cenı´ za´loh a jejich zpeˇtne´ vyu´cˇtova´va´nı´, kdy se jednodusˇe dajı´ zobrazit pokladnı´ doklady, ktere´ souvisı´ s osobou prˇijı´majı´cı´ cˇi vyu´cˇtova´vajı´cı´ za´lohu. Pokladnı´ doklady take´ majı´ nepovinnou vazbu na firmu, ktera´ je pouzˇ´ıva´na odbobny´m zpu˚sobem, tedy usnadnˇuje pouze orientaci v za´znamech. Pokladnı´ doklady a prˇijate´ faktury neˇjaky´m zpu˚sobem se vztahujı´cı´ k zaka´zce je mozˇno prˇirozeneˇ zobrazit prˇ´ımo z modulu zaka´zky a take´ je mozˇno na tomto mı´steˇ s nimi plneˇ manipulovat (tedy typicky schvalovat prˇijatou fakturu).
27
3. POPIS SYSTE´MU NAVIGO PORT 3.5.7
Objedna´vky
Objedna´vky jsou analogiı´ k vydany´m faktura´m. Pouze struktura vy´sledne´ho dokumentu je jednodusˇsˇ´ı a take´ se u nich neevidujı´ zˇa´dna´ data ty´kajı´cı´ se jejich dodrzˇenı´ a dalsˇ´ı podrobnosti. Jde v podstateˇ jen o na´stroj pro spra´vu dokumentu˚, ktery´ nema´ dalsˇ´ı slozˇiteˇjsˇ´ı vazby v syste´mu. 3.5.8
Odmeˇny externistu˚
Modul odmeˇny externistu˚, jehozˇ mechanismus prˇideˇlova´nı´ na´roku na odmeˇnu byl popsa´n v cˇa´sti veˇnovane´ financı´m na zaka´zce, obsahuje jesˇteˇ stra´nku s prˇehledem odmeˇn. Na te´to stra´nce se evidujı´ platby teˇchto odmeˇn. Tato agenda je prˇ´ıstupna´ pouze osobeˇ se specia´lnı´m pra´vem a umozˇnˇuje pouze schva´lit odmeˇnu prˇideˇlenou odpoveˇdnou osobou prˇ´ıslusˇne´ zaka´zky, nikoli urcˇovat jejı´ vy´sˇi. Kazˇdy´ zameˇstnanec odpovı´dajı´cı´ za zaka´zku ma´ dı´ky syste´mu odmeˇn, jezˇ bude popsa´n da´le, snahu tuto odmeˇnu minimalizovat, takzˇe osoba, ktera´ odmeˇnu vypla´cı´, jizˇ prˇ´ılisˇ nemusı´ uvazˇovat nad jejı´ vy´sˇkou a jejı´ pracı´ je pouze uspokojit pozˇadavky odmeˇnˇovane´ho. 3.5.9
Odmeˇny briga´dnı´ku˚
Odmeˇny briga´dnı´ku˚ jsou jen pomu˚ckou pro evidenci plateb, jezˇ byly briga´dnı´ku˚m jakoukoli formou vyplaceny. Cely´ syste´m je maxima´lneˇ zjednodusˇen, neexistuje databa´ze briga´dnı´ku˚, kazˇdy´ z nich je jednoznacˇneˇ urcˇen svy´m rodny´m cˇ´ıslem, ktere´ je prˇi zada´va´nı´ kontrolova´no na deˇlitelnost jedena´cti. Data z tohoto modulu slouzˇ´ı pro archivaci, prˇehled a analy´zu ziskovosti zaka´zek. 3.5.10 Statistika zaka´zek Statisticky´ modul zaka´zek sleduje vsˇechny za´kladnı´ ekonomicke´ ukazatele jednotlivy´ch zaka´zek. Jeho vy´stupem je jedna souhrnna´ tabulka z nı´zˇ je mozˇno vsˇechny du˚lezˇite´ u´daje vycˇ´ıst.
Obra´zek 3.16: Filtr statistiky zaka´zek Aplikace zobrazuje za´kladı´ data o zaka´zce (cˇ´ıslo, na´zev, za´kaznı´k...) a statisticke´ vy´stupy v podobeˇ na´sledujı´cı´ch cˇ´ısel: Fakturova´no – soucˇet vydany´ch faktur na zaka´zce Prˇijate´ faktury + pokladnı´ doklady – soucˇet vsˇech vy´daju˚ na zaka´zce 28
3. POPIS SYSTE´MU NAVIGO PORT Hruby´ zisk – rozdı´l prˇedesˇly´ch od neˇhozˇ je odecˇten sloupec Odmeˇny % – kolik procent Fakturova´no je Hruby´ zisk Ocˇ. Hruby´ zisk – rozdı´l prˇedpokla´dany´ch prˇ´ıjmu˚ a vy´daju˚ na zaka´zce Odchylka HZ a OHZ % – O kolik procent hrube´ho zisku se lisˇ´ı ocˇeka´vany´ hruby´ zisk Hr. zisk - rezˇie – Hruby´ zisk po odecˇtenı´ rezˇijnı´ch cen zaka´zek na zaka´zce % - kolik procent Fakturova´no je Hruby´ zisk bez rezˇiı´ Akce – soucˇet „prodejnı´ch“ cen akcı´ na zaka´zce Rezˇie – soucˇet rezˇijnı´ch cen akcı´ na zaka´zce Odmeˇny – soucˇet odmeˇn externistu˚ a briga´dnı´ku˚ na zaka´zce Tyto u´daje vycha´zejı´ z potrˇeb firmy Omega Design a je samozrˇejme´, zˇe u jiny´ch spolecˇnostı´ se budou lisˇit. Tvorba jiny´ch statisticky´ch vy´stupu˚ je samozrˇejma´ a do budoucna ocˇeka´vana´. Samozrˇejmostı´ je filtr umozˇnˇujı´cı´ zobrazit ty zaka´zky, o ktere´ ma´ uzˇivatel za´jem, a take´ mozˇnost seskupovat rodiny zaka´zek. 3.5.11 Odmeˇny odpoveˇdny´ch osob Odmeˇnˇova´nı´ odpoveˇdny´ch osob, jezˇ jsou v tomto textu te´zˇ nazy´va´ny obchodnı´ky, prˇ´ıpadneˇ accounty, je jednoduchy´, avsˇak dostatecˇneˇ robustnı´ syste´m pro vy´pocˇet pohyblive´ slozˇky mzdy teˇchto zameˇstnancu˚. Kazˇdy´, kdo ve firmeˇ vede zaka´zku a vygeneruje tı´mto jaky´si zisk, musı´ by´t na jedne´ straneˇ motivova´n tento zisk maximalizovat a na druhe´ straneˇ potrˇebne´ na´klady minimalizovat. Tento motivacˇnı´ prvek ma´ pak pozitivnı´ vliv na rea´lne´ vykazova´nı´ pra´ce na zaka´zka´ch, na vyma´ha´nı´ plateb od klientu˚ (nebot’ odmeˇna je zapocˇ´ıta´va´na jen z uhrazeny´ch cˇi klientem „uznany´ch“ faktur) a samozrˇejmeˇ na samotnou pra´ci odpoveˇdne´ osoby. Princip syste´mu je velice jednoduchy´, a proto snadno pochopitelny´ jak pro odmeˇnˇujı´cı´, tak pro odmeˇnˇovanou stranu. Kazˇda´ dokoncˇena´ zaka´zka a jejı´ vsˇechny uhrazene´ cˇi uznane´ faktury generujı´ zisk, jezˇ je shodny´ s hruby´m ziskem ve statistice zaka´zek. Kromeˇ tohoto cˇ´ısla vstupuje do syste´mu jesˇteˇ hruby´ zisk bez rezˇiı´. Hruby´ zisk v podstateˇ uda´va´, jak u´speˇsˇna´ byla zaka´zka bez ohledu na jejı´ pracnost, kdezˇto hruby´ zisk bez rezˇiı´ odmeˇnˇuje jen prˇidanou hodnotu obchodnı´kovy pra´ce. Z kazˇde´ho tohoto zisku prˇipadajı´ odpoveˇdne´ osobeˇ prˇedem pro kazˇdy´ zisk zvla´sˇt’definovana´ procenta odmeˇny. Obchodnı´kovi se tedy scˇ´ıtajı´ oba tyto zisky za celou firemnı´ karie´ru a od toho soucˇtu jsou mu postupneˇ odecˇ´ıta´ny odmeˇny, jezˇ z neˇj postupneˇ ukrajujı´. Syste´m pak sa´m udrzˇuje prˇehled o tom, za kolik z jednotlivy´ch zisku˚ jesˇteˇ nebyl obchodnı´k odmeˇneˇn (Typicky´ prˇ´ıklad: obchodnı´k vygeneroval 100 000 zisku za celou firemnı´ karie´ru, ale za 80 000 z tohoto jizˇ byl odmeˇneˇn, ma´ ale sta´le na´rok na to by´t za oneˇch zby´vajı´cı´ch 20 000 podle sta´vajı´cı´ch procent odmeˇneˇn), a nabı´zı´ vy´pocˇet cˇa´stky k vyplacenı´. Tuto cˇa´stku vsˇak mu˚zˇe osoba odpoveˇdna´ za odmeˇnˇova´nı´ jakkoli zmeˇnit a pokry´t tak anoma´lie, jezˇ nemu˚zˇe syste´m pokry´t (kuprˇ´ıkladu dlouhodobe´ vedenı´ pracı´ na zaka´zce, jezˇ zkolabovala bez obchodnı´kova prˇicˇineˇnı´, vedenı´ pracı´ na zaka´zka´ch, jezˇ jsou pro spolecˇnost neziskove´). Syste´m tedy sta´le spole´ha´ na odpoveˇdnost odmeˇnˇujı´cı´ osoby, ktera´ vna´sˇ´ı do cele´ho mechanismu lidsky´ prvek a je zde take´ poslednı´ instancı´, k nı´zˇ je mozˇno se odvolat. 29
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.17: Detail odmeˇn odpoveˇdne´ osoby
Kazˇdy´ z obchodnı´ku˚ se samozrˇejmeˇ mu˚zˇe podı´vat na podrobny´ rozpis svy´ch odmeˇn, osoba se specia´lnı´m pra´vem pak ma´ na´rok jednak odmeˇnu prˇiznat, ale take´ zmeˇnit procenta, podle nichzˇ je obchodnı´k odmeˇnˇova´n. Soucˇa´stı´ aplikace je zjednodusˇena´ verze tabulky ze statistiky zaka´zek, ktera´ ukazuje jen cˇ´ısla z uhrazeny´ch cˇi uznany´ch vydany´ch faktur a ktera´ take´ zobrazuje data podle procentua´lnı´ho na´roku na odmeˇnu. Na kazˇde´ zaka´zce mu˚zˇe by´t odmeˇneˇno neˇkolik osob (kuprˇ´ıkladu v situaci, kdy jeden account prˇebere zaka´zku po jine´m, ktery´ se jı´ z nejru˚zneˇjsˇ´ıch du˚vodu˚ nemu˚zˇe da´le veˇnovat), procenta odmeˇny, ktera´ kazˇde´ osobeˇ prˇ´ıslusˇ´ı, je mozˇno definovat ve vlastnostech zaka´zky, jak bylo popsa´no v cˇa´sti veˇnovane´ pra´veˇ tomuto modulu. 3.5.12 Kalkulace Rozpocˇtova´nı´ je komplexnı´ proble´m, poskytnout obecneˇ pouzˇitelne´ rˇesˇenı´ je veˇc velmi nesnadna´ a do syste´mu Navigo Port se svou rozsa´hlostı´ nehodı´cı´. Prˇi na´vrhu jednoduche´ho a prˇesto prˇ´ınosne´ho rˇesˇenı´ byly jako za´klad pouzˇity pozˇadavky firmy Omega Design, ktere´ byly prˇizpu˚sobeny strukturˇe dat v syste´mu, a vy´sledkem je snadno pochopitelne´ a v 90 % prˇ´ıpadu˚ dostatecˇne´ rˇesˇenı´. Nenı´ v neˇm zahrnuto nic slozˇiteˇjsˇ´ıho, nezˇ je odhad pracnosti a 30
3. POPIS SYSTE´MU NAVIGO PORT jednoduchy´ mechanismus vycˇ´ıslenı´ dalsˇ´ıch externı´ch na´kladu˚. Rozpocˇet tedy umozˇnˇuje tvorbu dvou druhu˚ tabulek – tabulky internı´ch a externı´ch na´kladu˚. Internı´mi jsou mysˇleny pra´ce prˇ´ımo ve firmeˇ a externı´mi prˇeprodej, prˇ´ıpadneˇ na´kup ˇ a´dky internı´ tabulky na´kladu˚ majı´ opeˇt strukturu podobnou akci na zaka´zce a materia´lu. R umozˇnˇujı´ plneˇnı´ jednotlivy´ch polozˇek z cenı´ku teˇchto akcı´. S jednotlivy´mi cˇ´ısly vsˇak lze jakkoli manipulovat a prˇizpu˚sobovat tak rozpocˇet prˇa´nı´ za´kaznı´ka. Externı´ na´klady majı´ jednodusˇsˇ´ı strukturu a jedine´ prˇedem dane´ cˇ´ıslo je „standardnı´ provize“ urcˇujı´cı´ beˇzˇnou agenturnı´ provizi za prˇeprodej, kterou je mozˇno u kazˇde´ho za´kaznı´ka definovat zvla´sˇt’. Internı´ch i externı´ch tabulek na´kladu˚ mu˚zˇe by´t neˇkolik a je tedy mozˇno na jednom mı´steˇ kalkulovat vı´ce variant rozpocˇtu.
31
3. POPIS SYSTE´MU NAVIGO PORT
Obra´zek 3.18: Detail kalkulace
32
3. POPIS SYSTE´MU NAVIGO PORT 3.5.13 Popis uzˇivatelsky´ch pra´v Syste´m kontroly uzˇivatelsky´ch pra´v je jedna z nejdu˚lezˇiteˇjsˇ´ıch komponent aplikace. Prˇi samotne´ analy´ze mu proto byla veˇnova´na znacˇna´ pozornost a vy´sledkem byla velmi jednoducha´ struktura, ktera´ se osveˇdcˇila i prˇi dalsˇ´ım rozsˇirˇova´nı´ syste´mu. Za´kladem je stromova´ struktura skupin uzˇivatelu˚, ktera´ odra´zˇ´ı strukturu organizace. Na kazˇdou skupinu jsou pote´ nava´zana´ pra´va, ktera´ se mohou odkazovat na skupiny okolo. Typicky´m prˇ´ıkladem je pra´vo, ktere´ umozˇnı´ pracovat se za´znamy podrˇ´ızeny´ch osob. Specia´lnı´ pra´va, naprˇ´ıklad vhodneˇ trˇeba pra´vo manipulovat s uzˇivateli v syste´mu, je pak mozˇno prˇirˇadit skupineˇ stojı´cı´ u´plneˇ mimo za´kladnı´ strukturu jak je videˇt i na prˇilozˇene´m obra´zku cˇ. 3.19.
Obra´zek 3.19: Strom skupin uzˇivatelu˚ spolecˇnosti Apromo s.r.o. Cely´ mechanismus vypada´ jednodusˇe a skutecˇneˇ poskytuje velmi silny´ apara´t k popisu pra´v, ale u specia´lnı´nch prˇ´ıpadu˚ je trˇeba postupovat za´znam po za´znamu (vzpomenˇme jen rozdeˇlenı´ za´znamu˚ v denı´cˇku). Je trˇeba take´ zmı´nit, zˇe tvorba stromu uzˇivatelu˚ je netrivia´lnı´ u´loha, jezˇ vyzˇaduje jak porˇa´dny´ vhled do syste´mu, tak do spolecˇnosti, ktere´ ma´ slouzˇit. Cı´lem tohoto popisu nenı´ podrobny´ vhled do vsˇech detailu˚ aplikace, ale alesponˇ pro ra´mcovou prˇedstavu je prˇilozˇen prosty´ vy´cˇet cˇesky´ch popisu˚ jednotlivy´ch pra´v.
33
3. POPIS SYSTE´MU NAVIGO PORT • Smı´ by´t odpoveˇdnou osobou u zaka´zky • Smı´ meˇnit akce podrˇ´ızeny´ch • Smı´ meˇnit cenı´ky firma´m • Smı´ meˇnit cenı´ky typu˚m zaka´zek • Smı´ meˇnit cˇa´stecˇne´ odp. osoby • Smı´ meˇnit data na zaka´zka´ch vedeny´ch podrˇ´ızeny´mi • Smı´ meˇnit datum uzavrˇenı´ zaka´zky • Smı´ meˇnit kategorie • Smı´ meˇnit kategorie kontaktu˚ • Smı´ meˇnit pra´va • Smı´ meˇnit vsˇechny faktury • Smı´ otevrˇ´ıt uzavrˇenou zaka´zku • Smı´ platit odmeˇny briga´dnı´ku˚ • Smı´ rozdeˇlit polozˇku prˇ´ıchozı´ faktury • Smı´ schva´lit odmeˇny odpoveˇdny´ch osob • Smı´ schvalovat odmeˇny zameˇstnancu˚ • Smı´ ve´st zaka´zky vedene´ lidmi ze stejne´ skupiny • Smı´ zakla´dat zaka´zky • Spra´vce rezˇijnı´ch na´kladu˚ ˇ IVATEL • SUPERUZ • Vidı´ odmeˇny odpoveˇdny´ch osob • Vidı´ penı´ze na vsˇech zaka´zka´ch • Vidı´ pracovnı´ vy´kazy podrˇ´ızeny´ch • Vidı´ soukrome´ pozna´mky v denı´cı´ch podrˇ´ızeny´ch • Vidı´ statistiky • Vidı´ u´koly podrˇ´ızeny´ch • Vidı´ verˇejne´ kontakty • Vidı´ vsˇechny citlive´ za´znamy v denı´cı´ch • Vidı´ vsˇechny pracovnı´ vy´kazy 34
Kapitola 4
Popis pouzˇite´ architektury Za´kladnı´m pozˇadavkem na architekturu byla jejı´ otevrˇenost a nı´zke´ na´klady na porˇ´ızenı´ aplikacˇnı´ho serveru. Odbeˇratel syste´mu take´ pozˇadoval pro prezentacˇnı´ vrstvu uzˇitı´ XSL transformace, bylo tedy zrˇejme´, zˇe cı´lem je trˇ´ıvrstva´ architektura. S databa´zı´ tak pracuje logicka´ vrstva, jezˇ generuje data do XML, ktere´ je da´le zpracova´no pomocı´ XSLT do podoby vy´sledne´ webove´ stra´nky. Z dostupny´ch open source databa´zı´ padla volba na PostgreSQL, nebot’sˇlo v dobeˇ pocˇa´tku implementacˇnı´ch pracı´ o nejle´pe zdokumentovanou plnohodnotnou open source databa´zi. Jejı´m jediny´m tehdejsˇ´ım konkurentem byl Firebird, jenzˇ vsˇak nebyl dobrˇe dokumentova´n a po konzultaci s uzˇivateli obou teˇchto variant bylo jednodusˇe rozhodnuto pouzˇ´ıt „starsˇ´ı“ PostgreSQL. Relacˇnı´ databa´ze byla zvolena zejme´na kvu˚li male´ velikosti cele´ho syste´mu a prˇedpokla´dane´ male´ komplexnosti dat. Objektove´ databa´ze v dobeˇ, kdy pra´ce na syste´mu zacˇ´ınala, neposkytovaly dostatecˇneˇ stabilnı´ prostrˇedı´ a vazba objektu˚ na relacˇnı´ databa´zi kuprˇ´ıkladu pomocı´ Enterprise Java Beans byla na za´kladeˇ autorovy´ch osobnı´ch zkusˇenostı´ prˇi realizaci bakala´rˇske´ pra´ce zavrzˇena jako ma´lo vy´konna´ a ma´lo prˇ´ınosna´ vrstva navı´c. V dnesˇnı´ dobeˇ funkcˇnı´ch objektovy´ch na´dstaveb nad relacˇnı´mi databa´zemi (zmı´nit je mozˇno kuprˇ´ıkladu Hibernate) by rozhodova´nı´ jisteˇ nebylo azˇ tak jednoduche´. Faktem vsˇak je, zˇe pouzˇitı´ relacˇnı´ databa´ze se prˇi vy´voji samotne´ aplikace nikdy nejevilo jako prˇeka´zˇka. Logicka´ vrstva ma´ za u´kol v podstateˇ jen sestavovat SQL dotazy a posı´lat je da´le na databa´zi, prˇesto byl jejı´ vy´beˇr celkem pecˇliveˇ zvazˇova´n s ohledem jak na jednoduchost implementace, tak na robustnost rˇesˇenı´. Vy´sledkem byla rozvaha nad tı´m, zda pouzˇ´ıt PHP, u neˇjzˇ bylo prˇedpokla´da´no, zˇe bude rychlejsˇ´ı, anebo sadu Java Servletu˚, u ktery´ch vı´teˇzila robustnost a „rozumnost“ objektoveˇ orientovane´ho jazyka, za nı´mzˇ stojı´ jedny z nejveˇtsˇ´ıch firem v oboru a ne jen neforemna´ masa open source vy´voja´rˇu˚. Po provedenı´ sady testu˚ sledujı´cı´ch zejme´na rychlost bylo rozhodnuto implementacˇnı´ pra´ce prove´st v komfortneˇjsˇ´ım a srovnatelneˇ rychle´m prostrˇedı´ Java 2 Enterprise Edition. Trˇetı´, tedy prezentacˇnı´ vrstvu pak tvorˇ´ı sada XSL stylesheetu˚, ktere´ se starajı´ o tvorbu html stra´nek z XML popisujı´cı´ho data. Pro prohlı´zˇecˇe, jezˇ tuto transformaci nezvla´dajı´, prˇ´ıpadneˇ prova´deˇjı´ s chybami, syste´m zpracova´va´ vy´sledne´ HTML, jinak poskytuje stylesheety a XML data oddeˇleneˇ a transformace je prova´deˇna azˇ na klientske´m pocˇ´ıtacˇi.
4.1
Databa´ze
V klasicke´ relacˇnı´ databa´zi je kromeˇ samozrˇejmy´ch veˇcı´ ty´kajı´cı´ch se referencˇnı´ integrity prˇ´ıtomna zejme´na logika pro logova´nı´ zmeˇn tabulek. Na kazˇdou datovou tabulku je nava´za´n trigger, ktery´ zaznamena´va´ data zmeˇn a osobu, ktera´ zmeˇnu provedla (jejı´ ID zaznamena´va´ logicka´ vrstva do tempora´rnı´ tabulky) a stara´ data kopı´ruje do prˇ´ıslusˇne´ za´lozˇnı´ tabulky. Klasicky´m prˇ´ıkladem je zmeˇna tabulky db d persons (db znamena´ zˇiva´ data, d znamena´ da35
4. POPIS POUZˇITE´ ARCHITEKTURY tovou tabulku, persons je pak na´zev samotne´ entity v tabulce ulozˇene´), kdy trigger nastavı´ u nove´ho za´znamu hodnoty time of change a changed by a prˇekopı´ruje stara´ data meˇneˇne´ho rˇa´dku do tabulky log d persons. Tı´mto jednoduchy´m mechanismem je tedy uchova´va´na v podstateˇ cela´ historie databa´ze a je mozˇno kuprˇ´ıkladu sledovat chova´nı´ jednotlivy´ch uzˇivatelu˚, ale zejme´na poskytuje jednoduchy´ na´stroj pro korekci sˇpatneˇ zadany´ch dat. Samotna´ databa´ze pak da´le formou funkcı´ zajisˇt’uje slozˇiteˇjsˇ´ı datove´ operace, ktere´ jsou na´chylne´ na porusˇenı´ vlastnı´ atomicity (klasicky prˇirˇazenı´ cˇ´ısla z neprˇetrzˇite´ cˇ´ıselne´ rˇady) a formou sady triggeru˚ a specia´lnı´ch tabulek udrzˇuje tranzitivnı´ uza´veˇry stromovy´ch struktur a neˇktera´ redundantnı´ statisticka´ data. Snahou je prˇene´st na tuto vrstvu takove´ operace, aby na u´rovni logiky bylo mozˇno pracovat jen se samotny´mi entitami a nerˇesˇit kuprˇ´ıkladu zamyka´nı´ tabulek nebo sbeˇr statisticky´ch informacı´. Tato hranice nenı´ nijak jasneˇ vymezena a cˇasto je mozˇno oponovat proti zarˇazenı´ neˇktery´ch funkcnı´ do databa´ze, nebo naopak. Cı´lem je hlavneˇ co nejcˇitelneˇjsˇ´ı ko´d na straneˇ logicke´ vrstvy a minimalizace redundantnı´ho ko´du. Tato mysˇlenka vsˇak nenı´ dodrzˇena kuprˇ´ıkladu u jizˇ zmı´neˇny´ch logovacı´ch triggeru˚, nebot’ ty jsou psa´ny pro kazˇdou tabulku zvla´sˇt’. PostgreSQL sice poskytuje mechanismy, ktere´ by umozˇnily napsat univerza´lnı´ funkci, ale trigger psany´ prˇ´ımo se jme´ny tabulek je jednodusˇe zkompilova´n s ukazateli na OID dotcˇeny´ch entit, a je proto podstatneˇ rychlejsˇ´ı, nezˇ kdyby meˇl tyto identifika´tory dohleda´vat v syste´movy´ch tabulka´ch.
4.2
Logicka´ vrstva
Cela´ logicka´ vrstva je realizova´na jako cˇisteˇ stra´nkoveˇ orientovane´ rˇesˇenı´. Kazˇdy´ modul se tedy skla´da´ ze sady servletu˚ produkujı´cı´ch vy´stupy a sady servletu˚ meˇnı´cı´ch data v databa´zi. Logika je tak roztrˇ´ısˇteˇna na jednotlive´ akce a vy´pisy, cozˇ sice usnadnˇuje orientaci v ko´du, ale provokuje k redundanci ko´du u dat, ktera´ jsou pouzˇita na vı´ce stra´nka´ch soucˇasneˇ. Tento proble´m je rˇesˇen jednoduchy´mi objekty, ktere´ generujı´ kusy XML stromu, jenzˇ je pote´ vlozˇen do vy´sledne´ho XML stra´nky. Deˇje se tak kuprˇ´ıkladu u denı´cˇku a u´kolu˚, nebo prˇi vkla´da´nı´ hlavicˇky a menu v modulu zaka´zky. Objektova´ struktura tedy nenı´ pouzˇita pro zabalenı´ dat z databa´ze, ale je orientova´na spı´sˇe na rychle´ sestavenı´ SQL podle parametru˚, jeho vypsa´nı´, prˇilozˇenı´ dalsˇ´ıch dat z pomocny´ch ´ kol logicke´ vrstvy se zda´ by´t objektu˚ a odstraneˇnı´ redundantnı´ho ko´du v tomto procesu. U velmi prosty´, ale kuprˇ´ıkladu u statisticky´ch modulu˚ je jen samotne´ sestavenı´ SQL dotazu velmi netrivia´lnı´m proble´mem. Zjednodusˇeny´ sekvencˇnı´ diagram ukazuje, jaky´m zpu˚sobem jsou jednotlive´ funkce zapouzdrˇeny do objektu˚. Hned na prvnı´ pohled je videˇt, zˇe vola´nı´ ze strany samotne´ho servletu (trˇ´ıda ShowRewardDetail) je omezeno na minimum a jednotlive´ funkce jsou roztrˇ´ısˇteˇny po objektech, cozˇ zajisˇt’uje jednoduchou tvorbu aplikace na jedne´ straneˇ a snadnou zmeˇnu za´kladnı´ch komponent na straneˇ druhe´. Diagram 4.1 je zjednodusˇeny´ a omezeny´ jen na za´kladnı´ vola´nı´ du˚lezˇity´ch objektu˚ (cˇi staticky´ch metod du˚lezˇity´ch trˇ´ıd). Ze servletu je vola´na staticka´ metoda initialize() trˇ´ıdy ServletInitializer, ktera´ se z pohledu servletu postara´ o vsˇe; nava´za´nı´m na databa´zi pocˇ´ınaje a autentizacı´ uzˇivatele koncˇe. Vola´nı´ dalsˇ´ıch trˇ´ıd a tvorba objektu˚ User a ServletProperties je pro programa´tora servletu nepodstatna´, a proto je zabalena do jednoho rˇa´dku ko´du. Pokud nedojde k opravdu kriticke´mu selha´nı´ (kuprˇ´ıkladu nemozˇnost spojenı´ s databa´zı´), pak je po tomto vola´nı´ k dispozici objekt ServletProperties, prostrˇednictvı´m neˇhozˇ je mozˇno prˇistupovat ke vsˇem du˚lezˇity´m datu˚m a prostrˇedku˚m. Tento objekt obsahuje spojenı´ s databa´zı´, objekt 36
4. POPIS POUZˇITE´ ARCHITEKTURY
Obra´zek 4.1: Zjednodusˇeny´ sekvencˇnı´ diagram servletu produkujı´cı´ho XML
37
4. POPIS POUZˇITE´ ARCHITEKTURY User, ktery´ prˇesneˇ charakterizuje uzˇivatele a umozˇnˇuje kuprˇ´ıkladu kontrolu uzˇivatelsky´ch pra´v, a sadu metod pro nacˇ´ıta´nı´ a prˇedzpracova´nı´ parametru˚ vola´nı´ servletu. Ukazatel na tento objekt je pak prˇeda´va´n dalsˇ´ım objektu˚m, ktere´ potrˇebujı´ prˇ´ıstup k teˇmto prostrˇedku˚m. Uzˇitı´ tohoto apara´tu je videˇt ve sche´matu 4.1: ze servletu je vola´na inicializace, pote´ je proveden dotaz na id parametr a oveˇrˇeno pra´vo data vu˚bec videˇt, nacˇezˇ je sestaveno SQL (nenı´ zobrazeno) a data vypsa´na do XML pomocı´ vola´nı´ objektu ResultSetHandler. Cely´ proces je na programa´torskou pra´ci maxima´lneˇ nena´rocˇny´ a prˇitom je mozˇno rutinnı´ funkce kdykoli snadno zmeˇnit. Zˇa´dna´ slozˇiteˇjsˇ´ı objektova´ struktura u takto male´ho a jenoduche´ho syste´mu nenı´ potrˇebna´. Dalsˇ´ı funkcı´, kterou je mozˇno v tomto jednoduche´m popisu zmı´nit, je uchova´va´nı´ parametru˚ poslednı´ho vola´nı´ kazˇde´ho servletu (ve vazbeˇ na URL, tedy pro kazˇde´ URL, na ktere´ je servlet va´za´n zvla´sˇt’) serializacı´ mapy parametru˚. Je to velmi prˇ´ıjemna´ pomu˚cka prˇi programova´nı´ na´vratu˚ na stra´nky, ktere´ uzˇivatel chce najı´t ve stavu, v jake´m je opustil. Je take´ trˇeba poznamenat, zˇe cely´ syste´m vyuzˇ´ıva´ sluzˇeb servlet containeru Tomcat, jenzˇ je napojen na Apache web server, ktery´ zajisˇt’uje prˇ´ıstup pomocı´ HTTPS protokolu. Autentizace je rˇesˇena pomocı´ standardnı´, nekryptovane´ BASIC HTTP Authentication jizˇ prˇ´ımo Tomcatem.
4.3
Prezentacˇnı´ vrstva
Xsl styleheety prezentacˇnı´ vrstvy jsou zpracova´ny spolu s XML vy´stupem servletu pomocı´ filtru. Pokud ovsˇem tento filtr rozpozna´, zˇe signatura klientske´ho prohlı´zˇecˇe odpovı´da´ regula´rnı´mu vy´razu ulozˇene´mu v databa´zi, posˇle na vy´stup jen XML opatrˇene´ prˇ´ıslusˇny´mi hlavicˇkami. Klient si pote´ patrˇicˇny´ stylesheet sa´m vyzˇa´da´. Pro kazˇdy´ servlet existuje stylesheet stejne´ho jme´na, jako je URL na, ktere´ je servlet va´za´n.
4.4
Hodnocenı´ architektury
Spojenı´ Javy 2 Enterprise Edition s rozumnou relacˇnı´ databa´zı´ a se strˇ´ızlivy´m prˇ´ıstupem k objektovosti cele´ aplikace se uka´zalo jako rozumneˇ navrzˇene´ a vzhledem k jeho postupne´mu vylepsˇova´nı´ a rozsˇirˇova´nı´ take´ zˇivotaschopne´ a snadno modifikovatelne´ rˇesˇenı´ datove´ a logicke´ vrstvy. Proble´mem je XSLT prezentacˇnı´ vrstvy. Nejenzˇe psanı´ XSL stylesheetu˚ nenı´ prˇ´ılisˇ komfortnı´ a rychle´, ale hlavneˇ zpracova´nı´ XML na HTML je cˇasoveˇ velmi na´rocˇne´, a to i v prˇ´ıpadeˇ, kdy jsou jizˇ zkompilovane´ stylesheety ulozˇeny ve vyrovna´vacı´ pameˇti serveru. Vy´hody, jezˇ meˇl tento prˇ´ıstup prˇine´st, se navı´c uka´zaly jako nepodstatne´ a tento nedostatek nevyvazˇujı´. I v prˇ´ıpadeˇ, zˇe transformace probı´ha´ na klientske´m pocˇ´ıtacˇi a ne na vytı´zˇene´m serveru, je mozˇno rozpoznat, zˇe odezva nenı´ tak rychla´ jako kuprˇ´ıkladu u jednoduchy´ch dynamicky´ch stra´nek docha´zkove´ho syste´mu, jenzˇ je pouzˇ´ıva´n paralelneˇ, cozˇ ostatneˇ dokazujı´ i meˇrˇenı´. Vy´hodami, jezˇ meˇlo toto rˇesˇenı´ poskytovat, bylo oddeˇlenı´ prezentacˇnı´ a logicke´ vrstvy a z toho plynoucı´ jednoducha´ mozˇnost zmeˇny designu. Vzhledem ke komplexnosti logiky obsazˇene´ ve stylesheetech vsˇak nejde o trivia´lnı´ proble´m. Nehledeˇ na fakt, zˇe cı´lem nenı´ mı´t neˇkolik ru˚zneˇ vypadajı´cı´ch vy´stupu˚, ale jen jeden, jenzˇ bude ergonomicky propracovany´ a obecneˇ dobrˇe pouzˇitelny´. Samotne´ oddeˇlenı´ logicke´ a prezentacˇnı´ vrstvy jisteˇ nenı´ na sˇkodu, ale v tomto konkre´tnı´m prˇ´ıpadeˇ je natolik nesˇt’astne´, zˇe mı´sto zjednodusˇenı´ na´vrhu a programa´torske´ pra´ce zpu˚sobuje spı´sˇe opak. Dalsˇ´ı vy´hodou tohoto rˇesˇenı´ je jisteˇ mozˇnost 38
4. POPIS POUZˇITE´ ARCHITEKTURY transformace na klientovi, kdy se ulozˇenı´m stylesheetu do vyrovna´vacı´ pameˇti prohlı´zˇecˇe omezı´ provoz na sı´ti jen na relativneˇ mala´ XML data. Tato vy´hoda je jisteˇ zajı´mava´, ale v momenteˇ, kdy je syste´m provozova´n na internı´ sı´ti o rychlosti v desı´tka´ch megabytu˚ za sekundu, se jevı´ jako skutecˇneˇ nepodstatna´. Navzdory zmı´neˇny´m nedostatku˚m zvolene´ho rˇesˇenı´ je vsˇak syste´m velmi zˇivotaschopny´ a na implementacˇnı´ pra´ce nenı´ nijak nadmı´ru na´rocˇny´. Ze srovna´nı´ naprˇ´ıkladu s wysiwyg prˇ´ıstupem frameworku Microsoft .NET samozrˇejmeˇ vyjde porazˇen, je vsˇak ota´zkou, nakolik jednoduche´ by bylo do tohoto frameworku implementovat kuprˇ´ıkladu natolik specifickou aplikaci, jakou je editace rozpocˇtu na zaka´zce.
39
Kapitola 5
Navigo Port v praxi 5.1
Srovna´nı´ se Sprinx CRM .net
Spolecˇnost Omega Design se rozhodla nabı´zet syste´m Navigo Port i jako jednoduche´ CRM rˇesˇenı´. Prˇi nabı´zenı´ potencia´lnı´m klientu˚m byl prˇ´ımou konkurencı´ v jednom prˇ´ıpadeˇ syste´m Sprinx CRM.NET spolecˇnosti Sprinx systems, a.s. Nejde o prˇ´ımou konkurenci v cele´m rozsahu, ale vy´sledne´ strucˇne´ shrnutı´ jeho vy´hod a nevy´hod oproti Navigu bylo velmi inspirativnı´ pro dalsˇ´ı vy´voj syste´mu, navı´c odra´zˇ´ı typicky´ rozdı´l mezi Navigem, budovany´m na mı´ru jedne´ firmeˇ, i kdyzˇ se snahou o univerza´lnost, a rˇesˇenı´m od pocˇa´tku budovany´m s mysˇlenkou nabı´dnout univerza´lnı´ produkt sˇiroke´mu trhu. Syste´m Navigo Port neumı´ posı´lat upozorneˇnı´ emailem. Framework pro rozesı´la´nı´ emailu˚ je hotov, dosud vsˇak nebyl nikdy pouzˇit, nebot’ dosavadnı´ uzˇivatele´ syste´mu jej pouzˇ´ıvajı´ takovy´m zpu˚sobem, zˇe rozesı´la´nı´ emailu by bylo zbytecˇne´ a spı´sˇe obteˇzˇujı´cı´. Novı´ za´kaznı´ci vsˇak jisteˇ budou tuto funkci vyzˇadovat. Podoba emailove´ho frameworku umozˇnˇuje odesı´la´nı´ emailu velmi rychle implementovat na jake´koli mı´sto v syste´mu a samozrˇejmeˇ umozˇnˇuje nadefinovat v kazˇde´ instanci syste´mu nejen design dopisu˚, ale i jejich obsah. Prˇirozeny´m vyu´steˇnı´m bude nava´za´nı´ tohoto subsyste´mu na novy´ dokumentovy´ syste´m pla´novany´ pro prvnı´ uzˇitı´ ve spolecˇnosti FOLBER, jezˇ je popsa´n na jine´m mı´steˇ te´to pra´ce. CRM Sprinx vı´teˇzı´ nad syste´mem Navigo Port zejme´na „lı´bivostı´ “ sve´ho uzˇivatelske´ho rozhranı´, cozˇ je mozˇno demonstrovat na kalenda´rˇi, jı´mzˇ je mozˇno vyplnˇovat datumy vhodny´ch polozˇek (kuprˇ´ıkladu datum uzavrˇenı´ zaka´zky ve filtru statistik). Samotny´ kalenda´rˇ je jisteˇ efektnı´ a zajı´mave´ rozsˇ´ırˇenı´, jeho jedina´ vy´hoda je vsˇak pouze v tom, zˇe je zada´vajı´cı´mu schopen prˇirozenou cestou sdeˇlit, ktery´ den v ty´dnu k jednotlivy´m datu˚m prˇ´ıslusˇ´ı. Jeho pouzˇitı´ je navı´c nutneˇ pomale´, nebot’vybı´rat data mysˇ´ı nenı´ rychlejsˇ´ı, nezˇ jejich vypsa´nı´ na kla´vesnici. V Navigo port je v soucˇasne´ dobeˇ vkla´da´nı´ datumu na veˇtsˇineˇ mı´stech rˇesˇeno pomocı´ combo boxu˚, cozˇ je da´no prˇechodem ze stare´ho syste´mu a zvyky zameˇstnancu˚. Postupneˇ se vsˇak od tohoto rˇesˇenı´ ustupuje a prˇipravuje se prˇechod na trˇi textova´ pole, do ktery´ch je mozˇno jednodusˇe datum zapsat. Cele´ toto zdu˚vodneˇnı´ vsˇak neznamena´, zˇe by absence kalenda´rˇe byla vy´hodou Navigo Port, spı´sˇe naopak. Velkou nevy´hodou webove´ho rˇesˇenı´ syste´mu Navigo port je nemozˇnost jednoduche´ho dohleda´va´nı´ v seznamech. Kuprˇ´ıkladu seznam zaka´zek je natolik rozsa´hly´, zˇe jen jeho prˇenesenı´ na klientsky´ pocˇ´ıtacˇ a dohleda´va´nı´ naprˇ. pomoci javascriptu je naprosto nerea´lne´. CRM TRIX tento proble´m rˇesˇ´ı, bohuzˇel autor zatı´m nemeˇ mozˇnost si vyzkousˇet jeho funkci u opravdu rozsa´hly´ch dat. Zde pravdeˇpodobneˇ implementace teˇzˇ´ı z modernı´ho frameworku Microsoft .NET. Velmi citelnou nevy´hodou Naviga Port je absence mozˇnosti exportovat data do programu Microsoft Excel. Existujı´ sice jednoduche´ cesty, jak data do tohoto programu prˇene´st (zminˇme trˇeba jen formu HTML tabulky, jezˇ je samozrˇejmeˇ pro Navigo pouzˇitelna´), ale mozˇnost generovat nativnı´ forma´t je prˇece jen podstatneˇ elegantneˇjsˇ´ı a za´kaznı´ky le´pe vnı´mana´. 40
5. NAVIGO PORT V PRAXI Navigo take´ nenabı´zı´ exportnı´ moduly pro u´cˇetnictvı´. Du˚vody k tomuto stavu jsou jed´ cˇetnı´ch syste´mu˚ na nasˇem trhu je cela´ rˇada a implementovat napojenı´ bez prˇ´ınoduche´: U tomnosti odbeˇratele, ktery´ by je zacˇal vyuzˇ´ıvat, nema´ vy´znam. Implementova´na je replikace kontaktu˚ do Outlook Expresu a syste´m velmi prˇirozeneˇ poskytuje data ve formeˇ XML. CRM Sprinx poskytuje mozˇnost prˇirˇadit jednu osobu do vı´ce firem, cozˇ byl model, ktery´ byl pro Navigo take´ zvazˇova´n, lecˇ po du˚kladne´m posouzenı´ byla obeˇtova´na „cˇistota“ dat jednoduchosti pouzˇitı´, nebot’se uka´zalo, zˇe v soucˇasne´ dobeˇ jsou za´znamy o osoba´ch pu˚sobı´cı´ch ve vı´ce spolecˇnostech najednou vı´ce nezˇ sporadicke´. Databa´ze je samozrˇejmeˇ navrzˇena cˇisteˇ, ale ovla´dacı´ rozhranı´ prosteˇ nemate uzˇivatele nutnostı´ vytvorˇit osobu a pak ji prˇirˇadit k firmeˇ, ale poskytuje jen mozˇnost ve firmeˇ ve´st za´znam o osobeˇ. Pra´ce s dokumenty v CRM Sprinx prostrˇedı´ nema´ v Navigu konkurenta, ale prˇipravovany´ dokumentovy´ subsyste´m realizovany´ zejme´na pro firmu FOLBER by meˇl tento nedostatek rˇesˇit. Cˇisteˇ implementacˇnı´ proble´my se dajı´ cˇekat prˇi hleda´nı´ rˇesˇenı´ pro export do programu Microsoft Word. CRM Sprinx ma´ velmi propracovany´ kalenda´rˇ, u´kolovnı´k a sledova´nı´ termı´nu˚. Zde se te´meˇrˇ na 100 % prˇekry´va´ s Microsoft Exchangem. Vy´voj Navigo port jisteˇ nenı´ rozumne´ smeˇrˇovat proti takto propracovane´ a levne´ konkurenci, cestou je spı´sˇe jen mı´rne´ rozsˇ´ırˇenı´ u´kolu˚ a rozumna´ komunikace pra´veˇ s produktem Microsoft Exchange. Samozrˇejmostı´ je nutna´ mozˇnost provozovat u´kolovnı´k i bez tohoto softwaru v pozadı´. Prˇ´ıjemny´m zjisˇteˇnı´m je pak fakt, zˇe komunikace ohledneˇ termı´nu˚ a u´kolu˚ se da´ realizovat cˇisteˇ na ba´zi specia´lneˇ forma´tovany´ch emailu˚. Syste´m Navigo Port umozˇnˇuje podrobneˇjsˇ´ı modelova´nı´ prˇedpokla´dany´ch prˇ´ıjmu˚ a vy´daju˚. Tento fakt vsˇak vycha´zı´ z jeho mı´rneˇ odlisˇne´ho zameˇrˇenı´. Sprinx CRM oproti tomu ˇ esˇedisponuje vı´ce atributy zaka´zky (zminˇme trˇeba ocˇeka´vane´ datum podpisu smlouvy). R nı´m tohoto proble´mu je vı´ce customizovatelny´ch atributu˚, tedy rozsˇ´ırˇenı´ Naviga o mozˇnost nadefinovat si bohatsˇ´ı sadu atributu˚ zaka´zky, cˇ´ımzˇ by sve´ho konkurenta prˇedcˇil modularitou. Neoddiskutovatelnou vy´hodou Naviga je robustneˇjsˇ´ı a univerza´lneˇjsˇ´ı syste´m uzˇivatlsky´ch pra´v a take´ funkcˇnost v prohlı´zˇecˇi Mozilla, cˇ´ımzˇ se sta´va´ prakticky platformoveˇ neza´visly´. Podobne´ aplikace jsou vsˇak te´meˇrˇ vy´hradneˇ pouzˇ´ıva´ny z prostrˇedı´ Microsoft Windows, proto se ona platformova´ neza´vislost da´ popsat jako vy´hoda nepodstatna´.
5.2
Pozˇadavky a navrhovane´ modifikace pro firmu FOLBER
Syste´m, jezˇ ma´ skutecˇneˇ dobrˇe slouzˇit ve vı´ce spolecˇnostech, musı´ by´t snadno rozsˇirˇitelny´. Kazˇda´ spolecˇnost je jina´ a snazˇit o vytvorˇenı´ syste´mu, ktery´ bude natolik univerza´lnı´, zˇe bude v jedne´ podobeˇ slouzˇit neˇkolika spolecˇnostem, vede ke slozˇity´m rˇesˇenı´m, ktere´ samozrˇejmeˇ nenı´ jednodusˇe pouzˇitelne´, vyzˇaduje na´rocˇneˇjsˇ´ı sˇkolenı´ zameˇstnancu˚ a v neposlednı´ rˇadeˇ je take´ neprˇ´ıjemneˇ rozsa´hle´. Jizˇ od pocˇa´tku analy´zy bylo tedy snahou postavit syste´m tak, aby byl lehce modifikovatelny´ a aby zejme´na databa´zova´ za´kladna poskytovala takovou strukturu dat, jezˇ by umozˇnˇovala jeho snadne´ rozsˇ´ırˇenı´ o specificke´ funkce. Spolecˇnost FOLBER je stavebnı´ firmou specializujı´cı´ se na realizaci ocelovy´ch konstrukcı´. Po vynikajı´cı´ch zkusˇenostech se sluzˇbami firmy Omega Design v minulosti se vedenı´ spolecˇnosti FOLBER rozhodlo pro modifikovany´ syste´m Navigo Port. Pozˇadavky, jezˇ tato spolecˇnost kladla, vyzˇadujı´ doposud nejrozsa´hlejsˇ´ı modifikace syste´mu, proto jejich strucˇne´ shrnutı´ mu˚zˇe mnohe´ naznacˇit. Zejme´na se potvrdilo, zˇe datova´ za´kladna byla navrzˇena dostatecˇneˇ robustneˇ, ale take´ vyplynula na povrch nutnost nove´ho prˇ´ıstupu v uzˇivatelske´m rozhranı´. 41
5. NAVIGO PORT V PRAXI 5.2.1
Rozpocˇty pro jednotlive´ u´koly zameˇstnancu˚ a jejich odmeˇnˇova´nı´ odpoveˇdnou osobou dle odvedene´ pra´ce
Nejprve bylo zapotrˇebı´ podchytit zada´nı´ u´kolu, odpoveˇdne´ho pracovnı´ka za jeho realizaci, rozpocˇet pro dany´ u´kol (klasicky objem financı´ pro odmeˇny deˇlnı´ku˚), termı´n cˇi termı´ny u´kolu a evidovat odmeˇny jednotlivy´m zameˇstnancu˚m (deˇlnı´ku˚m). Navrhovane´ rˇesˇenı´: Za´kladem je rozmeˇlneˇnı´ projektu (jezˇ se shoduje se Zaka´zkou v Navigo Port) na podzaka´zky. Toto rozmeˇlneˇnı´ na´m umozˇnı´ sestavovat rozpocˇet pro jednotlive´ podzaka´zky (at’ uzˇ v modulu Rozpocˇty, cˇi jednodusˇeji pomocı´ prˇedpokla´dany´ch prˇ´ıjmu˚ a vy´daju˚), urcˇenı´ odpoveˇdny´ch pracovnı´ku˚ za dany´ u´kol, da´le umozˇnı´ pomocı´ modulu u´koly definovat termı´ny dokoncˇenı´ pro jeho jednotlive´ cˇa´sti, vykazova´nı´ cˇinnosti deˇlnı´ku˚ a jejich odmeˇnˇova´nı´ odpoveˇdnou osobou. Prˇ´ınosem tohoto pohledu je jednoducha´ evidence pracnosti a odpoveˇdnosti. Cely´ princip je mozˇno demonstrovat na na´sledujı´cı´m prˇ´ıkladeˇ: Pro projekt (zaka´zku) je trˇeba vykonat neˇjakou cˇinnost, jı´zˇ se bude veˇnovat x deˇlnı´ku˚, tato cˇinnost musı´ by´t hotova do dane´ho data a jejı´ rozpocˇet je y Kcˇ. Pracovnı´k odpoveˇdny´ za realizaci zaka´zky zalozˇ´ı podzaka´zku, vlozˇ´ı do syste´mu „y“ Kcˇ jako rozpocˇet (v prˇ´ıpadeˇ modulu rozpocˇty mu˚zˇe specifikovat i podrobnosti o te´to cˇa´stce a rozdeˇlit ji na jednotlive´ druhy cˇinnostı´ dle typu˚ akcı´ na zaka´zce), do u´kolovnı´ku te´to zaka´zky zada´ termı´n dokoncˇenı´, prˇ´ıpadneˇ jake´koli dalsˇ´ı termı´ny, a fyzicky (mimo syste´m ke ktere´mu nemajı´ deˇlnı´ci prˇ´ıstup) zajistı´ jeho realizaci. Po dokoncˇenı´ u´kolu zapı´sˇe druh a objem pra´ce za jednotlive´ deˇlnı´ky formou akcı´ na zaka´zce a prˇideˇlı´ jim odmeˇny (sta´vajı´cı´m modulem „odmeˇny externistu˚“). Objem pra´ce je mozˇno zada´vat kumulativneˇ. Jasnou nevy´hodou tohoto rˇesˇenı´ je nutnost zada´va´nı´ druhu a objemu pra´ce jednotlivy´ch deˇlnı´ku˚, tady je trˇeba zva´zˇit, zdali je vhodne´ kuprˇ´ıkladu sledovat vytı´zˇenost jednotlivy´ch deˇlnı´ku˚ ve vazbeˇ na jejich odmeˇny. Tento syste´m neumozˇnˇuje odmeˇnˇovat deˇlnı´ky za dany´ cˇasovy´ u´sek po cˇa´stech, ale jen celkoveˇ za cely´ u´kol. Dalsˇ´ı rozmeˇlneˇnı´ je vsˇak mozˇne´ tvorbou dalsˇ´ı podzaka´zky, ve ktere´ se bude pouze evidovat, kdo a co za jaky´ cˇasovy´ u´sek udeˇlal a jak byl za tuto pra´ci odmeˇneˇn. Struktura by pote´ mohla by´t kuprˇ´ıkladu na´sledujı´cı´: Zaka´zka „stavba strˇechy“ ma´ podzaka´zku „lakova´nı´ konstrukce“, ve ktere´ jsou nadefinova´ny termı´ny a rozpocˇet a ktera´ se da´le deˇlı´ na podzaka´zky „pra´ce za leden“ a „pra´ce za u´nor“, jezˇ uzˇ obsahujı´ jen data o objemu odvedene´ pra´ce a odmeˇna´ch pro jednotlive´ pracovnı´ky. Jako rozumneˇjsˇ´ı varianta se vsˇak jevı´ modifikace odmeˇn externistu˚ tak, aby bylo mozˇno prˇizna´vat odmeˇny k urcˇite´mu datu. Prˇizna´nı´ odmeˇny by bylo nevratne´ (opravu chybny´ch dat by rˇesˇilo specia´lnı´ pra´vo pro modifikaci jizˇ prˇiznany´ch odmeˇn prˇideˇlene´ vhodny´m osoba´m) a v okamzˇiku, kdy by existovala akce na zaka´zce, jezˇ by byla noveˇjsˇ´ıho data, nezˇ je datum poslednı´ odmeˇny, by syste´m sa´m nabı´dl dalsˇ´ı mozˇnost pracovnı´ka odmeˇnit. Navigo Port zatı´m neposkytuje vazbu mezi rozpocˇtem, prˇedpokla´dany´mi prˇ´ıjmy a vy´daji, akcemi a odmeˇnami. Je jisteˇ nutne´ implementovat zejme´na kontrolu prˇekrocˇenı´ rozpocˇtu, stejneˇ jako specializovane´ statisticke´ aplikace pro kontrolu „rozumne´ho“ cˇerpa´nı´ rozpocˇtu˚. Da´le bude urcˇiteˇ vhodne´ implementovat „pru˚vodce“ po zaka´zce, ktery´ by umozˇnil rychle´ a prˇehledne´ zada´va´nı´ dat v da´vka´ch, umozˇnil by rychlou pra´ci prˇi modifikaci dat a trochu „vedl za ruku“ pracovnı´ka, ktery´ s nimi bude pracovat. Kompletnı´ prˇepracova´nı´ seznamu u´kolu˚ na zaka´zce je take´ mozˇnou cestou k zjednodusˇenı´ cele´ agendy. Je velice pravdeˇpodobne´, zˇe bude trˇeba pro zjednodusˇenı´ pochopenı´ pracovnı´ky firmy FOLBER prˇepracovat na´zvozlovı´ jednotlivy´ch datovy´ch entit. 42
5. NAVIGO PORT V PRAXI 5.2.2
Evidence formy u´hrady pro klienta i pro subdodavatele pro jednotlive´ zaka´zky a kontakty
Relativneˇ jednoduchy´ pozˇadavek nastolil ota´zku, zda by nebylo vhodne´ do syste´mu implementovat vı´ce typu˚ customizovatelny´ch atributu˚. V dosavadnı´m rˇesˇenı´ jsou tyto atributy va´za´ny na typ zaka´zky, cozˇ sice zatı´m nenı´ vyuzˇ´ıva´no (vsˇechny spolecˇnosti, ktere´ syste´m vyuzˇ´ıvajı´, vystacˇ´ı s jediny´m typem zaka´zky), ale nenı´ to nijak omezujı´cı´ za´lezˇitost a nove´ customizovatelne´ atributy jisteˇ mohou by´t jen rozsˇ´ırˇenı´m dosavadnı´ho syste´mu. Novy´mi typy by byly cˇ´ıselnı´k a text, jezˇ by doplnily jizˇ implementovane´ rea´lne´ cˇ´ıslo. Vyuzˇitı´ tohoto apara´tu je podmı´neˇno realizacı´ aministracˇnı´ho na´stroje pro cˇ´ıselnı´ky a modifikacı´ vy´pisu teˇchto atributu˚, prˇicˇemzˇ je pravdeˇpodobneˇ nutny´ jejich prˇenos z financı´ na zaka´zce do vlastnostı´ zaka´zky. 5.2.3
Tvorba harmonogramu zaka´zky, evidence milnı´ku˚ zaka´zky a podobny´ch atributu˚
ˇ esˇenı´m je podrobna´ analy´za proble´mu a snaha vyrˇesˇit jej na ba´zi u´kolu˚. Jisty´m prˇedpoR kladem je nutnost rozesı´la´nı´ upozorneˇnı´ emailem, rozsˇ´ırˇenı´ funkcionality u´kolu˚, prˇida´nı´ mozˇnosti deˇlit u´koly do podu´kolu˚ (a tedy mozˇnost evidovat vı´ce termı´nu˚ k jednomu u´kolu) a jejich prˇehledneˇjsˇ´ı prˇ´ıpadneˇ zcela jine´ zobrazenı´, ktere´ bude zakomponova´no do za´kladnı´ verze Navigo Port. Je velmi pravdeˇpodobne´, zˇe podobne´ pozˇadavky budou mı´t i jine´ spolecˇnosti a zˇe rˇesˇenı´ tohoto pozˇadavku bude zahrnuto do podrobne´ analy´zy proble´mu s odmeˇnˇova´nı´m u´kolu˚ zameˇstnancu˚, jezˇ je zmı´neˇn vy´sˇe. 5.2.4
Jednoduche´ vystavova´nı´ specificky´ch dokumentu˚ pro firmu FOLBER s maxima´lnı´m mozˇny´m vyuzˇitı´m dat v databa´zi a co nejjednodusˇsˇı´ spra´vou a editacı´
Cı´lem je vytvorˇit da´le rozsˇirˇitelny´ a lehce konfigurovatelny´ syste´m tvorby dokumentu˚ dle dat obsazˇeny´ch v syste´mu a jejich export do PDF. Pra´ce s dokumenty bude vycha´zet z filozofie modulu Objedna´vky, ale v databa´zi bude mozˇno jednodusˇe prˇidat dalsˇ´ı typ dokumentu˚ s vyuzˇitı´m jednoduchy´ch stavebnı´ch prvku˚. Teˇmito stavebnı´mi prvky budou jak jednoduche´ editovatelne´ polozˇky (cˇ´ıselnı´k, prˇepı´nacˇ, text apod.), tak take´ vy´stupy syste´mu (seznam zaka´zek, soucˇet prˇedpokla´dany´ch objemu˚ pracı´ na zaka´zce a podobneˇ). Tvorba vy´sledny´ch dokumentu˚ bude zalozˇena na XSLT a XSL:FO, stylesheety pro PDF i HTML a definice dokumentu se budou nacha´zet prˇ´ımo v databa´zi, cozˇ umozˇnı´ jejich spra´vu. Je nutne´ take´ zajistit cˇ´ıslova´nı´ jednotlivy´ch druhu˚ dokumentu˚ neprˇetrzˇitou rˇadou. Implementace tohoto syste´mu je opeˇt vı´ce nezˇ vhodna´ a je mozˇne´, zˇe dı´ky tomu zanikne modul objedna´vky.
43
Kapitola 6
Za´veˇr Aplikace je nynı´ u´speˇsˇneˇ pouzˇ´ıva´na ve dvou spolecˇnostech a v soucˇasne´ dobeˇ jsou dojedna´va´ny podmı´nky nasazenı´ v dalsˇ´ıch dvou firma´ch. Z analyticky´ch pracı´, jezˇ jsou v soucˇasnosti hotovy, vyply´va´, zˇe za´klad aplikace je zpracova´n dostatecˇneˇ otevrˇeneˇ a samotny´ princip fungova´nı´ je natolik univerza´lnı´, zˇe je mozˇno syste´m prˇizpu˚sobovat pozˇadavku˚m i odlisˇneˇ zameˇrˇeny´ch spolecˇnostı´. Za´rovenˇ vsˇak vyplynuly na povrch nedostatky zejme´na v prova´zanosti a jednoduchosti pouzˇitı´ neˇktery´ch agend. Nabı´zı´ se sva´za´nı´ u´kolu˚ s podzaka´zkou, automaticke´ generova´nı´ faktur, nebo potrˇeba univerza´lnı´ho syste´mu spra´vy prˇesneˇ strukturovany´ch dokumentu˚. Samozrˇejmostı´ je fakt, zˇe cely´ syste´m se sta´le vyvı´jı´ a osveˇdcˇila se i metodika, kdy je skutecˇneˇ realizova´no jen to, co odbeˇratelske´ spolecˇnosti vyzˇaduje a chteˇjı´ opravdu pouzˇ´ıvat. Cela´ aplikace je tı´mto udrzˇova´na relativneˇ jednoducha´. Oproti komercˇneˇji a univerza´lneˇji zameˇrˇeny´m syste´mu˚m (kuprˇ´ıkladu InTouch CRM) se pak uzˇivatelske´ rozhranı´ na prvnı´ pohled jevı´ jednodusˇe. Osveˇdcˇila se i spolupra´ce s profesiona´lnı´mi grafiky a designe´ry; syste´m je velice prˇehledny´ a jeho viza´zˇ strˇ´ızliva´ a neunavujı´cı´, cozˇ potvrzujı´ pozitivnı´ reakce potencia´lnı´ch za´jemcu˚. Dalsˇ´ı vy´voj syste´mu se vsˇak s nejveˇtsˇ´ı pravdeˇpodobnostı´ bude ubı´rat smeˇrem k vyuzˇitı´ prostrˇedı´, jezˇ nabı´dne mozˇnost rychlejsˇ´ıho vy´voje aplikacı´, prˇicˇemzˇ zatı´m nejzˇhaveˇjsˇ´ım kandida´tem je v tomto smeˇru platforma Microsoft .NET, nebot’ umozˇnˇuje bezproble´move´ napojenı´ na nejrozsˇ´ırˇeneˇjsˇ´ı kancela´rˇsky´ balı´k na trhu a i prˇes vysˇsˇ´ı porˇizovacı´ na´klady aplikacˇnı´ho serveru je jeho platforma na´kladoveˇ minima´lneˇ srovnatelna´ s beˇzˇny´m open source rˇesˇenı´m. Budoucnost podobny´ch „maly´ch“ syste´mu je totizˇ ohrozˇena konkurencı´ velky´ch firem, zacˇ´ınajı´cı´ch postupneˇ nabı´zet levna´, obecneˇ pouzˇitelna´ a velmi lehce customizovatelna´ rˇesˇenı´, jejichzˇ vy´voj je dı´ky veˇtsˇ´ımu trhu a neˇkdy i dotacı´m z jiny´ch cˇinnostı´ teˇchto firem nepomeˇrneˇ levneˇjsˇ´ı. I kdyzˇ se sta´le darˇ´ı nacha´zet za´kaznı´ky pro syste´my podobne´ Navigu, kterˇ´ı navı´c po zı´ska´nı´ prvnı´ pozitivnı´ zkusˇenosti nemajı´ tendenci rychle meˇnit dodavatele softwarovy´ch rˇesˇenı´, budoucnost maly´ch softwarovy´ch dodavatelu˚ lezˇ´ı vı´ce v osvojenı´ si postupu˚, jezˇ minimalizujı´ na´klady na programa´torske´ a analyticke´ pra´ce, a v zameˇrˇenı´ se na specificke´ aplikace, jezˇ nejsou obecneˇ pouzˇitelne´ (a tedy realizovatelne´ velkou spolecˇnostı´ na velke´m trhu), nezˇ v pomale´m budova´nı´ univerza´lnı´ho rˇesˇenı´, ktere´ by se dalo bez veˇtsˇ´ıch zmeˇn nasadit ve vı´ce spolecˇnostech. Zameˇrˇenı´ na male´ a strˇednı´ podniky nabı´zı´ uplnatneˇnı´ na relativneˇ velke´m trh a vyzˇaduje minima´lnı´ investice, ale pra´veˇ dı´ky teˇmto dveˇma faktoru˚m je zde velmi silna´ konkurence. Syste´m Navigo Port tedy mu˚zˇeme hodnotit jako relativneˇ u´speˇsˇne´ rˇesˇenı´ potrˇeb firem Omega Design, s.r.o. a Apromo s.r.o., ktere´ dı´ky sve´ univerza´lnosti mohlo by´t nabı´dnuto dalsˇ´ım spolecˇnostem, a mu˚zˇe proto zajistit na´vrat alesponˇ cˇa´sti prostrˇedku˚, jezˇ do neˇj byly investova´ny. Tento na´vrat prostrˇedku˚ byl v ra´mci rˇesˇenı´ azˇ sekunda´rnı´m cı´lem a v dobeˇ dokoncˇova´nı´ te´to pra´ce se da´ prˇedpokla´dat, zˇe bude splneˇn. I prˇes chyby, ke ktery´m ve vy´voji syste´mu dosˇlo, se podarˇilo zpracovat zˇivotaschopne´ rˇesˇenı´, ktere´ vsˇak v tak rychle se vyvı´jejı´cı´m oboru, jaky´m jsou informacˇnı´ technologie, nebude mı´t dlouhou zˇivotnost. 44
6. ZA´VEˇR Vy´sledkem jsou ale jisteˇ zkusˇenosti, jezˇ je mozˇno vyuzˇ´ıt prˇi realizaci dalsˇ´ıch podobny´ch aplikacı´, a v neposlednı´ rˇadeˇ kompletnı´ analy´za, jezˇ je jisteˇ kdykoli znovu pouzˇitelna´.
45
Literatura [1] OBJECT MANAGEMENT GROUP, INC.: What is UML. Dokument dostupny´ na url http://www.omg.org/gettingstarted/what_is_uml.htm (kveˇten 2006) [2] SUN MICROSYSTEMS, INC.: The Java Tutorial. Dokument dostupny´ na url http://java.sun.com/docs/books/tutorial/ (kveˇten 2006) [3] SUN MICROSYSTEMS, INC.: Java EE APIs & Docs. Dokument dostupny´ na url http://java.sun.com/javaee/reference/index.jsp (kveˇten 2006) [4] POSTGRESQL GLOBAL DEVELOPMENT GROUP: PostgreSQL documentation. Dokument dostupny´ na url http://www.postgresql.org/docs/ (kveˇten 2006) [5] FIREBIRD FOUNDATION INCORPORATED: Firebird, Really Useful. Dokument dostupny´ na url http://firebird.sourceforge.net/index.php?op=useful (kveˇten 2006) [6] JBOSS INC.: Product Evaluation FAQ. Dokument dostupny´ na url http://www.hibernate.org/263.html (kveˇten 2006) [7] DARE OBASANJO: An Exploration Of Object Oriented Database Management Systems. Dokument dostupny´ na url http://www.25hoursaday.com/WhyArentYouUsingAnOODBMS.html (kveˇten 2006) [8] ANNECA S.R.O.: Informacˇnı´ syste´m InTouch CRM. Dokument dostupny´ na url http://www.anneca.cz/infoglueDeliverLive/ViewPage.action? siteNodeId=450&languageId=4&contentId=-1 (kveˇten 2006) [9] SPRINX SYSTEMS A.S: SPRINX CRM.NET. Dokument dostupny´ na url 46
LITERATURA http://www.sprinx.cz/ShowPage.aspx?HighlightTabId=149&tabId= 184&chosenMenuItem=185 (kveˇten 2006) [10] FOLBER S.R.O.: O spolecˇnosti. Dokument dostupny´ na url http://www.folber.cz/index.php?menu=o_spolecnosti (kveˇten 2006) [11] OMEGA DESIGN, S.R.O.: Internetova´ rˇesˇenı´. Dokument dostupny´ na url http://www.omega.cz/engine.php?menu=produkty.internet (kveˇten 2006) [12] APROMO S.R.O.: O firmeˇ. Dokument dostupny´ na url http://www.apromo.cz/index.php?menu=ofirme (kveˇten 2006) [13]
PROF.
RNDR. JAROSLAV KRA´L, DRSC.: Informacˇnı´ syste´my Science, Veletiny, 1998.
[14] ROSENBERG, DOUG: Use case driven object modeling with UML : a practical approach Addison-Wesley, c1999. [15] ARLOW, JIM,: UML 2.0 and the unified process : practical object-oriented analysis and design / 2nd ed. Boston : Addison-Wesley, c2005. [16] HAROLD, ELLIOTTE RUSTY: XML bible Foster City : IDG Books Worldwide, c1999. [17] CAUCHO TECHNOLOGY, INC.: JSP vs mod php and mod perl. Dokument dostupny´ na url http://www.caucho.com/articles/benchmark.xtp (kveˇten 2006) [18] SˇMARDA, JAROSLAV: Za co platı´me nasˇe zameˇstnance. Dokument dostupny´ na url http://www.cvis.cz/hlavni.php?stranka=novinky/clanek.php&id=399 (kveˇten 2006) [19] SODOMKA, PETR; HABA´Nˇ, JAROMI´R : Integrace podnikovy´ch aplikacı´. Dokument dostupny´ na url http://www.cvis.cz/hlavni.php?stranka=novinky/clanek.php&id=292 (kveˇten 2006) [20] ZELENKA, ROMAN: Vy´hody Microsoft Exchange Serveru 2003 pro manazˇery. Dokument dostupny´ na url http://www.cvis.cz/hlavni.php?stranka=novinky/clanek.php&id=216 (kveˇten 2006) 47
LITERATURA [21] MEGELA, MARIO: SW licence: soucˇasnost a trendy. Dokument dostupny´ na url http://www.cssi.cz/publ_si_clanek.asp?typ=3&kod=915 (kveˇten 2006) [22] SMOLI´K, JAN: Za peˇt let budeme potrˇebovat jiny´ druh informatiku˚. Dokument dostupny´ na url http://www.cssi.cz/publ_si_clanek.asp?typ=1&kod=892 (kveˇten 2006)
48