Article title, content: This is the content, [615003]

2
CUPRINS

Lista abrevierilor…………………………………………………………………………………………………………………3
Adnotare (în limbile română și engleză) ………………………………………………………………………………..4
Introducere ………………………………………………………………………………………………………………………….6
Titlul I – Fundamente teoretice și analiza domeniului de studiu
1.1 Noțiuni introductive în tehnologiile de comunicare………………………………………..10
1.2 Principii de lucru a rețelelor telefonice cu și fără fir…………………………………………12
1.3 Analiza bazelor de date relaționale și nerelaționale…………………………………………14
1.4 Limbajul sql și sisteme de gestiune a bazelor de date relaționale……………………………18
Titlul II – Proiectarea sistemului informațional
2.1 Gestionarea centrelor de date telecom………………………………………………………22
2.2 Metodologii de proiectare a sistemului informational………………………………………24
2.3 Proiectarea bazei de date a sistemului informational………………………………………..26
2.4 Selectarea platformei de realizare a sistemului informațional……………………………….30
2.5 Comunicarea client – server utilizind protocoale http și https……………………………….31
Titlul III – Implementarea și analiza rezultatelor sistemului informațional
3.1 Configurarea mediului de lucru Java sub platforma Andirud……………………………….35
3.2 Implementarea arhitecturii MVP în structura sistemului informational……………………40
3.3 Testarea și analiza rezultatelor obținute……………………………………………………..42
3.4 Feedbackul utilizatorului și perspectiva de dezvoltare pentru viitor……………………….43
Concluzii și recomandări ……………………………………………………………………………………………………..47
Bibliografie …………………………………………………………………………………………………………………………49
Anexe………………………………………………………………………………………………………………………………..50

6
INTRODUCERE
Accesul cetățenilor la comunicațiile telefonice este o cerință actuală a dezvoltării societății în
contextul globalizării proceselor și fenomenelor contemporane. Dezvoltarea societății
informaționale, bazată pe dezvoltarea infrastructurilor mobile, creează cadrul necesar asigurării
accesului oricărui cetățean la informații care îl privesc sau care au influență asupra condițiilor sale
de muncă, de studiu sau de viață.
Scopul acestei lucrări de licență este de a studia modul de organizare a datelor colectate despre
convorbirile telefonice a celui mai mare prestator de servicii de telefonie fixa și mobilă din
Republica Moldova – Moldtelecom. Ca produs finit al acestui studiu, se propune a fi o aplicație
mobilă, realizată sub platforma Android, care ar putea fi un potențial serviciu contra plată pentru
clienții companiei. Unul din obiectivele de bază este ca utilizatorii să poată beneficia de o
transparență totală prin intermediul noilor tehnologii de comunicare.
Obiectivele acestei lucrări de licență sunt constau în fundamenta cunostințelor obținute în
decursul studiilor de licență, precum:
 Fundamentarea cunoștințelor în domeniul tehnologiilor informționale și a sistemelor
informatice în genereal și a tehnologiilor de comunicare în particular
 Perceperea modului de lucru a rețelelor de comunicare cu și fără fir
 Sinteza conceptuoui de baze de date si analiza comparativă abazelor de date relaționale și
nerelaționale
 Revizuirea limbajului sql și a sistemelor de gestiune a bazelor de date relaționale precum
Oracle sau SQLite pentru platformele de dezvoltare mobile
 Argumentarea selectării metodologiei de proiectare obiect orientată
 Demonstrarea abilităților de proiectare și gestionare a unei baze de date relaționale
 Studierea necesității implementării unui asemenea sistem informatic și compararea acestuia
cu sistemele deja existente
 Selectarea argumentată a platformei de dezvoltare a produsului program Android și a
concurenților de piață internațională
 Analiza și implementarea modelului de comunicare client server
 Analiza și implementarea protocoalelor de comunicare, in deosebi protocolul securizat https
si metodele de comunicare folosite
 Argumentarea folosirii limbajului JSON ca mod de comunicare REST intre client și server

7
 Analiza și implementarea în Java a modelului arhitectural MVC a aplicației mobile
 Analiza metodei de interacțiune cu utilizatorul final în vederea rezolvării potențialelor erori
apărute în ciclul de viață al aplicației.
Au fost analizate mai multe aplicații deja exostente precum “Smash SMS”, “SMS redirect”
pentru Android, “Super redirect” pentru IOS și “My Redirect” pe Windows Phone dar s-a adeverit
ca acestea nu satisfac toate cerințele pieții interne și internaționale. Așadar importanța temei
selectate se rezumă la crearea unui sistem informațional complex, cu o structură client-server care va
avea un funcțional foarte vast, un serviciu inovativ care să pună la dispoziția utilizatorului și unele
funcții ale sistemului precum baterie descărcată, conectare sau deconectare dispozitiv.
În Republica Moldova exista o multitudine de funcționalități in ceia ce priveste serviciile de
comunicare telefoice, începînd de la apeluri și sms pînă la sisteme avansate de VoIP. Analizînd piața
comunicațiilor internă, cel mai des întîlnite servicii speciale sunt “Suna-ma” sau “Cine a sunat” ce
oferă comoditatea utilizarii anumitor operatori, dar și de a primi informații despre soldul în cont sau
descifrarea facturii apelurilor lunare. Ideia inovativă de a introduce pe piață un nou serviciu se naște
din necesitatea de a
avea mai multe numere conectate la unul singur. Astfel avînd activat acest serviciu,
utilizatorul poate primi sms de la mai multe numere la unul singur, sau datele despre apelurile de
intrare și ieșire. Acest serviciu poate fi conectat precum „Mesageria vocală” în schimbul unei plăți
lunare care ar permite mentenanța de lungă durată a serviciului.
În ultimii ani se atestă o creștere rapidă a numărului de smartphone-uri si tablete vîndute in
Republica Moldova și în țările învecinate, iar un top realizat de o companie națională, atestă că țara
noastră ocupa locul 18 in Europa Centrală și de Est în privința traficului realizat de pe dispozitivele
mobile. Ținînd cont de numarul tot mai mare a utilizatorilor de dispositive mobile, pe piața
moldovenească se simte lipsa unui serviciu de redirecționare a apelurilor și sms-urilor.
Au fost studiate mai multe surse, îndeosebi publicațiile diferitor informaticieni sau site-uri cu
renume în lumea IT. Metoda orientată obiect aleasă pentru elaborarea sistemului informațional
pentru stocarea datelor Moldtelecom se caracterizează prin definirea a trei modele de bază precum
cea a modelului obiectelor ce are rolul de a descrie obiectele care intervin în problema de rezolvat și
relațiile dintre ele, modelului obiectual ce reprezintă descrierea structurii statice a obiectelor,
claselor de obiecte, a operațiilor și atributelor, precum și a legăturilor și a relațiilor dintre ele și

8
modelului dinamic ce are rolul de a descrie stările pe care le poate avea un obiect și evenimentele la
trecerea dintr-o structură în alta.
Importanța teoretică și valoarea aplicativă a cercetării se evidențiază prin analiza diferitor
tehnologii de implementare a sistemului informatic precum tehnica de proiectare a arhitecturii MVP,
pașii de proiectare și elaborare a bazei de date pentru evidența convorbirilor telefonice la
Moldtelecom sau abordarea comparativă a selectării platformei de dezvoltare a aplicației client.
Se vor aplica cunoștințele de programare dobîndite la orele practice de la obiectele de
informatică, precum limbajele OOP, formele de reprezentarea a datelor JSON pentru comunicarea
cu serverul sistemului informațional și XML pentru comunicarea cu alte servere, baze de date SQL
și normalizarea lor precum și managimentul memoriei dispozitivului mobil. Acest raport cuprinde 3
capitole bine structurate, care descriu întregul proces de studiu, proiectare, implementare și analiză
a sistemului informațional de e-redirectionare.
Primul capitol descrie cadrul conceptual din perspectiva literaturii de specialitate dedicate
studiului pieței naționale și internaționale precum și a tehnologiilor de comunicare per ansamblu, și
a bazelor de date relaționale în special. Se accentuiză tehnologia informației și comunicațiile drept
un domeniu prioritar pentru viitorul societății moderne, catalizator pentru dezvoltarea economică și
socială.
Capitolul doi se axează pe aspecte ale proiectării de ansamblu și metodologia in domeniu de
cercetare a sistemului de redirecționare e-redirect. Se analizează modalitățile de proiectare și
cerințele generale în utilizarea metodei de proiectare obiect oreientată aleasă pentru dezvoltarea
sistemului informațional client server. S-au descris metodele de concepție și de realizare a sistemelui
precum și scopul, obiectivele și cazurile de utilizare a aplicației mobile e-redirect. Este descrisă
arhitectura client-server, astfel sistemul informațional distribuit constă dintr-o parte server sau back-
end, unde sunt executate majoritatea procesărilor și memorate bazele de date, și o parte client sau
front-end care furnizează o interfață utilizator, prin intermediul căreia utilizatorul poate executa
cereri către server. Așadar utilizănd acest model arhitectural, sistemul e-redirect este împărțit într-o
componentă client pe Android și o componentă server pe Linux. Partea client a aplicației rulează pe
dispozitiv mobil și primește date care sunt introduse de utilizator. Componenta client pregătește
datele pentru server, și apoi trimite informațiile procesate server-ului. Componenta server primește
cererea clientului, o procesează și returnează informația clientului iar clientul primește informația
returnată de server și o prezintă utilizatorului.

9
În ultimul capitol este descrisă arhitectura sistemului de operare Android, limbajele de
modelare a datelor Json, XML și SQL. S-a menționat limbajul de programare Java și pachetul de
dezvoltare Android SDK ca limbaj de programare a aplicației. Deoarece sistemul este bazat pe o
arhitectură client server s-a ales tehnologia REST, evidențiîndu-se unele aspecte pro și contra. S-a
descris in detalii mediul de lucru Android Studio bazat pe platforma Intelij Idea și componentele
unei aplicații android. S-au analizat rezultatele cercetării și aplicația obținută pe parcursul elaborării
acestei tezei de licență.
Ca scop general, această teză de licență vine cu o soluție mobilă ce ar urma să acopere piața
comunicațiilor telefonice, atît la nivel local cît și regional, punînd în aplicare diferite metodologii ale
celor mai moderne tehnologii informaționale.

10
TITLUL I FUNDAMENTELE TEORETOCE ȘI ANALIZA DOMENIULUI DE
STUDIU
1.1 Notiuni introductive in tehnologiile de comunicare
De-a lungul timpului s-a încercat definirea noțiunilor care alcătuiesc conceptul de tehnologii
de comunicare ca fiind, ansamblul metodelor, proceselor, operațiilor asupra materiilor de
comunicare și datelor pentru realizarea unui anumit produs industrial sau comercial.
Etimologic vorbind,termenul de "telefon" provine din cuvinte grecesti; "tele" caresemnifica
"de la distanta" si "fonos", însemnând "voce" sau "sunetul vocii". La modulgeneral,putem spune ca
un telefon este un aparat care transporta sunetul la distanta,prinintermediul electricitatii. Principiul
de functionare poate fi enuntat pe scurt astfel: "Persoanacare vorbeste în microfonul telefonului face
ca membrana sa vibreze".
Telefonia îsi dovedise cu prisosinta marea utilitate si deschiderea serviciului
pentru public,atâta vreme amânata,nu mai putea întârzia.La 23 mai 1892 a fost promulgata
"Legea pentru exploatare telefonica".Guvernul era autorizat sa înfiinteze si sa exploateze prin
DirectiaGenerala a Telegrafelor si Postelor,serviciul telegrafic,retele telefonice urbane
siinterurbane.Serviciul se facea prin doua feluri de instalatii:
 permanente-posturi de abonat stabilite la domiciliul particularilor,la autoritatilestatului si
orice alt stabiliment public;
 statiuni telefonice, publice, înfiintate în centrele mai active ale orasului,undeoricine avea
dreptul sa vorbeasca la telefon,în calitate de abonat sau neabonat.Telefonul ne-a ajutat deci, sa
ne desavârsim ca fiinte superioare, capabile de inovatie si progres.
Ultimele două decenii au transformat tehnologia informației și comunicării (TIC) dintr-un
produs destinat unui număr restrâns de indivizi, datorită costurilor ridicate de achiziție și a
dimensiunilor relativ mari, într-un instrument omniprezent în viața profesională și personală a
oamenilor. Avantajele TIC nu sunt deloc neglijabile, fapt care a atras răspândirea rapidă în activități
educaționale, fie ele formale sau non-formale. Educația s-a folosit de oportunitatea oferită de TIC
pentru a-și regândi modalitatea de furnizare a conținuturilor educaționale într-o manieră care să
îmbunătățească performanțele elevilor fără costuri excesive pentru sistem. Prin utilizarea a diferite
instrumente TIC se pot conferi sistemului de administrare dimensiuni mai restrânse, reducând
implicit costurile de personal și riscul suprapunerii sarcinilor.

11
Unul dintre cele mai vizibile beneficii pe care le aduce TIC este accesibilitatea informației.
Ceea ce până de curând putea fi consultat doar de grupuri restrânse de oameni, astăzi a devenit
accesibil unui număr teoretic nelimitat de oameni. Creatorul informației este liber să limiteze
răspândirea ei către anumite grupuri, dar de asemenea are la dispoziție instrumente prin care să o
propage către persoane potențial interesate.
Prin intermediul noilor tehnologii de comunicare se urmărește și promovarea autonomiei
clienților, care sunt încurajați să se folosească de instrumentele puse la dispoziție pentru a-și
planifica și monitoriza parcursul educațional și de carieră. Clienții pot astfel să-și organizeze
procesul de trecere între diferite etape într-un mod sistematic, cu perioade de tranziție reduse și cu
un risc scăzut ca opțiunile să fie bazate în mare măsură pe circumstanțe trecătoare. Instrumentele
TIC favorizează construirea unor practici bazate pe probe și feedback, fapt ce este de natură să
crească nivelul serviciilor educaționale prin introducerea unui „cerc al calității” (proiectare,
implementare, evaluare și revizuirea activităților). Prin aceste instrumente, consilierul dobândește
controlul întregului proces pe care îl gestionează și poate interveni asupra fiecărei părți a lui pentru
a-l îmbunătății și a-l face mai accesibil clienților.
Un alt risc în utilizarea mijloacelor TIC este oboseală dată de schimbările dese de tehnologie.
Persoanele care încearcă să fie la curent cu noutățile tehnologice care apar trebuie să facă față unui
mediu care se schimbă extrem de rapid, fapt care conduce la un consum foarte mare de energie. Nu
de puține ori persoana ajunge să se simtă supraîncărcată și încearcă să-și dezvolte strategii de a face
față: de la a sări peste una sau mai multe generații de instrumente, la evitarea tuturor noilor mijloace
care nu-i aduc beneficii majore. Asigurarea calității în mediu online este o problematică de dată
recentă asupra căreia există relativ puține articole reflexive. Introducerea unor standarde de calitate
formale precum ISO pentru serviciile de consiliere a fost luată în calcul, dar au fost aduse argumente
asupra ineficienței acestui demers[6].
Costurile introducerii unor noi tehnologii sau a unui nou instrument sunt relativ crescute, chiar
dacă pe termen lung ele aduc beneficii care le pot justifica. Tehnologiile tind să fie scumpe în
momentul lansării, fiind necesară o perioadă de timp până ca ele să devină accesibile unei populații
mai largi. Decizia de a adopta o anumită tehnologie sau instrument trebuie să ia în considerare atât
beneficiile preconizate, cât și costurile, nu de puține ori cei care le adoptă primii continuă să le
plătească și după ce versiuni mai ieftine și mai eficiente devin disponibile.

12
Proiectele și inițiativele la nivel european în ceea ce privește introducerea TIC în serviciile de
consiliere și orientare au două scopuri principale de dezvoltarea de instrumente și de reflectarea
asupra procesului de utilizare a noilor tehnologii. Resursele tehnologice devin, în condițiile societății
informatizate, un act de identitate pentru orice instituție, comunitate sau țară

1.2 Principii de lucru a retelelor telefonice cu si fara fir
Apariția telefoniei si a radiocomunicatiilor este legată de o serie semnificativă de nume
aleunor inventatori celebri, fiecare dintre ei contribuind mai mult sau mai puțin la apariția
acestei"minuni" după aproximativ douăzeci de ani de la inventarea telefonul. Apariția
radiocomunicatiei este legată de o serie semnificativă de nume ale unorinventatori celebri, fiecare
dintre ei contribuind mai mult sau mai puțin la apariția acestei"minuni" după aproximativ douăzeci
de ani de la inventare a telefonului.
Elementele componente ale unui sistem de telecomunicații este format din trei unități
principale , care sunt întotdeauna prezente sub forma de:
 un transmițător (emițătorul), care preia informații și le convertește într – un semnal;
 un mediu de transmisie (canalul de comunicație) , de asemenea, numit " canal fizic ", care
transmite semnalul . Un exemplu în acest sens este " canalul vid "[21];
 un receptor care ia semnalul de la canal și o convertește în informații utilizabile.
De exemplu , într-un post de radio, amplificatorul de mare putere de la stația de emisie,este
transmițătorul, iarantena de emisie, este interfața dintre amplificatorul de putere și "canalul vid" .
Canalul vid este mediul de transmisie și antena receptorului este interfața între canalul vid și
receptor. Apoi, receptorul radio este destinația semnalului de radio. Acesta din urma avand rolul de
a converti energia electrica in sunet.
Telecomunicațiile prin linii fixe se numesc, comunicație punct-la-punct , deoarece este între
un emițător și un receptor, iar telecomunicațiile prin intermediul emisiunilor de radio senumesc
comunicatii de difuzare, pentru că este între un emițător puternic și numeroa sereceptoare low-
power , radio sensibilile.
În comunicarea prin fir principiul unei transmisii vocale pe fire de cupru este următorul: o
persoană vorbește într-un microfon, iar la capătul celălalt o altă persoană ascultă la un receptor
(difuzor). Unda sonoră a vorbitorului comprimă aerul, și membrana microfonului vibrează
corespunzător. Din această vibrație se generează un curent alternativ, care este modelat după undele

13
sonore. Dacăaceste variații electrice se transmit pe două fire de cupru până la ascultător, ele pot să
producă într-un difuzor îndepărtat oscilații ale membranei care reproduc sunetul original. Între
emițător și receptor se pot afla și diverse alte echipamente și dispozitive suplimentare. Tipu la cesta
de transmisie se numește "analogic", deoarece variațiile tensiunii și curentului electricsunt continue,
valorile instantanee putând lua orice valoare între cea minimă și cea maxima (unda sonoră originară
are și ea o variație analogică).
Rețelele fără fir sunt rețele de aparate și dispozitive interconectate prin unde radio,infraroșii și
alte metode fără fir. În ultimii ani ele au cunoscut o dezvoltare semnificativă pe plan mondial,
reprezentând o soluție alternativă la legăturile cu fir (electric,din fibră optică și altele). Conexiunile
fără fir devin tot mai populare, deoarece ele rezolvă probleme ce apar în cazul cînd avem multe
cabluri, conectate la multe dispozitive.Tehnologiile moderne fără fir pot interconecta echipamentele
(sau și rețelele locale,LAN-urile) la distanțe mici, dar și la distanțe mari. Comunicațiile prin fibră
optică utilizează lungimi de undă în infraroșu apropiate benzii de la 800 până la 1600 nm, cu
preferință pentru lungimile de undă de 850, 1300 și 1550 nm. Uncablu de fibră optică constă dintr-
un fir de diametru mic cu o structură formată dintr -un mijloc de sticlă, un înveliș tot de sticlă și un
înveliș protector exterior, din plastic. Diferența între celedouă elemente din sticlă, miez și înveliș,
constă în indicii de refracție diferiți. Învelișul de plastic furnizează o protecție mecanică dar
ușurează și identificarea fibrelor pentru sudare(engleză: splicing), prin culorile lui diverse. Fibra
optică este un ghid de undă optic.
Radiotelefonia este o formă de radiocomunicație care constă în transmiterea prin
undeelectromagnetice neghidate, în benzi de frecvență special alocate, a unor informații
sonoreanalogice, corespunzătoare în general convorbirilor telefonice. Pentru legături telefonice la
distanțe mici și medii sunt utilizate undele metrice și centimetrice, iar pentru transmisiuni ladistanțe
foarte mari se folosesc undele decametrice. Dezvoltarea comunicațiilor la mare distanță a luat o
amploare deosebită în ultimele două decenii. În ultimii ani,comunicațiile la mare distanță au servit
cercetarilor stiintifice în domeniul atmosferei superioare si ale spațiului cosmic,cu ajutorul sateliților
artificiali și al rachetelor cosmice.Tehnica telecomunicațiilor a putut avea si o dezvoltare
extraordinară, datorită indeosebi cercetarilor stiintifice.În prezent,ea aduce stiintei o justare
compensa.
Există două moduri principale de radiotelefonie:

14
 Radiotelefonia simplă – este caracterizată printr-o comunicare alternantă între cele două
sensuri ale căii și poate fi realizată cu una sau două frecvențe purtăroare.
 Radiotelefonia duplex – este caracterizată printr-o comunicare simultană în ambele sensuri
ale căii prin folosirea, de obicei, a două frecvențe purtătoare diferite.
Dezvoltarea comunicațiilor la mare distantă a luat o amploare deosebită în ultimele două
decenii. În ultimii ani,comunicațiile la mare distantă au servit cercetarilor stiintifice îndomeniul
atmosferei superioare si ale spatiului cosmic,cu ajutorul satelitilor artificiali si alrachetelor
cosmice.Tehnica telecomunicatiilor a putut avea si o dezvoltare extraordinară,datorită indeosebi
cercetarilor stiintifice.In prezent,ea aduce stiinței o justare compensă. În istoria dezvoltării
comunicațiilor telefonice, se observă o serie de salturi care delimitează diferite etape.Schimbarile
calitative care caracterizează diferitele etape sau perioade,se datoresc îndeosebi,progreselor în
urmatoarele direcții:
 marirea distanței de transmisiune;
 utilizarea cât mai economică a circuitului fizic prin marirea numarului de căi
telefonice,funcționând pe acest circuit;
 îmbunatățirea calitații transmisiunii si marirea siguranței de funcționare.
Practic,nevoia de comunicație la distanță,care a dus la inventarea telefonului,datează încă de
la începuturile existentei umane.Pentru a-și transmite mesajele la distanțe mari,la care sunetul vocii
nu putea razbate,oamenii au folosit semnale de fum,oglinzi,tobe de junglă,porumbei calatori si
semnale luminoase.

1.3. Analiza bazelor de date relaționale si nerelaționale
Baza de date este un sistem proiectat pentru a oferi un mecanism organizat, capabil sa
stocheze, sa actualizeze si sa regaseasca informația, ea poate fi privită ca o colecție de fișiere
interconectate care conțin nucleul de date necesare unui sistem informatic. Astfel, poate fi
considerată drept un model al unor aspecte ale realității unei unități economice, modelată prin
intermediul datelor. Diferitele obiecte din cadrul realității, ce prezintă interes, sunt denumite clase
sau entități. Pentru aceste obiecte sunt achiziționate și memorate date referitoare la diferite
caracteristici (atribute). Baza de date se constituie ca un ansamblu intercorelat de colecții de date,
prin care se realizează reprezentarea unei realități[11].

15
Modelul relational al datelor a fost primit cu entuziasm si acceptat aproape fară rezerve atît de
specialiștii din domeniul bazelor de date cât și de utilizatori. Cod are meritul de a fi articulat și
dezvoltat ideile cu privire la utilizarea teoriei apartenenței la ansambluri sub forma unui model
coerent de structurare a datelor numit 'modelul relațional'[12]. Despre acest model s-a scris mult,
astfel încât în prezent, lucrarile consacrate modelului relațional și sistemelor de gestiune a bazelor de
date relaționale sunt cu mult mai numeroase de cât cele dedicate altor tipuri de modele și sisteme.
S-a constatat ca prin utilizarea sistemelor relaționale este posibilă atingerea unor obiective
importante ale organizării datelor și anume: asigurarea unei mai mari independențe a programelor de
aplicație fată de organizarea datelor precum și a unor instrumente eficace de control a coerenței și
redundanței datelor.
Utilizatorii cuceriti de simplitatea modelului relațional au manifestat o puternică preferință
pentru sistemele relaționale. Trebuie subliniat faptul ca folosirea modelului relațional nu necesită
cunostințe teoretice deosebite . Modelul relațional poate fi prezentat utilizatorilor cu ajutorul unor
concepte extrem de simple si intuitive. De exemplu, relatia conceptul central în modelul relațional
poate fi prezentată sub forma unui tablou de date. Reprezentarea relației în acest mod este comodă,
usor de înteles și de utilizat, în special în cadrul operațiilor asupra datelor.
Un model relațional este caracterizat de trei concepte. Conceptele modelului relațional sunt :
 Structura relațională a datelor. În cadrul bazelor de date relaționale, datele sunt organizate
sub forma de tablouri bidimensionale (tabele de date), numite relații. Asocierile dintre relații se
reprezintă explicit prin atribute de legatură. Aceste atribute figurează într-una din relațiile implicate
în asociere (de regulă , în cazul legaturilor de tip 'unu la mulți') sau sunt plasate într-o relație
distinctă, construită special pentru examinarea legaturilor între relații (în cazul legaturilor de tip
'mulți la mulți').
 Operatorii modelului relațional. Definesc operațiile care se pot efectua asupra relațiilor, în
scopul realizării funcțiilor de prelucrare asupra bazei de date, respectiv consultarea, inserarea,
modificarea si stergerea datelor.
 Restricțiile de integritate ale modelului relațional. Permit definirea starilor coerente ale bazei
de date.
Spre deosebire de modelul relațional, BAZE DE DATE NOSQL nu este o bază de date SQL
ci o unealtă la nivel de shell[15]. Datele NoSql sunt stocate în fișiere ASCII UNIX astfel încât pot fi
manipulate prin comenzi uzuale UNIX : ls, wc, mv, cp, cat, head, editate cu vi și pot fi versionate cu

16
CVS(Control Version System). Fiecare fișier conține relații, tabele cu informații. Pentru a extrage
informații un fișier cu date este trimis unuia sau mai multor operatori prin mecanismul de redirectare
IO. NoSql există de mai mult de 1 deceniu și nu are nimic de-a face cu noua mișcare NoSql aparută
recent. În vreme ce prima este un pachet software bine definit cea de-a doua este mai mult un
concept care pleacă de la modelul relațional și ar trebui să se numească NoRel (No Relation). Multe
dintre serverele de baze de date NoSQL de astăzi se bazează pe DHT (Distributed Hash Table),
model, care prevede o semantică hashtable de acces. Pentru a accesa sau modifica orice dată obiect,
clientul este obligat să furnizeze cheia primară a obiectului, atunci DB va căuta obiectul folosind un
meci de egalitate la cheie furnizate INTRODUCERE Termenul NoSQL a fost inventat de Eric
Evans angajat al companiei Rackspace. Numele a fost o încercare de a descrie apariția unui număr
tot mai mare de BD non-relaționale, distribuite ce stochează date care de multe ori nu încercă să
ofere garanții ACID, diferite de sistemele relaționale: MySQL, MSSQL, PostgreSQL concepute
pentru gestionarea datelor în sistem relațional[19].
NoSQL este un sistem de management a bazelor de date rapid, portabil fără limite arbitrare
altele decât memoria și viteza procesorului ce rulează și interacționeaza cu SO UNIX. Folosește
paradigma operator flux. Există un număr de operatori fiecare executând o funcție unică asupra
datelor. Fluxul este furnizat de mecanismul de redirectare a intrării și ieșirilor din UNIX. Fiecare
operator procesează datele după care le parsează următorului operator prin pipe, foarte eficient
deoarece pipe-urile în UNIX sunt implementatte în memorie. NoSql este compatibil cu modelul
relațional însă NoSql nu vine cu nici o garanție în ceea ce privește consistența.
Ua din soluțiile No SQL este Riak este un Key-Value store distribuit, open-source cu suport
enterprise, dezvoltat de Basho Technologies. Este proiectat sa scaleze orizontal și să fie rezilient.
Riak consideră toate nodurile din cluster egale, fără master, deci nu are Single Point Of Failure.
Fiindcă excelează la availability, scalability, este tolerant la partitia retelei și asigură replicarea
datelor în 3 locații, se laudă a fi cel mai rezilient storage Key-Value pus în producție. Pentru
garantarea acestor caracteristici, Riak oferă un nivel de consistență eventuală. Rezolvarea
conflictelor de date este rezolvată cu ajutorul vector clock (ceas logic).
Riak vine cu un mecanism de pluggable storage: poți alege între Bitcask – toate cheile în RAM
sau LevelDB – toate cheile și valorile pe disk, dar oferă un API ce permite implementarea propriului
storage. În funcție de environmentul în care se face deployment se poate face o alegere pentru
optimizarea costurilor de producție.

17
Datele sunt stocate în tuple Key-Value într-un bucket. Valorile pot fi orice: text, JSON, XML,
BLOB etc. În cazul modelului de date anterior amintit (vezi diagrama de la Context și cerințe), mai
jos este reprezentarea JSON a articolului cu cheia: "123"
{ article: id: 123, title: "Article title", content: "This is the content",
location: { country: "Moldova", latitude:123.45, longitude:123.4}
tags: [
{ name: "tag1", date: "10 Mar 1981", author:"John B"},
{ name: "tag2", date: "21 Mar 1981", author:"John B"}
],
}
Se instalează foarte ușor atât local cât și în cluster. În cluster nodurile se adaugă într-o zona de
staging și pot fi activate prin mutarea în zona commit. Pentru monitorizare se instalează Riak
Control.
O alta solutie este Couchbase este un storage de documente JSON. Își are rădăcinile în
CouchDB , proiect aflat sub umbrela Apache. Compania CouchOne Inc., ce oferea suport comercial
pentru CouchDB, împreună cu Membase Inc. au format Couchbase Inc. Noua soluție, Couchbase,
combină modelul de date, indexarea și capabilitățile de interogare CouchDB cu performanța și
scalabilitatea Membase.
Fiind dezvoltat comercial ca proiect open-source este oferit în trei moduri de licențiere: open-
source, community și commercial. Unul dintre capitolele la care excelează Couchbase este
instalarea. Astfel instalarea pe un cluster se poate realiza în doar câteva minute. De asemnea mai
beneficiază și de unelte de monitorizare integrate în instalarea implicită.
Configurarea este deosebit de rapidă, chiar și în mod distribuit. Singura bilă neagră ce o
primește Couchbase este dată de limitarea de a avea sisteme eterogene din punct de vedere al
memoriei RAM folosite. Această limitare nu permite exploatarea la maxim a memoriei disponibile
pe fiecare dintre noduri.
API-ul de Java oferă o interfață simplă și intuitivă astfel încât se poate scrie cod în doar câteva
minute. Documentația este de asemenea suficientă și fără erori.Bazându-se pe stocarea datelor în
memorie performanța este foarte bună.
Maparea modelului compozit de date descrise în paragraful "Context și cerințe" s-a făcut
astfel: Fiecare POJO din model, (dar nu instanță) are asociat câte un column-family. Fiecare
membru atomic al acelui POJO care poate fi reprezentat ca text are asociată o coloană din același
column-family. Membrii compuși au fost la rândul lor modelați ca un column-family diferit.
Având ca intrare urmatorul articol, reprezentat ca JSON:

18
{ article:
{ id: 123, title: "Article title", content: "This is the content",
location: { country: "Moldova", latitude: 123.45, longitude: 123.45}
tags:[
{ name: "Cool", date: "10 Mar 1981", author: "John B"},
{ name: "TSM", date: "21 Mar 1981", author:"John B”}
],
}
Configurarea se face pe fiecare nod în parte, de asemenea automatizată. Există un set
satisfăcător de opțiuni de configurare, dar semnificația acestor opțiuni nu este suficient documentată.
Exista clienți pentru limbajele populare de programare: Java, PHP, Python etc. Comunicarea
clienților cu Hypertable se face prin protocolul Thrift.

1.4. Limbajul sql si sisteme de gestiune a bazelor de date relaționale
SQL este limbajul de programare care defineste si manipuleaza bazele de date. Bazele de date
SQL sînt baze de date relaționale; datele sînt memorate într-un set de relații simple. O bază de date
poate avea una sau mai multe tabele. Oricare tabelă are coloane și rînduri. Se pot defini date și
manipula date în tabele cu comenzi SQL. Se pot folosi comenzi ale limbajului de definire a datelor
(Data Definition Language-DDL) pentru a manevra date. Cea mai comună comandă SQL este
SELECT care permite regasirea datelor din baza de date. PL/SQL permite programatorilor să
programeze comenzi SQL.
Baza de date Oracle are o structură fizică și o structură logică. Deoarece structura logică și
structura fizică sînt separate, ea poate fi gestionată fară să afecteze accesul la structura logică.
Structura fizică : o baza de date Oracle are o structură fizică determinată de fisierele sistemului de
operare care constituie baza de date Oracle. Fiecare bază de date este constituită din trei tipuri de
fișiere: unul sau mai multe fișiere de date, două sau mai multe fișiere redo-log și unul sau mai multe
fisiere de control.
Instanta Oracle – de fiecare data cînd este startată o bază de date, este alocată o zona sistem
globală (SGA) și sînt startate procesele background. SGA este o zonă de memorie folosită pentru
partajarea informațiilor bazei de date între utilizatorii bazei de date. Combinația dintre procesele
background și bufferele de memorie este numită instanța Oracle. O instantă Oracle are doua tipuri
de procese: procese utilizator si procese Oracle. Bazele de date Oracle O baza de date Oracle este o
colecție de date care sînt tratate ca o unitate. Scopul general al bazei de date este memorarea si
regasirea informațiilor. Baza de date are o structura logică și o structură fizică.

19
Deschiderea și închiderea bazei de date: O bază de date poate fi deschisă (accesibilă) sau
inchisă (inaccesibilă). În situații normale baza de date este deschisă și disponibilă utilizatorilor.
Totuși, o bază de date este uneori inchisă pentru efectuarea unor funcții de administrare specifice
care cer ca baza de date sa nu fie disponibilă utilizatorilor.
Structura bazei de date si gestiunea spatiului O baza de date Oracle este o colecție de date
tratate unitar. Scopul general al bazei de date este memorarea și regasirea informațiilor. Baza de date
are o structura logică și o structura fizică.
Un server de baze de date este cheia rezolvarii problemelor de gestiune a informațiilor. În
general, un server trebuie să asigure gestiunea unei cantitați mari de date într-un mediu utilizator în
asa fel ca mai mulți utilizatori să poată accesa concurent aceleași date. Acesta acțiune trebuie sa fie
insoțită de o performanță crescută. Serverul de baze de date trebuie sa împiedice accesul neautorizat
și furnizează soluții eficiente pentru refacerea în caz de defecțiune.
Serverul Oracle furnizează soluții efective și eficiente cu urmatoarele caracteristici precum
mediu client / server (procesare distribuită) pentru a lua toate avantajele unui sistem dat sau a unei
rețele, Oracle permite ca procesarea să fie imparțită intre serverul de baze de date și programul
client. Calculatorul care rulează sistemul de gestiune a bazelor de date manipulează toate
responsabilitațile serverului de baze de date în timp ce stația de lucru rulează aplicații concentrate pe
interpretarea și afisarea datelor și gestiunea bazelor de date mari si a spatiului în Oracle suportă baze
de date mari potențial de dimensiune.
Oracle menține caracteristicile anterioare cu un mare grad de performanță al intregului sistem.
Utilizatorii bazei de date nu suferă scaderea performanțelor de procesare înaltă disponibilitate. În
anumite locații Oracle lucrează 24 ore pe zi fără limitarea utilizarii bazei de date sau caderea parțială
a sistemului nu întrerup utilizarea bazei de date și disponibilitatea controlului.
Oracle poate controla selectiv disponibilitatea bazei de date la nivelul bazei de date sau la
nivelul sub bazei. De exemplu: un administrator poate dezactiva folosirea unei aplicații specifice
astfel ca datele aplicației să poată fi reincarcate fară a afecta alte aplicații.
Proiectarea bazei de date pentru sistemul informațional creat constă din proiectarea schemei
conceptuale (logice) si fizice a acesteia, astfel încât sa raspundă cerințelor utilizatorilor pentru un
anumit set de funcții. În general, se consideră că proiectarea unei baze de date se poate diviza în
urmatoarele faze:
 Colectarea si analiza cerintelor.

20
 Proiectarea conceptuală a bazei de date.
 Alegerea unui SGBD.
 Proiectarea logică a bazei de date.
 Proiectarea fizică a bazei de date.
Cele cinci faze de proiectare enumerate mai sus nu se desfasoară strict într-o singură secvență.
În multe cazuri este necesara modificarea proiectului dintr-o fază inițială într-una din fazele
ulterioare, pentru a se obține rezultatele dorite. Aceste bucle de reacție între faze (sau în interiorul
unei faze) sunt, în general, frecvente în cursul proiectării unei baze de date. Înainte de a se proiecta
efectiv o baza de date, este necesar sa se cunoască ce rezultate se asteaptă utilizatorii potențiali să
obțină de la baza de date respectivă și ce informații primare sunt disponibile pentru aceasta.
În faza de proiectare conceptuală a bazelor de date se proiectează schema conceptuală și
schemele externe ale bazei de date. Deși nu este obligatoriu, această fază se poate menține
independența de SGBD și produce un model de date de nivel înalt, care va fi implementat dupa
transpunerea lui într-un model de date specific. Chiar daca proiectanții pot porni direct cu scheme
conceptuale specifice unui anumit SGBD care se mai numesc și scheme logice, este totuși
recomandabil să se realizeze mai întâi schema conceptuală de nivel înalt independența de SGBD,
deoarece aceasta este o descriere stabilă și inavuabilă a bazei de date. Alegerea unui SGBD și
deciziile ulterioare de proiectare se pot schimba fară ca aceasta sa se schimbe. Proiectul conceptual
de nivel înalt se realizeaza pe baza cerintelor definite în prima etapa de proiectare si se reprezinta, în
general printr-o diagrama Entitate-Asociere (extinsa).
În faza de proiectare logică a unei baze de date se realizează schema conceptual globală și
schemele conceptuale (vederile) externe pentru sistemul SGBD ales, pornind de la schema
conceptuală si schemele externe de nivel înalt independente de SGBD, proiectate în faza 3 4
precedentă. Aceasta fază de proiectare logică poate fi realizată în doua sub-faze: transpunerea
schemei conceptuale în modelul de date al sistemului SGBD ales, dar independent de sistemul de
gestiune propriu-zis si rafinarea schemei conceptuale și a schemelor externe obținute anterior, astfel
încât sa se utilizeze unele (sau cât mai multe) din facilitatile oferite de sistemul SGBD ales (modul
de generare a cheilor primare, definirea constrângerilor, etc.). Aceste doua sub-faze se pot realiza
împreuna, folosind unul din instrumentele de proiectare oferite de sistemul SGBD ales. Rezultatul
acestei faze de proiectare îl constituie, asadar, schema conceptuală și schemele externe ale bazei de
date, dependente de sistemul SGBD ales și de modelul de date al acestuia.

21
Proiectarea fizica a bazei de date este procesul de alegere a structurilor de memorare și de
acces la fisierele bazei de date, pentru a obține performante cât mai bune, pentru cât mai multe din
aplicațiile proiectate. Ca parametri generali de alegere a opțiunilor proiectului fizic al unei baze de
date relaționale se pot enumera: timpul de raspuns, utilizarea spațiului de memorare, capacitatea
tranzactională. Deciziile de proiectare fizică se pot lua numai după o analiză a aplicațiilor care se vor
executa și în principal a interogarilor si tranzacțiilor pe care acestea le vor lansa. În urma analizei se
pot sintetiza informatii care sa dea imaginea de ansamblu a utilizarii atributelor relațiilor bazei de
date: care atribute sunt actualizate cel mai frecvent, care atribute sunt folosite cel mai frecvent în
selectii ale interogarilor, etc. Aceste informații se folosesc pentru stabilirea indexurilor secundare ale
relațiilor.

Figura 1.4-1 Interacțiunea dintre BD și SGBD în sistemul informațuinal de evidenta
convorbirilor telefonice la Moldtelecom

În concluzie, acest capitol descrie cadrul conceptual din perspectiva literaturii de specialitate
dedicate studiului pieței naționale și internaționale precum și a tehnologiilor de comunicare per
ansamblu, și a bazelor de date relaționale în special. Se accentuiză tehnologia informației și
comunicațiile drept un domeniu prioritar pentru viitorul societății moderne, catalizator pentru
dezvoltarea economică și socială.

22
TITLUL II PROIECTAREA SISTEMULUI INFORMAȚIONAL
2.1. Gestionarea centrelor de date telecom
Depozitele de Date (Data Warehouse) reprezintă rezultatul interferenței mediului economic și
al tehnologiilor informatice avansate. Evoluția tehnologiilor informatice oferă soluții eficiente de
gestionare a unor volume foarte mari de date integrate de ordinal TB asigurând niveluri de sinteză și
detaliere adecvate. Costul realizarii unui depozit de date este foarte mare și recuperarea se face în
timp îndelungat. Dintre aceste costuri, 1/3 se cheltuiesc cu software necasar, 1/3 cu hardware și 1/3
cu servicii profesionale. Depozitele de date furnizează arhitecturi și interfețe utile conducerii
executive prin organizarea sistematică, intelegerea și utlizarea datelor în luarea deciziilor strategice,
într-un mediu economic competitiv și în rapidă evolutie.
Depozitul de date pentru Moldtelecom este un ansamblu isr sursele de date pentru depozitul
de date provin, în special, din datele importate din sistemul informatic operational, dar mai pot
proveni ți din datele de arhivă perecum și din sursele externe date publice, date demografice, date
statistice, date obținute în urma unor sondaje de opinie etc.
Informațiile sunt organizate în depozitele de date într-o maniera care să permită analizarea lor
complexă, deci extragerea semnificației economice pe care o poarte. Datele operaționale BD sau
fisiere sunt orientate pe aplicații, în sensul ca organizarea lor este optimizată pentru a servi
procesului tranzacțional, dinamicii sistemului. De exemplu, o comandă lansată de un client va
aparea în sistemul operațional ca un set de înregistrari care vor conține date despre client, despre
produsele sau serviciile comandate, despre modul de transport și despre modul de plată.
Depozitul de date Moldtelecom este orientat pe subiectele importante alea procesului
economic: clienții, furnizorii, produsele, apelurile, datoriile etc. Cresterea volumului de date, precum
și perfecționarea produselor software de gestiune a acestuia, au condus la o nouă calitate a utilizarii
datelor prin analize care pot releva conducerii organizației informații greu sau chiar imposibil de
obținut pe alte cai. Pentru a obtine informațiile dorite, depozitele de date sunt supuse unor prelucrări
complexe, cu ajutorul unor metode specifice, cum ar fi: analiza multidimensională a datelor, metode
statistice superioare de prognoză, metode matematice aplicate unui volum foarte mare de date.
Arhitectura pe componente a depozitului de date Moldtelecom evidențiaza elementele
componente și anume: sursa de date precum date externe, date interne și date arhivate, depozitul de
date metadate, date agregate și date detaliate și interfetele de analiză precum Data Mart, Data
Mining, OLAP.

23
Metadatele descriu datele conținute în depozitul de date și modul în care ele sun obținute și
stocate. Acestea precizează structura datelor, proveniența lor, regulile de transformare, de agregare
și de calcul. Datele agregate, deși determină o crestere a redundanței datelor, sunt necesare în
depozitul de date deoarece în acest fel se poate asigura un timp mediu de raspuns cât mai redus.
Aceste date presupun un grad de prelucrare prealabilă, astfel încat sa fie pregatite pentru nevoile
managementului: consolidare, totalizare, sumarizare, împachetare etc.

Figura 2.1-1 Componentele software în sistemul informațuinal de evidenta convorbirilor
telefonice la Moldtelecom

Depozitele de date Moldtelecom sunt folosite pentru a stoca volume mari de date pentru
analiza și procesarea apelurilor. Acestea colectează date dintr-o varietate de surse și stocheaza datele
astfel încat sa fie disponibile pentru o mare varietate de interogari. Potrivit unor arhitecturi, imediat
după ce datele sunt primite și prelucrate de un depozit de date, acestea sunt stocate într-un sistem de
management al bazelor de date.
Tabela activă poate stoca valori de date, care sunt curente, la un anumit moment, pe când,
tabela de log stochează modalitatea în care datele au fost schimbate în timp. O problemî cu
arhitectura prezentată o reprezintă interbalul de timp asociat cu accesarea datelor stocate în tabelele
sistemului de baze de date. De fiecare data cand este primitî o înregistrare, datele sunt citite din
tabelul de date activ în baza de date și încarcate în depozitul de date ce face cererea.
Procesarea în-memory a depozitelor de date Moldtelecom presupune stocarea într-o
structura de baze de date a datelor din depozite de date, aceste baze de date aflandu-se în memoria
RAM. Datele primite de la depozitul de date poti fi stocate într-o coadă și încarcate în strucura de
stocare a datelor în conformitate cu reguli prestabilite.

24

Figura 2.1-2 Pocesarea in-memory a depozitelor de date Moldtelecom

Figura 2.1-2 ilustrează un depozit de date Moldtelecom și o bază de date în memorie. În acest
exemplu, o aplicație cu depozite de date (301) depozitează date de la o baza de date stocată în
memorie (310).
Pe baza articolelor parcurse în realizarea acestor descrieri s-a constatat ca tehnologia de
procesare a depozitelor de date în-memory Moldtelecom reprezintă un mare progres tehnologic în
domeniul comunicațiilor din Republica Moldova și fiind o soluție relativ noua permite diverse
abordari și posibilitatea aparitiei de imbunatațiri. Plusul adus de această tehnologie domeniului IT
constă în reducerea timpului de prelucrare a cantitaților mari de date ceea ce duce la usurarea muncii
depuse de angajați și obtinerea rezultatelor necesare în timp record.

2.2. Metodologii de proiectare a sistemului informațional
Metodele de concepție a sistemului informatic creat în această teză de licență se pot clasifica
în trei mari categorii: metode structurate, metode sistemice și metode orientate obiect.
Metodele structurate folosesc descompunerea progresivă descendentă „top-down”. Concepția
constă în crearea, pornind de la specificațiile, unui ansamblu unitar în interacțiune având fiecare o
funcție clar definită. Diagramele de fluxuri de date descriu prelucrările logice ale datelor și arată
maniera în care datele intrate sunt modificate printr-o suită de transformări funcționale pentru a
ajunge la datele de ieșire. Cele mai cunoscute metode aparținând acestei prime generații sunt: SADT
(Structured Analisys and Design Technique), JSD (Jackson System Development), Yourdon etc.

25
Diagramele de structură permit vizualizarea structurii ierarhice, descrierea programului sau a unui
modul fiind stabilite pe mai multe niveluri, prin rafinări succesive.
Metoda SADT propune un ansamblu de diagrame ordonate ierarhic în care fiecare poate fi
considerată fie ca o diagramă – părinte (sinteză a diagramelor sale fiu), sau ca o diagramă – fiu
(dezvoltare a unei părți a celei părinte). În cazul metodei SADT, datele și prelucrările sunt
examinate împreună definindu-se actigrame (sau diagrama activităților) și datagrame (diagrama
datelor). Metodele structurate au fost integrate în S.G.B.D. prin limbajul de descriere a datelor.
Metodele sistemice permit vizualizarea și înțelegerea organizării datelor. Aceste metode se compun
din abstractizări care prezintă lumea reală ca pe o colecție de entități și de legături, stabilite între
acestea. Majoritatea permite definirea de restricții descriind aspectele statice, dinamice sau chiar
temporare ale entităților. În această calitate ele constituie formalisme lizibile în cadrul specificațiilor
de nevoi. Două metode constituie referința de reprezentare semantică: metoda individualăcare va fi
integrată Merise și metoda entitate–relație. La fiecare nivel de abstractizare sistemul informational
este reprezentat prin trei modele: datele, prelucrările, comunicările. Ceea ce este specific acestor
metode este utilizarea teoriei sistemelor în analiza sistemului informational de stocare a datelor la
Moldtelecom. Sistemul informatic este abordat sub două aspecte complementare, datele și
prelucrările analizate-modelate independent cu reunirea lor cât mai târziu posibil.
Spre deosebire de metodele ierarhice, metodele sistemice acordă prioritate datelor față de
prelucrări și respectă cele trei nivele de abstractizare introduse de raportul ANSI/SPARC:
conceptual, logic și fizic[13]. Avantajele metodelor sistemice apar din promovarea tehnologiei
bazelor de date.
Metoda orientată obiect aleasă pentru elaborarea sistemului informațional pentru stocarea
datelor Moldtelecom se caracterizează prin definirea a trei modele:
 modelul obiectelor ce are rolul de a descrie obiectele care intervin în problema de rezolvat și
relațiile dintre ele;
 modelul obiectual ce reprezintă descrierea structurii statice a obiectelor, claselor de obiecte,
a operațiilor și atributelor, precum și a legăturilor și a relațiilor dintre ele;
 modelul dinamic ce are rolul de a descrie stările pe care le poate avea un obiect și
evenimentele la trecerea dintr-o structură în alta.
Modelul dinamic descrie interacțiunea dintre obiecte și este focalizat pe aspecte ce se
schimbăîn timp, deoarece orice obiect are un ciclu de viață cu un punct de pornire și unul de sfârșit.

26
Modelul dinamic descrie acest ciclu de viață, ce se întâmplă de-a lungul său și cum este influențat
obiectul.
Modelul funcțional are rolul de a descrie prelucrările și fluxurile de date. Modelul funcțional
prezintă transformările valorilor datelor precizând sursa și destinația lor[17]. Avantajele oferite de
metoda OMT sunt valorificate pe deplin în proiectarea și realizarea de sisteme informatice care
trebuie să răspundă unor noi cerințe și anume: reprezentarea complexă a realității, informația
gestionată în cadrul unui sistem informatic are tendința de creștere în complexitate, iar manipularea
ei trebuie să fie într-o formă ușor de perceput de către utilizatorul final. In esență, sistemele
informatice realizate trebuie să fie flexibile în raport cu modificarea structurilor de date și trebuie să
evolueze natural în timp, urmând astfel evoluția organismului economic, bancar, financiar pe care îl
deservește, ele evoluează spre abordări multimedia care combină text cu foi de calcul, grafice,
animație și voce.

2.3. Proiectarea bazei de date a sistemului informational
Primul pas în realizarea aplicației pentru gestionarea convorbirilor la Moldtelecom depinde de
comunicarea client-server este analiza datelor și realizarea unei scheme conceptuale (model
conceptual) al acestor date. În această etapă sunt analizate natura și modul de utilizare a datelor.
Sunt identificate datele care vor trebui memorate și procesate, se împart aceste date în grupuri logice
și se identifică relațiile care există între aceste grupuri. Analiza datelor este un proces dificil, care
necesită mult timp, însă este o etapă absolut obligatorie. Acest model conceptual este mai apoi
transformat in modelul fizic al bazei de date, unde sunt indicate toate datele, și tipurile de date din
fiecare tabel[7]. Deasemenea sunt menționate și relațiile dintre tabele.
Definirea tabelelor asociate bazei de date este un pas esențial în proiectarea acesteia, datorită
faptului că rezultatele solicitate nu conțin informații legate de structura tabelelor din care sunt
obținute. Forța unui SGBDR cum este Sqlite constă în abilitatea de a găsi rapid și a combina
informații memorate în tabele separate. In acest scop fiecare tabel dintr-o bază de date va include
un câmp sau un set da câmpuri care identifică în mod unic fiecare înregistrare din tabel. De regulă,
acesta este un număr de identificare unic sub forma unui cod sau număr serial. In termenii bazelor
de date acesta este o cheie primară pentru tabel.
Atunci când se alege un câmp ca și cheie primară, se ține cont că pentru o cheie primară nu
sunt admise duplicatele sau valorile nule iar valoarea unei chei primare poate fi folosită pentru a

27
căuta înregistrări, ca urmare nu trebuie să fie prea lungă pentru a fi memorată ușor. Ea trebuie să
aibă un anumit număr de caractere sau de digiți, sau să fie cuprinsă într-o anumită gamă de valori.
Deasemenea dimensiunea cheii primare afectează viteza operațiilor în baza de date, în consecință
trebuie utilizată cea mai mică dimensiune posibilă, adecvată nevoilor de memorare în câmp. În baza
de date a sistemului de evidență a convorbirilor telefonice la Moldtelecom, s-a utilizat un algoritm
de codificare a parametrilor utilizînd clasele utilitare din Java. Odată stabilite tabelele, câmpurile
și relațiile dintre acestea, este momentul să se revină asupra proiectării pentru a se detecta și remedia
eventualele deficiențe.
Cele mai întâlnite greșeli, care fac datele greu de utilizat pot fi existența unui tabel cu un
număr mare de câmpuri care nu se referă la aceleați date, existența unor câmpuri care sunt,
intenționat, lăsate goale în multe înregistrări, deoarece atributele din câmpurile respective nu sunt
aplicabile acestor înregistrări astfel se impune ca să se definească un nou tabel.
Dacă există un număr foarte mare de tabele care conțin aceleași câmpuri, se încearcă
consolidarea tuturor informațiilor referitoare la un subiect într-un singur tabel iar eventual se
include în structură un câmp suplimentar care să diferențieze datele care ar fi stocate în tabele
diferite.
Structura bazei de date a sistemului creat (Anexa1) este alcatuită din 10 tabele, cu relații de
difeite tipuri între ele.
Tabelul “tab_user” stochează datele personale despre utilizatori, tabelul “tab_call” conține
datele despre apeluri și are o relație one to many cu tabelul tab_user. Tabelul “tab_sms” stochează
datele despre sms-uri și are relație one to many cu “tab_user”. Tabelul “tab_phone” are datele
despre numărul de telefon al utilizatorului, iar tabelul “tab_debts” – datele despre datoriile
utilizatorului. Tabelul “logs_tab” conține datele despre logurile care trebuiesc transmise la alt număr
de telefon sau adresa de email. Această bază de date este normată la forma a 3-a dupa Codde.
În procesul proiectării bazei de date se are ca scop reprezentarea cât mai corectă a
informațiilor și diminuarea cât mai mult a posibilitatății de a ajunge la informații eronate. Pentru a
ajunge la această performanță, trebuie să se aplice normalizarea bazei de date – o tehnică de generare
a unor relații co proprietățiile dorite, în scopul memorării corecte a datelor. Procesul de normalizare
a bazei de date a sistemului de evidență a convorbirilor telefonice la Moldtelecom fost realizat inițial
în trei forme normale, numerotate de al unu la trei.
Normalizarea este un proces formal de analiză a relațiilor bazate pe chei primare și presupune

28
urmarea unor reguli prin care baza de date se poate normaliza până la un anumit grad. Dacă o cerință
nu este satisfăcută, relația trebuie descompusă în mai multe relații, care individual satisfac cerințele
formei normale. Normalizarea se execută trecând prin toate formele normale, până la forma normală
cerută. În figura următoare sunt evidențiate relațiile dintre diversele forme normale.

Figura 2.3-2 Etapele de normare a BD a sistemului informațuinal de evidenta a convorbirilor
telefonice la Moldtelecom

Așadar, în procesul de normalizare a bazei de date a sistemului de evidență a convorbirilor
telefonice la Moldtelecom se obține:
 formă Nenormalizată (UNF) – o tabelă care conține una sau mai multe grupuri repetitive;
 forma Normală Unu (1NF) – relație în care la intersecția oricărei linii cu oricare coloană se
găsește un câmp care conține exact o valoare, astfel se transferă datele de la sursă într-o tabelă, care
va fi o tabelă nenormalizată. Pentru a transforma această tabelă în forma normală unu, se identifică
și șterge grupurile repetitive din tabelă. Grupurile repetitive sunt atribute, sau grup de atribute,
pentru care sunt diferite valori pentru aceeași valoare a cheii, ceea ce este în contradicție cu definiția
cheii;
 forma Normală Doi (2NF) – o relație este în forma normală doi, dacă este în forma normală
unu și fiecare atribut care nu aparține cheii primare, este total dependent funcțional de cheia
primară;
 forma Normală Trei (3NF) – o relație care este în formă normală doi și nu există nici un
atribut care să nu aparțină cheii principale și care să fie tranzitiv dependentă de cheia principală. În
cazul existenței dependenței tranzitive, se șterge coloanele care sunt tranzitiv dependente de cheia
primară și se crează o relație nouă cu aceste coloane, împreună cu determinantul lor, adică cheia

29
primară;
 forma normală Boyce-Codd (BCNF) – o relație este în forma normală Boyce-Codd dacă și
numai dacă orice determinant din relație este cheie candidat.
Normalizarea dă posibilitatea proiectantului bazei de date, pentru a efectua o seria de teste pe
baza de date, toate aceste teste ducând la prevenirea posibilității de a apărea anomalii la actualizarea
bazei de date.
În aplicație s-a utlizat SQLite – o bibliotecă C care implementează un motor de baze de date
SQL încapsulat, oferă posibilitatea de a-l introduce în diverse sisteme și nu necesită configurare.
SQLite ocupă o cantitate mică de stocare pe disc și de memorie de aprox. 250 KB, deci este o
alegere perfectă pentru crearea de baze de date pe mai multe sisteme de operare mobile.
SQLite este diferit de majoritatea altor motoare de baze de date SQL prin aceea că a fost
proiectat pentru a fi simplu:
 Simplu de administrat;
 Simplu de folosit;
 Simplu de a fi încapsulat într-un program mai mare;
 Simplu de întreținut și setat.
Ca exemplu de creare a tabelului User din baza de date a sistemului de evidență a
convorbirilor telefonice la Moldtelecom:
CREATE TABLE User (
id INTEGER PRIMARY KEY autoincrement NOT NULL,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL);
SQLite este integrată în Android și nu necesită nicio configurare specială pentru a putea fi
folosită, managementul bazei de date fiind făcut de platforma Android. Baza de date aferentă
fiecărei aplicații este salvată în: DATA/data/PACKAGE_NAME/databases/FILENAME
Interogările către o bază de date pot fi create prin intermediul
metodelor rawQuerry() și querry() sau prin intermediul metodelor din SQLiteQueryBuilder, clasă
folosită pentru a construi interogări SQL.
O interogare returnează un obiect de tip Cursor care pointează către o linie din rezultatul întors
de querry. Funcțiile implementate de Cursor sunt:
 moveToFirst(): mută cursorul pe prima linie;
 moveToNext(): mută cursorul pe următoarea linie;

30
 getCount(): returnează numărul de linii întoarse de querry;
 isAfterLast(): verifică dacă s-a ajuns la sfârșitul interogării;
 get*(): funcții de acces a datelor din coloane.

2.4. Selectarea platformei de realizare a sistemului informational
Este dificilă dezvoltarea unei aplicații native deoarece presupune foarte multă muncă, chiar
dacă ne referim la o singură platformă, să nu mai vorbim de doua sau trei. Desi iOS si Android nu
sunt singurii doi jucători in spatiul mobil, ei sunt cei care domină. Este important sa ne amintim că
mai există si alte platforme pentru aplicațilei mobile, dar acum ne vom concentra doar pe iOs si
Android Cele mai populare și des întilnite sunt platformile sunt Android, IOS și Windows Phone, cu
o cota parte a pieței diferită, reprezentată în figura 2.4-1.

Figura 2.4-1 Topul sistemelor de operare mobile 2016 in mln bucăți

În frunte cu Android, toate cele 3 platforme s-au îndreptat către o interfață minimalistă,
rapidă,orientată spre utilizare. Marea diferență este că producători de spartphone-uri au adăugat și ei
interfața lor proprie peste OS-ul normal. Platforma Apple este avantajoasă și modernă. Play Sone se
bucură de un procentaj mai ridicat în privința aplicațiilor gratuite, în comparație cu cu App Store,
dar în privința diversitații și calitații IOS este invingator.
Unul dintre lucrurile cele mai importante pentru untilizatori de smartphone-uri este bateria.
Este destul de dificil să comparăm cele 3 platforme din acest punct de vedere. Diferite opțiuni de
marime a autonomiei gasim și la Android si la Windous Phone pentru a spori durata dintre incărcări.
Din acest punct de vedere putem spune că telefoanele ce rulează pe Android sunt cele mai
favorizate, acestea dispun de bateri cu o capacitate mai mare ce oferă o autonomie de pină la o zi de
utilizare intensă, ceea ce, in cazul iPhone-urilor nu putem spune asta bateria se economisește intr-o
perioada mai mica de timp. Aplicațiile standard pentru e-mail la Android,iOS, Windows. 020406080
Android IOS Windows

31
Android este sistemul de operare mobil dominant la nivel global depășind Apple prin
atingerea a 1 milion de aplicații. Mai mult decât atât, cu succesul pe care telefoanele precum
Aamsung Galaxy S4, S6 sau S7 il au, Android-ul este in crestere cu fiecare zi. Principalele avantaje
ale sistemului de operare Android sunt urmatoarele:
 Suport pentru multistaking-Android poate rula mai multe aplicații în același timp.
 AppMarketul din Android este superior celui deținut de Apple:
 Utilizatorul poate alege platforma harware pe care să ruleze Android: sistemul android este
suportat pe o mulțime de telefoane mobile, tablete și alte dispozitive.
 Android include integrarea cu Google și rețelele de socializare: Search pe Google direct de
pe Hoome Screen, intgrare cu gmail, Facebook,Twiter.
Platforma Android este cea mai generoasă dintre toate platformele mobile existente, Apple și
Microsoft restricționând mediul de dezvoltare la propriile sisteme de operare. Development Kit de
Android vine sub forma unui set de tool-uri de bază al sistemelor de operare pentru fiecare versiune
în parte și al unor biblioteci adiționale pentru echipamentele cu capabilități extinse.
Android are niste API-uri puternice,excelent documentate,o comunitate de dezvoltatori în
continuă expansiune și fară costuri in ceea ce privește dezvoltarea si distribuția aplicațiilor. După
cum dispozitivele mobile continuă sa crească in popularitate, Android oferă o oprtunitate interesantă
pentru crearea de aplicații inovative pentru telefoane, indiferent de experiența dezvoltatorului.
Android se situează in noul val de sisteme de operare mobile create special pentru hardware in
continuă creătere de putere. Windows Mobile,Apple iPhone si Palm Pre asigură un mediu de
dezvoltare mai bogat si mai simplu pentru aplicațiile mobile
Android este o platformă software și un sistem de operare pentru dispozitive și telefoane
mobile bazate pe nucleul Linux. Android este alcatuit din mai multe straturi care comunică intre ele.
Exista 5 straturi principale:Linux Kernel, Libraries, Android Runtime, Application Framework si
Applications. Fiecare strat foloseste serviciile aduse de stratul de sub el conform figurii din anexa 2.

2.5. Comunicarea client – server utilizind protocoale http si https
Rețeaua de calculatoarea sistemului de evidență a convorbirilor telefonice la Moldtelecom este
alcatuită dintr-un ansamblu de mijloace de transmisie și de sisteme de calcul, pentru a realiza atît
funcții de transport a informației cît și funcții de prelucrare a acesteia. În majoritatea sistemelor
client/server, rolul calculatorului client este de a asigura o interfață grafică cu utilizatorul (GUI),

32
astfel încât utilizatorul sa poată avea acces cu usurință la sistem. într-o aplicație client/server tipică,
calculatorul client asigură interfața GUI, iar calculatorul server asigură accesul la baza de date prin
intermediul unui server SQL.
Caracteristica de bază a sistemului creat in aceasta teza de licenta este metoda folosită pentru a
comunica: clientul trimite o cerere la server și serverul îi raspunde clientului oferindu-i informațiile
cerute. Serverul și clientul web folosesc protocoale și standarte specifice pentru a comunica și a
schimba informații.

Figura 2.5-1 Comunicarea cliente server între 2 calculatoare

Se poate concluziona că arhitectura client-server este instrumentul de bază în dezvoltarea
aplicațiilor de retea. Clientul este o aplicație care utilizează serviciile oferite de catre un server.
Pentru a putea realiza acest lucru, clientul trebuie să cunoască unde se află serverul în rețea și cum
trebuie comunicat cu acesta și ce servicii oferă. Aceste protocoale sunt din categoria protocoalelor
Aplicatie, Transport, Internetwork și Acces la Retea.

Figura 2.5-2 Structura modelului ISO OSI

Arhitectura client/server utilizată este o arhitectură de rețea în care fiecare calculator sau
proces din rețea este un client sau un server. Într-o aplicație tradițională client/server, clientul
conține partea de prezentare sau afișarea folosind o interfață prietenoasă, lucrul efectuat de aplicația

33
Android în cazul sistemului de evidență a convorbirilor telefonice la Moldtelecom și manipularea
datelor conectivitatea cu bazele de date.
S-a utilizat arhitectura client/server pe două niveluri – împărțită în două părți distincte unde o
porțiune rulează pe calculatorul client și o porțiune separată rulează pe calculatorul server. Astfel,
aplicația este împărțită între client și server conform figurii 2.5-4.

Figura 2.5-4 Modelul client server pe 2 nivele

Această arhitectură constă din trei componente distribuite pe două niveluri: clientul
(consumatorul de servicii Moldtelecom) și server-ul (furnizorul serviciilor):
 interfața de sistem cu utilizatorul;
 administrarea prelucrării;
 gestiunea bazei de date.
În cadrul acestei arhitecturi interfața de sistem cu utilizatorului (logica prezentării) este
plasată în mod exclusiv în mediul de lucru al utilizatorului (clientul) și serviciile de gestiune a bazei
de date (logica accesului la baza de date) sunt plasate pe un server care este cel mai puternic
calculator care deservește rețeaua.
Pentru realizarea sistemului informațional de evidență a convorbirilor telefonice la
Moldtelecom s-a dezvoltat un sistem client-server, bazat pe cereri efectuate de clienți, dispozitivele
Android, către un server web, care pune la dispoziție resurse ce pot fi accesate prin URL.
Alegerea cea mai potrivită s-a părut în final implementarea unui web service, datorită
protocolului de nivel superior, protocolului de transfer securizat Hypertext, care asigură o bază
pentru dezvoltarea unui mecanism facil de acces la date. De asemenea, acest protocol permite
schimbul datelor în mai multe formate, atât de tip binar cât și plain text, prin completarea headerului
de mime-type.

34
Un alt punct forte al alegerii arhitecturii client-server bazat pe protocolul HTTP pentru
sistemul de evidență a convorbirilor telefonice la Moldtelecom este portabilitatea, limbajul de
programare Java având biblioteci care facilitează crearea mesajelor HTTP și
transmiterea/recepționarea lor pe baza URLului. Datorită folosirii unui limbaj compatibil Java pe
Android, s-a am ales tot Java pentru devoltarea serverului web. Tehnologia Java pentru crearea web
serverelor se bazează pe o arhitectură de tip servlet-container, care permite definirea unor scripturi
Java (servlets) și înregistrarea acestora, de obicei într-un fișier de configurare xml, pentru a fi
încărcate dinamic într-un container web.
Ca protocol de comunicare între client și serverul de evidență a convorbirilor telefonice la
Moldtelecom s-a utilizat protocolul HTTP astfel un client android trimite o cerere HTTP către un
server web, care întoarce un răspuns. Acest răspuns conține o stare al completării cererii și, în caz de
succes, informația cerută. HTTP definește nouă metode care indică acțiunea dorită asupra resursei
accesate precum sunt: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT și
PATCH. Cele utilizate în sistemul de evidență a convorbirilor telefonice la Moldtelecom sunt cele
de GET, prin care se citește resursa, și cele de POST, PUT și DELETE, prin care se modifică
resursa. Metodele safe sunt considerate cele prin care se intenționează doar citirea informației, fără
modificarea stării serverului.
În concluzie capitolul doi se axează pe aspecte ale proiectării de ansamblu și metodologia in
domeniu de cercetare a sistemului de redirecționare e-redirect. Se analizează modalitățile de
proiectare și cerințele generale în utilizarea metodei de proiectare obiect oreientată aleasă pentru
dezvoltarea sistemului informațional client server. S-au descris metodele de concepție și de realizare
a sistemelui precum și scopul, obiectivele și cazurile de utilizare a aplicației mobile e-redirect. Este
descrisă arhitectura client-server, astfel sistemul informațional distribuit constă dintr-o parte server
sau back-end, unde sunt executate majoritatea procesărilor și memorate bazele de date, și o parte
client sau front-end care furnizează o interfață utilizator, prin intermediul căreia utilizatorul poate
executa cereri către server. Așadar utilizănd acest model arhitectural, sistemul e-redirect este
împărțit într-o componentă client pe Android și o componentă server pe Linux. Partea client a
aplicației rulează pe dispozitiv mobil și primește date care sunt introduse de utilizator. Componenta
client pregătește datele pentru server, și apoi trimite informațiile procesate server-ului. Componenta
server primește cererea clientului, o procesează și returnează informația clientului iar clientul
primește informația returnată de server și o prezintă utilizatorului.

35
TITLUL III IMPLEMENTAREA ȘI ANALIZA REZULTATELOR OBȚINUTE
3.1. Configurarea mediului de lucru Java sub platforma Andirud
Android este o platformă open source pentru dezvoltarea si rularea de aplicații mobile,
dezvoltată de Google si Open Handset Alliance. Inițial creată pentru telefoane mobile, Android a
devenit o platformă majoră de aplicații pentru o gamă largă de dispozitive mobile[8].
Pentru configurarea mediului de dezvoltare Android este nevoie de un pc performant, cu
parametri minimi de procesor Intel i5 si memorie operativa 8GB, s-ar face forte binevenit și un
sistem de stocare fizica SSD. Sistemul de operare poate fi bazat Linux sau Windows si
instrumentele necesare pentru descarcare si configurare sunt Java si Android Studio. Descarcarea si
instalarea Java Development Kit (JDK), cel mai recent fiind versiunea stabilă 9, insă orice versiune
incepînd cu JDK 6.0 este recomandată. Putetem descărca JDK-ul de pe java.oracle.com.
Descarcarea si instalarea Android Studio – un mediu de dezvoltare vizual de tip IDE care va
salva o mulțime de timp. Site-ul oficial www.developer.android.com/ ne pune la dispoziție ultima
versiune de soft integrată cu SDK care include diferite instrumente de dezvoltare, documentașția,
platforme Android, librarii externe, driver-ul USB pentru Windows si exemple de aplicatii.
Odata ce s-a descărcat, la instalare apare fereastra cu alegerea locatiilor instalarii fisierelor. Se
alege locații diferite pentru Android SDK și Android Studio (figura 3.1-1). Cea mai bună practică
este de a instala mediul de dezvoltare Android pe o partiție diferită de cea a sistemului de operare.

Fgura 3.1-1 Selectarea directoriilor de instalare

Dupa alegera directoriilor de instalare, apară fereastra de configurare a instalării. Aici se
customizează cantitatea de memorie alocată din RAM pentru mașina virtuală (figura 3.1-2). Se

36
consideră optimal de ales varianta recomandată de 2GB.

Fgura 3.1-2 Customiozarea memoriei RAM

Dupa ce s-a instalat Android Studio, la prima pornire va trebui să configurăm Android SDK, și
anume ce versiuni de Android o sa fie folosite pentru dezvoltare. Este bine de ales cît mai multe
pentru a acoperi o gamă mai largă de dispozitive, dar aceasta necesită mai mult spațiu de stocare
figura 3.1-3.

Fgura 3.1-3 Customiozarea componentelor SDK

37
Cea mai simplă metodă de instalare a mașinilor virtuale Android pe Windows de 32 și 64 de
biți este oferită sub forma unei aplicații multiplatformă ce poate fi rulată atât înWindows, cât și
în Linux , numită Genymotion.
Pentru a putea instala o versiune de Androiud în Windows folosind Genymotion, înainte de
toate va trebui să se creeze un cont pe site-ul oficial al aplicației. După crearea și confirmarea
contului se descarcă aplicația insoțită sau nu de VirtualBox.
Instalarea aplicației nu necesită urmarea unor proceduri speciale, ea realizându-se la fel ca
orice altă instalare obișnuită. După instalare, la prima rulare se face logarea cu contul deja existent,
după conectare apare o listă cu dispozitivele virtuale preconfigurate conform unor dispozitive cu
Android disponibile pe piață (figura 3.1-4). După selectarea dispozitivului dorit, se cere confirmarea
resurselor pe care le va consuma dispozitivul virtual selectat.

Fgura 3.1-4 Alegeea dispozitivelor virtuale pentru instalare

După ce dispozitivul virtual cu Android a fost creat, poate fi selectat în listă. Pentru testarea
aplicației client a sistemului informațional gestionarea convorbirilor la Moldtelecom, s-a folosit un
dispozitiv virtual Google Nexus 5 de la GenyMotion care a arătat performațe foarte mari de
funcționare.
Ca un dispozitiv fizic să fie folosit ca instrument de testare a aplicației în procesul de
dezvoltare, este nevoie de activat opțiunile de dezvoltator din meniul principal. Se alege setările
generale despre telefon și se apasă de 4 ori pe “build number” pentru a activa opțiunile de
dezvoltator(figura 3.1-5)

38

Fgura 3.1-5 Activarea opțiunilor de dezvoltator pe un dispozitiv Android

Un alt element inportant la confugurarea mediului de lucru Android este setarea utilitarelor
pentru depanarea aplicației și analiza logurilor:
 Android Debug Bridge reprezintă un command line care permite comunicarea cu un
emulator sau un device Android, un program client-server care include 3 componente:
 Un client, apelat prin comandă adb(alți clienți adb sunt plugin-ul ADT și DDMS-ul);
 Un server ce rulează ca un proces în backgroud, care gestionează comunicarea dintre client și
daemonul adb care rulează pe emulator sau device;
 Un daemon, care rulează ca un proces de fundal pe fiecare device sau emulator.
Adb-ul poate fi găsit în: <sdk>/platform-tools/. Pentru a folosi ADB shell, device-ul Android
trebuie să fie root-at. Comenzile ADB pot fi rulate din linia de comandă sau dintr-un script. Acestea
au următorul format: [-d|-e|-s <serialNumber>] <command>. Înainte de a utiliza comenzi adb este
important să se cunoască device-ul care este conectat la serverul adb.
Depanarea este foarte importantă în procesul de realizare a aplicațiilor pentru dispozitive
mobile. Acest proces este însa puțin diferit față de depanarea programelor clasice pentru calculator,
în primul rand pentru că rulează pe alt dispozitiv. Tocmai din acest motiv este nevoie de programe
spcializate pentru a realiza depanarea. De asemenea, fiind vorba de dispozitive mobile, apar și
anumite evenimente specifice, cum ar fi apeluri telefonice, descarcarea bateriei etc., evenimente ce
trebuie tratate într-un fel sau altul.
Utilitarul pentru depanarea aplicațiilor pentru Android se numește DDMS sau Dalvik Debug
Monitor System. Acesta folosește de fapt un alt utilitar, numit ADB sau Android Debug Bridge,

39
pentru a se conecta la simulatoare sau dispozitive fizice. Cu ajutorul DDMS se poate vizualiza
parametrii dispozitivului si a programelor ce rulează pe acesta. Versiunile mai noi de Android
Studio folosesc DDMS încorporat întrun utilitar foarte puternic numit Android Studio monitor, ce
are pe lîngă loguri, analiza CPU, GPU, și NetWork (figura 3.1-6).

Fgura 3.1-6 Opțiunile din Android Studio Monitor

Logurile sistemului sunt cele mai importante informații pe care le poate oferi Android Studio
Monitor. Aici sunt descrise toate acțiunile indeplinite de către dispozitiv, excepțiile apărute și
informații necesare depanăraii. Log-urile apar în panoul denumit LogCat (figura 3.1-7)iar fiecare
mesaj din aceasta lista este insotit de urmatoarele date:
 Tipul mesajului:
a) I – Information – mesaj informativ;
b) D – Debug – mesaj utile la depanare;
c) W – Warning – mesaj de avertizare sau excepțiile ce nu sunt foarte importante și nu
au un impact important asupra componenței apar sub forma de astfel de mesaje;
d) E – Error – mesaj de eroare sau excepțiile ce întrerup o componentă apar sub forma de
astfel de mesaje;
e) V – Verbose – informații suplimentare afișate de programe în general la cerere, se
folosesc la depistarea problemelor de funcționare rezultate în general din cauza configurării greșite a
programelor.
 Time – data și ora la care a fost scris mesajul;
 Tag – eticheta sau categoria mesajului ce este util pentru filtre;
 Message – mesajul propriu-zis (text). Este de remarcat că fiecare mesaj reprezintă cîte o linie
de text. Spre exemplu, excepțiile sunt in general afișate pe mai multe linii, acestea conținînd foarte
multă informație. Astfel, fiecare excepție este reprezentată de mai multe mesaje de log.

40

Fgura 3.1-7 Loguri din Android Studio Monitor

In panoul Threads sunt afișate informațiile despre fiecare fir de execuție al fiecarui proces.
Deoarece aceste informații sunt culese prin intermediul unei legături de rețea, overhead-ul este
destul de mare. Pentru nu a încetini semnificativ funcționarea dispozitivului care este mereu nevoit
sa trimită aceste date, vizualizarea trebuie activată. Astfel, se selectează procesul dorit din panoul
Devices și se apasă butonul Update Threads. Dupa ce s-au cules informațiile dorite, monitorizarea se
poate opri prin incă o apasare a butonului.

3.2. Implementarea arhitecturii MVP in structura sistemului informațional.
Programarea pe Android forțează dezvoltatorii să separe funcționalitățile unui proiect de
partea de interfață, pentru ca operațiile să nu blocheze interfața. De aceea, în cadrul aplicației de
evidență a convorbirilor telefonice la Moldtelecom operațiile de background ruleză în thread-uri
separate, iar cea mai bună metodă de a face această separare în cadrul unui proiect Android este
pattern-ul Model View Controller[1].
Așa cum s-a descris la capitolul de proiectare a arhitecturii, devoltarea aplicației de evidență a
convorbirilor telefonice la Moldtelecom implică implementarea unui pattern MVC conform figurii
3.2-1 ce reprezintă schematic separarea a cele trei module funcționale, interfața grafică, modelul și
controllerul, astfel încât fiecare componentă este dependentă de celelalte. Interfața grafică răspunde
la comenzi din partea utlizatorului, controllerul fiind responsabil cu tratarea evenimentelor și cu
actualizarea datelor din interfață. Modelul este cel care asigură persistența datelor din care atât
controllerul, cât și view-ul își actualizează conținutul.

41

Figura 3.2-1 Modelul arhitectural MVC în sistemul informațuinal de evidenta a convorbirilor
telefonice la Moldtelecom

Aplicația Android de evidență a convorbirilor telefonice la Moldtelecom are în componența sa
mai multe surse .java și fișiere .xml. Câteva dintre ele, însă, sunt predefinite precum fișierul Android
Manifest. Acesta este un fișier de tip .xml, care conține informații despre proiect: iconița proiectului,
numele autorului; tot aici se pot specifica versiunea și numele pachetului. Simbolul @ din fața
anumitor atribute arătă că șirul care urmează este o referință la o resursă. Resursele se află în
folderul res al proiectului. Folderul /values ca subfolder al folderului /res, poate stoca diferite tipuri
de resurse printre care numere, culori, string-uri. Fișierul strings.xml este creat automat în acest
folder și conține mesajul și numele aplicației care apar atunci când este rulat proiectul.
Clientul Android al sistemului de evidență a convorbirilor telefonice la Moldtelecom
implementează o arhitectură Model-View-Controller, care se caracterizează prin separarea clară a
funcționalității celor trei module funcționale:
 Modelele identificate prin Content Providers. Content Providers este o clasă publică,
abstractă din Android care gestionează accesul la un anumit set de date și oferă mecanisme pentru
securitatea datelor. Content Providers sunt manageri de date și este recomandat să fie folosiți în
schimbul de date între aplicații. Sunt folosite decât dacă este nevoie de schimb de date între mai
multe aplicații. Interfața este actualizată prin returnarea răspunsurilor de la server, asincron. Aceste
răspunsuri pot veni prin intermediul Modelului, dacă cererea este făcută intermediar la Model, în
cazul aplicației de evidență a convorbirilor telefonice la Moldtelecom acesta fiind implementat prin
clasa ContentProvider. O altă variantă a actualizării vizuale este prin întoarcerea valorii direct prin
execuția asincronă a unei cereri către server, caz în care controllerul este responsabil cu efectuarea
cererilor către server. O altă componenta de bază a modelului este baza de date, care este folosită

42
pentru stocarea informațiilor de feedback, sau a informațiilor proprii clientului, cum ar fi date legate
de propriul feedback. Aceste date se obțin prin interogarea content providerului, care poate decide
dacă este nevoie de o actualizare a datelor prin cereri către server;
 View-urile sunt Activitățile ca principala componentă a interfeței cu utilizatorul ce este
derivată din clasa publică Java și este container pentru View (android.view.View). Activity
interacționează cu utilizatorul și creează o fereastră în care se poate plasa UI (User Interface)
folosind metoda setContentView(View). În timp ce activitățile de multe ori sunt prezentate
utilizatorului sistemului ebooking ca ferestre full-screen;
 Controler-ele în sistemul de evidență a convorbirilor telefonice la Moldtelecom sunt
reprezentate de Servicii (Services) Serviciile ce sunt componente de bază care se comportă că
daemonii UNIX și serviciile Windows. Ele rulează în fundal și efectuează prelucrarea pe parcursul
aplicației. Un serviciu este o componentă care reprezintă o cerere a aplicației de a efectua o
operațiune de mai lungă durată în timp ce nu interacționează cu utilizatorul sau de a furniza
funcționalități pentru alte aplicații.

3.3 Testarea și analiza rezultatelor obținute.
Arhitectura fizică pe care va fi implementat sistemul, calculatoarele, device-urile mobile
referite ca nodurile sistemului de evidentă a convorbirilor telefonice la Moldtelecom, împreună cu
conexiunile dintre ele, sunt prezentate în cadrul diagrame de desfașurare din figura 3.3-1.
Componentele și obiectele executabile sunt alocate în interiorul nodurilor, ceea ce permite o
vizualizare a unitaților care se vor executa pe fiecare nod. Aplicația Android poate fi instalată atît pe
telefoane mobile cu ecran de pînă la 5-6” cît și pe tablete ce depășesc 10”. Aceste dispositive trebuie
să fie conectate la internet, atît prin datele celulare de la providerii de telefonie mobilă cît și la
punctele de acces Wi-Fi. Deoarece aplicația necesită un nivel ridicat de securizare a transferului de
date personale, punctele de Wi-Fi cît și conexiunea la internet a serverului trebuie sa fie dotate cu un
sistem de firewall performant pentru a evita scurgerea de date sau atacurile Dos și Ddos.
Deasemenea dispozitivele pe care vor rula aplicația client pot avea conexiune Bluetooth pentru
partajare de content cu alte dispozitive. Aplicația sertver este pe un server – un calculator puternic
care are un sistem de operare special, și o configurare avansată și securizată. Serverul poate avea o
bază de date locală sau un alt server pe post de bază de date. Deasemenea de partea cealaltă a
aplicației client se află și rețelele de socializare prin care poate fi partajat conținutul aplicației.

43
Comunicare dintre nodurile diagramei de desfășurare este bidirecțională.Ecranele aplicației e-
redirect au fost create folosid XML ca exemplu Anexa 4. Toate ecranele din aplicație sunt
reprezentate in Anexa 5 în forma lor finală pentru utilizator.

Figura 3.3-1 Diagrama de desfașurare a sistemului de evidenta a convorbirilor telefonice la
Moldtelecom

3.4. Feedbackul utilizatorului și perspectiva de dezvoltare pentru viitor.
Odată ce aplicația de evidență a convorbirilor telefonice la Moldtelecom a fost lansată în
producție, se poate face unele înbunătățiri sau adăuga noi utilități intr-o versiune nouă. Procedura de
update a unei aplicații pe platforma Gogole Play este una simplă, fiind necesară de urmat cîțiva pași
simpli. Mai întîi trebuie de menționat faptul că pachetul aplicației nu poate fi schimbat – în cazul
sistemului de evidență a convorbirilor telefonice la Moldtelecom, pachetul va rămîne pentru toate
versiunile “com.usm.e-forward”, se modifică doar codul versiunii și numele versiunii din fișierul
build.gradle:
defaultConfig {
applicationId "com.usm.e-forward "
minSdkVersion 15
targetSdkVersion 23
versionCode 3
versionName "1.3"
} deployment Deployment Model
«device»
Telefon
Antena
«device»
Server
Moldtelecom
Centru de
comutare
Centrala
«executionEnviron…
Internet
«device»
Telefon
«device»
Computer
«device»
Email server
Modtelecom DB

44
După fiecare modificare a acestor coduri se cere un rebuild al aplicațieii apoi poate fi generat
un nou apk, folosind aceiași chee de semnătura .jks. Noua versiune a aplicației se incrcă in Consola
Dezvoltatorului de pe Google Play indicînduse careva comentarii pentru a notifica utilizatorii despre
modificările existente în noua versiune figurii 3.4-1. În acest mod, utilizatorii aplicației voar avea
acces rapid la noutățile efectuate de către echipa de dezvoltare, avînd posibilitatea să intervină cu
feedback la fiecare versiune în parte.

Figura 3.4-1 Istoricul versiunilor aplicației de evidenta a convorbirilor telefonice la
Moldtelecom

Dacă pe dispozitivul utilizatorului nu este oprit serviciul de update automat, noua versiune se
va instala în mod automat, păstrîndu-se datele de utilizare din versiunea veche.
Mentenanța este etapa din dezvoltare care se desfășoară într-un sistem după ce acesta a fost
livrat pentru scopul inițial. Această fază este foarte importantă pentru proiectele de software
deoarece majoritatea efortului de dezvoltare este depus pentru mentenanță. Anume aici feedback-ul
utilizatorilor joacă un rol decisiv în procesul de creare a unui sistem mobil conform figura 3.4-2.
Această etapă are două activități de adăugare a implementării pentru a atinge noile cerințe și
corectarea problemelor sau rezolvarea bug-urilor din faza de testare.

45

Figura 3.4-2 Recenzii din partea utilizatorilor pe platforma Google Play.

La această etapă se pot rezolva următoarele operațiuni:
Creating protection walls – Prin această activitate ne asigurăm că noile schimbări nu produc
modificări în alte părți ale sistemului și previn apariția de noi probleme.
Implementing new features – Noi funcționalități de tip crosscutting concerns pot fi
implementate foarte ușor și nu schimbă foarte mult partea de bază a sistemului.
Activitatea critică a utilizatorilor finali, este cea mai obiectivă metoda de înbunătățire a
produsului în producție, ea nu neagă meritele dezvoltatorului, ci pur și simplu adaugă noi concepte
care permit îmbunătățirea sistemului, făcându-l mult mai flexibil. În plus, simplifică procesul de
dezvoltare permițând axarea pe momentele chee, cel mai des abordate de utilizatori.

Fgura 3.4-3 Threaduri din Android Studio Monitor

46
Un alt program foarte util pentru depanare este hierachyviewer. Acesta permite vizualizarea
arborescentă a compoziției fereastrelor. De asemenea afișează parametrii fiecarui View și timpul de
incărcare al acestuia. O altă funcție importantă este posibilitatea capturarii unei imagini a View-ului.
Trebuie menționat că se poate analiza cu acest program orice aplicație sau componentă ce
ruleaza pe un dispozitiv.
În concluzie acest capitol descrie arhitectura sistemului de operare Android, limbajele de
modelare a datelor Json, XML și SQL. S-a menționat limbajul de programare Java și pachetul de
dezvoltare Android SDK ca limbaj de programare a aplicației. Deoarece sistemul este bazat pe o
arhitectură client server s-a ales tehnologia REST, evidențiîndu-se unele aspecte pro și contra. S-a
descris in detalii mediul de lucru Android Studio bazat pe platforma Intelij Idea și componentele
unei aplicații android. S-au analizat rezultatele cercetării și aplicația obținută pe parcursul elaborării
acestei tezei de licență.

Similar Posts