Sunteți pe pagina 1din 74

ACADEMIA DE STUDII ECONOMICE

Facultatea de Cibernetică, Statistică şi Informatică Economică

Cibernetic ă , Statistic ă ş i Informatic ă Economic ă LUCRARE DE LICEN ŢĂ DEZVOLTAREA

LUCRARE DE LICENŢĂ

DEZVOLTAREA UNUI SISTEM INFORMATIC DE

CONTACT CENTER

Profesor Coordonator:

Lect. univ. dr. Bâra Adela

BUCUREŞTI - 2010 -

Absolvent:

Mîndru Daniel

Dezvoltarea unui sistem informatic de Contact Center

CUPRINS

INTRODUCERE

4

Capitolul 1.

Descrierea problemei economice

6

1.1. Prezentarea companiei ING Asigurări de Viaţă

6

1.2. Compartimentele companiei

8

1.3. Activităţile firmei

10

1.4. Prezentarea activităţii care va fi informatizată

11

Capitolul 2.

Tehnologii informatice utilizate

14

2.1.

Programare orientată pe obiecte

14

2.1.1. Introducere în .NET

14

2.1.2. Arhitectura .NET Framework

15

2.1.3. De ce am alege .NET?

16

2.2. Introducere în limbajul C#

16

2.3. Introducere în limbajul SQL

17

2.4. SQL Server 2008 - inovaţii în domeniul securitate

17

2.5. Accesarea şi prelucrarea datelor cu ajutorul obiectelor ADO.NET

20

2.5.1. Arhitectura ADO.NET

21

2.5.2. Furnizori de date (Data Providers)

22

2.5.3. Conectare

22

2.5.4. Accesul direct la date prin intermediul ADO.NET

23

2.6.

Modelul client - server

24

2.6.1. Prezentarea arhitecturii

24

2.6.2. Utilizarea socket-urilor pentru comunicarea în timp real

26

Capitolul 3.

Analiza şi proiectarea sistemului informatic

28

3.1. Specificarea cerinţelor sistemului informatic

28

3.2. Analiza sistemului existent

29

3.2.1.

Identificarea entităţilor şi a caracteristicilor acestora

30

2

Dezvoltarea unui sistem informatic de Contact Center

 

3.2.2.

Identificarea procedurilor necesare

32

3.3.

Proiectarea noului sistem:

33

3.3.1.

Proiectarea schemelor bazei de

33

Capitolul 4.

Realizarea aplicaţiei informatice

38

4.1.

Implementarea aplicaţiei

38

4.1.1. Aplicaţia operatorului

38

4.1.2. Aplicaţia dispecerului

43

4.1.3. Serverul

43

4.2.

Prezentarea aplicaţiei

44

4.2.1. Aplicaţia

operatorului

44

4.2.2. Aplicaţia de la Dispecerat

53

4.2.3. Serverul

57

 

CONCLUZII

61

BIBLIOGRAFIE

62

ANEXE

63

3

Dezvoltarea unui sistem informatic de Contact Center

INTRODUCERE

Denumirea generică de Call Center sau Contact Center creează de multe ori confuzii. Uzual, denumirea este folosită pentru a indica serviciile pe care o companie le furnizează clienţilor săi şi anume acelea de preluare - şi soluţionare/distribuire apeluri în numele lor (proces denumit generic INBOUND) şi iniţializare apeluri în numele clienţilor (proces denumit generic OUTBOUND). Ca să existe o imagine generică, luăm ca exemplu o sală mare cu zeci sau chiar sute de persoane cu căşti pe cap şi calculator în faţă care nu fac altceva decât să vorbească la telefon.

Funcţional, un Call Center se compune dintr-un sistem telefonic interconectat la o aplicaţie software ce permite 2 funcţii importante: rutarea inteligentă a apelurilor (dacă ar fi să enumerăm numai câteva: redirecţionarea apelurilor către grupuri de agenţi în funcţie de disponibilitate, de nivelul lor de pricepere, gradul de încărcare, etc.) şi mai ales generarea de STATISTICI. De ce sunt atât de importante statisticile? Pentru că pe baza lor se generează rapoarte de activitate pentru toţi agenţii şi pe bază cărora se identifică, de exemplu, dacă o campanie de OUTBOUND comandată de un client, care doreşte să vândă un produs prin acest serviciu, şi-a atins ţinta sau nu.

Aşadar mecanismele unui Call Center sunt foarte complexe şi pot fi modificate în funcţie de anumite cerinţe specifice. Un alt exemplu, ar fi posibilitatea integrării cu aplicaţii software care permit interacţiunea agenţilor cu clienţii prin e-mail sau portaluri web.

Aplicaţia realizată poate fi utilizată într-un Call Center pentru:

Stocarea informaţiilor despre clienţi;

Stocarea informaţiilor oferite fiecărui client despre produsele companiei ING Asigurări de Viaţă;

Generarea de mesaje alertă către beneficiar în anumite situaţii;

Gestiunea alertelor legate de solicitările clienţilor;

Raportări periodice despre situaţia apelurilor efectuate de clienţi;

Raportări periodice despre informaţiile stocate în baza de date: studii de marketing şi alte analize.

4

Dezvoltarea unui sistem informatic de Contact Center

Prima tehnologie folosită este .NET care este un cadru (Framework) de dezvoltare software unitară ce permite realizarea, distribuirea şi rularea aplicaţiilor desktop Windows şi aplicaţiilor WEB.

Tehnologia .NET pune laolaltă mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL, UDDI) şi limbaje de programare (VB, C++, C#, J#) asigurând, totodată, atât portabilitatea codului compilat între diferite calculatoare cu sistem Windows, cât şi reutilizarea codului în programe, indiferent de limbajul de programare utilizat.

Aplicaţia realizată are nevoie de un sistem complet de gestionare a bazelor de date (RDBMS) pentru care am folosit SQL Server 2008, care să asigure gestionarea infrastructurii, performanţă şi fiabilitate. Un astfel de sistem poate furniza date pentru mai mulţi utilizatori simultan, elimină datele incorecte şi poate executa la un moment dat un grup de comenzi care sunt văzute ca o singură unitate.

Pentru conexiunea la baza de date, accesarea şi prelucrarea datelor am folosit ADO.NET (ActiveX Data Objects) care reprezintă o parte componentă a nucleului .NET Framework ce permite conectarea la surse de date diverse, extragerea, manipularea şi actualizarea datelor

5

Dezvoltarea unui sistem informatic de Contact Center

Capitolul 1.

Descrierea problemei economice

1.1. Prezentarea companiei ING Asigurări de Viaţă

ING Asigurări de Viaţă este o componentă a Grupului ING care a fost constituit în 1991 prin fuziunea dintre Nationale - Nederlanden şi grupul NMB PostBank. Grupul ING reprezintă o combinaţie unică a operaţiunilor de asigurări, activităţi bancare şi investiţii, având scopul declarat de a oferi clienţilor servicii financiare integrate. Această strategie a fost iniţiată în Olanda, iar ulterior a fost extinsă în toate ţările în care a fost posibil şi s-a considerat că poate fi profitabilă. Grupul ING furnizează servicii de asigurare, bancare, investiţii şi de pensii în peste 50 de ţări. Cei 125.000 de angajaţi deservesc 85 de milioane de clienţi din întreaga lume:

persoane fizice, companii de dimensiuni mici şi mijlocii, corporaţii mari, instituţii şi guverne, oferindu-le acestora libertatea de a alege alternativa care se potriveşte cel mai bine nevoilor individuale. Puterea financiară a Grupului, gama vastă de produse şi servicii, marea diversitate a surselor de profit şi buna răspândire a riscului formează baza continuităţii şi creşterii potenţialului ING. Luând în considerare capitalizarea (valoarea pe piaţă calculată la 30 iunie 2009), ING este una dintre cele mai mari 20 de companii financiare din lume. Grupul ING este format din cinci centre de management care asigură cooperarea şi sinergia diferitelor tipuri de activităţi financiare dezvoltate de componentele grupului.

ING Nederlanden – prestează servicii financiare pentru clienţii din Olanda. ING Financial Services International – acoperă în totalitate activităţile de asigurări de pe piaţa internaţională, în combinaţie cu activităţile bancare pentru clienţi individuali. ING ASIGURĂRI DE VIAŢĂ SA este subordonată acestui centru de management. ING Barings – oferă servicii de vârf în domeniul bancar-investiţional, în domeniul relaţiilor cu clienţii Grupului ING, precum şi servicii de cercetare. ING Asset Management – asigură managementul activelor, al investiţiilor imobiliare şi al operaţiunilor legate de investiţiile de capital. ING Belgium – oferă servicii bancare companiilor din Belgia şi a fost constituit în urma achiziţionării băncii Brussels Lampert (BBL) în 1997.

6

Dezvoltarea unui sistem informatic de Contact Center

ING Asigurări de Viaţă este parte integrantă a Grupului ING, cel mai mare grup financiar olandez şi una dintre primele zece instituţii financiare din lume. Înfiinţată în ianuarie 1997, sub numele de Nederlanden Asigurări de Viaţă România, compania şi-a început activitatea cu cinci agenţii şi un număr de 200 de consultanţi. Apariţia Nederlanden Asigurări de Viaţă reprezintă consecinţa firească a unui amplu proces de evaluare a pieţei financiare româneşti, realizat de grupul ING. La acea dată, primul pas al dezvoltării Grupului ING în România fusese deja realizat, prin lansarea în 1994 a ING BANK, prima bancă străină care a intrat în România. În anul 1999 ING Nederlanden devine lider pe piaţa românească a asigurărilor de viaţă, poziţie pe care o deţine şi în prezent. În anul 2001, ca o consecinţă a procesului global de schimbare a numelui, multe companii independente naţionale şi internaţionale, membre ala Grupului, şi-au adăugat la denumirea lor oficială particula ING. Acelaşi lucru s-a întâmplat şi cu Nederlanden Asigurări de Viaţă. În România procesul s-a încheiat în 2004 când s-a renunţat la denumirea de NEDERLANDEN şi numele companiei a devenit: ING ASIGURĂRI DE VIAŢĂ. ING Asigurări de Viaţă este cea mai puternic capitalizată companie de pe piaţa asigurărilor, ocupând primul loc şi din punctul de vedere al atragerii de noi clienţi. ING Asigurări de Viaţă oferă clienţilor săi – persoane fizice şi companii - produse şi servicii de asigurări la cele mai înalte standarde de calitate şi profesionalism, în conformitate cu exigenţele stabilite la nivelul grupului ING, pe baza bunei cunoaşteri a pieţei locale, precum şi a tradiţiei şi forţei sale financiare internaţionale. Activitatea în domeniul asigurărilor în România înseamnă în acest moment:

14 tipuri de asigurări de viaţă pentru persoane fizice şi 9 tipuri de asigurări de grup

pentru persoane juridice prima societate de asigurări care a introdus în România produse de tip Unit Liked

(1998)

prima instituţie financiară care a lansat asigurări de viaţă cu componentă de pensie

(2002)

primul asigurător român care oferă clienţilor accesul la poliţe atât on-line (Partener on-line), cât şi prin intermediul Serviciului Vocal Interactiv

7

Dezvoltarea unui sistem informatic de Contact Center

1.2. Compartimentele companiei

Din punct de vedere structural, compania ING Asigurări de Viaţă este împărţită în:

departamente productive-creative departamente de suport. În prima categorie intră departamentele de marketing, de vânzări, brokerii şi partea de bank-assurance, cele care dezvoltă noi produse, au legătură directă cu clienţii şi forţă de vânzări. În cea de a două categorii intră de fapt partea majoritară, care susţine aceste procese creative: departamentul CMO, IT, cel de operaţiuni, cel de resurse umane, legal şi altele. Unul dintre cele mai importante departamente ale companiei cel de Management al Schimbărilor şi Proiectelor (CMO). Acesta face legătura între cerinţele idealiste ale departamentelor creative şi departamentele tehnice, care trebuie să transforme aceste cerinţe în realitate, în produse finale atractive pentru clienţi pe de o parte şi uşor de administrat de către firmă pe cealaltă parte. Ciclul de viaţă al unui proiect se poate întinde de la o zi la câteva luni, în funcţie de complexitatea lui. Dacă ideea porneşte de la departamentul de vânzări sau cel de marketing, de exemplu, şi departamentul IT efectuează implementarea propriu-zisă, rolul departamentului CMO este de a porni acest proiect, de a-l supraveghea pe toată durată lui şi de a-l duce la bun sfârşit în condiţiile prestabilite, totodată asigurând resurse din toate departamentele şi diviziile implicate. Structura organizatorică a companiei este prezentată în Figura 1.1.

8

Dezvoltarea unui sistem informatic de Contact Center

Fig. 1.1. Organigrama ING Asigurări de viaţă

Dezvoltarea unui sistem informatic de Contact Center Fig. 1.1. Organigrama ING Asigur ă ri de via

9

Dezvoltarea unui sistem informatic de Contact Center

1.3. Activităţile firmei

Obiectul de activitate al societăţii, conform contractului şi statutului, îl reprezintă servicii de asigurare şi reasigurare pentru clasele de asigurări de viaţă şi de persoane. Vânzarea poliţelor se face printr-o reţea de consultanţi de asigurări de viaţă al căror număr a crescut de la 200 în 1997 la circa 2600 în 2010 care lucrează exclusiv pentru ING ASIGURĂRI DE VIAŢĂ. Suportul Grupului ING pentru expansiunea rapidă a societăţii în ţară, creşterea reţelei de vânzare, inovarea pentru diversificarea ofertei de produse în scopul satisfacerii nevoilor clienţilor, anticiparea sau chiar crearea unor noi nevoi ale acestora fac parte din preocupările permanente ala acestuia, precum şi ale tuturor celor care lucrează pentru compania ING Asigurări de Viaţă. ING Asigurări de Viaţă oferă clienţilor săi – persoane fizice şi companii - produse şi servicii de asigurări la cele mai înalte standarde de calitate şi profesionalism în conformitate cu exigenţele stabilite la nivelul Grupului ING, pe baza unei cunoaşteri a pieţei locale, precum şi a tradiţiei şi ofertei sale internaţionale. ING Asigurări de Viaţă oferă următoarele tipuri de asigurări:

asigurări tradiţionale:

- asigurări destinate exclusiv protecţiei ( SMART, PRUDENT, MARATON)

- asigurări cu componentă de economisire ( REGAL, ACADEMICA).

asigurări Unit Linked:

- DEBUT 18 - Plan de economisire pentru copii

- MERIT, MENTOR - Planuri de Asigurare cu componentă de Pensii

- ACTIV PLUS, CAPITAL - Planuri de Asigurare cu componentă de

Investiţii asigurări de grup:

- planuri financiare de protecţie

- planurile financiare de sănătate

- planurile financiare de economisire şi investiţii

- planurile de asigurare cu componentă de pensii

- planurile de motivare pentru angajaţi

10

Dezvoltarea unui sistem informatic de Contact Center

1.4. Prezentarea activităţii care va fi informatizată

Serviciul care va fi optimizat din punct de vedere informatic este cel de Contact Center din cadrul departamentului „Operations”, divizia „Customer Services”.

„Operations”, divizia „Customer Services”. Divizia CONTACT CENTER a devenit o parte din departamentul

Divizia CONTACT CENTER a devenit o parte din departamentul Operaţiuni în martie 2005, ca urmare a realocării activităţilor care fuseseră anterior gestionate de către departamentul „Direct Channels”.

Aceasta este o echipă dinamică responsabilă cu formularea completă şi corectă a feedback-ului, soluţionarea şi oferirea de consultanţă agenţilor de asigurare şi cererilor clienţilor, fie prin telefon, fax, e-mail şi corespondenţă scrisă sau chiar întâlniri personale. Specialiştii CONTACT CENTER cooperează cu departamente specializate pentru a oferi soluţia optimă pentru nevoile clientului. Ei sporesc loialitatea clienţilor prin abilităţi excelente de comunicare şi atitudine pozitivă. Există două categorii de contacte în această divizie, în funcţie de direcţia contactului:

Inbound: Clienţii şi consultanţii contactează sediul central.

Outbound: persoanele din sediul central contactează clienţii.

11

Dezvoltarea unui sistem informatic de Contact Center

Echipa Inbound – Activităţi principale Activităţi legate de apelarea telefonică – toate apelurile primite de la clienţi folosind servicii diverse:

Overdue SMS Line – clienţii primesc memento-uri prin intermediul acestui canal şi apelează serviciul sunt informaţi cu privire la plăţile datorate, sumele rămase disponibile şi modalităţile de contactare a consultanţilor ING. Info Sales Force – InfoCAV - consultanţii au acces la informaţii automatizate cu privire la contractele de asigurare din portofoliul său (starea de plată, statusul contractului, următoarea dată aniversară, valoarea de răscumpărare, ultima răscumpărare parţială, suma maximă disponibilă pentru răscumpărare parţială), precum şi informaţii generale (preţurile unit-urilor ING, rata de schimb BNR, etc.); în funcţie de fiecare situaţie şi în conformitate cu procedurile operatorii pot solicita sprijin de la alte departamente, cum ar fi Investigaţii & Reclamaţii, Claims, Policy Services sau Underwriting. My'Line - clientul are acces la informaţii automatizate cu privire la contractele sale de asigurare (starea de plată, statusul contractului, următoarea dată aniversară, valoarea de răscumpărare, ultima răscumpărare parţială, suma maximă disponibilă pentru răscumpărarea parţială), precum şi informaţii bancare sau generale (preţurile unit- urilor ING, rata de schimb BNR etc.). Campaign Line -- linie gratuită în sprijinul campaniilor de marketing, oferind informaţii despre produsele de asigurare ING potenţialilor clienţi. Răspunsuri în scris la cererea clienţilor ( prin poştă sau adresa de e-mail) - a devenit o parte foarte importantă a activităţii Customer Services:

Diferite tipuri de cereri de la clienţi sau de la oameni care sunt interesaţi de produsele şi serviciile companiei primesc un răspuns adecvat de la specialiştii / operatorii Customer Services. Operatorii şi specialiştii furnizează declaraţii de plată, dovezi istorice ale contului / contractului pentru a face informaţiile înţelese clar de către clienţi şi consultanţi. Specialiştii de la Customer Services pot solicita sprijin din partea departamentelor Juridic, Financiar sau Investigaţii & Sesizări cu privire la problemele complexe primite de la clienţi. Clienţii pot primi de asemenea prin e-mail informaţii generale cu privire la produse şi pot trimite, de asemenea, informaţii cu privire la modificările datelor cu caracter personal ale acestora. Specialiştii / operatorii pot apela, de asemenea, clientul pentru identificare, confirmare sau pentru a obţine alte informaţii.

12

Dezvoltarea unui sistem informatic de Contact Center

Echipa Outbound - principalele activităţi

Activităţi telefonice - includ toate contactele telefonice iniţiate de operatori. Apelurile cele mai importante sunt:

Apel pentru clienţii noi ING Asigurări: aceste apeluri sunt iniţiate de către operatori tuturor clienţilor care au frecvenţă de plată lunară sau trimestrială (trei apeluri înainte de ieşirea din baza de date). Operatorii contactează proprietarii acestor contracte doar ca să-i felicite pentru noul lor contract şi să identifice orice problemă care poate a avut loc în vânzarea de noi contracte. Ei amintesc pe scurt clienţilor avantajele, drepturile şi obligaţiile în ceea ce priveşte noile politici de asigurare. Aceştia promovează, de asemenea, imaginea ING şi servicii noi.

Apeluri de înştiinţare privind depăşirea scadenţei în cazul poliţelor de asigurare girate în favoarea instituţiilor financiare, precum băncile: După de 30 de zile întârziere, operatorii contactează clienţii pentru a le reaminti despre termenul limită şi să îi informeze de obligaţia companiei de a notifica banca printr-o scrisoare, despre orice întârziere de plată.

Apeluri de felicitare aniversare pentru beneficiarii produsului Debut 18: operatorii contactează proprietarii de contract, pentru a-i felicita (în legătura cu ziua de naştere a beneficiarului) şi să le mulţumească pentru încrederea investită în ING.

SMS-uri de depăşire a scadenţei: trimise pentru a informa clienţii data scadenţei primei de asigurare. Acesta este trimis în cazul în care clientul ajunge la o restanţă de 15 zile.

Alte apeluri: echipa outbound poate, de asemenea, să iniţieze apeluri telefonice, în scopul de a identifica un client, pentru a verifica o adresă de corespondenţă ori de câte ori un mail se întoarce la sediul central, să informeze clientul cu privire la modificările operate de către echipa outbound, sau pentru a solicita permisiunea pentru efectuarea unor modificări la contract.

13

Dezvoltarea unui sistem informatic de Contact Center

Capitolul 2.

Tehnologii informatice utilizate

2.1. Programare orientată pe obiecte

2.1.1. Introducere în .NET

.NET este un cadru (Framework) de dezvoltare software unitară care permite realizarea, distribuirea şi rularea aplicaţiilor desktop Windows şi aplicaţiilor WEB. Tehnologia .NET pune laolaltă mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL, UDDI) şi limbaje de programare (VB, C++, C#, J#) asigurând, totodată, atât portabilitatea codului compilat între diferite calculatoare cu sistem Windows, cât şi reutilizarea codului în programe, indiferent de limbajul de programare utilizat. .NET Framework este o componentă livrată împreună cu sistemul de operare Windows. De fapt, .NET 2.0 vine cu Windows Server 2003, se poate instala pe versiunile anterioare, până la Windows 98 inclusiv; .NET 3.0 vine instalat pe Windows Vista şi poate fi instalat pe versiunile Windows XP cu SP2 şi Windows Server 2003 cu minimum SP1. Pentru a dezvolta aplicaţii pe platforma .NET este bine să avem 3 componente esenţiale:

un set de limbaje (C#, Visual Basic .NET, J#, Managed C++, Smalltalk, Perl, Fortran, Cobol, Lisp, Pascal etc),

un set de medii de dezvoltare (Visual Studio .NET, Visio),

bibliotecă de clase pentru crearea serviciilor Web, aplicaţiilor Web şi aplicaţiilor desktop Windows. Când se dezvoltă aplicaţii .NET, se pot utiliza:

Servere specializate - un set de servere Enterprise .NET (din familia SQL Server 2000, Exchange 2000 etc), care pun la dispoziţie funcţii de stocare a bazelor de date, email, aplicaţii B2B (Bussiness to Bussiness – comerţ electronic între partenerii unei afaceri).

Servicii Web (în special comerciale), utile în aplicaţii care necesită identificarea utilizatorilor (de exemplu, .NET Passport - un mod de autentificare folosind un singur nume şi o parolă pentru toate site-urile vizitate)

Servicii incluse pentru dispozitive non-PC (Pocket PC Phone Edition, Smartphone, Tablet PC, Smart Display, XBox, set-top boxes, etc.)

14

Dezvoltarea unui sistem informatic de Contact Center

.NET Framework Componenta .NET Framework stă la baza tehnologiei .NET, este ultima interfaţă între aplicaţiile .NET şi sistemul de operare şi actualmente conţine:

Limbajele C#, VB.NET, C++ şi J#. Pentru a fi integrate în platforma .NET, toate aceste limbaje respectă nişte specificaţii OOP numite Common Type System (CTS). Ele au ca elemente de bază: clase, interfeţe, delegări, tipuri valoare şi referinţă, iar ca mecanisme: moştenire, polimorfism şi tratarea excepţiilor.

Platforma comună de executare a programelor numită Common Language Runtime (CLR), utilizată de toate cele 4 limbaje. CTS face parte din CLR.

Ansamblul de biblioteci necesare în realizarea aplicaţiilor desktop sau Web, numit Framework Class Library (FCL).

2.1.2. Arhitectura .NET Framework

Componenta .NET Framework este formată din compilatoare, biblioteci şi alte executabile utile în rularea aplicaţiilor .NET.

i alte executabile utile în rularea aplica ţ iilor .NET. Figura 2.1 Arhitectura .NET Framework Un

Figura 2.1 Arhitectura .NET Framework

Un program scris într-unul dintre limbajele .NET conform Common Language Specification (CLS) este compilat în Microsoft Intermediate Language (MSIL sau IL). Codul astfel obţinut are extensia "exe", dar nu este direct executabil, ci respectă formatul unic MSIL.

15

Dezvoltarea unui sistem informatic de Contact Center

CLR include o maşină virtuală asemănătoare cu o maşină Java, ce execută instrucţiunile IL rezultate în urma compilării. Maşina foloseşte un compilator special JIT (Just în Time). Compilatorul JIT analizează codul IL corespunzător apelului unei metode şi produce codul maşină adecvat şi eficient. El recunoaşte secvenţele de cod pentru care s-a obţinut deja codul maşină adecvat, permiţând reutilizarea acestuia fără recompilare, ceea ce face ca, pe parcursul rulării, aplicaţiile .NET să fie din ce în ce mai rapide. Faptul că programul IL produs de diferitele limbaje este foarte asemănător are ca rezultat interoperabilitatea între aceste limbaje. Astfel, clasele şi obiectele create într-un limbaj specific .NET pot fi utilizate cu succes în altul.

2.1.3. De ce am alege .NET?

În primul rând pentru că ne oferă instrumente pe care le putem folosi şi în alte programe, oferă acces uşor la baze de date, permite realizarea desenelor sau a altor elemente grafice. Spaţiul de nume System.Windows.Forms conţine instrumente (controale) ce permit implementarea elementelor interfeţei grafice cu utilizatorul. Folosind aceste controale, se pot proiecta şi dezvolta rapid şi interactiv, elementele interfeţei grafice. Tot .NET oferă clase care efectuează majoritatea sarcinilor uzuale cu care se confruntă programele şi care plictisesc şi fură timpul programatorilor, reducând astfel timpul necesar dezvoltării aplicaţiilor.

2.2. Introducere în limbajul C#

Limbajul C# a fost dezvoltat de o echipă restrânsă de ingineri de la Microsoft, echipă din care s-a evidenţiat Anders Hejlsberg (autorul limbajului Turbo Pascal şi membru al echipei care a proiectat Borland Delphi). C# este un limbaj modern, simplu, cu circa 80 de cuvinte cheie şi 12 tipuri de date predefinite. El permite programarea structurată, modulară şi orientată obiectual, conform perceptelor moderne ale programării profesioniste. Principiile de bază ale programării orientate pe obiecte (ÎNCAPSULARE, MOŞTENIRE, POLIMORFISM) sunt elemente fundamentale ale programării C#. În mare, limbajul moşteneşte sintaxa şi principiile de programare din C++. Sunt o serie de tipuri noi de date sau funcţiuni diferite ale datelor din C++, iar în spiritul realizării unor secvenţe de cod

sigure (safe), unele funcţiuni au fost adăugate (de exemplu, interfeţe şi delegări), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate moştenirea multiplă şi pointerii

16

Dezvoltarea unui sistem informatic de Contact Center

către funcţii). Unele funcţiuni (cum ar fi accesul direct la memorie folosind pointeri) au fost păstrate, dar secvenţele de cod corespunzătoare se consideră „nesigure”. C# suportă interfeţele în conjuncţie cu .NET Common Language Runtime (CLR), garbage collection, care este considerată necesară de unii pentru un limbaj orientat obiect. De asemenea suportă noţiunea de indecşi, care în termeni simpli permite manipularea obiectelor ca masive sau delegaţi. Framework-ul .NET suportă aplicaţii tip consolă, interfeţe grafice utilizator (GUI - graphical user interface), aplicaţii (Windows Forms), aplicaţii browser-based (Web - Forms şi ASP.NET) şi servicii Web.

2.3. Introducere în limbajul SQL

Anumite instrucţiuni cum ar fi Alter sau Create nu sunt accesibile din meniu. Trebuie apelat la scrierea lor în cod. Acest lucru poate fi realizat cu ajutorul procedurilor stocate sau cu ajutorul opţiunii SQLCMD. O procedură stocată este o secvenţă de instrucţiuni SQL, salvată în baza de date, care poate fi apelată de aplicaţii diferite. SQL Server compilează procedurile stocate, ceea ce creste eficienţa utilizării lor. De asemenea, procedurile stocate pot avea parametri. 1 Dacă operaţiile efectuate pe server sunt mai multe (calcule complexe de ex.) atunci e mai simplu să apelaţi la procesarea în Stored Procedures şi să returnaţi doar o listă mică de rezultate, gata procesate. Asta mai ales când procesarea necesită prelucrarea unui volum mare de date.

2.4. SQL Server 2008 - inovaţii în domeniul securitate

Versiunea 2005 a SQL Server a însemnat pentru seria produsului cea mai sigură versiune din punctul de vedere al securită ii. SQL Server 2008 acordă aceea i importan ă îmbunătă irii protec iei datelor. SQL Server 2005 a demonstrat de la apari ie că este un server de baze de date sigur. SQL Server 2008 adaugă noi func ionalită i de securitate care extind flexibilitatea i u urin a construirii unei solu ii securizate pe baza SQL Server.

a construirii unei solu ii securizate pe baza SQL Server. 1 Patrick Dalton - Microsoft SQL
a construirii unei solu ii securizate pe baza SQL Server. 1 Patrick Dalton - Microsoft SQL
a construirii unei solu ii securizate pe baza SQL Server. 1 Patrick Dalton - Microsoft SQL

1 Patrick Dalton - Microsoft SQL Server Black Book, Editura The Coriolis Group, 1997, pag. 177

17

Dezvoltarea unui sistem informatic de Contact Center

SQL Server 2008 - un server mai sigur

Câteva din func ionalită ile importante introduse de SQL Server 2008 sunt: „Policy- Based Configuration of Surface Area” (configurarea bazată pe politici a suprafe ei expuse), „Extensible Key Management” (management extensibil a cheilor de criptare), „Transparent Data Encryption” (Criptare/Decriptare transparentă a datelor), „SQL Server Audit” (auditare pentru toate evenimentele) 2 .

Policy-Based Configuration of Surface Area

Utilitarul Surface Area Configuration a fost înlocuit în SQL Server 2008 de Policy- Based Management (Managementul Bazat pe Politici). Managementul Bazat pe Politici propune o nouă abordare pentru configurarea i gestionarea SQL Server - folosirea politicilor. Principalul avantaj al folosirii politicilor în locul scripturilor este o administrare mult mai eficientă i implicit reducerea TCO (Total Cost of Ownership). Printre opera iile de management suportate de noua func ionalitate pot fi enumerate următoarele:

configurarea setărilor pentru una sau mai multe baze de date (pe unul sau mai multe servere)

sau mai multe baze de date (pe unul sau mai multe servere) • aplicarea automat ă
sau mai multe baze de date (pe unul sau mai multe servere) • aplicarea automat ă

aplicarea automată sau la cerere a unei politici

verificarea configurării unuia sau a mai multor servere

impunerea unei conven ii de nume pentru obiectele unei baze de date

notificarea în cazul încălcării unei politici

automatizarea la nivel de linie de comandă folosind integrarea cu PowerShell

Transparent Data Encryption (TDE)

Transparent Data Encryption (Criptarea Transparentă a Datelor) permite criptarea i decriptarea unei baze de date fără a necesita modificarea aplica iilor client. Scopul principal al TDE este prevenirea scenariilor în care date confiden iale sunt ob inute prin copierea neautorizata a fi ierelor unei baze de date sau prin furtul direct al mediilor de stocare (benzi de backup sau discuri fizice). Încercarea de a folosi datele confiden iale prin ata area

Încercarea de a folosi datele confiden iale prin ata area 2
Încercarea de a folosi datele confiden iale prin ata area 2
Încercarea de a folosi datele confiden iale prin ata area 2

2 http://www.microsoft.com/romania/technet/articole/sql2008_securitate.mspx, SQL Server 2008 - inovaţii în domeniul securitate, Cristian Lefter, 2008

18

Dezvoltarea unui sistem informatic de Contact Center

fi ierelor bazei de date sau încercarea unei opera iuni de restaurare pe alt server este prevenită prin criptarea datelor. Arhitectural, criptarea este realizată la nivelul unei pagini (structură de stocare de bază având dimensiunea 8K). La scrierea pe disc datele sunt criptate iar la citirea datelor se realizează decriptarea. Criptarea se face pe baza unui nou tip de cheie (Database Encryption Key - DEK ) protejată de un certificat stocat în baza de date master a serverului.

un certificat stocat în baza de date master a serverului. Figura 2.2. Transparent Data Encryption (TDE)
un certificat stocat în baza de date master a serverului. Figura 2.2. Transparent Data Encryption (TDE)

Figura 2.2. Transparent Data Encryption (TDE)

Avantajul principal al TDE ca metodă fa ă de criptarea la nivel de coloană introdusă de SQL Server 2005 este abilitatea de a efectua interogări de tip „fuzzy” sau „range”. Pe de altă parte func ionalitatea TDE nu este concepută pentru a înlocui criptarea la nivel de coloana, metodă care oferă o granularitate mai fină. De exemplu dacă doar coloana CreditCardNumber a unei tabele Clien i con ine date confiden iale, criptarea datelor la nivel de coloană este net superioară din punct de vedere al performan ei comparativ cu TDE. Folosirea TDE determină criptarea log-ului de tranzac ii i a bazei de date tempdb. Dacă baza de date criptată este folosită în solu ii de „high-availability” ca Database Mirroring sau Log Shipping toate bazele de date participante vor fi criptate.

„high-availability” ca Database Mirroring sau Log Shipping toate bazele de date participante vor fi criptate. 19
„high-availability” ca Database Mirroring sau Log Shipping toate bazele de date participante vor fi criptate. 19

19

Dezvoltarea unui sistem informatic de Contact Center

SQL Server Audit

SQL Server Audit este o nouă metodă de auditare destinată să completeze metodele deja existente ca de exemplu SQL Trace, C2 audit mode sau DDL Triggers. Ce aduce nou SQL Server Audit? Posibilitatea de a monitoriza „toate” evenimentele generate de SQL Server la nivelul unei baze de date sau la nivelul serverului. Rezultatele monitorizării pot fi salvate în Windows Application Log, Windows Security Log sau într-un fi ier. SQL Server Audit este bazată pe XEVENT (Extended Events) viitoare infrastructură de monitorizare a evenimentelor în SQL Server. Un exemplu de folosire al acestei facilită i este următorul : monitorizarea încercărilor

uate de conectare la server cu închiderea automată a serverului în cazul e ecului la salvarea informa iilor):

e

în cazul e ecului la salvarea informa iilor): e 2.5. Accesarea ş i prelucrarea datelor cu
în cazul e ecului la salvarea informa iilor): e 2.5. Accesarea ş i prelucrarea datelor cu
în cazul e ecului la salvarea informa iilor): e 2.5. Accesarea ş i prelucrarea datelor cu

2.5. Accesarea şi prelucrarea datelor cu ajutorul obiectelor ADO.NET

ADO.NET (ActiveX Data Objects) reprezintă o parte componentă a nucleului .NET Framework ce permite conectarea la surse de date diverse, extragerea, manipularea şi actualizarea datelor.

De obicei, sursa de date este o bază de date, dar ar putea de asemenea să fie un fişier text, o foaie Excel, un fişier Access sau un fişier XML. în aplicaţiile tradiţionale cu baze de date, clienţii stabilesc o conexiune cu baza de date şi menţin această conexiune deschisă până

la încheierea executării aplicaţiei.

Conexiunile deschise necesită alocarea de resurse sistem. Atunci când menţinem mai multe conexiuni deschise server-ul de baze de date va răspunde mai lent la comenzile clienţilor întrucât cele mai multe baze de date permit un număr foarte mic de conexiuni concurente. ADO.NET permite şi lucrul în stil conectat dar şi lucrul în stil deconectat, aplicaţiile conectându-se la server-ul de baze de date numai pentru extragerea şi actualizarea datelor. Acest lucru permite reducerea numărului de conexiuni deschise simultan la sursele de date. ADO.NET oferă instrumentele de utilizare şi reprezentare XML pentru transferul datelor între aplicaţii şi surse de date, furnizând o reprezentare comună a datelor, ceea ce permite accesarea datelor din diferite surse de diferite tipuri şi prelucrarea lor ca entităţi, fără

să fie necesar să convertim explicit datele în format XML sau invers.

20

Dezvoltarea unui sistem informatic de Contact Center

Aceste caracteristici sunt determinate în stabilirea beneficiilor furnizate de ADO.NET:

Interoperabilitate. ADO.NET poate interacţiona uşor cu orice componentă care suportă XML. Programabilitate. ADO.NET simplifică programarea pentru diferite task-uri cum ar fi comenzile SQL, ceea ce duce la o creştere a productivităţii şi la o scădere a numărului de erori. Performanţă. Nu mai este necesară conversia explicită a datelor la transferul între aplicaţii, fapt care duce la creşte performanţelor acestora. Accesibilitate. Utilizarea arhitecturii deconectate permite accesul simultan la acelaşi set de date. Reducerea numărului de conexiuni deschise simultan determină utilizarea optimă a resurselor.

2.5.1. Arhitectura ADO.NET

Componentele principale ale ADO.NET sunt DataSet şi Data Provider. Ele au fost proiectate pentru accesarea şi manipularea datelor.

i Data Provider . Ele au fost proiectate pentru accesarea ş i manipularea datelor. Figura 2.3.

Figura 2.3. Arhitectura ADO.NET

21

Dezvoltarea unui sistem informatic de Contact Center

2.5.2. Furnizori de date (Data Providers)

Din cauza existenţei mai multor tipuri de surse de date este necesar ca pentru fiecare tip de protocol de comunicare să se folosească o bibliotecă specializată de clase. .NET Framework include SQL Server.NET Data Provider pentru interacţiune cu Microsoft SQL Server, Oracle Data Provider pentru bazele de date Oracle şi OLE DB Data Provider pentru accesarea bazelor de date ce utilizează tehnologia OLE DB pentru expunerea datelor (de exemplu Access, Excel sau SQL Server versiune mai veche decât 7.0).

Excel sau SQL Server versiune mai veche decât 7.0). Furnizorul de date permite unei aplica ţ

Furnizorul de date permite unei aplicaţii să se conecteze la sursa de date, execută comenzi şi salvează rezultate. Fiecare furnizor de date cuprinde componentele Connection, Command, DataReader şi DataAdapter.

2.5.3. Conectare

Înainte de orice operaţie cu o sursă de date externă, trebuie realizată o conexiune (legătură) cu acea sursă. Clasele din categoria Connection (SQLConnection, OleDbConnection etc.) conţin date referitoare la sursa de date (locaţia, numele şi parola contului de acces, etc.), metode pentru deschiderea/închiderea conexiunii, pornirea unei tranzacţii etc. Aceste clase se găsesc în subspaţii (SqlClient, OleDb etc.) ale spaţiului System.Data. În plus, ele implementează interfaţa IdbConnection. Pentru deschiderea unei conexiuni prin program se poate instanţia un obiect de tip conexiune, precizându-i ca parametru un şir de caractere conţinând date despre conexiune.

22

Dezvoltarea unui sistem informatic de Contact Center

2.5.4. Accesul direct la date prin intermediul ADO.NET

Accesul direct la date presupune construcţia unei comenzi SQL, conectarea la baza de date, executarea comenzii şi deconectarea de la baza de date fără memorarea directă a rezultatelor. Dacă se lucrează în mod deconectat atunci se păstrează o copie a datelor într-un obiect de tip DataSet şi acestea pot fi prelucrate şi după deconectarea de la baza de date 3 .

O interogare directă a datelor presupune executarea paşilor următori:

a) crearea obiectelor de tip Connection, Command şi DataReader ;

b) obţinerea informaţiilor din baza de date cu ajutorul obiectelor de tip DataReader şi

afişarea acestora într-un controler de pe un formular;

c) închiderea conexiunii;

d) trimiterea paginii către utilizator; în acest moment nu mai avem o legătură directă

între ceea ce vede utilizatorul şi datele din baza de date, obiectele de tip ADO.NET fiind

distruse.

Adăugarea, ştergerea sau modificarea datelor se realizează în doi paşi:

a)

crearea obiectelor de tip Connection, Command;

b)

executarea comenzii directe.

În

Figura 2.4. sunt reprezentaţi paşii menţionaţi anterior.

Aplicaţie
Aplicaţie

Figura 2.4. Paşii pentru adăugarea/ ştergerea sau modificarea datelor

3 http://articles.sitepoint.com/article/dataset-datareader , DataSet Vs. DataReader, Philip Miseldine, 2003

23

Dezvoltarea unui sistem informatic de Contact Center

2.6. Modelul client - server

2.6.1. Prezentarea arhitecturii

Reţelele de calculatoare s-au dezvoltat spectaculos în ultimii ani, datorită evoluţiei tehnologiilor hardware, software şi de interconectare. Tehnologii de mare viteză au dus la utilizarea reţelelor de calculatoare în toate domeniile vieţii socio-economice, cu rezultate deosebite. Clasificarea reţelelor de calculatoare, după criteriul distanţei, în LAN (Local Area Network), MAN (Metropplitan Area Nerwork) şi WAN (Wide Area Network) este foarte cunoscută astăzi, iar Internet-ul este accesibil aproape oricui. Extinderea utilizării Internet-ului a dus la dezvoltarea serviciilor şi aplicaţiilor distribuite. Orice aplicaţie în care solicitantul acţiunii este un sistem de calcul (sau un proces) şi executantul acţiunii este un alt sistem de calcul (sau un alt proces) este o aplicaţie client / server.

Modelul client / server împarte aplicaţia de reţea în două părţi: partea de client şi partea de server. Prin definiţie, partea de client a unei legături de reţea cere informaţii sau servicii de la partea de server. De obicei, aceasta parte, rulează pe calculatorul utilizatorului şi este folosită pentru a accesa informaţii sau alte aplicaţii din cadrul reţelei. Reprezentarea acestei arhitecturi este realizată în Figura 2.5.

24

Dezvoltarea unui sistem informatic de Contact Center

Dezvoltarea unui sistem informatic de Contact Center Figura 2.5. Arhitectura Client – Server aplicat ă la

Figura 2.5. Arhitectura Client – Server aplicată la Contact Center-ul ING Asigurări de Viaţă

25

Dezvoltarea unui sistem informatic de Contact Center

Partea de server rulează, de obicei, pe un calculator centralizator sau aflat la distanţă, furnizând sau oferind informaţii/servicii clienţilor. Cu alte cuvinte, în modelul de programare client/server, o aplicaţie realizează două funcţii separate şi bine definite: cererea de informaţii şi răspunsul la cererile de informaţii. Programul care cere informaţii funcţionează ca un program client.

2.6.2. Utilizarea socket-urilor pentru comunicarea în timp real

Socket-urile sunt utilizate pentru comunicarea în timp real. Există două protocoale de bază: TCP (Transport Control Protocol), UDP (User Datagram Protocol)

TCP este sigur (fiecare pachet care pleacă de la sursă va fi confirmat de către destinatar)

UDP este mai rapid (deoarece sursa nu mai a teaptă confirmări) - problema este că pachetele pierdute nu sunt retransmise În unele cazuri este preferată comunicarea TCP 4 (de exemplu într-un joc online nu se admit pierderi de pachete – dacă s-ar pierde chiar pachetul în care eroul a omorât monstrul, clientul ar putea crede că acesta este încă în via ă). În unele cazuri este preferată comunicarea UDP – atunci când transmitem voce, nici nu ne interesează ca aplica ia sursă să retransmită un pachet care s-a pierdut acum două secunde. De asemenea într-o astfel de aplica ie (pentru transmiterea de voce) ne interesează viteza cu care are loc comunicarea. Vom utiliza comunicarea TCP (sigură) pentru a realiza un chat 5 . Un calculator din Internet este identificat printr-o adresă unică adresa IP. Va trebui să utilizăm o astfel de adresă pentru a ti cui transmitem (sau care este serverul). Pentru a identifica aplica ia căreia îi transmitem informa ia vom utiliza un număr special denumit port (o valoare între 0 –

65535).

Adresa IP împreună cu portul formează un socket care este identificat de obicei printr- o scriere de tipul: [adresa_ip:port]. Exemplu: 192.168.1.1 : 4444. Arhitectura folosită pentru realizarea comunicării între operatori şi dispeceri este reprezentată în Figura 2.6.

ş i dispeceri este reprezentat ă în Figura 2.6. • 4
ş i dispeceri este reprezentat ă în Figura 2.6. • 4

4 http://msdn.microsoft.com/en-us/library/system.net.sockets.tcpclient.aspx , TcpClient Class, 2010

5 http://www.dreamincode.net/forums/topic/35616-cross-thread-communication-in-c%23/ , Cross Thread Communication în C#, 2010

26

Dezvoltarea unui sistem informatic de Contact Center

Dezvoltarea unui sistem informatic de Contact Center Figura 2.6. Modelul client – server aplicat pe o

Figura 2.6. Modelul client – server aplicat pe o aplicaţie de chat

27

Dezvoltarea unui sistem informatic de Contact Center

Capitolul 3.

Analiza şi proiectarea sistemului informatic

În această etapă se iau decizii generale asupra arhitecturii globale a sistemului, se alege o strategie de implementare şi o strategie de alocare a resurselor. Tot în această etapă se stabileşte împărţirea sistemului mare în subsisteme, se determină definirea completă a claselor şi asocierilor folosite la implementare, ca şi interfaţa şi algoritmii metodelor folosite la implementarea operaţiilor. În această fază se pune accentul pe cum trebuie făcut, adică se stabileşte cum îşi poate îndeplini sistemul funcţiile rezultate din cerinţele utilizatorului.

3.1. Specificarea cerinţelor sistemului informatic

Sistemul informatic realizat poate fi utilizat în departamentul Contact Center pentru:

Stocarea informaţiilor despre clienţi;

Stocarea informaţiilor oferite fiecărui client despre produsele companiei ING Asigurări de Viaţă;

Generarea de mesaje alertă către beneficiar în anumite situaţii;

Gestiunea alertelor legate de solicitările clienţilor;

Raportări periodice despre situaţia apelurilor efectuate de clienţi;

Raportări periodice despre informaţiile stocate în baza de date: studii de marketing şi alte analize.

Rapoartele generate pot fi utilizate în activitatea dispecerului pentru monitorizarea fiecărui operator în parte sau a tuturor în ansamblu, urmărirea solicitărilor clienţilor, în activitatea de management pentru decizii ce ţin de politicile companiei. De asemenea, se pot face studii de marketing pe baza informaţiilor furnizate de clienţi în momentul semnării unui contract sau atunci când este înregistrat în sistem.

Sistemul informatic a fost proiectat pe o arhitectură de tip client-server şi împărţit în cele trei module:

Aplicaţia operatorului

28

Dezvoltarea unui sistem informatic de Contact Center

Aplicaţia dispecerului

Serverul

Aplicaţia operatorului este folosită în cadrul Contact Center-ului pentru gestiunea situaţiilor care intervin în momentul primirii apelurilor, respectiv oferirea de informaţii referitoare la detaliile despre contract, informaţii legate de tipurile de contract sau serviciile oferite de companie. Aplicaţia dispecerului este utila în gestiunea alertelor generate de operatorii conectaţi la sistemul implementat. Acestea pot fi de trei tipuri:

Alerte informaţii necunoscute: sunt generate din modulul operatorului în momentul în care acesta nu cunoaşte anumite informaţii legate de contract sau alte informaţii ce ţin de activitatea companiei;

Alerte plângeri agenţi: se refera la plângeri venite din partea clienţilor legate de activitatea agenţilor;

Alerte clienţi noi: sunt generate în momentul introducerii unui client nou în sistem. Acesta va fi contactat în zilele următoare pentru a fi felicitat şi pentru confirmarea detaliilor legate de contract. Serverul a fost creat cu scopul de a intermedia mesajele şi alertele trimise intre operatori şi dispeceri, precum şi pentru a autoriza conexiunea la baza de date prin restricţionarea accesului anumitor categorii de utilizatori. Pe acest modul a fost implementata şi interfaţa de administrare a utilizatorilor prin care se pot crea şi modifica cele trei grupuri de utilizatori: operatori, dispeceri respectiv administratori.

3.2. Analiza sistemului existent

Analiza sistemului existent se regăseşte ca „etapă/ proces/ flux de lucru/ activitate în toate metodologiile de realizare a sistemelor informatice” 6 . Această etapă are ca scop principal cunoaşterea sistemului existent şi stabilirea modului în care acesta satisface cerinţele specificate.

„Analiza sistemului existent este o componentă esenţială a procesului de realizare a unui sistem informatic.” 7

6 Ion Lungu, Gheorghe Sabău, Manole Velicanu, Mihaela Muntean, Simona Ionescu, Elena Posdarie, Daniela Sandu – Sisteme informatice. Analiza, proiectare şi implementare, Editura Economică, Bucureşti, 2003, pag. 53

7 Idem, pag. 55

29

Dezvoltarea unui sistem informatic de Contact Center

3.2.1. Identificarea entităţilor şi a caracteristicilor acestora

Pentru proiectarea bazei de date am optat pentru modelul relaţional. O bază de date relaţională este formată din una sau mai multe tabele cu asocieri între ele. Datele sunt corelate între ele prin legături numite relaţii.

O tabelă se caracterizează prin:

denumirea tabelei

numărul de coloane: acesta defineşte gradul tabelei

atribut sau câmp: acesta defineşte o coloană din tabelă

tuplul reprezintă o înregistrare (o linie din tabelă)

data: intersecţia dintre linie şi coloană

cheia primară: reprezintă un atribut sau un grup de atribute prin ale căror valoare se identifică unic fiecare tuplu

cheia externă: reprezintă un atribut ce face referire la un atribut ce aparţine altei tabele – pe baza acestui atribut se realizează operaţia de joncţiune.

Entităţile folosite în cadrul aplicaţiei sunt prezentate în tabelele de mai jos.

Utilizatori

CodUtilizator

GrupUtilizator

Nume

Prenume

Utilizator

Parola

Email

PasswordHint

Detalii

Activ

       

GrupuriUtilizatori

IdTip

TipUtilizator

TipuriClienţi

IdTip

Tip

Clienţi_F

IdClient

TipClient

CNP

Adresare

Nume

Prenume

 

IdFunctie

Venit

NrCopii

NrPersIntretinute

AcordMkt

   

Strada

NrStrada

Bloc

Scara

Ap

Localitate

 

Sector

Judet

CodPostal

NrTel

Email

Observatii

Activ

30

Dezvoltarea unui sistem informatic de Contact Center

Clienţi_C

IdClient

TipClient

NumeFirma

CodFiscal

IsVIP

CNPrep

 

AdresareRep

NumeRep

PrenumeRep

IdFunctie

Venit

NrCopii

NrPersIntretinute

AcordMkt

Strada

NrStrada

Bloc

Scara

Ap

Localitate

Sector

Judet

CodPostal

NrTel

Email

Observatii

Activ

Functii_COR

IdFunctie

Cod_COR

Denumirea_conform_COR

JudeteRomania

IdJudet

Judet

Indicativ

TipuriAsig

IdPlan IdTip DescrTip Planuri IdPlan IdCateg DescrPlan Categorii IdCateg DescrCat Contracte NrContract IdTip
IdPlan
IdTip
DescrTip
Planuri
IdPlan
IdCateg
DescrPlan
Categorii
IdCateg
DescrCat
Contracte
NrContract
IdTip
StatusContract
StatusPrima
IdAgent
IdClient
Prima
DataInceput
Facturat_PanaLa
Platit_PanaLa
StatusContract
StatusContract
StatusPrima
Descriere
Detalii
Agenţi
IdAgent
IdClient
IdZona
Data_Apointarii
Data_Terminarii
TipAgent
ReportingAgent

31

Dezvoltarea unui sistem informatic de Contact Center

TipuriAgenţi

TipAgent

DescrTip

ZoneAgenţi

IdZona

Descriere

Apeluri

IdApel

TipClient

IdClient

TipApel

CodOperator

Observatii

DataIncConv

DataSfConv

Status

     

TipuriApel

IdTip

DescrTip

StatusApel

IdStatus

Status

Descriere

Alerte

IdAlerta

TipAlerta

IdApel

IdAgent

Observatii

Status

DataInregistrare

DataRezolvare

       

TipuriAlerte

IdTip

TipAlerta

Descriere

3.2.2. Identificarea procedurilor necesare

Pornind de la entităţile identificate anterior, se identifică procedurile necesare pentru funcţionarea sistemului.

Va fi nevoie de proceduri pentru :

Adăugarea unui client în baza de date. Se va verifica mai întâi dacă există clientul în baza de date şi apoi se va permite adăugarea acestuia. Utilizatorul va primi un mesaj care îi va solicita să completeze toate câmpurile. Vom valida CNP-ul şi restul câmpurilor numerice, precum şi toate câmpurile obligatorii fără care nu se poate continua crearea unui client. Este prezentată în Anexa 4.

Funcţia care verifică existenţa unui client în baza de date. Este prezentată în Anexa

3.

32

Dezvoltarea unui sistem informatic de Contact Center

Adăugarea/ modificarea unui utilizator. Administratorul va trebui să completeze toate câmpurile: nume, prenume, utilizator, parola, email. În plus, va trebui să introducă aceeaşi parolă în ambele câmpuri. Dacă introduce parola corect, dar nu completează adresa de email sau introduce o valoare invalida, va primi un mesaj de atenţionare. Se ştie că o adresă de email validă conţine « @ « urmat de « . »

Proceduri pentru modificare/ştergere client/ utilizator/ contract/ apel.

Procedura pentru generarea apelurilor. Este folosită pentru generarea cazurilor de teste şi pentru simularea procesului din cadrul sistemului informatic realizat.

Procedura pentru adăugarea unei alerte noi. Aceasta este generată din modulul operatorului şi este transmisă către dispecerat. De fapt, sunt stocate în baza de date, iar modulul dispecer scanează la intervale scurte de timp şi verifică existenţa alertelor.

Proceduri pentru validarea câmpurilor. Acestea au rolul de a limita introducerea informaţiilor greşite sau obligarea utilizatorului pentru completarea tuturor câmpurilor. Sunt prezentate în Anexa 2.

Proceduri pentru comunicarea cu serverul. Sunt folosite pentru conectarea la server, trimiterea/ primirea de mesaje sau alerte. Sunt prezentate în Anexa 6.

3.3. Proiectarea noului sistem:

3.3.1. Proiectarea schemelor bazei de date.

Pentru o proiectare mai uşoară a bazei de date am ales principiul diviziunii, prin împărţirea bazei de date în mai multe grupuri, fiecare grup conţinând tabelele şi relaţiile dintre ele. În baza de date a sistemului informatic sunt stocate toate informaţiile necesare, legate de utilizatorii aplicaţiilor, clienţii înregistraţi, agenţi, apeluri şi alerte generate de operatori.

Baza de date se numeşte „CallCenterDB”. Grupurile sunt reprezentate în câte o diagramă. Diagramele sistemului sunt:

Diagrama Clienţi – conţine tabelele ce stochează datele de identificare ale clienţilor precum şi alte detalii de marketing; aici se regăsesc şi toate judeţele României şi funcţiile conform COR 2010 (Clasificare Ocupaţiilor din România); Diagrama Utilizatori – conţine tabelele ce ţin de administrarea utilizatorilor; Diagrama Tipuri Asigurări – stochează tipurile de contracte care sunt oferite de companie (împărţite pe categorii şi planuri de asigurare);

33

Dezvoltarea unui sistem informatic de Contact Center

Diagrama Contracte – cuprinde detaliile legate de contractele clienţilor stocaţi în baza de date (tipuri de contracte, statusuri contract, statusuri primă); Diagrama Agenţi – conţine tabelele cu tipurile de agenţi, împărţirea pe zone a acestora şi detaliile legate de fiecare agent în parte. Fiecărui agent îi este asociat un client din sistem. Diagrama Apeluri – stochează datele privitoare la apelurile primite de la clienţi sau efectuate de operatorii de la Contact Center; apelurile sunt împărţite în tipuri iar fiecărui apel îi este asociat un item din tabela StatusApel; Diagrama Alerte – memorează alertele generate de către operatorii care întâmpină dificultăţi pe durata unui apel; tabelele stocate în această diagramă sunt folosite de aplicaţia de la dispecerat.

Diagrama Clienţi – conţine tabelele ce stochează datele de identificare ale clienţilor precum şi alte detalii de marketing;

Functii_COR * IdFunctie Cod_COR Denumirea_conform_COR Clienti_F IdClient TipClient CNP Adresare Nume Prenume
Functii_COR *
IdFunctie
Cod_COR
Denumirea_conform_COR
Clienti_F
IdClient
TipClient
CNP
Adresare
Nume
Prenume
IdFunctie
Venit
NrCopii
NrPersIntretinute
AcordMkt

TipuriClienti

 

IdTip 

 

Tip 

AcordMkt TipuriClienti   IdTip   Tip Judete Romania   IdJudet Judet  
AcordMkt TipuriClienti   IdTip   Tip Judete Romania   IdJudet Judet  

Judete Romania

 

IdJudet

Judet

Judet

 

Indicativ

Clienti_C * IdClient TipClient NumeFirma CodFiscal IsVIP CNPrep AdresareRep NumeRep PrenumeRep IdFunctie
Clienti_C *
IdClient
TipClient
NumeFirma
CodFiscal
IsVIP
CNPrep
AdresareRep
NumeRep
PrenumeRep
IdFunctie
Clienti_C * IdClient TipClient NumeFirma CodFiscal IsVIP CNPrep AdresareRep NumeRep PrenumeRep IdFunctie 34

34

Dezvoltarea unui sistem informatic de Contact Center

Diagrama Utilizatori – conţine tabelele ce ţin de administrarea utilizatorilor;

Utilizatori CodUtilizator GrupUtilizator Nume Prenume Utilizator Parola Email PasswordHint Detalii Activ
Utilizatori
CodUtilizator
GrupUtilizator
Nume
Prenume
Utilizator
Parola
Email
PasswordHint
Detalii
Activ
Utilizator Parola Email PasswordHint Detalii Activ FK_Utilizatori_GrupuriUtilizatori GrupuriUtilizatori

FK_Utilizatori_GrupuriUtilizatori

GrupuriUtilizatori

 

IdTip 

 

TipUtilizator 

  IdTip   TipUtilizator Diagrama Tipuri Asigur ă ri – stocheaz ă tipurile de

Diagrama Tipuri Asigurări – stochează tipurile de contracte care sunt oferite de companie (împărţite pe categorii şi planuri de asigurare);

Categorii IdCateg TipuriAsig DescrCat IdPlan IdTip FK_TipuriAsig_Planuri DescrTip FK_Planuri_Categorii Planuri
Categorii
IdCateg
TipuriAsig
DescrCat
IdPlan
IdTip
FK_TipuriAsig_Planuri
DescrTip
FK_Planuri_Categorii
Planuri
IdCateg
IdPlan
DescrPlan

35

Dezvoltarea unui sistem informatic de Contact Center

Diagrama Contracte – cuprinde detaliile legate de contractele clienţilor stocaţi în baza de date (tipuri de contracte, statusuri contract, statusuri primă);

TipuriAsig

 

IdPlan

IdTip

IdTip

 

DescrTip

Contracte NrContract IdTip StatusContract StatusPrima IdAgent IdClient Prima DataInceput Facturat_PanaLa
Contracte
NrContract
IdTip
StatusContract
StatusPrima
IdAgent </