}w !"#$%&'()+,-./012345
Syste´m podpory spolupra´ce se za´kaznı´kem (CRM) pro male´ firmy DIPLOMOVA´ PRA´CE
Miroslav Gajda
Brno, jaro 2006
Prohla´sˇenı´ Prohlasˇuji, zˇe tato bakala´rˇska´ 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: prof. RNDr. Jaroslav Kra´l, DrSc. ii
Shrnutı´ Tento dokument se zaby´va´ postupem prˇi na´vrhu a realizaci informacˇnı´ho syste´mu pro podporu operativnı´ho CRM. Hlavnı´ vlastnostı´ syste´mu je jeho snadna´ rozsˇirˇitelnost, ktere´ spocˇ´ıva´ v tom, zˇe je mozˇne´ za provozu syste´mu meˇnit sche´ma databa´ze prˇida´va´nı´m a zmeˇnou atributu˚ i entit.
iii
Klı´cˇova´ slova CRM, rˇ´ızenı´ vztahu˚ se za´kaznı´ky, analy´za a na´vrh syste´mu, Java, SOAP, webove´ sluzˇby
iv
Obsah ´ vod U 1 Co je CRM 1.1 Cˇa´sti CRM syste´mu˚ . . . . . . . . . . . . . . . . . 1.2 Fa´ze vztahu . . . . . . . . . . . . . . . . . . . . . 1.3 Vy´vojove´ etapy CRM . . . . . . . . . . . . . . . . 1.4 Prˇ´ınosy CRM . . . . . . . . . . . . . . . . . . . . 1.5 Vlastnosti trhu a vy´vojove´ trendy CRM . . . . . 2 Srovna´nı´ existujı´cı´ch CRM syste´mu˚ 2.1 Easy CRM . . . . . . . . . . . . . . . . . . . . . . 2.2 NetOffice . . . . . . . . . . . . . . . . . . . . . . . 2.3 InTouch CRM . . . . . . . . . . . . . . . . . . . . 3 Vize 3.1 O firmeˇ . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Rozbor situace na trhu . . . . . . . . . . . . . . . 3.3 Cı´l . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Specifikace pozˇadavku˚ 4.1 Shrnutı´ cı´lu˚ . . . . . . . . . . . . . . . . . . . . . . 4.2 Vymezenı´ uzˇivatelu˚ a zpu˚sobu vyuzˇitı´ produktu 4.3 Perspektivy realizovane´ho syste´mu . . . . . . . 4.4 Za´kladnı´ funkce . . . . . . . . . . . . . . . . . . . 5 Datovy´ model 5.1 Dynamicke´ sche´ma databa´ze . . . . . . . . . . . 5.2 Popisova´ komponenta . . . . . . . . . . . . . . . 5.3 Datova´ komponenta . . . . . . . . . . . . . . . . ˇ esˇenı´ 6 R 6.1 Volba architektury a technologiı´ . . . . . . . . . . 6.2 Rozhranı´ ja´dra syste´mu . . . . . . . . . . . . . . 6.3 Podpora operativnı´ho CRM . . . . . . . . . . . . 6.4 Prˇ´ıstupova´ pra´va . . . . . . . . . . . . . . . . . . 6.5 Uzˇivatelska´ nastavenı´ . . . . . . . . . . . . . . . 6.6 Import a export . . . . . . . . . . . . . . . . . . . 6.7 Prˇ´ıklady rozsˇ´ırˇenı´ . . . . . . . . . . . . . . . . . . 7 Za´veˇr Bibliografie A Obsah prˇilozˇene´ho CD B Prˇı´klad zpra´vy
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
2 3 3 6 7 10 11 12 12 13 15 17 17 17 18 19 19 19 20 21 25 26 31 33 35 35 37 37 38 39 40 40 42 43 44 45
1
´ vod U Aby firma mohla by´t v dnesˇnı´ dobeˇ u´speˇsˇna´, musı´ mı´t dokonaly´ prˇehled o svy´ch za´kaznı´cı´ch. Nestacˇ´ı pouze proda´vat kvalitnı´ vy´robky cˇi nabı´zet kvalitnı´ sluzˇby. Nabı´dka veˇtsˇiny komodit dnes prˇevysˇuje popta´vku. V tomto vysoce konkurencˇnı´m prostrˇedı´ je du˚lezˇite´ zı´skat a udrzˇet si za´kaznı´ky a prˇedevsˇ´ım udrzˇet si ty za´kaznı´ky, kterˇ´ı mohou firmeˇ prˇine´st nejveˇtsˇ´ı zisk. Je neprˇ´ıpustne´, aby se ve firmeˇ ztra´cely kontaktnı´ u´daje o za´kaznı´cı´ch a v du˚sledku toho byl za´kaznı´k opakovaneˇ obteˇzˇova´n telefona´ty, prˇi nichzˇ by byly pozˇadova´ny informace, ktere´ jizˇ neˇkolikra´t poskytl. Je proto du˚lezˇite´, aby vsˇichni zameˇstnanci firmy meˇli okamzˇity´ prˇ´ıstup ke vsˇem doposud zjisˇteˇny´m u´daju˚m o za´kaznı´kovi a o pru˚beˇhu komunikace s nı´m. Ke shromazˇd’ova´nı´ teˇchto u´daju˚ mohou by´t vyuzˇity tzv. operativnı´ CRM syste´my. Prvnı´ kapitola te´to pra´ce se snazˇ´ı prˇiblı´zˇit, co zkratka CRM vlastneˇ znamena´ a jak by´va´ nejcˇasteˇji cha´pa´na, pod jaky´mi pohledy lze na CRM syste´my nahlı´zˇet, jaka´ byla jejich minulost a jake´ trendy lze vysledovat dnes, jak podporujı´ zˇivotnı´ cyklus za´kaznı´ka a co CRM syste´my prˇina´sˇejı´ vsˇeobecneˇ. Druha´ kapitola obsahuje srovna´nı´ trˇ´ı existujı´cı´ch CRM syste´mu˚. Jako hlavnı´ krite´rium pro jejich srovna´nı´ je bra´n prˇehled nejdu˚lezˇiteˇjsˇ´ıch entit, ktere´ se v syste´mu vyskytujı´. Da´le je naprˇ. sledova´no, jak syste´m podporuje rˇ´ızenı´ cˇasu a sledova´nı´ zˇivotnı´ho cyklu za´kaznı´ka. Jednı´m z dalsˇ´ıch krite´riı´ je porˇizovacı´ cena syste´mu. Trˇetı´ kapitola je tvorˇena vizı´. Snazˇ´ı se odpoveˇdeˇt na ota´zku, procˇ ma´ smysl vyvı´jet dalsˇ´ı CRM syste´m a jaky´ch cı´lu˚ by meˇlo by´t dosazˇeno. Cˇtvrtou kapitolu tvorˇ´ı dokument specifikace pozˇadavku˚, ktery´ je nutne´ zformulovat v pocˇa´tecˇnı´ch etapa´ch vy´voje kazˇde´ho syste´mu. Tento dokument poma´ha´ vymezit to, co se bude nakonec realizovat. Shrnuje cı´le, vymezuje uzˇivatele a zpu˚soby vyuzˇitı´ syste´mu, popisuje jeho perspektivy a prˇedevsˇ´ım poda´va´ vy´cˇet za´kladnı´ch funkcı´. Pa´ta´ kapitola popisuje informacˇnı´ schopnost syste´mu pomocı´ entitneˇ-vztahove´ho (entity-relationship) modelu. Kromeˇ popisu zvolene´ho postupu jsou uvedeny jesˇteˇ dva jine´ postupy, ktere´ sice nebyly prˇi realizaci vyuzˇity, ale rovneˇzˇ umozˇnˇujı´ vytvorˇenı´ dynamicke´ho syste´mu. V sˇeste´ kapitole je vı´ce prˇiblı´zˇen realizovany´ syste´m z technicke´ho hlediska. Je zde popsa´no, jakou architekturu syste´m ma´, jake´ technologie byly zvoleny a procˇ a jsou zde popsa´ny za´kladnı´ vlastnosti syste´mu. Za´veˇrecˇna´ kapitola obsahuje shrnutı´ dosazˇeny´ch vy´sledku˚ a prˇ´ınos k problematice na´vrhu a realizace maly´ch prˇizpu˚sobitelny´ch CRM syste´mu˚. Da´le uva´dı´, jaky´mi smeˇry je mozˇne´ vytvorˇeny´ syste´m rozsˇ´ırˇit.
2
Kapitola 1
Co je CRM Zkratka CRM znamena´ pro ru˚zne´ lidi ru˚zne´ veˇci. Veˇtsˇina lidı´ ji interpretuje jako customer relationship management. Tento pojem lze volneˇ prˇelozˇit jako rˇ´ızenı´ vztahu˚ se za´kaznı´ky. Pro jine´ tato zkratka znamena´ customer relationship marketing. Existuje skupina lidı´, kterˇ´ı vypousˇteˇjı´ slu˚vko relationship a pouzˇ´ıvajı´ termı´n customer management, protozˇe jsou prˇesveˇdcˇeni, zˇe ne vsˇichni za´kaznı´ci stojı´ o vztah s dodavatelem. Neˇkterˇ´ı preferujı´ vy´raz relationship management. V kazˇde´m prˇ´ıpadeˇ ale CRM oznacˇuje podnikatelske´ praktiky zameˇrˇene´ na za´kaznı´ky. [Buttle] Termı´n CRM je pomeˇrneˇ mlady´, ale jistou formu rˇ´ızenı´ vztahu˚ se za´kaznı´ky pouzˇ´ıvajı´ te´meˇrˇ vsˇechny firmy odjakzˇiva a nejen klasicke´ firmy doda´vajı´cı´ neˇjake´ produkty cˇi poskytujı´cı´ sluzˇby, ale take´ naprˇ. le´karˇi cˇi sta´tnı´ instituce. Termı´n oznacˇujı´cı´ tuto oblast podnika´nı´ byl pouze zformulova´n pozdeˇji a pomalu se zacˇala tato oblast systematicky studovat. Pojem CRM se dnes vzˇil take´ jako oznacˇenı´ pro technologie, ktere´ podporujı´ vlastnı´ rˇ´ızenı´ vztahu˚ se za´kaznı´ky, tedy samotne´ softwarove´ aplikace, ktere´ poma´hajı´ automatizovat cˇinnosti v prodeji a nabı´zenı´ sluzˇeb. Od roku 1993, kdy Tom Siebel zalozˇil Siebel Systems Inc.1 , se trh zaplnil velky´m pocˇtem CRM rˇesˇenı´ doda´vany´ch firmami zameˇrˇeny´mi na informacˇnı´ technologie vsˇech velikostı´. Termı´n CRM lze definovat naprˇ. podle [Slovnik] jako podnikovou strategii pro aktivnı´ rˇ´ızenı´ vztahu˚ se za´kaznı´ky ve vsˇech kontaktnı´ch bodech, s u´cˇelem nava´za´nı´ oboustranneˇ vy´hodne´ho dlouhodobe´ho vztahu. CRM vyzˇaduje za´kaznicky orientovanou podnikovou strukturu, procesy a celou podnikovou filozofii. CRM ma´ za cı´l pozna´nı´ za´kaznı´ka, tedy jeho chova´nı´ a potrˇeby a na´sledne´ vyhodnocova´nı´ teˇchto u´daju˚ pro udrzˇenı´ sta´vajı´cı´ch a zı´ska´nı´ novy´ch za´kaznı´ku˚. Je zalozˇena na vysoce kvalitnı´ch datech o za´kaznı´cı´ch a umozˇnˇovana´ IT technologiı´.
1.1
Cˇa´sti CRM syste´mu˚
Na CRM mu˚zˇeme podle [Buttle] nahlı´zˇet ve trˇech ru˚zny´ch u´rovnı´ch: strategicke´, operativnı´ a analyticke´.
Strategicke´ CRM Strategicke´ CRM je na´hled na CRM shora-dolu˚. Udrzˇuje na´hled na CRM jako klı´cˇovou podnikatelskou strategii orientovanou na za´kaznı´ka, ktera´ si klade za cı´l zı´skat za´kaznı´ka a udrzˇet si ho. Strategicke´ CRM se zameˇrˇuje na vytvorˇenı´ podnikatelske´ kultury zameˇrˇene´ na za´kaznı´ka. Tato kultura spocˇ´ıva´ v zı´ska´va´nı´ a udrzˇenı´ za´kaznı´ka tı´m, zˇe nabı´dne lepsˇ´ı hodnoty nezˇ konkurence. Projevy firemnı´ kultury se odra´zˇ´ı ve schopnosti vedoucı´ch pracovnı´ku˚ 1
www.siebel.com
3
´ STI CRM SYSTE´MU ˚ 1.1. CˇA
rˇ´ıdit podnik, navrhovat forma´lnı´ syste´my podniku a v poveˇdomı´ zameˇstnancu˚, ktere´ se vytva´rˇ´ı uvnitrˇ firmy. Ve firmeˇ s kulturou orientovanou na za´kaznı´ka lze ocˇeka´vat, zˇe zdroje budou vyuzˇ´ıva´ny tam, kde nejvı´ce zvy´sˇ´ı jeho hodnotu, syste´my odmeˇn pro zameˇstnance se odrazı´ ve zvy´sˇenı´ za´kaznı´kovy spokojenosti a informace o za´kaznı´cı´ch budou sbı´ra´ny, sdı´leny a vyuzˇ´ıva´ny v cele´ firmeˇ.
Operativnı´ CRM Operativnı´ CRM je zameˇrˇeno na automatizaci cˇa´stı´ podnika´nı´, ktere´ prˇ´ımo souvisejı´ se za´kaznı´ky. Hlavnı´ aplikace operativnı´ho CRM spocˇ´ıvajı´ v automatizaci procesu˚ a cˇinnostı´ ty´kajı´cı´ch se marketingovy´ch, prodejnı´ch a servisnı´ch aktivit. Podpora marketingovy´ch aktivit poskytuje spolecˇnosti na´stroje pro segmentaci za´kaznı´ku˚, usnadneˇnı´ spolupra´ce a komunikace zameˇstnancu˚ uvnitrˇ firmy a uda´lostmi rˇ´ızeny´ marketing. Na za´kladeˇ informacı´ zaznamenany´ch v syste´mu mohou uzˇivatele´ le´pe zacı´lit komunikaci se za´kaznı´kem a prˇizpu˚sobit nabı´dku produktu˚ cˇi sluzˇeb za´kaznı´kovi prˇ´ımo na teˇlo. Neˇktere´ akce jsou iniciova´ny spolecˇnostı´ jako odpoveˇd’ na urcˇitou akci za´kaznı´ka. Prˇ´ıkladem mu˚zˇe by´t za´kaznı´k, ktery´ pozˇa´da´ o zasla´nı´ informacı´ o neˇktere´ nabı´zene´ sluzˇbeˇ cˇi produktu, v du˚sledku cˇehozˇ mu˚zˇe by´t zaha´jen proces prodeje tı´m, zˇe za´kaznı´k obdrzˇ´ı zdvorˇilostnı´ telefona´t, v neˇmzˇ mu za´stupce spolecˇnosti podeˇkuje za projeveny´ za´jem. Tuto oblast ma´ na starost uda´lostmi rˇ´ızeny´ marketing. Na za´kladeˇ zaznamena´va´nı´ historie komunikace a spolupra´ce spolecˇnosti se za´kaznı´kem, mu˚zˇe spolecˇnost objevit ru˚zne´ vztahy. Naprˇ. zˇe titı´zˇ za´kaznı´ci, kterˇ´ı si kupujı´ letenky do exoticky´ch destinacı´, si take´ zrˇizujı´ drahe´ pojisˇteˇnı´. Spolecˇnost tak mu˚zˇe zameˇrˇit svou nabı´dku pojisˇteˇnı´ na tyto za´kaznı´ky. Podpora prodejnı´ch aktivit umozˇnˇuje spolecˇnosti automatizovat cˇinnosti spojene´ se zaznamena´nı´m obchodnı´ch prˇ´ılezˇitostı´, sledova´nı´m jejich pru˚beˇhu od zaznamena´nı´ prvotnı´ objedna´vky, prˇes uzavrˇenı´ smlouvy azˇ po doda´nı´ a zaplacenı´ za dodane´ zbozˇ´ı. Podpora prodejnı´ch aktivit da´le umozˇnˇuje uzˇivatelu˚m sdı´lenı´ informacı´ o za´kaznı´kovi a pru˚beˇhu objedna´vky. Mu˚zˇe take´ usnadnit komunikaci se za´kaznı´kem, naprˇ. usnadneˇnı´m rozesı´la´nı´ obchodnı´ch sdeˇlenı´. Podpora servisnı´ch aktivit umozˇnˇuje spolecˇnosti automatizovat cˇinnosti spojene´ s vykona´va´nı´m servisnı´ch za´sahu˚, zaznamena´va´nı´ a vyrˇizova´nı´m reklamacı´ a prova´deˇnı´m oprav.
Analyticke´ CRM Analyticke´ CRM je na´hled na CRM zdola-nahoru. Soustrˇed’uje se na vyuzˇ´ıva´nı´ dat o za´kaznı´cı´ch k lepsˇ´ımu pozna´nı´ za´kaznı´ka a jeho preferencı´. Prˇedevsˇ´ım ale slouzˇ´ı k optimalizaci soucˇasny´ch obchodnı´ch procesu˚ a poma´ha´ definovat nove´ procesy podporujı´cı´ podnikovou strategii. Slouzˇ´ı pro podporu strategicke´ho rozhodova´nı´ a k odhalova´nı´ skryty´ch informacı´ pro snadne´ pochopenı´ a prˇedvı´da´nı´ potrˇeb a chova´nı´ za´kaznı´ku˚. Vyuzˇ´ıva´ u´daje z operativnı´ch
4
´ STI CRM SYSTE´MU ˚ 1.1. CˇA
syste´mu˚ a obsahuje i na´stroje na jejich analy´zu. Vy´sledky analy´z potom prˇina´sˇejı´ lepsˇ´ı znalosti o za´kaznı´cı´ch zpeˇt do operativnı´ch CRM syste´mu˚. Znalosti o ziskovosti za´kaznı´ku˚, segmentech za´kaznı´ku˚, jejich profilech a pravdeˇpodobne´m chova´nı´ v budoucnosti. Tento proces transformace dat (u´daju˚) na informace a prˇevod teˇchto informacı´ na znalosti, slouzˇ´ıcı´ch k podporˇe podnika´nı´ (rozhodova´nı´), je oznacˇova´n jako business intelligence (podnikatelska´ inteligence). Analyticke´ CRM je du˚lezˇitou soucˇa´stı´ efektivnı´ implementace CRM. Poma´ha´ totizˇ urcˇit, kterˇ´ı za´kaznı´ci jsou pro spolecˇnost nejcenneˇjsˇ´ı, kterˇ´ı za´kaznı´ci mohou uvazˇovat o odchodu ke konkurenci nebo kterˇ´ı za´kaznı´ci budou kladneˇ reagovat na urcˇitou nabı´dku. Da´le poma´ha´ urcˇit, ktere´ sluzˇby jsou nejzˇa´daneˇjsˇ´ı a tedy na jake´ oblasti by se spolecˇnost meˇla zameˇrˇit a ktere´ naopak opustit cˇi vı´ce prˇizpu˚sobit pozˇadavku˚m za´kaznı´ku˚. Analyticke´ CRM nacha´zı´ uplatneˇnı´ naprˇ. v rˇesˇenı´ obchodnı´ch u´loh segmentace za´kaznı´ku˚ cˇi analy´ze chova´nı´ za´kaznı´ku˚. [SAS] ´ kolem analyticke´ho CRM prˇi segmentaci za´kaznı´ku˚ je definovat skupinu za´kazU nı´ku˚ na za´kladeˇ podobne´ho chova´nı´ cˇi profilu (veˇk, bydlisˇteˇ, vyuzˇ´ıva´nı´ sluzˇeb). Hranice mezi zı´skany´mi skupinami nedefinuje uzˇivatel, ale syste´m sa´m, ktery´ vyhleda´va´ hranicˇnı´ hodnoty mnoha promeˇnny´ch definujı´cı´ch homogennı´ skupiny. Vy´sledkem mu˚zˇe by´t definovany´ segment (naprˇ. lide´ ve veˇku mezi 30 a 40 a bydlisˇteˇm v male´m meˇsteˇ), o ktere´m syste´m tvrdı´, zˇe z hlediska obratu, zisku a pocˇtu na´kupu˚ zde existuje vy´znamna´ skupina za´kaznı´ku˚, kterˇ´ı si jsou vza´jemneˇ podobnı´. Vznikajı´ tak segmenty za´kaznı´ku˚, ktere´ jsou za´kladnı´m kamenem pro vsˇechny dalsˇ´ı CRM procesy. ´ kolem analyticke´ho CRM prˇi analy´ze chova´nı´ za´kaznı´ku˚ je predikce chova´nı´ jednotU livce v urcˇite´ situaci na za´kladeˇ statisticky´ch vy´pocˇtu˚. Algoritmus vy´pocˇtu je generova´n syste´mem na za´kladeˇ historicky´ch dat o za´kaznı´kovi a jeho chova´nı´. Vy´sledkem vy´pocˇtu je hodnocenı´ za´kaznı´ka (tzv. sko´re), ktere´ v praxi mu˚zˇe mı´t podobu prˇechodu za´kaznı´ka mezi segmenty. Syste´m CRM tak doka´zˇe uka´zat, zˇe existuje rozdı´l mezi progno´zou typu˚ pojistek svobodne´ho muzˇe s pojistkou na drahe´ auto a stejneˇ stare´ho muzˇe se dveˇma deˇtmi, nespla´cejı´cı´ho hypote´ku. Na takticke´ u´rovni sko´re za´kaznı´ka vypovı´da´ o tom, jak bude reagovat na konkre´tnı´ nabı´dku dalsˇ´ıho produktu (cross selling), jaka´ je pravdeˇpodobnost odchodu za´kaznı´ka, nebo jaka´ bude pravdeˇpodobna´ odezva na firemnı´ kampanˇ. Analyticky´ CRM syste´m by´va´ cˇasto postaven na technologii datovy´ch skladu˚ (data warehouse). Datovy´ sklad je podnikovy´ strukturovany´ depozita´rˇ prˇedmeˇtoveˇ orientovany´ch, vza´jemneˇ prova´zany´ch, cˇasoveˇ nemeˇnny´ch, historicky´ch dat pouzˇ´ıvany´ na zı´ska´va´nı´ informacı´ a podporu rozhodova´nı´. Zahrnuje nejen data v databa´zi, ale i na´stroje pro extrakci dat, na´stroje pro tvorbu zpra´v, analy´zu dat, dolova´nı´ dat apod. Da´le poskytuje na´stroje pro prezentaci dat uzˇivatelsky prˇ´ıjemny´m zpu˚sobem zameˇrˇeny´m na strˇednı´ a vysˇsˇ´ı management formou tabulek, grafu˚ apod. [Rehberger] Datovy´ sklad je centra´lnı´ ulozˇisˇteˇ firemnı´ch dat, ktere´ pocha´zejı´ z ru˚zny´ch syste´mu˚ pouzˇ´ıvany´ch ve firmeˇ. Datovy´ sklad zajisˇt’uje jejich transformaci a nahra´nı´ do sve´ databa´ze. Jejich nacˇ´ıta´nı´ probı´ha´ selektivneˇ, docha´zı´ ke cˇtenı´ pouze teˇch dat, ktera´ majı´ pro ulozˇenı´ v datove´m skladu a na´slednou analy´zu smysl. Data z jiny´ch syste´mu˚ jsou nacˇ´ıta´na periodicky, naprˇ. kazˇdy´ den po pracovnı´ dobeˇ. Zı´skana´ data se transformujı´ do podoby, v jake´ jsou na´sledneˇ ulozˇena v datove´m skladu. ´ kolem datove´ho skladu je poskytova´nı´ vsˇech druhu˚ informacı´ pro sestavova´nı´ zpra´v U
5
´ ZE VZTAHU 1.2. FA
– od periodicky´ch sestav azˇ po na´hodne´ dotazy, od souhrnne´ho reportu pro vrcholovy´ management azˇ po detailnı´ sestavu pro vedoucı´ho konkre´tnı´ kampaneˇ. Velkou oblibu si v te´to souvislosti zı´skala OLAP technologie (on line analytical processing, prˇ´ıme´ analyticke´ zpracova´nı´), ktera´ umozˇnˇuje usporˇa´dat velke´ objemy dat tak, aby byla data prˇ´ıstupna´ a srozumitelna´ uzˇivatelu˚m zaby´vajı´cı´m se analy´zou obchodnı´ch trendu˚ a vy´sledku˚. V analyticky´ch CRM syste´mech se da´le uplatnˇujı´ analyticke´ postupy zvane´ dolova´nı´ dat (data mining), ktere´ doka´zˇ´ı pomoct rozpoznat skryte´ za´vislosti. Prˇ´ıkladem dodavatele syste´mu˚ na podporu analyticky´ch CRM mu˚zˇe by´t firma SAS Institute2 , ktera´ na nasˇem trhu, ale i v celosveˇtove´m meˇrˇ´ıtku patrˇ´ı mezi prˇednı´ dodavatele rˇesˇenı´ v oblasti dolova´nı´ dat a podpory rozhodova´nı´, budova´nı´ datovy´ch skladu˚ a manazˇersky´ch informacˇnı´ch syste´mu˚.
1.2
Fa´ze vztahu
CRM by meˇlo poma´hat prˇi cele´m procesu komunikace se za´kaznı´kem od nava´za´nı´ prvnı´ho kontaktu, prˇes jeho za´kaznı´ka, vytvorˇenı´ uzˇsˇ´ı spolupra´ce azˇ po ukoncˇenı´ vztahu, podporovat tzv. zˇivotnı´ cyklus za´kaznı´ka. Vy´voj vztahu se za´kaznı´kem lze tak rozdeˇlit do trˇ´ı fa´zı´, ktere´ obecneˇ prˇedstavujı´ nava´za´nı´, rozvı´jenı´ a ukoncˇenı´ vztahu. Kazˇda´ z teˇchto fa´zı´ vyzˇaduje vynalozˇenı´ rozdı´lny´ch prostrˇedku˚ pro zvysˇova´nı´ hodnoty vztahu. [Storbacka] Nava´za´nı´ vztahu se za´kaznı´kem mu˚zˇe vznikat ru˚zneˇ. Prvnı´ podneˇt pro nava´za´nı´ vztahu vznika´ veˇtsˇinou v du˚sledku u´cˇinku reklamy cˇi prˇ´ıme´ho oslovenı´ za´kaznı´ka firmou. CRM by meˇlo tedy poskytovat na´stroje pro podporu spra´vne´ho zacı´lenı´ reklamy, aby co nejvı´ce snı´zˇilo investice do nava´za´nı´ vztahu. Takovy´m na´strojem mu˚zˇe by´t pouha´ mozˇnost evidovat informace o potencia´lnı´ch za´kaznı´cı´ch, o jejich potrˇeba´ch a stavu obchodu, a jejich efektivnı´ho trˇ´ıdeˇnı´, aby na´sledneˇ mohli by´t vybra´ni a osloveni ti za´kaznı´ci s nabı´dkou, ktera´ je bude nejvı´ce zajı´mat a ktera´ pro neˇ mu˚zˇe by´t vhodna´. Kdyzˇ je nava´za´n prvotnı´ kontakt se za´kaznı´kem, je jesˇteˇ potrˇeba vybrat za´kaznı´ky, se ktery´mi by bylo vhodne´ nava´zat uzˇsˇ´ı spolupra´ci. CRM k tomu mu˚zˇe opeˇt poskytnou na´stroje, ktere´ mohou tuto volbu cˇa´stecˇneˇ automatizovat na za´kladeˇ informacı´, ktere´ byly o za´kaznı´kovi jizˇ drˇ´ıve nashroma´zˇdeˇny. Je du˚lezˇite´ vyhodnotit jeho solventnost a mozˇne´ budoucı´ prˇ´ınosy ze spolupra´ce s nı´m. Beˇhem obdobı´ navazova´nı´ vztahu se sjedna´vajı´ dohody a podepisujı´ smlouvy. Dohody cˇasto vznikajı´ pouze neforma´lnı´ cestou, naprˇ. prˇi neˇjake´ spolecˇenske´ prˇ´ılezˇitosti. Psane´ smlouvy vznikajı´ naprˇ. prˇi sjedna´va´nı´ pojisˇteˇnı´. Po nava´za´nı´ prvnı´ho kontaktu se za´kaznı´kem na´sleduje rozvı´jenı´ vztahu. Snazˇ´ıme se vybudovat pevny´ vztah, abychom co nejvı´ce snı´zˇili riziko, zˇe za´kaznı´ka ztratı´me, naprˇ. tı´m zˇe prˇejde ke konkurenci. Faktory, ktere´ ovlivnˇujı´ pevnost vztahu se za´kaznı´ky, jsou: za´kaznı´kova spokojenost se vztahem, jeho oddanost a ru˚zna´ pouta mezi za´kaznı´kem a spolecˇnostı´. Za´kaznı´kovu spokojenost lze pozitivneˇ ovlivnit naprˇ. zvysˇova´nı´m kvality poskytovany´ch sluzˇeb, snizˇova´nı´m jejich ceny, prˇizpu˚sobenı´m kvality za´kaznı´kovi tak, aby byl za´kaznı´ku˚v rozpocˇet schopny´ pokry´t zvy´sˇenou cenu. Navazovat nove´ vazby 2
www.sas.com
6
´ VOJOVE´ ETAPY CRM 1.3. VY
lze nabı´zenı´m novy´ch produktu˚ a sluzˇeb za´kaznı´kovi. Kultivova´nı´ vztahu lze prova´deˇt tı´m, zˇe spolecˇnost ma´ prˇehled o pru˚beˇhu cele´ komunikace se za´kaznı´kem, neztra´cı´ a opakovaneˇ po za´kaznı´kovi nepozˇaduje stejne´ u´daje. CRM syste´m by meˇl tedy poskytovat na´stroje k zaznamena´va´nı´ vsˇech novy´ch u´daju˚ o za´kaznı´kovi, ktere´ jsou v pru˚beˇhu komunikace s nı´m zjisˇteˇny, a jejich rychle´ a automatizovane´ vyhodnocova´nı´, aby mohly by´t konkre´tnı´mu za´kaznı´kovi nabı´dnuty odpovı´dajı´cı´ sluzˇby a navı´c, aby bylo mozˇne´ zajistit zlepsˇova´nı´ sluzˇeb a vytva´rˇenı´ch novy´ch v za´vislosti na popta´vce veˇtsˇiny sta´vajı´cı´ch cˇi potencia´lnı´ch za´kaznı´ku˚. Vztah spolecˇnosti se za´kaznı´kem mu˚zˇe zaniknout ze spousty du˚vodu˚, ktere´ cˇasto nelze prˇ´ımo ovlivnit. Neˇktera´ ukoncˇenı´ vztahu˚ nemajı´ zˇa´dny´ zvla´sˇtnı´ du˚vod. Za´kaznı´k se mu˚zˇe trˇeba prˇesteˇhovat. Jiny´m du˚vodem mu˚zˇe by´t nespokojenost za´kaznı´ka s jedna´nı´m spolecˇnosti vu˚cˇi neˇmu. Poslednı´m du˚vodem mu˚zˇe by´t prˇesveˇdcˇenı´ za´kaznı´ka, zˇe u jine´ spolecˇnosti se bude mı´t le´pe. Po ukoncˇenı´ vztahu syste´m sta´le mu˚zˇe uchova´vat vesˇkere´ informace o za´kaznı´kovi a pru˚beˇhu komunikace s nı´m, z nichzˇ lze pozdeˇji zı´skat prˇedstavu o tom, jake´ pozˇadavky za´kaznı´ci v pru˚beˇhu spolupra´ce majı´ a trˇeba i odvodit, procˇ k ukoncˇenı´ vztahu dosˇlo. CRM syste´m tedy mu˚zˇe poskytnout na´stroje pro analy´zu vztahu˚, ktere´ lze pouzˇ´ıt i beˇhem prˇedchozı´ etapy vztahu, a odhad ztra´t zpu˚sobeny´ch odchodem za´kaznı´ka.
1.3
Vy´vojove´ etapy CRM
V neda´vne´ historii a soucˇasnosti lze vysledovat cˇtyrˇi za´kladnı´ typy CRM syste´mu˚ lisˇ´ıcı´ch se mı´rou vyuzˇitı´ vy´pocˇetnı´ techniky, mı´rou automatizace cˇinnostı´, vhodnostı´ pouzˇitı´ pro ru˚zne´ typy a velikosti organizacı´, cˇi rozsahem a komplexnostı´. Lze je serˇadit dle sta´rˇ´ı [Chlebovsky]:
Papı´rova´ databa´ze Tento zpu˚sob je zcela neza´visly´ na vyuzˇitı´ vy´pocˇetnı´ techniky. Jde o nejstarsˇ´ı zpu˚sob umozˇnˇujı´cı´ udrzˇovat prˇehled o vsˇech aktivita´ch spojeny´ch s jednotlivy´mi za´kaznı´ky. Pocha´zı´ z doby, kdy byla vy´pocˇetnı´ technika draha´ na to, aby kazˇdy´ pracovnı´k meˇl svu˚j vlastnı´ pocˇ´ıtacˇ. Mı´sto neˇj se pouzˇ´ıva´ sˇanon s abecedneˇ serˇazeny´mi kartami za´kaznı´ku˚. Kazˇda´ karta obsahuje vsˇechny informace o za´kaznı´kovi a za´znamy komunikace s nı´m souvisejı´cı´. Druhy´m du˚lezˇity´m na´strojem je dia´rˇ, do ktere´ho se zapisujı´ cˇasoveˇ va´zane´ informace a cˇasove´ pla´ny. Kazˇdy´ pracovnı´k si do sve´ho kalenda´rˇe zapisuje uda´losti, ktere´ se ho prˇ´ımo ty´kajı´, existuje navı´c spolecˇna´ forma kalenda´rˇe, obvykle realizovana´ prostrˇednictvı´m velke´ na´steˇnky umı´steˇne´ ve spolecˇensky´ch prostora´ch firmy cˇi na chodbeˇ, kam vsˇichni zapisujı´ nejdu˚lezˇiteˇjsˇ´ı firemnı´ uda´losti. Jedina´ pomu˚cka pro zvy´razneˇnı´ cˇi rozlisˇenı´ za´znamu˚ jsou pastelky. Jeho nejveˇtsˇ´ı vy´hodou je, zˇe umozˇnˇuje jednoduche´ ukla´da´nı´ dokumentu˚, ktere´ existujı´ pouze v papı´rove´ podobeˇ a nikoliv v podobeˇ elektronicke´. Prˇi vyuzˇitı´ tohoto syste´mu neexistuje zˇa´dna´ automatizace cˇinnostı´. Vsˇechny u´daje se musejı´ opakovaneˇ opisovat, duplikovat pro ostatnı´ zameˇstnance firmy, aby k nim meˇli prˇ´ıstup vsˇichni. Vyhleda´va´nı´ je mozˇne´ pouze podle omezene´ho pocˇtu atributu˚, nejcˇasteˇji jme´na cˇi na´zvu. Statistiky se
7
´ VOJOVE´ ETAPY CRM 1.3. VY
musı´ tvorˇit rucˇneˇ, pro kazˇde´ obdobı´ znovu. Jesˇteˇ dnes se mu˚zˇeme s dobrˇe fungujı´cı´m syste´mem tohoto typu setkat u veˇtsˇiny cˇesky´ch le´karˇu˚. Karta pacienta je naprosto dokonaly´m za´znamem historie nasˇeho zdravotnı´ho stavu. Na druhou stranu, v rozsa´hlejsˇ´ı zdravotnı´ dokumentaci jednoho pacienta nebo vı´ce pacientu˚, naprˇ. rodinny´ch prˇ´ıslusˇnı´ku˚, mu˚zˇe by´t odhalenı´ neˇktery´ch skryty´ch souvislostı´ slozˇiteˇjsˇ´ı nebo prˇehle´dnutelne´. Prˇ´ıkladem komercˇneˇ vyuzˇ´ıvane´ho papı´rove´ho CRM syste´mu mohou by´t propracovane´ pla´novacı´ za´znamnı´ky (v Cˇesku doda´vane´ naprˇ. firmou ADK3 ). Jde o syste´m v ryzı´ podobeˇ jednotlivy´ch procesu˚. Tvu˚rci vsˇech da´le popisovany´ch syste´mu˚ vyuzˇ´ıvali papı´rovou metodu jako prˇedlohu.
Balı´k kancela´rˇsky´ch programu˚ V podstateˇ se jedna´ pouze o elektronickou obdobu prˇedchozı´ho prˇ´ıpadu. Mnohdy oba tyto syste´my existujı´ vedle sebe a navza´jem se doplnˇujı´. Tento zpu˚sob prˇekona´va´ za´vazˇny´ nedostatek prˇedchozı´ho tı´m, zˇe umozˇnˇuje sı´leny´ prˇ´ıstup vsˇech uzˇivatelu˚ k databa´zi. Takto pojaty´ syste´m umozˇnˇuje cˇa´stecˇnou automatizaci neˇktery´ch procesu˚ a cˇinnostı´. Po vytvorˇenı´ elektronicke´ databa´ze kontaktu˚ lze jednodusˇe zautomatizovat vyplnˇova´nı´ sˇablon, formula´rˇu˚ a tabulek, cˇi nastavit automaticke´ upozornˇova´nı´ na du˚lezˇite´ termı´ny. Syste´m uzˇ ale uzˇivateli nenabı´zı´ spra´vu dokumentu˚, analyticke´ a statisticke´ funkce, cˇi zautomatizova´nı´ tvorby zpra´v pro kolegy a nadrˇ´ızene´. Je na kazˇde´m uzˇivateli, aby si vytvorˇil syste´m v ukla´da´nı´ dokumentu˚, cˇi aby pomocı´ tabulkove´ho procesoru prova´deˇl statisticke´ vy´pocˇty a analy´zy. V podstateˇ jde o elektronickou kartote´ku, ktera´ doka´zˇe vyhleda´vat a trˇ´ıdit kontakty v databa´zi a podporuje automatizaci elektronicke´ komunikace. Umozˇnˇuje sdı´leny´ prˇ´ıstup vı´ce uzˇivatelu˚ k databa´zi. Na druhou stranu, trˇ´ıdı´cı´ a vyhleda´vacı´ funkce jsou omezene´. Hlavnı´m nedostatkem je sva´zanost vesˇkery´ch prova´deˇny´ch aktivit s uzˇivatelem namı´sto sva´zanosti s jednotlivy´mi kontakty v databa´zi, jichzˇ se aktivity ty´kajı´. Za´kladnı´mi prˇednostmi jsou nı´zka´ porˇizovacı´ cena (programy jsou dnes nainstalova´ny na naproste´ veˇtsˇineˇ pocˇ´ıtacˇu˚) a zautomatizova´nı´ nejcˇasteˇji se opakujı´cı´ch procedur typu vyplnˇova´nı´ u´daju˚. Pokrocˇilı´ uzˇivatele´ vy´pocˇetnı´ techniky doka´zˇ´ı pomocı´ tabulkove´ho a textove´ho editoru vytvorˇit sofistikovany´ a velice dobrˇe fungujı´cı´ syste´m pro elektronickou spra´vu kontaktu˚ a prˇi prova´za´nı´ s elektronicky´m dia´rˇem i spra´vu cˇasu. Nejrozsˇ´ırˇeneˇjsˇ´ım pouzˇ´ıvany´m rˇesˇenı´m jsou produkty spolecˇnosti Microsoft4 : Outlook, Excel, Word, prˇ´ıp. Access. Vsˇechny jsou soucˇa´stı´ sady kancela´rˇsky´ch programu˚ Microsoft Office. Zvla´sˇteˇ Outlook ma´ ambici tvorˇit integracˇnı´ cˇla´nek cele´ho syste´mu, hlavneˇ spolecˇneˇ s vyuzˇitı´m Exchange serveru.
Programy pro spra´vu kontaktu˚ a management cˇasu Tyto aplikace byly pru˚kopnı´ky mezi skutecˇny´mi elektronicky´mi CRM syste´my. I pro me´neˇ zkusˇene´ uzˇivatele pocˇ´ıtacˇe vytva´rˇejı´ komfort prˇi obhospodarˇova´nı´ kontaktu˚, souvisejı´cı´ch dokumentu˚ a cˇasovy´ch pla´nu˚. Doka´zˇ´ı dokonale automatizovat nejen procesy 3 4
www.adk.cz www.microsoft.com
8
´ VOJOVE´ ETAPY CRM 1.3. VY
typu vyplnˇova´nı´ dokumentu˚, ale i jejich na´sledne´ ukla´da´nı´ do historie. Tyto syste´my umozˇnˇujı´ ukla´da´nı´ nejen kontaktnı´ch u´daju˚, ale i dalsˇ´ıch obchodnı´ch informacı´ (velikost firmy, popta´vane´ produkty, objem na´kupu apod.). Syste´m poskytuje na´stroje pro rychle´ a efektivnı´ vyhleda´va´nı´ dle potrˇebny´ch krite´riı´. Syste´m neby´va´ postaven jako samostatneˇ pracujı´cı´ aplikace, ale vyuzˇ´ıva´ vazeb na dalsˇ´ı programy, veˇtsˇinou prˇedevsˇ´ım vy´sˇe zmı´neˇnou skupinu kancela´rˇsky´ch na´stroju˚. Pomu˚zˇe uzˇivateli naprˇ. vyplnit v textove´m procesoru hlavicˇky dokumentu˚, v tabulkove´m procesoru prova´deˇt slozˇiteˇjsˇ´ı vy´pocˇty a v emailove´m klientovi rozesı´lat a prˇijı´mat posˇtu. I kdyzˇ tyto syste´my nejsou technologicky´m vrcholem v oblasti CRM, vyznacˇujı´ se jednoduchostı´ obsluhy i u´drzˇby. Pro male´ a strˇednı´ organizace jsou v soucˇasnosti vhodny´m rˇesˇenı´m zajisˇt’ujı´cı´m obhospodarˇova´nı´ aktivit pe´cˇe o za´kaznı´ky. Umozˇnˇujı´ bezproble´movy´ sdı´leny´ prˇ´ıstup vı´ce uzˇivatelu˚ k syste´mu. Kazˇdy´ uzˇivatel mu˚zˇe mı´t definova´na prˇ´ıstupova´ pra´va dle pozˇadovane´ u´rovneˇ. Prˇ´ıkladem takove´ho syste´mu je ACT!5 od firmy Interact Commerce Corporation.
Komplexnı´ CRM e-syste´my Technologicky´ vrchol soucˇasnosti v oblasti CRM tvorˇ´ı rozsa´hle´ elektronicke´ syste´my, ktere´ jesˇteˇ vı´ce rozsˇirˇujı´ mozˇnosti prˇedchozı´ho typu syste´mu˚. Prˇida´vajı´ prˇedevsˇ´ım analyticke´ na´stroje. Cˇasto vyuzˇ´ıvajı´ datovy´ch skladu˚ a technologiı´ OLAP a dolova´nı´ dat. Umozˇnˇujı´ analyzovat na´klonnost za´kaznı´ka k na´kupu. Dalsˇ´ım ceneˇny´m analyticky´m na´strojem je sledova´nı´ hodnoty za´kaznı´ka a jejı´ rˇ´ızenı´ – jde o to zı´skat z dostupny´ch informacı´ mı´ru ziskovosti jednotlivy´ch za´kaznı´ku˚ a odhadnout jejich budoucı´ potencia´l. Jejich soucˇa´stı´ by´vajı´ i na´stroje pro automaticke´ zaznamena´va´nı´ vesˇkere´ komunikace se za´kaznı´kem, ktera´ probı´ha´ prˇes telefon, emailovou cestou cˇi formou SMS, a zjednodusˇenı´ te´to komunikace. Tyto na´stroje poma´hajı´ naprˇ. okamzˇiteˇ identifikovat volajı´cı´ho na za´kladeˇ jeho telefonnı´ho cˇ´ısla a uzˇivateli syste´mu (naprˇ. opera´torce) zobrazit vsˇechny dostupne´ informace o za´kaznı´kovi, ktery´ je na lince. Tı´m se prˇedejde prodluzˇova´nı´ rozhovoru, ktere´ by nutneˇ nastalo, kdyby uzˇivatel rucˇneˇ hledal pozˇadovane´ informace nebo se na neˇ musel pta´t za´kaznı´ka. Pro optima´lnı´ fungova´nı´ v kazˇde´ firmeˇ by´va´ syste´m prˇizpu˚soben dodavatelem do podoby plneˇ vyhovujı´cı´ firemnı´m procesu˚m a pozˇadovane´ komunikaci. Hlavnı´mi nevy´hodami je vysoka´ porˇizovacı´ cena, nutnost zajistit dobrˇe prosˇkolene´ uzˇivatele a trvalou u´drzˇbu syste´mu. Tyto syste´my se uplatnˇujı´ prˇedevsˇ´ım u velky´ch a nadna´rodnı´ch organizacı´. Typicky´mi prˇedstaviteli takovy´chto syste´mu˚ jsou americky´ Siebel6 nebo evropsky´ Marketing Manager7 . 5
www.act.com www.siebel.com 7 www.update.com 6
9
ˇ I´NOSY CRM 1.4. PR
1.4
Prˇı´nosy CRM
Implementace o pouzˇitı´ CRM prˇina´sˇ´ı podniku vy´hody, ktere´ vedou v konecˇne´m du˚sledku ke zvysˇova´nı´ zisku. To ovsˇem nenı´ cı´l sledovany´ zavedenı´m CRM, ale pouze prˇ´ınos vyply´vajı´cı´ z jeho u´speˇsˇne´ho vyuzˇitı´. CRM prˇina´sˇ´ı meˇrˇitelne´ vy´hody a efekty, ktere´ se projevı´ azˇ po urcˇite´ dobeˇ, tak i bezprostrˇedneˇ po zavedenı´ CRM. Vy´cˇet neˇktery´ch vy´hod je uveden da´le [Wessling]: • Prospeˇsˇnost CRM vzhledem k rˇ´ızenı´ procesu˚ spocˇ´ıva´ v zefektivneˇnı´ jejich pru˚beˇhu a snı´zˇenı´ na´kladu˚ na neˇ. • S pouzˇitı´m CRM lze individua´lneˇ vycha´zet vstrˇ´ıc velke´mu mnozˇstvı´ za´kaznı´ku˚. Prospeˇsˇnost CRM spocˇ´ıva´ ve zkvalitneˇnı´ kontaktu˚ a vytvorˇenı´ veˇtsˇ´ıho mnozˇstvı´ vztahu˚ se za´kaznı´ky. Firma je schopna v dane´m cˇase obslouzˇit vı´ce za´kaznı´ku˚. • Dı´ky CRM je mozˇne´ investovat cˇas zı´skany´ zefektivneˇnı´m pru˚beˇhu procesu˚ do na´ru˚stu kvality vztahu˚ se za´kaznı´ky. Firma se mu˚zˇe veˇnovat vı´ce za´kaznı´ku˚m nezˇ vyrˇizova´nı´ administrativy. • Dobrou implementacı´ CRM je mozˇne´ se odlisˇit od konkurence, protozˇe podnik pouzˇ´ıvajı´cı´ CRM ma´ lepsˇ´ı vztahy se svy´mi za´kaznı´ky nezˇ podnik, ktery´ CRM nevyuzˇ´ıva´. Ve firma´ch, ktere´ jizˇ vyuzˇ´ıvajı´ CRM, cˇasto nenı´ vyuzˇit cely´ potencia´l CRM. Jednotliva´ dı´lcˇ´ı rˇesˇenı´ nejsou navza´jem sladeˇna a pevneˇ zakotvena jako soucˇa´st celkove´ strategicke´ koncepce. • Podniky vyuzˇ´ıvajı´cı´ CRM pu˚sobı´ loaja´lneˇ a vzbuzujı´ u svy´ch za´kaznı´ku˚ du˚veˇru, ktera´ je z hlediska dlouhodobe´ho vztahu se za´kaznı´kem cenneˇjsˇ´ı nezˇ kra´tkodobeˇ orientovane´ uvazˇova´nı´ zameˇrˇene´ na ru˚st obratu. Tito za´kaznı´ci prˇeda´vajı´ u´stneˇ sve´ dobre´ zkusˇenosti dalsˇ´ım osoba´m, ktere´ mohou chtı´t vyuzˇ´ıt sluzˇeb firmy. • Dı´ky CRM ma´ vedenı´ firmy neusta´le k dispozici vsˇechny informace potrˇebne´ k rˇ´ızenı´ kazˇdodennı´ho obchodova´nı´. Cˇ´ım drˇ´ıve jsou data k dispozici, tı´m rychleji mu˚zˇe management reagovat na zmeˇny trhu, vcˇas reagovat na vznikajı´cı´ proble´my, poprˇ. jim dokonce prˇedcha´zet. ´ daje, ktere´ do syste´mu • Pouzˇitı´m CRM stoupa´ u´rovenˇ komunikace uvnitrˇ firmy. U zada´vajı´ jedni pracovnı´ci mohou vyuzˇ´ıvat jinı´. Naprˇ. znalosti o za´kaznı´cı´ch zı´skane´ prˇi prodeji produktu˚ lze vyuzˇ´ıt prˇi pla´nova´nı´ dalsˇ´ıch individua´lnı´ch marketingovy´ch akcı´. • CRM vede k urychlenı´ pru˚beˇhu obchodnı´ch procesu˚. Jakmile je ve firmeˇ zaznamena´na jaka´koliv nova´ informace od za´kaznı´ka (objedna´vka, dotaz), je tato informace okamzˇiteˇ dostupna´ vsˇem. • Roste motivace pracovnı´ku˚ v du˚sledku snı´zˇenı´ mnozˇstvı´ administrativy. Pracovnı´ci zı´skajı´ podporu jejich kazˇdodennı´ pra´ce dı´ky technologiı´m a procesu˚m vyply´vajı´cı´ch z implementace CRM.
10
1.5. VLASTNOSTI TRHU A VY´VOJOVE´ TRENDY CRM
1.5
Vlastnosti trhu a vy´vojove´ trendy CRM
Celosveˇtovy´ trh CRM syste´mu˚ vykazuje v soucˇasnosti na´sledujı´cı´ vlastnosti [Chlebovsky]: • Pokracˇuje vy´razny´ ru˚st cele´ho odveˇtvı´ nastartovany´ na konci devadesa´ty´ch let. Je tak k dispozici prostor pro dalsˇ´ı bourˇlivy´ rozvoj CRM aplikacı´. • CRM syste´my se sta´vajı´ nezbytny´mi pro veˇtsˇinu odveˇtvı´ podnika´nı´. • V neˇktery´ch zemı´ch (prˇedevsˇ´ım v Evropeˇ) je ru˚st vyuzˇ´ıva´nı´ CRM syste´mu˚ brzˇdeˇn prˇ´ısnou legislativou vymezujı´cı´ ochranu osobnı´ch u´daju˚. Du˚lezˇite´ trendy ve vy´voji CRM syste´mu˚ lze shrnout takto: • Da´ se prˇedpokla´dat, zˇe trh s CRM syste´my poroste da´le. • Nejdu˚lezˇiteˇjsˇ´ım trendem je rozvoj CRM aplikacı´ postaveny´ch na ba´zi Internetu (vyuzˇ´ıvajı´ se standardnı´ na´stroje internetovy´ch prohlı´zˇecˇu˚): umozˇnˇuje rychly´, efektivnı´ a flexibilnı´ prˇ´ıstup k databa´zı´m syste´mu. • S prˇedchozı´m bodem souvisı´ rovneˇzˇ prosazujı´cı´ se nabı´dka CRM syste´mu˚ jako placene´ sluzˇby. Dodavatel CRM funguje za´rovenˇ jako jeho trvaly´ spra´vce zodpoveˇdny´ za funkcˇnost. Na jeho serverech jsou ulozˇeny vsˇechny databa´ze. Za´kaznı´k ma´ k databa´zı´m prˇ´ıstup prˇes Internet. Tato varianta vyzˇaduje vysokou mı´ru du˚veˇry za´kaznı´ka k dodavateli a za´rovenˇ spra´vci syste´mu (riziko zneuzˇitı´ dat). • Maxima´lnı´ otevrˇenost syste´mu˚ s mozˇnostı´ prova´za´nı´ s du˚lezˇity´mi aplikacemi (financˇnı´, komunikacˇnı´, editacˇnı´). • Vysˇsˇ´ı modula´rnost syste´mu˚. K modulu zajisˇt’ujı´cı´mu za´kladnı´ funkce je mozˇne´ prˇipojit dalsˇ´ı moduly zameˇrˇene´ na doplnˇkove´ souvisejı´cı´ aktivity (naprˇ. prˇ´ıme´ propojenı´ se syste´mem banky).
11
Kapitola 2
Srovna´nı´ existujı´cı´ch CRM syste´mu˚ Pro porovna´nı´ syste´mu˚ byla zvolena na´sledujı´cı´ krite´ria. V prvnı´ rˇadeˇ bylo zjisˇt’ova´no, jake´ entity se v syste´mu vyskytujı´ s prˇihle´dnutı´m k tomu, jake´ majı´ atributy a jak jsou tyto entity vyuzˇity pro podporu rˇ´ızenı´ cˇasu a zˇivotnı´ho cyklu za´kaznı´ka. Da´le bylo zohledneˇno, jaka´ byla zvolena architektura a technologie, jak je implementova´n syste´m pra´v, jak je syste´m rozsˇirˇitelny´, prˇizpu˚sobitelny´ jednotlivy´m uzˇivatelu˚m, jake´ ma´ zvla´sˇtnı´ funkce navı´c a do jake´ mı´ry je jeho ovla´da´nı´ intuitivnı´. V neposlednı´ rˇadeˇ byla sledova´na cena, ktera´ je u CRM syste´mu˚ te´to velikosti mnohdy velice du˚lezˇity´m krite´riem prˇi rozhodova´nı´ firmy, ma´-li si syste´m porˇ´ıdit. Pro srovna´nı´ byly vybra´ny trˇi produkty podporujı´cı´ operativnı´ CRM, urcˇene´ pro male´ a strˇednı´ firmy.
2.1
Easy CRM
Easy CRM je jednoducha´ aplikace se za´kladnı´mi vlastnostmi operativnı´ch CRM syste´mu˚. Vy´robcem a dodavatelem programu je firma Posys s.r.o.1 Easy CRM je ryze cˇesky´ produkt. V syste´mu se objevuje mnoho entit roztrˇ´ıdeˇny´ch do kategoriı´. Entita za´kaznı´k slouzˇ´ı pro evidenci subjektu˚ a organizacı´. Umozˇnˇuje evidovat klasicke´ atributy od na´zvu, prˇes adresu azˇ po kontaktnı´ u´daje. Naprˇ. dveˇ adresy, jednu pro sı´dlo a jednu pro korespondenci, azˇ dveˇ telefonnı´ cˇ´ısla cˇi trˇi emailove´ adresy. Zajı´mavy´ je atribut dluzˇnı´k a atribut saldo. Entita osoba slouzˇ´ı pro evidenci kontaktnı´ch osob. Kazˇdou osobu lze prˇirˇadit k organizaci, urcˇit jejich pozici, kontaktnı´ informace vzhledem k organizaci i kontaktnı´ informace domu˚. V kategorii aktivity je mnoho entit, ktere´ spolecˇneˇ slouzˇ´ı k pla´nova´nı´ cˇinnostı´ ve firmeˇ a za´znamu uskutecˇneˇny´ch cˇinnostı´ a plateb. V kategorii workflow jsou entity definice a pru˚vodka procesu slouzˇ´ıcı´ pro definova´nı´ procesu˚ ve firmeˇ. Entita znalosti/vzory slouzˇ´ı pro evidenci produktu˚ cˇi sluzˇeb, ktere´ firma nabı´zı´. Easy CRM lze provozovat na jednom pocˇ´ıtacˇi cˇi v sı´ti vı´ce pocˇ´ıtacˇu˚. K prˇ´ıstupu do syste´mu je nutno program nainstalovat na kazˇdy´ pocˇ´ıtacˇ zvla´sˇt’. Je postaven na architekturˇe klient-server. K jednotlivy´m za´znamu˚m lze prˇirˇadit strˇedisko (naprˇ. u´cˇta´rna). V programu lze pak nastavit kazˇde´mu uzˇivateli, jaka´ prˇ´ıstupova´ pra´va (cˇtenı´ formula´rˇe, cˇtenı´ prˇehledu, za´pis formula´rˇe) pro za´znamy patrˇ´ıcı´ k jednotlivy´m strˇedisku˚m ma´ mı´t. Uzˇivatele lze navı´c prˇirˇadit do uzˇivatelsky´ch rolı´, ke ktery´m lze opeˇt definovat prˇ´ıstupova´ pra´va. Program umozˇnˇuje u´pravu formula´rˇu˚ (zmeˇnu pojmenova´nı´ polı´cˇek, kontrolu hodnot zada´vany´ch ve formula´rˇ´ıch). Tyto u´pravy lze ale prova´deˇt pouze pomocı´ skriptu˚ naprogramovany´ch ve skriptovacı´m jazyce Visual Basic Script, proto potrˇebne´ u´pravy teˇzˇko zvla´dne obycˇejny´ uzˇivatel syste´mu. Za´kaznı´k ma´ k dispozici u kazˇde´ entity pouze omezeny´ pocˇet atributu˚, ktere´ si mu˚zˇe definovat sa´m: 4 textove´ atributy, 4 cˇ´ıselnı´ky, 2 1
www.posys.cz
12
2.2. NETOFFICE
datumove´ a 2 vztahove´ atributy. K jejich prˇejmenova´nı´ musı´ navı´c za´kaznı´k vynalozˇit nemale´ u´silı´ na pochopenı´ Visual Basic Scriptu. Cˇ´ıselnı´ky pouzˇite´ v programu mu˚zˇe za´kaznı´k v omezene´ mı´rˇe meˇnit. Mu˚zˇe do nich prˇida´vat dalsˇ´ı hodnoty, poprˇ. neˇktere´ hodnoty vypustit. Nemu˚zˇe vsˇak naprˇ. nastavit porˇadı´, v jake´m se majı´ v atributech, ke ktery´m jsou prˇirˇazeny, zobrazovat (setrˇ´ıdeˇnı´ podle abecedy nemusı´ vzˇdy vyhovovat). K dispozici ma´ i omezene´ mnozˇstvı´ cˇ´ıselnı´ku˚ (celkem 10), ktere´ si mu˚zˇe definovat sa´m. Program umozˇnˇuje jednodusˇe rozesı´lat hromadne´ emaily. Jeho soucˇa´stı´ uzˇ ale nenı´ rozhranı´ pro cˇtenı´ firemnı´ posˇty. K neˇktery´m za´znamu˚m lze prˇipojit soubory a ulozˇit je do databa´ze. Tı´m je zajisˇteˇna mozˇnost prˇ´ıstupu k nim i vzda´leneˇ, kdekoliv z Internetu. Program umı´ exportovat seznamy za´znamu˚ pouze do Microsoft Excelu. Mozˇnost importu dat do programu chybı´ zcela. Za poplatek ho ale dodavatel za´kaznı´kovi provede. Program je doda´va´n ve trˇech mozˇny´ch instalacı´ch: • Produkt Corporate stojı´ 49 950 Kcˇ2 a k tomu za kazˇde´ho uzˇivatele 2 950 Kcˇ navı´c. Pouze u tohoto produktu je podporova´no zaka´zkove´ doprogramova´nı´ novy´ch funkcˇnostı´. • Produkt Professional stojı´ 2 950 Kcˇ za kazˇde´ho uzˇivatele. Tento produkt je urcˇen pro firmy, ktere´ si chteˇjı´ bez cizı´ u´cˇasti urcˇovat postup nasazenı´ a zpu˚sob vyuzˇ´ıvanı´ Easy CRM. • Produkt Start je zdarma ke stazˇenı´ na webovy´ch stra´nka´ch programu po vyplneˇnı´ kra´tke´ho registracˇnı´ho formula´rˇe nebo k zakoupenı´ za 150 Kcˇ na CD. Obsahuje licenci pro provozova´nı´ Easy CRM Professional s maxima´lnı´m pocˇtem klientu˚ (organizacı´) 5. Jedna´ se o plnohodnotnou verzi programu se vsˇemi funkcemi. Omezen je pouze pocˇet za´znamu˚ v adresa´rˇi za´kaznı´ku˚ a pocˇet klientu˚. Program dovoluje pracovat jen asi se 20 za´kaznı´ky, kterˇ´ı jsou v programu zanesenı´. Rocˇnı´ podpora stojı´ 1 090 Kcˇ za kazˇde´ho uzˇivatele, jednora´zovy´ na´kup nove´ verze 390 Kcˇ, prˇida´nı´ uzˇivatele stojı´ 2 950 Kcˇ. Program poskytuje za´kladnı´ vlastnosti, ktere´ se od operativnı´ch CRM syste´mu˚ ocˇeka´vajı´. Ovla´da´nı´ programu nenı´ moc intuitivnı´. Za´kladnı´ menu v Easy CRM je tvorˇeno stromovou strukturou. Formula´rˇe jsou mnohdy tvorˇeny obrovsky´m pocˇtem polozˇek, ktere´ nejsou zrˇetelneˇ seskupeny do oblastı´ podle jejich souvislostı´. Prˇizpu˚sobitelnost nastavenı´ programu uzˇivatelu˚m je dostatecˇna´, i kdyzˇ na´rocˇna´ na zvla´dnutı´. Prˇizpu˚sobitelnost za´kaznı´kovi je velice omezena´. Zcela chybı´ zobrazenı´ formou kalenda´rˇe, ktere´ by se u aktivit velice hodilo. Pro potencia´lnı´ za´kaznı´ky je velice uzˇitecˇna´ mozˇnost program si zdarma sta´hnout a vyzkousˇet v plne´ funkcˇnosti jen s omezenı´m prˇi vytva´rˇenı´ novy´ch kontaktu˚.
2.2
NetOffice
NetOffice firmy OfficePlus s.r.o.3 je docela rozsa´hly´ operativnı´ CRM syste´m kombinovany´ s tzv. groupware, cozˇ je typ syste´mu slouzˇ´ıcı´ k podporˇe spolupra´ce a koordinace vnitro2 3
Ceny jsou uvedeny bez 19% DPH. www.officeplus.cz
13
2.2. NETOFFICE
podnikovy´ch cˇinnostı´. Soucˇa´stı´ groupware by´va´ obvykle kalenda´rˇ s mozˇnostı´ pla´novat uda´losti pro kazˇde´ho uzˇivatel zvla´sˇt’nebo pro vı´ce uzˇivatelu˚ za´rovenˇ. Entita firma slouzˇ´ı k evidenci u´daju˚ o firma´ch. Kromeˇ standardnı´ch u´daju˚ je mozˇne´ ke kazˇde´ firmeˇ prˇirˇadit azˇ trˇi adresy, jednu pro sı´dlo, zbyle´ dveˇ jsou urcˇeny pro fakturacˇnı´ a dodacı´ adresu. Pocˇet telefonnı´ch cˇ´ısel i emailovy´ch adres, ktere´ lze prˇirˇadit k firmeˇ, je omezen pouze na jedno cˇ´ıslo a jednu emailovou adresu. Entita osobnı´ kontakt slouzˇ´ı k evidenci pomeˇrneˇ rozsa´hle´ho pocˇtu u´daju˚ o osobeˇ. Kazˇdou osobu lze prˇirˇadit k urcˇite´ firmeˇ a prˇidat u´daje o jejı´m zarˇazenı´ v te´to firmeˇ. Kromeˇ firemnı´ch u´daju˚ jsou k dispozici i osobnı´ u´daje, ktere´ taky obsahujı´ adresu, telefon, emailovou adresu atd. Opeˇt zde figuruje fakturacˇnı´ a dodacı´ adresa. Entita uzˇivatel slouzˇ´ı k evidenci zameˇstnancu˚ firmy. Obsahuje te´meˇrˇ stejne´ u´daje jako entita osoba. Navı´c je zde mozˇnost prˇirˇadit k uzˇivateli skupiny, do ktery´ch patrˇ´ı. K rˇ´ızenı´ cˇasu slouzˇ´ı entity u´kol a jedna´nı´. Entita u´kol napoma´ha´ organizovat cˇas a spolupra´ci uzˇivatelu˚ pro jednotlive´ pracovnı´ u´koly. Entita jedna´nı´ umozˇnˇuje evidovat uskutecˇneˇna´ nebo pla´novana´ jedna´nı´. K popisu vsˇech produktu˚ a sluzˇeb, ktere´ firma za´kaznı´ku˚m mu˚zˇe poskytovat, slouzˇ´ı entity sluzˇba a produkt. Pro sledova´nı´ pohybu peneˇz ve firmeˇ a u´hrady pohleda´vek slouzˇ´ı entity faktura a objedna´vka. Entita objedna´vka obchodnı´mu oddeˇlenı´ pro komplexnı´ prˇehled o objednany´ch produktech a sluzˇba´ch. Ke sledova´nı´ zˇivotnı´ho cyklu za´kaznı´ka slouzˇ´ı entity prˇ´ılezˇitost, projekt a helpdesk. Entita prˇ´ılezˇitost slouzˇ´ı k evidenci projevene´ho za´jmu cˇi popta´vky za´kaznı´ku˚ cˇi potenciona´lnı´ch za´kaznı´ku˚. Eviduje naprˇ. u´daj o ocˇeka´vane´m zisku cˇi pravdeˇpodobnosti uskutecˇneˇnı´. Entita projekt slouzˇ´ı pro evidenci externı´ch i internı´ch projektu˚ firmy. K evidenci nahla´sˇeny´ch poruch, provoznı´ch proble´mu˚ a novy´ch pozˇadavku˚ za´kaznı´ku˚ slouzˇ´ı entita helpdesk. Entita vy´kaz pra´ce umozˇnˇuje evidovat u´daje o provedene´ pra´ci pracovnı´ku˚ firmy ve vztahu k dalsˇ´ım entita´m jako firma, osoba, projekt apod. Entita posˇtovnı´ kniha zajisˇt’uje evidenci dosˇle´ a odeslane´ papı´rove´ posˇty. Entita dokument slouzˇ´ı k evidenci metadat o firemnı´ch dokumentech. Syste´m pra´v je umozˇneˇn definicı´ uzˇivatelu˚ a skupin ve vztahu k prˇ´ıstupovy´m pra´vu˚m do jednotlivy´ch modulu˚. Rozsˇirˇitelnost syste´mu je velmi mala´. Dovoluje pouze spravovat cˇ´ıselnı´ky, ktere´ se v syste´mu pouzˇ´ıvajı´. Prˇi rˇ´ızenı´ cˇasu poma´ha´ kalenda´rˇ a prˇipomı´na´nı´ na nejblizˇsˇ´ı aktivitu prˇipojenou k prˇ´ılezˇitosti. Kalenda´rˇ slouzˇ´ı ke graficke´mu zobrazenı´ uda´lostı´ (jedna´nı´, u´koly, reservace) s barevneˇ odlisˇeny´m stavem uda´losti. Je rozdeˇlen na osobnı´ a hromadny´. Pohledy na kalenda´rˇ jsou dennı´, 5-dennı´, ty´dennı´, 14-dennı´ a meˇsı´cˇnı´. Hromadny´ kalenda´rˇ zprostrˇedkova´va´ prˇehled a editaci kalenda´rˇu˚ jiny´ch uzˇivatelu˚. Osobnı´ kalenda´rˇ zobrazuje prˇihla´sˇene´mu uzˇivateli jeho uda´losti pro dany´ den. Prˇ´ıstup k dokumentu˚m je realizova´n on-line prˇes webovy´ prohlı´zˇecˇ. Modul umozˇnˇuje editaci dokumentu, sta´hnutı´ a nahra´nı´ souboru. V syste´mu lze cˇ´ıst a archivovat elektronickou posˇtu z firemnı´ho posˇtovnı´ho serveru. Emaily lze zobrazovat u relevantnı´ch za´znamu˚. Umozˇnˇuje za´kladnı´ funkce klienta elektronicke´ posˇty. Syste´m lze rozsˇ´ırˇit o doplnˇkovou Windows aplikaci, ktera´ rozsˇirˇuje funkcˇnost naprˇ. o exporty do MS Outlook, editaci dokumentu˚ v modulu dokumenty, skenova´nı´, prˇipomı´na´nı´ u´kolu˚ a jedna´nı´ vy-
14
2.3. INTOUCH CRM
skakovacı´m oknem Dodavatel syste´mu Cˇeske´ radiokomunikace4 nabı´zı´ tento produkt ve dvou verzı´ch: • Verze NetOffice Premium je urcˇena pro provozova´nı´ na straneˇ poskytovatele a nikoliv prˇ´ımo ve firmeˇ. Uzavrˇenı´ smlouvy na jeden rok pro deset uzˇivatelu˚ vyjde na 46 000 Kcˇ. Cˇa´stka je slozˇena ze zrˇizovacı´ho poplatku 10 000 Kcˇ, meˇsı´cˇnı´ spra´vy serveru za 1 000 Kcˇ a meˇsı´cˇnı´ho poplatku za kazˇde´ho uzˇivatele 200 Kcˇ. • Verze NetOffice Extra LAN je urcˇena pro provozova´nı´ syste´mu ve firmeˇ. Stejna´ smlouva jako v prˇedchozı´m prˇ´ıpadeˇ je jesˇteˇ o 5 000 Kcˇ vysˇsˇ´ı kvu˚li zrˇizovacı´mu poplatku – implementace do LAN za´kaznı´ka. Prˇi vysˇsˇ´ım pocˇtu uzˇivatelu˚ se u´meˇrneˇ snizˇuje meˇsı´cˇnı´ poplatek za jednotlive´ uzˇivatele. Prˇi uzavrˇenı´ smlouvy na delsˇ´ı dobu se snizˇuje zrˇizovacı´ poplatek. Prodlouzˇenı´ smlouvy je zadarmo. Zu˚sta´vajı´ pouze meˇsı´cˇnı´ poplatky.
2.3
InTouch CRM
InTouch CRM5 je steˇzˇejnı´ produkt firmy ANNECA s.r.o.6 Jde o operativnı´ webovy´ CRM syste´m. V kategorii adresa´rˇ se nacha´zejı´ entity kontakt, osoba, uzˇivatel. Entita kontakt slouzˇ´ı k evidenci firem. Dostupne´ jsou standardneˇ dveˇ adresy (jedna pro sı´dlo a jedna korespondencˇnı´), 3 telefony dveˇ emailove´ adresy. Ke kontaktu lze prˇirˇadit jesˇteˇ dalsˇ´ı adresy, ktery´ch mu˚zˇe by´t neomezeny´ pocˇet. Tyto adresy lze vyuzˇ´ıt naprˇ. pro zaznamena´nı´ adres pobocˇek. Entita osoba slouzˇ´ı k evidenci u´daju˚ o osoba´ch. K osobeˇ lze prˇirˇadit azˇ 3 telefony a 3 emailove´ adresy, ale zcela chybı´ mozˇnost vyplneˇnı´ adresy. Osobu lze prˇirˇadit ke kontaktu. U obou entit jsou opravdu jenom ty nejdu˚lezˇiteˇjsˇ´ı atributy. Entita uzˇivatel slouzˇ´ı k evidenci uzˇivatelu˚ a prˇedevsˇ´ım nastavova´nı´ prˇ´ıstupovy´ch pra´v. Ke sledova´nı´ zˇivotnı´ho cyklu za´kaznı´ka slouzˇ´ı entity z kategorie obchodova´nı´ (prˇ´ılezˇitost, nabı´dka, objedna´vka) a entita komunikace. Entita prˇ´ılezˇitost slouzˇ´ı k zaznamena´nı´ projevene´ho za´jmu cˇi popta´vky za´kaznı´ku˚ cˇi potenciona´lnı´ch za´kaznı´ku˚. Entita nabı´dka slouzˇ´ı k zaznamena´nı´ uskutecˇneˇne´ cˇi pla´novane´ nabı´dky neˇjake´ho produktu cˇi sluzˇby pro konkre´tnı´ho za´kaznı´ka. Entita objedna´vka slouzˇ´ı k evidenci produktu˚ a sluzˇeb, ktere´ byly doda´ny konkre´tnı´mu za´kaznı´kovi. Ke kazˇde´ polozˇce lze prˇipojit jednoho cˇi vı´ce uzˇivatelu˚ a skupin uzˇivatelu˚, kterˇ´ı danou polozˇku vyrˇizujı´, a jednoho uzˇivatele jako obchodnı´ka. Kazˇda´ polozˇka Entita komunikace slouzˇ´ı k zaznamena´nı´ vesˇkere´ komunikace se za´kaznı´kem. Samozrˇejmostı´ je mozˇnost nava´zat tyto entity na kontakty, u nichzˇ je mozˇne´ zobrazit tyto souvisejı´cı´ za´znamy. K rˇ´ızenı´ cˇasu slouzˇ´ı entita u´kol a uda´lost, k nimzˇ lze prˇipojit kontakt, prˇ´ılezˇitost cˇi objedna´vku.Prˇi rˇ´ızenı´ cˇasu poma´ha´ kalenda´rˇ, ktery´ slouzˇ´ı ke graficke´mu zobrazenı´ uda´lostı´, objedna´vek, prˇ´ılezˇitostı´ a polozˇek komunikace. Umozˇnˇuje dennı´, ty´dennı´ a meˇsı´cˇnı´ pohled. Uzˇivatel ma´ mozˇnost videˇt kromeˇ sve´ho kalenda´rˇe, v neˇmzˇ se zobrazujı´ 4
www.bluetone.cz www.intouch-crm.cz 6 www.anneca.cz 5
15
2.3. INTOUCH CRM
jeho uda´losti na aktua´lnı´ den, take´ kalenda´rˇe vsˇech svy´ch podrˇ´ızeny´ch zameˇstnancu˚ cˇi kalenda´rˇe uzˇivatelu˚, kterˇ´ı mu v syste´mu povolili videˇt svu˚j kalenda´rˇ. Da´le se stra´nce s kalenda´rˇem zobrazujı´ polozˇky k vyrˇ´ızenı´, jako napla´novane´ uda´losti, nesplneˇne´ u´koly, cˇi polozˇky z kategorie obchodova´nı´ cˇi komunikace. Entita vy´kaz pra´ce slouzˇ´ı k zaznamena´nı´ provedene´ho pracovnı´ho u´konu zameˇstnancem firmy ve vztahu k souvisejı´cı´m entita´m, jako je kontakt, prˇ´ılezˇitost, u´kol a apod. Entita produkt slouzˇ´ı pro evidenci produktu˚, ktere´ firma nabı´zı´. Produkty lze trˇ´ıdit do kategoriı´ a jejich mnozˇstvı´ dokonce prˇirˇazovat jednotlivy´m skladu˚m. Syste´m lze rozsˇirˇovat o nove´ atributy u vybrany´ch entit (kontakt, prˇ´ılezˇitost, komunikace, nabı´dka). Prˇidane´ atributy mohou by´t neˇkolika typu˚ (naprˇ. text, cˇ´ıslo, datum a prˇ´ıznak). Ve formula´rˇ´ıch dany´ch entit se noveˇ prˇidane´ atributy nezobrazı´ prˇ´ımo, s vy´jimkou komunikace. Je zobrazen pouze odkaz na specia´lnı´ formula´rˇ obsahujı´cı´ noveˇ prˇidane´ atributy. To velice snizˇuje pohodlne´ vyuzˇitı´ noveˇ prˇidany´ch atributu˚. Da´le lze meˇnit hodnoty cˇ´ıselnı´ku˚. Syste´m pra´v se omezuje pouze na mozˇnost vybrany´m uzˇivatelu˚m prˇideˇlit urcˇitou u´rovenˇ prˇ´ıstupovy´ch pra´v (nevidı´, vidı´, vidı´ omezeneˇ, upravuje, mu˚zˇe mazat) k vybrany´m entita´m v syste´mu (kontakt, prˇ´ılezˇitost, objedna´vka, komunikace, faktura) v za´vislosti na tom, vlastnı´-li uzˇivatel danou polozˇku cˇi nikoliv. Da´le je umozˇneˇno prˇideˇlit uzˇivatelu˚m dodatecˇna´ pra´va na neˇktere´ akce v syste´mu (naprˇ. prˇihla´sˇenı´ cˇi administraci). Soucˇa´stı´ syste´mu je rovneˇzˇ plnohodnotny´ emailovy´ klient, ktery´ umozˇnˇuje cˇtenı´ a rozesı´la´nı´ firemnı´ posˇty. InTouch CRM je nabı´zen ve trˇech varianta´ch: • InTouch CRM Start je zcela zdarma, ale je limitova´n pocˇet za´znamu˚ v databa´zi, limitova´n pocˇet uzˇivatelu˚ na 3 a chybı´ mozˇnost za´kaznicky´ch u´prav. • InTouch CRM Profi. Chybı´ mozˇnost za´kaznicky´ch u´prav. Porˇ´ızenı´ te´to varianty pro deset uzˇivatelu˚ vyjde na 34 000 Kcˇ. Za kazˇde´ho uzˇivatele 3 400 Kcˇ. Rocˇnı´ aktualizace pro deset uzˇivatelu˚ vyjde na 8 500 Kcˇ. Prˇi zakoupenı´ licence pro minima´lnı´ pocˇet uzˇivatelu˚ (dva) vyjde porˇ´ızenı´ syste´mu na 9 600 Kcˇ. • Ceny varianty InTouch CRM Enterprise jsou za´visle´ na na´rocˇnosti implementace u za´kaznı´ka. Cena pra´ce se pohybuje kolem 750 Kcˇ za hodinu v za´vislosti na charakteru pozˇadavku˚.
16
Kapitola 3
Vize 3.1
O firmeˇ
Zadavatelem je firma Rywa Software o neˇkolika zameˇstnancı´ch se sı´dlem v Brneˇ. Zaby´va´ se poskytova´nı´m bezdra´tove´ho prˇipojenı´ k Internetu. Syste´m chteˇjı´ pouzˇ´ıvat ve sve´ firmeˇ, ale take´ proda´vat do dalsˇ´ıch firem. Syste´m potrˇebujı´ pro vlastnı´ potrˇebu pro evidenci firem a osob, jimzˇ poskytujı´ prˇipojenı´ k Internetu, k pla´nova´nı´ cˇinnostı´ ve firmeˇ pomocı´ zada´va´nı´ u´kolu˚ a uda´lostı´, evidenci projektu˚ a provedeny´ch plateb. Syste´m chteˇjı´ instalovat na servery prˇ´ımo ve firma´ch i poskytovat vzda´leneˇ na sve´m serveru. Vyvı´jet vlastnı´ syste´m se rozhodli na za´kladeˇ toho, zˇe ho jednak potrˇebujı´, ale za´rovenˇ si nechteˇjı´ koupit cizı´ drahe´ rˇesˇenı´, a jednak proto, zˇe se domnı´vajı´, zˇe existuje sta´le jesˇteˇ dostatecˇny´ prostor pro vyplneˇnı´ mezery na trhu kvalitnı´m, maly´m firma´m cenoveˇ dostupny´m CRM rˇesˇenı´m. Od syste´mu si slibujı´, zˇe jim umozˇnı´ zlepsˇit evidenci za´kaznı´ku˚ a prˇinese prˇehled v kontaktech. Doposud ma´ kontakty na za´kaznı´ky ulozˇeny kazˇdy´ pracovnı´k zvla´sˇt’ na ru˚zny´ch mı´stech. Existuje centra´lnı´ databa´ze v sesˇitu aplikace Microsoft Excel, kterou obcˇas aktualizujı´, a proto uchova´vane´ u´daje jsou mnohdy nekonzistentnı´. Kdyzˇ se jim ozve za´kaznı´k se stı´zˇnostı´ nebo projevı´ za´jem o sluzˇby (telefonem, emailem), nemajı´ mozˇnost tuto skutecˇnost neˇkam zaznamenat a urcˇit, kdo a kdy ji bude rˇesˇit. Obcˇas se proto stalo, zˇe zapomneˇli na neˇkterou stı´zˇnost nebo dokonce ztratili za´kaznı´ka, protozˇe ho dostatecˇneˇ brzy neoslovili s konkre´tnı´ nabı´dkou. Dı´ky syste´mu chteˇjı´ tedy snı´zˇ´ı riziko, zˇe se na neˇco zapomene, a zkra´tit dobu reakce na pozˇadavky za´kaznı´ku˚. Kdyzˇ dokoncˇ´ı instalaci u za´kaznı´ka, nemajı´ mozˇnost neˇkam zaznamenat u´daje o neˇm a o jeho prˇipojenı´ (naprˇ. MAC cˇi IP adresu). Prˇi dosavadnı´ papı´rkove´ formeˇ se tyto u´daje lehce ztratily. U za´kaznı´ka majı´ ale vzˇdy pocˇ´ıtacˇ s prˇipojenı´m k Internetu, a proto potrˇebujı´ syste´m, ktery´ nebude vyzˇadovat instalaci neˇjake´ho dodatecˇne´ho programu a bude mozˇne´ ho spustit prˇ´ımo v prohlı´zˇecˇi. Potrˇebne´ u´daje o za´kaznı´kovi si pak rovnou zanesou do syste´mu. Syste´m by jim tedy meˇl usnadnit evidenci u´daju˚ o za´kaznı´cı´ch.
3.2
Rozbor situace na trhu
V poslednı´ch letech se na cˇeske´m trhu objevily desı´tky CRM syste´mu˚. Hodneˇ z nich ale nenı´ cˇeske´ho pu˚vodu. Jsou pouze lokalizova´ny do nasˇeho prostrˇedı´. Prˇestozˇe se jejich distribucı´ u na´s zaby´vajı´ neˇktere´ firmy, podpora teˇchto syste´mu˚ je cˇasto nedostatecˇna´ (obcˇas dokonce chybı´ cˇeska´ verze webovy´ch stra´nek produktu). Za´sadnı´ nevy´hodou dnesˇnı´ch CRM syste´mu˚ je jejich prodejnı´ cena, ktera´ se i u teˇch nejlevneˇjsˇ´ıch produktu˚ pohybuje v desetitisı´cı´ch korun. Na porˇ´ızenı´ sofistikovaneˇjsˇ´ıch produktu˚ je nutne´ vynalozˇit vı´ce nezˇ sto tisı´c korun.
17
3.3. CI´L
Dalsˇ´ı du˚vod, procˇ nejsou uzˇivatele´ spokojeni se sta´vajı´cı´mi CRM syste´my, je jejich slozˇitost a neprˇehlednost. Ovla´da´nı´ existujı´cı´ch syste´mu˚ nenı´ dostatecˇneˇ intuitivnı´ a mnohdy je zbytecˇneˇ moc komplikovane´ a zdlouhave´ a klade na uzˇivatele vysoke´ na´roky. Neprˇehlednost je zpu˚sobovana´ naprˇ. menu zalozˇeny´mi na stromove´ strukturˇe a kategorizacı´ za´znamu˚ (naprˇ. firma musı´ by´t zarˇazena do jedne´ z kategoriı´: partner, za´kaznı´k apod., mı´sto toho, aby prˇ´ıslusˇnost firmy do konkre´tnı´ kategorie byla zaznamena´na formou atributu, podle neˇhozˇ by bylo mozˇne´ firmy filtrovat). Nezˇ uzˇivatel vyhleda´ nebo mu˚zˇe vu˚bec zalozˇit neˇjaky´ za´znam, musı´ prˇemy´sˇlet, kam se ve stromove´ strukturˇe zanorˇ´ı cˇi kterou kategorii zvolı´, pak se tam musı´ proklikat a teprve potom mu˚zˇe vykonat pozˇadovanou akci. Formula´rˇe pro editaci za´znamu˚ a jejich zobrazova´nı´ jsou cˇasto neprˇehledne´. Souvisejı´cı´ u´daje nejsou pohromadeˇ nebo nenı´ nijak vyznacˇena jejich prˇ´ıbuznost. Uzˇivatele´ nejsou spokojeni ani s tı´m, zˇe soucˇasne´ CRM syste´my postra´dajı´ rozhranı´ pro spra´vu elektronicke´ posˇty. Na spra´vu emailu˚ potrˇebujı´ externı´ program a nemohou prˇ´ıchozı´ zpra´vy prova´zat se za´znamy ulozˇeny´mi v syste´mu (naprˇ. prˇipojit email ke konkre´tnı´ osobeˇ), aby pozdeˇji meˇli mozˇnost zobrazit si vsˇechnu komunikaci s dany´m subjektem. Firma´m nevyhovuje mala´ prˇizpu˚sobitelnost CRM syste´mu˚ podnikove´mu prostrˇedı´. Kazˇda´ firma chce totizˇ evidovat neˇco navı´c (ve firmeˇ Rywa Software potrˇebujı´ naprˇ. evidovat MAC a IP adresy za´kaznı´ku˚ a datum jejich prˇipojenı´).
3.3
Cı´l
Prvotnı´m cı´lem je vytvorˇenı´ CRM syste´mu, ktery´ umozˇnı´ zadavateli jednoduchou evidenci jeho za´kaznı´ku˚. Prˇechod k tomuto syste´mu z dosavadnı´ formy, ktera´ je zalozˇena na proste´m ukla´danı´ informacı´ o za´kaznı´cı´ch do tabulky v Excelu v kombinaci s poznamena´va´nı´m na papı´rky a pozdeˇjsˇ´ım prˇepisova´nı´m do te´to tabulky, by meˇl snı´zˇit riziko, zˇe se ztratı´ kontaktnı´ u´daje o za´kaznı´kovi nebo se zapomene na neˇktery´ pozˇadavek za´kaznı´ka. Druhotny´m cı´lem je vytvorˇit CRM syste´m cenoveˇ dostupny´ maly´m firma´m o neˇkolika zameˇstnancı´ch azˇ desı´tka´ch zameˇstnancu˚, umozˇnˇujı´cı´ evidenci za´kladnı´ch u´daju˚ o za´kaznı´cı´ch firmy, sledova´nı´ zˇivotnı´ho cyklu za´kaznı´ka a rˇ´ızenı´ cˇasu, s intuitivnı´m a jednoduchy´m ovla´da´nı´m, snadno prˇizpu˚sobitelny´ konkre´tnı´m za´kaznı´ku˚m, syste´m, ke ktere´mu by bylo mozˇne´ prˇistupovat prˇes webovy´ prohlı´zˇecˇ a byl platformeˇ neza´visly´.
18
Kapitola 4
Specifikace pozˇadavku˚ V u´vodnı´ch etapa´ch vy´voje syste´mu je nutne´ prˇejı´t od intuitivnı´ch prˇedstav a u´myslu˚ k pomeˇrneˇ prˇesne´ formulaci pozˇadavku˚, tj. vymezenı´ toho, co se bude nakonec realizovat. Chyby vznikle´ v te´to etapeˇ mı´vajı´ nejveˇtsˇ´ı podı´l na neu´speˇchu projektu, protozˇe jejich odstraneˇnı´ je velice na´kladne´. Nenı´ vy´hodne´, kdyzˇ specifikaci prova´dı´ uzˇivatel sa´m, protozˇe cˇasto jsou jeho pozˇadavky zbytecˇneˇ prˇehnane´ (zahrnuje i pozˇadavky me´neˇ potrˇebne´ nebo dokonce neuzˇitecˇne´), nedoka´zˇe dobrˇe posoudit, co je pomocı´ sta´vajı´cı´ch technologiı´ mozˇne´ realizovat a co jizˇ nikoliv, nezrˇ´ıdka mu chybı´ komplexnı´ znalosti o fungova´nı´ vlastnı´ho podniku, nema´ cit pro to, co lze snadno realizovat, hrozı´, zˇe budou opomenuti neˇkterˇ´ı uzˇivatele´ syste´mu. Na druhou stranu prˇi specifikaci pozˇadavku˚ je potrˇeba oveˇrˇovat u budoucı´ch uzˇivatelu˚, zda to, co navrhujeme, pokry´va´ jejich potrˇeby. Specifikace pozˇadavku˚ musı´ by´t tedy spolecˇny´m dı´lem budoucı´ch uzˇivatelu˚ a dodavatele syste´mu. Jako jazyk specifikace pozˇadavku˚ se nejvı´ce osveˇdcˇuje forma odborne´ho cˇla´nku, tj. forma pouzˇ´ıvana´ ve veˇdecky´ch a technicky´ch publikacı´ch. Prˇ´ılisˇ formalizovany´ jazyk mu˚zˇe by´t pro uzˇivatele totizˇ nesrozumitelny´ a prˇi pouzˇitı´ neodborne´ho jazyka by dokument obsahoval nejasne´, neprˇesne´ a vı´ceznacˇne´ formulace. Prˇi tvorbeˇ dokumentu specifikace pozˇadavku˚ bylo vycha´zeno z cˇleneˇnı´ uvedenı´m v [Kral].
4.1
Shrnutı´ cı´lu˚
Hlavnı´m u´kolem syste´mu je poskytnout zameˇstnancu˚m firmy mozˇnost prˇehledne´ evidence informacı´ o jejı´ch za´kaznı´cı´ch a obchodnı´ch partnerech (kontaktnı´ a osobnı´ u´daje, za´znam komunikace, na´kupnı´ chova´nı´) a pla´nova´nı´ cˇinnostı´ ve firmeˇ (zada´va´nı´ u´kolu˚ a evidence uda´lostı´). K tomu budou slouzˇit za´znamy typu firma, osoba, projekt, obchodnı´ prˇ´ıpad, u´kol, uda´lost. Vsˇe v propojenı´ se souvisejı´cı´mi za´znamy. Da´le ma´ by´t syste´m prˇizpu˚sobitelny´ prostrˇedı´m ru˚zny´ch firem tı´m, zˇe bude mozˇne´ snadno v pru˚beˇhu pouzˇ´ıva´nı´ syste´mu prˇida´vat nove´ atributy k jednotlivy´m typu˚m za´znamu˚ a vytva´rˇet nove´ typy za´znamu˚.
4.2
Vymezenı´ uzˇivatelu˚ a zpu˚sobu vyuzˇitı´ produktu
Uzˇivateli syste´mu budou vsˇichni zameˇstnanci firmy, v nı´zˇ bude syste´m nasazen, vcˇetneˇ lidı´ z vedenı´ firmy. Vsˇichni budou mı´t mozˇnost zada´vat u´daje do syste´mu, tyto u´daje cˇ´ıst a editovat podle toho jaka´ prˇ´ıstupova´ pra´va budou mı´t prˇideˇlena. Na prˇechodnou dobu bude umozˇneˇn prˇ´ıstup do syste´mu i briga´dnı´ku˚m cˇi externı´m spolupracovnı´ku˚m firmy. Syste´m bude slouzˇit k podporˇe operativnı´ch procesu˚ ve firmeˇ. Bude vyuzˇ´ıva´n prˇedevsˇ´ım ke shromazˇd’ova´nı´ informacı´ o za´kaznı´cı´ch firmy, o projektech, ktere´ byly pro 19
4.3. PERSPEKTIVY REALIZOVANE´HO SYSTE´MU
neˇ uskutecˇneˇny, cˇi pouze napla´nova´ny. Na za´kladeˇ telefona´tu, dopisu elektronickou cˇi klasickou posˇtou, nebo osobnı´ho setka´nı´ zameˇstnanci zanesou do syste´mu u´daje o potenciona´lnı´m za´kaznı´kovi. Pokud bude se za´kaznı´kem nava´za´n uzˇsˇ´ı vztah, budou do syste´mu vkla´da´ny informace o probı´hajı´cı´ch projektech pro dane´ho za´kaznı´ka. Vedoucı´ pracovnı´ci podle pru˚beˇhu a pocˇtu projektu˚ budou mı´t mozˇnost rozhodnout o tom, jak cenny´ je za´kaznı´k pro firmu a na jake´ projekty by se meˇla firma zameˇrˇit. Vedoucı´ pracovnı´ci da´le budou sledovat aktivitu jednotlivy´ch zameˇstnancu˚. Zameˇstnanci budou zada´vat pomocı´ syste´mu u´koly jiny´m zameˇstnancu˚m, veˇtsˇinou svy´m podrˇ´ızeny´m. Zameˇstnanci budou mı´t mozˇnost zada´vat u´koly i sami sobeˇ. Tyto osobnı´ u´koly neuvidı´ nikdo jiny´ kromeˇ nich. Bude umozˇneˇno sledovat pru˚beˇh plneˇnı´ u´kolu˚, tı´m jaka´ procentua´lnı´ cˇa´st je z u´kolu prˇiblizˇneˇ hotova. Administra´torˇi syste´mu budou mı´t mozˇnost prˇida´vat nove´ atributy ke vsˇem typu˚m za´znamu˚. U pu˚vodnı´ch i novy´ch atributu˚ budou mı´t mozˇnost meˇnit jejich na´zev, urcˇit, zda-li budou povinne´ prˇi vyplnˇova´nı´ formula´rˇe, a zpu˚sob zobrazova´nı´ ve formula´rˇ´ıch tı´m, zˇe upravı´ pu˚vodnı´ nebo vytvorˇ´ı nove´ skupiny atributu˚, zmeˇnı´ porˇadı´ atributu˚ v ra´mci skupiny a porˇadı´ skupin ve formula´rˇi. Vytva´rˇene´ atributy mohou by´t ru˚zny´ch typu˚. Nemusı´ se jednat pouze o rˇeteˇzec znaku˚ nebo cˇ´ıslo, ale rovneˇzˇ vazbu na jiny´ typ za´znamu˚. Administra´torˇi budou mı´t mozˇnost vytva´rˇet nove´ typy za´znamu˚. K nim pak bude opeˇt mozˇne´ stejny´m zpu˚sobem prˇirˇadit nove´ atributy jako u existujı´cı´ch typu˚ za´znamu˚ a tyto atributy pojmenovat, urcˇit jejich typ, zarˇadit je do skupin a stanovit mı´sto pro zobrazova´nı´ ve formula´rˇ´ıch. Administra´torˇi budou vytva´rˇet, meˇnit a mazat uzˇivatelske´ u´cˇty. Da´le budou vytva´rˇet skupiny uzˇivatelu˚ a prˇirˇazovat uzˇivatele do prˇ´ıslusˇny´ch skupin. Budou prˇideˇlovat prˇ´ıstupova´ pra´va k za´znamu˚m skupina´m uzˇivatelu˚ nebo jednotlivy´m uzˇivatelu˚m. Vsˇichni uzˇivatele´ syste´mu budou mı´t mozˇnost nastavit si neza´visle na jiny´ch uzˇivatelı´ch svu˚j vlastnı´ zpu˚sob zobrazova´nı´ prˇehledu za´znamu˚. Definovat zobrazovane´ sloupce, jejich porˇadı´ a setrˇ´ıdeˇnı´. Vsˇechny u´daje uchova´vane´ v syste´mu budou dostupne´ v pocˇ´ıtacˇ´ıch prˇipojeny´ch do firemnı´ sı´teˇ. Pokud bude mı´t firma za´jem, bude mozˇne´ zprˇ´ıstupnit syste´m nejen z vnitrˇnı´ sı´teˇ ale i z Internetu. Tı´mto se vy´razneˇ zvy´sˇ´ı flexibilita zameˇstnancu˚, protozˇe budou mı´t mozˇnost zada´vat nebo zı´ska´vat u´daje o za´kaznı´kovi prˇ´ımo u neˇj nebo u sebe doma. Dı´ky tomu mohou by´t informace uchova´vane´ v syste´mu rychle aktualizovane´.
4.3
Perspektivy realizovane´ho syste´mu
Syste´m je prima´rneˇ urcˇen pro pouzˇitı´ ve firmeˇ zadavatele. Zadavatel ale pocˇ´ıta´ s tı´m, zˇe syste´m bude proda´vat dalsˇ´ım firma´m male´ velikosti. Proto syste´m musı´ by´t dostatecˇneˇ prˇizpu˚sobitelny´ prostrˇedı´m jiny´ch firem a nemeˇl by by´t za´visly´ pouze na prostrˇedı´ zadavatele. Syste´m bude pouzˇ´ıva´n po dobu neurcˇitou od prˇeda´nı´. Po prˇeda´nı´ bude vy´voj syste´mu pokracˇovat a po u´speˇsˇne´ implementaci vsˇech za´kladnı´ch funkcı´ a jejich dostatecˇne´m zdokonalenı´ bude na´sledneˇ proda´va´n. Autor syste´mu bude mı´t trˇetinovy´ podı´l z kazˇde´ prodane´ licence.
20
´ KLADNI´ FUNKCE 4.4. ZA
4.4
Za´kladnı´ funkce
Pro vymezenı´ za´kladnı´ch funkcı´ syste´mu byly pouzˇity prˇ´ıpady uzˇitı´ (use case) jazyka UML1 (unified modeling language, unifikovany´ modelovacı´ jazyk). Prˇ´ıpady uzˇitı´ jsou zachyceny v graficke´ a textove´ podobeˇ. V jazyce UML je kodifikova´n pouze diagram prˇ´ıpadu˚ uzˇitı´. V diagramech prˇ´ıpadu˚ uzˇitı´ se mohou vyskytovat na´sledujı´cı´ prvky [Ambler]: • Hranice syste´mu je zobrazena jako obde´lnı´k. • Prˇ´ıpad uzˇitı´ modeluje urcˇitou ucelenou funkci syste´mu. Je zobrazen jako ova´l s na´zvem prˇ´ıpadu. Prˇ´ıpady uzˇitı´ se nacha´zejı´ uvnitrˇ hranic syste´mu. ´ cˇastnı´ci (akte´rˇi) jsou entity vneˇ hranic syste´mu, ktere´ interagujı´ se syste´mem. Mode• U ´ cˇastnı´kem mu˚zˇe by´t i externı´ syste´m cˇi cˇas. By´vajı´ zobrazova´ny symbolem lujı´ role. U pana´cˇka a spojeny cˇa´rou s prˇ´ıpady uzˇitı´, s nimizˇ u´cˇastnı´ci interagujı´. • Vztah mezi dveˇma prˇ´ıpady uzˇitı´ mu˚zˇe by´t typu rozsˇirˇuje (extends) nebo uzˇ´ıva´ (uses). By´va´ zachycen cˇa´rou se sˇipkou spojujı´cı´ oba prˇ´ıpady uzˇitı´ a popsa´n slu˚vkem extends nebo uses, podle toho jaky´ vztah modeluje. Prˇ´ıpad uzˇitı´, ktery´ uzˇ´ıva´ jiny´ prˇ´ıpad uzˇitı´, je na neˇm za´visly´, nenı´ bez neˇj kompletnı´. Prˇ´ıpad uzˇitı´, ktery´ rozsˇirˇuje jiny´ prˇ´ıpad uzˇitı´, mu˚zˇe by´t do neˇj vlozˇen prˇi splneˇnı´ urcˇity´ch podmı´nek. Diagram na obra´zku 4.1 ukazuje prˇ´ıpady uzˇitı´ pro obycˇejne´ho uzˇivatele syste´mu. Administra´tor syste´mu je specia´lnı´m prˇ´ıpadem uzˇivatele a ma´ tedy dostupne´ tyte´zˇ prˇ´ıpady uzˇitı´. Navı´c ma´ dostupny´ i prˇ´ıpad uzˇitı´ pro prˇepnutı´ rozhranı´, cˇ´ımzˇ zı´ska´ navı´c mozˇnost spravovat syste´m pomocı´ syste´movy´ch za´znamu˚ typu uzˇivatele´, prˇ´ıstupova´ pra´va, entity, skupiny atributu˚, atributy a hodnoty atributu˚. Navı´c zı´ska´ mozˇnost importovat do syste´mu nove´ za´znamy pomocı´ XML. Vstupnı´ podmı´nkou pro vsˇechny prˇ´ıpady uzˇitı´ je, zˇe uzˇivatel musı´ by´t prˇihla´sˇen do syste´mu. Zobrazenı´ prˇehledu za´znamu˚ Uzˇivatel je u´speˇsˇneˇ prˇihla´sˇen do syste´mu. Kdykoliv mu˚zˇe zvolit zobrazenı´ za´znamu˚ urcˇite´ho typu. Pokud syste´m obsahuje neˇjake´ odpovı´dajı´cı´ za´znamy, na jejichzˇ zobrazenı´ ma´ prˇihla´sˇeny´ uzˇivatel dostatecˇna´ opra´vneˇnı´, jsou uzˇivateli zobrazeny podle jeho osobnı´ho nastavenı´, jinak je uzˇivatel upozorneˇn, zˇe neexistuje zˇa´dny´ vyhovujı´cı´ za´znam. Zobrazenı´ detailu za´znamu Uzˇivatel se nacha´zı´ v prˇehledu za´znamu˚ a zvolı´ zobrazenı´ detailu urcˇite´ho za´znamu. Syste´m uzˇivateli zobrazı´ detail za´znamu, pokud ma´ uzˇivatel dostatecˇna´ opra´vneˇnı´ na jeho zobrazenı´ a pokud za´znam nebyl ze syste´mu pra´veˇ odstraneˇn. Jinak je uzˇivatel upozorneˇn na vzniklou situaci. Vyhleda´va´nı´ za´znamu˚ Uzˇivatel se nacha´zı´ v prˇehledu za´znamu˚ a zvolı´ volbu setrˇ´ıdeˇnı´ podle neˇktere´ho ze zobrazeny´ch sloupcu˚. Pokud syste´m podporuje vyhleda´va´nı´ v dane´m sloupci, je uzˇivateli nabı´dnuta mozˇnost v dane´m sloupci vyhleda´vat. Uzˇivatel zada´ krite´ria pro vyhleda´va´nı´ a zvolı´ volbu vyhleda´vat. Syste´m mu zobrazı´ prˇehled za´znamu˚ splnˇujı´cı´ch krite´ria vyhleda´va´nı´, pokud jim vyhovuje alesponˇ jeden za´znam, jinak je uzˇivatel upozorneˇn, zˇe neexistuje zˇa´dny´ vyhovujı´cı´ za´znam. 1
www.uml.org
21
´ KLADNI´ FUNKCE 4.4. ZA
Obra´zek 4.1: Prˇ´ıpady uzˇitı´
Filtrova´nı´ za´znamu˚ Uzˇivatel se nacha´zı´ v prˇehledu za´znamu˚ a zvolı´ filtrova´nı´ za´znamu˚. Syste´m uzˇivateli zobrazı´ formula´rˇ pro zada´nı´ podmı´nek, ktere´ majı´ splnˇovat u´daje hledany´ch za´znamu˚. Uzˇivatel zvolı´ ulozˇenı´ filtru a syste´m mu zobrazı´ prˇehled za´znamu˚ splnˇujı´cı´ch krite´ria filtrova´nı´, pokud jim vyhovuje alesponˇ jeden za´znam, jinak je uzˇivatel upozorneˇn, zˇe neexistuje zˇa´dny´ vyhovujı´cı´ za´znam. Vytvorˇenı´ nove´ho za´znamu Uzˇivatel se nacha´zı´ v prˇehledu za´znamu˚ a zvolı´ volbu vytvorˇenı´ nove´ho za´znamu. Syste´m uzˇivateli zobrazı´ formula´rˇ pro vyplneˇnı´ u´daju˚ o vkla´dane´m za´znamu. Uzˇivatel zvolı´ volbu ulozˇit za´znam. Syste´m u´daje ulozˇ´ı do databa´ze, jsou-li vyplneˇny vsˇechny povinne´ polozˇky a u´daje jsou spra´vne´ho tvaru, jinak uzˇivateli vra´tı´ formula´rˇ s drˇ´ıve zadany´mi hodnotami a upozorneˇnı´m, zˇe za´znam nebyl ulozˇen a procˇ. Je-li vytva´rˇen novy´ typ za´znamu nebo novy´ atribut, syste´m navı´c provede odpovı´dajı´cı´ zmeˇny ve sche´matu databa´ze. Editace za´znamu Uzˇivatel se nacha´zı´ v prˇehledu za´znamu˚ nebo v zobrazenı´ detailu za´znamu a zvolı´ volbu editace za´znamu. Syste´m mu zobrazı´ formula´rˇ za´znamu s u´daji prˇedvyplneˇny´mi na implicitnı´ hodnoty. Uzˇivatel pozmeˇnı´ u´daje a zvolı´ 22
´ KLADNI´ FUNKCE 4.4. ZA
volbu ulozˇit za´znam. Syste´m u´daje ulozˇ´ı do databa´ze, jsou-li vyplneˇny vsˇechny povinne´ polozˇky a u´daje jsou spra´vne´ho tvaru, jinak uzˇivateli vra´tı´ formula´rˇ s drˇ´ıve zadany´mi hodnotami a upozorneˇnı´m, zˇe za´znam nebyl ulozˇen a procˇ. Po u´speˇsˇne´m ulozˇenı´ syste´m vra´tı´ uzˇivatele tam, odkud prˇisˇel. Smaza´nı´ za´znamu Uzˇivatel se nacha´zı´ v zobrazenı´ prˇehledu za´znamu˚ nebo v zobrazenı´ detailu za´znamu a zvolı´ volbu smaza´nı´ za´znamu. Ma´-li uzˇivatel dostatecˇna´ opra´vneˇnı´ na smaza´nı´ za´znamu, syste´m za´znam odstranı´ z databa´ze a vra´tı´ uzˇivatele tam, odkud prˇisˇel (v prˇ´ıpadeˇ zˇe prˇisˇel ze zobrazenı´ smazane´ho za´znamu, je prˇesmeˇrova´n na prˇehled za´znamu˚ stejne´ho typu, jako byl mazany´ za´znam), v opacˇne´m prˇ´ıpadeˇ uzˇivatele upozornı´ na jeho nedostatecˇna´ opra´vneˇnı´. Zobrazenı´ souvisejı´cı´ch za´znamu˚ Uzˇivatel se nacha´zı´ v zobrazenı´ detailu za´znamu a zvolı´ volbu zobrazenı´ souvisejı´cı´ch za´znamu˚ urcˇite´ho typu. Syste´m mu zobrazı´ prˇehled za´znamu˚ pozˇadovane´ho typu souvisejı´cı´ch se zobrazeny´m za´znamem. Zmeˇna zobrazovany´ch sloupcu˚ Uzˇivatel se nacha´zı´ v zobrazenı´ prˇehledu za´znamu˚ urcˇite´ho typu a zvolı´ volbu zmeˇny sloupcu˚. Syste´m uzˇivateli nabı´dne prˇehled vsˇech pouzˇitelny´ch sloupcu˚ pro dany´ typ za´znamu˚. Uzˇivatel vybere, ktere´ sloupce chce zobrazovat, zmeˇnı´ jejich porˇadı´ a zvolı´ volbu ulozˇit. Syste´m ulozˇ´ı nastavenı´ a zobrazı´ uzˇivateli prˇehled za´znamu˚ dane´ho typu. Prˇida´nı´/odebra´nı´ souvisejı´cı´ho za´znamu Uzˇivatel se nacha´zı´ v editaci za´znamu nebo vytvorˇenı´ nove´ho za´znamu a zvolı´ volbu prˇidat/odebrat souvisejı´cı´ za´znam urcˇite´ho typu. Syste´m uzˇivateli zobrazı´ prˇehled za´znamu˚ dane´ho typu s mozˇnostı´ oznacˇit neˇktere´ za´znamy. Uzˇivatel oznacˇ´ı pozˇadovane´ za´znamy a zvolı´ volbu ulozˇit. Syste´m uzˇivateli zobrazı´ editaci za´znamu s hodnotami, ktere´ uzˇivatel vyplnil drˇ´ıve, doplneˇny´m o souvisejı´cı´ za´znamy, ktere´ pra´veˇ vybral. Zobrazenı´ kalenda´rˇe Uzˇivatel je u´speˇsˇneˇ prˇihla´sˇen do syste´mu. Kdykoliv mu˚zˇe zvolit volbu zobrazenı´ kalenda´rˇe. Syste´m mu zobrazı´ v graficke´ podobeˇ prˇehled jeho u´kolu˚ a uda´lostı´ pro aktua´lnı´ den. Uzˇivatel mu˚zˇe vybrat libovolny´ jiny´ den. Syste´m mu zobrazı´ v graficke´ podobeˇ prˇehled jeho u´kolu˚ a uda´lostı´ pro pozˇadovany´ den. Zobrazenı´ dnes Po u´speˇsˇne´m prˇihla´sˇenı´ uzˇivatele do syste´mu nebo kdykoliv po zvolenı´ volby zobrazenı´ dnes se uzˇivateli zobrazı´ prˇehled uda´lostı´, ktere´ ma´ napla´nova´ny na aktua´lnı´ den a seznam vsˇech u´kolu˚, ktere´ ma´ plnit, poprˇ. seznam vsˇech nesplneˇny´ch u´kolu˚ z drˇ´ıveˇjsˇka. Export Uzˇivatel se nacha´zı´ v zobrazenı´ prˇehledu za´znamu˚ urcˇite´ho typu a zvolı´ volbu export od XML nebo export do CSV. Syste´m uzˇivateli nabı´dne ke stazˇenı´ soubor ve forma´tu XML nebo CSV v za´vislosti na uzˇivateloveˇ volbeˇ. Soubor bude obsahovat vsˇechny za´znamy dane´ho typu vyhovujı´cı´ uzˇivatelovy´m nastavenı´m pro prˇehled za´znamu˚ dane´ho typu. Prˇepnutı´ rozhranı´ Administra´tor je prˇihla´sˇen do syste´mu. Kdykoliv mu˚zˇe zvolit volbu prˇepnutı´ rozhranı´ na administra´torske´ zobrazenı´. Syste´m mu nabı´dne mozˇnost zobrazenı´ prˇehledu syste´movy´ch za´znamu˚ (uzˇivatele´, prˇ´ıstupova´ pra´va, entity, skupiny 23
´ KLADNI´ FUNKCE 4.4. ZA
atributu˚, atributy, hodnoty atributu˚) a mozˇnost importu dat. Administra´tor mu˚zˇe kdykoliv zvolit volbu prˇepnutı´ zpeˇt na uzˇivatelske´ rozhranı´. Syste´m mu nabı´dne standardnı´ uzˇivatelske´ zobrazenı´. Import dat Administra´tor je prˇihla´sˇen do syste´mu. Kdykoliv mu˚zˇe zvolit volbu import dat. Syste´m administra´torovi nabı´dne formula´rˇ pro zada´nı´ textu v XML forma´tu. Administra´tor zada´ text, ktery´ obsahuje u´daje vkla´dany´ch za´znamu˚ zforma´tovany´ch do XML, a zvolı´ volbu importovat. Syste´m vytvorˇ´ı za´znamy podle obsahu importovane´ho souboru, meˇl-li spra´vnou strukturu.
24
Kapitola 5
Datovy´ model V prvnı´ fa´zi vy´voje syste´mu se snazˇ´ıme o pojmove´ porozumeˇnı´ a zachycenı´ vybrane´ cˇa´sti modelovane´ reality. Zjisˇt’ujeme, ktere´ informace o ktery´ch objektech za´jmu dane´ proble´move´ oblasti bude informacˇnı´ syste´m poskytovat, a jaky´m zpu˚sobem bude tyto informace zpracova´vat. Vy´sledkem te´to fa´ze je konceptua´lnı´ sche´ma organizace a specifikace funkcı´, ktere´ ma´ syste´m plnit. Tato kapitola obsahuje konceptua´lnı´ sche´ma. Specifikace funkcı´ vyvı´jene´ho syste´mu je obsazˇena v prˇedchozı´ kapitole. Pro popis sche´matu byl pouzˇit entitneˇ-vztahovy´ (entity-relationship, E-R) model, ktery´ byl vyvinut P. Chenem. Jde o nejzna´meˇjsˇ´ı se´manticky´ datovy´ model, ktery´ se dnes stal prakticky standardem. Tento model je zalozˇen na trˇech za´kladnı´ch modelovacı´ch konstruktech [Duzi]: • Entita je konkre´tnı´ cˇi abstraktnı´ objekt rea´lne´ho sveˇta, ktery´ mu˚zˇe existovat neza´visle a ktery´ je jednoznacˇneˇ rozlisˇitelny´ od ostatnı´ch. Prˇ´ıkladem entit mohou by´t firma, uzˇivatel, projekt. • Vztah je spojenı´ mezi dveˇma cˇi vı´ce entitami. Naprˇ. „firma je zadavatelem projektu“ je vztah mezi firmou a projektem, „uzˇivatel je rˇesˇitelem projektu“ je vztah mezi uzˇivatelem a projektem. • Atribut je funkce, ktera´ prˇirˇazuje entiteˇ nebo vztahu hodnotu vyjadrˇujı´cı´ neˇjakou du˚lezˇitou vlastnost nebo charakteristiku dane´ entity cˇi vztahu. Naprˇ. jme´no, prˇ´ıjmenı´ mohou by´t atributy entity uzˇivatel. Vztahy mohou by´t ru˚zny´ch typu˚, cozˇ je zaznamena´no tzv. pomeˇrem kardinality, ktery´ mu˚zˇe naby´vat hodnot 1:1, 1:N nebo M:N. Pokud usoudı´me, zˇe zadavatelem projektu mu˚zˇe by´t pouze jedna firma, vztah „firma je zadavatelem projektu“ bude mı´t kardinalitu 1:N. Vztah „uzˇivatel je rˇesˇitelem projektu“ ma´ kardinalitu M:N, protozˇe uzˇivatel se mu˚zˇe podı´let na rˇesˇenı´ vı´ce projektu˚ a projekt mu˚zˇe by´t rˇesˇen vı´ce uzˇivateli. Vztah s kardinalitou M:N mu˚zˇe by´t nahrazen tzv. asociativnı´ entitou. Existence prvku takove´to entity je za´visla´ na existenci prvku˚ v entita´ch, ktere´ byly drˇ´ıve spojeny prˇ´ımo. Prˇ´ıkladem asociativnı´ entity mu˚zˇe by´t rˇesˇitel projektu, ktery´ vznikl mı´sto vztahu „uzˇivatel je rˇesˇitelem projektu“. Ostatnı´ entity se nazy´vajı´ kernel. Existence prvku˚ kernel entity neza´visı´ na prvcı´ch jiny´ch entit. Prˇ´ıkladem kernel entity mu˚zˇe by´t firma. V E-R diagramu se entity zakreslujı´ jako obde´lnı´ky s na´zvem entity a cˇtverecˇkem lezˇ´ıcı´m na hraneˇ pro kernel entity nebo cˇtverecˇkem postaveny´m na vrchol pro asociativnı´ entity. Vztahy mezi entitami se zakreslujı´ jako ocˇ´ıslovane´ cˇa´ry, ktere´ je spojujı´. Kardinalita vztahu˚ je urcˇena trˇemi ru˚zny´mi znacˇkami na koncı´ch vazebnı´ch cˇar: trojnozˇka, cˇa´rka a krouzˇek. Kombinacı´ pra´veˇ dvou z nich na vazebnı´ cˇa´rˇe u kazˇde´ entity mu˚zˇeme urcˇit, jaky´ je minima´lnı´ a maxima´lnı´ pocˇet entit ve vztahu. Krouzˇek pro nulu, cˇa´rka pro jedna a trojnozˇka pro neomezeny´ pocˇet. Smysl majı´ pouze cˇtyrˇi na´sledujı´cı´ kombinace: kombinace
25
´ ZE 5.1. DYNAMICKE´ SCHE´MA DATABA
krouzˇku a trojnozˇky znacˇ´ı libovolny´ pocˇet, kombinace dvou cˇa´rek pra´veˇ jeden vy´skyt, kombinace krouzˇku a cˇa´rky nejvy´sˇe jeden, kombinace cˇa´rky a trojnozˇky alesponˇ jeden. Soucˇa´stı´ konceptua´lnı´ho datove´ho modelu je E-R diagram, definice entit a vztahu˚. Slouzˇ´ı pro definova´nı´ proble´mu, potrˇebne´ informacˇnı´ schopnosti. Logicky´ datovy´ model obsahuje navı´c i definice atributu˚. Slouzˇ´ı pro detailnı´ zada´nı´ pozˇadovane´ informacˇnı´ schopnosti pro konkre´tnı´ realizaci informacˇnı´ho syste´mu. Fyzicky´ datovy´ model obsahuje tabulky, klı´cˇe, indexy apod. Popisuje fungujı´cı´ informacˇnı´ syste´m v provozu. V relacˇnı´ ˇ a´dky tabulek pak databa´zi entita´m odpovı´dajı´ tabulky a atributu˚m sloupce tabulek. R odpovı´dajı´ jednotlivy´m vy´skytu˚m entit. V te´to pra´ci je pouzˇit konceptua´lnı´ datovy´ model.
5.1
Dynamicke´ sche´ma databa´ze
Syste´m ma´ by´t nejdrˇ´ıve nasazen pouze ve firmeˇ zadavatele. Zadavatele ma´ vsˇak v pla´nu syste´m rozsˇ´ırˇit i do dalsˇ´ıch firem, jimzˇ by proda´val licence na jeho pouzˇ´ıva´nı´. Fakt, zˇe syste´m mu˚zˇe by´t provozova´n ve vı´ce firma´ch, s sebou nese jiste´ na´roky na jeho implementaci. Prostrˇedı´ neˇktery´ch firem, v nichzˇ bude syste´m provozova´n, se mu˚zˇou vza´jemneˇ dosti lisˇit. V kazˇde´ firmeˇ si uchova´vajı´ trochu jine´ informace. Naprˇ. zadavatel si potrˇebuje ve´st u´daje o datech prˇipojenı´ a odpojenı´ jeho za´kaznı´ku˚. U jine´ firmy, nezˇ poskytovatele internetove´ho prˇipojenı´, mohou sbı´rat dalsˇ´ı u´daje relevantnı´ pro oblast, v nı´zˇ podnikajı´. Aby byl syste´m prˇizpu˚sobitelny´ prostrˇedı´m ru˚zny´ch firem a schopny´ uchova´vat odlisˇne´ u´daje, byl navrhnut tak, aby umozˇnˇoval prˇida´vat nove´ atributy k libovolne´ entiteˇ v syste´mu a tyto atributy meˇnit a dokonce vytva´rˇet entity nove´ a upravovat sta´vajı´cı´. Cest, jak navrhnout takovy´ syste´m existuje vı´ce. Neˇktere´ syste´my majı´ u kazˇde´ entity uvedeno neˇkolik doplnˇujı´cı´ch atributu˚, ktere´ firma mu˚zˇe vyuzˇ´ıvat podle vlastnı´ potrˇeby. Mohou si je naprˇ. pojmenovat. Tyto atributy jsou v syste´mu prˇedem dane´. Je jich pevneˇ dany´ pocˇet a kazˇdy´ z nich je prˇedem dane´ho typu. Nevy´hodou tohoto rˇesˇenı´ je omezeny´ pocˇet teˇchto atributu˚. Nikdy nenı´ prˇedem jiste´, zˇe nebude potrˇeba vı´ce nezˇ peˇt textovy´ch atributu˚ nebo dva cˇ´ıselne´. I kdyzˇ neˇktere´ z teˇchto atributu˚ nejsou vyuzˇ´ıva´ny, syste´m je sta´le zobrazuje ve formula´rˇ´ıch, umozˇnˇuje podle nich trˇ´ıdit apod. Jsou tedy v syste´mu zbytecˇneˇ navı´c. Dalsˇ´ı mozˇnostı´ by bylo specifikovat tyto atributy o neˇco pozdeˇji nezˇ prˇi programova´nı´ syste´mu. Tzn. definovat je azˇ prˇi zava´deˇnı´ syste´mu podle analy´zy potrˇeb podniku. K tomuto zpu˚sobu mu˚zˇe slouzˇit tzv. parametrizace syste´mu, prˇizpu˚sobenı´ syste´mu firmeˇ na mı´ru vy´beˇrem neˇktery´ch z prˇedprˇipraveny´ch nastavenı´ syste´mu. Tento zpu˚sob je o neˇco lepsˇ´ı nezˇ prˇedcha´zejı´cı´, ale sta´le se mu˚zˇe sta´t, zˇe se prˇi parametrizaci syste´mu zapomene na neˇjaky´ atribut nebo potrˇeba vyuzˇ´ıvat neˇjaky´ novy´ atribut se objevı´ azˇ po urcˇite´ dobeˇ od nasazenı´ syste´mu. Navı´c je sta´le potrˇeba specializovany´ pracovnı´k dodavatele, ktery´ musı´ pozˇadovanou zmeˇnu prove´st, protozˇe takovouto parametrizaci nejspı´sˇ nezvla´dne zˇa´dny´ pracovnı´k za´kaznı´ka. Prˇi implementaci syste´mu, jı´mzˇ se zaby´va´ tato diplomova´ pra´ce, byl zvolen jesˇteˇ dynamicˇteˇjsˇ´ı postup. Prˇida´vat, meˇnit cˇi odebı´rat atributy nebo entity ma´ mozˇnost libovolny´ administra´tor syste´mu a to prˇ´ımo za provozu syste´mu. Kdyzˇ vznikne pozˇadavek na prˇida´nı´ nove´ho atributu cˇi entity, administra´tor spolecˇneˇ se zameˇstnanci zodpoveˇdny´mi za provoz syte´mu rozhodne, ma´-li toto prˇida´nı´ smysl. V prˇ´ıpadeˇ, zˇe ano, pozˇadovany´ atribut 26
´ ZE 5.1. DYNAMICKE´ SCHE´MA DATABA
nebo entitu okamzˇiteˇ do syste´mu prˇida´. Zpu˚sobu˚, jak implementovat tento postup v syste´mu, je neˇkolik.
Obecny´ postup Tento zpu˚sob je popsa´n konceptua´lnı´m modelem s E-R diagramem uvedeny´m na obra´zku 5.1. Pouzˇitı´ tohoto zpu˚sobu v kombinaci s relacˇnı´ databa´zı´ by vedlo k velke´ slozˇitosti SQL dotazu˚ prˇi zı´ska´va´nı´ dat z databa´ze, a vysoke´ neefektivnosti, protozˇe te´meˇrˇ vsˇechny u´daje evidovane´ syste´mem by byly ukla´da´ny do jedne´ tabulky (hodnota atributu). Takova´ tabulka by brzy meˇla tisı´ce rˇa´dku˚. Navı´c by vsˇechny u´daje, ktere´ jsou ru˚zny´ch typu˚ (cˇ´ıslo, datum, rˇeteˇzec pevneˇ dane´ de´lky), musely by´t ulozˇeny stejneˇ. Jediny´ mozˇny´ typ sloupce pro ukla´da´nı´ hodnot vsˇech typu˚ atributu˚ je rˇeteˇzec znaku˚ bez omezenı´ de´lky. Takove´ ukla´da´nı´ by vedlo ke vzniku velice nesourode´ tabulky, v nı´zˇ by neˇktere´ rˇa´dky obsahovaly naprˇ. jeden znak, cˇi jedno cˇ´ıslo a jine´ neˇkolik stovek znaku˚. Nad takovou tabulkou by bylo zdlouhave´ prova´deˇt jake´koliv trˇ´ıdeˇnı´, protozˇe by bylo obtı´zˇne´ nad nı´ vytvorˇit index.
Obra´zek 5.1: E-R diagram – Obecny´ postup reprezentace atributu˚
Atribut (Kernel) Objektem typu (# Atribut) je kazˇdy´ atribut libovolne´ entity ze syste´mu, ktery´ ma´ smysl u entity evidovat. Tato entita slouzˇ´ı k popisu vlastnostı´ atributu˚ entit, jako je naprˇ. na´zev atributu (prˇ´ıjmenı´, na´zev, datum zaha´jenı´). Druh entity (Kernel) Objektem typu (# Druh entity) je kazˇdy´ druh entity, ktery´ ma´ smysl v syste´mu evidovat. Prˇ. firma, projekt, uzˇivatel. Entita (Kernel) Objektem typu (# Entita) je kazˇda´ entita, kterou ma´ smysl v syste´mu evidovat. Tato entita bude slouzˇit pouze jako seznam identifika´toru˚ vy´skytu˚ entit evidovany´ch v syste´mu. Hodnota atributu (Associative) Objektem typu (# Hodnota atributu) je kazˇda´ reprezentace vazby mezi entitou a atributem se smyslem: Hodnota (Hodnota) dane´ho atributu (# Atribut) pro danou entitu (# Entita) /0,1:0,M. Naprˇ. hodnota Nova´k pro entitu uzˇivatel a atribut prˇ´ıjmenı´. Ref 1 Entity (# Entita), ktere´ jsou dane´ho druhu (# Druh entity) /0,M:1,1 27
´ ZE 5.1. DYNAMICKE´ SCHE´MA DATABA
Ref 2 Atributy (# Atribut), ktere´ se vztahujı´ k dane´mu druhu entity (# Druh entity) /0,M:1,1
Bry´le Dalsˇ´ı mozˇnostı´ by bylo pouzˇ´ıt mechanismu zvane´ho bry´le popsane´ho konceptua´lnı´m modelem s E-R diagramem uvedeny´m na obra´zku 5.2. Tento zpu˚sob vyzˇaduje existenci pouze trˇ´ı entit. Prˇi implementaci pomocı´ relacˇnı´ databa´ze pak v tabulce odpovı´dajı´cı´ entiteˇ Entita je sloupec, ktery´ obsahuje vsˇechny hodnoty atributu˚ oddeˇlene´ neˇjaky´m specia´lnı´m znakem. Implementace tohoto zpu˚sobu ma´ podobne´ nedostatky jako v prˇedchozı´m prˇ´ıpadeˇ.
Obra´zek 5.2: E-R diagram – Bry´le
Bry´le (Kernel) Objektem typu (# Bry´le) je kazˇda´ dvojice (Porˇadı´, Interpretacˇnı´ prˇedpis), ktera´ definuje, jak interpretovat polozˇku variabilnı´ cˇa´sti vy´skytu˚ dane´ho objektu tı´m, zˇe se odkazuje na jejı´ porˇadı´ a definuje zpu˚sob jejı´ interpretace. Druh entity (Kernel) Objektem typu (# Druh entity) je kazˇdy´ druh entity, ktery´ ma´ smysl v syste´mu evidovat. Prˇ. firma, uzˇivatel, projekt. Entita (Kernel) Objektem typu (# Entita) je kazˇda´ entita, kterou ma´ smysl v syste´mu evidovat. Ref 1 Entity (# Entita), ktere´ jsou dane´ho druhu (# Druh entity) /0,M:1,1 Ref 2 Dvojice (Porˇadı´, Interpretacˇnı´ prˇedpis) (Bry´le), ktere´ se ty´kajı´ dane´ho druhu entity (# Druh entity) /0,M:1,1
Zvoleny´ postup V te´to diplomove´ pra´ci byl zvolen ale jesˇteˇ jiny´ zpu˚sob, ktery´ nenı´ azˇ tak rozsˇ´ırˇeny´ a je tedy mı´rneˇ atypicky´. Prˇi pouzˇ´ıva´nı´ syste´mu docha´zı´ pru˚beˇzˇneˇ ke zmeˇna´m ve sche´matu tabulek, a tedy i ke zmeˇna´m v datove´m modelu. Urcˇita´ cˇa´st sche´matu zu˚sta´va´ ale beze zmeˇny. Prˇi tomto zpu˚sobu musı´ by´t v syste´mu uchova´va´ny specia´lnı´ informace, ktere´ popisujı´ aktua´lnı´ stav sche´matu. Lze v tomto prˇ´ıpadeˇ mluvit o metadatech. Jsou to data, ktera´ 28
´ ZE 5.1. DYNAMICKE´ SCHE´MA DATABA
popisujı´, jake´ typy entit v syste´mu existujı´ a jake´ atributy, ktere´ entity majı´, jake´ho typu tyto atributy jsou, jsou-li povinne´, jake´ majı´ mı´t implicitnı´ hodnoty apod. Zvoleny´ zpu˚sob lze popsat konceptua´lnı´m modelem s E-R diagramem uvedeny´m na obra´zku 5.3.
Obra´zek 5.3: E-R diagram – Metadata
Atribut (Kernel) Objektem typu (# Atribut) je kazˇdy´ atribut entity, ktery´ ma´ smysl u entity evidovat. Tato entita slouzˇ´ı k popisu vlastnostı´ atributu˚ entit, jako je naprˇ. typ atributu nebo na´zev. Entita (Kernel) Objektem typu (# Entita) je kazˇda´ entita z konceptua´lnı´ho datove´ho modelu, pro kterou jsou definova´ny atributy. Typ atributu (Kernel) Objektem typu (# Typ atributu) je kazˇdy´ typ atributu, ktere´ho mohou naby´vat hodnoty atributu˚ evidovany´ch v syste´mu. Jedna´ se vlastneˇ o cˇ´ıselnı´k. Typ atributu mu˚zˇe by´t naprˇ. znakovy´, cˇ´ıselny´, typu datum apod. Ref 1 Atributy (# Atribut), ktere´ ma´ dana´ entita (# Entita) /0,M:1,1 Ref 2 Atributy (# Atribut), ktere´ jsou dane´ho typu (# Typ atributu) /0,M:1,1 Pro praxi z toho vyply´vajı´ na´sledujı´cı´ du˚sledky. Prˇi nasazova´nı´ syste´mu se musı´ vytvorˇit sche´ma databa´ze a databa´zi naplnit metadaty odpovı´dajı´cı´mi vytvorˇene´mu sche´matu. Aby bylo mozˇne´ jednodusˇe prˇida´vat a upravovat entity a atributy prˇi provozu syste´mu, musı´ existovat apara´t, ktery´ zvla´dne podle pozˇadavku˚ na zmeˇny upravit sche´ma databa´ze tak, aby nedosˇlo ke ztra´teˇ dat a nekonzistenci mezi sche´matem a metadaty. Navı´c by meˇlo by´t vytvorˇeno graficke´ rozhranı´ pro administra´tory syste´mu, pomocı´ neˇjzˇ by bylo mozˇne´ atributy prˇida´vat a meˇnit. Prˇi vytva´rˇenı´ nove´ho atributu je nutne´ vytvorˇit novy´ sloupec v tabulce odpovı´dajı´cı´ dane´ entiteˇ atributu a vlozˇit do databa´ze potrˇebna´ metedata. Ta jsou reprezentova´na pouze jednı´m rˇa´dkem v tabulce, ktera´ odpovı´da´ entiteˇ Atribut. Tento rˇa´dek musı´ minima´lneˇ specifikovat, ke ktere´ entiteˇ atribut patrˇ´ı, jake´ho je typu a jaky´ ma´ na´zev. Typ vytva´rˇene´ho sloupce by meˇl co nejvı´ce odpovı´dat typu dane´ho atributu. Tzn. prˇi jeho vytva´rˇenı´ by se meˇlo vzı´t v u´vahu alesponˇ, jedna´-li se o rˇeteˇzec nebo cˇ´ıslo. V omezene´ mı´rˇe lez meˇnit neˇktere´ u´daje o atributu, naprˇ. jeho na´zev. Umozˇnit zmeˇnu na´zvu sloupce cˇi zmeˇnu typu z rˇeteˇzcove´ho na cˇ´ıselny´ apod. nenı´ zcela prˇ´ımocˇare´. V ru˚zny´ch databa´zı´ch se totizˇ kvu˚li ru˚zne´ implementaci SQL lisˇ´ı SQL prˇ´ıkazy pro prova´deˇnı´ teˇchto operacı´ nebo chybı´ zcela. 29
´ ZE 5.1. DYNAMICKE´ SCHE´MA DATABA
Mezi typy atributu˚ byly zarˇazeny naprˇ.: • Rˇeteˇzec znaku˚ s omezenou de´lkou od jedne´ do 255. Tomuto typu odpovı´da´ v SQL typ VARCHAR(n), kde n je maxima´lnı´ de´lka rˇeteˇzce. • Text, cozˇ je rˇeteˇzec znaku˚ neomezene´ de´lky. Tomuto typu odpovı´da´ v SQL typ TEXT. • Prˇirozene´ cˇ´ıslo, jemuzˇ v SQL odpovı´da´ typ INT. • Datum, datum a cˇas, ktere´ jsou reprezentova´ny jako cˇ´ısla. Implementace typu˚ datum a cˇas se lisˇ´ı v ru˚zny´ch databa´zı´ch, a proto byla zvolena reprezentace jako cˇ´ıslo, ktere´ oznacˇuje pocˇet sekund od 1. ledna 1970. Tento zpu˚sob je standardnı´ pouzˇ´ıvany´ za´pis data a cˇasu, a tedy i sˇiroce podporovany´. • Vy´beˇr z vı´ce hodnot. Prˇi editaci u´daju˚ tohoto typu je uzˇivateli zobrazeno pole s vy´beˇrem. Kvu˚li existenci tohoto atributu byla prˇida´na nova´ entita do konceptua´lnı´ho modelu Hodnota atributu. Jedna´ se o neˇco jako multicˇ´ıselnı´k. Mı´sto toho, aby pro kazˇdy´ takovy´ typ byl vytvorˇen vlastnı´ cˇ´ıselnı´k obsahujı´cı´ pouze volitelne´ hodnoty pro tento atribut, byl vytvorˇen jeden vsˇeobecny´ cˇ´ıselnı´k, ktere´ slouzˇ´ı pro hodnoty vsˇech cˇ´ıselnı´ku˚. Kromeˇ ko´du a na´zvu hodnoty v neˇm tedy musı´ by´t navı´c specifikova´no, ke ktere´mu atributu a entiteˇ tato hodnota patrˇ´ı. Sloupec v databa´zi tedy neobsahuje prˇ´ımo zvolene´ hodnoty, ale pouze ko´d hodnoty. Protozˇe ko´d byl zvolen jako prˇirozene´ cˇ´ıslo, sloupec mu˚zˇe mı´t opeˇt typ INT. • Zatrzˇ´ıtko umozˇnˇuje specifikovat jednu ze dvou hodnot ano/ne. V databa´zi je reprezentova´no opeˇt typem INT. Hodnotou 1 pro ano a hodnotou 0 pro ne. • Vazba 1:N. Jako atribut mu˚zˇe by´t pouzˇit rovneˇzˇ odkaz na jinou entitu. Prˇ´ıkladem mu˚zˇe by´t zadavatel projektu. V databa´zi je reprezentova´n typem INT a obsahuje cizı´ klı´cˇ do odpovı´dajı´cı´ tabulky. Metadata musı´ v tomto prˇ´ıpadeˇ urcˇit, na ktery´ typ entity dany´ atribut odkazuje. Prˇi vytva´rˇenı´ atributu tohoto typu je nutne´ zajistit v databa´zi vytvorˇenı´ odpovı´dajı´cı´ho integritnı´ho omezenı´. • Vazba M:N. Jako atribut mu˚zˇe by´t pouzˇit rovneˇzˇ odkaz na jinou entitu i v prˇ´ıpadeˇ, zˇe va´zany´ch entit mu˚zˇe by´t neomezeny´ pocˇet. V databa´zi je reprezentova´n tabulkou a obsahuje cizı´ klı´cˇe do odpovı´dajı´cı´ch tabulek. Prˇ´ıkladem mohou by´t rˇesˇitele´ projektu. Prˇi vytva´rˇenı´ atributu tohoto typu je nutne´ zajistit v databa´zi vytvorˇenı´ nove´ tabulky a odpovı´dajı´cı´ch integritnı´ch omezenı´. Textove´ zobrazenı´ a u´pravu metadat doka´zˇe zajistit realizovany´ syste´m sa´m. Pro zobrazenı´ aktua´lnı´ho stavu sche´matu databa´ze je ale nutne´ vyuzˇ´ıt neˇjakou externı´ aplikaci. Pro textove´ zobrazenı´ stavu sche´matu vcˇetneˇ zobrazenı´ hodnot, ktere´ databa´ze obsahuje, mu˚zˇe by´t vyuzˇit naprˇ. nekomercˇnı´ produkt phpMyAdmin1 v prˇ´ıpadeˇ zˇe byla zvolena databa´ze MySQL nebo phpPgAdmin2 prˇi uzˇitı´ databa´ze PostgreSQL. Pro graficke´ zobrazenı´ sche´matu lze vyuzˇ´ıt naprˇ. komercˇnı´ aplikaci dbWrench3 nebo CASE Studio4 . 1
www.phpmyadmin.net phppgadmin.sourceforge.net 3 www.dbwrench.com 4 www.casestudio.com 2
30
´ KOMPONENTA 5.2. POPISOVA
5.2
Popisova´ komponenta
Konceptua´lnı´ datovy´ model Popisova´ komponenta definuje informacˇnı´ schopnost syste´mu pro popis entit a atributu˚ datove´ komponenty, uzˇivatelsky´ch nastavenı´ a syste´mu pra´v. E-R diagram je na obra´zku 5.4.
Obra´zek 5.4: E-R diagram – popisova´ komponenta
Atribut (Kernel) Objektem typu (# Atribut) je kazˇdy´ atribut entity, ktery´ ma´ smysl u entity evidovat. Tato entita slouzˇ´ı k popisu vlastnostı´ atributu˚ entit, jako je naprˇ. typ atributu nebo na´zev. Entita (Kernel) Objektem typu (# Entita) je kazˇda´ entita z konceptua´lnı´ho datove´ho modelu, pro kterou jsou definova´ny atributy. Filtr (Associative) Objektem typu (# Filtr) je kazˇda´ reprezentace vazby mezi uzˇivatelem, atributem a entitou se smyslem: Zpu˚sob filtrova´nı´ (Zpu˚sob) dane´ho atributu (# Atribut) dane´ entity (# Entita) pro dane´ho uzˇivatele (# Uzˇivatel) /0,1:0,M. Hodnota (Kernel) Objektem typu (# Hodnota atributu) je kazˇda´ hodnota, ktere´ mu˚zˇe naby´vat atribut typu „vy´beˇr z vı´ce mozˇnostı´“. Vlastneˇ vsˇechny cˇ´ıselnı´ky v jednom. Prˇı´stupove´ pra´vo (Associative) Objektem typu (# Prˇ´ıstupove´ pra´vo) je kazˇda´ reprezentace vazby mezi uzˇivatelem resp. skupinou uzˇivatelu˚, entitou a u´rovnı´ prˇ´ıstupu se smyslem: Podmı´nka (Podmı´nka) na hodnoty dane´ho atributu (# Atribut) objektu ´ rovenˇ prˇ´ıstupu) k dane´ entiteˇ (# Entita) podminˇujı´cı´ pra´va prˇ´ıstupu dane´ u´rovneˇ (# U 31
´ KOMPONENTA 5.3. DATOVA
pro dane´ho uzˇivatele (# Uzˇivatel) resp. danou skupinu uzˇivatelu˚ (# Skupina uzˇivatelu˚) /0,1:0,M. Pozn.: Vztah k uzˇivateli resp. skupineˇ uzˇivatelu˚ je vy´lucˇny´ v tom smyslu, zˇe dane´ prˇ´ıstupove´ pra´vo je prˇideˇleno bud’ k uzˇivateli, nebo ke skupineˇ uzˇivatelu˚. Skupina atributu˚ (Kernel) Objektem typu (# Skupina atributu˚) je kazˇde´ pojmenovane´ logicke´ uskupenı´ atributu˚. Toto seskupova´nı´ ma´ smysl prˇedevsˇ´ım pro zprˇehledneˇnı´ u´daju˚ ve formula´rˇ´ıch. Skupina uzˇivatelu˚ (Kernel) Objektem typu (# Skupina uzˇivatelu˚) je kazˇda´ pojmenovana´ skupina uzˇivatelu˚. Toto seskupova´nı´ ma´ smysl pro zjednodusˇenı´ ovla´da´nı´ syste´mu pra´v, kde prˇ´ıstupove´ pra´vo mu˚zˇe by´t definova´no nejen vu˚cˇi konkre´tnı´mu uzˇivateli, ale i vu˚cˇi skupineˇ uzˇivatelu˚. Typ atributu (Kernel) Objektem typu (# Typ atributu) je kazˇdy´ typ atributu, ktere´ho mohou naby´vat hodnoty atributu˚ evidovany´ch v syste´mu. Jedna´ se vlastneˇ o cˇ´ıselnı´k. Typ atributu mu˚zˇe by´t naprˇ. znakovy´, cˇ´ıselny´, typu datum apod. ´ rovenˇ prˇ´ıstupu) je kazˇda´ u´rovenˇ prˇ´ıstupu, ´ rovenˇ prˇı´stupu (Kernel) Objektem typu (# U U kterou ma´ smysl v syste´mu implemenovat. Druhy u´rovneˇ prˇ´ıstupu do informacˇnı´ho syste´mu mohou by´t: pra´vo cˇ´ıst, pra´vo cˇ´ıst a psa´t, pra´vo cˇ´ıst, psa´t a mazat. Uzˇivatel (Kernel) Objektem typu (# Uzˇivatel) je kazˇda´ osoba, mı´sto cˇi pozice ve firmeˇ, ktera´ ma´ prˇideˇleno pra´vo prˇ´ıstupu do syste´mu. Jde o za´stupce z datove´ komponenty. Za´hlavı´ (Associative) Objektem typu (# Za´hlavı´) je kazˇda´ reprezentace vazby mezi uzˇivatelem, atributem a entitou se smyslem: Zpu˚sob zobrazenı´ (Zpu˚sob) dane´ho atributu (# Atribut) dane´ entity (# Entita) pro dane´ho uzˇivatele (# Uzˇivatel) /0,1:0,M. Ref 1 Atributy (# Atribut), ktere´ se vztahujı´ k dane´ entiteˇ (# Entita) /0,M:1,1 Ref 2 Atributy (# Atribut), ktere´ se jsou dane´ho typu (# Typ atributu) /0,M:1,1 Ref 3 Atributy (# Atribut), ktere´ patrˇ´ı do dane´ skupiny atributu˚ (# Skupina atributu˚) /0,M:1,1 Ref 4 Atributy (# Atribut), na ktere´ se odkazuje dany´ atribut (# Atribut) /0,M:0,1 Ref 5 Hodnoty atributu˚ (# Hodnota atributu), ktery´ch mu˚zˇe naby´vat dany´ atribut (# Atribut) /0,M:1,1 Ref 6 Atributy (# Atribut), ktere´ se odkazujı´ na danou entitu (# Entita) /0,M:0,1 Ref 7 Uzˇivatele´ (# Uzˇivatel), kterˇ´ı patrˇ´ı do dane´ skupiny uzˇivatelu˚ (# Skupina uzˇivatelu˚) /0,M:0,M
32
´ KOMPONENTA 5.3. DATOVA
Obra´zek 5.5: E-R diagram – datova´ komponenta
5.3
Datova´ komponenta
Konceptua´lnı´ datovy´ model Datova´ komponenta definuje informacˇnı´ schopnost pro za´kladnı´ funkcˇnost syste´mu. E-R diagram je na obra´zku 5.5. Firma (Kernel) Objektem typu (# Firma) je kazˇda´ firma resp. organizace (sta´tnı´, . . . ), ktera´ je nebo mu˚zˇe by´t v neˇjake´m vztahu k podniku. Osoba (Kernel) Objektem typu (# Osoba) je kazˇdy´ cˇloveˇk, ktery´ je nebo mu˚zˇe by´t v neˇjake´m vztahu k podniku. Projekt (Kernel) Objektem typu (# Projekt) je kazˇda´ realizace zaka´zky zadana´ za´kaznı´kem cˇi realizace zaka´zky, ktera´ vznikla uvnitrˇ firmy. Projekt obvykle vznika´ na za´kladeˇ obchodnı´ho prˇ´ıpadu (# Prˇ´ıpad). Prˇı´pad (Kernel) Objektem typu (# Prˇ´ıpad) je kazˇdy´ podnikem zaznamenany´ obchodnı´ prˇ´ıpad (nabı´dka, popta´vka, reklamace) pocha´zejı´cı´ od sta´vajı´cı´ho cˇi potencia´lnı´ho za´kaznı´ka firmy. Uda´lost (Kernel) Objektem typu (# Uda´lost) je kazˇda´ uda´lost, ktera´ je neˇcˇ´ım vy´znamna´ pro podnik nebo pro uzˇivatele syste´mu. ´ kol) je kazˇdy´ pozˇadavek neˇktere´ho uzˇivatele syste´mu ´ kol (Kernel) Objektem typu (# U U (# Uzˇivatel) na vykona´nı´ neˇjake´ho pracovnı´ho u´konu jiny´mi uzˇivateli (# Uzˇivatel). 33
´ KOMPONENTA 5.3. DATOVA
Uzˇivatel (Kernel) Objektem typu (# Uzˇivatel) je kazˇda´ osoba, mı´sto cˇi pozice ve firmeˇ, ktera´ ma´ prˇideˇleno pra´vo prˇ´ıstupu do syste´mu. Ref 01 Uzˇivatel (# Uzˇivatel), ktery´ je vedoucı´m dane´ uda´losti (# Uda´lost) /1,1:0,M Ref 02 Uzˇivatele´ (# Uzˇivatel), kterˇ´ı se u´cˇastnı´ dane´ uda´losti (# Uda´lost) /0,M:0,M ´ kol) /0,M:0,M Ref 03 Uzˇivatele´ (# Uzˇivatel), kterˇ´ı jsou rˇesˇitele´ dane´ho u´kolu (# U Ref 04 Uzˇivatel (# Uzˇivatel), ktery´ je zadavatelem dane´ uda´losti (# Uda´lost) /1,1:0,M Ref 05 Uzˇivatel (# Uzˇivatel), ktery´ je obchodnı´kem pro danou firmu (# Firma) /1,1:0,M Ref 06 Uzˇivatel (# Uzˇivatel), ktery´ je vedoucı´m dane´ho projektu (# Projekt) /1,1:0,M Ref 07 Uzˇivatele´ (# Uzˇivatel), kterˇ´ı jsou rˇesˇiteli dane´ho projektu (# Projekt) /0,M:0,M Ref 08 Uzˇivatel (# Uzˇivatel), ktery´ zaznamenal dany´ obchodnı´ prˇ´ıpad (# Prˇ´ıpad) /1,1:0,M Ref 09 Firmy (# Firma), ktere´ jsou pobocˇkami dane´ firmy (# Firma) /0,M:0,1 Ref 10 Osoby (# Osoba), ktere´ jsou zameˇstnanci dane´ firmy (# Firma) /0,M:0,M Ref 11 Firmy (# Firma), ktery´ch se ty´ka´ dana´ uda´lost (# Uda´lost) /0,M:0,M ´ kol) /0,M:0,M Ref 12 Firmy (# Firma), ktery´ch se ty´ka´ dany´ u´kol (# U Ref 13 Firma (# Firma), k nı´zˇ se vztahuje dany´ obchodnı´ prˇ´ıpad (# Prˇ´ıpad) /0,1:0,M Ref 14 Firmy (# Firma), pro ktere´ je realizova´n dany´ projekt (# Projekt) /0,M:0,M Ref 15 Osoby (# Osoba), ktery´ch se ty´ka´ dana´ uda´lost (# Uda´lost) /0,M:0,M ´ kol) /0,M:0,M Ref 16 Osoby (# Osoba), ktery´ch se ty´ka´ dany´ u´kol (# U Ref 17 Osoby (# Osoba), pro neˇzˇ je realizova´n dany´ projekt (# Projekt) /0,M:0,M Ref 18 Osoba (# Osoba), k nı´zˇ se vztahuje dany´ obchodnı´ prˇ´ıpad (# Prˇ´ıpad) /0,1:0,M Ref 19 Obchodnı´ prˇ´ıpady (# Prˇ´ıpad), jichzˇ se ty´ka´ dana´ uda´lost (# Uda´lost) /0,M:0,M ´ koly (# U ´ kol), ktere´ se vztahujı´ k dane´ uda´losti (# Uda´lost) /0,M:0,M Ref 20 U ´ koly (# U ´ kol), ktere´ se vztahujı´ k dane´mu projektu (# Projekt) /0,M:0,M Ref 21 U Ref 22 Uda´losti (# Uda´lost), ktere´ se vztahujı´ k dane´mu projektu (# Projekt) /0,M:0,M ´ koly (# U ´ kol), ktere´ se vztahujı´ k dane´mu obchodnı´mu prˇ´ıpadu (# Prˇ´ıpad) /0,M:0,M Ref 23 U Ref 24 Projekty (# Vy´kaz), ktere´ vznikly na za´kladeˇ dane´ho obchodnı´ho prˇ´ıpadu (# Prˇ´ıpad) /0,M:0,M
34
Kapitola 6
ˇ esˇenı´ R 6.1
Volba architektury a technologiı´
Architektura Pro implementaci syste´mu byla zvolena architektura klient-server postavena´ na tenke´m klientovi a tluste´m serveru. Tzn. zˇe te´meˇrˇ vesˇkera´ prezentacˇnı´ logika, aplikacˇnı´ logika a spra´va dat se nacha´zı´ na straneˇ serveru. Klient slouzˇ´ı pouze pro zobrazova´nı´ informacı´ uzˇivateli, ktere´ zı´skal od serveru, zı´ska´va´nı´ dat od uzˇivatele a jejich posla´nı´ serveru. Klientem mu˚zˇe by´t stolnı´ nebo kapesnı´ pocˇ´ıtacˇ s webovy´m prohlı´zˇecˇem. Server se stara´ o zpracova´va´nı´ dat zı´skany´ch od klienta a jejich poskytova´nı´ klientovi. Server je da´le rozdeˇlen do dvou cˇa´stı´: ja´dra a webove´ho modulu. Ja´dro obstara´va´ aplikacˇnı´ logiku a spra´vu dat, webovy´ modul obstara´va´ prezentacˇnı´ logiku. Ja´dro komunikuje s databa´zı´ a poskytuje webove´ sluzˇby pro klienta, poprˇ. pro jine´ syste´my. Webovy´ modul komunikuje prˇ´ımo s klientem a zprostrˇedkova´va´ tak komunikaci klienta s ja´drem. Stara´ se o transformaci dat zı´skany´ch od ja´dra webovy´mi sluzˇbami do formy zobrazitelne´ klientem (HTML) a posla´nı´ transformovany´ch dat klientovi a o transformaci a kontrolu dat zı´skany´ch od klienta do XML a zasla´nı´ vytvorˇene´ho XML dokumentu webovy´mi sluzˇbami ja´dru.
Programovacı´ jazyk Pro implementaci byl pouzˇit programovacı´ jazyk Java1 v edici Java EE a verzi 1.4. Hlavnı´ du˚vod pro zvolenı´ pra´veˇ Javy bylo to, zˇe v neˇm lze vytva´rˇet aplikace neza´visle´ na platformeˇ. Aplikace vytvorˇene´ v jazyce Java lze provozovat na libovolne´m operacˇnı´m syste´mu. Ke spusˇteˇnı´ programu je potrˇeba pouze to, aby byl na dane´ platformeˇ instalova´n spra´vny´ virtua´lnı´ stroj. Za´kladem pro Java Platform, Enterprise Edition (Java EE) je Java Platform, Standard Edition (Java SE), ktera´ poskytuje kompletnı´ prostrˇedı´ pro vy´voj aplikacı´ pro osobnı´ pocˇ´ıtacˇe a servery. Soucˇa´stı´ Java SE jsou rovneˇzˇ databa´zove´ funkce. Java EE Slouzˇ´ı pro vy´voj prˇenositelny´ch, robustnı´ch, sˇka´lovatelny´ch a zabezpecˇeny´ch Java aplikacı´ na straneˇ serveru. Mimojine´ poskytuje rozhranı´ pro programova´nı´ aplikacı´ vyuzˇ´ıvajı´cı´ch webove´ sluzˇby a tı´m podporuje servisneˇ orientovanou architekturu (SOA).
Aplikacˇnı´ a webovy´ server Vzhledem ke zvolene´ architekturˇe a programovacı´mu jazyku musı´ aplikacˇnı´ server poskytovat prostrˇedı´ pro serverove´ aplikace zalozˇene´ na platformeˇ Java EE a umozˇnˇovat vyuzˇitı´ webovy´ch sluzˇeb. Serverem splnˇujı´cı´m tyto podmı´nky je Sun Java System Ap1
java.sun.com
35
6.1. VOLBA ARCHITEKTURY A TECHNOLOGII´ plication Server firmy Sun Microsystems2 . Jednou z jeho klı´cˇovy´ch vlastnostı´ je rovneˇzˇ podpora servisneˇ orientovane´ architektury a webovy´ch sluzˇeb. Tento server je nabı´zen ve trˇech varianta´ch, z nichzˇ prvnı´ s oznacˇenı´m Platform Edition (PE) je poskytova´n zdarma pro vy´voj, nasazenı´ i redistribuci. Pro nasazenı´ syste´mu byla zvolena poslednı´ dostupna´ verze tohoto serveru a to Sun Java System Application Server PE 9 Beta, ktery´ je vyvı´jen v ra´mci projektu GlassFish podporovane´ho firmou Sun Microsystems.
Autentizace Prˇihlasˇovacı´ u´daje uzˇivatelu˚ syste´mu jsou ulozˇeny v databa´zi. Autentizace u webove´ho modulu je tedy prova´deˇna oveˇrˇenı´m prˇihlasˇovacı´ch u´daju˚ vu˚cˇi u´daju˚m ulozˇeny´m v databa´zi. V prostrˇedı´ Sun Application Server lze pro autentizaci vyuzˇ´ıt tzv. realmy, ktere´ jsou zalozˇeny na Java Authentication and Authorization Service (JAAS), jezˇ je soucˇa´stı´ Java EE. Kromeˇ cˇtyrˇ standardnı´ch typu˚ realmu˚ umozˇnˇuje definovat vlastnı´ realmy, ktere´ mohou by´t vyuzˇ´ıva´ny prˇi autentizaci vu˚cˇi libovolne´ bezpecˇnostnı´ dome´neˇ (naprˇ. databa´zi). Pro autentizaci v syste´mu byly vytvorˇeny dveˇ trˇ´ıdy podporujı´cı´ realm, ktery´ doka´zˇe oveˇrˇit uzˇivatelovy prˇihlasˇovacı´ u´daje vu˚cˇi databa´zi.
Databa´zovy´ stroj Syste´m by meˇl by´t neza´visly´ na zvolene´ databa´zi. Na databa´zovy´ stroj nejsou tedy kladeny zˇa´dne´ zvla´sˇtnı´ pozˇadavky. Musı´ pouze podporovat standard SQL, musı´ by´t neza´visly´ na platformeˇ a musı´ pro neˇj existovat Javovy´ jdbc ovladacˇ, ktery´ je nutny´ pro aplikacˇnı´ server, aby mohl s databa´zı´ komunikovat. Pro vy´voj syste´mu byl vybra´n databa´zovy´ stroj MySQL, protozˇe splnˇuje pozˇadovane´ podmı´nky a navı´c efektivneˇ a rychle prova´dı´ dotazy nad databa´zı´. MySQL je dostupny´ jak pod open source GPL licencı´, tak i jako komercˇnı´ produkt se standardnı´ u´rovnı´ podpory. Jedna´ o se jeden z nejrozsˇ´ırˇeneˇjsˇ´ıch databa´zovy´ch stroju˚.
Vy´vojove´ prostrˇedı´ Rozsa´hlejsˇ´ı a slozˇiteˇjsˇ´ı syste´my by bylo komplikovane´ a neefektivnı´ vytva´rˇet bez pouzˇitı´ neˇjake´ho vy´vojove´ho na´stroje. S prˇehle´dnutı´m k prˇedcha´zejı´cı´m volba´m architektury a technologiı´ se jako idea´lnı´ jevı´ vy´vojove´ prostrˇedı´ NetBeans, ktere´ je produktem sta´le se rozvı´jejı´cı´ho projektu zalozˇene´ho firmou Sun Microsystems, ktera´ je za´rovenˇ i hlavnı´m sponzorem cele´ho projektu. Toto vy´vojove´ prostrˇedı´ podporuje vy´voj webovy´ch aplikacı´, aplikacı´ nad platformou Java EE a navı´c kromeˇ toho, zˇe podporuje Sun Application Server, je mozˇne´ NetBeans a Sun Application Server sta´hnout v jednom balı´ku. Vy´vojove´ prostrˇedı´ NetBeans je bezplatneˇ sˇ´ırˇeny´ produkt, ktery´ je mozˇne´ pouzˇ´ıvat bez jaky´chkoliv omezenı´. Prˇi vy´voj syste´mu byla pouzˇita poslednı´ dostupna´ verze a to NetBeans IDE 5.5. 2
www.sun.com
36
´ DRA SYSTE´MU 6.2. ROZHRANI´ JA
6.2
Rozhranı´ ja´dra syste´mu
Rozhranı´ ja´dra syste´mu je zajisˇt’ova´no webovy´mi sluzˇbami, ktere´ vyuzˇ´ıvajı´ SOAP (Simple Object Access Protocol). Vsˇechny pouzˇite´ webove´ sluzˇby ocˇeka´vajı´ na vstupu pra´veˇ jeden rˇeteˇzec znaku˚ a na vy´stup da´vajı´ opeˇt pra´veˇ jeden rˇeteˇzec znaku˚. Tı´mto rˇeteˇzcem je v obou prˇ´ıpadech XML dokument s danou strukturou, ktera´ je popsa´na da´le. Webove´ sluzˇby poskytovane´ rozhranı´m lze rozdeˇlit do dvou skupin. Sluzˇby patrˇ´ıcı´ do prvnı´ skupiny ocˇeka´vajı´ na vstupu relativneˇ ma´lo informacı´, ale na vy´stupu poskytujı´ veˇtsˇinou relativneˇ hodneˇ informacı´. To jsou sluzˇby, ktere´ vracı´ data obsazˇena´ v syste´mu, ktera´ jsou ja´drem prˇecˇtena z databa´ze a zpracova´na do formy XML dokumentu. Jedna´ se hlavneˇ o prˇehledy za´znamu˚, jednotlive´ za´znamy, poprˇ. nastavenı´ uzˇivatelu˚. Druha´ skupina sluzˇeb naopak ocˇeka´va´ na vstupu relativneˇ hodneˇ informacı´ a na vy´stup posı´la´ pouze strucˇnou odpoveˇd’. To jsou sluzˇby pro ukla´da´nı´ novy´ch cˇi upraveny´ch vstupu˚ od uzˇivatele. Ja´dro zpracuje prˇ´ıchozı´ XML zpra´vu do posloupnosti SQL dotazu˚, jejichzˇ vykona´nı´m se provede aktualizace dat v databa´zi. Jako odpoveˇd’ vra´tı´ pouze zpra´vu o u´speˇsˇne´m cˇi neu´speˇsˇne´m pru˚beˇhu aktualizace. Prˇesna´ struktura veˇtsˇiny zpra´v je popsa´na XML sche´matem. Pomocı´ sche´matu je definova´no, jak mu˚zˇe XML dokument vypadat, a lze s jeho vyuzˇitı´m zjistit, zda je dokument spra´vneˇ vytvorˇen. XML sche´ma je alternativou k DTD. Popis XML dokumentu je sice pomocı´ XML sche´matu o neˇco slozˇiteˇjsˇ´ı nezˇ pomocı´ DTD (document type definition, definice typu dokumentu), na druhou stranu ma´ oproti DTD neˇkolik vy´hod. Jednou z jeho prˇednostı´ je, zˇe XML sche´ma je take´ XML dokument a tedy jej lze le´pe vytva´rˇet a kontrolovat jeho spra´vnost. Umozˇnˇuje definovat prˇesne´ porˇadı´ elementu˚ v dokumentu, jejich pocˇet a obsahuje vı´ce datovy´ch typu˚. Trˇetı´ alternativou pro popis sche´matu XML dokumentu by bylo Relax NG. To ale nenı´ podporova´no takovou rˇadou na´stroju˚ jako XML sche´ma. Zjednodusˇeny´ prˇ´ıklad zpra´vy zası´lane´ syste´mem je uveden v prˇ´ıloze B. Korˇenovy´m elementem je element kormoran. Ten mu˚zˇe obsahovat dva elementy: description a data. Prvnı´ slouzˇ´ı pro popis atributu˚, druhy´ pro vlastnı´ data. Popis metadat a vlastnı´ data jsou takto prˇ´ısneˇ rozdeˇlena prˇedevsˇ´ım proto, aby zpra´va, ktera´ obsahuje vy´pis velke´ho mnozˇstvı´ instancı´, nebyla zbytecˇneˇ velka´ v du˚sledku opakova´nı´ stejny´ch metadat pro kazˇdou instanci zvla´sˇt’. Element description mu˚zˇe obsahovat elementy attribute, ktere´ majı´ mj. atributy slouzˇ´ıcı´ pro urcˇenı´ jme´na atributu a jeho typu. Jeden atribut elementu description urcˇuje, k jake´ entiteˇ atributy patrˇ´ı. Elementy attribute mohou by´t seskupeny do elementu formset pro zprˇehledneˇnı´ formula´rˇu˚. Element data obsahuje zˇa´dny´, jeden cˇi vı´ce elementu˚ item, ktere´ odpovı´dajı´ jednotlivy´m instancı´m entity. Kazˇdy´ element item musı´ obsahovat stejny´ pocˇet elementu˚ attribute, jako element description.
6.3
Podpora operativnı´ho CRM
Evidence Entity firma a osoba slouzˇ´ı pro evidenci nejen kontaktnı´ch u´daju˚ za´kaznı´ku˚, ale i pro ukla´da´nı´ dalsˇ´ıch obchodnı´ch informacı´ jako jsou naprˇ. ICˇ, DICˇ cˇi cˇ´ıslo bankovnı´ho u´cˇtu. Osoby lze prˇipojovat k firma´m jako zameˇstnance. Kazˇda´ firma a osoba majı´ prˇideˇleny 37
ˇ I´STUPOVA ´ PRA ´ VA 6.4. PR
obchodnı´ka, jı´mzˇ je uzˇivatel syste´mu, ktery´ je prima´rneˇ zodpoveˇdny´ za spra´vu u´daju˚ o za´kaznı´kovi a za komunikaci s dany´m za´kaznı´kem.
ˇ ı´zenı´ cˇasu R ´ kol je Pro podporu komunikace a pla´nova´nı´ uvnitrˇ firmy slouzˇ´ı entity u´kol a uda´lost. U neˇjaky´ pracovnı´ u´kon, ktery´ byl zada´n neˇktery´m uzˇivatelem syste´mu jiny´m uzˇivatelu˚m cˇi ktery´ si zadal neˇktery´ uzˇivatel sa´m sobeˇ a ktery´ ma´ by´t splneˇn do urcˇite´ho cˇasove´ho okamzˇiku. Uda´lostı´ mu˚zˇe by´t libovolne´ jedna´nı´ (naprˇ. schu˚zka se za´stupcem za´kaznı´ka cˇi firemnı´ porada), nebo telefona´t apod. Mu˚zˇe slouzˇit k napla´nova´nı´ uda´losti cˇi zpeˇtne´mu zaznamena´nı´ neˇjake´ uda´losti, naprˇ. telefona´tu od za´kaznı´ka. Po prˇihla´sˇenı´ do syste´mu se uzˇivateli jako prvnı´ zobrazı´ stra´nka s jeho aktua´lnı´mi uda´lostmi a u´koly. Kromeˇ vy´cˇtu na´zvu˚ uda´lostı´ s uvedeny´m cˇasem od kdy do kdy trvajı´, ktere´ ma´ uzˇivatel napla´nova´ny na dnesˇnı´ den, vidı´ za´rovenˇ na´zvy vsˇech svy´ch dosud nesplneˇny´ch u´kolu˚. Ty jsou roztrˇ´ıdeˇny do logicky´ch celku˚ podle doby, kdy majı´ by´t plneˇny, poprˇ. kdy meˇly by´t splneˇny. V prvnı´ kategorii vidı´ uzˇivatel u´koly, ktere´ ma´ pra´veˇ plnit. Pokud ma´ jesˇteˇ neˇjake´ nesplneˇne´ u´koly z minulosti, objevı´ se kategorie s u´koly, ktere´ meˇly by´t splneˇny vcˇera, poprˇ. kategorie s jesˇteˇ starsˇ´ımi u´koly. Dalsˇ´ım na´strojem pro prˇehledne´ zobrazenı´ uda´lostı´ slouzˇ´ı kalenda´rˇ. V neˇm v graficke´ podobeˇ uzˇivatel vidı´ vsˇechny sve´ uda´losti chronologicky usporˇa´dane´ podle dne a hodiny. Prˇi prvnı´m zobrazenı´ vidı´ uzˇivatel uda´losti aktua´lnı´ho dne, mu˚zˇe se vsˇak pohodlneˇ a rychle pomocı´ drobne´ho kalenda´rˇ´ıcˇku, ktery´ se zobrazı´ po kliknutı´ na odpovı´dajı´cı´ ikonu, prˇepnout do zobrazenı´ jine´ho dne. Za´znamy obou entit lze nava´zat na konkre´tnı´ firmy, osoby, projekty i prˇ´ıpady, ke ktery´m se vztahujı´. Da´le na uzˇivatele syste´mu jako zadavatele a rˇesˇitele u u´kolu˚ a vedoucı´ a u´cˇastnı´ky u uda´lostı´. Uda´losti a u´koly lze sva´zat i vza´jemneˇ mezi sebou.
Zˇivotnı´ cyklus za´kaznı´ka Entity projekt a obchodnı´ prˇ´ıpad poma´hajı´ sledovat zˇivotnı´ cyklus za´kaznı´ka. Entita obchodnı´ prˇ´ıpad slouzˇ´ı pro zaznamena´nı´ libovolne´ho obchodnı´ho prˇ´ıpadu, jaky´m mu˚zˇe by´t naprˇ. nabı´dka, popta´vka, cˇi reklamace neˇktere´ho potenciona´lnı´ho cˇi sta´vajı´cı´ho za´kaznı´ka firmy. Entita projekt slouzˇ´ı pro zaznamena´nı´ projektu uskutecˇnˇovane´ho firmou pro neˇktere´ho za´kaznı´ka cˇi uskutecˇnˇovane´ho uvnitrˇ firmy pro jejı´ vlastnı´ potrˇeby. Kazˇdy´ projekt ma´ prˇideˇlen vedoucı´ho a mu˚zˇe mı´t prˇideˇlen rˇesˇitele. Kazˇdy´ obchodnı´ prˇ´ıpad ma´ prˇideˇlen obchodnı´ka, jı´mzˇ je uzˇivatel syste´mu, ktery´ je prima´rneˇ zodpoveˇdny´ za spra´vu u´daju˚ o prˇ´ıpadu. Veˇtsˇinou se jedna´ o uzˇivatele, ktery´ prˇijal objedna´vku cˇi popta´vku a dany´ prˇ´ıpad zalozˇil. Za´znamy obou entit lze nava´zat na firmu cˇi osobu jako zadavatele.
6.4
Prˇı´stupova´ pra´va
Syste´m prˇ´ıstupovy´ch pra´v v syste´mu byl vytvorˇen tak, aby byl co nejvı´ce obecny´ a umozˇnˇoval tak prˇideˇlovat pra´va skupina´m uzˇivatelu˚ i jednotlivy´m uzˇivatelu˚m na vsˇechny za´znamy urcˇite´ho typu tak i na konkre´tnı´ za´znamy. Zvoleny´ syste´m prˇ´ıstupovy´ch pra´v 38
ˇ IVATELSKA ´ NASTAVENI´ 6.5. UZ
je zalozˇen na povolovacı´m prˇ´ıstupu. Pokud uzˇivatel nema´ prˇideˇleny zˇa´dna´ vyhovujı´cı´ prˇ´ıstupova´ pra´va, nenı´ mu pozˇadovany´ za´znam zprˇ´ıstupneˇn. Prˇ´ıstupova´ pra´va jsou hierarchicky rozdeˇlena do trˇ´ı u´rovnı´. Kazˇde´ prˇ´ıstupove´ pra´vo se vztahuje bud’ ke skupineˇ uzˇivatelu˚, nebo ke konkre´tnı´mu uzˇivateli. Znamena´ to, zˇe se prˇi provedenı´ libovolne´ akce v syste´mu vyhodnocujı´ prˇ´ıstupova´ pra´va, u nichzˇ je prˇihla´sˇeny´ uzˇivatel, ktery´ vyvolal danou akci, uveden jako uzˇivatel a prˇ´ıstupova´ pra´va patrˇ´ıcı´ skupina´m, do nichzˇ prˇihla´sˇeny´ uzˇivatel patrˇ´ı. Kazˇde´ prˇ´ıstupove´ pra´vo se da´le vztahuje k urcˇite´mu typu za´znamu˚. Znamena´ to, zˇe se prˇi provedenı´ libovolne´ akce v syste´mu nad urcˇity´m typem za´znamu˚ vyhodnocujı´ pouze ta prˇ´ıstupova´ pra´va, ktera´ se vztahujı´ k dane´mu typu za´znamu˚. Kazˇde´ prˇ´ıstupove´ pra´vo ma´ definovanou u´rovenˇ prˇ´ıstupu, ktera´ mu˚zˇe naby´vat trˇ´ı hodnot: Pra´vo cˇtenı´, pra´vo cˇtenı´ a za´pisu a pra´vo cˇtenı´, za´pisu a maza´nı´. Pra´vo cˇtenı´ znamena´, zˇe se mu˚zˇe uzˇivateli za´znam zobrazit v prˇehledu za´znamu˚ a uzˇivatel si mu˚zˇe zobrazit detaily za´znamu. Pra´vo cˇtenı´ a za´pisu znamena´, zˇe uzˇivatel mu˚zˇe navı´c meˇnit u´daje za´znamu. Nakonec pra´vo cˇtenı´, za´pisu a maza´nı´ uzˇivateli zarucˇ´ı nejvysˇsˇ´ı mozˇny´ prˇ´ıstup k za´znamu tı´m, zˇe je mu navı´c umozˇneˇno za´znamy i mazat. Tato hierarchie pra´v sama o sobeˇ zarucˇuje na´sledujı´cı´. Ma´-li uzˇivatel pra´vo urcˇite´ u´rovneˇ, ma´ automaticky i pra´va u´rovnı´ nizˇsˇ´ıch a nenı´ tedy potrˇeba uzˇivateli tato pra´va explicitneˇ prˇideˇlovat. Na ktere´ za´znamy urcˇite´ho typu se prˇ´ıstupove´ pra´vo vztahuje je definova´no v podmı´nce. Podmı´nka se pouzˇije jako testovacı´ kriterium na polozˇky dane´ho typu za´znamu. Tato podmı´nka je napsana´ v jazyce SQL a mu˚zˇe mı´t takovy´ tvar, jaky´ dovoluje databa´zovy´ server, nad nı´mzˇ je syste´m provozova´n. V podmı´nce se mu˚zˇe objevit libovolny´ atribut vztahujı´cı´ se k typu za´znamu, nad nı´mzˇ je prˇ´ıstupove´ pra´vo definova´no. Da´le se v podmı´nce mohou objevit standardnı´ SQL opera´tory pro porovna´va´nı´ jako je rovna´ se, nerovna´ se, mensˇ´ı nezˇ, veˇtsˇ´ı nezˇ, LIKE, NOT LIKE, IN, NOT IN atd., matematicke´ opera´tory pro scˇ´ıta´nı´, odcˇ´ıta´nı´, na´sobenı´, deˇlenı´ apod. Pokud podmı´nka nenı´ definova´na, je bra´na jako TRUE, a tedy prˇ´ıstupove´ pra´vo se vztahuje na vsˇechny za´znamy typu specifikovane´ho prˇ´ıstupovy´m pra´vem. V podmı´nce se mu˚zˇe vyskytnout i specia´lnı´ rˇeteˇzec charakterizujı´cı´ aktua´lneˇ prˇihla´sˇene´ho uzˇivatele. Pomocı´ tohoto rˇeteˇzce lze naprˇ. snadno prˇideˇlovat pra´va zadavatelu˚m a rˇesˇitelu˚m u´kolu˚ apod. Pokud je alesponˇ jedna podmı´nka ze vsˇech prˇ´ıstupovy´ch pra´v vyhovujı´cı´ch dane´mu za´znamu a prˇihla´sˇene´mu uzˇivateli s pozˇadovanou u´rovnı´ prˇ´ıstupu vyhodnocena pozitivneˇ (tj. da´ pravdivostnı´ hodnotu TRUE), je uzˇivateli dany´ za´znam zprˇ´ıstupneˇn v dane´ u´rovni prˇ´ıstupu. Vsˇechny podmı´nky se tedy prˇi vyhodnocova´nı´ skla´dajı´ pomocı´ opera´toru nebo (OR).
6.5
Uzˇivatelska´ nastavenı´
K syste´mu majı´ prˇ´ıstup zameˇstnanci firmy z ru˚zny´ch pozic. Kazˇde´ho z nich proto zajı´majı´ trochu jine´ veˇci. Kromeˇ toho kazˇdy´ uzˇivatel preferuje trochu jinou formu zobrazova´nı´. Syste´m byl navrzˇen tak, aby byl asponˇ do jiste´ prˇizpu˚sobitelny´ jednotlivy´m uzˇivatelu˚m. Nejveˇtsˇ´ı mı´ry prˇizpu˚sobitelnosti bylo dosazˇeno v nastavenı´ zobrazova´nı´ prˇehledu za´znamu˚. Kazˇdy´ uzˇivatel si mu˚zˇe urcˇit pro kazˇdy´ typ za´znamu˚, ktere´ atributy se majı´ zobrazovat 39
6.6. IMPORT A EXPORT
v prˇehledu za´znamu˚, v jake´m porˇadı´ a podle ktere´ho atributu majı´ by´t serˇazeny. Syste´m si tato nastavenı´ automaticky pamatuje pro kazˇde´ho uzˇivatele a kazˇdy´ typ za´znamu˚ zvla´sˇt’ jak beˇhem jeho pra´ce se syste´mem, tak i po opeˇtovne´m prˇihla´sˇenı´ uzˇivatele do syste´mu. Uzˇivatel ma´ navı´c mozˇnost za´znamy efektivneˇ filtrovat. Ve formula´rˇi podobne´mu formula´rˇi pro editaci polozˇek si mu˚zˇe nastavit u atributu˚ rˇeteˇzcove´ho charakteru, jaky´ rˇeteˇzec znaku˚ majı´ obsahovat, u atributu˚ typu cˇas a datum si mu˚zˇe pohodlneˇ urcˇit obdobı´ v jake´m se ma´ hodnota atributu pohybovat apod. U atributu˚ symbolizujı´cı´ vazbu na jiny´ typ za´znamu si mu˚zˇe uzˇivatel prˇ´ımo vybrat, ktere´ za´znamy majı´ s filtrovany´m za´znamem souviset. Nastavenı´ filtru˚ si syste´m opeˇt pamatuje pro kazˇde´ho uzˇivatele a kazˇdy´ typ za´znamu zvla´sˇt’i do doby opeˇtovne´ho prˇihla´sˇenı´ uzˇivatele do syste´mu.
6.6
Import a export
Prˇi zava´deˇnı´ syste´mu do firmy budou zrˇejmeˇ chtı´t budoucı´ uzˇivatele´ rychle a pohodlneˇ prˇene´st do syste´mu vsˇechny u´daje o za´kaznı´cı´ch, ktere´ si doposud vedli jinou cestou. Pokud shromazˇd’ovali u´daje pouze v papı´rove´ podobeˇ, budou muset vsˇechny informace prˇepsat do syste´mu rucˇneˇ. Pokud si vedli u´daje v elektronicke´ podobeˇ, je mozˇne´ tyto u´daje prˇeve´st do XML, nebo nejle´pe prˇ´ımo vyexportovat ze sta´vajı´cı´ aplikace do XML, pokud aplikace tento zpu˚sob umozˇnˇuje. Pouzˇitı´m vhodne´ XSL transformace je nutne´ tento soubor prˇeve´st na forma´t akceptovany´ syste´mem. Obsah tohoto souboru mu˚zˇe administra´tor nahra´t prˇes formula´rˇ v rozhranı´ syste´mu. Uzˇivatele´ majı´ mozˇnost exportovat libovolne´ za´znamy ulozˇene´ v syste´mu do dvou forma´tu˚. Prvnı´m z nich je tzv. CSV (comma-separated values, hodnoty oddeˇlene´ cˇa´rkami), cozˇ je prosty´ textovy´ soubor obsahujı´cı´ hodnoty oddeˇlene´ cˇa´rkami (cˇasteˇji se ale vyuzˇ´ıvajı´ strˇednı´ky) a konci rˇa´dku˚. Takto lze exportovat seznam za´znamu˚ z prˇehledu. Ve vy´sledne´m souboru se objevı´ vsˇechny za´znamy jako jsou v prˇehledu. Zachovajı´ se tedy vsˇechny uzˇivatelova nastavenı´ vcˇetneˇ setrˇ´ıdeˇnı´, zvoleny´ch sloupcu˚ a nastavenı´ filtru. Druhy´m je forma´t XML. Export funguje stejny´m zpu˚sobem jako v prˇedchozı´m prˇ´ıpadeˇ, pouze vy´sledny´ forma´t je XML. Struktura vy´sledne´ho XML dokumentu je naprosto shodna´ se strukturou XML zpra´vy, kterou obdrzˇel webovy´ modul od ja´dra syste´mu webovou sluzˇbou. Jde tedy o pouhe´ zobrazenı´ te´to zpra´vy bez dalsˇ´ıch dodatecˇny´ch u´prav.
6.7
Prˇı´klady rozsˇı´rˇenı´
Syste´m obsahuje po nainstalova´nı´ pouze za´kladnı´ entity a atributy pro podporu CRM. Pro vyuzˇitı´ plne´ho potencia´lu syste´mu je vhodne´ seznam entit a atributu˚ rozsˇ´ırˇit. Prˇ´ıkladem rozsˇ´ırˇenı´ mu˚zˇe by´t vytvorˇenı´ entity, ktera´ by firmeˇ slouzˇila pro evidenci sluzˇeb nebo produktu˚, ktere´ nabı´zı´. Tato entita nebyla zahrnuta do za´kladnı´ho nastavenı´ syste´mu z du˚vodu, zˇe se mu˚zˇe u ru˚zny´ch firem vy´razneˇ lisˇit. Tuto entitu je vhodne´ pak nava´zat na entity projekt a prˇ´ıpad, aby bylo u nich mozˇne´ le´pe sledovat, ktere´ sluzˇby nebo produkty se k nim vztahujı´. Tuto entitu je mozˇne´ da´le nava´zat na entity firma a osoba, aby bylo mozˇne´ dohledat, jake´ sluzˇby cˇi produkty za´kaznı´k jizˇ vyuzˇil. Dalsˇ´ım mozˇny´m rozsˇ´ırˇenı´m mu˚zˇe by´t prˇida´nı´ entity pro zaznamena´va´nı´ plateb a
40
ˇ I´KLADY ROZSˇI´R ˇ ENI´ 6.7. PR
entity pro evidenci pracovnı´ch u´konu˚ zameˇstnancu˚. Platbu mu˚zˇe by´t uzˇitecˇne´ nava´zat jak na entity firma a osoba, tak na entitu projekt, aby bylo mozˇne´ sledovat za´kaznı´kovu platebnı´ mora´lku. Entita pro evidenci pracovnı´ch u´konu˚ se mu˚zˇe va´zat k entiteˇ u´kol a projekt, aby bylo mozˇne´ stanovit cˇas pracovnı´ku˚ stra´veny´ jeho rˇesˇenı´m a na za´kladeˇ teˇchto znalostı´ le´pe prˇedvı´dat, jaka´ doba bude potrˇebna´ pro rˇesˇenı´ podobny´ch u´kolu˚ a projektu˚ v budoucnu. Dı´ky vysoke´ mı´rˇe rozsˇirˇitelnosti je mozˇne´ syste´m prˇizpu˚sobit i oblastem, ktere´ nesouvisejı´ prˇ´ımo s podporou CRM. Prˇ´ıkladem mu˚zˇe by´t vyuzˇitı´ ve firmeˇ zaby´vajı´cı´ se prodejem vstupenek na veletrhy a porˇa´da´nı´m za´jezdu˚ na neˇ. V tomto prˇ´ıpadeˇ by do syste´mu byly prˇida´ny entity pro evidenci u´daju˚ o veletrzı´ch, nabı´zeny´ch vstupenka´ch a za´jezdech. Vstupenky a za´jezdy by se nava´zaly na veletrhy, ke ktery´m se vztahujı´, a za´kaznı´ku˚m, kterˇ´ı si je objednali. Syste´m by pak mohl slouzˇit jako rozhranı´ pro spra´vu ´ daje ulozˇene´ v syste´mu by mohly by´t u´daju˚ o veletrzı´ch, vstupenka´ch a za´jezdech. U na´sledneˇ vyuzˇity pro zobrazova´nı´ na internetovy´ch stra´nka´ch firmy, poprˇ. i pro prˇ´ımy´ prodej vstupenek a za´jezdu˚ v elektronicke´m obchodu. Syste´my pro prezentaci firmy na Internetu cˇi elektronicky´ obchod by nemusely prˇistupovat k u´daju˚m prˇ´ımo do databa´ze, ale mohly by vyuzˇ´ıvat webove´ sluzˇby poskytovane´ ja´drem realizovane´ho syste´mu. Prˇi nasazova´nı´ syste´mu je proto du˚lezˇite´ prove´st analy´zu potrˇeb firmy a syste´m rozsˇ´ırˇit nejdrˇ´ıve o vhodne´ atributy a na´sledneˇ o vhodne´ entity.
41
Kapitola 7
Za´veˇr Textova´ cˇa´st pra´ce strucˇneˇ prˇedstavuje, co znamena´ pojem CRM, prˇiblizˇuje CRM syste´my a prˇina´sˇ´ı srovna´nı´ trˇ´ı existujı´cı´ch CRM syste´mu˚. Hlavnı´m prˇ´ınosem pra´ce je na´vrh a realizace rozsˇirˇitelne´ho syste´mu, ktery´ umozˇnˇuje za provozu prˇida´vat a meˇnit entity a jejich atributy. Dı´ky te´to vlastnosti mu˚zˇe by´t syste´m vyuzˇit i v jiny´ch oblastech, ktere´ nesouvisejı´ prˇ´ımo s podporou CRM. Prakticka´ cˇa´st pra´ce je vytvorˇenı´ fungujı´cı´ho operativnı´ho CRM syste´mu, ktery´ bude v nejblizˇsˇ´ı dobeˇ nasazen do plne´ho provozu ve firmeˇ zadavatele a od za´rˇ´ı 2006 se pla´nuje jeho prodej do jiny´ch firem pod na´zvem Kormora´n. Do te´ doby bude syste´m testova´n za plne´ho provozu a da´le rozvı´jen. Vylepsˇenı´ by se meˇla docˇkat stra´nka s kalenda´rˇem, v nı´zˇ ˇ ´ızenı´ by prˇibyla mozˇnost zobrazit hromadny´ kalenda´rˇ pro libovolny´ vy´beˇr zameˇstnancu˚. R cˇasu by meˇlo by´t doplneˇno o automaticke´ rozesı´la´nı´ emailu˚ upozornˇujı´cı´ch na prˇideˇlenı´ u´kolu cˇi uda´losti. Syste´m by meˇl by´t doplneˇn o plnohodnotne´ho emailove´ho klienta, ktery´ by umozˇnˇoval snadno rozesı´lat a zobrazovat firemnı´ posˇtu a emaily prova´zat s patrˇicˇny´mi za´znamy firem a osob. Na webovy´ch stra´nka´ch syste´mu1 lze nale´zt funkcˇnı´ demo, dokumenty, ktere´ pru˚beˇzˇneˇ vznikaly prˇi na´vrhu a implementaci syste´mu, denı´k, v neˇmzˇ jsou chronologicky zaznamena´ny vsˇechny milnı´ky, pozna´mky a prˇipomı´nky.
1
crm.gajda.cz
42
Bibliografie [Ambler]
AMBLER, S. W. The Object Primer. Agile Model-Driven Development with UML 2.0. 3rd ed. Cambridge: Cambridge University Press, 2004. ISBN 05-215-4018-6.
[Buttle]
BUTTLE, F. Customer Relationship Management. Concepts and Tools. 1st ed. Oxford: Elsevier Butterworth-Heinemann, 2004. ISBN 0-7506-5502-X.
[Duzi]
DUZˇI´, M. Konceptua´lnı´ modelova´nı´. Datovy´ model HIT. 1. vyd. Opava: Slezska´ univerzita v Opaveˇ, 2000. ISBN 80-7248-062-6.
[Chlebovsky]
CHLEBOVSKY´, V. CRM: Od sˇanonu, pastelek a dia´rˇe k sofistikovane´mu e-syste´mu. IT System, 2002, cˇ. 3, s. 28-33.
[Kral]
´ L, J. Informacˇnı´ syste´my. 1. vyd. Veletiny: Science, 1998. ISBN 80KRA 86083-00-04.
[Rehberger]
REHBERGER, I. Analyticke´ CRM syste´my. Softwarove´ noviny, 2002, cˇ. 6, s. 38.
[SAS]
Analyticke´ syste´my jsou nezbytnou komponentou CRM. Prˇ´ıloha IT System, 2001, cˇ. 6, s. 24-25.
[Slovnik]
Oborovy´ slovnı´k pojmu˚ [online]. http://www.qi.cz/solution/dictionary.asp
[Storbacka]
STORBACKA, K., LEHTINEN, J. R. Rˇ´ızenı´ vztahu˚ se za´kaznı´ky. Customer Relationship Management. 1. vyd. Praha: GRADA Publishing, 2002. ISBN 80-7169-813-X.
[Wessling]
WESSLING, H. Aktivnı´ vztah k za´kaznı´ku˚m pomocı´ CRM. Strategie, prakticke´ prˇ´ıklady a sce´na´rˇe. 1. vyd. Praha: GRADA Publishing, 2003. ISBN 80-2470569-9.
43
Prˇ´ıloha A
Obsah prˇilozˇene´ho CD Soucˇa´stı´ pra´ce je i prˇilozˇene´ CD, ktere´ obsahuje: • zdrojove´ ko´dy te´to pra´ce ve forma´tu XML a LATEX • tato pra´ce ve forma´tu PDF, vygenerovana´ pomocı´ aplikace XSL stylu˚ a syste´mu LATEX • zdrojove´ ko´dy syste´mu • bina´rnı´ soubory vznikle´ prˇekladem zrojovy´ch ko´du˚ syste´mu • dokumentace syste´mu • XML sche´mata popisujı´cı´ strukturu zpra´v zası´lany´ch syste´mem • potrˇebne´ knihovny • soubor s SQL da´vkou pro vytvorˇenı´ struktury databa´ze • soubor s SQL da´vkou pro naplneˇnı´ databa´ze testovacı´mi daty • na´vod na zprovozneˇnı´ aplikace • zdrojovy´ ko´d uzˇivatelske´ prˇ´ırucˇky ve forma´tu XML a LATEX • uzˇivatelska´ prˇ´ırucˇka ve forma´tu HTML a PDF, vygenerovana´ pomocı´ aplikace XSL stylu˚ a syste´mu LATEX • podmı´nky sˇirˇitelnosti syste´mu • popis typicky´ch u´loh prˇi pouzˇitı´ syste´mu • popis adresa´rˇove´ struktury CD
44
Prˇ´ıloha B
Prˇı´klad zpra´vy Zjednodusˇeny´ prˇ´ıklad XML zpra´vy poslane´ webovou sluzˇbou ja´dra syste´mu jako odpoveˇd’ na pozˇadavek vypsa´nı´ vsˇech za´znamu˚ entity firma s atributy na´zev a meˇsto:
<description module=”firma”> - Komerc ˇnı ´ banka Praha
- ˇeska C ´ spor ˇitelna Brno
45