Sunteți pe pagina 1din 32

Introducere n mai bine de jumtate de secol, calculatoarele electronice au demonstrat o evoluie spectaculoas att sub aspect tehnologic, ct i de extindere

a domeniilor de aplicaie. Aproape nimic nu mai poate fi conceput a funciona n viitor, fr a nu se ine seam de noile tehnologii ale informaiei i comunicaiilor. ntregul nostru mod de a ne organiza i desfura activitile cotidiene, fie ele casnice, profesionale sau de divertisment, va fi fundamental afectat de noile tehnologii. n ultimii ani, au intervenit schimbri importante n evoluia societii, cu un impact major asupra modului n care gndim, muncim, interacionm, petrecem timpul liber i n mod special, asupra modului n care realizm lucrurile i serviciile. Schimbrile majore, care au impus acest impact i care vor marca evoluia societii n perspectiva noului mileniu, sunt legate n principal de globalizarea competiiei i a pieelor, i de progresele obinute n domeniul tehnologiilor informatice i de comunicaii. Astfel informaia a devenit o resurs esenial n dezvoltarea societilor moderne, evoluate n plan politic, economic i social. Utilizarea larg a tehnologiilor informaiilor i comunicaiilor asigur creterea economic n condiii de protecie sporit a mediului, accelernd reducerea consumului fizic, n favoarea valorificrii informaiei i a cunoaterii, deplasarea centrului de greutate, de la investiii n mijloacele fixe la investiii n capitalul uman. Un sistem de management al relaiilor cu clienii , pe scurt CRM (de la Customer Relationship Management) extinde conceptul de vnzare de la un act discret realizat de un reprezentant de vnzri prin metoda de la persoana la persoana la un proces continuu ce implic fiecare persoan dintr-o companie. CRM se constituie ca un proces prin care o firm i maximizeaz informaiile despre clieni n efortul de a crete loialitatea i de a-i menine afacerea cu acesta pe tot parcursul vieii sale. CRM este un proces complex care interpoleaz multitudinea de date disparate, referitoare la clieni, vnzri, eficacitatea metodelor de marketing, tendinele pieei pe care le pot furniza o serie de departamente sau aplicaii separate. Conceptul de CRM poate fi definit ca o strategie de afaceri: construiete relaii pe termen lung i profitabile cu clieni atent selecionai;

definete clar fiecare segment; se adapteaz mai bine interesului fiecrui client; posibilitatea de a fii ct mai aproape de clieni prin fiecare contact n care va ntlnii; comunicarea cu fiecare client de fiecare dat cnd ai ceva important de spus, nu doar atunci cnd ai ceva de vnzare.1 Relaia cu clientul este mai mult un instrument dect un scop fundamental. Scopul l constituie profitul obinut prin creare de clieni fideli. CRM este un mare tablou care apropie i integreaz; departamentul de vnzri, relaiile cu publicul, departamentele de service, etc. Altfel spus, coordoneaz i unific toate punctele de interaciune ale unei firme cu clienii.

www.whiteimage.ro/index.php/white/ layout/set/print/articole/concepte/ce_este_crm

Compararea cu alte sisteme existente

n prezent CRM-ul a devenit o adevrat filozofie care se materializeaz n dou etape. Prima etapa este trecerea de la concentrarea eforturilor companiei pe caracteristicile produsului spre client i nevoile sale. n aceast faza se realizeaz segmentarea pieei pe baza nevoilor i se msoar satisfacia i loializarea clienilor. A doua etapa este proprie companiilor care nu se mulumesc doar cu existenta unui serviciu de relaii cu clienii bine pus la punct. Ele vor s integreze CRM ntr-o strategie de interacionare eficient cu clientul.2 i cum totul trebuie s se transpun ntr-un beneficiu, CRM-ul ajut la mbuntirea mai multor aspecte ale activitilor: cunoaterea cumprtorului; realizarea unei comunicri care s corespund mult mai bine intereselor clienilor; optimizarea permanent a tuturor proceselor. OpenTaps Caracteristici principale: Opentaps ofer o soluie all-in-one pentru gestionarea afacerilor. Acest instrument ofer soluii pentru gestionarea relaiilor cu clienii si planificarea resurselor unei ntreprinderi. Are o interfaa bazata pe web, ofer integrare cu Microsoft Outlook, Google Calendar , si acces de pe telefonul mobil. Aplicaia server poate fi instalata pe un sistem de operare Windows (32 bit) sau pe orice POSIX(Linux, BSD, alte sisteme bazate pe UNIX).Cat pentru partea client, nu este nevoie de o aplicaie aparte, se acceseaz printr-o interfaa web. Caracteristici: open source : ntreprinderea nu trebuie sa plteasc pentru licena in fiecare luna/an, pentru fiecare utilizator in parte, ceea ce permite economisirea resurselor companiei; contribuie la automatizarea procesului de vnzare si ajuta la identificarea noilor oportunitati de vnzare; generare de rapoarte Pentaho si Jasper Reports; integrare cu Voice Over IP;
2

www.whiteimage.ro/index.php/white/ layout/set/print/articole/concepte/ce_este_crm

e-mail bazat pe browser web cu integrare la email server; bazat pe Java J2EE si Apache Tomcat ; interfaa Web AJAX cu mediu de dezvoltare Google Web Toolkit; compatibilitate cu MySQL, PostgreSQL, Oracle, Microsoft SQL Server; posibilitatea de customizare, adugare de noi funcionalitati,configurat pentru un anumite cerine.

HELP! Desk Caracteristici generale: Un pachet software special conceput pentru Suport Tehnic /Serviciu clieni, att pentru clieni interni cat si externi. Snt incluse profiluri de clieni, posibilitatea de a urmri apeluri , gestionarea bunurilor, o baza de date pentru rezolvarea celor mai des ntlnite probleme. Numeroase rapoarte de analiza pentru tehnicieni si manageri deoportriva. Help!Desk este o aplicaie multi-utilizator si suporta un numr nelimitat de utilizatori conectai simultan. Sistemul se instaleaz si configureaz intr-o reea locala,avnd aplicaia server,baza de date ODBC, si aplicaia client, care se instaleaz pe staiile de lucru. Aplicaia poate aduga date noi despre clieni, vizualiza datele existente si istoria interaciunilor clienilor cu serviciu clieni. Caracteristici: -aplicatie client "live" care afieaz datele clientului, istoricul apelurilor, informaii; hardware si software; sistem gratuit, non-open source, permite economisirea resurselor financiare legate de implementarea sistemului; generarea a mai mult de 35 de tipuri de rapoarte predefinite , fiecare cu criterii de selecie diferite. Aceasta acorda o mare flexibilitate att tehnicienilor cat si managerilor;. personalizare la nivel global sau per-utilizator; sistem de mesagerie instant, de tip "chat"; e-mail, prin sisteme de e-mail MAPI-conforme; cerine hardware si software: memorie operativa 2Gb, sistem de operare Windows XP,Vista sau Windows 7. 50MB spaiu pe hard pentru fiecare staie de lucru, si 60MB spaiu hard disk pentru aplicaia server.

Sistemul de management al relaiilor cu clienii realizat (CRM) este specializat pentru lucrul departamentului de relaii cu clienii, mai exact, suport tehnic sau helpdesk. Va conine o aplicaie cu interfa de lucru simpl pentru angajaii helpdesk care va permite lucrul rapid i eficient att cu mouse-ul, ct i cu tastatura., o interfaa web simpla pentru clieni. Este posibil de realizat accesul la sistem printr-o interfaa web, care ar uura desfurarea sistemului intr-o reea, dar este bine cunoscut ca aplicaiile de web browsing au numeroase bree de securitate, si a oferi accesul la logarea si administrarea datelor printr-o interfaa web nu este tocmai o idee buna in cazul in care vrem sa pstram confidenialitatea datelor primite de la clieni, problemele cu care se confrunta clienii in utilizarea produselor companiei. O alta facilitate pe care o ofer o aplicaie distincta este faptul ca ndeplinete exact funciile cerute, astfel, economisind resursele calculatorului.

2Analiza i proiectarea sistemului

CRM este o strategie de afaceri esenial, care integreaz procesele i funciile interne cu reelele externe, pentru a crea i furniza valoare clienilor int, n condiiile obinerii de profit. Se bazeaz pe date despre client care au o nalt calitate i pe tehnologia informaiei. In procesul de dezvoltare trebuie de considerat att latura strategica cat si cea operaionala , bazata pe soluiile software.3

Sarcinile principale ale aplicaiei snt: aprofundarea cunotinelor n domeniu; studierea sistemelor asemntoare, compararea lor cu sistemul nostru; baza de date de clieni trebuie sa devina depozitarul principal al datelor despre clieni si principala unealta de management a informaiei despre clieni; lista contactelor cu clientul (telefon, e-mail, fax, scrisoare, ntlnire); rapoarte sintetice pe client; selecia si vizualizarea informatiilor in diferite ipostaze (geografica, teritoriu de vnzare, demografica etc.); e-mail (capacitatea de a trimite automat e-mail-uri); baza de date organizata conceptual. Abilitatea de a extinde baza de date de clieni prin adugarea de noi cmpuri; simplitate in management si administrare; operare ergonomica , interfaa prietenoasa;

Pentru a dezvolta un astfel de tip de aplicaie a fost nevoie de folosit limbajul de modelare UML. Faza de analiz i proiectare a unui proiect trebuie sa fie gata nainte de realizarea codului, pentru a obine o atenie mrita din partea diverselor dezvoltatori. Aceste etape au fost ignorate n trecut, dar n prezent orice dezvoltator recunoate importanta acestor faze deoarece s-a dovedit ca
3

http://www.apiscrm.ro/blog/managementul-relatiilor-cu-clientii-coordonate-conceptuale.html

de acestea depinde producerea si refolosirea de software. Pentru analiza si proiectarea programelor s-au creat limbajele de modelare. Unul din cele mai utilizate dintre aceste limbaje de modelare este limbajul de modelare unificat - UML (The Unified Modeling Language). Unified Modeling Language (UML) este un limbaj standard pentru scrierea de schite software. n acest context, scopul UML este vizualizarea, specificarea, construirea si documentarea artefactelor unui sistem software-intensiv, orientat-obiect. UML este numai un limbaj, si prin urmare este numai o parte a unei metode de dezvoltare software. Cu toate ca UML este independent de proces, n mod normal el ar trebui utilizat n procese conduse de cazurile de utilizare, centrate pe arhitectura sistemului.4 [4]

2.1 Analiza cerinelor


Un sistem informaional este un ansamblu de oameni, echipamente, software, procese i date destinate s furnizeze informaii active sistemului decizional, informaii necesare n elaborarea de soluii pentru problemele cu care se confrunt managerii. Sistemul informatic este o parte a sistemului informaional n care procesul de culegere, transmitere, stocare i prelucrare a datelor se realizeaz utiliznd elemente sau componente ale TI, adic mijloace de calcul i de comunicare moderne, produse software specializate, proceduri i tehnici specifice la care se adaug personalul specializat. Tehnologia informaiei este un termen contemporan care descrie combinaia de tehnologii de calcul echipamente i software cu tehnologia comunicaiei reele de transmitere a datelor, imaginilor ,etc. Analitii de sistem sunt acei specialiti care neleg att aspectele legate de facilitile i limitele oferite de tehnologiile informaiei, ct i cerinele de prelucrare a datelor necesare procesului de informare-decizie a agenilor economici. 5 Fiind analizate i studiate pe pai toate cerinele, s au constatat urmtoarele: obiectivul sistemului de a stoca si oferi la cerere informaii despre clieni,apeluri si reclamaii;

4 5

http://www.scritube.com/stiinta/informatica/ ANALIZA-SI-PROIECTAREA-SISTEMU92386.php http://www.scritube.com/stiinta/informatica/ SISTEME-INFORMATIONALE1853202410.php

10

sistemul trebuie s permit: introducerea noilor date despre clieni, afiarea lor,nregistrarea clienilor online si posiblitate de a apela la HelpDesk prin intermediul potei electronice; programul trebuie s genereze rapoarte care ne-ar prezenta datele despre clieni, dificultile ntlnite in utilizarea produsului; informaia trebuie stocata intr-o baza de date accesibila in retea, cu cmpuri deja stabilite ; interfaa web pentru clieni, unde sa fie posibila nregistrarea independenta, expunerea problemei, si vizualizarea statului cererii; Acest sistem va conine o baz de date n care se vor nregistra toate datele cu privire la clieni si interaciunea lor cu compania, o aplicaie client pentru angajai, care fa de sistemul respectiv: aplicaia client trebuie s introducerea noilor date; aplicaia client trebuie s permit modificarea, informaiei cu caracter personal al clienilor existeni in baza; baza de date trebuie sa permit mai mult autentificri simultane. permite nregistrarea noilor date , cat si o interfaa web pentru clieni. Au fost stabilite urmtoarele cerine

2.2 Modelul abstract al sistemului informatic (Diagrama Use Case)


O diagrama a cazurilor de utilizare prezint o colecie de cazuri de utilizare si actori i este folosit n general pentru a indica sau caracteriza funcionalitile i comportamentul ntregii aplicaiei sistemului interacionnd cu unul sau mai muli actori. Utilizatorii i orice sistem ce poate interaciona cu sistemul sunt actori. Att timp ce actorii reprezint utilizatorii, ei ajuta la delimitarea sistemului si ofer o imagine clara a ceea ce se ateapt a se ntmpla n sistem. Cazurile de utilizare sunt construite pe baza nevoilor pe care le au actorii (utilizatorii). Aceasta asigura faptul ca sistemul va produce ceea ce s-a dorit. Diagramele cazurilor de utilizare conin elemente ce pot reprezenta actori, relatii de asociere, relatii de generalizare, pachete si cazuri de utilizare. Se poate crea o diagrama a cazurilor de utilizare de nivel nalt, pentru a vizualiza limitele si comportamentul sistemului.

11

De asemenea, se pot crea una sau mai multe diagrame pentru a descrie o parte a aplicaiei sistemului. Cazurile de utilizare pot include alte cazuri de utilizare ca o parte a comportamentului sau. O diagrama a cazurilor de utilizare indica un set de actori externi si cazurile de utilizare ale sistemului n care participa respectivii actori.6 Deci mai jos vom descrie toate cazurile de utilizare aplicnd metoda de analiz pentru sistemul implementat. Administratorul va putea instala, configura si monitoriza sistemul. n figura 1.1 sunt reprezentate funciile principale ale administratorului. Aceste funcii sunt:
uc Functiile administratorului

Configurarea serv iciilor serv er

Configurarea aplicatiei client

Instalarea aplicatiei client

Administrator

Monitorizarea sistemului

Figura 1.1 Funciile administratorului

configurarea serviciului server aici se vor indica setrile principale pentru partea
server. Se va instala baza de date, web serverul si se va asigura pagina web pentru clienti;

instalarea aplicaiei client dup configurarea serverului, , va urma instalarea


aplicaiei client pe staiile de lucru din reea;

configurarea serviciului client se va configura aplicaia client pentru conexiune


la baza de date;

http://www.itzone.ro/articolDisplay.php?id=38&categorie_id=0

12

monitorizarea func ionalit ii se va analiza toate procesele care are loc pe server
i anume erorile, reu itele i distribuirea resurselor serverului. Clientul va putea depune o cerere de ajutor prin intermediul paginii web sau apelnd la helpdesk. n figura 1.2 sunt reprezentate funciile principale ale clientului.
uc Functiile clientului

Client Logare/Inregistrare online Apeleaza helpdesk

extend

extend

include

Lasa o cerere pe site-ul w eb

Monitorizare cerere

Expunere problema

Figura 1.2 Funciile clientului

logare / inregistrare online - clientul poate accesa site-ul web, in caz ca e pentru prima data, se nregistreaz, daca a mai vizitata sistemul, se logheaza. Poate depune o cerere si monitoriza rezolvarea acesteia; apeleaz helpdesk - clientul ia legtura telefonic cu reprezentantul serviciului de suport clieni, expune problema.

Angajatul, va avea acces la aplicaia client, prin intermediul creia o sa vizualizeze si rspund cererile primite de pe web,sau in cazului unui apel telefonic va folosi aplicaia pentru a

13

identifica sau nregistra clientul, si ulterior va oferi o soluie clientului, soluia la fel nregistrnd-o. n figura 1.3 sunt reprezentate funciile principale ale administratorului:

uc Functiile angaj atului

Angaj atul

Receptioneaza cereri v enite de pe w eb

Primeste apeluri

include

include include

Ofera o solutie Inregistreaza / Identifica clientul

Figura 1.3 Funciile angajatului

recepioneaz cereri venite de pe web - angajatul va putea monitoriza si recepiona cererile venite de pe web; expediaz soluii pe email - soluia oferita de angajat este expediata la adresa de posta electronica indicata de client; primete apeluri - angajatul(reprezentatul serviciului suport tehnic) recepioneaz apeluri de la clieni care solicita informaie sau ajutor in rezolvarea unei probleme; ofer o soluie - reprezentatul serviciului suport tehnic,ofer o soluie clientului respectiv, nregistrnd acest fapt in istoria interaciunilor cu acest client. nregistreaz/identifica clientul - in cazul in care clientul apeleaz pentru prima data, reprezentatul serviciului suport tehnic obine date informaia pentru nregistrare de la

14

client, sau daca mai exista interaciuni cu acest client, identifica clientul in baza de date.

n Figura 1.4 este reprezentat diagrama pentru configurarea serviciilor server, ea cuprinde urmtoarele funcii:
uc Configurarea serv iciilor serv er

Instalarea si configurarea DB Oracle Administrator

Instalarea si configurarea serv erului w eb

include

Configurare Apache

Figura 1.4 Configurarea serviciilor server

instalarea si configurarea DB Oracle - administratorul instaleaz baza de date Oracle, si asigura accesul la aceasta; instalarea si configurarea serverului web - adminstratorul instaleaz serviciile de webserver, interpretatorul de script PHP , Apache. Figura 1.5 reprezint diagrama pentru instalarea aplicaiei client , cu urmtoarele funcii:

15

uc instalarea aplicatiei client

Vizualizeaza statiile de lucru in reatea

Instaleaza aplicatia client pe statiile de lucru

Administratorul

Selecteaza statiile de lucru pentru instalarea aplicatiei

Sterge aplicatia client de pe statia de lucru

include Adauga alte calculatoare Indica datele de autentificare include

Figura 1.5 - Instalarea aplicaiei client

vizualizeaz staiile de lucru din reea - se determina reeaua locala si staiile de lucru; selecteaz staiile de lucru pentru instalarea aplicaiei - din reea se va selecta
calculatoarele la care vor lucra reprezentanii serviciului de suport tehnic;

indic date de autentificare - pentru a se conecta la baza de date , se vor indica datele de
autentificare;

aduga calculatoare din alte reele - se va putea aduga i alte calculatoare; instalarea aplicaiei client - aplicaia client se va instala pe staiile de lucru; tergerea aplicaiei client -aplicaia client se va terge de pe staiile de lucru.

16

In urmtoarea figura este prezentat procesul de monitorizare a sistemului(figura 1.6):


uc Monitorizarea sistemului

Depanare

Distribuirea resurselor serv erului Administrator

Figura 1.6 - Monitorizarea sistemului

depanare prin intermediul instrumentelor oferite de server, administratorul va avea


posibilitate s analizeze erorile i anume erori de conectare, de introducere a datelor, etc.;

distribuirea resurselor serverului la fel, cu ajutorul instrumentelor oferite de server, se


va putea analiza i funcionalitatea serverului i anume ct de ncrcat este procesorul serverului, ct de ncrcata este reeaua etc.

2.3 Diagrame de interaciune


Diagramele de colaborare si diagramele de secvena sunt reprezentaii alternative pentru interaciuni ntre obiecte. Diagramele de secvena prezint interaciunile ntre obiecte din punct de vedere temporal, contextul obiectelor, nefiind reprezentat n mod explicit ca n diagramele de colaborare, reprezentarea concentrndu-se pe exprimarea interaciunilor. O diagrama de secvena reprezint o interaciune ntre obiecte insistnd pe cronologia (ordinea temporala) a expedieri mesajelor. Notaia este derivata din diagramele MSC (Message Sequence Chart) OO ale grupului Pattern-uri Siemens (1996).7 Diagramele de secven sunt diagrame de interaciune ce evideniaz ordinea realizrii prelucrrilor (transmiterii mesajelor)8. Elementele de baz ale unei diagrame de secven sunt:
7 8

http://www.itzone.ro/articolDisplay.php?id=38&categorie_id=0 http://www.scritube.com/stiinta/informatica/ANALIZA-SI-PROIECTAREA-SISTEMU92386.php

17

obiectele ce intervin n prelucrri, prin transmiterea i primirea de mesaje. Ele se reprezint prin dreptunghiuri, plasate orizontal, n partea de sus a diagramei, n care sunt scrise numele acestora. liniile de via a obiectelor evideniaz duratele de existen a obiectelor. Ele se reprezint cu un dreptunghi ataat unor linii verticale punctate ce vin de la fiecare obiect. mesajele sunt elementele de comunicare dintre obiecte, cum ar fi apelurile de operaii i se reprezint cu sgei ce unesc liniile de via ale obiectelor. Diagramele de secven ilustreaz interaciunile dintre obiecte sau actori si obiecte din punct de vedere temporal. Un obiect este reprezentat printr-un dreptunghi i o bar vertical numit linia de via a obiectului. Mesajele sunt reprezentate prin sgei orizontale orientate de la emitorul mesajului ctre destinatar. Ordinea de trimitere este dat de poziia pe axa vertical. Timpul se scurge de sus n jos. Axa vertical poate fi gradat n scopul exprimrii mai exacte a constrngerilor temporale n cazul modelrii unui sistem de timp real. Mai jos sunt reprezentate i descrise diagramele de secven pentru sistemul nostru informaional. Figura 2.1 prezint interaciunea clientului cu sistemul. Etapele de interaciune sint: server; in sistem; de date; statut cerere dup introducerea cererii in baza de date, clientul primete informaii despre statutul cererii. validare login parola browser-ul trimite datele spre validare; conexiune la baza de date in cazul validrii pozitive, are loc conexiunea istoria cererilor - utilizatorul primete informaii despre istoria cererilor; trimite o cerere pentru servicii clientul scrie o noua cerere; scrierea cererii in BD cererea aplicate de client este introdusa in baza rspuns serverul web ofer acces la pagina sau o eroare; login si parola clientul introduce login-ul si parola pentru autentificare navigare ctre pagina folosirea unui web browser pentru a trimite o cerere pagina browser-ul web trimite cererea de acces la pagina ctre cerere de afiare a paginii web ctre server;

la baza de date;

18

sd interactiunea clientului cu serv iciul w eb Browser Client WebServer Baza de date

navigare la pagina() cerere pentru pagina() raspuns() login si parola() validare login si parola() conexiune la baza de date()

istoria cererilor()

trimite o cerere pentru servicii() scrierea cererii in BD()

statut cerere()

Figura 2.1 - Interaciunea clientului cu sistemul In figura (2.2) avem diagrama de secvena pentru interaciunea angajatului cu sistemul. Angajatul interacioneaz cu sistemul dup cum urmeaz: login/ parola se deschide aplicaia client si se introduc date de autentificare ; validare login/parola aplicaia valideaz datele de autentificare si realizeaz legtura cu baza de date; logare reuita sau eroare baza de date trimite un rspuns prin intermediul aplicaiei la cererea de autentificare; cautare client are loc iniierea unei cereri de cutare a clientului in baza de date; cerere cutare baza de date primete cererea de cutare prin intermediu aplicaiei; rezultatele cautarii rezultatele cautarii sint prezentate operatorului cu ajutorul aplicaiei client;

19

date despre problema si solutie in cazul interceptrii unui apel telefonic, operatorul introduce date despre problema expusa de client si soluia oferita; inregistrare - aplicaia nscrie informaiile in baza de date; adaugarea unui client nou - operatorul nregistreaz un client nou in vaza de date; date despre interaciuni anterioare operatorul trimite o cerere de vizualizare a interaciunilor precedente cu clientul respectiv; returnare date despre interaciuni anterioare baza de date rspunde cererii , returnnd rezultatele.
sd interactiunea angaj atului cu sistemul Aplicatie client Angajat login/parola() verificare login parola() baza de date

logare reusita sau eroare()

cautare client()

cerere de cautare()

rezultatele cautarii()

date despre problema si solutie()

inregistrare()

adaugarea unui client nou()

date despre interactiunile anterioare() returnare date despre interactiuni anterioare()

Figura 2.2 - Interaciunea angajatului cu sistemul

20

2.4 Diagrame de activit i


Diagrama de activitate este o variant al diagramei de stare i are un scop puin diferit, acela de a captura aciunile i rezultatele lor. De fapt este o cale alternativ de descriere a interaciunilor, cu posibilitatea de specificare a aciunilor care se vor realiza: ce fac acestea ? (modificrile strilor obiectului), cnd au loc ? (secvena de aciuni) i unde au loc ? Diagrama de activitate poate fi folosit n mai multe scopuri: pentru a ilustra aciunile care vor fi realizate cnd este executat o operaie. Acesta este i cel mai comun caz cnd apelm la acest tip de diagram; pentru a captura munca intern a unui obiect; pentru a arta ce set de aciuni legate pot fi realizate i cum vor afecta acestea obiectele din jur; pentru a arta cum o instan a unui caz de utilizare poate fi realizat n termenii aciunilor sau modificrilor intervenite n starea obiectului; pentru a ilustra cum este organizat munca actorilor, care este organizarea i obiectele folosite.9 In figura urmatoare avem diagrama de activitate a serverului(figura 2.3).In aceasta diagrama se pot observa principalele funcii ale serverului in cadrul sistemului: ncrca serviciul web calculatorul ncarc software care ii va da funcia de server si va fi disponibil pentru acces din reea; ncarc baza de date cum suna si activitatea data, se va ncrca baza de date Oracle si va fi fcuta accesibila in reea; asculta conexiuni serverul va atepta conexiuni care vor veni din reea; identificare severul va valida conexiunea prin identificarea parii, in caz de succes, se va asigura accesul la baza de date; anuna o eroare in cazul unei erori de validare a identitatii, serverul va transmite un mesaj de eroare; autorizarea sesiunii daca identificarea a avut loc cu succes, sesiunea este autorizata, se asigura acces la resursele serverului; proceseaz cereri serverul prelucreaz informaia si comenzile primite din reea;

http://inf.ucv.ro/~giurca/courses/CB3105/resources/Modelarea%20Dinamica.pdf

21

terminarea sesiunii in cazul in care utilizatorul a termina sarcinile, are loc nchiderea sesiunii de acces.
act Activitatea serverului

Start

Incarca servicul web

Incarca baza de date

Asculta conexiuni

Identificare

reusit

eroare Autorizarea sesiunii Anunta despre eroare

Proceseaza cereri

Terminarea sesiunii

nu

da

Stop

Figura 2.3 Activitatea serverului

22

Activitatea clientului in sistemul dat poate fi observata in figura (2.4): alege modalitatea de contact clientul alege prin cale va contacta cu sistemul, mai exact, cu serviciul de suport tehnic; acceseaz pagina web o opiune a clientului pe care o are in momentul alegerii modalitii de contact ,acceseaz pagina web a serviciului de suport tehnic; apeleaz helphesk e a doua opiune pe care clientul o are in momentul alegerii modalitii de contact , si anume , prin telefon, ia legtura cu helpdesk; identificare clientul, fie ca a ales pagina web, sau apelul telefonic la helpdesk, trebuie sa se identifice; expunere problema are loc expunerea problemei, motiv pentru care clientul a accesat serviciul de suport clieni; primete o soluie indiferent de modul de interaciune a clientului, el primete o soluie pentru problema apruta.

23

act Activ itatea clientului

Start

Alege modalitatea de contact

Acceseaza pagina w eb

Apeleaza helpdesk

Identificare

Expunere problema

Primeste o solutie

Stop

Figura 2.4 Interaciunea clientului cu sistemul

Figura 2.5 prezint activitatea angajatului in cadrul sistemului:

24

deschide aplicaia ruleaz aplicaia client pe staia de lucru; autentificarea are loc autentificarea angajatului in sistem, deschiderea accesului la resursele sistemului; recepionarea cererii web prin intermediul aplicaiei angajatul primete cereri de pe pagina web; recepionarea apelurilor telefonice angajatul recepioneaz un apel telefonic din partea unui client; identificare client, nregistrare in baza de date angajatul identifica clientul, determina daca acesta a mai apelat, nregistreaz clientul, in caz ca e un client nou, sau identifica clientul in baza de date, daca acesta a mai apelat anterior. oferirea soluiei angajatul (tehnicianul) ii ofer o soluie clientului, la problema expusa de acesta.

25

act activ itatea angaj atului in cadrul sistemului

Start

Deschide aplicatia

Autentificare

nereusita

reusita

Receptionarea cereri w eb

Receptionarea apelurilor telefonice

Identificare client, inregistrare in baza de date

Oferirea solutiilor

Stop

Figura 2.5 Activitatea angajatului in cadrul sistemului

26

2.5 Diagrama de desfurare


Diagrama de desfurare descrie structura sistemului n momentul execuiei. Ea prezint dispunerea fizic a diferitelor elemente hardware, numite noduri, care intr n componena unui sistem,i repartizarea programelor executabile pe aceste elemente. n diagrama de desfurare, se indic nodurile i conexiunile unui model. Un nod este resursa care este disponibil n timpul execuiei unui sistem software i reprezint un procesor sau un dispozitiv, pe care vor fi desfurate i executate componentele sistemului. Un procesor este un nod care poate executa o component (calculatoare n reea). Fiecare nod trebuie s aib un nume. La nivelul fiecrui procesor pot fi identificate procese. Un procesor trebuie s aib memorie i anumite capabiliti de procesare (dispozitive de calcul, resurse umane, etc.) Un dispozitiv (echipament periferic) reprezint un element hardware care, n sistemul din care face parte, nu are putere de calcul. Fiecare dispozitiv trebuie s aib un nume, care poate fi generic, ca de exemplu: monitor, imprimant, tastatur, modem, etc.In UML, un nod se reprezint printr-un paralelipiped (de multe ori este un cub), care este etichetat cu numele nodului. Nodurile pot fi organizate n pachete, n acelai mod ca i clasele i componentele. O conexiune reprezint un tip hardware care realizeaz cuplarea ntre dou noduri. Conexiunea poate fi direct, ca de exemplu prin cablu, reea Ethernet, linii telefonice, etc., sau indirect, ca de exemplu conexiunea prin satelit.10 Mai jos este prezentata diagrama de desfurare (figura 2.6) : clientul - reprezint persoana fizica sau juridica,pentru beneficiul cruia este construit sistemul de gestiune a serviciilor de suport tehnic. Pentru ca sistemul implementat,sa nceap sa funcioneze, clientul trebuie sa acceseze sistemul prin intermediul unui web browser pagina de deservire sau sa i-a legtura directa cu un reprezentat al serviciului de suport tehnic; serverul - este calculatorul care are rol de server, gzduiete pagina web pe care o acceseaz clientul,baza de date unde snt salvate toate informaiile, serverul web Apache;

10

http://www.scribd.com/doc/25097208/Diagrame-de-Componente-Si-de-Desfasurare

27

angajatul - reprezint persoana fizica, care are acces la o staie de lucru, configurata pentru a accesa sistemul, si anume , staia de lucru este dotata cu o aplicaie (GUI) care permite specialistului IT (angajatului) sa interacioneze cu sistem. Fiecare modul, este format din cel puin un component: web browser aplicaie , numita si navigator de web sau browser Internet, cu ajutorul cruia clientul acceseaz serviciile serverului. linie telefonica - al doilea mod de interaciune cu sistemul. apache - un server HTTP de tip open source, suport o mare varietate de module care i extind funcionalitatea, acestea variaz de la server side programming i pn la scheme de autentificare. Cteva limbaje suportate sunt: mod_perl, mod_python, Tcl si PHP. GUI - reprezint aplicaia scrisa in Java, utilizata de angajat/specialist IT pentru a interaciona cu sistemul.
deployment Diagrama de desfasurare

executionEnvironment Client Web brow ser Web brow ser

executionEnvironment Serv er

Apache

BD Oracle

Linie telefonica

executionEnvironment Angaj at

GUI

Figura 2.6 - Diagrama de desfurare.

28

3 Realizarea sistemului
nainte de a ncepe implementarea propriu zisa a sistemului,la generarea codului sursa, este necesar de proiectat sistemul, aceasta se face cu ajutorul diagramei claselor. Acest tip de diagrame este cel mai utilizat n modelarea sistemelor orientate pe obiecte.

3.1 Diagrama claselor


Diagrama claselor este un tip de diagram utilizat pentru descrierea structurii statice, adic a entitilor sau claselor existente ntr-un sistem. Acest tip de diagram este utilizat cel mai adesea de ctre dezvoltatori pentru specificarea claselor dar poate fi foarte util i pentru specificarea structurii unor sisteme sau subsistem dintr-un business real. Atunci cnd diagrama este folosit pentru a modela structuri de business se pot folosi tipurile de date specifice business-ului, nu programrii, de exemplu: minut, dat calendaristic, minut etc. Motenirea este o relaie prin care se indic faptul c o clas motenete caracteristicile clasei printe. n plus, clasa copil poate avea propriile caracteristici. Asocierea arat existena unei relaii ntre clase. Un tip special de asociere este indicat printr-o clas de asociere. Altfel spus, relaia n sine este o clas. Dependena indic faptul c o clas depinde de alt clas, n sensul n care o funcie oarecare depinde de un parametru al su. Agregarea indic faptul c o clas printe are elemente de tipul clasei copil. ntr-o relaie de tip compoziie clasa copil nu poate exista dect dac exist o instan a clasei printe.11 In continuare este prezentat diagrama claselor pentru aplicatia client(figura 3.1), si o scurta descriere a principalelor clase: LoginGUI - implementeaz interfaa de login pentru aplicaia CRM; DB - este folosita pentru a face conexiunea cu baza de date; UserGUI - implementeaz interfaa grafica intre utilizator si baza de date; JTextFieldLimit - este folosita pentru a seta limita maxima de text ce poate fi introdus intr-un cmp de text.

11

http://www.techit.ro/tutorial_uml_5.php

29

Figura 3.1 Diagrama claselor

30

3.2

Explicarea codului generat

n continuare voi prezenta secvene de cod necesare pentru a implementa aplicaia. Clasa LoginGUI extinde JFrame si implementeaz KeyListener ,la fel, implementeaz interfaa de login pentru aplicaia CRM , conine singura metoda main din program (astfel celelate clase pot fi apelate. Este folosit conceptul de agregare: clasa DB este iniializata ca component al clasei LoginGUI. Constructorul LoginGUI() iniializeaz componetenele din JFrame (butoane, cmpuri de text, etichete), seteaz fereastra de login in centrul ecranului in dependenta de rezoluia monitorului, seteaz KeyListener pentru cmpurile de text (la apsarea tastei "Enter" cnd cursorul se afla pe unul din capuri se executa funcia butonului de Login). Metode: loginButtonActionPerformed() la apsarea butonului de login se citete textul din cmpurile de text: username si passsword, se conecteaz la baza de date (user si parola pentru database sunt setate din cod, din motive de securitate), are loc verificarea user-ului si parolei introduse cu cele din baza de date (tabela accounts), daca parola a fost introdusa corect, user-ul s-a conectat cu success, frame-ul de LoginGUI este inchis, si se deschide frame-ul de UserGUI, altfel afiseaza mesaj de eroare. keyPressed() cand este apasata tasta "Enter" se executa metodloginActionPerformed().

public class LoginGUI extends JFrame implements KeyListener{ DB db = new DB(); /** Creates new form LoginGUI */ public LoginGUI() { initComponents(); Dimension sizeW = Toolkit.getDefaultToolkit().getScreenSize(); Dimension sizeF = this.getSize(); /* Set the window frame at screen center*/ this.setLocation((sizeW.width-sizeF.width)/2,(sizeW.heightsizeF.height)/2); passField.addKeyListener(this); userField.addKeyListener(this); }

31

private void loginButtonActionPerformed(java.awt.event.ActionEvent evt) { if (db.conn!=null) System.out.println("Connection successful"); else System.out.println("Connection failed"); String usernameF = userField.getText(); String passwordF = passField.getText(); String usernameDB="", passwordDB=""; try { Statement stat = db.conn.createStatement(); ResultSet rs = stat.executeQuery("SELECT username, password from accounts where username='"+usernameF+"'"); while(rs.next()){ usernameDB = rs.getString("username"); passwordDB = rs.getString("password"); passwordDB=passwordDB.trim(); //remove the whitespaces from System.out.println("Username="+usernameDB+"\nPassword="+passw } if (passwordDB.equals(passwordF)){ System.out.println("Login successful!"); java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new UserGUI().setVisible(true); }

the password ordDB);

} else System.out.println("Fail.\n"+passwordDB+".\n"+passwordF+"."); } catch (SQLException ex) { System.err.println("SQLException: " + ex.getMessage()); } } public UserGUI() { Dimension sizeW = Toolkit.getDefaultToolkit().getScreenSize(); this.setPreferredSize(sizeW); this.setExtendedState(this.MAXIMIZED_BOTH); initComponents(); escDesktopPane.setVisible(false); callDesktopPane.setVisible(false); searchDesktopPane.setVisible(false); }

}); this.dispose();

32

S-ar putea să vă placă și