Aplicatie Bancara de Gestiune a Finantelor Personale

CUPRINS

CUPRINS

INTRODUCERE

CAPITOLUL 1. DESCRIEREA PROBLEMEI ECONOMICE

1.1.ELEMENTE INTRODUCTIVE

1.1.1.Istoria băncilor

1.1.2.Funcțiile băncilor

1.2.APLICAȚII ELECTRONICE FINANCIAR-BANCARE

1.2.1.Internet banking

1.2.2.Mobile banking

CAPITOLUL 2. TEHNOLOGII INFORMATICE UTILIZATE

2.1.MYSQL

2.2. SQL

2.3. UML

2.4 C#.NET

2.5 MICROSOFT VISIO

CAPITOLUL 3. ANALIZA ȘI PROIECTAREA APLICAȚIEI INFORMATICE

3.1 DEFINIREA PROBLEMEI

3.2. ANALIZA CERINȚELOR SISTEMULUI INFORMATIC

3.2.1. Structurarea soluției

3.2.2. Modelarea proceselor de afaceri

3.3. ANALIZA APLICAȚIEI INFORMATICE

3.3.1. Modelarea structurii statice

3.3.2. Modelarea structurii dinamice

3.4. PROIECTAREA APLICAȚIEI

3.4.1.Finalizarea diagramei claselor

3.4.2. Proiectarea bazei de date

3.4.3. Proiectarea interfeței

CAPITOLUL 4. IMPLEMENTAREA APLICAȚIEI

4.1. IMPLEMENTAREA BAZEI DE DATE

4.2. IMPLEMENTAREA INTERFEȚEI

CONCLUZII

BIBLIOGRAFIE

Introducere

Ne găsim în pragul unei noi epoci în ceea ce înseamnă relația dintre dinamica și inovația tehnologiei și modelele de business tradiționale ale organizațiilor. Succesul acestor organizații depinde din ce în ce mai mult de maximizarea eficienței în utilizarea resurselor informaționale și tehnice, de realizarea unor sisteme informatice receptive, agile care să răspundă cât mai bine și într-un mod cât mai personalizat nevoilor consumatorilor. Unul din domeniile care depinde în mod fundamental de tehnologie este cel financiar-bancar, unde viteza și ușurința accesului la informație sunt două din provocările și în același timp oportunitățile de astăzi.

Am ales o temă de licență prin care îmi propun să ofer o perspectivă inovatoare asupra modului de abordare a tehnologiei în raport cu domeniul financiar-bancar. Pasiunea pentru tehnologie m-a determinat să aleg această facultate și să mă documentez în fiecare zi cu privire la ultimele noutăți din acest domeniu. Pasiunea pentru economie m-a influențat în decizia de a face voluntariat în Asociația Voluntari pentru Idei și Proiecte și a deveni apoi manager al comunității Econosofia, unde am descoperit pasiunea pentru domeniul bancar. Am experimentat apoi timp de 5 luni ce înseamnă munca într-o bancă, în sediul central, într-una din cele mai dinamice divizii –Retail. Lucrul cu aplicații bancare și în același timp postura de consumator m-a determinat să încep să cercetez piața aplicațiilor oferite de bănci și să îmi propun să creez o aplicație care să fie centrată pe utilizator, să îi ofere un instrument integrat de acces la toate resursele financiare și care să aducă o abordare facilă, prietenoasă și în același timp educativă asupra finanțelor personale. Crearea aplicației la potențialul ei maxim necesită atât cunoștințe foarte vaste de limbaje de programare și de business intelligence, cât și în domeniul financiar-bancar. Prin lucrarea de față îmi propun să prezint o versiune de bază, demonstrativă a acestei aplicații, urmând ca ulterior să o îmbunătățesc.

Lucrarea este structurată în cinci capitole. După o prezentare, în primul capitol, a domeniului bancar și al principalelor elemente care se află la interacțiunea dintre bănci și tehnologie – Internet Banking și Mobile Banking, se trece la descrierea principalelor tehnologii utilizate în crearea aplicației, și anume limbajele SQL și PL/SQL, dezvoltarea în Oracle Application Express și modelarea în SQL Developer. Cel de-al treilea capitol abordează analiza sistemului informatic și dezvoltarea soluției. Următorul capitol prezintă implementarea, modul de funcționare, securitatea și testarea aplicației, iar ultimul capitol ilustrează posibile îmbunătățiri ale aplicației și direcții de urmat pentru ca acest software să își atingă potențialul maxim.

Capitolul 1. Descrierea problemei economice

1.1.Elemente introductive

1.1.1.Istoria băncilor

Primele mențiuni ale activităților de tip bancar datează din Antichitate, când templele erau percepute de către populație drept locuri sigure de păstrare a bunurilor, iar preoții ofereau servicii de administrare a bunurilor. O altă practică frecvent întâlnită era împrumutul cu dobândă. Codul lui Hammurabi este prima culegere de legi care cuprinde referiri la împrumutul cu dobândă și la reglementarea acestuia. Primele bănci, în sensul actual al cuvântului, au apărut în perioada Renașterii în orașele dezvoltate din nordul Italiei precum Florența, Veneția și Geneva. Acestea erau administrate de către dinastii politice, familii înstărite și mai târziu de către familii regale. Printre cele mai cunoscute și influente familii care au marcat dezvoltarea industriei bancare se numără familiile Bardi, Peruzzi și Medici din Florența. Banca Medici s-a bucurat de prosperitate și respect în toată Europa. Una din marile contribuții ale Băncii Medici a fost implementarea sistemului contabil în dublă reprezentare și dubă înregistrare. De altfel, etimologia cuvântului bancă îi indică rădăcina în limba italiană prin cuvântul banca care însemna masă și se referea la ghișeul celui care împrumută bani. Prima bancă a apărut în Monte dei Paschi, Siena și datează din anul 1472. Industria bancară s-a extins apoi către Spania, Imperiul Otoman, Olanda, Anglia și mai târziu în SUA.

Apariția conceptului de bani așa cum îi știm astăzi a impus reglementare și implicit crearea unei instituții care să își asume emisiunea de monedă și supravegherea circulației acestora în condiții bune. Prima bancă centrală a fost Banca Regală Suedeză (1668), urmată la scurt timp de Banca Angliei (1694). De-a lungul secolelor XVII și XVIII, industria bancară s-a extins și și-au consolidat poziția, statutul și politicile. Banca Națională a României, înființată pe data de 29 aprilie 1880, era o bancă de „scompt și circulațiune”, având dreptul exclusiv de a emite „bilete de bancă la purtător”.

Începutul secolului XX a fost marcat de Marea Criză care a început în 1929 și a atins apogeul în 1933, provocând falimentul a peste 744 de bănci doar în SUA. Piața a căzut, împrumuturile nu au mai fost rambursate, fapt ce a indus teamă deponenților care încercat să își retragă fondurile. Această criză de lichiditate a cauzat într-o primă fază falimentul multor bănci. Criza s-a intensificat apoi din cauza șomajului ridicat și a datoriilor uriașe generate de acest cerc vicios. O primă reacție la nivel macroeconomic a fost reglementarea intensă a pieței bancare. Unul din cele mai importante răspunsuri la criza din anii ’30 a fost pactul Glass-Seagull care separă complet activitatea băncilor comerciale (bănci cu risc scăzut) de băncile de investiții, cunoscute pentru un grad ridicat de risc, cu scopul de a evita viitoare eșecuri.

Cel mai recent eveniment din istoria băncilor tulbură și astăzi sistemul bancar global. După mulți ani de boom economic, anul 2008 a marcat începutul crizei financiare, cunoscută și sub numele de ”subprime mortgage crisis”, prin falimentul gigantului Lehman Brothers, cea de-a patra bancă de investiții din SUA în acel moment. Colapsul Lehman a stârnit temeri și instabilitate în lumea financiară, întrucât acțiunile sale au scăzut cu 90% într-o singură zi. Un prim efect a fost vânzarea a două din cele mai mari bănci de investiții (Bear Stearns, Merrill Lynch), restructurarea altor două (Morgan Stanley și Goldman Sachs) și preluarea de către statul american a altor două mari instituții financiare (Fannie Mae și Freddie Mac). Mai mult, statul a intervenit în salvarea mai multor giganți financiari precum AIG. Efectele evenimentelor din SUA s-au resimțit la scurt timp la nivel global, iar guvernele au început să intervină pe piețele financiare pentru a evita un colaps sistemic. Astfel au apărut discuții și controverse care îi frământă și astăzi pe marii economiști, cu privire la conceptele de „too big to fail” și hazard moral.

Criza financiară sau ”subprime mortgage crisis” din SUA a fost urmată de criza datoriilor suverane din Europa care a condus la numeroase măsuri de austeritate și implementarea unui set de reforme structurale. Astfel a apărut termenul de bailout (salvare) care a presupus în primă etapă o serie de împrumuturi acordate statelor de către structuri financiare precum UE, BCE și FMI.

Perspectivele băncilor se anunță destul de pesimiste pe fondul evenimentelor din ultimii ani. În plus, piața se confruntă cu o aversiune accelerată a clienților față de bănci. În plus, o mare parte dintre acestea încă au de recuperat decalajul care le separă de anul 2008.

1.1.2.Funcțiile băncilor

Într-o piață financiară foarte dinamică și imprevizibilă, ceea ce deosebește totuși în mod fundamental o bancă de alte instituții financiare este capacitatea de a oferi produse de creditare și economisire. Cele mai cunoscute produse de economisire, depozitele, reprezintă pentru bancă pasive, în timp ce împrumuturile, produse de creditare, sunt active. Activitatea ce definește în esență rolul băncii într-o societate este de a fi intermediar între cei care împrumută și cei care depozitează bani. O altă funcție a băncii este să ofere lichiditate clienților săi, întrucât există preferințe variate asupra lichidității, atât de partea clienților cu credite, cât și de partea celor cu depozite. Lichiditatea măsoară mai concret cât de ușor se pot transforma investițiile și economiile în bani lichizi. Spre exemplu, în cazul depozitelor, cu cât unui deponent îi este mai ușor să își retragă fondurile, cu atât lichiditatea este mai mare. În cazul creditelor, cu cât un client va plăti mai repede creditul (rambursare anticipată), cu atât costul creditului se va reduce. Însă lichiditatea presupune un cost pentru depozite și o oportunitate pentru credite. Pentru depozite, cu cât este mai facilă retragerea fondurilor, cu atât dobânda pe care clientul ar fi primit-o va fi mai mică.În același timp, pentru credite, cu cât clientul este dispus să ofere lichiditate, cu atât graficul de rambursare se va reduce, iar în final banca nu mai percepe dobândă sau comisioane la sumele rambursate în avans. Există și a treia direcție fundamentală, care permite băncilor să-și maximizeze profitul, și anume aceea de a efectua operații de plată. Banca pune la dispoziția clienților săi o serie de produse (conturi curente, instrumente de tranzacționare etc.), în schimbul cărora poate primi comisioane sau taxe: comision de administrare pentru contul curent, comisioane de tranzacționare etc.

1.2.Aplicații electronice financiar-bancare

În ultimii ani, sistemul bancar românesc a cunoscut o evoluție negativă determinată de o creștere accelerată a provizioanelor ca urmare a crizei economice, scăderea profiturilor, ostilitatea pieței precum și o aversiune tot mai mare a clienților față de întregul sistem bancar. În paralel cu declinul băncilor însă, România a cunoscut o dezvoltare exponențială a piaței IT&C, iar acest lucru impune o abordare cu totul și cu totul diferită din partea jucătorilor de pe celelalte piețe. Astfel, băncile au înțeles faptul că internetul joacă un rol fundamental în viața multor clienți și că smartphone-ul este cel mai la îndemână instrument pentru un segment semnificativ de utilizatori ai serviciilor bancare. În acest sens, majoritatea băncilor au restructurat canalele de comunicare în marketing și au creat aplicații mobile, platforme de consultanță online sau au început să pună la dispoziția clienților servicii bancare prin internet. Retehnologizarea industriei bancare a culminat în anul 2012 odată cu inaugurarea primei unități gestionate exclusiv prin intermediul echipamentelor: mașină multifuncțională, bancomat, automat de schimb valutar și servicii de internet banking.

1.2.1.Internet banking

Internet Banking (sau Online Banking) este un serviciu apărut în anii ’80 care permite clienților unei bănci să efectueze tranzacții financiare pe o platformă online securizată. De regulă, Internet Banking-ul permite vizualizarea balanțelor conturilor și a istoricului tranzacțiilor, efectuarea ordinelor de plată, achitarea facturilor sau transferul e-ul este cel mai la îndemână instrument pentru un segment semnificativ de utilizatori ai serviciilor bancare. În acest sens, majoritatea băncilor au restructurat canalele de comunicare în marketing și au creat aplicații mobile, platforme de consultanță online sau au început să pună la dispoziția clienților servicii bancare prin internet. Retehnologizarea industriei bancare a culminat în anul 2012 odată cu inaugurarea primei unități gestionate exclusiv prin intermediul echipamentelor: mașină multifuncțională, bancomat, automat de schimb valutar și servicii de internet banking.

1.2.1.Internet banking

Internet Banking (sau Online Banking) este un serviciu apărut în anii ’80 care permite clienților unei bănci să efectueze tranzacții financiare pe o platformă online securizată. De regulă, Internet Banking-ul permite vizualizarea balanțelor conturilor și a istoricului tranzacțiilor, efectuarea ordinelor de plată, achitarea facturilor sau transferul de fonduri.

Securitatea este premisa de la care pleacă online banking-ului, însă ea reprezintă în același timp cea mai mare provocare cu care se confruntă acest tip de serviciu. Securizarea site-ului și autentificarea prin parolă sunt cele două metode care sunt considerate deja ineficiente, întrucât sunt foarte răspândite și și-au dovedit deja slăbiciunile mai ales în cadrul altor aplicații. Cel mai răspândit procedeu la ora actuală (și în același timp considerat ca fiind cel mai sigur) este sistemul PIN/TAN. Acest sistem necesită autentificarea printr-o parolă statică (PIN) și una dinamică și unică (TAN – one-time password), urmată apoi de navigarea pe un website folosind conexiuni SSL. Componenta TAN se implementează în bănci sub două forme de obicei: pe de o parte printr-un dispozitiv fizic securizat de tip security token care generează parole dinamice, pe de altă parte prin transmiterea TAN a tranzacției curente prin SMS pe mobilul utilizatorului. Valabilitatea parolei este de foarte scurtă durată și de aceea această metodă este considerată foarte sigură.

În România utilizarea Internet Banking-ului a fost reglementată pentru prima dată 14 iunie 2004, prin Ordinul nr. 218/2004 privind procedura de avizare a instrumentelor de plată la distanță, de tipul Internet Banking, Home Banking sau Mobile Banking. Ordinul a fost abrogat în 2007, noi reglementări fiind impuse prin Ordinul nr 389/2007 . Un studiu realizat de PricewaterhouseCoopers (PwC) și prezentat la dezbaterea „Băncile în noua economie” arată că la momentul noiembrie 2012, numai „4% din români folosesc Internet Banking, comparativ cu 33% cât este media de utilizare în Uniunea Europeană”. Acest indicator trebuie raportat și la populația „bancarizată”, care atinge 50 de procente. Cu toate acestea, din populația bancarizată, 87% utilizează ATM-uri și 13% POS-uri, ceea ce arată un grad ridicat de scepticism al românilor în raport cu noile tehnologii din banking. În același timp însă, România prezintă o dinamică foarte bună din punct de vedere al penetrării internetului, iar băncile încearcă să îți adapteze modelele de business conform noilor tehnologii, ceea ce înseamnă că aplicațiile Internet Banking au un potențial mare într-o piață tânără aflată în continuă dezvoltare.

1.2.2.Mobile banking

Mobile Banking este un serviciu de tip e-commerce care permite instituțiilor financiare să ofere servicii financiare și bancare clienților care utilizează telefon mobil sau PDA. Cea mai timpurie formă de Mobile Banking a fost SMS Banking. Odată cu apariția serviciului WAP mobile web, Mobile Banking a fost transferat pe aceste platforme. Succesul iPhone de la Apple a revoluționat industria telecomunicațiilor, iar odată cu apariția primelor smartphone-uri s-au dezvoltat și sistemele de operare Android (Google), Symbian, iOS, Windows Mobile. Pornind de la acestea s-a conturat piața aplicațiilor mobile care astăzi este în plină expansiune. Băncile s-au adaptat repede și au început să lanseze aplicații de mobile banking compatibile cu toate sistemele de operare disponibile pe mobil. În plus, unele bănci au sincronizat aplicațiile de internet banking cu paginile web proprii și apoi cu cele de mobile banking. Cele mai frecvente facilități oferite de bănci clienților prin acest canal sunt: accesul la conturile personale, istoricul tranzacțiilor, plăți, transferuri, localizarea celor mai apropiate bancomate sau sucursale, procesarea tranzacțiilor comerciale, managementul portofoliului de instrumente finanicare. Această modalitate de gestionare a finanțelor are multiple avantaje, începând cu accesul rapid la date și terminând cu economia de timp, energie și bani. Pe de altă parte, provocările cu care se confruntă piața mobile în acest moment sunt: dependența față de dimensiunea telefonului (însă odată cu apariția tabletelor această limitare s-a diminuat), variația de sisteme de operare și de terminale, securitatea, personalizarea soluțiilor software în funcție de limbă, monedă, formatul datei, actualizarea aplicațiilor cu minim de efort.

În România acest segment este încă la început de drum. „În prezent nu există un studiu realist cu privire la câți utilizatori de mobile banking există”. Marius Ursache, fondatorul agenției de dezvoltare de proiecte și produse digitale Grapefruit, susține că „în 80% din cazuri, aplicațiile de mobile banking sunt folosite pentru verificarea balanței de conturi, a aflării cursului valutar și a altor informații contextuale cum ar fi găsirea unui bancomat sau a unei sucursale.” Tot el susține că tranzacțiile și operațiunile prin mobile banking sunt mai sigure decât percepția generală pentru că sistemul de securitate presupune autentificare de tip two-factor: în primul rând un cod sau o parolă cunoscută, în al doilea rând codul unui digipass sau token. Printre băncile care oferă aplicații pentru smartphone-uri se numără: Unicredit Țiriac Bank, ING Bank, Raiffeisen Bank, Banca Transilvania, BCR, Millenium Bank. Mai mult, una din cele mai recente tendințe este tehnologia NFC, încorporată în smartphone-uri, care permite schimbul de date fără contact. Aceasta permite ca telefonul să fie utilizat ca bilet pentru transport în comun sau pentru evenimente, card de cumpărături sau ca modalitate de acces la date. Un proiect pilot care a testat această tehnologie în anul 2012 a fost inițiat de Orange și derulat cu succes în parteneriat cu BRD. De-a lungul anului 2013 se previzionează că mai multe bănci vor lansa acest serviciu.

Până acum evoluția smartphone-urilor a depășit așteptările analiștilor din domeniu, iar dacă piața va continua același trend ascendent, are putea avea mai mult de „1 milion de utilizatori activi în următorii 5 ani”.

Capitolul 2. Tehnologii informatice utilizate

2.1.MySQL

MySQL este un sistem de gestiune a bazelor de date relațional, produs de compania suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. MySQL este cea mai populară bază de date open-source din lume, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP) și asigură implementarea economică de aplicații de baze de date încorporate și bazate pe Web fiabile, performante și scalabile. Popularitatea sa ca aplicație web este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL și denumit Duo-ul Dinamic. Pe lângă ușurința în utilizare, performanțele ridicate și fiabilitatea MySQL oferă funcții avansate, instrumentele de gestionare și asistența tehnică pentru dezvoltarea, implementarea și gestionarea aplicațiilor in MySQL.

Deși este folosit foarte des împreună cu limbajul de programare PHP, cu MySQL se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respectivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC.

Indiferent dacă se livrează on-premise sau in cloud, My SQL continuă sa răspundă nevoilor următoarelor generații de aplicații sociale, web sau mobile.

Prin alegerea MySQL pentru aplicațiile web, companiile mari dar si startup-urile realizează economii semnificative. Avantajul utilizării My SQL – baza de date si arhitectura scalabila – consta in utilizarea produselor hardware la preturi mici si astfel, companiile obțin un înalt nivel de scalabilitate, accesibilitate si performanța reducând considerabil costurile. În plus, administratorii bazei de date nu pierd timpul cu erori si probleme de funcționare ci se pot concentra pe realizarea unor sarcini de nivel superior, strategic.

Într-o lume in continua mișcare, in care competiția este „la un click distanta” răspunsurile rapide la solicitările clienților sunt esențiale. De aceea de exemplu, o bază de date care deservește aplicații web trebuie să fie foarte performantă atât pentru operațiile de citire cât și de scriere.

Un alt aspect relevant este menținerea aceluiași nivel al performanței indiferent de numărul de conexiuni sau de volumul de informații, fiind necesara o adaptare rapidă la creșterea numărului de conexiuni curente fără a avea întreruperi in deservirea clienților.

Unul dintre obiectivele importante încă de la conceperea si implementarea MySQL a fost ușurința in utilizare. Astfel, sistemul oferă capabilități excepționale de quick-start, timpul pentru descărcarea si instalarea sa completă fiind de 15 minute. După instalare, proprietățile de autogestiune cum ar fi extinderea automată a spațiului, autorestartarea, schimbările de configurație dinamica preiau o mare parte din sarcina administratorului de configurare a bazei de date. În concluzie, internetul nu ar fi putut fi ceea ce este astăzi fără softurile open-resource si MySQL – foarte bine poziționate pentru a asigura următoarea generație de aplicații sociale și cloud de nivel in continuă creștere. Argumentele de mai sus reprezintă doar o parte din lunga lista de avantaje ale utilizării My SQL ca SGBDR în numeroase aplicații si justifică de asemenea alegerea acestui sistem în lucrarea de față.

2.2. SQL

Accesul la baza de date se realizează folosind instrucțiunile SQL sau PL/SQL (procedural language/SQL). SQL este un limbaj de regăsire relațional destinat gestionării datelor dintr-un SGBDR. Limbajul a fost dezvoltat inițial de IBM la începutul anilor ’70 sub numele de SEQUEL, schimbându-și apoi numele în SQL și ulterior în IBM DB2. Oracle a dezvoltat propriul limbaj SQL și l-a lansat în anul 1979. Mai târziu acesta a intrat în standardul ANSI (1986) și ISO (1987). De atunci, el a fost constant îmbunătățit. Există și o extensie a limbajului denumită SQL*Plus care permite programarea descriptivă și gestiunea datelor într-o bază de date relațională.

Instrucțiunile SQL se împart în următoarele categorii:

DDL (Data Definition Language) – limbajul de definire a datelor – care permite definirea, întreținerea și ștergerea obiectelor bazei de date. Exemple de instrucțiuni: CREATE, ALTER, DROP;

DML (Data Manipulation Statements) – limbajul de manipulare a datelor – care permite regăsirea, inserarea și actualizarea înregistrărilor. Exemple de instrucțiuni: SELECT, UPDATE, INSERT, DELETE;

DCL (Data Control Language) – limbajul de control al datelor – permite crearea rolurilor și a privilegiilor. Exemple de instrucțiuni: GRANT, REVOKE;

TCL (Transactional Control Language) – limbajul de control al tranzacțiilor – permite administrarea tranzacțiilor. Exemple de instrucțiuni: COMMIT, ROLLBACK, SAVEPOINT;

2.3. UML

UML (Unified Modeling Language) este un standard utilizat în modelarea aplicațiilor orientate obiect. În condițiile dezvoltării limbajelor orientate obiect, au apărut în ultimele decenii foarte multe propuneri de metodologii și procese care să permită modelarea acestui tip de aplicații. Trei mari autori din domeniul proiectării de software orientat obiect, Ivar Jacobson, Grady Booch și James Rumbaugh, au pus bazele unui limbaj standardizat, care urma să se impună pe o piață haotică în care existau zeci de metode de proiectare. UML înregistrează un mare succes, fiind la scurt timp preluat ca standard de Object Management Group (OMG), un recunoscut organism de standarizare în comunitatea orientată obiect. UML se detașează de celelalte metodologii pentru că standardizează o serie de notații, însă nu impune un mod specific de utilizare, este recunoscut ca un limbaj ce oferă un grad mare de libertate în folosirea tehnicilor proprii pentru programatori și analiști, oferind în același timp consistență datelor.

Modelarea unei aplicații este etapa în care se creează designul sistemului informatic, se asigură funcționalitatea sa astfel încât să se îndeplinească cerințele de business și să se proiecteze o structură a aplicației care să permită reutilizarea codului. UML permite modelarea prin intermediul unor instrumente precum diagrame, comentarii, notații standard și a unui set de constrângeri de integritate, descriind totodată și semantica acestor simboluri. Cea mai nou versiune, UML 2.4.1, definește treisprezece tipuri de diagrame care se împart în trei categorii: șase diagrame reprezintă structura statică a aplicației, trei diagrame ilustrează comportamentul general al fluxului de date, iar alte patru diagrame prezintă diverse interacțiuni la nivelul aplicației. Diagramele sunt încadrate în cele trei categorii (structure diagrams, behavior diagrams, interaction diagrams) după cum urmează:

Structure diagrams (diagrame de structură)

Class Diagram ( diagrama claselor);

Object Diagram (diagrama obiectelor);

Component Diagram (diagrama componentelor);

Composite Structure Diagram (diagrama structurii compuse);

Package Diagram (diagrama pachetelor);

Deployment Diagram (diagrama de desfășurare);

Behavior diagrams (diagrame de comportament)

Use Case Diagram (diagrama cazurilor de utilizare);

Activity Diagram (diagrama de activitate);

State Machine Diagram (diagrama de stare);

Interaction diagrams (diagrame de interacțiune)

Sequence Diagram ( diagrama de secvență);

Communication Diagram (diagrama de colaborare);

Timing Diagram (diagrama temporală);

Interaction Overview Diagram (diagrama de interacțiune);

O altă abordare asupra diagramelor, deseori folosită de analiști, propune încadrarea acestora în trei mari grupe numite views. Un view reprezintă o colecție de diagrame care descriu un aspect comun al aplicației.

Limbajul UML prezintă o serie de avantaje, printre care se numără: standardizarea de către grupul OMG (este foarte răspândit și utilizat la nivel global) sau reprezentarea vizuală a relațiilor dintre clase sau dintre alte entități din program. În plus, acesta este foarte ușor de înțeles și de folosit și permite extensibilitatea în vederea îmbunătățirii aplicației. Totodată, cele treisprezece diagrame acoperă majoritatea cerințelor informaționale din domeniul analizei și proiectării aplicațiilor orientate-obiect. Deși nu garantează succesul unei aplicații, UML poate reduce costurile de instruire și de schimbare a instrumentelor software, în cazul unei restructurări în companie. Apoi, UML permite analiștilor să se concentreze pe obiectivele de business, nu neapărat asupra instrumentelor de modelare.

Modelarea unei aplicații informatice presupune următoarele etape:

Figura 2.1 Etapele dezvoltării sistemelor informatice conform UML

Lucrarea de față va utiliza metodologia UML în procesul de modelare și va include următoarele diagrame( din cele treisprezece existente ): diagrama claselor nedetaliată, diagrama cazurilor de utilizare, diagrama de stare, diagrama de activitate, diagrama componentelor. Concomitent, capitolul de analiză a sistemului informatic va urma structura celor șase etape de dezvoltare a aplicației.

2.4 C#.NET

C# este un limbaj de programare orientat-obiect conceput de Microsoft la sfârșitul anilor 90. A fost conceput ca un concurent pentru limbajul Java. Ca și acesta, C# este un derivat al limbajului de programare C++. C# simplifică mult scrierea de programe pentru sistemul de operare Windows. Limbajul C# a fost dezvoltat de o echipa restrânsă de ingineri de la Microsoft, echipa din care s-a evidențiat Anders Hejlsberg (autorul limbajului Turbo Pascal și membru al echipei care a proiectat Borland Delphi).

C# este un limbaj simplu, cu circa 80 de cuvinte cheie și 12 tipuri de date predefinite. El permite programarea structurată, modulară și orientată obiectual, conform perceptelor moderne ale programării profesionale.

Principiile de bază ale programării orientate pe obiecte (ÎNCAPSULARE, MOȘTENIRE, POLIMORFISM) sunt elemente fundamentale ale programării C#. În mare, limbajul moștenește sintaxa și principiile de programare din C++. Sunt o serie de tipuri noi de date sau funcțiuni diferite ale datelor din C++, iar în spiritul realizării unor secvențe de cod sigure (safe), unele funcțiuni au fost adăugate (de exemplu, interfețe și delegări), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (moștenirea multiplă și pointerii către funcții). Unele funcțuni (cum ar fi accesul direct la memorie folosind pointeri) au fost păstrate, dar secvențele de cod corespunzătoare se consideră "nesigure".

C# este un limbaj de programare proiectat pentru dezvoltarea unui mare număr de aplicații care rulează în cadrul .NET. C# este simplu, puternic, sigur și orientat-obiect. Numeroasele inovații în C# permit dezvoltarea aplicațiilor rapide, păstrând stilul expresiv și elegant al limbajului C.

Termenul Visual denotă o relație de brand-name cu alte limbaje de programare, cum ar fi Microsoft Visual Basic , Visual FoxPro , Visual J # și Visual C + + . Toate aceste produse sunt ambalate cu o grafică IDE și sprijină dezvoltarea rapidă a aplicațiilor de Ferestre (Forms).

Visual C # este utilizat în prezent în dezvoltarea de Windows și Xbox Live jocuri prin intermediul Microsoft XNA , care permite dezvoltatorilor de jocuri să creeze și să partajeze jocurile lor cu alți jucători. Visual C # este, de asemenea, utilizat foarte mult de site-uri web ASP.NET și de aplicații de sine stătătoare bazate pe NET Framework. Aplicația bancară de gestiune a finanțelor personale prezintă o interfață dezvoltată în C#.NET. Legătura cu mySQL s-a creat printr-un conector mySQL (un driver care permite accesul rapid al mediului de programare Microsoft Visual Studio) la baza de date, în vederea sincronizării cu C#.NET.

2.5 Microsoft Visio

Microsoft Visio este un program pentru Microsoft Windows care utilizează grafica vectorială. Visio este un instrument de analiză, documentare și comunicare folosit cu succes pentru realizarea diagramelor, a organigramelor, desenarea de procese și structuri sau pur și simplu pentru prezentarea într-o manieră vizuală, grafică a unei idei, a unui concept sau chiar a unui proiect. Informațiile complexe pot fi prezentate într-un mod simplificat cu o diagramă realizată cu doar cateva click-uri. Visio oferă un set predefinit de forme, simboluri, fundaluri și dă posibilitatea trasării de scheme în variante multiple.

Visio simplifică proiectarea diagramelor, fie că este vorba despre desenarea unei diagrame de flux pe un suport similar unui whiteboard, desenarea unei rețele IT, construirea unei diagrame organizaționale, ilustrarea unui proces de business sau desenarea schiței unui imobil. Visio permite un acces rapid la cele mai utilizate instrumente și la cele mai inovative reprezentări grafice. De asemenea, Microsoft Visio permite modelarea aplicațiilor software prin Unified Modeling Language (UML) și prin Business Process Model and Notation (BPMN). Aplicația Smart Money a fost modelată conform metodologiei UML, iar reprezentările grafice au fost create în Microsoft Visio 2013.

Capitolul 3. Analiza și proiectarea aplicației informatice

3.1 Definirea problemei

Lucrarea de față oferă o soluție îmbunătățită la sistemul actual al aplicațiilor financiar-bancare destinate clienților. Aceasta presupune crearea unui software inovator care să permită agregarea conturilor în vederea monitorizării fondurilor. Astfel, soluția oferă suport pentru personal financial management (managementul finanțelor personale) și facilități precum: operații cu tranzacții, planificare buget, sfaturi și strategii pentru economisire, simulări financiar-bancare. Acest program își propune pe de o parte să îmbunătățească relația bancă-client și să ofere băncii o perspectivă reală și completă asupra nevoilor clienților săi, pe de altă parte să îi ajute pe clienți să își gestioneze mai bine fondurile personale, să ia decizii financiare responsabile, oferind în același timp și o nouă perspectivă asupra educației financiare.

Din perspectiva utilizatorului-client, această aplicație răspunde nevoilor pieței pentru că orice client educat este un client responsabil, capabil să ia decizii corecte și în cunoștință de cauză. Acest program își propune să îi împrietenească pe consumatorii de servicii bancare cu termenii financiari, să își definească propriile nevoi financiare și să își controleze mai bine banii. Una din puținele inițiative de succes din România în acest sens este www.bugetulfamiliei.ro, un program național pentru educație financiară, susținut de Autoritatea Națională pentru Protecția Consumatorului (ANPC) și Asociația pentru Protecția Consumatorilor din România (APC România). Acest grup de inițiativă a lansat spre dezbatere o Strategie Națională pentru Educație Financiară (SNEF) în iulie 2012, urmând ca implementarea acestui proiect să se deruleze în perioda 2012-2017. Misiunea SNEF este „asigurarea unui cadru general și structurat și a unei serii de obiective concrete, în care sectorul non-profit, guvernamental și cel privat să poată lucra împreună, într-un efort comun pentru a crește gradul de educație financiară în următorii cinci ani.” (ANPC, APC România).

Din perspectiva băncii care furnizează accesul la aplicație, soluția este ușor de implementat, întrucât ar putea fi oferită clienților odată cu achiziționarea oricărui produs bancar. Întreținerea ei poate fi responsabilitatea unei direcții din departamentul IT al băncii, iar prelucrările rezultate în urma simulărilor pot fi tratate în departamentul CRM.

De ce are România nevoie de educație financiară? Criza economică a scos în evidență necesitatea educației financiare și a însușirii conceptelor economice de către consumatori, pentru a lua decizii raționale și responsabile într-un sistem financiar complex și instabil. Accesul la educație financiară este fundamental nu numai din perspectiva protecției și conștientizării consumatorului, dar și din perspectiva facilitării unei relațiii responsabile și stabile între mai mulți actori economici (de exemplu banca-client). În continuare voi prezenta o serie de studii care ilustrează cel puțin două din cele trei probleme pe care aceasta aplicație le adresează: existența unui număr restrâns de instrumente de educație financiară în România și instrumente care să ofere o perspectivă completă și integrată asupra finanțelor proprii. O analiză pentru evaluarea gradului de educație, realizată de Provident Financial împreună cu Novel research, în noiembrie 2011, pe un eșantion reprezentativ de 1.023 respondenți, prezintă următoarele rezultate:

70% din români au avut experiența datoriilor;

75% din români se autoevaluează ca fiind buni sau foarte buni în gestionarea banilor;

Aproape 40% din români nu consultă mai multe oferte înainte de a achiziționa servicii financiare;

47% din români declară că nu economisesc pentru că nu câștigă suficient;

Mai mult, un studiu comandat de ING ilustrează faptul că „aproape 90% din români au un nivel redus de înțelegere a problematicilor legate de bani” (ANPC, APC România) sau de concepte financiare de bază. 88% din respondenți se încadrează în profilul „începător” sau „neștiutor”. Conform studiului, cele mai multe probleme apar în sfera economisirii, a problemelor financiare din gospodărie, a viitorului financiar și a investițiilor. O altă analiză, Financial Literacy Survey in Romania (mai 2010), realizată pe baza datelor culese de Institutul de Economie Mondială, accentuează următoarele aspecte: „gradul redus de alfabetizare financiară rezultă în capabilitate financiară redusă, 14% din populație este financiar analfabetă, majoritatea populației nu este pregătită și nu are rezerve pentru a face față unei scăderi semnificative a veniturilor, indiferent de veniturile pe care le au, consumatorii trebuie să învețe responsabilitatea pentru propriul viitor și să-și organizeze mai bine resursele” (ANPC, APC România). În concluzie, în România există un grad scăzut de informare a consumatorilor în privința educației financiare și prin urmare o capacitate redusă de a lua decizii financiare conștiente, raționale și responsabile. Pornind de la problemele identificate și menționate anterior, am realizat o analiză schematică asupra cauzelor problemei, a soluțiilor oferite de aplicația Smart Money și a posibilelor efecte ale acestora. Schema de mai jos ilustrează, pe lângă soluții, cauze și efecte, funcționalitățile aplicației:

Figura 3. 1Analiza cauzelor, a soluției și a efectelor

Ca urmare a investigării personale a nevoilor financiare generale, din dublă perspectivă – experiența ca angajat al băncii / experiența ca și client – îmi propun sa realizez un sistem informatic care să înglobeze problematica educației financiare în România și problematica relației deficitare client-bancă. Sistemul oferă un cadru de relaționare între două entități interdependente: clientul și banca, în care deciziile și acțiunile au ca premise nevoile fiecărei părți. În calitate de client am identificat câteva nevoi, în sens larg:

de a avea o imagine clară asupra situației conturilor personale;

de a simula situații concrete care implică decizii și resurse financiare proprii;

de informare în domeniul de față;

de a înțelege mai bine conceptul de „finanțe personale” și de a-l aplica;

de a avea control asupra resurselor bănești proprii (în special o formă de control intermediată care să presupună efort minim și rezultate maxime);

În calitate de angajat, am înțeles în primul rând că, dincolo de scopul lucrativ și de strategiile de vânzare și promovare, există o profundă nevoie a băncilor de a înțelege consumatorul, pentru a-i oferi produse personalizate, pentru a-și previziona vânzările și pentru a avea o viziune mai clară asupra pieței. Am identificat de asemenea o problemă în abordarea generală a băncilor (din punctul de vedere al vânzărilor): orientarea pe produs și nu pe nevoile clientului. Există în acest sens câteva inițiative menite să aducă o schimbare în politicile băncilor și să dezvolte o relație client-bancă bazată pe transparență, comunicare, încredere și respect.

Din perspectiva clientului, aplicația răspunde la două cerințe: gestiunea finanțelor personale și însușirea unui set de elemente de bază din sfera educației financiare. Cele două componente (componenta de administrare a finanțelor și componenta educativă) creează astfel o aplicație de consultanță financiară care îl învață pe utilizator să își administreze și să utilizeze resursele în mod inteligent și interactiv.

Din perspectiva băncii, soluția oferă o imagine de ansamblu asupra comportamentului consumatorului și a trendului în ceea ce privește preferințele acestuia, care are ca scop îmbunătățirea activității băncii în direcțiile CRM, marketing și vânzări.

În acest mod, aplicația devine un mijloc de relaționare benefic ambelor părți implicate, o soluție la comunicarea asincronă dintre cele două și un mod de îndeplinire a nevoilor individuale, după cum am ilustrat în figura 3.2:

Figura 3. 2 Analiza nevoilor bancă – client

În aceste condiții, trebuie luat în considerare aspectul securității și al protecției datelor personale. În eventualitatea implementării acestei aplicații în sistemul bancar, trebuie menționat că utilizarea ei are ca pre-condiții semnarea unui contract între cele două părți (client și bancă) care va conține, pe lângă drepturi și obligații, clauze de utilizare a serviciului informatic și clauze de acord personal privind utilizarea datelor din programul software în mediul intern al băncii, cu scopul agregării pentru studii de piață privind comportamentul consumatorului și nevoile financiare.

3.2. Analiza cerințelor sistemului informatic

3.2.1. Structurarea soluției

Gestiunea conturilor personale

Activitatea de gestionare a conturilor personale se desfășoară prin prisma a două concepte cheie: tranzacția și contul. Tranzacțiile curente efectuate de end-user sunt înregistrare în conturile personale (fie ele bancare sau nonbancare). O tranzacție se înregistrează într-un cont, însă un cont conține mai multe tranzacții. Operațiunile care descriu atât activitatea contului, cât și a tranzacției sunt: adăugare, actualizare și ștergere. Aplicația conține modulul Conturi care permite administrarea tranzacțiilor și a conturilor, efectuarea operațiunilor menționate mai devreme, precum și prezentarea informațiilor agregate sub formă grafică. Modulul răspunde nevoii clientului de a-și administra resursele bănești și de a avea o imaginea de ansamblu asupra finanțelor proprii.

Planificarea bugetului lunar

Planificarea bugetului lunar este un modul al aplicației care înglobează în primul rând estimarea bugetului lunar și în al doilea rând gestionarea obiectivelor financiare personale. La nivelul bugetului, toate tranzacțiile se prezintă sub formă agregată, după categorie. În sens practic, se calculează totalitatea resurselor bănești alocate fiecărei categorii. În continuare, utilizatorul estimează câte resurse va aloca fiecărei categorii în luna următoare, pentru ca în final, modulul să compare bugetul estimat cu cel real (înregistrat prin intermediul tranzacțiilor de la modulul anterior). Aceasta este o manieră de a afla două tipuri de informații financiare: diferența între estimare și realitate (buget real-buget estimat) și balanța reală (diferența între venituri și cheltuieli la nivelul tuturor conturilor, după însumarea tuturor veniturilor și a cheltuielilor din luna analizată). Gestionarea obiectivelor financiare presupune setarea obiectivelor și monitorizarea îndeplinirii acestora, în funcție de resursele disponibile și de costum estimat. Astfel, utilizatorul este încurajat să economisească pentru a-și atinge obiectivele. Obiectivele pot fi încadrate în trei categorii: nevoi personale (de exemplu o vacanță), economisire (pentru situații neprevăzute sau pentru evenimente programate) și investiții (de exemplu deschiderea unei afaceri). Modulul răspunde nevoii clientului de a prelua controlul asupra finanțelor proprii și de a simula situații în care este nevoit să ia decizii financiare. Mai mult, componenta gestionării obiectivelor răspunde și nevoilor băncii, furnizând informații referitoare la preferințele consumatorului: consum, economisire sau investiție.

Simulări financiare

Modulul de simulări financiare conține două simulări, de interes atât pentru bancă, cât și pentru client. Prima simulare se studiază toleranța clientului la risc și se bazează pe metoda interviului. Utilizatorul răspunde la un set de întrebări din domeniu în cadrul unui chestionar, iar la sfârșit este încadrat într-un un profil de risc. Într-un mod asemănător, cea de-a doua simulare verifică măsura în care un set de factori influențează deciziile financiare ale clientului sau valorile care stau la baza deciziei financiare. În urma parcurgerii unui chestionar, este analizată ponderea și influența fiecărui factor. Pe baza rezultatelor clientul primește interpretarea factorilor de influență. Acest modul răspunde nevoilor ambelor entități: client – simularea situațiilor concrete în care acesta trebuie să ia decizii financiare raționale, informare și înțelegere, banca – în funcție de răspunsurile clientului banca poate face oferte personalizate, dezvolta noi produse și servicii, primi o perspectivă directă asupra pieței.

Sfaturi utile

Ultima secțiune din soluție, sfaturi utile, îndeplinește rolul de consultant pentru client. Având la dispoziție mai multe categorii de bune practici, utilizatorul este îndrumat să aleagă domeniul de interes (investiții, economisire, creditare, investiții, buget, finanțe personale.

În etapa de structurare a soluției informatice, se modelează procesele de afaceri, analizând astfel cazurile de utilizare. În această etapă se definește domeniul claselor principale și se descriu relațiile dintre analistul de sistem și beneficiari.

3.2.2. Modelarea proceselor de afaceri

Modelarea cazurilor de utilizare

Modelul cazurilor de utilizare este compus din actori și cazuri de utilizare. Actorul este o entitate care schimbă informație cu sistemul. Cazul de utilizare reprezintă principalele acțiuni inițiate de un actor. El poate interacționa însă și cu alți actori, nu doar cu inițiatorul său.

Actori

Actorii sunt persoanele care utilizează aplicația, atât persoane, cât și alte sisteme externe. Un actor poate participa la mai mult de un caz și invers. Entitatea Smart Money, privită ca sistem, este percepută de actor ca un black-box; el nu trebuie să cunoască ce este în interior – structura – ci doar ce servicii primește de la acesta.

În aplicația de față actorii implicați sunt:

Clientul băncii;

Sistemul informatic bancar – aplicația CRM care prelucrează rezultatele simulărilor;

Cazuri de utilizare

Cazurile de utilizare sunt următoarele:

Autentificare;

Gestionare conturi;

Planificare buget;

Simulare nevoi financiare;

Decizii financiare;

Obieceiuri financiare;

Sfaturi utile;

Relații între cazuri de utilizare

Tipurile de relații utilizate în analiza de față sunt:

Asociere: între actorul client și cazurile de utilizare: autentificare, gestionare conturi, planificare buget, simulare nevoi financiare, consultare și sfaturi utile

Includere: între planificarea bugetului și gestionare conturi;

Pentru ca planificarea bugetului să funcționeze va apela întotdeauna Gestionare conturi. Diagrama cazurilor de utilizare

Figura 3. 3 Diagrama cazurilor de utilizare

Diagrama cazurilor de utilizare înglobează actorii, cazurile de utilizare și relațiile dintre acestea. O primă vizualizare a diagramei oferă de fapt o privire de ansamblu asupra cazurilor de utilizare pe care le poate accesa utilizatorul, atunci când folosește aplicația. Totodată, diagrama ilustrează sistemul de colectare a cerințelor informaționale și interacțiunile sistemului cu mediul. Diagrama cazurilor de utilizare poate include și un sumar, descrieri detaliate sau scenarii de cazuri de utilizare. Scenariul de utilizare detaliază prin text și ordonare logică evenimentele petrecute în interiorul unui caz de utilizare. Pentru cazul de utilizare respectiv se menționează premisele, pre-condițiile, inițierea, dialogul (evenimentele din interiorul cazului), terminarea și post-condițiile. În continuare, se prezintă scenariul pentru cazul de utilizare Autentificare.

Scenariu pentru cazul de utilizare autentificare

Tabelul 3. 1 Scenariu pentru cazul de utilizare: autentificare

Procesele aplicației

Procesele elementare ale aplicației se pot reprezenta în formă tabelară, pornind de la cazurile de utilizare. Un proces arată, într-o formă detaliată, principalele componente din sistem și asigură în final împlinirea obiectivelor. Fiecare proces va fi notat sub forma Pi, unde i este numărul procesului, iar cazurile de utilizare sunt notate astfel:

Autentificare – CU1

Gestionare conturi – CU2

Planificare buget – CU3

Simulator financiar – CU4

Sfaturi utile – CU5

CU1. Autentificare

Tabelul 3. 2 Scenariu proces Autentificare

CU2. Gestionare conturi

Tabelul 3. 3 proces Gestionare conturi

CU3. Planificare buget

Tabelul 3. 4 proces Planificare buget

CU4. Simulator financiar

Tabelul 3. 5 proces Simulator financiar

CU5. Sfaturi utile

Tabelul 3. 6 proces Sfaturi utile

3.3. Analiza aplicației informatice

În etapa de analiză a sistemului se modelează structura statică și structura dinamică și se reprezentă următoarele diagrame:

Modelarea structurii statice: diagrama claselor și diagrama obiectelor

Modelarea dinamicii: diagrama de stare, diagrama de activitate

Analiza sistemului presupune studierea specificațiilor și a cazurilor de utilizare, identificându-se atât cele mai importante concepte și entități din sistem, cât și legăturile dintre acestea. În această etapă modelarea presupune reprezentarea grafică a domeniului claselor pentru sistemul de față (modelarea statică) și reprezentarea comportamentului obiectelor prin modelarea interacțiunilor acestora (modelarea dinamicii).

3.3.1. Modelarea structurii statice

Diagrama de clase nedetaliată

Diagrama folosită în modelarea obiect se numește diagrama de clase și oferă o imagine de ansamblu asupra reprezentării tabelelor și a relațiilor dintre ele. Diagramele de clase descriu cazuri generale în modelarea sistemului. Rolul unei diagrame de clase este structurarea statică a anlizei, implicând atribute, operații și asocieri între clase. Este cea mai importantă diagramă în cadrul analizei și, în general, în cadrul proiectării software orientate obiect. La o privire de ansamblu, diagrama conține clase și asocieri între clase.

Diagrama de clase poate fi asociată cu elementele: atribute, operații, stereotipuri și asocieri.

Atributele descriu înfățișarea clasei, operațiile definesc comportamentul pe care o clasă de obiecte îl poate manifesta, stereotipurile ajută la diferențierea claselor, în sensul că explică tipul obiectelor din clasă, mai ales într-o situație în care există obiecte asemănătoare din clase diferite, asocierile explică tipul relației existente între obiectele clasei și alte elemente din sistem.

Acest tip de diagramă este susținut de toate celelalte diagrame ale sistemului, acestea oferind diverse abordări care permit identificarea atributelor, operațiilor și asocierilor. Celelalte diagrame UML ajută la validarea acestei diagrame, contribuind la îmbunătățirea ei și la modificarea ei în funcție de puncte diferite de vedere. Relația dintre diagrama claselor și alte diagrame UML este redată în figura 3.4:

Figura 3. 4 Relația dintre diagramele UML

Diagrama claselor conține clasele (care ulterior se vor transforma la rândul lor în tabele) și asocierile dintre acestea. Fiecare clasă, reprezentată printr-un dreptunghi, conține o serie de atribute și se conectează la alte clase prin diverse tipuri de asocieri. Clasele sunt, în esență, colecții de date care prezintă interes pentru sistemul analizat.

Figura 3. 5 Diagrama claselor nedetaliată

3.3.2. Modelarea structurii dinamice

Diagrama de activitate

Diagrama de activitate este un alt element important din metodologia UML care ilustrează aspectele dinamice ale unui sistem informatic, sub forma unor procese. Procesele aplicației sunt descrise într-o primă fază prin cazurile de utilizare, iar apoi printr-un set de pași prezentat în detaliu în cadrul unei activități (o activitate este o operație a sistemului efectuată într-un anumit moment). Fiecare activitate detaliază de fapt, pentru o anumită stare a obiectelor, succesiunea de pași, devenind astfel un subset al diagramei de stare. Diagrama de activitate prezintă secvențial modul de comunicare între mai multe activități corespunzătoare tuturor sistemelor care interacționează cu soluția informatică. Rolul acesteia se regăsește mai degrabă în înțelegerea de ansamblu a fluxurilor de business, decât în implementarea tehnică. Diagrama de activitate corespunzătoare cazului de utilizare CU4. Simulator financiar expune interacțiunea dintre sistem și cei doi actori: clientul și banca (sistemul CRM). În modulul simulator, clientul alege una din cele două simulări disponibile: analiza deciziilor financiare și profilul de risc. Pentru fiecare din cele două situații, el va completa un chestionar (input de date) cu întrebări referitoare la comportamentul financiar personal și la domeniul corespunzător. Sistemul preia datele introduse de utilizator și calculează rezultatele: valorile care stau la baza deciziilor financiare personale, respectiv profilul de risc. Mai departe, sistemul transmite rezultatele bidirecțional. În primul rând, rezultatele simulării (inclusiv interpretarea acestora) sunt afișate clientului, iar apoi activitatea se încheie. În al doilea rând, sistemul comunică băncii rezultatele individuale spre agregare. Pe baza datelor agregate (rezultatele tuturor clienților care utilizează aplicația informatică de față), sistemul informatic bancar va genera un raport al clienților (tendința generală de risc și valorile generale care stau la baza deciziilor financiare ale clienților), urmând ca activitatea să se finalizeze.

Figura 3. 6 Diagrama de activitate

Diagrama de stare

Diagrama de stare este o componentă a modelării dinamice a unui sistem informatic care marchează trecerea diverselor obiecte din sistem dintr-o stare în alta. Stările definesc condițiile de existență ale obiectelor din sistem la un moment dat, iar tranziția dintr-o stare în alta este de regulă generată de un eveniment intern sau extern sistemului. Stările sunt reprezentate în diagramă de dreptunghiuri ce conțin numele obiectului, atributele (opțional) și acțiunile corespunzătoare (entry = acțiunile desfășurate la intrarea în stare, do = acțiunile efectuate în starea propriu-zisă, exit = acțiunile efectuate la ieșirea din stare). În continuare voi prezenta diagrama de stare corespunzătoare CU3.P5. Adăugare tranzacție în cont. Un prim pas în contruirea diagramei este identificarea punctului de start și a stării inițiale. În aplicația curentă, starea inițială este descrisă de modului Conturi, care conține toate conturile utilizatorului. Scopul procesului analizat este adăugarea unei noi tranzacții într-un cont. În cazul în care contul dorit nu există, se apelează întâi evenimentul de creare a contului, urmat de ceilalții pași descriși anterior. Pașii parcurși sunt următorii: START- inițializare sesiune a modulului Conturi – selecție a contului în care se dorește adăugarea tranzacției. Dacă există se va trece direct selecție cont.. Dacă nu există, se va trece întâi la adăugare cont nou și apoi la selecție cont – adăugare tranzacție – afișare tranzacție – STOP.

Figura 3. 7 Diagrama de stare pentru Adăugare Tranzacție

3.4. Proiectarea aplicației

Proiectarea aplicației presupune în primul rând rafinarea diagramei claselor descrisă anterior, completarea acesteia cu atribute, descrierea formularelor și a rapoartelor de intrare-ieșire, proiectarea interfeței și proiectarea bazei de date.

3.4.1.Finalizarea diagramei claselor

Figura 3. 8 Diagrama claselor

Aplicația se bazează pe zece clase din care se pot instanția obiecte. Diagrama de clase detaliată oferă o perspectivă amplă asupra soluției și în special asupra structurii sale. Clasa User este cel mai frecvent folosită în instanțierea obiectelor celorlalte clase. Pe de altă parte, clasa Tranzacție permite cele mai multe operațiuni – ștergere, adăugare și modificare. Clasele Obiectiv, Test_decizii, test_risc, Previzionare și Cont depind de User. Prin asocierea cu clasa Cont, clasa Tranzacție depinde la rândul ei de User. Cu alte cuvinte, toate aceste clase îi sunt atribuite utilizatorului, ceea ce dovedește că aplicația este una centrată pe utilizator și nu pe date. Clasele Grup_categorie și Categorie sprijină clasa Tranzacție.

3.4.2. Proiectarea bazei de date

Aplicația bancară de gestiune a finanțelor personale, Smart Money, conține zece tabele: User, Tranzacție, Cont, Client, Obiectiv, Test_decizii, Test_risc, Previzionare, Categorie, Grupuri_categorii. În etapa de proiectare a bazei de date este deosebit de importantă analiza cerințelor de business sau a principiilor ce vor sta la baza legăturilor dintre tabele. Cerințele pentru aplicația curentă sunt următoarele: Un utilizator poate avea unul sau mai multe conturi, însă fiecare cont aparține unui singur utilizator.Fiecare cont conține una sau mai multe tranzacții. O tranzacție aparține unui singur cont. Fiecare tranzacție este încadrată într-o singură categorie, dar fiecare categorie poate corespunde mai multor tranzacții. Categoria se încadrează într-un grup de categorii. Unui user îi corespunde un singur client. Un user poate avea unul sau mai multe obiective. Fiecare obiectiv aparține unui singur utilizator. Un user poate efectua unul sau mai multe teste de risc, respectiv unul sau mai multe teste de decizii financiare. Fiecare test corespunde unui singur utilizator.

Tabela User conține informații despre utilizatorul care folosește aplicația sub forma atributelor: USER (id_user(int 5), username(varchar(30)), parola(varchar(30)), id_client(int(5)). Tranzacție stochează informații despre toate tranzacțiile rulate în aplicație, având în vedere faptul că fiecare tranzacție aparține unui cont și unui utilizator. Structura tabelei Tranzacție este: id_tranzacție int(5), descriere varchar(30), suma double, tip varchar(20), data_tranzacție datetime, frecvența varchar(30), perioada varchar(30), data_sfarsit datetime,id_cont int(5), id_categorie int (5). Tabela Test_risc conține informațiile relevante pentru bancă în ceea ce privește simularea profilului de risc. Atributele sale sunt: id_test int(5), id_user int (5), data_test datetime, profil varchar(20). Similar, tabela Test_decizii conține informațiile despre simularea deciziilor financiare astfel: id_test int (5), id_user int (5), interior varchar(10), social varchar(10), fizic varchar(10), financiar varchar(10), data_test datetime. Fiecare scor care corespunde unui factor decizional este stocat în baza de date pentru a vizualiza factorii generali care influențează deciziile clienților. Tabela Obiectiv conține obiectivele tuturor utilizatorilor (în vederea agregării) și are atributele: id_obiectiv int(5), denumire varchar(30), categorie varchar(30), data_start datetime, data_sfarsit datetime, suma double, id_user int (5). Tabela Grup_categorii conține două atribute: id_grup int(5), nume varchar(30). Tabela Estimare conține: id_estimare int(5), valoare double, luna date, tip varchar(20), id_user int (5), id_categorie int (5) și ajută la estimarea bugetului lunar. Tabela Cont are câteva informații de bază corespunzătoare unui cont real: id_cont int (5), nume varchar(30), sold double, id_user int (5), moneda varchar(10). Tabela Client conține informații utile în analiza generală a clienților: id_client int(5), nume varchar (30), prenume varchar(30), cnp varchar(13), localitate varchar(20), venit double. Câmpurile localitate și venit nu sunt obligatorii. Tabela Categorie conține id-ul categoriei, id_categorie int(5), nume varchar(30), id_grup int(5), tip varchar(30) pentru a specifica dacă o categorie este de tip economisire, cheltuială sau venit. Conform schemei conceptuale din figura 3.8., cea mai importantă tabelă este user, iar cea mai utilizată din punct de vedere al operațiilor este tranzacție.

Figura 3. 9 Schema conceptuală

3.4.3. Proiectarea interfeței

Proiectarea interfeței include structura ferestrelor de lucru și modul în care utilizatorul interacționează cu aplicația (controale, formulare ). Aplicația Smart Money are două componente vizuale, componenta afișată utilizatorului și componenta viziblă doar băncii. Astfel există o serie de formulare și controale care depind de tipul utilizatorului și de modul de vizualizare permis.

În tabelul următor sunt prezentate ferestrele aplicației, grupate după actorul care are acces vizual la interfață.

Tabelul 3. 8. Ierarhia ferestrelor

Din punct de vedere al design-ului, SmartMoney propune o interfață foarte prietenoasă și ușor de folosit. Cele mai utilizate controale în aplicație sunt: textBox, label, comboBox, chart, listView, Button, Panel. Unul din principiile care stau la baza proiectării interfeței este interacțiunea sporită cu utilizatorul susținută de o interfață prietenoasă și intuitivă. De aceea, în fiecare fereastră există zone de sugestii și de explicații textuale. Astfel, aplicația devine un ghid care însoțește utilizatorul la fiecare pas.

Din punct de vedere structural, aplicația este simplă, liniară și pornește de la câte un formular părinte, corespunzător tipului de utilizator (vezi fig. 3.9).

Figura 3. 10 Ierarhia ferestrelor

Capitolul 4. Implementarea aplicației

4.1. Implementarea bazei de date

Baza de date a fost creată în MySQL cu ajutorul platformei phpmyadmin care permite crearea, administrarea și interogarea bazei de date (vezi figura 4.1). Unul din avantajele phpmyadmin și MySQL este interconectivitatea facilă cu alte programe. În cazul Smart Money, acest aspect a fost deosebit de important în sincronizarea bazei de date cu interfața vizuală, cu ajutorul driverului MySQLConnect care face legătura cu mediul de programare al interfeței, Visual Studio 2010.

Figura 4. 1 Platforma phpmyadmin pentru MySQL

fost deosebit de important în sincronizarea bazei de date cu interfața vizuală, cu ajutorul driverului MySQLConnect. Codul pentru crearea tabelelor face referire și la constrângerile aplicate și la alte condiții impuse atributelor tabelelor.

CREATE TABLE CATEGORIE

(

ID_CATEGORIE INT(5) NOT NULL ,

NUME VARINT (30) NOT NULL ,

ID_GRUP1 INT (5) NOT NULL

) ;

ALTER TABLE CATEGORIE ADD CONSTRAINT CATEGORIE_PK PRIMARY KEY

(

ID_CATEGORIE

)

;

CREATE TABLE CLIENT

(

ID_CLIENT INT (5) NOT NULL ,

NUME VARINT (30) NOT NULL ,

PRENUME VARINT2(30) NOT NULL ,

CNP NUMBER (13) NOT NULL ,

LOCALITATE VARINT(30) ,

VENIT NUMBER (8)

) ;

ALTER TABLE CLIENT ADD CONSTRAINT CLIENT_PK PRIMARY KEY

(

ID_CLIENT

)

;

CREATE TABLE CONT

(

ID_CONT INT (5) NOT NULL ,

NUME VARINT(30) NOT NULL ,

SOLD NUMBER (2) DEFAULT 0 NOT NULL ,

ID_USER INT (5) NOT NULL ,

MONEDA VARINT (20) DEFAULT 'RON'

) ;

ALTER TABLE CONT ADD CONSTRAINT CONT_PK PRIMARY KEY

(

ID_CONT, ID_USER

)

;

CREATE TABLE ESTIMARE

(

ID_ESTIMARE INT (5) NOT NULL ,

VALOARE NUMBER (2) NOT NULL ,

LUNA DATE NOT NULL ,

TIP VARINT (30) ,

ID_USER INT (5) NOT NULL ,

ID_CATEGORIE INT (5) NOT NULL

) ;

ALTER TABLE ESTIMARE ADD CONSTRAINT ESTIMARE_PK PRIMARY KEY

(

ID_ESTIMARE

)

;

CREATE TABLE GRUP_CATEGORII

(

ID_GRUP INT (5) NOT NULL ,

NUME VARINT (30) NOT NULL

) ;

ALTER TABLE GRUP_CATEGORII ADD CONSTRAINT GRUP_CATEGORII_PK PRIMARY KEY

(

ID_GRUP

)

;

CREATE TABLE OBIECTIV

(

ID_OBIECTIV INT (5) NOT NULL ,

DENUMIRE VARINT (30) NOT NULL ,

CATEGORIE VARINT(20) ,

DATA_START DATE NOT NULL ,

DATA_SFARSIT DATE NOT NULL ,

SUMA NUMBER (2) NOT NULL ,

ID_USER INT (5)

) ;

ALTER TABLE OBIECTIV ADD CHECK

(

CATEGORIE IN ('Economisire', 'Investire', 'Nevoi personale')

)

;

ALTER TABLE OBIECTIV ADD CONSTRAINT OBIECTIV_PK PRIMARY KEY

(

ID_OBIECTIV

)

;

CREATE TABLE TEST_DECIZII

(

ID_TEST INT (5) NOT NULL ,

ID_USER INT (5) ,

INTERIOR VARINT (5) ,

FIZIC VARINT (5) ,

SOCIAL VARINT(5) ,

FINANCIAR VARINT (5) ,

DATA_TEST DATETIME

) ;

ALTER TABLE TEST_DECIZII ADD CONSTRAINT TEST_DECIZII_PK PRIMARY KEY

(

ID_TEST

)

;

CREATE TABLE TEST_RISC

(

ID_TEST INT (5) NOT NULL ,

ID_USER INT (5) ,

DATA_TEST DATETIME ,

PROFIL VARCHAR(20) ,

) ;

ALTER TABLE TEST_RISC ADD CONSTRAINT TEST_RISC_PK PRIMARY KEY

(

ID_TEST

)

;

CREATE TABLE TRANZACTIE

(

ID_TRANZACTIE INT (5 INT) NOT NULL ,

DESCRIERE VARINT (30) ,

SUMA NUMBER (2) NOT NULL ,

TIP VARINT (5) DEFAULT 'Cheltuiala' NOT NULL ,

DATA_TRANZACTIE DATE DEFAULT SYSDATE NOT NULL ,

FRECVENTA VARINT (20) ,

PERIOADA VARINT(30) ,

DATA_SFARSIT DATE ,

ID_CONT INT (5) NOT NULL ,

ID_CATEGORIE INT (5) NOT NULL ,

ID_USER INT (5) NOT NULL

) ;

ALTER TABLE TRANZACTIE ADD CHECK

(

TIP IN ('Cheltuiala', 'Venit', 'Economie')

)

;

ALTER TABLE TRANZACTIE ADD CHECK

(

FRECVENTA IN ('Anual', 'La 6 luni', 'Lunar', 'Saptamanal', 'Trimestrial')

)

;

ALTER TABLE TRANZACTIE ADD CHECK

(

PERIOADA IN ('Data sfarsit', 'Nelimitat')

)

;

ALTER TABLE TRANZACTIE ADD CONSTRAINT TRANZACTIE_PK PRIMARY KEY

(

ID_TRANZACTIE

)

;

CREATE TABLE "USER"

(

ID_USER INT (5) NOT NULL ,

USERNAME VARINT (20) NOT NULL ,

PAROLA VARINT (20) NOT NULL ,

ID_CLIENT INT (5) NOT NULL ,

) ;

ALTER TABLE "USER" ADD CONSTRAINT USER_PK PRIMARY KEY

(

ID_USER

)

;

ALTER TABLE CATEGORIE ADD CONSTRAINT CATEGORIE_GRUP_CATEGORII_FK FOREIGN KEY ( ID_GRUP1 ) REFERENCES GRUP_CATEGORII ( ID_GRUP ) ;

ALTER TABLE CONT ADD CONSTRAINT CONT_USER_FK FOREIGN KEY ( ID_USER ) REFERENCES "USER" ( ID_USER ) ;

ALTER TABLE ESTIMARE ADD CONSTRAINT ESTIMARE_CATEGORIE_FK FOREIGN KEY ( ID_CATEGORIE ) REFERENCES CATEGORIE ( ID_CATEGORIE ) ;

ALTER TABLE ESTIMARE ADD CONSTRAINT ESTIMARE_USER_FK FOREIGN KEY ( ID_USER ) REFERENCES "USER" ( ID_USER ) ;

ALTER TABLE OBIECTIV ADD CONSTRAINT OBIECTIV_USER_FK FOREIGN KEY ( ID_USER ) REFERENCES "USER" ( ID_USER ) ;

ALTER TABLE TRANZACTIE ADD CONSTRAINT TRANZACTIE_CATEGORIE_FK FOREIGN KEY ( ID_CATEGORIE1 ) REFERENCES CATEGORIE ( ID_CATEGORIE ) ;

ALTER TABLE TRANZACTIE ADD CONSTRAINT TRANZACTIE_CONT_FK FOREIGN KEY ( ID_CONT1, ID_USER ) REFERENCES CONT ( ID_CONT, ID_USER ) ;

ALTER TABLE "USER" ADD CONSTRAINT USER_CLIENT_FK FOREIGN KEY ( ID_CLIENT1 ) REFERENCES CLIENT ( ID_CLIENT ) ;

ALTER TABLE "USER" ADD CONSTRAINT USER_TEST_DECIZII_FK FOREIGN KEY ( ID_TEST1 ) REFERENCES TEST_DECIZII ( ID_TEST ) ;

ALTER TABLE "USER" ADD CONSTRAINT USER_TEST_RISC_FK FOREIGN KEY ( ID_TEST ) REFERENCES TEST_RISC ( ID_TEST ) ;

4.2. Implementarea interfeței

Implementarea interfeței a presupus lucrul cu ferestre de tip forms din cadrul C#.NET (Windows Forms) . În această etapă se descriu cele mai importante ferestre din aplicație.

Figura 4. 2 Autentificare

Figura 4. 3 Formular introducere user client

Figura 4. 4 Formular User Banca

Figura 4. 5 Modulul Conturi

Figura 4. 6 Formular adăugare tranzacție

Figura 4. 7 Corelație grupuri-cheltuieli

Figura 4. 8 Modulul Buget

Figura 4. 9 Simulator

Figura 4. 10 Sfaturi utile

Figura 4. 11 Raport clienți

Concluzii

Aplicația a fost creată cu scopul de a oferi o soluție îmbunătățită la sistemul actual al aplicațiilor financiar-bancare, care să simplifice, să integreze și să personalizeze necesitățile financiare ale clienților. Ea presupune în primul rând crearea unui software inovator care să permită agregarea conturilor în vederea monitorizării fondurilor personale. Astfel, soluția oferă suport pentru managementul finanțelor personale și consultanță financiară, având facilități precum: operații cu tranzacții și gestiunea conturilor proprii, planificarea bugetului personal, sfaturi și strategii personalizate de abordare a finanțelor proprii și simulări financiar-bancare. În al doilea rând aplicația este suport pentru analiza comportamentului financiar al consumatorului din perspectiva băncii.

Aplicația bancară de gestiune a finanțelor personale Smart Money reprezintă un punct de pornire pentru un sistem care să integreze toate conturile personale, indiferent de banca de care acestea aparțin, pentru un sistem de accesare a datelor în cloud, accesibil de pe diverse dispozitive (calculator, mobil, tabletă). Este un instrument extrem de util pentru orice bancă, capabil să ofere informații în timp real despre necesitățile consumatorului și despre trendul general al preferințelor acestuia. Astfel, băncile ar putea lua decizii de marketing și de product management centrate pe consumator și nu pe propriile produse și servicii. Un alt aspect pentru care aplicația de față reprezintă un punct de plecare este – la nivelul utilizatorului – predicția cheltuielilor, în funcție de modelul curent de gestiune a fondurilor, iar la nivelul băncii – previzionarea comportamentului și a preferințelor consumatorului în funcție de istoric, comportament și rezultatele simulărilor din aplicație.

Smart Money poate fi îmbunătățită prin extinderea facilităților și mărirea gradului de complexitate în elemente în funcție de utilizatorii finali (segmentați după vârstă, pregătire, acces la tehnologie). În condițiile conectării la sistemul informatic al unei bănci se pot modifica următoarele aspecte:

Interfața îmbunătățită astfel încât să fie scalabilă și să permită acces de pe telefon sau tabletă;

O metodă de a separa mai bine nivelul bazei de date de interfață;

Sincronizarea cu toate conturile bancare reale ale clientului, indiferent de bancă;

În condițiile sincronizării cu toate conturile clientului, aplicația poate fi externalizată către o companie IT și se poate adăuga un modul de comparație a produselor financiare oferite de mai multe bănci;

Automatizarea tranzacțiilor pentru conturile sincronizate;

Modulaizarea: împărțirea aplicației în două module: basic și premium și asocierea cu un plan de tarifare sau de fidelizare;

Păstrarea datelor în cloud;

Adăugarea unei aplicații conexe care să fie rulată de sistemul de prelucrare a simulărilor. Aceasta are drept scop analiza trendului consumatorului, analiza nevoilor și predicția comportamentului și a deciziilor financiare;

Adăugarea componentei BI care să ofere predicție pentru tranzacții, după un pattern propriu comportamentului și istoricului clientului;

Îmbunătățirea securității;

Adăugarea facilităților de operare cu fondurile din conturi, în condiții de securizare maximă;

Modulul Simulări financiare poate fi actualizat cu multe alte simulări și quiz-uri din domeniul financiar;

Lucrul cu mai multe monede precum euro, dolar, liră sterlină, franc elvețian;

Lucrarea a fost structurată în cinci părți. Primul capitol a prezentat o introducere succintă în problema economică tratată și anume nevoia existenței unei aplicații bancare inovatoare, integrate și complexe într-o piață cu mult potențial, aflată în plină expansiune. În cel de-al doilea capitol au fost tratate tehnologiile utilizate pentru realizarea aplicației. Următorul capitol s-a axat pe analiza și proiectarea sistemului informatic, având în vedere crearea de diagrame UML și schema conceptuală a bazei de date. Al treilea capitol abordează implementarea, securitatea și testarea soluției informatice, iar ultimul capitol are în vedere îmbunătățirile ce pot fi aduse acesteia.

În continuare voi avea în vedere detalierea bazei de date, rafinarea interfeței, introducerea unor noi limbaje de programare și tehnologii de inteligența afacerii, dezvoltarea unei aplicații conexe care să permite analiza consumatorului în timp real, din perspectiva băncii.

Bibliografie

Materiale tipărite

Heffernan, S. (2005), Modern Banking, Editura John Wiley&Sons, Ltd, West Sussex, UK

Kirițescu, C (1997), Sistemul bănesc al leului și precursorii lui, Editura Enciclopedică, București

Lungu, I., Sabău, G., Velicanu, M., Muntean, M., Ionescu, S., Posdarie, E., Sandu,D. (2003), Sisteme informatice – analiză, proiectare și implementare, Editura Economică, București

Lungu, I. (2005), Baze de date Oracle – Limbajul SQL, Editura ASE, București

Pender, T. (2002), UML- Weekend crash course, Wiley Publishing, Inc., Indianapolis, US

Sabău, G., Muntean, M., Avram, V., Dârdală,M., Bologa, R., (2008), Baze de date, Editura Matrix Rom, București

Velicanu, M., Lungu, I., Botha, I., Bâra, A., Velicanu, A., Rednic, E., (2009), Sisteme de baze de date evoluate, Editura ASE, București

Surse electronice

8. Junior Achievement Young Enterprise România, Program de educație financiară BANI IQ, [http://www.baniiq.ro/uploads/resurse_prg/Manual%20BaniIQ.pdf], accesat mai 2013.

9.Wikipedia, History of Banking, Wikipedia – Enciclopedie liberă. [Interactiv], [http://en.wikipedia.org/wiki/History_of_banking], accesat mai 2013

10. Pilone, D., Pitman, N. (2005), UML 2.0 in a Nutshell, O’Reilly Media, Sebastopol, CA. [Interactiv], [http://it-ebooks.info/book/154/], accesat mai 2013

11. Agerpres, PwC:Numai 4% dintre români folosesc servicii de internet banking, 21 noiembrie 2012 [http://www.agerpres.ro/media/index.php/economic/item/159996-PwC-Numai-4-dintre-romani-folosesc-servicii-de-internet-banking.html], accesat mai 2013

12.Wikipedia, Online Banking, Wikipedia – Enciclopedia liberă, [Interactiv], [https://en.wikipedia.org/wiki/Online_banking], accesat mai 2013

13.Oracle, Oracle Application Express 4.2 [http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html], accesat aprilie 2013

14.Wikipedia, Mobile banking, Wikipedia – Enciclopedia liberă, [Interactiv], [https://en.wikipedia.org/wiki/Mobile_banking], accesat mai 2013

15. Dobre, G., Wall-Street, “Ursache, Grapefruit: Vom avea peste 1 milion de utilizatori activi de mobile banking în următorii 5 ani”, 11 martie 2013, [http://www.wall-street.ro/articol/Finante-Banci/145569/ursache-grapefruit-vom-avea-peste-1-milion-de-utilizatori-activi-de-mobile-banking-in-urmatorii-5-ani.html], accesat mai 2013

16. Negraru, C., Wall-Street, “Fallacher, Orange: Cred foarte mult în NFC. În viitor vom avea un portofel tot mai subțire ”, 7 aprilie 2013, [http://www.wall-street.ro/articol/IT-C-Tehnologie/146889/fallacher-orange-cred-foarte-mult-in-nfc-in-viitor-vom-avea-un-portofel-tot-mai-subtire.html], accesat mai 2013

17. UML, Getting started with UML, [www.uml.org], accesat iunie 2013

18. Autoritatea Națională pentru Protecția Consumatorilor (ANPC), Asociația pentru Protecția Consumatorilor din România (APC România), Programul Național de Educație Financiară “Bugetul Familiei”, Strategia Națională pentru Educație Financiară [http://www.bugetulfamiliei.ro/strategia-nationala-pentru-educatie-financiara-consultare.html], accesat iunie 2013

19. SmartAboutMoney, Values-Centered Financial Education – understanding cultural influences on learners’ financial behaviors, [http://www.smartaboutmoney.org/Portals/0/lifevalue/financialeducation.pdf], accesat iunie 2013

20. Ordinul Ministerului Comunicațiilor și Tehnologiei Informației privind procedura de avizare a instrumentelor de plată cu acces la distanță, de tipul aplicațiilor Internet Banking, Home Banking sau Mobile Banking, nr.218 din 14 iunie 2004, publicat în Monitorul Oficial cu numărul 579 din data de 30 iunie 2004

21. Ordinul Ministerului Comunicațiilor și Tehnologiei Informației privind provedura de avizare a instrumentelor de plată cu acces la distanță, de tipul aplicațiilor Internet Banking, Home Banking sau Mobile Banking, nr.389 din 27 iunie 2007, publicat în Monitorul Oficial cu numărul 485 din data de 19 iulie 2007

22. MySQL, MySQL Presentation, [http://www.mysql.com/why-mysql/presentations/], accesat iulie 2013

23. MySQL, Wikipedia, [http://ro.wikipedia.org/wiki/MySQL], accesat iulie 2013

24. MySQL,MySQL.com , [www.mysql.com/], accesat iulie 2013

25. FinaMetrica, The risk tolerance experts [https://www.finametrica.com/Login.aspx], accesat iulie 2013

26.SmartAboutMoney, NEFE program [http://www.smartaboutmoney.org/], accesat iunie 2013

Similar Posts