Capitolul I. FUNDAMENTARE TEORETICĂ ȘI ANALIZA DOMENIULUI DE STUDIU 1.1. Noțiuni generale despre vînzările online 1.1.1. Internetul ca mediu de… [623320]

10
Capitolul I. FUNDAMENTARE TEORETICĂ ȘI ANALIZA DOMENIULUI DE
STUDIU
1.1. Noțiuni generale despre vînzările online
1.1.1. Internetul ca mediu de vînzare online
Tehnologia de afaceri bazata pe Internet este o tehnologie nouă, înca în mișcare. Afacerile de
comerț electronic sunt atractive. O afacere de e-commerce are doua laturi, la fel de importante:
latura economică, specifică oricarei activități comerciale, și latura informatică, ce definește numai o
parte din tehnologia de derulare a afacerii. Deși constituie punctul de pornire al afacerii și definește
diferența față de modul tradițional de derulare a unei afaceri comerciale, componenta tehnico-
informatică nu trebuie supraevaluată și nu trebuie ignorată importanta componentei economice.
Companiile vând orice prin intermediul e-magazinelor, de la cărți la diferite tehnologii și
instalații. Nu există vânzatori insistenți și nici nu trebuie să se aștepte – comenzile pot fi facute
24/24. Prin comerțul electronic ambele țeluri – al consumatorului și al vânzătorului pot merge mâna
în mâna oferind un mediu de comunicare foarte eficient cu clientii. Este posibilitatea de a crea site-
uri Web sau aplicații mobile pentru a prezenta catalogul de produse, care poate fi accesat electronic
si ofer,ăa noi modalități de prezentare a produselor. Prin menținerea unui catalog online se poate afla
informații despre produsele cel mai des solicitate sau opiniile clienților despre anumite produse.
Deja este o chestiune de rutină pentru clienți de a trimite ordine electronice către magaziele
online pentru anumite bunuri sau servicii. Aplicațiile client/server au fost deseori proiectate pentru a
deservi acest scop și tot mai multe companii au trecut la operarea pe mobile a afacerilor datorită
acestui format electronic și al flexibilității.
Companiile au raspuns la popularitatea tehnologiilor mobile prin punerea la dispozitie a
produselor și serviciilor oferite pe servere sub forma cataloagelor pentru ca plata prin intermediul
aceluiasi mediu de comunicatie sa aiba finalitate.
Dacă sunt careva produse de natura fizică, și nu pot fi livrate prin Internet, se poate de utilizat
o metodă de a informa expeditorii despre produsele ce trebuie transferate. Oricât de populare și de
inovatoare nu ar fi anumite produse, ele nu au nici un rost dacă nu ajung la clienți așadar trebuie de
găsit o cale de a distribui dar și de a informa actualii și potențialii clienți despre acest produs. Fie că
produsul este unul "ușor", gen informație sau unul "greu", deci produs tangibil software sau
hardware, se poate de folosit e-mailului pentru informarea cumpăratorului.

11
Conform analizei statisticilor din cadrul acestei lucrări, de cele mai multe ori legatura dintre
companie si client nu se încheie o data cu terminarea procesului de vânzare. De fapt, acesta ar putea
însemna doar începutul unei lungi și productive relații cu clientul. Pe lânga faptul că clientul ar
putea avea nevoie de niște sfaturi ulterioare, compania ar putea fi interesată în a coopera cu clientul
în scopul îmbunatățirii produselor oferite.

1.1.2. Tipuri și strategii de vînzări online
Odată cu infiltrarea din ce în ce mai accentuată în viața fiecărui om a online-ului și datorită
dezvoltării mediului de afaceri online, prezența marketingului online este absolut necesară. În
marketingul online rolul cheie este deținut de client, nu de către compania producătoare. Clientul
poate timp de câteva secunde sa acceseze site-ul sau aplicația mobile a companiei X și să se
informeze despre produsele pe care le oferă aceasta, dar la fel de repede, prin câteva click-uri de
mouse sau touch-uri, același client se poate afla pe site-ul uneia sau mai multor firme concurente.
Marketingul online, cunoscut și sub denumirile de Web Marketing, eMarketing, Internet
Marketing sau Digital Marketing reprezinăa o abordare a Marketingului în care instrumentele,
metodele și conceptele generale sunt utilizate, adaptate și exprimate în concordanță cu specificul,
facilitățile și oportunitățile oferite de mediul online, pe care noi, cu toții, îl cunoastem sub denumirea
generală de Internet. Formele pe care eMarketingul le poate îmbraca:
– SEM (Search Engine Marketing) – este o forma a marketingului care urmăreste promovarea
siteurilor sau a unor pagini web prin creșterea vizibilității acestora în motoarele de cautare prin
intermediul afișării unor informații în zone plătite sau prin folosirea unor tehnici specifice de
optimizare.
– SEO (Search Engine Optimization) sau optimizarea pentru motoare de căutare – constă în
aplicarea unui set de tehnici și metode specifice. Cei mai mulți algoritmi sunt în continuă schimbare,
apar noi strategii a motoarelor de căutare.
– PPC (Pay Per Click) sau plata per clic reprezintă acea ramura a SEM care urmărește
atragerea atenției potențialilor clienti și direcționarea către o proprietate web sau aplicație mobila,
platindu-se o anumită sumă pentru fiecare click care echivalează cu o vizită virtuală.
– Social Media Marketing sau Marketingul print intermediul Rețelelor de Socializare –
reprezintă procesul prin care compania depășește barierele strict comerciale și pătrunde în sfera
“socială” a clienților și potențialilor săi clienți.

12
– Email Marketing – de cele mai multe ori asociat în limbajul comun cu Newsletterul, acesta
reprezintă unul, daca nu cel mai puternic instrument la dispoziția organizației de a transforma un
potențial client cu care compania a luat deja contact, în cumpărător.
– Referral Marketing – tehnic, orice sursă care trimite vizitatori catre website-ul companiei
reprezintă un refferal.
– Affiliate marketing – inrudit cu Refferal Marketingul, affiliate marketingul sau marketingul
prin afiliați este acea formă de marketing în care o serie de parteneri promovează produsele sau
serviciile companiei, care la randul acesteia îi recompenseaza pentru fiecare vînzare reușită.
– Video marketing – cum noul Internet permite viteze mari de transfer la costuri relativ reduse,
această formă de promovare a devenit accesibila, și din punct de vedere tehnic dar și economic.
– Display advertising – adeseori perceput ca “reclamă prin bannere”, are la dispozitie o
multitudine de posibilități de a prezenta mesajul, precum și o varietate de moduri de a targeta
potențialii clienți, de la afișarea mesajelor pe website-uri foarte nișate, și pană la a urmari zone de
interes foarte general.
– Mobile Marketing – datorită creșterii accelerate a numărului de dispozitive mobile
(smartphone-uri și tablete) face ca importanța promovării site-ului pentru aceste dispozitive să
crească.
Analiza influenței marketingului pentru dispozitivele mobile, realizată în cadrul acestei teze de
licență este aceia de a le oferi vizitatorilor resurselor virtuale, o experiență plăcută atunci când vor
intra pe site de pe un dispozitiv mobil. Cel mai important este contentul posibil de navigat și de citit
pe un dispozitiv cu un display mic, în al doilea rând, crearea aplicațiilor de sine stătătoare pe care
utilizatorii le pot descărca din magazinele specializate : AppStore, Google Play, Windows Store etc.

Figura 1.1. Reprezentarea marketingului online

13
1.1.3. Magazine online în viziunea clientului contemporan
In mod ideal, viziunea unui client pentru crearea unui magazin online ar trebui să meargă mînă
în mană cu scopul platformei, însa regula nu se aplică întotdeauna. Uneori, ceea ce își doreste
clientul nu se aliniază cu restul trasaturilor necesare pentru ca platforma să ăși atingă obiectivele.
Mulți intreprinzători și proprietari de afaceri mici află de la apropiați despre aplicațiile mobile ale
concurenței și abia atunci se gandesc la necesitatea unueia. Bineinteles, aceștia pot avea o idee
generala despre ceea ce ar trebui sa apară în magazin, inclusiv logo-ul și informațiile de bază despre
afacerile lor, însa designerul trebuie sa se asigure de faptul ca pune suficiente intrebari clientului,
astfel încat proiectul să îndeplinească 100% cerintele lui.
Pe cît de lipsită de popularitate este aceasta idee, designul trebuie sa fie unul placut pentru
clientul care platește pentru el. În primul rînd, conteazî cum il vede clientul, mai apoi utilizatorii
care accesează platforma și abia în final impresia pe care web designerul și-o formeaza asupra
muncii sale. Cu scopul de a-l transforma într-un client fericit, fiecare developer trebuie sa raspundă
asteptarilor clientului sau, întelegand foarte clar ceea ce acesta își doreste de la platforma. Un lucru
mai complicat decat pare.
Alte întrebari ar trebui să fie relaționate cu aspectele care le atrag atenția la platformele
deținute de cei mai mari competitori ai lor, urmînd ca mai apoi să va documențati direct de la surse.
Aflați care sunt aspectele care le plac cel mai mult, descoperirea acestor mici artificii fiind
importanța pentru finisarea proiectului.
Cu cat utilizatorul ramane mai mult timp pe o platforma, cu atat el este mai predispus sa
cumpere produsul sau să aleagă serviciile pe care le oferă clientul, îndeplinind scopul magazinului
online. Ca un prim sfat, ideal este să se pastreze designul simplu și curat, creativitatea fiind artificiul
de care se poate folosi pentru a diferenția proiectul de site-urile concurente. De asemenea, layout-ul
nu trebuie sa prezinte spații albe. Acestea pot fi utilizate în mod eficient pentru a atrage atenția
cititorului.
Odata ce aceste criterii sunt îndeplinite, atunci se poate spune ca platforma satisface nevoile și
conține raspunsurile la întrebarile utilizatorilor. Totusi, aceste informații trebuie sa fie usor de gasit.
Nimic nu reprezintă un motiv mai mare de frustrare pentru utilizatori decît dificultatea de a gasi
informațiile de care au nevoie.
Crearea unui magazin online eficient permite utilizatorilor sa gaseasca rapid informațiile
necesare, iar continutul solid îi pastrează pe aceștia la fața locului. De altfel, cele mai bune interfețe

14
sunt create cu utilizatorul țină țn minte, iar din această cauză este fundamental ca dezvoltatorul să
cunoască publicul targetat. Mulți designeri ți clienți uită deseori faptul ca utilizatorii nu sunt
familiarizati cu acronimele pentru produsele, serviciile sau normele din industria respectivă.
Asadar, magazinele online concepute fară a se ține cont de utilizatori se vor dovedi lipsite de
ingeniozitate, dar și complet nefolositoare. Odată ce utilizatorul tipic este identificat devine mult mai
usor sa se stabilească tipul conținutului care ar trebui sa populeze paginile platformei. Textul poate
sa apara sub mai multe forme, inclusiv articole de blog, descrieri de produse și articole. Imaginile,
galeriile de prezentare și componentele interactive trebuie sa fie și ele incluse.

1.2. Analiza magazinelor online
1.2.1. Analiza comparativă a concurenților pe piața locală și globală
Au fost analizate mai multe piețe atît interne cît și externe pentru a avea un punct de pornire
pentru realizarea magazinului online de produse informatice. S-a adeverit că Marea Britanie este
cea mai mare piață de comerț online din Europa, cu o valoare de 59,5 miliarde de euro în 2016,
potrivit eMarketer, citat de Wall-Street. Germania ocupă a doua poziție în topul întocmit de
compania de cercetare MINTEL, cu o valoare de 44 miliarde de euro pentru anul precedent. Cu
mult în urma acestor piețe europene de e-commerce se afla Franta, cu vanzari de 21 miliarde de
euro, Italia, cu 15 miliarde de euro si Spania, cu doar 7 miliard de euro, arata studiul citat. Marea
Britanie a înregistrat cea mai rapidă dezvoltare pe acest segment avînd astfel cea mai dezvoltată
piață online din Europa. Principalul motiv pentru acest lucru este oferta sofisticată pe care o pun
la dispoziția consumatorilor retailerii online, dar și faptul că, mai nou, tot mai mulți britanici se
îndreaptă către Internetul de pe dispozitivele mobile pentru cumpărăturile săptămânale. În plus,
boom-ul consumatorilor din spațiul digital din ultimii ani a jucat și el, fără îndoiala, un rol
deosebit.
Potrivit studiilor efectuate, Marea Britanie se va menține pe prima poziție, și va crește, până
în 2020, cu 199%, până la 119 miliarde de euro. Nu aceași soartă va avea cel mai mare stat
european, Germania, piața de e-commerce de aici, crescând cel mai lent.
Potrivit Wall-Street, piata de comert online din statul vecin, România se va dubla în 2020,
până la 950 milioane euro, față de preconizările pe anul trecut, când s-a ridicat la aproximativ
115 milioane de euro, datorită migrării dinspre retailul clasic spre cel online.

15
Pe viitor, țările din Europa de Est, printre care și Republica Moldova vor cunoaște o mare
creștere pe sectorul de retail online, crescând de la 134 miloane la 320 milioane de euro, până în
2020, confirmă cercetarea efectuată de MoldPress.
Unul din cele mai mari sisteme informaționale în comerțul online din regiune este eMAG din
Romania ce a crescut în ultimii ani foarte mult datorită aplicațiilor mobile. În 2016 au organizat un
Black Friday de succes și au intrat pe piața comenzilor online de alimente, cu un parteneriat cu Shop
UK din Marea Britanie. Un alt mare lider al pieței este Flanco – cel mai vechi magazin IT&C din
Romania, care pe langa PC-uri, laptopuri, tablete, telefoane mobile, componente si periferice, oferă
o gamă largă de produse de fashion, cosmetice sau multimedia.
Din partea estică, unul din cei mai mari lideri este rozetka.ua – unul din cele mai mari lanțuri
de magazine IT&C din Ucraina, care acoperă și segmentul electrocasnicelor sau jucăriilor.
Magazinele rozetka offline sunt la dispozitia clientului daca vrea să probeze produsele înainte de a le
cumpăra.
Pe piața națională, unul din cei mai mari lideri este magazinul online smadhop.md cunoscut
pentru sintagma “cel mai mare internet magazin din Moldova”, lanțul de retail oferă o gamă variată
de produse din sfera electronicelor, multimedia, foto/video, electrocasnice mari și mici, muzică,
film, jocuri și multe altele.
Toți acești lideri regionali și locali propun soluții online foarte complexe, pentru o gamă largă
de utilizatori, dar nu au capacitatea de a acoperi anume sectorul tehnologiilor computerizate la un
nivel avansat. Așadar, ca soluție a acestui neajuns se propune realizarea sistemului informațional
client-server Tech Store care va domina sectorul de produse computerizate.

1.2.2. Argumentarea creării magazinului online
La momentul actual sunt folosite concomitent atît site-urile Web cît și aplicațiile mobile
pentru realizarea magazinelor online, numărul vizitatorilor și a comenzilor de pe dispozitive
mobile însă crește exponențial pe magazinele online din regiune și din Republica Moldova, iar
marile companii deservesc tot mai mulți clienți datorită flexibilității oferite de tehnologiile mobile.
Așadar, pentru realizarea unui e-magazin sunt două posibile soluții, prima de a realiza un site
web care are avantajul de a funcționa bine din orice browser, orice sistem de operare desktop, sau a
doua de a realiza o aplicație dedicată pentru magazin, construită de la zero pentru Android, iOS sau
Windows Mobile.

16
Prima soluție deși a fost cea mai avantajoasă pentru clienți, fiind disponibilă la deschiderea
browserul și un simplu search este deja demodată pe cînd cea de-a doua soluție a aplicației, este
avantajoasă prin flexibilitate și multitudinea de opțiuni de interacționare cu clientul, lucru ce face ca
tehnologiile moboile să evolueze oarte mult. De cele mai multe ori marile magazine preferă,
aplicațiile de mobil precum Evomag – printre primii pe mobil pe partea IT&C, în timp ce eMAG a
creat un site mobil. Fashion Days are aplicații dedicate pentru telefon și tabletă, fiecare oferind o
altă experiență. Mai nou eMAG a dezvoltat aplicații de Android și iOS, deși site-ul mobil
funcționează în continuare la fel de bine și oferă aceleași funcționalități clienților.
În prezent, majoritatea companiilor doresc să includă dezvoltarea sistemelor pe dispozitive
mobile. Această nouă tehnologie, care se bazează pe sistemele de operare mobile, este și va rămâne
pentru o lungă perioadă de timp o variantă de dezvoltare a unei afaceri. Pentru a putea utiliza această
tehnologie într-un mod corespunzător, este necesar să se bazeze pe o bună organizare a informațiilor
și proceselor. Aceasta este o provocare, datorită faptului că cele mai multe companii nu au propriile
lor sisteme care să ofere sprijin pentru a rezolva nevoile specifice. Pentru a realiza o dezvoltare
corespunzătoare a acestui proiect este nevoie de o companie care are personal calificat.
Magazinul electronic creat se propune a fi un magazin electronic ce se implementează prin
intermediul unei aplicații mobile, gestionat de o companie, pentru marketingul și vânzările propriilor
produse și servicii. Minimal, conține catalogul de produse sau servicii cu descrieri tehnice și
comerciale pentru fiecare poziție din catalog. Aceste descrieri sunt gestionate în general de un
Sistem de Gestiune al Bazelor de Date (SGBD). Sistemul de Gestiune al Bazelor de Date, se va
ocupa cu stocarea și manipularea datelor și cu oferirea posibilităților de acces la date. Varianta
medie conține facilități pentru preluarea comenzilor prin e-mail sau forme interactive pe care le vor
completa clienții, iar varianta extinsă cuprinde și posibilitatea efectuării on-line a plății prin cărți de
credit sau alte variante electronice.
V-a functiona un sistem electronic de plăți – totalitatea obiectelor care conlucrează pentru
asigurarea plății tranzacțiilor ce se efectuează. Sunt implicate, în general, trei entități care
interacționează: o banca B, un cumpărător C și un vânzător V. Sistemul electronic de plăți conține și
o mulțime de protocoale care permit cumpărătorului C să facă plăți către vânzătorul V. Sistemele
electronice de plăți pot fi privite într-o structură ierarhică pe nivelele ISO-OSI .
Există avantaje atât pentru vânzator cât și pentru cumpărător. Avantajele pentru vânzător sunt
următoarele:

17
– dispariția limitelor geografice de vânzare;
– publicitatea online poate atinge publicul țintă mai ușor;
– dezvoltarea de noi produse se poate realiza mai ușor în concordanța cu cerințele
consumatorului;
– adaptarea la schimbări este mai rapidă și disponibilitatea informațiilor despre clienți;
– economii la vânzarea produsului și îmbunătățirea relațiilor cu clienții;
– reducerea erorilor prin automatizarea proceselor de plată;
– negocierea prețurilor se face mai ușor sau scăderea costurilor tranzacțiilor prin creșterea
vitezei de transfer a informației;
Știind ce telefon mobil rulează aplicația magazinului, acesta poate trimite oferte exact pentru
husele care se potrivesc, de exemplu, sau dacă se permite aplicației instalate acces la profilul de
Facebook printr-un mic concurs să motiveze, dintr-o dată magazinul află ce vârstă are clientul, ce
sex, dacă are copii, din ce oraș este șamd apoi poate trimite oferte făcute special pentru el.
Un alt avantaj al aplicațiilor mobile este simplificarea utilizării cardului bancar prin
intermediul procesatorul de carduri care rețiene datele pentru cumpîrîturile ulterioare. Teoretic
procesatorul de carduri are niște servere mai bine securizate, pe când pentru site-urile Web nu poate
garanta nimeni ce se întâmplă cu serverele lor.
Principalul avantaj al aplicatiilor mobile constă în performanta lor, comparativ cu cea a site-
urilor Web, bazate în mare parte doar pe afișarea formală de conținut web. Aplîcand cele mai noi
versiuni ale limbajelor de programare și platformelor de dezvoltare, aplcațiile mobile unesc
experiența de pe piața soft pentru cu design de top, pentru satisfacerea cerințelor clientului, fie că
este vorba de Android, IOS sau Windows Mobile.

1.3. Noțiuni generale despre instrumentele de lucru utilizate
1.3.1. Limbajul de programare Java
Java este un limbaj de programare de nivel înalt iar caracteristicile principalesunt:
– simplitate, Java fiind un limbaj oop des întîlnit în rîndul programatorilor, unele concepte de
programare complicate din alte limbaje precum supraîncărcarea operatorilor, moștenirea multiplă,
șabloaneau fost eliminate;

18
– robustețe, elimină sursele frecvente de erori ce apar în programare prin eliminarea
pointerilor, administrarea automată a memoriei și eliminarea fisurilor de memorie printr-o procedură
de colectare a 'gunoiului' care rulează în fundal;
– complet orientat pe obiecte – elimină complet stilul de programare procedural si se bazează
pe încapsulare, moștenire, polimorfism;
– ușurință si securitate în ceea ce privește programarea în rețea fiind cel mai sigur limbaj de
programare disponibil în acest moment, asigurând mecanisme stricte de securitate a programelor
concretizate prin: verificarea dinamică a codului pentru detectarea secvențelor periculoase,
impunerea unor reguli stricte pentru rularea programelor lansate pe calculatoare aflate la distanta;
– este neutru din punct de vedere arhitectural si este portabilil, cu alte cuvinte Java este un
limbaj independent de platforma de lucru, aceeași aplicație rulând, fără nici o modificare, pe sisteme
diferite cum ar fi Windows, UNIX sau Macintosh;
– compilat și interpretat si asigură o performanță ridicată a codului de octeți ce este interpretat
de mediul Java și de aceea poate fi rulat pe orice platformă care folosește mediul de execuție Java.

Figura 1.2. Nivelul Linux Kernel din arhitectura Android

SDK sau Software 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 ecran 3D, dual-screen etc. SDK-ul Android include un set
complet de instrumente de dezvoltare, acestea includ un program de depanare, biblioteci, un
emulator de dispozitiv (bazat pe QEMU), documentație, mostre de cod și tutoriale. Platformele de
dezvoltare sprijinite în prezent includ calculatoare bazate pe x86 care rulează Linux – orice
distribuție Linux desktop modernă, Mac OS X 10.4.8 sau mai recent,Windows XP, Windows 7, 8,
8.1, 10. Cerințele includ, de asemenea, Java Development Kit, Apache Ant, și Python 2.2 sau o
versiune ulterioară. Mediul de dezvoltare IDE suportat oficial este Android Studio, utilizând plug-

19
in-ul Android Development Tools, deși dezvoltatorii pot folosi orice editor de text pentru a edita
fișiere XML și Java și apoi să utilizeze unelte din linia de comandă pentru a crea, să construi și
depana aplicații Android.
Este important de știut cum versionează Android SDK-ul, in ultimul timp refuzăndu-se la
versiunile mai jos de 1.5 sau Android 4.0. Dacă pentru sistemul de operare se folosesc, în general,
versiuni majore și minore, cum ar fi 2.3 sau 7.1, la API și SDK se folosește un singur număr ce
este incrementat cu fiecare lansare și corespunde unuia sau mai multor versiuni de sistem de
operare. Acesta este API Level-ul. În general, acesta este în strânsă legătură cu versiunea de sistem
de operare.
SDK-ul este livrat prin intermediul unui program care afișează o listă cu toate versiunile de
API și bibliotecile adiționale disponibile. De acolo, se poate alege ceea ce se dorește a fi instalat. Tot
acel program este folosit și la update-ul SDK-ului, ori de câte ori este nevoie. În general, un SDK
complet poate să ajungă în jur de 4 – 5 GB, dar depinde mult de câte nivele de API sunt instalate,
fiecare fiind aparte. La momentul actual, cel mai avansat nivel de SDK este 25 de la Android 7.1.

1.3.2. Argumentarea alegerii platformei Android pentru realizarea
magazinului online
Este dificilă dezvoltarea unei aplicații native deoarece presupune foarte multă muncă, chiar
dacă este necesară o singură platformă, 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 1.3.

Figura 1.3. Topul sistemelor de operare mobile 2016 in mln bucăți 01020304050607080
Android IOS Windows

20

În frunte cu Android, toate cele 3 platforme s-au îndreptat către o interfață manimalistă,
rapidă,orientată spre utilizare. Marea diferență este că producători de spartpho-nuri au adăugat și ei
interfața lor proprie peste OS-ul normal. Platforma Apple este avantajoasă și modernă.
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.
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 il au, Android-ul este in crestere cu fiecare zi . Ca un sfat pentru majoritatea
companiilor care au considerat că au nevoie de o aplicație mobilă nativă, tinde sa fie acela de a
planifica dezvoltarea acesteia, atat pe iOS, cat si pe Android. 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. Astfel, dezvoltatorii
de aplicații pot opta pentru orice fel de sistem de operare: Mac OS, Windows sau Linux indiferent
de distribuție, fiindcă pentru fiecare în parte există toate uneltele necesare. SDK sau Software
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.

21
După cum se poate vedea, platforma Android are multe beneficii peste iOS, dar și unele
slăbiciuni. Pentru dezvoltatori, un prim avantaj este limbajul Java, care este foarte accesibil, datorită
istoriei îndelungate și a multitudinii de unelte de dezvoltare, care ajută în crearea unei proces end-to-
end foarte bine pus la punct.
S-a decis de a alege anumeAndroid deoarece 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.

22
Capitolul II. APLICAREA METODOLOGIILOR DE LUCRU ÎN PROIECTAREA
MAGAZINULUI ONLINE
2.1. Ipoteza de lucru în raport cu metodologiile aplicate
2.1.1. Analiza arhitecturii sistemului de operare Android
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 2.1.

Figura 2.1 . Arhitectura Android

Arhitectura se bazează pe un kernel de Linux folosit pentru interfața dintre componentă
software și componenta hardware. Primul nivel a arhitecturii Androidului este Linux Kernel .
Android este construit pe o fundație destul de solidă: un kernel de Linux. Acest layer este rezervat
sistemului, programatorul si utilizatorul nu vor utiliza direct serviciile sale.
Umătorul nivel este reprezentat de Librariile de baza scrise in C/C++:

23
– Surface Manager – responsabil pentru desenarea diferitelor ferestre și afișarea acestora pe
eran, asigura interactiunea asincrona a ecranului;
– OpenGL/ES/ SGL – aceste librarii pot fi combinate astfel încît să poată fi folosite in aceeași
aplicație. OpenGL ES este o librarie 3D ce conține o implementare software care poate folosi
accelerarea hardware dacă dispozitivul mobil are atașat un cip de 3D, pe cînd SGL este o libratie
pentru desenare simplă 2D și este cea mai utilizată;
– MediaFramework – bazată pe PacketVideo's OpenCORE, poate inregistra și utiliza
majoritatea formatelor de date audio și video ce cuprinde codecurile ce alcatuiesc partea mediea
MPEG4, H.264, MP3, AAC, AMR, JPG si PNG;
– Fonturi (FreeType) – aici se includ fonturile folosite de OS;
– SQLite – libraria forte folosită pentru a stoca date;
– WebKit – ca motor open source pentru navigarea web, optimizat pentru o funcționare foarte
bună pe diferite ecrane mobile;
– Libc – sistemul de biblioteci standard C;
Umatorul nivel este reprezentat de Android RunTIME:
– Masina virtuală Dalvik (Dalvik Virtual Mashine) – componenta principală a nivelului
RunTIME ce permite ca fiecare aplicație să poată rula intr-un proces propriu, a fost proiectat special
pentru ca Andoid să poate rula intr-un mediu in care avem resurse limitate față de pc-uri;
– Dalvik Virtual Mashine foloseste fisiere .dex – format special pentru sisteme ce au
constrîngeri in memorie si viteza procesorului. Fisierele DEX sunt compuse din cuvinte organizate
pe biți, sunt rezultatul conversiie in momentul construcției .class/.jar, aceste fișiere in momentul in
care sunt convertite in .dex devin mult mai eficente. Este folosit un interpretor de cod optimizat;
– Core Libraries – librarii scrise in limbaj JAVA ce oferă majoritatea functionalității și
conține toate clasele utilizate;
Aplicatii FrameWork reprezinta urmatorul nivel din arhitectură scris in intregime in limbaj
Java – reprezintă o sumă de unelete ce pot fi folosite de orice aplicație precum cele care vin cu
telefonul, precum aplicația-home sau aplicatia-telefon sau aplicații scrise de utilizator.

2.1.2. Metodologiile de concepție și realizare a magazinului online
Metodele de concepție se pot clasifica în trei mari categorii: metode structurate, metode
sistemice, metode orientate obiect. Metodele structurate folosesc descompunerea progresivă

24
descendentă „top-down” ele fiind în fapt carteziene. 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. 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 ca sinteză a diagramelor sale fiu, sau ca o diagramă – fiu ca
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 conform figurii 2.2.

Figura 2.2. Exemplu de utilizare a metodei SADT

Avantajele metodelor ierarhice constau în simplitate și o bună adaptare la cerințele formulate
de utilizator. Dezavantajele pornesc de la conceperea sistemelor informatice conform cerințelor
analizei funcționale, ceea ce determină concentrarea efortului de analiză și proiectare asupra
prelucrărilor în condițiile în care acestea sunt cele mai supuse modificări în timp, modelarea datelor
căzând pe un plan secund.
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.
La fiecare nivel de abstractizare sistemul informatic creat este reprezentat prin trei modele:

25
datele, prelucrările, comunicările. Sistemul informatic este abordat sub două aspecte
complementare, datele și prelucrările analizate-modelate independent cu reunirea lor cât mai târziu
posibil. Avantajele metodelor sistemice apar din promovarea tehnologiei bazelor de date.
Metoda orientată obiect este caracterizată prin atenția deosebită acordată concomitent
structurii datelor și structurii funcționale. Această viziune permite construirea unei baze stabile în
procesul de dezvoltare a modelului și utilizarea conceptului obiect, unitar de-a lungul întregului
ciclu de viață. Toate celelalte concepte: funcții, asocieri, evenimente gravitează în jurul obiectelor,
astfel încât nu este necesară trecerea la alte notații sau interpretări de semantică în diferite etape de
dezvoltare. Metoda orientată obiect se caracterizează prin definirea a trei modele:
– modelul obiectelor are rolul de a descrie obiectele care intervin în problema de rezolvat și
relațiile dintre ele. Modelul obiectual 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 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;
– 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.

2.1.3. Definirea parametrilor de performață pentru sistemul informatic
creat
Calitatea informațiilor prezentate în sistemul informațional Tech Store, determină în mare
măsură performanțele compartimentului financiar-contabil, atingerea obiectivelor care au fost
propuse inițial. Există două abordări ale performanței: una ce dezvoltă o situație stabilă a sistemului
și o alta care pune în valoare dinamismul, noutatea în domeniul considerat. În cazul unor schimbări
apare problema determinării valorii informației noi, definită prin efectul deciziei posibile de adoptat.
Existența stabilității mediului informațional induce aprecierea globală a sumei atuurilor sistemului
informati. Pentru un control eficient al modului de realizare al sarcinilor stabilite există două soluții:
funcționarea controlului intern de gestiune și proiectarea unei arhitecturi bine structurate. În acest
context se propune abordarea parametrilor de performanță economică în trei ipostaze conform
figurii 2.3.

26

Figura 2.3. Parametri de performanță economică

Așadar, centru de costuri unde utilizatorii decidenți și managerul își asumă responsabilități
sporite în gestionarea a costurilor, iar performanțele vor fi judecate prin capacitatea de a micșora
ecarturile raportate la costurile previzionale, de a sporii productivitatea și de a propune soluții și
acțiuni generatoare de profit.
Rezultatele obținute pot fi apreciate, extrem de clar prin relația: număr de lucrări ca aspect
cantitativ, « timp » conținut lucrare ca aspect calitativ. Centru de investiție vizează sistemul
informatic Tech Store care trebuie să câștige autonomie în efectuarea investițiilor informatice și apoi
se impune să le justifice, se poate vorbi de reliefarea unor plusuri cantitative economice și calitative.
În legătură cu primul aspect, viteza de circulație a informației, dar și capacitatea ei de adaptare se
pot constitui în resurse importante. Se remarcă două fațete ale acestui tip de performanță precum
câștigurile directe de productivitate ce permit executarea unei aceleiași atribuții, cu mijloace reduse.
Performanțele calitative sunt mult mai greu de evidențiat sau mai ales de comensurat, cele mai
importante obiective ale unei metode sunt flexibilitatea și aatisfacția utilizatorilor decidenți.
Flexibilitatea – reprezintă capacitatea de adaptare a structurii sistemului informațional la
mediu. Un sistem deschis, cu numeroase puncte de „ascultare” și cu o grijă deosebită pentru
comunicație va reacționa rapid la oportunități și va putea să țină cont de restricții. Flexibilitatea se va
aprecia prin raportarea la un anumit obiectiv, fixat în cadrul unei evoluții „istorice”. Sistemul
deschis va avea în vedere și practicile agenților economici.
Satisfacția utilizatorilor decidenți – reprezintă criteriul de apreciere a performanței sociale
stabilit de „actorii” participanți la procesul de cumpărare a achipamentelor electronice. Calitatea
produselor este apreciată subiectiv de diferiții beneficiari: clienți, bancă, manageri etc., dar și
obiectiv – prin deducerea „deșeurilor informaționale”, a erorilor etc. Depinde foarte mult de
așteptările diverșilor consumatori, dar și de sistemul de vînzare în ansamblu inclusiv modalitățile de
control.

27
Criteriile de natură tehnică utilizate la elaborarea sistemului creat au în vedere conținutul
sistemului, capacitatea acestuia de a îndeplini funcții specifice. Vor fi luate în considerare atât
aspectele legate de producerea de informații utile, cât și cele ce privesc gestiunea serverului.
Criteriile organizaționale reduc incertitudinile sistemului informatic și permit grefarea pe structura
acestuia.
Se remarcă anumite „forțelor motrice” care ajută la formarea rezultatului sistemului informatic
Tech Store producția informațională și modalitățile de valorificare a acesteia, prețurile de
aprovizionare cu diferite materiale, evoluția serviciilor prestate, costul de întreținere și reparare al
rețelei sau echipamentelor etc. Contribuția fiecărui factor asupra evoluției profitului se determină
utilizând procedeul substituțiilor în lanț care permite măsurarea influențelor sau a alternativelor.

2.2. Proiectarea sistemului informațional
2.2.1. Alegerea argumentată a modelului de lucru client-server
Arhitectura client/server este o arhitectură de rețea în care fiecare calculator sau proces din
rețea este un client sau un server. În mod normal, această arhitectură împarte o aplicație în
treicomponente de bază: clientul, infrastructura rețelei marcată prin caracterul slash și server-ul,
fiind o arhitectură stratificată. Din punct de vedere al arhitecturii client/server, un client este un
calculator sau un device mobil pe care utilizatorul rulează diverse aplicații și care cere server-ului
efectuarea unor operații. Server-ele sunt calculatoare puternice sau procese dedicate să administreze
traficul pe rețea. Dispozitivul client este acela care interacționează cu un utilizator și care în
majoritatea tipurilor de arhitecturi client/server are două sarcini logica prezentării sau interfața cu
utilizatorul și logica aplicației.
Conform figurii 2.4. este reprezentată modelul de comunicare client-server a sistemului
informațional Tech Store, iar pentru simplitatea de implementare in scop academic, partea server a
fost virtualizată iar functionalul nu este afectat ci doar se va utiliza o baza de date locala in loc de
cea de pe server. Requesturile http se fac virtuale, adica telefonul verifica conexiunea externa de
internet, apoi userul așteaptă cîteva secunde pentru a se face interogarea care prelucreza datele din
baza locală și datele sunt utilizate in același mod ca de pe server.

28

Figura 2.4. Modelarea interactiunii client server a sistemului Tech Store

Logica prezentării se referă la acea parte a programului care asigură coordonarea interacțiunii
dintre utilizator și aplicație și include detalii privitoare la afișarea tuturor informațiilor pe ecranul
dispozitivului. De asemenea, mai include și partea de preluare a datelor de la utilizator.
Logica aplicației se referă la acea parte a programului care decide ce acțiuni trebuie să se
execute în diferite situații și ea implementează regulile de rulare a sistemului informațional. Această
parte mai este denumită uneori și logica afacerii deoarece ea reprezintă acea porțiune din program
care implementează regulile de business. În funcție de tipul arhitecturii client/server logica aplicației
poate fi plasată în totalitate pe calculatorul server, sau ea poate fi împărțită între client și server.
La implementarea sistemului informațional Tech Store s-a folosit arhitectura client/server pe
două niveluri având drept scop îmbunătățirea unor caracteristici precum utilizabilitatea prin
intermediul unei interfețe prietenoase, bazate pe forme, scalabilitatea prin deservirea mai multor
utilizatori și flexibilitatea care permite partajarea datelor, în mod normal în interiorul unui mediu
eterogen.
Avantajele principale, luate în calcul la crearea sistemului informațional sunt:
– au o securitate mai bună;
– performanțele pot fi îmbunătățite ușor, deoarece o mai bună proiectare a server-ului poate
duce la o mai bună coordonare a utilizatorilor care doresc servicii în același timp;
raportul calitate / preț este mai bun. O aplicația client/server pe două niveluri este împărțită în deployment Deployment Model
VIRTUALIZAREpartea server
partea client
Server
Baza de date
clona server
Internet
Telefon
Baza de date
server
Baza de date
locala

29
două părțidistincte unde o porțiune rulează pe calculatorul client și o porțiune separată rulează pe
calculatorulserver. Astfel, aplicația este împărțită între client și server.

Figura 2.5. Modelul client server pe nivele

Administrarea prelucrării este împărțită între client și server, prin crearea celor două niveluri:
un nivel corespunzător aplicației (logica afacerii – reprezintă partea programului careimplementează
condițiile în care se desfășoară afacerea) și un nivel corespunzător bazei de date(validarea din partea
server-ului). În proiectarea celor mai multe aplicații care au la bază această arhitectură, majoritatea
porțiunii de prelucrare a aplicației este plasată în mediul clientului, iar serverul de gestiune a bazei
de datefurnizează porțiunea de prelucrare privind accesul la date.

2.2.2. Metodologii de securizare a schimbuilui de date și plăților online
Pentru realizarea sistemului informațional Tech Store 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 adresele lor URL.
Pentru crearea serverului central, responsabil cu centralizarea feedbackului de la clienți,
distribuția acestuia către clienți și persistența datelor, s-a avut de ales între multiple tehnologii
disponibile, cum ar fi realizarea unei comunicații asincrone pe socketi sau implementarea unui
mecanism de Remote procedurce calling. Alegerea cea mai potrivită s-a părut în final
implementarea unui web service, datorită protocolului de nivel superior, protocolului de transfer
securizat, care asigură o bază pentru dezvoltarea unui mecanism facil de acces la date.
Un alt punct forte al alegerii arhitecturii client-server bazat pe protocolul HTTP pentru
sistemul Tech Store este portabilitatea, limbajul de programare Java având biblioteci care facilitează

30
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.
S-a utilizat web containerele ce implementează contractul unei componente web Java EE,
specificând un mediu de runtime care asigură securitatea, concurența, managementul ciclurilor de
viata, completarea tranzacțiilor și alte servicii. În cazul acestei aplicații, pentru implementarea
serverului web s-a ales să se foloseseacă un web container Glassfish, bazat pe popularul Tomcat.
Pentru interacțiunea cu acest container am folosit API-ul Grizzly. Pentru maparea resurselor http
unor metode http și a unor URLuri, s-a folosit frameworkul Java Jersey, o soluție care respectă
arhitectura RESTful, cea mai folosită în momentul de față pentru dezvoltarea serviciilor web.
Ca protocol de comunicare între client și serverul sistemului creat s-a utilizat protocolul HTTP
Hypertext Transfer Protocol, pe scurt HTTP, un protocol la nivelul aplicație care stă la fundația
comunicației în World Wide Web. HTTP este un protocol de tip cerere-răspuns în modelul
arhitectural client-server. 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 cereri în sistemul creat sunt cele de GET, prin care se citește resursa, și cele de
POST, PUT și DELETE, prin care se modifică resursa.
La implementarea sistemului client Tech Store, o cerere HTTP conține următoarele :
– Linie de request, spre exemplu GET /rooms/room123.jpg HTTP/1.1 care formulează o cerere
pentru resursa / rooms / rooms123.jpg de la server;
– Headere Http, cum ar fi Accept-Language: en-US sau Accept-Charset: utf-8;
– Un corp al mesajului, opțional.
Iar răspunsul de la serverul Tech Store conține:
– Linie de Status precum HTTP/1.1 200 OK, care indică finalizarea cu succes a cererii
clientului.Un status 3xx indică necesitatea unei redirectari iar 4xx și 5xx sunt statusuri de eroare;
– Headere HTTP, cum ar fi Content-Type: text/html;
– Un corp al mesajului, opțional Antetele HTTP sunt perechi "cheie: valoare", scrise în clear-
text și separate ce definesc parametrii de operare a unei tranzacții HTTP.

31
S-a utilizat Jersey – o implementare Java open source, de referință, la calitate de producție a
standardului JAX-RS pentru dezvoltarea web serviceurilor RESTful[6]. Dar este mai mult decât
implementarea referinței, oferind și un API pentru prelucraraea HTTPS.

2.2.3. Aplicarea tehnologiilor Android pentru implementarea 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 Tech
Store 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[3].
Așa cum s-a descris la capitolul de proiectare a arhitecturii, devoltarea aplicației Tech Store
implică implementarea unui pattern MVC conform figurii 2.6 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.

Figura 2.6. Modelul arhitectural MVC în sistemul Tech Store

Aplicația Android Tech Store 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

32
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 Tech Store 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. Este interfața standard care conectează datele dintr-un proces care rulează cu
datele din cadrul altui proces. 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 Tech Store 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ă
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 Tech Store 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.

33
Capitolul III. ANALIZA REZULTATELOR OBȚINUTE ȘI TESTAREA
SISTEMULUI INFORMAȚIONAL
3.1. Analiza sistemului informațional creat
3.1.1. Analiza cazurile de utilizare ale aplicației mobile
Use case diagram este un tip de diagramă din care reiese modul de utilizare a sistemului
informatic – modul în care utilizatorii interacționează cu acesta în corespondență directă cu task-urile
acestor utilizatori. O diagrama a cazurilor de utilizare prezinta o colectie de cazuri de utilizare și
actori care:
– oferă o descriere generală a modului in care va fi utilizat sistemul;
– furnizează o privire de ansamblu a funcționalităților ce se doresc a fi oferite de sistem;
– arată cum interactionează sistemului cu unul sau mai mulți actori;
– asigură faptul că sistemul va produce ceea ce s-a dorit [7].
Tabelul 3.1. Convențiile diagramei cazurilor de utilizare
Element Descriere Notație
Actor Un actor este un stereotip al unei clase. Actorii sunt reprezentați de
utilizatori sau entitati care pot interactiona cu sistemul. Ei nu fac parte
din sistem și definesc mulțimi de roluri în comunicarea cu acesta.

Use Case Un caz de utilizare reprezintă o colecție de scenarii posibile, referitoare
la comunicarea între sistem și actorii externi, caracterizate de anumite
scopuri. Aceste scenarii sunt definite ca secvente de pași carora le pot
corespunde cazuri de utilizare de nivel inferior. Cazurile de utilizare
arata ce trebuie sa facă sistemul și nu cum.
Asociere O asociere reprezintă o conexiune semantică între cazurile de utilizare
și actori. Așadar, asocierea este utilizată pentru a indica legătura dintre
un Actor și un Use Case, în sensul că acel actor participă într-un fel
oarecare în acel Use Case.

Diagramele cazurilor de utilizare a sistemului informațional Tech Store reprezentată în figura
3.1 reprezmintă capturarea și reprezentarea funcționalităților sistemului. Elementele asociate cu
diagramele cazurilor de utilizare sunt actorii și cazurile. Un actor este o entitate externă sistemului
care interacționează cu acesta. Un actor descrie un rol pe care un utilizator sau un alt sistem îl joacă
în cadrul sistemului descris.
Figura 2.4 reprezintă diagrama cazurilor de utilizare a sistemului de Tech Store, fiind alcătuită
din 7 cazuri de utilizare: înregistrare, logare, căutare produsadăugare produs, selectare produs,

34
adăugare în coș a produsului și achitre produs. Această diagramă evidențiază interacțiunea dintre 5
actori: utilizatorul, administratorul magazinului, sistemul Tech Store, banca și platforma de plată.

Figura 3.1. Circuitul analiză-modelare evenimente

3.1.2. Analiza părților componente ale aplicației mobile
Diagrama de componente redă relațiile de dependență între diferite componente ale sistemului
Tech Store și este importantă deoarece modelează sistemul software real în mediul de implementare,
evidentiază probleme de configurare prin relațiile de dependent, reprezintă o imagine a sistemului
existent, înainte de a fi modificat și poate evidenția probleme de implementare fără a fi necesar să se
citească tot codul sursă.
Figura 3.2. reprezintă diagrama de componente a sistemului informațional Tech Store astfel
logica sistemului poate fi îmărțită pe mai multe module, ca centru de control fiind modulul de
business logica care jongleaza cu celelalte module pentru a obține funcționalul dorit. Modulul de
interfață grafică a utilizatorului conține toate clasele utilizare cu activități și fragmente Android, uc cazuri de utilizare
Utilizator
Admin
Inregistrare
Logare
Selectare Produs
Cautare produs
Adaugare in cos
produs
Achitare produs
Adaugare produs
Sistem
Banca
Platforma de plata

35
toate layout-urile create în xml precum și unele ferestre de dialog ale sistemului. Modulul bazei de
date Sqlite este caracterizat de clasa de bază DataBaseHelper care crează toate tabelele din baza de
date locală precum și prelucrează toate cererile sql asupra ei. Au fost utilizate librării Android
precum Volley pentru comunicarea client-server iar ca limbaj de percepere a datelor s-a folosit Json.
Modulul de aplicații terță parte este reprezentat de clasele utilitare de interacțiune cu rețelele sociale
folosite la partajarea de date.
Diagrama de distribuție modelează echipamentele mediului de implementare a sistemului
informațional Tech Store, astfel fiecare nod reprezintă un tip de echipament fiind astfel abstracții ale
echipamentelor, asa cum clasele sunt abstractii ale obiectelor. Arhitectura fizică pe care va fi
implementat sistemul, calculatoarele, device-urile mobile referite ca nodurile sistemului Tech Store,
împreună cu conexiunile dintre ele, sunt prezentate în cadrul diagrame de desfașurare din figura 3.3.
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.

Fgura 3.2. Diagrama de componente a sistemului Tech Store

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
defirewall performant pentru a evita scurgerea de date sau atacurile Dos și Ddos. Deasemenea
dispozitivele ce vor rula aplicația client pot avea conexiune Bluetooth pentru partajare de content cu cmp componente
Graphical User
Interface
Local resources
Local Sqlite DB
Third platform utility
e-Tech server utility
App business logic

36
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ă aplicației client se aflî și rețelele
de socializare prin care poate fi partajat conținutul aplicației. Comunicare dintre nodurile diagramei
de desfășurare este bidirecțională.

Fgura 3.3. Diagrama de desfășurare a sistemului Tech Store

3.2. Analiza datele de intrare și ieșire ale sistemului informațional creat
3.2.1. Analiza structurii bazei de date
Sistemul de operare Android ofera mai multe mecanisme de stocare a datelor precum: network
connection – se pot stoca date intr-o locație remote din Internet, external storage – stochează public
date sub formă de fișiere pe un suport extern de unde pot fi accesate de mai multe aplicații, internal
storage – stochează privat date sub forma de fișiere în memoria dispozitivului iar aceste fisiere pot fi
accesate doar de aplicatia care le creează shared preferences – este un framework ce stocheaza privat
date sub forma de perechi cheie-valoare și baze de date SQLite – stochează privat date in baze de
date SQLite, accesibile doar de aplicația care le creează. In acest proiect s-au folosit ultimele doua
tipuri de stocare a datelor.
Un element important în proiectarea unui sistem informațional îl reprezintă proiectarea bazei
de date – o baza de date bine proiectată nu permite astfel ca datele să fie redundante, adică aceeași
informație să se găsească în locuri diferite, sau să se memoreze în baza de date, informații care se
pot deduce pe baza altor informații memorate în aceeași bază de date. După ce se stabilește tipurile
de date care vor fi stocate, pentru sistemul Tech Store fiind datele despre categorie, produs, deployment desfasurare
Phone
Tablet
WiFi endpoint
2G/ 3G/ 4G Antenna
Internet
app server
Third part platform
Firewall
Server DB
Firewall

37
utilizator și setari fvorite ale utilizatorului, se realizează un model conceptual al bzaei de date. În
prima fază de proiectare, de cele mai multe ori pot apărea anomalii ale unei baze de date
nenormalizată precum: anomalii la actualizarea datelor, anomalii de inserare sau anomalii de
ștergere. Astfel pentru a avea o forma finală a proiectării bazei de date se face normarea la cele 3
forme normale.
Conform figurii 3.4 baza de date a sistemului de Tech Store a fost normalizată la a 3-a formă
normală și conține 5 tabele cu legaturi logice între ele. Tabelul Category conține datele despre toate
categoriile de produse informatice ce pot fi vizualizate în aplicație.Tabelul Product stochează datele
referitor la fiecare produs din categorie, astfel este o relație de 1 la mai mulți sau “one –to-many” –
adică o categorie poate avea 0 sau mai multe produse asignate. Tabelul User are datele despre
utilizatorii aplicației și o legătura “one-to-many” cu tabelul Product – un utilizator poate deține una
sau mai multe produse. Tabelul Payment stocheaza datele de plată pentru fiecare tranzactie, avînd
așadar o relație “one-to-many” cu tabelul User. Tabelul Favorite stocheaza datele despre produsele
adaugate la favorite conform codului din Anexa 3.

Figura 3.4. Modelul basei de date a aplicatiei server Tech Store class Deployment Model
Category
– category_name: string
– category_image: string
– category_sort_order: int
– category_is_new: bool
– category_data: object
Product
– product_id: int
– product_name: string
– product_image: string
– product_sort_order: int
– product_is_new: bool
– product_rate: int
– product_price: double
– product_discount: int
– product_in_store: bool
– product_vender: string
– product_guarantee: int
– product_description: string
– fk_user_email: string
– fk_user_product: string
User
– email: string
– name: string
– phone: int
– password: int
Payment
– id: int
– product: int
– amount_money: int
– aded_date: date
– fk_user: string
Favorite
– id: int
– product: string
– aded_date: date
– fk_user: int0..* 1
0..*
1
1 0..*0..* 1

38
Baza de date a aplicației client este alcatuită din 4 tabele de bază conform figurii 3.5, tabelul
Category conține datele stocate ca cache despre categoriile de produse informatice care au fost
vizualizate cel puțin odată, tabelul Product conține date despre fiecare produs în partei, tabelul
Settings deține datele despre setările alese de către utilizator și tabelul User datele despre utilizator.
Baza de date este normalizată și conține relații de “one-to-many”, astfel fiecate utilizator poate avea
una sau mai multe setări.

Figura 3.5. Modelul basei de date a aplicatiei client Tech Store

3.2.2. Procesul de gestionare a produselor din magazinul online
În sistemul creat, s-a dezvoltat un program complex de gestiune a produselor accesibil de
oricunde prin acces securizat, care permite administrarea stocului de produse din oricâte puncte de
lucru. Magzinul online poate fi conectat la același stoc de produse care este administrat cu
programul de gestiune. În acest fel, o procedură foarte complexă și greu de urmărit devine o plăcere
pentru administrat. Clienții de pe internet comandă produsele direct din gestiune, acestea urmând a
fi urmărite după cod de bare, cod produs, la bucată în program de gestiune, comenzile pot fi preluate class Deployment Model
Category
– category_name: string
– category_image: string
– category_sort_order: int
– category_is_new: bool
– category_data: object
Product
– product_id: int
– product_name: string
– product_image: string
– product_sort_order: int
– product_is_new: bool
– product_rate: int
– product_price: double
– product_discount: int
– product_in_store: bool
– product_vender: string
– product_guarantee: int
– product_description: string
– fk_user_email: string
– fk_user_product: string
User
– email: string
– name: string
– phone: int
– password: int
Settings
– dim_screen: bool
– enable_sounds: bool
– enable_location: bool
– language: string
– shopping_events: bool
– product_disount: bool
– enable_expired_offers: bool0..* 1
0..*
1
1 1

39
și scăzute cu un singur click, facturile fiscale se emit cu un click și furnizorul economisește 90% din
efortul depus pentru procesarea manuală a comenzilor.
Pentru ca produsele să fie introduse în gestiune și pe aplicatia mobilă creată, trebuie să fie
recepționate cu o Notă de Intrare/Recepție și constatare diferențe. Acest formular este un formular
standard acceptat în gestiune și contabilitatea firmei. Produsele recepționate în program nu mai
trebuie re-recepționate și în alt program de gestiune sau în contabilitate. Interfața este foarte ușoară,
și simplifică mult procesul de introducere produse.
Pentru fiecare produs se creează o fișă de magazie, pe care o sa apară toate intrările și ieșirile
(vânzările). Produsele pot fi recepționate de la mai mulți furnizori, programul ținând cont de fiecare
aparte pe aceeași fișă.
Pentru a înregistra pierderi/regularizări stoc sau alte evenimente pe stoc, există formularul de
Bon de consum, formular standard de gestiune produse, acceptat și în contabilitate. Acest modul se
folosește în cazuri de consum intern, proces verbal de casare sau alte mișcări.
Bonul de vânzare digital utilizat în sistemul creat, servește ca și fundația vânzărilor în
program. Toate ieșirile de pe stoc se înregistrează cu un bon de vânzare. Un bon de vânzare poate fi
creat manual pentru vânzări directe la un punct de lucru sau se pot crea automat când produsele se
vând online. Produsele care sunt vândute cu un bon vânzare pot fi facturate cu un singur click, iar
bonul de vânzare poate deveni aviz de însoțire a mărfii. Programul este conceput și optimizat pentru
simplitate și viteză. Oricine poate învăța intuitiv utilizarea acestuia.
Agenda contacte și Clienți-Programul de gestiune vine cu un modul de agendă care
centralizează toate contactele, clienții, furnizorii din sistem. Clienții care cumpără și furnizorii
introduși, sunt salvați automat în baza de date, nemaifiind necesară reintroducerea datelor acestora
pentru tranzacții ulterioare. Implementînd aceste măsuri, se crează mai multe avantaje precum:
– Creșterea gradului de satisfacție al clienților deoarece clienții găsesc întotdeauna în aplicație
informații reale, actualizate cu un sistem automatizat care onoreza comenzile în cel mai scurt timp;
– Efort minim în administrarea datelor deoaree se gestionează și se urmăresc ușor stocurile,
articolele vandute, prețurile și clienții;
– Stocuri sincronizate – stocurile produselor din magazinul online vor reflecta situația reală din
depozitiv și se elimină situațiile în care un produs apare ca fiind disponibil, dar, în realitate, nu este
pe stoc și se reduc costurile cu actualizarea manuală a stocurilor și se reduc semnificativ munca
manuală iar toate înregistrările contabile se fac automat, eliminand erorile umane.

40
3.3. Publicarea aplicației și mentenața
3.3.1. Integrarea sistemului de analiză în timp real
Există mai multe modalități de monitorizare a aplicației, una din ele fiind platforma Splunk
Mint – soluție de inteligență operațională, ce permite livrarea unei aplicații mai sigură din punct de
vedere a erorilor ANR (aplication not reponding).
Este o soluție gratuită și ușor de integrat, se cere de a genera o chee unică pentru proiect și este
nevoie de a adăuga în fișierul buid.gradle. Cheia generată se utilizează la inceputul clasei ce extinde
Activity, in metoda onCreate(Bundle savedInstanceState, chear inainte de a se apela
setContentView(layout) pentru a acoperi cît mai multe posibilități de ANR. În cazul sistemului Tech
Store s-a utilizat:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*integration with app monitoring*/
Mint.initAndStartSession(BaseActivity.this, "8f5f1414");
setContentView(R.layout.activity_base);

în codul clasei BaseActivity, astfel toate clasele care moștenesc de la BaseActivity vor fi
monitorizate de platform Splunk mint. Pentru înregistrarea aplicației este destula introducerea
titlului și a packetului aplk, urmînd sa se genereze un cod unic, folosit mai apoi în activitatea
inițială. Utilizarea acestui instrument se face prin intermediul analizei diferitor diagrame in timp
real, precum diagramele de utilizatori zilnici, de retenție a utilizatorilor existenți sau a ratingului de
erori ANR cu o întîrzăere de ordinul secundelor conform figurii 3.6.

Figura 3.6. Diagrame Splunk Mint.

41
Diagramele de populritate a versiunilor aplicației în producție, a versiunilor de Android OS
sau a dispozitivelor pe care acestea rulează, a celor mai frecvente erori în ultimele 7 zile sau a
evenimentelor petrecute in runtime de catre utilizatori conform figurii 3.7.

Figura 3.7. Diagrame Splunk Mint.

3.3.2. Pubplicarea aplicației pe platforma internaționala Google Play
Pentru a publica aplicații Android pe Google Play, va trebui să creăm un cont de dezvoltator
Google Play folosind contul Google deja existent. La crearea contul de dezvoltator, va trebui să
consultăm și să acceptăm “Acordul de distribuire pentru dezvoltatori Google Play”. Dacă dorim să
obținem profit din vînzarea aplicațiilor, va trebui să achităm o taxă de înregistrare unică de 25 USD
pe care o putetem plăti folosind carduri de credit sau debit. Pentru crearea contului de publicare a
sistemului Tech Store, s-a folosit un card VISA de la Moldinkombank atașat unui cont în dolari
SUA. Transferul poate dura pînă la 48 de ore de la achitare și se realizează in doua etape:mai întîi
Google face o plată de verificare a disponibilității celor 25$ printr-o tranzacție de 1$, iar odată ce se
confirma disponibilitatea sumei în cont, se reîntoarce 1$ și se efectuiază transferul de 25$.
Următorul pas este completarea detaliilor. „Numele de dezvoltator” va fi afișat clienților pe
Google Play. Putem adăuga mai multe informații despre cont după crearea acestuia. Odata ce s-a
finisat procesul de înregistrare a contului de dezvoltator, putem utiliza “Consola Dezvoltatorului”
pentru a publica aplicații.

42
Totuși este de menționat faptul că trebuie de urmat cu rigurozitate toți pașii indicați de Google
pentru a publica cu succes și fără a încălca politicile Google, este bine de făcut o trecere în revista la
un chek list al acțiunilor. După urmarea tuturor pașilor enmerați, aplicația Tech Store poate fi
publicată cu succes pe platforma internațională Goole Play conform figurii 3.8 iar rezultatele sunt în
Anexa 4.
Odată ce aplicația Tech Store 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 Tech Store, pachetul va rămîne
pentru toate versiunile “com.utm.Tech Store”, se modifică doar codul versiunii și numele versiunii
din fișierul build.gradle.

Figura 3.8. Publicarea cu succes a aplicației Tech Store

Odată ce aplicația Tech Store 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 din documentația oficială

Similar Posts