Aplicatie Android Pentru Gestiunea Creditelor Active

APLICAȚIE ANDROID PENTRU GESTIUNEA CREDITELOR ACTIVE

Student: Țurcanu Victor

Conducător: Carcea Liviu

CHIȘINĂU 2016

INTRODUCERE

Un Sistem Informațional poate fi definit ca fiind un ansamblu de elemente strâns interconectate și interdependente care funcționează ca un tot întreg fiind implicate in procesul de colectarea, prelucrarea și transmiterea informației, astfel informației îi revine rolul central într-un Sistem Informațional. Rezultatul final al oricărui sistem informațional este: ridicarea eficacității funcționării procesului de control. Toate sistemele informaționale conduc la îmbunătățirea și automatizarea circulației documentelor, prelucrarea la calculator a masivelor informaționale mari și alcătuirea diferitor rapoarte. Ele au sens doar atunci când în rezultat crește productivitatea, se îmbunătățește folosirea resurselor de muncă, materialelor și energiei, crește cantitatea și calitatea produselor emise.

Sistemele Informaționale sunt activ utilizate în domeniul bancar, este foarte greu de imaginat activitatea bancară fără ajutorul sistemelor informaționale. Dar aceste sisteme informaționale în prezent funcționează în mare parte în folosul băncilor, sunt folosite pentru colectarea, analiza, prelucrarea și transmiterea informației. Pe când foarte puține sisteme informaționale sunt menite să ajute consumatori, iar cele existente sunt greu accesibile și o parte mare din consumatori nu sunt la curent de existența lor. În cazul care un simplu consumator decide să depună o cerere pentru a primi un credit, doar expertul în creditare poate să facă toate calculele necesare, pe când doar un procent foarte mic din consumatori sunt capabili să verifice corectitudinea acestor calcule, iar calculatoarele de credit disponibile pe paginile web ale băncilor nu sunt accesibile în cazul in care nu ne aflăm în fața unui Calculator Desktop. Mai mult ca atât sunt foarte des întâlnite cazurile când persoanele ce primesc un credit uită data achitării, deci ar fi foarte bine dacă ar exista un sistem informațional care ar funcționa pe device-uri mobile, care ne-ar ajuta să calculăm dobânda, rata lunara, etc. și în caz de necesitate să ne reamintească cu ceva timp înainte că trebuie să achităm rata lunară a creditului.

Obiectul tezei este reprezentat de un model experimental care va calcula dobânda creditului, graficul de achitare, etc. și va funcționa ca un organizator care ne va reaminti data achitării. Acest model experimental va fi elaborat în baza informației disponibile pe pagina oficiala a BNM și in baza legilor publicate pe Monitorul Oficial. Modelul Experimental va reprezenta o aplicație android care va fi elaborată cu ajutorul aplicației Android Studio, limbajul de baza utilizat este Java.

Scopul tezei de a studia teoria existentă referitoare creditelor pentru consumatori, de a identifica necesitățile specifice în domeniu, pentru elaborarea un model experimental, prezentat drept obiect al tezei, în conformitate cu necesitățile punctate de utilizatori.

Obiectivele tezei sunt punctate de necesitatea administrării creditelor active a consumatorilor și necesitatea de a primi o notificare din timp care va reaminti de achitarea ratei lunare a creditului.

Noutatea științifică, derivă din încercarea de a crea un sistem informațional care ar ajuta consumatorul cu administrarea creditelor active, cu siguranță asemenea sisteme există, însă doar in versiune web, care în lipsa internetului sau a unui calculator desktop sunt indisponibile.

Astfel reieșind din problemă cu disponibilitatea lor, voi încerca să elaborez o aplicație android care va îndeplini cu ușurință sarcinile unui calculator de credit disponibil pe paginile web ale băncilor și concomitent cu aceste sarcini aplicația finală va avea și un rol de organizator. Iar problema accesibilități altor sisteme de acest tip va fi cel mai evident avantaj al aplicației care urmează să fie elaborată.

Semnificația științifică și valoarea aplicativă a tezei constă în determinarea sistemelor informaționale și a documentației necesare pentru crearea unei aplicații android care va îndeplini sarcina propusă.

1 TEHNOLOGII ȘI INFORMAȚII UTILIZATE IN DEZVOLTAREA APLICAȚIEI

1.1 Scurt Istoric

Împrumutul este cunoscut încă de la începuturile vieții economice și sociale. Primele dovezi ale unei activități bancare se regăsesc în Orientul Apropiat și Egiptul Antic, unde templele erau atât loc de rugăciune cât și loc de păstrare a banilor și tezaurelor. Tăblițele de lut găsite reprezintă dovada ca templele din Babilon aveau o activitate ce poate fi asemănată, în unele privințe cu activitatea instituțiilor bancare moderne. Pe aceste tăblițe a fost dăltuită legea care cuprindea reguli precise privitoare la primirea și acordarea de împrumuturi, așezarea și plata dobânzilor, folosirea înregistrărilor doveditoare, constituirea de garanții, împărțirea obligațiilor, depunerea în depozite. Împrumutul cu dobândă a fost o practică ce la început nu a putut fi controlata de către autorități, deoarece nu existau reglementări în domeniu. Împrumutul cu dobândă este reglementat mai târziu prin Codul lui Hammurabi, care este recunoscut ca prima reglementare în domeniu. Un fapt important în evoluția relațiilor economice și sociale îl constituie extinderea împrumuturilor, într-o primă fază numai de produse destinate consumului, în special cereale, iar mai târziu și de unelte ale muncii și de instrumente bănești. Împrumuturile se acordau încă de la începuturi contra unui anumit preț, adică dobânda, ceea ce asigura un substanțial câștig creditorilor, respectiv deținătorilor de disponibilități în mărfuri și bani care încheiau asemenea tranzacții.

Apariția băncilor ca instituții a avut loc în Grecia și Roma antică în secolele VI-VII î. H. ca urmare a dezvoltării comerțului, datorată emiterii monedei proprii de către fiecare oraș comercial. În scopul de a combate dobânda excesivă mai multe cetăți grecești au decis să constituie ”bănci publice” care pe lângă rolul propriu zis bancar, mai aveau și sarcina strângerii impozitelor și dreptul de a bate moneda.

În feudalism creditul a accentuat procesul de deposedare a micilor producători de mijloace de producție, concomitent cu pierderea drepturilor economice și politice, deducându-i starea de dependență față de feudal. Creditul a dus și în această perioada la extinderea relațiilor monetare, contribuind apoi la ruinarea marilor latifundiari, la distrugerea independenței meșteșugarilor, creând astfel premise necesare de trecere la manufactură capitalistă. În ultima perioadă de extindere a feudalismului, creditului a contribuit la acumularea capitalului, la ruinarea producătorilor de mărfuri și transformarea lor în salariați.

În capitalism creditul bancar se transforma într-un instrument de dominație. El devine o armă folosită de marile monopoluri în luptă concurențială. În condițiile producției capitaliste de mărfuri, creditul contribuie într-o anumită măsură și la atenuarea vremelnică a contradicției dintre valoare și valoarea de întrebuințare, manifestă prin antagonismul dintre producție și consum.[1]

1.2 Generalități despre credit

Relațiile de credit au existat încă în economiile pre monetare, când au apărut și s-au dezvoltat raporturile marfă-bani. Creditul a apărut pe baza dezvoltării producției de mărfuri. Apariția creditului se leagă de un anumit stadiu de dezvoltare al schimbului, când vânzătorul preda valori de întrebuințare în schimbul unor promisiuni că va primi cândva o valoare.

Teoriile economice atestă apariția inițială a noțiunii de credit încă în antichitate, în Orientul Mijlociu, unde constituia monopolul marilor proprietari funciari și al preoților. Dovezi privind activitatea de acordare a împrumuturilor au fost găsite încă în Codul de legi a lui Hammurabi în Babilonul Antic în sec. XVIII î.Hr. Negustoria de bani a existat probabil la egipteni și fenicieni, dar în mod sigur la greci și romani. Activitatea acestora era însă în realitate cămătărie (Cămătărie provine de la noțiunea de camătă, care reprezintă o dobândă foarte ridicată percepută la împrumuturi și practicată în sclavagism, feudalism și capitalismul în ascensiune, din cauza resurselor bănești limitate și a riscului de nerambursare.) și zărăfie (Zărăfie înseamnă îndeletnicirea zarafului de a schimba banii.). Primele institute care au efectuat operații de profilul actualelor bănci au fost, probabil, cele din orașele-republici italiene, adică în sec. XII-XIV. Una din celebrele familii italiene din domeniul activității de credit a fost familia Medici, care aflând-se la guvernarea provinciei Florența, acorda împrumuturi familiilor princiare din Italia și din întreaga Europa. Prima bancă a fost, de asemenea, înființată in Italia, în 1171, cunoscută sub denumirea Banca din Veneția, însă ea a fost recunoscută oficial ca bancă de viramente abia în 1587 sub denumirea Banco di Rivalta. Creditul a devenit unul din mecanismele fundamentale ale vieții economice începând din 1850, după revoluția industrială, făcând posibilă anticiparea cumpărărilor, și, astfel, exercitând un efect multiplicator asupra activității economice.

Pe parcursul dezvoltării științei economice au fost formulate diverse concepții și expuse păreri cu privire la credit. Platon considera că „statul trebuie să tina sub control încasarea dobânzii pentru împrumuturi (a cametei), precum și vânzarea mărfurilor în credit, reglementând preturile în așa mod încât acestea să asigure vânzătorilor un profit moderat.”

În viziunea lui Aristotel, culmea gramatisticii (acumularea bogăției sub forma de bani) o constituie camăta, pe care, firește o condamnă în termeni categorici, deoarece, susține el ”banii nu nasc bani”.

Profeții biblici (Eremia, Isaia, Daniel, Zaharia) în încercarea lor de a impune în viața de toate zilele principiile adevărului, justiției și echității sociale, condamnă mai ales camăta, considerată a se afla la temelia îmbogățirii unora și sărăcirii altora.

John Maynard Kenyei, considerat a fi cel mai mare economist al secolului XX, va avea alte idei referitoare la credit, dobândă și rata dobânzii. Kenyei pune accentul pe o intervenție indirectă de natură creditară. Tot el consideră că stimularea investițiilor private urma să se înfăptuiască prin intermediul micșorării ratei dobânzii.

Unul din scopurile principale ale politicii monetare ale lui Kenyei este menținerea ratei dobânzii la cel mai scăzut nivel posibil. Asemeni lui Aristotel și canoniștilor medievali, savantul englez considera că banii nu produc nimic, de aceea trebuie stimulați și încurajați, cei care produc și nu cei care, tezaurizând moneda, obțin venituri fabuloase. Un credit ieftin nu numai că ar stimula investițiile private, ci și ar scoate terenul de sub picioarele rentierilor. Iar printr-o micșorare progresivă a ratei dobânzii până la zero, această clasă parazitară, care nu investește, nu produce, ar fi sortită pieirii. Reducerea ratei dobânzii poate fi realizată pe calea sporirii cantității de bani aflați în circulație (măsură care în mod evident duce la inflație). Dar doctrina lui Kenyei suferă de un șir de neajunsuri și inexactități. Astfel, s-a dovedit a fi insuficientă propunerea de a micșora rata dobânzii în scopul stimulării investițiilor private. Deoarece când în timpul crizei statul micșorează rata dobânzii, pentru a stimula investițiile, capitalurile private preferă să plece peste hotare. Ridicarea ratei dobânzii în perioada expansiunii economice nu reușea să încetinească ritmurile de creștere economică, întrucât creșterea era stimulată nu atât de rata dobânzii, cit de rata profitului.

Implicațiile creditului în multiplele sfere ale economiei și influenta sa asupra creșterii economice și echilibrului monetar explica interesul specialiștilor pentru conținutul creditului și definirea lui. În teoriile economice contemporane creditul este definit ca o relație bănească între o persoană fizică sau juridică, numită creditor, care acordă unei alte persoane numită debitor, un împrumut în bani sau care vinde mărfuri sau servicii pe datorie, în general cu o dobândă stabilă în funcție de riscul pe care și-l asumă creditorul sau de reputația debitorului.

Creditul permite disponibilizarea de fonduri lichide pentru investiții sau activități curente. Fondurile disponibile, constând în economii pentru diferite perioade de timp, precum și fondurile strânse prin vânzarea de acțiuni și obligațiuni pot fi folosite pentru acordarea de împrumuturi întreprinderilor de stat și particulare. Creditul este unul din motoarele principale ale întregului angrenaj economica-social. Utilizarea rațională a creditului sporește puterea productivă a capitalului și asigură un volum mare de produse. Pe măsura dezvoltării economica-sociale, rolul și importanta creditului în economia fiecărei tari au marcat o creștere considerabilă, având loc totodată, diversificarea funcțiilor îndeplinite de credit.

În primul rând, creditul îndeplinește o funcție distributivă prin faptul că redistribuie rezervele bănești disponibile la un moment dat în economie sub forma împrumuturilor acordate anumitor ramuri, sectoare sau domenii de activitate care au nevoie de mijloace de finanțare. Prin disponibilități sunt desemnate atât excedentele din conturile întreprinderilor deschise la bănci și aflate temporar în stare inactivă, rezervele de casă ale firmelor păstrate în conturi la bănci, cit și sumele economisite de populație pentru diferite scopuri și depuse spre păstrare la băncile comerciale. Deci, creditul apare ca un sistem de relații între bănci și întreprinderi, în cadrul căruia mijloacele bănești ale întreprinderilor, cit și mijloacele bănești ale sistemului financiar devin, în urma mobilizării lor de către bănci, resurse ale sistemului de credit și sunt utilizate prin redistribuire la acordarea creditelor economiei.

Oferind întreprinzătorilor toate aceste disponibilități, băncile, prin creditarea acestora, transformă economiile sterile în capitaluri productive, contribuind astfel la creșterea avuției reale a societății. Din acest motiv se poate afirma că, creditul sporește puterea de acțiune productivă a capitalului.

Printr-o analiză atentă a cererilor de credite se favorizează orientarea disponibilităților spre ramurile sau activitățile mai rentabile, acest lucru asigurând o mai mare posibilitate de adaptare la cerințele pieței interne și externe. Având în vedere cele prezentate, creditul, prin funcția sa distributivă, participă la creșterea gradului de centralizare și concentrare a capitalului.

Economisirea fără investire conduce la tezaurizare, care poate provoca recesiune. Din faptul că nu orice individ dispune de calitățile necesare sau capitalului necesar pentru a desfășura activitatea de întreprinzător, se poate observa importanta pe care o are creditul în procesul de transformare a economiilor în investiții. Deci, creditul este un important factor al creșterii economice.

Prin urmărirea și verificarea atentă a modului de utilizare a sumelor primite, creditul joacă un rol de diminuare a inițiativelor nerentabile, care provoacă pierderi. Un întreprinzător care prezintă inițiative riguros fundamentate și însoțite de garanții reale acoperitoare poate să obțină un credit. Astfel, creditul contribuie la proliferarea firmelor de mici dimensiuni, adesea promotoare ale inovației ceea ce favorizează concurența, cu efectele sale pozitive asupra economiei în ansamblul său.

O altă funcție importantă a creditului este cea de emisiune monetară. Odată cu diversificarea tehnicii de plată (virament, cec, trată etc.) s-a ajuns la diminuarea utilizării numerarului și în consecință la creșterea în proporții mari a monedei de cont (scripturale). Prin aceasta s-a asigurat și importanta reducere a cheltuielilor cu circulația banilor, noile tehnici și instrumente de plată oferite de existenta creditului făcând fată creșterii volumului de tranzacții.

Reglând dimensiunile cererii și ale ofertei de mărfuri tocmai prin creditarea consumului pe de o parte și creditarea stocurilor pe de altă parte, creditul contribuie la stabilitatea prețurilor.

Ca urmare a naturii sale, creditul contribuie la viteza de rotație a banilor, la multiplicarea monedei scripturale, la rularea continuă a fondurilor.

Un rol deosebit îl are creditul în promovarea relațiilor economice internaționale prin creditarea activităților de comerț exterior cel mai frecvent cu avantaje deosebite pentru producător. Nu putem ignora nici importanta creditului în acoperirea bugetului de stat prin creditul public, nici prezenta din ce în ce mai masivă a lui în rândul populației sub formele sale de credit de consum, credit ipotecar etc. De asemenea, creditul exercită o influenta benefică asupra consumului, prin cumpărarea pe credit și plata în rate a unor bunuri de folosință îndelungată.

Pe acest fond, rolul și amploarea creditului au crescut mult, o dată cu dezvoltarea economică-socială, devenind o activitate economică deosebit de importantă. Odată cu relevarea acestor funcții importante, trebuie menționat, în același timp că abuzul de credit prezintă și dezavantaje importante, puțind să determine pierderi pentru instituțiile de credit, falimente ale instituțiilor insolvabile sau influențe negative asupra conjuncturii economice.[2]

1.3 Dobânda anuală efectivă

Dobânda anuală efectiva exprima sub forma procentuala costul total al unui credit. Acesta este un concept impus atât in Uniunea Europeana, cat si Statele Unite, fiind implementat pentru a permite consumatorilor sa compare ușor costul creditelor.

Cel mai ușor mod de a înțelege ce înseamnă DAE este sa analizam un caz concret. De exemplu, daca întregul cost al creditului ar fi format doar din dobânda, atunci cel mai bun credit se poate alege prin simpla comparare a ratelor de dobânda, urmând sa alegem împrumutul cu dobânda cea mai scăzută.

In realitate, băncile percep o serie întreaga de comisioane, care fac dificila compararea creditelor. Sa presupunem ca o banca acorda un credit, care are o rata a dobânzii de 10% si un comision inițial de 3%, in timp ce alta practica o dobânda de 11%, cu un comision lunar de 0,1%, aplicat la sold. Care este mai scump? Greu de spus deoarece in aceasta forma datele nu pot fi comparabile.

Rolul DAE este tocmai de a aduce la același numitor comun toate costurile unui credit. Mai precis, DAE transforma si comisioanele aferente unui împrumut sub forma unei dobânzi anualizate. In acest fel, devine posibila compararea a doua credite, indiferent de tipul comisioanelor percepute. Iar diferența dintre DAE si rata dobânzii se datorează, in mare parte, acestor costuri suplimentare: comisioane inițiale, lunare, anuale, prime de asigurare de viată, etc.

Nu trebuie confundat DAE cu rata dobânzii, deoarece ele joaca roluri diferite. DAE este doar un indicator care se exprima in forma procentuala si nu este folosit in calculul dobânzii plătite de client. El poate fi comparat cu clasa energetica de la electrocasnice. Un aparat cu clasa A consuma mult mai puțin decât unul cu clasa C. La fel, in cazul împrumuturilor, un credit cu DAE mai mic este mai ieftin decât unul cu DAE mai mare.[3]

1.4 Scadența

Data limita pana la care debitorul trebuie sa returneze împrumutul către creditor. Aceasta scadenta se poate referi la data din fiecare luna pana la care împrumutatul trebuie sa își plătească rata, sau la termenul final pana la care trebuie rambursat creditul. In cazul creditelor de nevoi personale fără ipoteca, scadenta poate ajunge la cel mult 10 ani, in vreme ce pentru creditele garantate, aceasta poate varia intre 15 si 30 de ani. In cazul in care un împrumutat nu mai poate plăti la timp ratele, el poate cere o reaccidentare si astfel sa își extindă durata acordării creditului. Este de asemenea important de reținut ca întârzierea de la plata ratei la scadenta lunara atrage după sine aplicarea unor penalități sau comisioane suplimentare.[4]

1.5 Metode de rambursare a creditelor

În practică există mai multe metode de rambursare a creditelor. Întocmirea unui grafic de rambursare (scadențar) presupune cunoașterea unei terminologii specifice. Rata de principal – Partea din capitalul împrumutat care se rambursează în fiecare perioadă. Anuitate – suma de bani rambursată în fiecare perioadă. Această sumă conține atât principalul cât și dobânda aferentă perioadei. Valoare rămasă de rambursat – Partea de capital rămasă de rambursat. Este egală cu diferența dintre valoarea rămasă de rambursat în perioada precedentă și rata de principal curentă.

1.5.1 Rambursare în anuități constante

În primul rând este necesară deducerea unei formule analitice pentru calculul anuității.

At+1 = A1 = A de unde Rt+1 + Dt+1 = Rt + D1 sau Rt+1 + r*VR1 = Rt + r*VR t-1 iar
VR t = VR t-1 – R t => R t+1 + r*(VR t-1 –R 1) = R t + r*VR t-1 R t+1 = R t *(1+r) și deci:

R t = R t * (1+r) t-1.

Dar i = CREDIT => R 1 + R1 * (1+r) + … +R1 *(1+r) n-1= R1 * sau

R1 .

A1 = A = R1 + D1 = + r* CREDIT = = .

Formula 1.5.1

Unde:
A – anuitatea;
Dt – dobânda la momentul t;
Rt – rata de principal la momentul t;
VRt –valoarea rămasă de rambursat la momentul t;
r – rata dobânzii din contract.

Exemplu: Să se întocmească scadențarul pentru un credit de 12.000 de MDL cu scadența 6 luni, rata dobânzii 10% în condițiile în care rambursarea se face în rate lunare egale (anuități constante) [5]

Tabelul 1.5.1 (exemplu de calcul a rambursării în anuități constante)

1.6 Crearea unei aplicații Android

1.6.1 Scurt istoric

In iulie 2005, Google a achiziționat Android Inc pentru cel puțin 50 milioane $, ai căror angajați cheie, inclusiv Rubin, Miner și White, au rămas la compania după achiziție. Nu mult a fost cunoscut despre Android Inc la momentul cumpărării, dar multe presupuse încît Google a planificat pentru a intra pe piata de telefonie mobile cu această mișcare.La Google, echipa condusă de Rubin a dezvoltat o platforma de dispozitiv mobil alimentat de nucleul Linux. Google a comercializat platforma pentru producatorii de telefoane si operatorii de transport cu promisiunea de a oferi un sistem flexibil, actualizabil. Google a aliniat o serie de parteneri de componente hardware și software și a semnalat transportatorilor că este deschis la diferite grade de cooperare din partea lor. Speculatiile cu privire la intenția Google de a intra pe piața de comunicații mobile a continuat să crească până în decembrie 2006. Un prototip anterior cu numele de cod "Sooner", a avut o asemănare mai aproape de un telefon BlackBerry, si nu cu un touchscreen, cu o tastatură QWERTY fizică, dar a fost mai târziu re-proiectat pentru a sprijini un touchscreen, pentru a concura cu alte dispozitive anunțate, cum ar fi LG Prada din 2006 și 2007 Apple iPhone. În septembrie 2007, InformationWeek a acoperit un studiu de raportare pe care Google a depus mai multe cereri de brevete în domeniul telefoniei mobile.Eric Schmidt, Andy Rubin și Hugo Barra, la o conferință de presă in 2012 anunță tableta Nexus 7 de la Google.La data de 5 noiembrie 2007, Open Handset Alliance, un consorțiu de companii de tehnologie, inclusiv Google, producătorii de dispozitive, cum ar fi HTC, Sony și Samsung, operatorii de transport fără fir, cum ar fi Sprint Nextel și T-Mobile, și factorii de decizie cu chipset, cum ar fi Qualcomm și Texas Instruments, au venit cu un scop de a crea standarte deschise pentru dispozitivele mobile. In acea zi, Android a fost prezentat ca fiind primul său produs, o platformă mobilă construită pe nucleul Linux. Primul smartphone disponibil comercial Android a fost HTC Dream, lansat la data de 22 octombrie 2008. Începând cu anul 2008, Android a văzut numeroase actualizări care au îmbunătățit progresiv sistemul de operare, adăugarea de noi caracteristici și fixarea bug-uri în edițiile anterioare. Fiecare lansare majoră este numită în ordine alfabetică, după un desert sau turtă cu zahăr; de exemplu, versiunea 1.5 "Cupcake" a fost urmat de 1.6 "Donut". În 2010, Google a lansat seria de dispozitive Nexus – o linie de smartphone-uri și tablete care rulează sistemul de operare Android, și construit de partenerii de fabricație. HTC a colaborat cu Google pentru a lansa primul smartphone Nexus One. Google a actualizat, seria cu dispozitive mai noi, cum ar fi telefonul Nexus 5 (fabricat de LG) și tableta Nexus 7 (realizat de Asus). Google a lansat telefoanele și tabletele Nexus pentru a acționa ca dispozitivele lor emblematice Android, demonstrând cele mai recente caracteristici software și hardware. Din 2010 până în 2013, Hugo Barra a servit ca purtător de cuvânt reprezentând Android la conferințe de presă și conferința Google I / O, conferința anuală-concentrată pe dezvoltatarea Google. Implicarea lui Barra a inclus întregul ecosistem Android de software și hardware, inclusiv Honeycomb, Ice Cream Sandwich, Jelly Bean și KitKat si lansări ale sistemului de operare, Nexus 4 și Nexus 5, Nexus 7 și Nexus 10 comprimate, și alte produse conexe, cum ar fi Google Now și Google Voice Search, produsul Google de recunoaștere vocală comparabil cu Siri Apple. În 2013, Barra a părăsit echipa Android pentru Xiaomi. În același an, Larry Paper a anunțat într-un post pe blog că Andy Rubin a fost mutat de la divizia Android pentru a prelua proiecte noi de la Google. El a fost înlocuit de Sundar Pichai, care a devenit noul șef al Android și Chrome OS, și, mai târziu, Hiroshi Lockheimer atunci când Pichai a devenit CEO al Google.

1.6.2 Android Studio

La etapa actuala Android Studio este cel mai comod și cel mai întrebuințat instrument de crearea unei aplicații android. Anunțat pentru prima oară la începutul anului 2013, acest proiect trebuia să funcționeze pe principiul ” What You See is What You Get”. Cu alte cuvinte, trebuia să se manifeste printr-un mod simplu, intuitiv și eficient de a crea aplicații android fără cunoștințe avansate în programare.

După o lunga perioadă în care s-a aflat în beta, Google a anunțat oficial că Android Studio a ajuns la versiunea 1.0 și că este disponibil pentru a fi descărcat gratuit. Pachetul include din start un set de template-uri pe care pot fi folosite cât de profesioniști cât și de începători fără experiență. Există module pentru a crea rapid aplicații de captură, sisteme de notificări sau platforme de mesagerie instant. Pentru că Android este disponibil într-o varietate foarte mare de dispozitive și dimensiuni de ecran, Android Studio este modul ideal pentru a crea aplicații care să funcționeze pe toate variațiile specifice acestei platforme.

În plus, amatorii platformei online open source GitHUbe vor fi fericiți să afle că pot cu ușurință să insereze bucăți de cod de acolo în propriile aplicații pentru Android. Nu mai rămâne decât să aveți o idee revoluționară de aplicație pentru ca în scurt timp aceasta să devină profitabilă în Google Play.[9]

1.6.3 Java

Java este un limbaj de programare orientat pe obiect, puternic tipizat, conceput de către James Gosling la Sun Microsystems (acum filială Oracle) la începutul anilor ʼ90, fiind lansat în 1995. Cele mai multe aplicații distribuite sunt scrise în Java, iar noile evoluții tehnologice permit utilizarea sa și pe dispozitive mobile gen telefon, agenda electronică, etc. În felul acesta se creează o platformă unică, la nivelul programatorului, deasupra unui mediu eterogen extrem de diversificat. Acesta este utilizat în prezent cu succes și pentru programarea aplicațiilor destinate intranet-urilor.

Limbajul împrumută o mare parte din sintaxă de la C și C++, dar are un model al obiectelor mai simplu și prezintă mai puține facilități de nivel jos. Un program Java compilat, corect scris, poate fi rulat fără modificări pe orice platformă care e instalată o mașină virtuală Java (engleză Java Virtual Machine, prescurtat JVM). Acest nivel de portabilitate (inexistent pentru limbaje mai vechi cum ar fi C) este posibil deoarece sursele Java sunt compilate într-un format standard numit cod de octeți (engleză byte-code) care este intermediar între codul mașină (dependent de tipul calculatorului) și codul sursă.

Cei mai mulți programatori învață de la începutul carierei lor ca programele portabile sunt dorite pecind sunt și înșelatoare în același timp. În timp ce sarcina căutării metodei de creare a programelor eficiente și portabile (independentă de platformă) este aproape la fel de veche ca disciplina programării în sine, ea a luat un scaun din spate la alte probleme mai presante. În plus, pentru că (la acel moment), o mare parte din lumea computerelor sa împarțit în cele trei tabere concurente ale Intel, Macintosh și UNIX, cei mai mulți programatorii au rămas în granițele lor fortificate, precum și nevoia urgentă de portabilitate a codului a fost redusă. Cu toate acestea, odată cu apariția Internetului și Web, vechea problema de portabilitate a revenit cu o răzbunare. La urma urmei, Internetul este format dintr-o diversă, Universul distribuit populat cu diferite tipuri de calculatoare, sisteme de operare, și CPU-uri. Cu toate că multe tipuri de platforme sunt atașate la Internet, utilizatorii ar dori -le pe toate pentru a fi capabil de a rula același program. Ceea ce a fost odată un iritant, dar cu prioritate redusă, a devenit o necesitate de profil înalt. Până in 1993, a devenit evident pentru membrii echipei de proiectare Java că problemele portabilității întâlnite în mod frecvent la crearea de cod pentru controlere embedded sunt, de asemenea, găsite când încearcă să creeze codul pentru Internet. De fapt, aceeași problemă pe baza cărei Java a fost inițial conceput pentru a rezolva problema pe scară mică ar putea fi, de asemenea, aplicată la rezolvarea pe scară largă. Această realizare a cauzat Java să se schimbe de la electronice de larg consum la programare pe Internet. Așa că, în timp ce dorința pentru un limbaj de programare arihitectural-neutru a aprins prima scîntee,Internetul în cele din urma a conduso pe drumul succesului pe o scara largă.. Așa cum am menționat mai devreme, Java deriva o mare parte din caracterul său de la C și C ++. Acest lucru este de intenție. Designerii Java știau că folosind sintaxa familiară C și repetând caracteristici orientate spre obiecte ale C ++ ar face limbajul lor înteresant pentru legiunile de C / C ++ programatori. Pe lângă similitudinile suprafață, Java împărtășește unele din celelalte atribute care au ajutat în construcția de success a C și C ++. În primul rând, Java a fost proiectat, testat și rafinat de programatori reali, în timpul lucrului. Este o limbă întemeiată pentru nevoile și experiențele oamenilor care l-au redactat. Astfel, Java este limbajul unui programator. În al doilea rând, Java este coerent și logic coerent. În al treilea rând, cu excepția acelor constrângeri impuse de mediul Internet, Java, oferă programatorului, un control complet. Dacă tu programezi bine, programele vor reflecta. Dacă programezi prost, programele de asemenea reflectă faptul. Altfel spus, Java nu este un limbaj cu roți de formare. Este o limbă pentru programatori profesioniști. Din cauza asemănărilor dintre Java si C ++ este tentant să ne gândim la Java ca pur și simplu "versiunea pentru Internet a C ++." Cu toate acestea, acest lucru ar fi o greșeală mare. Java are semnificative diferențele practice și filozofice. Deși este adevărat că Java a fost influențată de C ++, ea nu este o versiune îmbunătățită a limbajului C ++. De exemplu, Java nu este în nici un caz posibil compatibil cu C ++. Desigur, asemănările cu C ++ sunt semnificative, iar dacă sunteți programator C ++, atunci vă veți simți ca acasă cu Java. Un alt punct: Java nu a fost proiectat pentru a înlocui C ++. Java a fost proiectat pentru a rezolva un anumit set de probleme. C ++ a fost proiectat pentru a rezolva un set diferit de probleme. Ambele vor coexista timp de mulți ani de acum încolo. După cum am menționat la începutul acestui capitol, limbaje de programare evoluează din două motive: să se adapteze la schimbările din mediul și să pună în aplicare progrese în domeniul programării. Schimbarea de mediu care a determinat Java a fost nevoia independentă de platformă. Cu toate acestea, Java întruchipează de asemenea, modul în care oamenii se apropie la scrierea programelor. De exemplu, Java a îmbunătățit și rafinat paradigma orientat-obiect utilizat de C ++, a adăugat suport integrat pentru multithreading, și a oferit o bibliotecă care simplificată accesul la Internet. În analiza finală, nu caracteristicile individuale ale Java lau făcut atât de remarcabile. Mai degrabă, era limba în ansamblu. Java a fost răspunsul perfect pentru cererile de atunci. Java a fost pentru programare pe Internet ceia ce C a pentru programare in general:o forță revoluționară care a schimbat lumea.

Cheia care permite Java să rezolve atât problemele de securitatea cît și problemele de portabilitate este că producția unui compilator Java nu reprezintă un cod executabil. Mai degrabă, reprezintă bytecode.Bytecode este un set extrem de optimizat de instrucțiuni destinate pentru a fi executate de către sistemul run-time Java, care se numește Java Virtual Machine (JVM). În esență, JVM original a fost proiectat ca un interpret pentru bytecode. Acest lucru poate veni ca un pic de o surpriza, deoarece mai multe limbi moderne sunt proiectate pentru a fi compilate în cod executabil din cauza preocupărilor legate de performanță. In orice caz, faptul că un program Java este executat de JVM ajuta la rezolvarea problemelor majore asociate cu programe bazate pe web. Iată de ce. Traducerea unui program Java în bytecode face mult mai ușor pentru a rula un program în o mare varietate de medii, deoarece numai JVM trebuie să fie pus în aplicare pentru fiecare platformă. Odată ce există pachetul run-time pentru un sistem dat, orice program Java poate rula pe el. Cu toate detaliile JVM va fi diferit de la platforma la platforma, toate înțeleagînd același bytecode Java. În cazul în care un program Java a fost compilat nativ, atunci versiuni diferite ale aceluiași program ar trebui să existe pentru fiecare tip de CPU conectat la Internet. Aceasta desigur, nu este o soluție fezabilă. Astfel, executarea bytecode de JVM este cel mai simplu mod de a crea programe cu adevărat portabile. Faptul că un program Java este executat de JVM ceia ce îl face și mai securizat deoarece JVM este în control, acesta poate conține programul și căi pentru a împiedica generarea efectelor secundare din afara sistemului. După cum veți vedea, siguranță este de asemenea îmbunătățită prin anumite restricții care există în limbajul Java. În general, atunci când un program este compilat într-o formă intermediară și apoi interpretat de către o mașină virtuală, ruleaza mai lent decât cel compilat cu codul executabil. Cu toate acestea, cu Java, diferența dintre cele două nu este atât de mare. Pentru că bytecode este extrem de optimizat, utilizarea bytecode permite JVM să execute programe mult mai repede decât s-ar putea aștepta.

Mașina virtuală Java este mediul în care se execută programele Java. În prezent, există mai mulți furnizori de JVM, printre care Oracle, IBM, Bea, FSF. În 2006, Sun a anunțat că face disponibilă varianta sa de JVM ca open-source.[8]

1.6.4 SDK Manager

Managerul Android SDK separa instrumentele SDK cum ar fi platforme și alte componente în pachete de acces și de gestionare ușoară. De asemenea, vă puteți customiza site-urile care sunt verificate de SDK manager in același timp verificînd dacă există componente noi sau actualizate la fel și add-on,instrumente. De exemplu, puteți conFigura Managerul SDK pentru a verifica în mod automat pentru actualizări și să vă anunțe atunci când un pachet de instrumentele SDK instalat este actualizat. Atunci când primiți o astfel de notificare, puteți să decideți rapid dacă doriți să descărcați modificările.

1.7 Generalități ale Sistemului de operare Android

Android este o platformă software și un sistem de operare pentru dispozitive și telefoane mobile bazată pe nucleul Linux, dezvoltată inițial de compania Google, iar mai târziu de consorțiul comercial Open Handset Alliance. Android permite dezvoltatorilor să scrie cod gestionat în limbajul Java, controlând dispozitivul prin intermediul bibliotecilor Java dezvoltate de Google. Aplicațiile scrise în C și în alte limbaje pot fi compilate în cod mașină ARM și executate, dar acest model de dezvoltare nu este sprijinit oficial de către Google.

Lansarea platformei Android la 5 noiembrie 2007 a fost anunțată prin fondarea Open Handset Alliance, un consorțiu de 48 de companii de hardware, software și de telecomunicații, consacrat dezvoltării de standarde deschise pentru dispozitive mobile. Google a lansat cea mai mare parte a codului Android sub licența Apache, o licență de tip free-software și open source.

Primele aprecieri cu privire la dezvoltarea aplicațiilor pentru platforma Android au fost amestecate. Problemele citate includeau bug-uri, lipsa de documentație, infrastructura de testare inadecvată, și lipsa unui sistem de gestionare a problemelor public. (Google a anunțat un sistem de gestionare a problemelor la data de 18 ianuarie 2008) .În decembrie 2007, fondatorul startup-ului mobil MergeLab Adam MacBeth a declarat: "Funcționalitatea lipsește, este prost documentată sau pur și simplu nu funcționează… Este clar că nu este gata pentru prime time." În ciuda acestui fapt, aplicațiile pentru Android au început să apară deja în săptămâna următoare celei în care a fost anunțată platforma. Prima aplicație publică a fost jocul Snake. Telefonul Android Dev este un dispozitiv cu SIM și hardware neblocate care este destinat dezvoltatorilor avansați. Cu toate că dezvoltatorii pot utiliza un dispozitiv de consum achiziționat de pe piață pentru a-și testa și a utiliza aplicațiile, unii dezvoltatori pot alege să nu utilizeze un dispozitiv de pe piață, preferând un aparat neblocat sau fără contract.[7]

1.7.1 Nucleul Linux

Nucleu sistemului Android se bazează pe una dintre ramurile Linux kernel de suport pe termen lung (LTS). Începând cu luna aprilie 2014, dispozitivele Android folosesc în principal versiuni 3.4 sau 3.10 a kernel-ului Linux. Versiunea specifică kernel-ului depinde de dispozitivul Android real și platforma hardware. Android a folosit diferite versiuni de kernel, deoarece versiunea 2.6.25, care a fost utilizat în Android 1.0. Variantă a kernel-ului Linux Android are alte modificări arhitecturale, care sunt puse în aplicare de către Google în afara ciclului tipic Linux de dezvoltare kernel, cum ar fi includerea unor componente Binder, ashmem, pmem, logger, wakelocks și diferite out-of-memory (MOF). Anumite caracteristici au contribuit înapoi la nucleul Linux, mai ales o caracteristică de gestionare a puterii numită "wakelocks", au fost respinse de către dezvoltatorii de kernel mainline pentru că au simțit că Google nu a prezentat nici o intenție de menținere a propriul său cod. Google a anunțat în aprilie 2010 că s-ar angaja doi angajați pentru a lucra cu comunitatea Linux kernel, dar Greg Kroah-Hartman a declarat în decembrie 2010, că el a fost preocupat de faptul că Google nu a mai încercat să obțină modificările lor de cod incluse în masă Linux. Unii dezvoltatori Google Android au dat de înțeles că "echipa Android a fost hrănite destul cu procesul", deoarece ei au fost o echipă mică și a avut mai mult lucru urgent cu sistemul Android. În august 2011, Linus Torvalds a declarat că "în cele din urmă Android și Linux ar veni înapoi la un nucleu comun, dar nu in următorii patru-cinci ani." În decembrie 2011, Greg Kroah-Hartman a anunțat începerea Android Mainlining Proiectul, care are ca scop de a pune unele drivere Android, patch-uri și caracteristici înapoi în nucleul Linux, care începe în Linux 3.3. Linux a inclus autosleep și capacitățile wakelocks din nucleu 3.5, după multe încercări anterioare de fuziuni. Interfețele sunt identice, dar punerea în aplicare Linux din amonte permite două moduri de suspendare diferite: a memoriei (tradițional suspendate utilizind Android), și pe disc (modul hibernare, așa cum este cunoscut pe desktop) Google menține un repozitoriu public de cod care conține activitatea experimentală pentru a re-bază Androidul de pe cele mai recente versiuni stabile Linux.Stocarea flash pe dispozitivele Android este împărțită în mai multe partiții, cum ar fi: spațiu pentru sistemul de operare în sine; spațiu pentru datele de utilizator și a aplicațiilor instalate. Spre deosebire de desktop distribuții Linux, proprietarii de dispozitive Android nu beneficiază de acces root la sistemul de operare și de partiții sensibile, cum ar fi / sistem sunt numai în citire. Cu toate acestea, accesul root poate fi obținută prin exploatarea defecte de securitate în Android, care este utilizat în mod frecvent de comunitatea open-source pentru a spori capacitățile dispozitivelor lor, dar și de părți rău intenționate pentru a instala viruși și malware. Android este o distribuție Linux, în conformitate cu Linux Foundation, Google șef open-source Chris DiBona și mai mulți jurnaliști. Inginerul Google Patrick Brady, spune că Android nu este Linux în sensul de distribuție a Unix-ului Linux tradiționale; Android nu include C Biblioteca GNU (se folosește bionic ca o biblioteca alternativa C), și celelalte componente de obicei găsite în distribuții Linux.

1.7.2 Securitate și confidențialitate

Aplicațiile Android rulează într-un mediu de testare, o zonă izolată a sistemului, care nu are acces la restul resurselor sistemului, cu excepția cazului în permisiunile de acces sunt acordate în mod explicit de către utilizator, atunci când este instalată aplicația. Înainte de a instala o aplicație, Magazinul Google Play afișează toate permisiunile necesare: unui joc ii poate fi necesar activarea vibrațiilor sau să salveze datele pe un card SD, de exemplu, dar nu ar trebui să citească mesajele SMS sau să acceseze agenda telefonică. După trecerea în revistă aceste permisiuni pot fi acceptate sau refuzate, aplicația se va instala doar în urma acceptării. Sistemul sandbox și permisiunile diminuează impactul vulnerabilităților și bug-uri în aplicații, dar dezvoltator de confuzie și o documentare limitată a avut ca rezultat cererile care solicită în mod obișnuit permisiunile care nu sunt necesare, reducând eficiența. Google a împins acum o actualizare pentru verificari, care va rula în fundal pentru a detecta procese rău intenționate.În Android 6.0, sistemul de permisiuni a fost modificat pentru a permite utilizatorului să controleze permisiunile unei aplicații în mod individual, pentru a bloca aplicațiile, dacă se dorește să aibă acces la contactele dispozitivului, calendar, telefon, senzori, SMS-uri, locație, microfonul și camera. Controlul complet all permisiunelor este posibilă numai cu acces root la dispozitiv. Cercetare de la compania de securitate Trend Micro listează abuz de serviciu premium ca cel mai frecvent tip de malware Android, în cazul în care mesajele text sunt trimise de la telefoanele infectate la numerele de telefon cu tarif fără consimțământul sau chiar cunoștința utilizatorului. Alte display-uri malware nedorite și reclame intruzive de pe dispozitiv, sau trimite informații personale către terțe părți neautorizate,amenințări de securitate pe Android se pare că sunt în creștere exponențial.; Cu toate acestea, inginerii Google au afirmat că amenințarea malware și virus pe Android este exagerat de companiile de securitate din motive comerciale ,și au acuzat industria de securitate de a juca pe temerile de a vinde software-ul de protecție antivirus utilizatorilor. Google susține că malware periculos este de fapt extrem de rare, și un studiu realizat de F-Secure a arătat că doar 0,5% din malware Android raportat a venit de la Play magazinul Google. Google utilizează Google bouncer scanerului malware scanarea aplicațiilor disponibile în Google Play Store. Versiune Android 4.2 Jelly Bean a fost lansat în 2012, cu caracteristici de securitate îmbunătățite, inclusiv un scaner malware-ului încorporat în sistem, care funcționează în combinație cu Google Play, dar poate scana aplicațiile instalate din surse terțe, precum și un sistem de alertă care notifică utilizatorul atunci când un aplicația încearcă să trimită un mesaj de tip text premium, blocarea mesajului arată excepția in cazul în care utilizatorul îl autorizează în mod explicit. Mai multe firme de securitate, cum ar fi Lookout Mobile Security, AVG Technologiesși McAfee, au a lansat software-ul antivirus pentru dispozitive Android. Acest software este ineficient din cauza aplicării sandbox pentru astfel de aplicații, limitând capacitatea acestora de a scana sistemul mai profund pentru amenințări. Fragmentarea Android este o problemă pentru securitate, din moment ce patch-uri pentru bug-uri gasite in sistemul de operare de bază de multe ori nu ajung la utilizatorii de dispozitive mai vechi și mai mici preț. Un set de cercetători spun că eșecul furnizorilor in procesul sprijini dispositive mai în vârstă cu patch-uri și actualizări de nastere a mai mult de optzeci și șapte la sută de dispozitive active vulnerabile. Cu toate acestea, natura open-source Android permite contractori de securitate să ia dispozitivelor existente și să le adapteze pentru utilizări foarte sigure. De exemplu, Samsung a lucrat cu General Dynamics, prin achiziționarea acestora Deschideți Kernel Labs pentru a reconstrui Jelly Bean pe partea de sus a microvisor împietrite pentru proiectul "Knox". Smartphone-urile Android au capacitatea de a raporta amplasarea punctelor de acces Wi-Fi, întâlnite ca utilizatorii de telefoane muta în jurul valorii, pentru a construi baze de date conținând locațiile fizice ale sutelor de milioane de astfel de puncte de acces. Aceste baze de date formează hărți electronice pentru a localiza smartphone-uri, permițându-le să ruleze aplicații cum ar fi Foursquare, Google Latitude, Facebook Places, precum și pentru a difuza anunțuri bazate pe locație. În august 2013, Google a lansat Android Device manager (ADM), o componentă care permite utilizatorilor să urmărească de la distanță, localizeze și șterge dispozitivul lor Android printr-o interfață web. În decembrie 2013, Google a lansat ADM ca o aplicație Android pe Play magazinul Google, în cazul în care acesta este disponibil pentru dispozitivele care rulează Android versiunea 2.2 și mai mare.

1.8 Google Play

Google Play (în trecut Android Market) este un serviciu Google care constă într-un magazin online de melodii, filme, cărți și aplicații pentru sistemul de operare Android. Acesta este disponibil pe internet, prin aplicația Android sau prin TV.

Google Play a fost lansat pe 6 martie 2012, după ce Google a hotărât să cumpere acțiunile sistemului de operare Android și să contopească Android Market cu Google Music. Aplicațiile și materialele media sunt disponibile și în Moldova.

La fel ca și în fostul Android Market, aplicațiile și jocurile pot fi descărcate sau cumpărate prin internet, sau direct prin intermediul telefoanelor mobile. În martie 2012, site-ul avea disponibil către public aproximativ 450.000 de aplicații. Numărul filmelor disponibile este de ordinul miilor[10].

ELABORAREA MODELULUI EXPERIMENTAL

2.1 Proiectarea Aplicației

Realizarea oricărei aplicații cu siguranță trebuie să înceapă, de la proiectare, de la crearea unei schițe de proiect, ca mai apoi dezvoltarea acesteia să decurgă mai ușor și bine organizat. Având un proiect al aplicației care urmează să fie realizată este mai ușor de evaluat la care pas suntem la moment, mai ușuor observăm relațiile dintre componentele acestei aplicații. Mai mult ca atât la momentul apariției unei idei care urmează să fie realizată nu ne putem da seama de toate detaliile și problemele care pot interveni pe parcursul realizării acestei aplicați. Din acest motiv am decis că primul pas spre realizarea aplicației este elaborarea unor schițe.

Pentru realizarea acestor schițe am folosit Enterprise Architect, care are o gamă largă de instrumente care permite elaborare unor asemenea schițe.

Figura 2.1.1(Interacțiunea utilizator-aplicație)

În Figura 2.1.1 este ilustrată prima schiță și cea care reflectă interacțiunea utilizatorului cu aplicația la un mod generalizat. În Figura putem observa ca utilizatorul are acces la funcțiile de baza cum ar fi: Organizator, Calculator, adăugare credit, setari, editarea și ștergerea unui credit.Componentele de adăugare,editare sau ștergere a unui credit se referă la funționalitatea Fragmentul Organizator, aceste componente ne demonstrează care vor fi acțiunile de bază ale acestui fragment. Fragmentul Calculator va fi desfășurat în altă schiță deoarece utilizatorul interacționează doar cu claculatorul, iar asupra activității lui sau asupra calculelor, utilizatorul nu are nici o influență. În Figura 2.1.2 este demonstrată schița de lucru a Calculatorului de Credit, care va avea 3 câmpuri de introducerea datelor spre calculare, un buton care va apela funcția de calculare și afișare a rezultatelor, și sigur un textbox care va afișa rezultatele primite în urma calculării conform datelor introduse de către utilizatorul final al aplicației. Câmpurile Calculatorului obligatorii spre completare vor fi: Suma creditului dorit, Perioada de timp pe care a fost luat împrumutul exprimată în luni și dobânda anulă a creditului dorit.

Figura 2.1.2(Schița de proiect a Calculatorului de Credit)

Următoarea schiță care m-a ajutat foarte mult la crearea Fragmentului de Organizarea creditelor, și anume prin faptul că elaborând diagrama de segvență(Figura 2.1.3) am înțeles de la bun început cum va avea loc interacțiunea intre utilizator și fragmentul de organizare.

Figura 2.1.3(Diagrama de segvență a Oraganizatorului)

În diagrama elaborată este ilustrat cum are loc interacțiunea între utilizator și aplicație, asfel primul pas fiind rularea aplicației, după rularea aplicației fiind afișat planul(layout) de bază. Tastând butonul de adaugare a creditului se va deschide un dialog de adăugare a unui credit nou, unde putem introduce toate datele despre creditul care dorim să-l adăugam și stocam în baza de date. După tastarea butonului OK datele vor fi stocate în baza de date, iar aplicația ne va afișa creditul nou adăugat în lista creditelor existente.

Figura 2.1.4(Diagrama de segvență a Calculatorului)

În figura 2.1.4 este ilustrat modul de funcționare și interacționare a calculatorului cu utilizatorul. Din diagramă observăm că este necesar ca utilizatorul să introduca datele necesare pentru calcularea rezultatului după care calculatorul va efectua toate calculele și apoi le va afișa.

Cu siguranță proiectarea aplicației aduce rezultate formidabile care pot fi observate în timpul dezvoltării aplicației. Elaborând aceste diagrame m-am aprofundat suficient in domeniu pentru a reuși să realizez proiectul propus ca obiect al tezei de licență. Aprofundarea în domeniu s-a devedit a fi foarte necesară în timpul elaborării acestui proiect. Deoarece a fost foarte important prezența conuștintelor în domeniul acordării de împrumuturi. A fost foarte important planificarea interacțiuni aplicației cu utilizatorul, pentru ca mai apoi sa fie mai ușor realizarea acestei intereancțiuni în mediul de dezvoltare a aplicațiilor android.

Pregătirea mediului de lucru

Instalare JDK(Java developer’s kit).

Presupunem că avem la îndemână un PC cu sistemul de operare Windows 10 x64, atunci primul pas în pregătirea mediului de lucru este instalarea JDK. Este primul pas din simplu considerent că la instalare Android Studio rulează o verificare a sistemului pentru a evalua compatibilitatea, și în cazul lipsei JDK instalarea este revocată automat.

Instalarea JDK se efectuiază foarte simplu, pentru asta este necesar doar să accesăm pagina oficială Java, unde selectăm cea mai recentă versiune JDK. Apoi selectam pachetul care satisface specificațiile sistemului de operare(x64 sau x86) după exemplul din Figura 2.2.1.

Figura 2.2.1(Descărcare JDK)

2.2.2 Instalare Android Studio

Următorul pas este instalarea mediului de dezvoltare propriu zis. Pentru asta accesăm pagina oficială Android developers(exemplu Figura 2.2.2), unde avem posibilitatea de a descarca ultima versiune oficială a mediului de dozvoltare, pagina web detectează automat cât versiunea Windowsului instalat cât și specificațiile acestuia(x86 sau x64). Pentru a primi accesul să efectuăm descarcarea este necesar să acceptăm termenii și condițiile de utilizare, dacă este prima instalare a mediului de dezvoltare este recomandat să fie citite aceste condiții inainte să fie acceptate. După acceptarea condițiilor putem descarca Android Studio, instala și utiliza gratis versiunea individuală a mediului de dezvoltare.

Figura 2.2.2(Pagina Android Studio)

Descărcarea,Instalarea și setarea emulatorului Genymotion

În timpul dezvoltării unei aplicații android cu siguranță vom avea nevoie de mediu de testare, în acest scop poate fi folosit un dispozitiv care funcționeaza pe platforma android, poate fi folosit emulatorul care face parte din pachetul mediului de dezvoltare sau poate fi folosit Emulatorul Genymotion care oferă o productivitate mai înaltă și folosește resurse mai puține. Mai mult ca atât, la dorința noastră putem seta emulatorul în așa mod încât să dispunem de mai multe versiuni de android, pentru o testare mai minuțioasă a aplicației pe care o dezvoltăm. Posibilitatea de a alege versiunea de android pe care dorim pentru testarea aplicației este avantajul de bază față de dispozitivul mobil android. Emultorul Genymotion poate fi descarcat de pe pagina oficială a instrumentului dat, este o aplicație gratuită însă pentru descărcarea aplicației este nevoie de logare preventivă(Figura2.2.3).

Figura 2.2.3(Logarea pe pagina genymotion)

După logare, tastăm butonul Download din bara de meniu a sitelui(Figura 2.2.4).

Figura2.2.4(Butonul Download)

După tastarea acestui buton, vom merge la pagina de descărcare, unde avem la alegerea de a descărca versiunea genymotion cu Virtual Box incorporată fie versiunea fără Virtual Box, în cazul ca nu am instalat Virtual Box anterior selectăm versiunea cu Virtual Box incorporată(Figura 2.2.5).

Figura 2.2.5(Descărcare Genymotion)

Instalarea Emulatorului este foarte simplă și nu necesită o explicație. După instalare avem nevoie de a ne loga în aplicație pentru a o putea folosi, apoi adăugăm un dispozitiv virtual pentru a testa aplicațiile care le dezvoltăm. Pentru a adăuga un dispozitiv virtual tastăm butonul add(Figura 2.2.6).

Figura 2.2.6(Adăugăm un dispozitiv virtual).

După tastarea butonul de adăugare aplicația ne va afișa o lista de dispozitive virtuale disponibile in versiunea gratuita a emulatorului. Ne ramâne să selectam dispozitivul virtual dorit și să așteptăm descărcare și conFigurarea acestuia(Figura2.2.7).

Figura 2.2.7(Selectăm dispozitivul dorit).

La finisarea instalării dispozitivului, el va apărea in lista de dispozitive instalate, pentru a porni dispozitivul instalat selectăm dispozitivul din listă și tastam butonul start(Figura 2.2.8).

Figura 2.2.8(Pornirea unui dispozitiv virtual).

Pornirea dispozitivului virtual are loc într-o fereastră aparte, dispozitivul virtual creat se aseamănă practic identic cu un dispozitiv android real. În dispozitivul virtual avem acces la setarile lui, orientare(verticală sau orizontală), cameră, microfon, etc. Cum arată un dispozitiv virtual creat cu ajutorul Genymotion poate fi observat in Figura 2.2.9.

Figura 2.2.9(Nexux 5 Genymotion)

În Figura 2.1.8 mai observăm că singura diferență față de un dispozitiv real este prezența unor intrumente pe bara de instrumente care este aliniată pe partea dreapta a emulatorului. Dacă dorim testarea proiectului dezvoltat în Android Studio este suficient să tastăm butonul de rulare a programului și ca emulatorul să ruleze, alte setări de conectare nu sunt necesare, Android Studio detectează automat emulatorul.

2.3 Crearea și dezvoltarea proiectului Credit Administrator

Primul pas în dezvoltarea aplicației android este crearea proiectului în Android Studio.

Figura 2.3.1(Pagina de start Android Studio)

În pagina de start a mediului de dezvoltare (Figura 2.3.1) selectăm ”Start a new Android Studio project”, adică crearea unui nou proiect în Android Studio. Selectând această obțiune, mediul de dezvoltare va deschide fereastra care este demonstrată în urmatoarea Figura.

Figura 2.3.2 (Crearea unui proiect nou).

Dupa selectarea unui nume pentru aplicația ce urmează a fi elaborată trecem la urmatoarea fereastra, care ne propune să selectăm versiunea minimă de android compatibilă cu aplicația dezvoltată.

Figura 2.3.3(Selectam versiunea minimă android).

Versiunea minimă selectată pentru aplicația ce urmează să fie dezvoltată este Android 4.0 IceCreamSandwich, ce ne va asigura o compatibilitate de 97,4% din toate dispozitivile android existente. Însă vor fi observate mici diferențe de design la rularea aplicației pe o versiune de android mai inaltă, cum ar fi Android 5.10. Aceste diferențe vor apărea deoarece aplicația va folosit unele elemente de baza ale sistemului Android, cum ar fi: calendarul, animații, navigarea orizontală și verticală pe paginile care au o mărime mai mare de cât ecranul dispozitivului poate reda fără a face Scroll(navigare) la pagină.

Urmatorul pas este selectarea activității de baza, care va fi generată de către mediul de dezvoltare. Pentru a ușura dezvoltarea aplicațiilor de către dezvoltatori Android Studio aduce la dispoziția dezvoltatorilor mai multe șabloane de baza care au conținut divers. Începând de la pagină goală unde dezvoltatorul crează tot singur, pină la șabloane care au incluse deja diferite elemente: buton pentru setări, buton pentru meniu și diferite elemente de design. Mai mult ca atât pe această pagină putem selecta dacă aplicația noastră va fi pe tot ecranul dispozitivului sau nu.

Reieșind din tipul aplicației și conținutul pe care il va avea selectăm șablonul de care avem nevoie, și cel mai important cu care ne va fi cel mai comod să lucram mai apoi.

Figura 2.3.4(Selectarea activității de baza).

Am selectat șablonul ”Basic Activity” deoarece ea conține elemente care vor fi utile în dezvoltarea anterioară a aplicației.

Următorul pas este crearea elementelor de interfață utilizatorului, care poate fi facută cu ajutorul instrumentelor de baza propuse de Android Studio însă pentru o aranjare mai reușită vom uttiliza limbajul de marcare XML, cu ajutorul caruia vom aranja minuțios toate elementele de baza, astfel ca în final să obținem o interfață plăcută și care va arata identic pe toate dimensiunile de ecrane , care vor fi compatibile cu aplicația creată.

Figura 2.3.5 (Fișierul XML al activității de baza).

În Figura de mai sus este demonstrat spațiul de lucru în mediul de dezvoltare , care este compus din 3 câmpuri de baza:

1.Elemntele și componentele proiectului(pe stânga), este foarte important deoarece în timpul dezvoltării avem nevoie foarte des să ne schimbăm de la un fișier la altul.

2.Spațiul de lucru cu codul, în cazul de față cu codul XML.

3.Iar pe dreapta avem un ”Preview” cu ajutorul căruia vedem instantaneu toate schimbările facute in codul XML.

Următorul pas și cel mai dificil este crearea și scrierea claselor Java care vor asigura funcționarea aplicației android. Componentele interfeței sunt legate de codul Java prin intermediul ID-ului corespunzător fiecarui element.

2.4 Prezentarea și descrierea Aplicației Credit Administrator.

În continuare va fi prezentată aplicația android ”Credit Administrator”, care a fost elaborată ca model experimental al tezei de licență. Aplicația finală este compatibila cu aproximativ 97 % din toate dispozitivele android.

La deschiderea aplicației vedem planul(layout) de bază care conține doua fragmente: Organizator și Calculator.Comutare între aceste două fragmente poate fi făcută prin tastarea pe numele fragmentului sau prin glisarea pe ecranul dispozitivului de la dreapta spre stânga dacă dorim să ne comutăm de la Organizator la Calculator și respectiv glisăm de la stânga spre dreapta daca dorim să comutam de la Calculator la Oraganizator.

Fragmentul Organizator(Figura 2.4.1) are sarcina de a afișa toate creditele care au fost introduse la moment de către utilizator sau a celor care au fost introduse anterior și citite din baza de date a aplicației. Pe această pagină putem vedea doar numele bancii care a acordat împrumutul, data de facturare și ora notificării.

Figura 2.4.1(Planul de baza).

În colțul drept jos putem la fel observa un buton care are forma unui cerc(Floating Action Button) in continuare buton adaugare. La tastarea asupra butonului de adăugare va fi chemat un dialog(Figura 2.4.2) care ne permite adăugarea unui nou credit în lista organizatorului. După adaugarea unui credit nou, aplicația automat va seta o notificare pentru cea mai apropiată dată de facturare, la ora indicată în timpul adaugării unui nou credit.

Dialogul de adăugare a unui nou credit conține 6 câmpuri în care putem adăuga toată informația cu privire la creditul primit. Aceste câmpuri sunt:

Numele Băncii. – acest câmp va fi folosit ca un nume pentru fiecare credit.

Data de facturare. – în fiecare luna la această data aplicația va aduce o notificare

Ora notificării. – ora când aplicația va aduce notificarea.

Perioada creditului. – în acest interval de timp aplicatia va aduce notificare în fiecare luna la data și ora indicată.

Suma creditului.

Alte informații. – acest câmp este destinat pentru înregistrarea altor informații cum ar fi: numele expertului in credidare, date de contact, valuta în care este luat împrumutul, etc.

Figura 2.4.2(Dialog de adăugare)

La fel in dialogul de adăugare avem și două butoane, butonul OK fiind activ doar dacă sunt completate toate câmpurile. Blocarea, butonului OK în cazul că câmpurile sunt goale, a fost realizată pentru evitarea apariției unor errori la încercarea scrieri în baza de date, cât și pentru a evita errorile la aducerea notificărilor în cazul ca nu au fost introduse data și ora notificării. Blocarea butonului OK a fost realizată cu ajutorul unei clase Java, a cărui cod sursă este prezentat mai jos.

private GenericTextWatcher(TextInputLayout txt, Button btn) {
this.txt = txt;
this.btn = btn;}
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}

public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {txt.setError(null);
if (etBankName.getText().toString().matches("") || etBankName.getText().toString().matches(" ")) { tilBankName.setError(getResources().getString(R.string.bankname_error));
btn.setEnabled(false);
} else if (etCreditDate.getText().toString().matches("") || etCreditDate.getText().toString().matches(" ")) { tilCreditDate.setError(getResources().getString(R.string.date_error));
btn.setEnabled(false);
} else if (etNotificationTime.getText().toString().matches("") || etNotificationTime.getText().toString().matches(" ")) { tilNotificationTime.setError(getResources().getString(R.string.notification_time_error)); btn.setEnabled(false);
} else if (etCreditInterval.getText().toString().matches("") || etCreditSize.getText().toString().matches(" ")) {
tilCreditInterval.setError(getResources().getString(R.string.credit_interval_error));
btn.setEnabled(false);
} else if (etCreditSize.getText().toString().matches("") || etCreditSize.getText().toString().matches(" ")) {
tilCreditSize.setError(getResources().getString(R.string.credit_size_error));
btn.setEnabled(false);
} else if (etCreditOtherInfo.getText().toString().matches("") || etCreditOtherInfo.getText().toString().matches(" ")) {
tilCreditOtherInfo.setError(getResources().getString(R.string.other_info_error));
btn.setEnabled(false);
} else {
btn.setEnabled(true);
}}public void afterTextChanged(Editable editable) {}}

Această clasă Java verifică în timp real dacă nu există nici un câmp din cele 6 a cărui valoare este nulă, adica nu este înscris nimic în acel câmp, doar după completarea tuturor câmpurilor Clasa TextWacher va seta Butonul OK activ.

Butonul Revocare ascunde dialogul de adăugare. După tastarea butonului OK toate datele introduse sunt stocate in baza de date a aplicației, unde sunt pastrate pîna la ștergere de către utilizator.

Un alt fragment care poate fi accesat de pe planul(layout) de baza este dialogul de editare a datelor introduse sau stergerea creditului.

Accesarea acestui fragment are loc prin tastarea asupra creditului necesar din listă. În dialogul de editare(Figura 2.4.3) aparut avem 3 butoane: Revocare, Sterge și Editare. La tastarea butonului Revocare dialogul va disparea, la tastarea butonului Șterge Creditul va fi eliminat din baza de date fără posibilitate de a fi restabilit.

Butonul de Editare nu este activ daca nici într-un câmp nu a fost schimbată nici o înregistrare sau dacă este cel puțin un câmp gol. Blocarea butonului Editare în cazul că nu a fost editat nici un câmp a fost efectuată pentru evitarea reânoirei inutile a bazei de date a aplicației. Blocarea butonului Editare a fost efectuată prin metodă analogică cu cea care răspunde de blocarea butonului OK. După editarea câmpurilor butonul Editare devine activ, și la tastarea lui inregistrările în baza de date referitoare la creditul respectiv vor fi reînnoite.

Figura 2.4.3(Dialog editare sau ștergere)

Un component foarte important al aplicației dezvoltate este baza de date.Crearea bazei de date are loc cu ajutorul claselor de baza din Android Studio SQLiteDatabase și SQLOpenHelper.

Stocarea în baza de date a datelor introduse de către utilizator are loc cu ajutorul unei funcții creată de sine stătător care face parte din clasa DBHelper, la fel creată de sine stătător. Codul sursă al aceste funcții este:

public void InserCreditInfo(String name,String date,String time,
String creditTime,String suma,String otherInfo,String timeStamp){
ContentValues newValues = new ContentValues();
newValues.put(BANK_NAME_COLUMN, name);
newValues.put(CREDIT_DATE_COLUMN, date);
newValues.put(NOTIFICATION_TIME_COLUMN, time);
newValues.put(CREDIT_INTERVAL_COLUMN, creditTime);
newValues.put(CREDIT_SIZE_COLUMN, suma);
newValues.put(OTHER_INFO_COLUMN, otherInfo);
newValues.put(COUNT_INTERVAL,timeStamp);
getWritableDatabase().insert(CREDIT_TABLE, null, newValues);}

În descrierea de mai sus am specificat că aplicația Credit Administrator permite utilizatorului atât adăugarea informației in baza de date cât și editarea acesteia, pentru aceasta folosim o altă funcție din componența clasei DBHelper care este numita updateRow, codul sursă al acestei funcții este:

public void updateRow(String id,String name,String date,String time,

String creditTime,String suma,String otherInfo,String timeStamp){
ContentValues newValues = new ContentValues();
newValues.put(BANK_NAME_COLUMN, name);
newValues.put(CREDIT_DATE_COLUMN, date);
newValues.put(NOTIFICATION_TIME_COLUMN, time);
newValues.put(CREDIT_INTERVAL_COLUMN, creditTime);
newValues.put(CREDIT_SIZE_COLUMN, suma);
newValues.put(OTHER_INFO_COLUMN, otherInfo);
newValues.put(COUNT_INTERVAL,timeStamp);
getWritableDatabase().update(CREDIT_TABLE, newValues, "_id="+id, null);}

Necesitatea de a crea o funcție care ne permite să modificăm înregistrările stocate in baza de date apare nu doar din probabilitatea că utilizatorul poate să greșească la introducerea informațiilor referitoare creditului dar și în cazul că din careva motive s-a schimbat data de facturare sau din motivul că nu mai este comodă ora notificarii aleasă anterior.

Unul dintre punctele forte ale aplicației Credit Administrator, este posibilitatea aplicației de a aduce notificare(Figura 2.4.4) referitor dații de facturare a împrumutului activ. Aplicația aduce notificarea conform orei setate la adăugarea creditului, respectiv conform și dații introduse. Notificarile se vor repeta în fiecare lună la data de facturare și ora introdusă inițial.

Figura 2.4.4(Notificare)

Realizarea Notificărilor a fost cu siguranță obiectivul cel mai dificil de realizat. Compexitatea acestui obiectiv reiese din lipsa de practică de lucru anterioară cu această tehnologie. La fel a fost realizat un serviciu care ruleaza pe fondal, a cărui sarcina este să repornească notificările dupa repornirea dispozitivului android. Acest serviciu a fost realizat pentru evitarea erorilor cu privire la notificare care pot apărea dacă dispozitivul a fost deconectat, restartat sau, în cel mai banal caz, s-a descărcat. Astfel cu ajutorul acestui serviciu, chiar și după restartarea telefonului notificările vor funcționa fără erori și vor fi aduse la timpul și data introdusă de către utilizator.

Un alt fragment care poate fi accesat de pe planul de bază al aplicației prin glisarea de la dreapta spre stânga este Calculatorul. Reieșind din modul de lucru al acestui calculator mai corect ar fi să-l denumim Calculator de Credit(Figura 2.4.5). Sarcina de bază fiind să calculeze rapid, eficient și cu precizie rata lunară care trebuie achitată la data de facturare. Acest calcul are loc dupa completarea a 3 câmpuri: Suma creditului, perioada în luni a creditului și dobânda exprimată în procente. Calculul efectuat de aplicație are o precize de 10-2. Calculul este efectuat după formula de calcul a ratelor în anuități egale. Am ales anume această formulă deoarece este cea mai des întâlnită, celelate practic nu sunt întâlnite.

Figura 2.4.5(Calculator)

În Figura 2.4.5 observăm că sunt 3 câmpuri, fiecare câmp având propriul indiciu referitor datelor cu care trebuie să fie completate. Doar după completarea tuturor câmpurilor poate fi vazut rezultatul(Figura 2.4.6). Acest calcul este efectuat dupa formula 1.5.1.

Figura 2.4.6(Afișarea Rezultatului)

Pentru testarea funcționării calculatorului am introdus exact aceleași date care au fost și în tabelul 1.5.1. După rezultatul primit în calculator observăm ca calculatorul funcționează corect.

Codul sursă Java care se ocupă de calcularea rezultatului conform datelor introduse de către utilizator este:

public static double calculeazaPlataLunara(
int sumaCredit, int termenLuni double dobanda) {
dobanda = dobanda / 100.0;
double dobandaLunara = dobanda / 12;
double plataLunara;
return plataLunara =
(sumaCredit * dobandaLunara) / (1 – Math.pow(1 + dobandaLunara, -termenLuni));}

În codul sursă observăm ca de calculare se ocupă o funcție care este denumită calculeazaPlataLunară, care are 3 parametri de intrare: sumaCredit și termenLuni de tip intreg. Această funcție returnează o variabila double, care este și rezultatul calculului. Pentru afișarea rezultatului am folosit un textbox(element de afișarea textului).

În cazul tastării butonului de calculare și este cel putin un câmp din cele 3 este gol, câmpul respectiv va fi marcat cu culoare roșie si va aparea mesaj de eroare a câmpului respectiv (Figura 2.4.7). Afișarea rezultatului va avea loc doar în cazul tastării pe butonul calculează, când toate câmpurile vor fi completate.

Figura 2.4.7(Câmp ne completat)

2.5 Compararea sistemul informațional realizat cu sistemele existente.

Compararea sistemului informațional realizat cu alte sisteme existente este foarte importantă, asta fiind cea mai simplă cale de a înțelege dacă aplicația este optimizată și dacă va prezenta interes pentru utilizator. Cu alte cuvinte se poate de spus ca sitemele informaționale existente sunt concurenți direcți ai aplicației propuse ca obiect al tezei de licență. Doar prin analiza minuțioasă a sistemelor existente vom înțelege care sunt punctele forte, pe care trebuie să le implementăm. Apoi să găsim punctele slabe ale sistemelor concurente și să facem tot posibilul ca aplicația elaborată să nu conțină aceste puncte slabe.

Testând aceste sisteme în calitate de simplu utilizator am observat care componente lipsesc dar ar fi bine venită prezența acestora. Pe când la unele sisteme am observat o abundență de detalii, fap ce complică obținerea unor informații simple.

Din motiv că nu am depistat nici o aplicație mobilă care ar avea rolul de Calculator de credit, am selectat 3 calculatoare de credit disponibile pe paginile web fie a unor companii de finanțare, fie a unor banci.

Asfel primul sistem analizat este cel disponibil pe pagina web a companiei ”Credit CMB” S.R.L.(Figura 2.5.1)

Figura 2.5.1(Calculator credit CMB)

În Figura 2.5.1 este demonstrat Calculatorul de credit pagina web a companiei Credit CMB. Acest calculator având o interfață placuta și prietenoasă. Folosirea lui fiind foarte simplă din motiv că este realizat într-un stil minimalist, iar pentru calculare având nevoie doar de suma creditului și perioada acestui credit. Doar ca folosirea acestui nu este suficient de eficientă din motiv că nu putem introduce dobânda creditului. Acest calculator oferindune un rezultat însă utilizatorul nu este la curent care este dobânda dupâ care este efectuat acest calcul. Însă în realitate dobânda poate varia chiar și în cadrul la aceeași companii. Prin urmare putem spune că lipsa unui câmp unde am putea introduce dobânda care mai apoi va fi folosită la calculare este un punct slab. Mai mult ca atât pentru a folosi acest Calculator avem nevoie de conexiune la internet, și de un PC cu ajutorul caruia putem accesa această pagină.

Pe când Calculatorul implementat in aplicația realizată oferă toate posibilitățile calculatorului disponibil pe pagina CMB, mai mult ca atât aplicația realizată ne oferă posibilități adăugătoare cum ar fi: calculul plaților lunare se efectuiază in dependență de dobânda creditului introdusă de către utilizator și posibilitatea de a folosi aplicația fara conexiune la internet de pe dispozitivul android. Reieșind din cele de mai sus putem spune că aplicația Credit Administrator este superioară calculatorului de credit disponibil pe pagina web a companiei Credit CMB. Având prioritate la: eficiență, disponibilitate, funcționalitate.

Un alt sistem concurent al aplicației elaborate este calculatorul de credit disponibil pe pagina web a companiei de microfințare ”Microinvest” S.R.L.(Figura 2.5.2)

Figura 2.5.2(Calculator de credit Microinvest)

Calculatorul prezentat în Figura 2.5.2 are o componență mai Complexa, în acest calculator este inclusă posibilitatea de a selecta tipul creditului(consum,retail standart, bussines, etc.) și posibilitatea de a selecta valuta(MDL,USD,EUR). Aceste două componente cu siguranță ai influență asupra calculului, însă pentru un simplu utilizator este destul de dificil de înțeles care tip de credit i se potrivește. Lipsa câmpului de adăugare a dobânzii rămâne actuală. Acest credit la fel are o interfață plăcută și prietenoasă. Dar în crearea unui instrument cu adevărat util este necesar de pus accentul mai întâi pe eficiență, în cazul calculatorului Microinvest, eficiența lasa de dorit mai multe. La afișarea rezultatelor obținute în calculatorul Microinvest lipsește poziția care ne spune care este supraplata în cazul unui credit sau altul. Pentru a afla care este supraplata în cazul crfeditului de consum de la Microinvest am fost nevoit să calculez manual, ceea ce face folosirea acestui calculator neeficientă și incomodă. Din păcate am început să atrag atenția la asemenea detalii doar după aprofundarea in teoria necesară pentru elaborarea proiectului propus ca model experimental al tezei de licență. Comparativ cu calculatorul disponibil în aplicați Credit Administrator, calculatorul Microinvest deasemenea este inferior la disponibilitate, eficiență și funcționalitate.

Ultimul sistem concurent este Calculatorul de credit disponibil pe pagina web a S.A. Moldova AgroindBank. Calculatorul(figura 2.5.3) disponibil pe această pagină este cel mai complex dintre toți 3 concurenți.

Figura 2.5.3 (Calculator Moldova AgroindBank)

Calculatorul de credit demonstrat în figura 2.5.3 are o funcționalitate mai complexă, fiind disponibila atât obțiunea de selectare a tipului de credit, cât și obțiunea de introducerea dobânzi care se va lua în calculul final. Însă posibilitatea de a alege modalitatea de achitare(în anuități egale sau plăți lunare descrescătoare) face superioară funcționalitatea concurentului asupra aplicației elaborate. Calculatorul disponibil în aplicația Credit Administrator având prioritate prin disponibilitatea acestuia asigurată de posibilitatea de folosire a aplicație în lipsa internetului și prin prezența unei interfețe mai prietenoase și simplă în utilizare.

Prin analiza acestor sisteme existente am realizat care sunt punctele slabe ale aplicației realizate și care puncte este necesar să fie îmbunătățite.

Fragmentul Organizator a cărui sarcină este stocarea în baza de date a informaților despre creditul introdus de către utilizator poate fi comparat doar cu aplicație de tip ”Reminder”, adica cu aplicații care au funția de adăugarea unui eveniment, data acestui eveniment și ora, iar mai apoi sa aducă notificări referitor acestor evenimente. Însă aceste aplicații nu oferă posibilitatea de a introduce un asemenea volum de informații despre eveniment ca și aplicația Credit Administrator, mai mult ca atât aceste aplicații nu aduc notificări repetate în fiecare luna la o dată anumită, ce face folosirea acestor aplicații incomodă, pentru folosirea lor la organizarea și gestionarea creditelor active.

Compararea cu alte sistem existente poate fi făcută doar dacă divizăm aplicația elaborată în doua parți, partea care se ocupă de organizarea creditelor și Calculatorul de credite. În cazul când vorbim integral despre aplicația Credit Admistrator, compararea cu alte sisteme existente este imposibilă deoarece asemenea sistem nu există, ceea ce oferă aplicației titlul de Noutate Științifică.

Reieșind din compararea cu alte sisteme existente, putem afirma ca aplicația Credit Administrator este un instrument foarte util și eficient în organizarea creditelor cât și în efectuarea calculelor referitoare acestor credite. Cu siguranță putem afirma că proiectul propus este o noutate științifică și că sistem asemanător, care ar propune un asemenea funcțional nu există.

CONCLUZII

La etapa actuală în lume are loc o dezvoltare rapidă a sistemelor informaționale, a căror sarcină și scop este ridicarea eficacității funcționării procesului de control. Însă un sistem informațional funcționează corect doar daca toate componentele lui sunt bine definite, iar asta fiind posibil doar daca persoanele, care se ocupă cu dezvoltarea unui sistem anume, au cunoștințe profunde in sfera respectivă. Un sistem informațional reușit este sistemul creat reieșind din necesitățile utilizatorilor. Un exemplu bun ar fi o aplicație de gestiune a creditelor active pe o platformă mobila, cum ar fi Android OS. Trăind într-o societate unde creditul este o practică obișnuită, o aplicație de genul mai sus menționat ar fi o utilitate pentru a ușura efectuarea calculelor referitoare creditului, ce ne-ar ajuta să comparăm care ofertă este mai convenabilă. Un alt avantaj al acestei aplicații ar fi posibilitatea de a primi notificări despre data rambursării.

Reieșind din această necesitate am decis să proiectez o aplicație capabilă să îndeplinească sarcinile propuse fiind bine optimizată, care ar rula pe toate versiunile Android.

Însă este greu de imaginat elaborarea unei aplicați fără întocmirea unei sau unor schițe a proiectului propus. Mai mult ca atât elaborare acestor diagrame mi-a permis mai ușor să gestionez componentele aplicației elaborate, mi-a permis cu ușurință să evaluez progresul în orice moment de timp. Conducându-mă după schițele elaborate din start știam exact ce am făcut, ce fac și ce trebuie de făcut ca aplicația propusă să funcționeze corect și să îndeplinească sarcinile propuse.

Alegerea corectă a instrumentelor de lucru la fel este un pas foarte important, deoarece de această alegere depinde productivitatea în orice moment de timp, comoditatea de a lucra asupra temei propuse care nu este mai puțin importantă ca productivitatea. Pentru realizarea schițelor de proiect am folosit Enterprise Architect, un instrument foarte util și comod. Pentru realizarea aplicației propriu zis am folosit mediul de dezvoltare Android Studio, care are o mulțime de avantaje față de alte medii de dezvoltare a aplicațiilor Android. Mediul de Dezvoltare folosit in realizarae acestei aplicații este foarte comod iar prin indiciile care le aduce la fiecare bloc de program sporește productivitatea. Posibilitatea de a testa aplicația realizată la fel este foarte importantă, atât pentru a testa dacă nu sunt careva erori cât și pentru a testa optimizarea și corectitudinea funcționării aplicației. Din motivul că mediul de dezvoltare și emulatorul trebuie să ruleze concomitent am selectat emulatorul Genymotion care întrebuințând resurse minime pentru funcționare aduce rezultate maxime.

Cu ajutorul intrumentelor menționate mai sus și aprofundarea în teoria necesară am reușit într-un final să elaborez aplicația android ”Credit Administrator” ca model experimental al tezei de licență. Aplicația elaborată este compatibilă cu toate versiunile android începând cu versiunea 4.0. Credit Administrator oferă utilizatorului final posibilitatea de adăugare a unui credit, cu toate informațiile necesare, care mai apoi va fi stocat în baza de date a aplicației. Pentru crearea bazei de date am folosit tehnologia SQLite. Conform datelor introduse de utilizator aplicația va aduce notificări pe perioada împrumutului. O altă parte forte a aplicației elaborate este Calculatorul de Credit implementat în aplicație care rulează fără conexiune la internet. Calculatorul de credit este un instrument foarte util atât pentru comparare ofertelor de acordare a unui credit cât și pentru experții in creditare care au nevoie să ofere careva informații referitor la ofertele existente însă nu se afla în oficiu sau nu dispun de un Calculator Desktop pentru a efectu calculele necesare rapid și cu precizie înaltă.

Ca model experimenta al studiului în domeniu efectuat am elaborat o aplicație complexa care într-un mod sau altul permite administrarea creditelor active, și care va fi un instrument foarte comod și eficient în compararea ofertelor de credite existente pe piață.

BIBLIOGRAFIE

Secarea Tudorel, ”Istoria împrumuturilor și tipurile de credite. Secarea Tudorel”
http://graduo.ro/referate/contabilitate/istoria-imprumuturilor-si-tipurile-de-credite-357241, accesat la 15,04,2016.

Manuilescu Ilie, ”Managementul Riscului privind Activitatea Băncii de Economii” http://biblioteca.regielive.ro/proiecte/economie/managementul-riscului-privind-activitatea-bancii-de-economii-180282.html, accesat la 15,04,2016.

Dobânda anuală efectivă, http://www.conso.ro/ghid/dobanda-anuala-efectiva, accesat la 16,04,2016.

Scadența, http://www.online-credite.ro/scadenta.html, accesat la 16,04,2016.

Metode de rambursare a creditelor,

http://documents.tips/documents/ic-5-rambursarecredite.html, accesat la 16.04.2016

Open Handset Alliance (5 noiembrie 2007). „Industry Leaders Announce Open Platform for Mobile Devices”. Press release. http://www.openhandsetalliance.com/press_110507.html. Accesat la 5 noiembrie 2007.

Android(System de operare),

https://ro.wikipedia.org/wiki/Android_(sistem_de_operare), accesat la 16.04.2016.

A.B. Downey, Java Course, http://www.vias.org/javacourse/, accesat la 17.04.2016.

Articol Google, Android Studio,

http://playtech.ro/2014/google-te-transforma-dezvoltator-de-aplicatii-prin-android-studio/, accesat la 18.04.2016.

Google Play, https://ro.wikipedia.org/wiki/Google_Play, accesat la 19.04.2016

Similar Posts