Projekt Bankar ne Java

30
Projekt ne gjuhen e programimit Java Tema: Krijimi i nje demo te nje programi bankar Punoi: Ditjon Dafa

description

Paraqitja e nje demo te nje programi bankar

Transcript of Projekt Bankar ne Java

Page 1: Projekt Bankar ne Java

Projekt ne gjuhen e programimit Java

Tema: Krijimi i nje demo te nje programi bankar

Punoi: Ditjon Dafa

Page 2: Projekt Bankar ne Java

PERMBAJTJA:

1. HYRJE MBI BANKAT...............................................................................faqe 5 1.1 Historia e Bankes se Shqiperise....................................................faqe 5

1.2 Pse, kur dhe si krijohet nje banke.................................................faqe 6 1.3 Struktura organizative e nje banke ...............................................faqe 7

1.4 Sherbimet e nje banke...................................................................faqe 7

2. HYRJE NE JAVA........................................................................................faqe 10 2.1 Programimi ne Java.....................................................................faqe 10 2.2 Tipet primitive, klasa String dhe Input/Output...........................faqe 10 2.3 Drejtimi i programit....................................................................faqe 11 2.4 Klasat dhe metodat......................................................................faqe 14 2.5 Me teper rreth objekteve dhe metodave......................................faqe 15 2.6 Arrays..........................................................................................faqe 15

3. ZHVILLIMI I TEMES................................................................................faqe 163.1 SystemCore.java.........................................................................faqe 173.2 BankaX.java................................................................................faqe 183.3 KlientiX.java...............................................................................faqe 19

4. ILUSTRIME TE DEMOS...........................................................................faqe 204.1 Hapi i pare – Hyrja ne Sistemin Bankar.....................................faqe 204.2 Derdhje cash ne libreze(100 000 Leke)......................................faqe 21

4.3 Mbyllje e cash (100 000 Leke) ne depozite nje vjecare te llog. 1000................................................................................faqe 21

4.4 Printimi pas nje viti I llog.libreze (Banka X) duke marre parasysh qe 10% e interesit te depozites eshte takse bankare...faqe 22

4.5 Gjendja e klienteve pas derdhjes cash prej 300 000 Leke tek llogaria 1001.........................................................................faqe 22

4.6 Marrja e kredise per makine nga Admir Dafa............................faqe 23 4.7 Derdhje cash ne llog.rrjedhese tek Adriana Balliu.....................faqe 23

4.8 Gjendja e klienteve pas derdhjes cash 100 000 leke tek llogaria

2000 (+ 50 Leke takse bankare per derdhje ne llog.rrjedhese)..faqe 24

4.9 Mbyllje ne depozite te 100 000 Leke per nje vit te llogarise 2000...........................................................................................faqe 24

4.10 Gjendja e Bankes X pas mbylljes se depozites te llogarise 2000.........................................................................faqe 25

2

Page 3: Projekt Bankar ne Java

4.11 Dergesa nga llog.1001(Banka X) tek 3000(Banka Y) e shumes 900 Leke(+100 Leke takse)........................................................faqe 25

4.12 Gjendja e Banka X(pas dergeses nga llog.1001 tek llog. 3000).............................................................................faqe 26

4.13 Gjendja e Banka Y (pas dergeses nga llog. 1001 tek llog. 3000).............................................................................faqe 26

4.14 Transferta nga llog. 2000 tek llog. 6000 per shumen 4000 Leke (ekuivalente me 30.08 Euro).......................................................faqe 27

4.15 Gjendja Banka X (pas transfertes nga llog. 2000 tek llog. 6000 te 4000 Leke + 600 Leke takse bankare)....................................faqe 27

4.16 Gjendja Banka Z (pas transfertes nga llog. 2000 tek llog.6000 te 30.08 Euro).............................................................................faqe 28

5. KONKLUZIONE.........................................................................................faqe 295.1 Pse zgjodha te diskutoj mbi bankat............................................faqe 295.2 Pse zgjodha te punoj me gjuhen e programimit Java.................faqe 29

6. REFERENCA...............................................................................................faqe 306.1 Hyrje mbi bankat........................................................................faqe 306.2 Hyrje ne Java..............................................................................faqe 30

3

Page 4: Projekt Bankar ne Java

ABSTRACT

Tema paraqet ne vija te pergjithshme se si ka ndodhur krijimi I sistemit bankar ne Shqiperi, si eshte e ndertuar nje banke, cfare sherbime ofron, kur krijohen kushtet per krijimin e nje banke dhe cfare risqesh ajo duhet te marre persiper. Gjithashtu do te ndalemi edhe ne aspektin programativ, I cili eshte ne fakt dhe qellimi kryesor I temes. Gjuha e programimit e zgjedhur per kete problem eshte Java. Si fillim, para se te arrijme ne zhvillimin e programit bankar ne Java, do te bejme nje hyrje ne gjuhen e programimit Java, si funksionon ajo, cilat jane te dhenat qe ajo perdor, si realizohen kushtet apo ciklet ne kete gjuhe, si krijohen metodat e ndryshme, etj. Ne fund, do te jepen disa shembuj konkret te ketij aplikacioni bankar. Objekivi i temes ne aspektin programativ eshte krijimi i nje Sistemi, i cili ben te mundur nje sere veprimesh popullore te bankes si derdhje, terheqje, lenie te nje shume ne depozite, marrje kredie, si dhe transfeta brenda bankes, midis bankave brenda vendit apo edhe transferta me banka jashte vendit.

4

Page 5: Projekt Bankar ne Java

1. Hyjre mbi Bankat

➢ 1.1 Historik i shkurtër i Bankës se Shqiperise

“Historia e Bankës së Shqipërisë dhe e sistemit monetar e të kreditit në Shqipëri është historia e përpjekjeve që i paraprijnë krijimit të Bankës Kombëtare të Shqipërisë (1925-1944), kalimit në Bankën e Shtetit Shqiptar (1944-1992), për të përfunduar në vitin 1992 me Bankën e Shqipërisë, e cila sot gëzon atributet e një banke qendrore moderne.

Për herë të parë Shqipëria pati një institucion të bankës qendrore në vitin 1913. Ajo u krijua si rezultat i marrëveshjes së Qeverisë së Ismail Qemalit, me Karol Pitner e Oskar Pollak, përfaqësues të Wienner Bank Verein që vepronte në emër të grupit bankar austro-hungarez si dhe me Pietro Fenolio e Guido Ansbaher përfaqësues të Banca Commerciale Italiana, që vepronte në emër të grupit bankar italian. Ky institucion nuk jetoi gjatë për vetë kushtet politike të kohës dhe për shkak të fillimit të Luftës së Parë Botërore.

Në vitin 1925, ajo e rifilloi veprimtarinë e saj me emrin Banka Kombëtare e Shqipërisë, me qendër administrative në Durrës dhe me Komitetin Administrativ në Romë. Ringritja e bankës u bë realitet si rezultat i marrëveshjes së përfunduar nga Mufid Libohova në emër të Qeverisë Shqiptare dhe Mario Albertit në emër të një grupi financiar italian.

Në shkurt të vitit 1926, u bë edhe qarkullimi i monedhës së parë kombëtare shqiptare. Si njësi monetare zyrtare u caktua frangu ar. Monedha jonë kishte nënfishat (leku, qindarka 1 franga ar ishte baraz me 5 lek dhe 100 qindarka)dhe shumëfishat e saj (5, 20 dhe 100 franga ar).Gjatë kësaj periudhe, Banka Kombëtare e Shqipërisë zbatoi standardin e arit që nënkuptonte se kartëmonedhat kthehen në ar dhe në valuta të huaja të forta në dollar, në lira, në stërlina, etj..Përveç funksionit emetues, kjo bankë kryente edhe funksione kredituese, ku gjatë një periudhë 10-vjeçare veproi në kushte monopoli, ndërsa nga viti 1938 u gjend në konkurrencë me Bankën e Napolit dhe me Bankën Kombëtare të Punës.

Në vitin 1945, Kryesia e Këshillit Antifashist Nacional-Çlirimtar miratoi ligjin mbi anulimin e konvencionit të Bankës Kombëtare të Shqipërisë dhe të aksioneve të saj, i cili i hapi rrugë shtetëzimit të Bankës. Në 3 janar 1945, u miratua edhe ligji organik i Bankës së Shtetit Shqiptar, me atributet e një banke qendrore dhe ato të një banke tregtare njëkohësisht. Pas luftës së dytë botërore deri në vitin 1990, Banka e Shtetit Shqiptar mbështeti programin e zhvillimit të ekonomisë socialiste, karakteristikë e së cilës ishte centralizimi i skajshëm e këtij sistemi në duart e shtetit.

Në fund të vitit 1990, ndërrimi i sistemit politik në Shqipëri do të pasqyronte ndryshime thelbësore, duke bërë që ekonomia të hynte në një fazë transformimi nga një ekonomi shtetërore në një ekonomi tregu të lirë, transformim ky që do ti jepte jetë sistemit bankar dynivelësh në Shqipëri. Për rrjedhim, në 22 prill 1992, u krijua Banka e Shqipërisë nëpërmjet miratimit të ligjit nr. 7559, “Për Bankën e Shqipërisë”, i cili u rishikua më vonë sipas modeleve të vendeve perëndimore e rekomandimeve të organizmave ndërkombëtare.

5

Page 6: Projekt Bankar ne Java

Banka e Shqipërisë është banka qendrore e Republikës së Shqipërisë. Zhvillimet ekonomiko-politiko-shoqërore që prej krijimit e deri më sot, i kanë shtuar e zgjeruar funksionet e Bankës së

Shqipërisë.”(burimi:http://www.bankofalbania.org/web/Historik_i_shkurter_i_Bankes_5338_1.php (20/01/2011))

➢ 1.2 Pse, kur dhe si krijohet nje banke?

Qellimi I bankes eshte ti ofroj sherbime te ndryshme nje qytetari kundrejt nje tarife te caktuar. Pra, eshte nje lloj biznesi mjaft fitimprures. Gjithashtu qellimi I nje banke eshte te ofroj nje sherbim me mire se bankat e tjera dhe ne menyre me te shpejte.

Ne baze te kerkeses qe ekziston dhe duke marre parasysh konkurrencen e tregut ne nje zone te caktuar, nje banke vendos, te hap apo jo, nje filial ne ate zone.

Rreziqet e hapjes se nje banke jane:1. Vendi -> Ne c’kushte te pergjithshme eshte nje vend?2. Tregu -> A ka treg? A ka likuiditet?3. Besimi -> Sa i sigurt eshte nje banke ne qofte se hapet?4. Biznesi -> Cfare lloji biznesi do ti ofrohet qytetarit?5. Mbarvajtja e planit te biznesit -> Si do te ekzekutohet plani per suksesin e nje banke?6. Ceshtjet politike dhe ekonomike -> Sa e rrezikuar eshte nje banke nga ndryshimet

legjislative apo ekonomike te vendit?Keto risqe duhet te jene ne perqindje sa me te ulet! (duke u bazuar ne: In Channy – The Case Study of ACLEDA Bank)

Nje banke e caktuar duhet te marri parasysh disa aspekte qe do te sherbejne ne nje jete te suksesshme te saj. Keto aspekte jane:

- Programi. Pra nje banke duhet te kete cfare ti ofroj klientit(sherbime) dhe duhet te kete nje plan per te patur nje sukses ne ecurine e jetes se saj.

- Aspekti teknik. Per te patur sukses ne biznes duhet qe te ekzistoje teknika e duhur(personat me aftesine e duhur si dhe logjistika e nevojshme)

- Organizimi. Duhet te ekzistoj nje drejtim sa me i sakte(nga drejtues apo menaxhere) ne menyre qe strukturat e bankes te funksionoj normalisht.

- Aspekti financiar. Edhe ana financiare nuk eshte me pak e rendesishme. Duhen konrolluar kostot ne menyre qe te sigurohet nje kualitet ne investimin e bere. Gjithashtu

6

Page 7: Projekt Bankar ne Java

duhet te ekzistoj nje balance ndermjet tarifave te sherbimeve qe duhet jo vetem te sjellin fitim por edhe te mbulojne kostot administrative dhe kostot e investimeve.

(burimi: In Channy- The Case Study of ACLEDA Bank)

➢ 1.3 Struktura e nje banke:

Nje banke e caktuar e nivelit te dyte ka nje filial qendror(ne pergjithesi ne Tirane) dhe disa filiale(neper rrethe). Ajo ka:

1. drejtuesa administrativ2. menaxhere3. specialiste kredie4. specialist depozite5. llogaritar6. arketare7. specialist IT8. specialist legale9. persona te sherbimit te sigurise

➢ 1.4 Sherbimet e mundshme te nje banke jane:

1. Terheqje cash 2. Derdhje cash 3. Hapje te nje depozite 4. Marrje kredie 5. Trasferta parash 6. Internet banking 7. Kembim valute etj.

7

Page 8: Projekt Bankar ne Java

Depozita ne ProCredit Bank Albania(burimi:ProCredit Bank Albania-Annual Report 2008 )

Marrje huaje ne ProCredit Bank Albania (burimi:ProCredit Bank Albania-Annual Report 2008)

8

Page 9: Projekt Bankar ne Java

Transfertat e parave brenda Shqiperise nepermjet ProCredit Bank Albania (burimi:ProCredit Bank Albania-Annual Report 2008)

Transfertat e parave nga/per jashte Shqiperise nepermjet ProCredit Bank Albania (burimi:ProCredit Bank Albania-Annual Report 2008)

9

Page 10: Projekt Bankar ne Java

2. Hyrje ne Java (bazuar ne librin: Walter Savitch-Java, An Introduction to Computer Science & Programming , 3 rd ed )

➢ 2.1 Programimi ne Java

Java eshte nje software ose program, i cili ka nje kod(source code) dhe te dhena(data). Te dy kete element bashkohen per te dhene nje output.Java eshte nje gjuhe e nivelit te larte(high-level language), gjuhe e kuptueshme nga nje person. Por kompjuteri kupton gjuhe te nivelit te ulet(low-level language). Per kete arsye duhet te ekzistoj nje perkthyes, i quajtur compiler, ne menyre qe te behet perkthimi nga gjuha e nivelit te larte ne nje gjuhe te nivelit te ulet, gjuhe e kuptueshme per nje kompjuter.Faktikisht kompiluesi i Java, perkthen gjuhen ne byte-code, e cila eshte nje gjuhe “makine” per nje “kompjuter” qe quhet Java Virtual Machine. Me pas perkthimin ne gjuhen e vetete makine e ben interpretuesi i Java.Per ta bere sa me reale gjuhen, Java eshte nje gjuhe e orientuar nga objekti(object-oriented programming language). Objektet veprojne nepermjet metodave dhe nese jane te te njejtit lloj, thuhet qe jane pjese e se njejtes klase.

➢ 2.2 Tipet primitive, klasa String dhe Input/Output

Disa tipe primitive jane: byte, short, int, long (numra te plote me madhesi perkatesisht 1 byte, 2 bytes, 4 bytes dhe 8 bytes) float, double (numra me presje me madhesi perkatesisht 4 bytes dhe 8 bytes) char(karakter unicode me madhesi 2 bytes) dhe boolean (vlera true ose false me madhesi 1 bit).

Klasa e String eshte nje klase si cdo tjeter, ka objekte dhe veprime(apo methods). Ne vetvete mund te jete nje fjali, bashkim fjalish etj.

Per te kryer nje Output ne monitor, duhet te kemi parasysh thirrjen: System.out.print(“bla bla”);per te printuar ne nje rresht apo System.out.println(“bla bla”); per te printuar edhe nje rresht te ri.Per sa I perket Input, mund te perdoren metodat e klases SavitchIn:

int x = SavitchIn.readLineInt();long x = SavitchIn.readLineLong();float x = SavitchIn.readLineFloat();double x = SavitchIn.readLineDouble();char x = SavitchIn.readLineNonwhiteChar();String x = SavitchIn.readLine();

10

Page 11: Projekt Bankar ne Java

➢ 2.3 Drejtimi i programit

if-else statement:

Gjate nje kodi na duhet te kryejme nje drejtim. Nese do te kemi nje fjali if-else mund te ishte e kesaj natyre:

if(kushti) { instruksion; instruksion: ….. }else {// Ky eshte nje koment. Nese kushti tek if nuk vertetohet ekzekutohen instruksionet e else instruksion; instruksion; …..}

multibranch if-else:

Mund te kemi nevojen qe te perdorim disa kushte per te zgjedhur nje drejtim te caktuar:

if(kushti 1) { instruksion; instruksion; …...}else if(kushti 2) { instruksion; instruksion; …..}else if(kushti 3) { instruksion; instruksion; …..}

//Nese asnje nga kushtet e mesiperme nuk vertetohet, mund te ekzekutohen instruksionet e //else-it

else{ instruksion; instruksion; ….

11

Page 12: Projekt Bankar ne Java

}

switch statement:

Degezimi switch eshte I ngjashem me multibranch if-else:

switch(konstante){ //Ku konstante eshte nje numer I plote ose nje shkronje case 1: instruksion;

instruksion; ….. break; //Perfundon degezimin switch case 2: instruksion; instruksion; ….. break;

case 3: instruksion; instruksion;

….. break;

default: //Ekzekutohet nese konstante nuk eshte asnje nga shifrat tek case instruksion; instruksion; ….. break;}

cikli while:

While eshte nje cikel qe perseritet sa here vertetohet kushti, dhe gjithashtu behet nje inkrementim apo dekrementim.

while(kushti) { instruksion; instruksion; ….. inkrementim/dekrementim;}

12

Page 13: Projekt Bankar ne Java

cikli do-while:

Cikli do-while eshte I ngjashem me while, vecse ky cikel ekzekutohet te pakten nje here. Te tjerat jane njesoj si cikli while.

do { instruksion; instruksion; …. inkrementim/dekrementim;}while(kushti);

cikli for:

Cikli for eshte I ngjashem me ciklin while, me ndryshimin e vetem qe inicializimi I nje variable, kushti dhe inkrementimi/dekrementimi behen tek rreshti I pare I ciklit:

for(inizializim; kushti; inkrementim/dekrementim) { instruksion; instruksion; …...}

tipi boolean:

Folem pak me pare me tipin boolean qe ka vlera true apo false. Nese do te kishim nje kusht, psh:

if(vlera1 && vlera2) // && dmth AND instruksion; atehere ky if do te ekzekutohej nese te dy vlerat do te ishin true. Cdo rast tjeter nuk do te bente te mundur ekzekutimin e if-it.

Nese do te kishim psh:

if(vlera1 || vlera2) // || dmth OR instruksion;

atehere ky if do te ekzekutohej nese te pakten nje vlere do te ishte true. Ne rast se te dy vlerat jane false atehere ky if nuk ekzekutohet.

13

Page 14: Projekt Bankar ne Java

Nese do te kishim psh:

if(!(vlera1)) // ! dmth NOT instruksion;

atehere ky if do te ekzekutohej nese vlera1 do te ishte false. Ne rast te kundert(vlera1 eshte true), if nuk do te ekzekutohej.

➢ 2.4 Klasat dhe metodat

Klasat pervec atributeve, kane edhe metodat perkatese. Nese do te merrnim si shembull klasen BankaX.java(do ta shohim tek zhvillimi I temes), atehere mund te thoshim qe:

private int maxKlienteX; private KlientiX kliente[]; private int numKlienteX; private int numKlienteLibrezeX; private int numKlienteLlogRrjedhX; private double kapitaliLibrezeX; private double kapitaliLlogRrjedheseX;

jane atribute te klases perkatese. Atributet ne fjale, jane private, pra aksesohen direkt vetem brenda klases se tyre. Nje atribut mund te jete nje tip primitiv, nje String apo nje array(do ta shohmi pak me vone).

Gjithashtu nje klase ka dhe metodat(apo funksionet) e saj. Nese perseri do te merrnim si shembull perseri klasen BankaX.java, disa nga metodat jane:

1)public double getKapitaliLibrezeX() {

return kapitaliLibrezeX; }

2)public boolean ekzistonLibX(int nrLibX) {

boolean b = false; for(int i = 0; i < maxKlienteX; i++) {

if(kliente[i].getNrLibrezeX() == nrLibX) { b = true;

} } return b;

}

14

Page 15: Projekt Bankar ne Java

Metoda e pare jep si rezultat kapitalin e librezave te Banka X, nese kjo kerkohet nga nje klase tjeter apo nga main(vendi ku fillon ekzekutimi I programit). Fshehja e informacionit per klasat e tjera apo main, eshte pjese e ndertimit te gjuhes Java dhe quhet encapsulation.Metoda e dyte kthen nje vlere booleane(true apo false), ne varesi te gjetjes apo jo te nje numri libreze ne Banken X. Konkretisht merret si parameter per kete metode variabla e plote nrLibX. “Skanohen” te gjithe klientet dhe nese nje prej tyre ka numrin e librezes te barabarte me variablen e mesiperme, kthehet vlera true. Ne te kundert kthehet vlera false.

➢ 2.5 Me teper rreth objekteve dhe metodave

Overloading:

Nese kemi dy metoda me te njejtin emer brenda nje klase te caktuar, atehere themi se kemi overloading. Megjithate, ne menyre qe te kemi nje mbarevajtje brenda klases, duhet te kete dicka ndryshe midis metodave, psh numrin e parametrave te metodes, apo parametra te tipeve te ndryshem edhe pse te njejte ne numer.

Konstruktoret

Konstruktori eshte nje metode, brenda nje klase, e cila krijon nje objekt te asaj klase duke marre apo jo nje apo me shume parametra. Nje konstruktor, qe nuk merr parametra quhet konstruktori default. Si cdo metode edhe te konstruktori mund te ndodh qe te kemi overloading.

➢ 2.6 Arrays

Nje array eshte nje lloj objekti, qe sherben per te memorizuar nje grumbull te dhenash. Ai duhet te rezervoj te dhena te te njejtit tip(psh integer), ose te te njejtes klase.

Sintaksa e nje array eshte e tille:Tipi_Baze(Klasa_Baze) [] Emri_Array = new Tipi_Baze(Klasa_Baze)[Gjatesia];Elementet e nje array variojne nga 0 –> Gjatesia_e_Array – 1.

15

Page 16: Projekt Bankar ne Java

3. Zhvillimi i temes

Me nje program bankar, te krijuar nepermjet gjuhes se programimit Java, deshirohet te tregohet nje Sistem ku ekziston nje banke kryesore, e cila eshte banka e origjines(Banka X), e cila ka klientet e saj(Klienti X). Po ashtu ekziston edhe nje banke tjeter brenda vendit, jo e njejte me banken e origjines(Banka Y), me klientet e saj (Klienti Y). Gjithashtu eshte dhe nje banke tjeter e huaj me monedhe veprimi Euro(Banka Z) me klientet e saj(Klienti Z).

Ideja e ketij projekti eshte te krijohet nje demo nga ku mund te kryen disa veprime bankare, sic mund te jene terheqje, derdhje cash, mbyllje ne depozite, kalkulim te pageses mujore te nje kredie te caktuar, si dhe transferta brenda dhe jashte bankes se origjines. Ndoshta mund te ishte krijuar nje sistem ku veprimet bankare te ishin bere edhe tek banka tjeter brenda vendit si dhe tek banka e huaj. Megjithate, nuk e pashe te arsyeshme, pasi nuk do te bente gje tjeter, vecse do te ngarkonte ne menyre te panevojshme programin.

Tek BankaX, kemi dy lloje llogarish: llogari libreze dhe llogari rrjedhese. Po ashtu edhe tek Banka Y dhe Banka Z ekzistojne keto dy lloj llogarishe. Ne banken e origjines(Banka X), veprimet e llogari libreze jane keto:

1) Terheqje nga libreza e klientit te Bankes X2) Derdhje ne libreze te klientit te Bankes X3) Lenie ne depozite te librezes se klientit te Bankes X4) Marrje kredie nepermjet librezes per klientin e Bankes X

Ndersa, veprimet e llogarise rrjedhese jane keto:

1) Terheqje nga llog. rrjedhese e klientit te Bankes X2) Derdhje ne llog. rrjedhese te klientit te Bankes X3) Lenie ne depozite te llog. rrjedhese te klientit te Bankes X

Gjithashtu, nder veprimet brenda kesaj klase, jane dhe transfertat brenda Bankes X, si dhe midis Bankes X dhe Bankes Y, Bankes X dhe Bankes Z.

Transfertat jane te kesaj natyre:1) Llog. Libreze Banka X → Llog. Libreze Banka X2) Llog. Libreze BankaX → Llog. Libreze Banka Y3) Llog. Libreze Banka X → Llog. Libreze Banka Z4) Llog. Libreze Banka X → Llog. Rrjedhese Banka X5) Llog. Libreze Banka X → Llog. Rrjedhese Banka Y6) Llog. Libreze Banka X → Llog. Rrjedhese Banka Z

Po ashtu ekzistojne transferta midis Llog. Rrjedhese Banka X me destinuesit e 6 transfertave te mesiperme.

16

Page 17: Projekt Bankar ne Java

➢ 3.1 SystemCore.java

Kjo klase eshte klasa ku ekziston dhe main-i apo ndryshe starti I gjithe programit qe po trajtohet.

1) Tek kjo klase krijohen 5 persona per secilen banke (X, Y, Z). Nga keta 5 persona te seciles banke, 2 prej tyre kane llog. libreze, 2 llog. rrjedhese ndersa 1 prej tyre I posedon te dyja keto brenda te njejtes banke, gjithmone.

2) Normalisht krijohen klientet te seciles banke. Krijohet identiteti, numri I llogarise dhe vlera default e cash qe ata posedojne 0 leke.

3) Hapi tjeter eshte krijimi I pjeseve te kodit qe do te sherbejne per veprimet qe u permenden pak me lart. Psh nese do te merrnim terheqjen nga libreza e klientit te bankes X, do te veprohej ne kete menyre:

Do te verifikohej nese ekzistojne emri dhe numri i librezes. Nese nuk ekzistojne apo ka mosperputhshmeri, veprimi I terheqjes nuk realizohet. Ne rast te kundert do te kerkohet shuma se sa do te terhiqet. Nese gjendja e llogarise eshte 0, atehere terheqja eshte e pamundur. Nese shuma e kerkuar per tu terhequr eshte me e madhe se ajo qe ekziston ne libreze atehere ne baze te procedures mund te terhiqet ajo shume derisa ne gjendje te kete 0 leke. Ne rastin me te mire, ku shuma ne gjendje eshte me e madhe se ajo qe kerkohet te terhiqet, veprohet pa problem me terheqjen e kerkuar. Ne rastin e nje terheqje, normalisht gjendja e personit qe terheq zbritet dhe ndodh gjithashtu edhe me kapitalin e Bankes X.

4) Ne menyre te ngjashme realizohen edhe veprimet e tjera me perjashtim te transfertave. Marrim pikerisht rastin me te thjeshte, ate te transfertes se nje shume nga nje numer libreze ne nje tjeter te njejte brenda Bankes X. Ne kete shembull do te veprohej ne kete menyre:

Pasi te merren numrat e llog. derguese dhe marrese, verifikohen nese ekzistojne apo jo. Ne rast se keto llogari nuk ekzistojne atehere veprimi nuk realizohet. Ne ratin e kundert, merret shuma qe do te transferohet nga nje llogari ne tjetren. Ne rast se gjendja e derguesit eshte 0 leke, nuk mund te behet transferte, ne rast se shuma eshte me e madhe se gjendja e derguesit, atehere dergohet vetem shuma qe eshte ne gjendje tek derguesi. Ne rast se shuma eshte me e vogel se gjendja e personit qe dergon, atehere dergohet pikerisht ajo shume. Ne rast se behet nje transferte, gjendja e derguesit normalisht zbritet me sa eshte shuma, e marresit rritet me vleren e shumes, ndersa kapitali bankar i Bankes X ngelet konstant .

5) Nje hap tjeter eshte printimi i gjendjes se nje klienti te caktuar, klienteve qe kane llog. libreze, qe kane llog. rrjedhese apo te gjithe pa perjashtim(kuptohet te nje banke te caktuar-psh te Bankes X)

17

Page 18: Projekt Bankar ne Java

Ne rastin e nje personi te vetem, verifikohet emri dhe numri i llog.(libreze apo rrjedhese) dhe nese perputhet emri me numrin perkates te llogarise, printohet informacioni I kerkuar, pra emri dhe gjendja e llogarise qe ai posedon. Ne menyre te ngjashme realizohet per te gjithe personat qe posedojne nje llog. libreze, llog. rrjedhese apo te dyja bashke, duke shfaqur gjithashtu se sa kliente ekzistojne dhe se sa eshte kapitali i Bankes X.

Ne menyre te ngjashme veprohet per Banken Y dhe Banken Z.

➢ 3.2 BankaX.java

Tek klasa Banka X do te shohim keto atribute:

private int maxKlienteX; private KlientiX kliente[]; private int numKlienteX; private int numKlienteLibrezeX; private int numKlienteLlogRrjedhX; private double kapitaliLibrezeX; private double kapitaliLlogRrjedheseX;

Atributet sic shihen jane private, qe do te thote, nese kerkohen nga nje klase e jashtme nuk mund te aksesohen direkt por nepermjet ndihmes se nje metode publike brenda klases Banka X, e cila do te kthej vleren e kerkuar.Sic shihet Banka X ka numrin maksimal te klienteve, ka nje array me kliente(objekte te klases Klienti X), numrin aktual te klienteve te Bankes X, numrin aktual te klienteve me llog. libreze, numrin aktual te klienteve me llog. rrjedhese, kapitalin nga klientet me llog.libreze, kapitalin nga klientet me llog. rrjedhese, si dhe shuma e ketyre dy te fundit jep kapitalin total te Bankes X.

Ne menyre te ngjashme ndodh edhe tek klasa BankaY.java dhe BankaZ.java.

18

Page 19: Projekt Bankar ne Java

➢ 3.3 KlientiX.java

Tek klasa Klienti X do te shohim keto atribute:

private String emriX; private double gjendjaLibrezeX; private double gjendjaLlogRrjedheseX; private int nrLibrezeX; private int nrLlogRrjedheseX;

Sic u tha pak me lart, kur kemi atribute qe jane private, eshte e nevojshme nje metode publike brenda klases(ne rastin konkret KlientiX.java) per te aksesuar te dhenat private nga nje klase e jashtme.Ne kete klase shohim emrin e klientit te Bankes X, gjendjen e llog.libreze, ose te llog.rrjedhese(ose te dyja nese ai klient i posedon), numrin e nje llog.libreze dhe numrin e nje llog.rrjedhese.

Ne menyre te ngjashme ndodh edhe tek klasa KlientiY.java dhe KlientiZ.java.

19

Page 20: Projekt Bankar ne Java

4. Ilustrime te demos

➢ 4.1 Hapi I pare – Hyrja ne Sistemin Bankar

20

Page 21: Projekt Bankar ne Java

➢ 4.2 Derdhje cash ne libreze(100 000 Leke)

➢ 4.3 Mbyllje e cash (100 000 Leke) ne depozite nje vjecare te llog. 1000

21

Page 22: Projekt Bankar ne Java

➢ 4.4 Printimi pas nje viti I llog.libreze (Banka X) duke marre parasysh qe 10% e interesit te depozites eshte takse bankare

➢ 4.5 Gjendja e klienteve pas derdhjes cash prej 300 000 Leke tek llogaria 1001

22

Page 23: Projekt Bankar ne Java

➢ 4.6 Marrja e kredise per makine nga Admir Dafa

➢ 4. 7 Derdhje cash ne llog.rrjedhese tek Adriana Balliu

23

Page 24: Projekt Bankar ne Java

➢ 4. 8 Gjendja e klienteve pas derdhjes cash 100 000 leke tek llogaria 2000(+ 50 Leke takse bankare per derdhje ne llog. rrjedhese)

➢ 4.9 Mbyllje ne depozite te 100 000 Leke per nje vit te llogarise 2000

24

Page 25: Projekt Bankar ne Java

➢ 4. 10 Gjendja e Bankes X pas mbylljes se depozites te llogarise 2000

➢ 4.11 Dergesa nga llog.1001(Banka X) tek 3000(Banka Y) e shumes 900 Leke(+100 Leke takse)

25

Page 26: Projekt Bankar ne Java

➢ 4.12 Gjendja e Banka X(pas dergeses nga llog.1001 tek llog. 3000)

➢ 4. 13 Gjendja e Banka Y (pas dergeses nga llog. 1001 tek llog. 3000)

26

Page 27: Projekt Bankar ne Java

➢ 4.14 Transferta nga llog. 2000 tek llog. 6000 per shumen 4000 Leke(ekuivalente me 30.08 Euro)

➢ 4.15 Gjendja Banka X (pas transfertes nga llog. 2000 tek llog. 6000 te 4000 Leke + 600 Leke takse bankare)

27

Page 28: Projekt Bankar ne Java

➢ 4. 16 Gjendja Banka Z (pas transfertes nga llog. 2000 tek llog.6000 te 30.08 Euro)

28

Page 29: Projekt Bankar ne Java

5. Konkluzione

➢ 5.1 Pse zgjodha te diskutoj mbi bankat

Zgjodha te diskutoj mbi bankat sepse eshte nje teme sa e rendesishme aq edhe delikate. E rendesishme pasi banka eshte institucioni ku behen te gjitha levizjet e likuiditeteve te nje ekonomie kombetare apo dhe me gjere. Eshte nje teme delikate pasi nga rezervat dhe funksionimi i duhur i tyre varet fati i nje kombi apo me gjere. Fakti i dyte, u pa dukshem ne krizen e fundit boterore qe filloi ne vitin 2007.

➢ 5.2 Pse zgjodha te punoj me gjuhen e programimit Java

Zgjodha te punoj ne Java, jo vetem per arsye se eshte nje gjuhe ku kam me shume eksperience, por gjithashtu e konsideroj nje gjuhe qe gjendem mire kur duhet te zhvilloj nje projekt qe ka te bej me llogaritje numerike, sic eshte rasti i krijimit te nje programi bankar.

29

Page 30: Projekt Bankar ne Java

6. Referenca

➢ 6.1 Hyrje mbi bankat

1) http://www.bankofalbania.org (20/01/2011)2) In Channy – The Case Study of ACLEDA Bank 3) ProCredit Bank Albania-Annual Report 2008

➢ 6.2 Hyrje ne Java

1) Walter Savitch-Java, An Introduction to Computer Science & Programming, 3rd ed Pearson Prentice Hall, 7-10,13,46,70-74, 81,84, 107,120,125,131,135,145,165, 196-197, 225,297, 312, 342,344 (2004)

30