Tải bản đầy đủ (.doc) (41 trang)

Mô tả hoạt động của ngành ngân hàng ngân hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (164.97 KB, 41 trang )

Phần 1:
Phần mở đầu.
Hiện nay cả thế giới đang dần chuyển sang nền kinh tế tri thức và ngành
công nghệ thông tin cũng dần dần đợc ứng dụng vào hầu hết các hoạt động trong
nền kinh tế của các quốc gia trên toàn thế giới. Việt Nam cũng đang trên con đờng
hội nhập và phát triển cùng với khu vực và thế giới, chính vì vậy việc ứng dụng tin
học trong các lĩnh vực của cuộc sống rất đợc quan tâm. Một trong những ứng dụng
đó là sử dụng tin học để quản lý tiền gửi trong một ngân hàng. Đất n ớc càng phát
triển, nhận thức của ngời dân càng mở rộng thì công việc của ngành ngân hàng
càng trở nên quan trọng, chính vì vậy việc sử dụng những thành tựu của tin học để
quản lý tiền gửi trong ngân hàng là không thể thiếu.
Trong đề án này em xin đợc sử dụng những kiến thức của mình để thiết kế
phần mềm quản lý tiền gửi trong một ngân hàng. Bởi lý do thời gian và khả năng
của bản thân còn hạn chế vì thế chắc chắn chơng trình không thể đợc hoàn thiện,
em rất mong nhận đợc sự đóng góp ý kiến và sự chỉ bảo tận tình của thầy giáo h-
ớng dẫn và của tất cả các thầy cô giáo trong khoa Tin học kinh tế.
Em xin chân thành cảm ơn!
Phần 2:
Nội Dung.
Ch ơng1 :
Mô tả hoạt động của ngành ngân hàng ngân
hàng và lý lựa chọn đề tài.
I. Mô tả hoạt động của tổ chức ngân hàng.
1. Sơ đồ tổ chức ngân hàng.

Gi¸m ®èc
Chi nh¸nh 2
Héi ®ång qu¶n trÞ
Ban tæng gi¸m ®èc
Phã tæng gi¸m ®èc Phã tæng gi¸m ®èc
Gi¸m ®èc


Chi nh¸nh 1
Phã gi¸m ®èc
Tr­ëng Phßng
TC
Phã Phßng
KiÓm so¸t viªn
Nh©n Viªn
Së giao dÞch
Tr­ëng phßng
nh©n sù
2. Hoạt động chung của ngân hàng.
2.1.Thay đổi tiền dự trữ.
Nói chung các ngân hàng thu lợi luận bằng cách bán các tài sản nợ có một
đặc tính (một kết hợp riêng về tính lỏng, rủi ro và lợi tức ) và dùng tiền mua đợc
để mua những tài sản có một số đặc tính khác. Nh thế, các ngân hàng cung cấp
một số dịch vụ chuyển một loại tài sản thành một loại tài sản khác cho công chúng.
Quá trình chuyển các tài sản và cung cấp một loại dịch vụ (thanh toán séc,
ghi chép sổ sách, phân tích tín dụng )cũng giống nh bất cứ quá trình sản xuất nào
khác trong hãng kinh doanh. Nếu một ngân hàng tạo ra những dịch vụ hữu ích với
chi phí thấp và có đợc doanh thu cao nhờ tài sản của mình, thì ngân hàng đó thu đ-
ợc lợi nhuận.
Khi một ngân hàng thơng mại nhận thêm tiền gửi, thì tiền dự trữ tăng thêm
đúng bằng số tiền gửi đó; khi tiền gửi rút ra, nó bị mất một số lợng tiền dự trữ đúng
bằng với số tiền gửi rút ra.
2.2.Tạo lợi nhuận từ việc cho vay
Nh phần trên ta thấy, các ngân hàng thơng mại tăng thêm hay mất bớt tiền
dự trữ nh thế nào. Bên cạnh việc thay đổi tiền dự trữ một hoạt động nữa của ngân
hàng đó là bố trí lại bảng cân đối tài sản để tạo ra lợi nhuận khi ngân hàng tạo ra
thay đổi về số tiền gủi của nó.
Các ngân hàng thơng mại thu lợi nhuận chủ yếu bằng cách cho vay. Tiền

vay là khoản nợ đối với ngời vay, nhng là một tài sản đối với ngân hàng thơng mại
và nó mang lại thu nhập cho ngân hàng. Nói chung tiền cho vay là kém lỏng so với
các tài sản khác bởi vì chúng không thể chuyển thành tiền mặt trớc khi các khoản
cho vay đó mãn hạn. Các khoản tiền cho vay cũng có xác suất vỡ nợ cao hơn so với
các tài sản khác. Do thiếu tính lỏng và có rủi ro vỡ nợ cao nên ngân hàng thơng
mại thờng thu đợc nhiều lợi nhuận nhờ vào các món tiền cho vay.
3. Thực trạng ứng dụng tin học trong ngân hàng
Hiện nay do sự phát triển của khoa học công nghệ và ngời dân có những
nhận thức tiến bộ về việc gửi tiền trong ngân hàng cho nên trong khoảng vài năm
trở lại đây ngành ngân hàng đã có những bớc phát triển đáng kể, đặc biệt là việc áp
dụng công nghệ thông tin vào xử lý tài chính. Trong một số ngân hàng lớn hiện
nay nh các ngân hàng ở Hà Nội hay thành phố Hồ Chí Minh thì việc áp dụng tin
học vào xử tài chính là một việc đang rất đợc quan tâm . Mặc dù đã có những bớc
phát triển nh vậy nhng hiện nay việc áp dụng tin học trong hoạt động của hầu hết
các ngân hàng ở Việt Nam vẫn cha đạt hiệu quả cao, máy tính chỉ đợc sử dụng để
thực hiện những công việc đơn giản, cha khai thác hết những khả năng và giá trị
đích thực của máy tính.
II. Lý do lựa chọn đề tài.
1. Tên đề tài .
Thiết kế phần mềm quản lý tiền gửi trong một ngân hàng với các chức năng:
Nạp, Thêm, Bớt, Sửa, In. Dùng cấu trúc dữ liệu danh sách liên kết của PASCAL.
2. Lý do lựa chọn.
Đề tài giúp cho em có thể hiểu rõ hơn về hoạt động của ngành ngân hàng
đồng thời qua đó cũng giúp em hiểu biết hơn tình hình ứng dụng tin học trong
ngành ngân hàng ở nớc ta hiện nay. Qua việc thực hiện đề tài này em cũng nắm
chắc hơn những kiến thức về cấu trúc dữ liệu danh sách liên kết của PASCAL và
cách ứng dụng tin học để xử lý các công việc của ngành ngân hàng.
3. Mục đích của đề tài .
Mục đích của đề tài nhằm giúp cho sinh viên hiểu rõ hoạt động của ngành
ngân hàng, bên cạnh đó giúp cho sinh viên nắm vững hơn những kiến thức cơ bản

trong lập trình nh kiến thức về cấu trúc dữ liệu danh sách liên kết. Đề tài cũng giúp
cho sinh viên làm quen cách viết chơng trình phần mềm để có thể ứng dụng tin học
vào việc xử lý các hoạt động của ngân hàng.
4. Khả năng áp dụng.
Chơng trình đợc sử dụng để quản lý tiền gửi trong một ngân hàng với các
hoạt động thờng xảy ra trong ngân hàng nh: Mở tài khoản mới cho khách hàng,
thực hiện các công việc gửi tiền vào tài khoản hoặc rút tiền ra khỏi tài khoản, sửa
chữa những thông tin đã lu trữ về khách hàng, hiện các báo cáo về khách hàng, tài
khoản của khách hàng hoặc tổng tiền gửi trong ngân hàng
Ch ơng 2:
Thiết kế cấu trúc của chơng trình.
1. Các tính năng chính của chơng trình.
Chơng trình có năm chức năng chính : Nạp , Thêm, Bớt , Sửa, In.
Nạp : Nạp dữ liệu đã đợc lu trữ trên đĩa để sử dụng
Thêm : - Thêm tài khoản mới cho khách hàng
- Thêm tiền gửi vào tài khoản của khách hàng
Bớt: - Rút tiền lãi từ tài khoản.
- Rút tiền từ tài khoản.
- Rút cả gốc lẫn lãi (Huỷ bỏ tài khoản).
Sửa: Sửa các thông tin về khác hàng.
In : - In toàn bộ danh sách khách hàng.
- In thông tin về một khách hàng.
- In thông tin về một tài khoản.
- Tổng tiền gửi trong Ngân hàng.
2. Phơng pháp thiết kế sử dụng:
Phơng pháp thiết kế đợc sử dụng là phơng pháp thiết kế từ đỉnh xuống (Top
down design).
Đây là một phơng pháp thiết kế giải thuật dựa trên t tởng module hoá. Nội
dung của phơng pháp nh sau:
Trớc hết ngời ta xác định các vấn đề chủ yếu nhất mà việc giải quyết bài

toán yêu cầu, bao quát đợc toàn bộ bài toán. Sau đó phân chia nhiệm vụ cần giải
quyết thành các nhiệm vụ cụ thể hơn, tức là chuyển dần từ module chính xuống
các module con từ trên xuống dới, do vậy phơng pháp có gọi là thiết kế từ đỉnh
xuống (Top down design).
3. Thiết kế các module.
Chương trình quản lý tiền gửi NH
Gửi tiền
Mở TK mới
Gửi thêm tiền
Vào TK đã có
Rút tiền
Rút tiền lãi
Rút tiền gốc
Tất toán
Huỷ tài khoản
Tìm kiếm thông
tin về KH
Báo cáo
Danh sách KH
Thông tin về KH
Thông tin về TK
Tổng tiền gửi
trong ngân hàng
4. Lý do lựa chọn phơng pháp thiết kế trên.
Chơng trình đợc thiết kế nhằm mục đích quản lý tiền gửi trong một ngân
hàng vì thế khi lựa chọn phơng pháp thiết kế trên ta có thể bao quát đợc toàn bộ
công việc. Với phơng pháp thiết kế này ta có thể nắm bắt đợc những yêu cầu
chính của công việc từ đó chia ra các module chính. Sau khi thiết kế đợc các
module chính ta có thể đi vào giải quyết từng yêu cầu trong mỗi module một
cách riêng rẽ qua việc thiết kế các module con. Nh vậy việc lựa chọn phơng

pháp trên sẽ giúp cho việc thiết kế phần mềm đạt hiệu quả cao.
5. Ngôn ngữ lập trình và cấu trúc dữ liệu sử dụng.
Ngôn ngữ lập trình sử dụng:
Sử dụng ngôn ngữ lập trình PASCAL, đây là ngôn ngữ có cấu trúc
tiền định đủ mạnh sẽ cho phép chúng ta biểu diễn các giải thuật một cách
ngắn gọn, dễ dàng hình dung ra các công đoạn thiết kế giải thuật.
PASCAL có các cấu trúc dữ liệu đầy đủ, có thể biểu diễn các loại cấu trúc
dữ liệu từ đơn giản đến phức tạp, từ cấu trúc tuyến tính đến cấu trúc phi
tuyến tính.
Cấu trúc dữ liệu sử dụng:
Sử dụng cấu trúc dữ liệu danh sách liên kết. Danh sách liên kết là
danh sách trong đó các phần tử đợc kết nối với nhau bởi vùng liên kết của
chúng. Đây là loại cấu trúc dữ liệu thích hợp cho phép thêm vào, loại bỏ
hoặc ghép nối các phần tử của danh sách.
Nguyên tắc tổ chức danh sách liên kết nh sau: Vùng liên kết của
phần tử thứ i chứa địa chỉ của phần tử thứ i+1 (i=1..n-1), vùng liên kết của
phần tử cuối cùng n mang giá trị rỗng (nil). Mỗi phần tử của danh sách
liên kết gồm hai phần chính:
- Vùng chứa dữ liệu (data).
- Vùng địa chỉ của các phần tử khác (gọi là vùng liên kết Link).
Ngoài ra, ngời ta còn sử dụng các chỉ điểm Fisrt, Last... (kiểu Pointer) để
chứa địa chỉ của phần tử đầu, cuối .
Ch ơng 3:
Nội dung chơng trình.
1. Diễn đạt nội dung chơng trình đã đợc thiết kế bằng ngôn ngữ lập
trình.
Chơng trình đợc viết bằng ngôn ngữ lập trình PASCAL và đợc viết trong th
mục C:\DEANPAS vì thế để chạy chơng trình cần Copy toàn bộ th mục
DEANPAS vào th mục gốc của ổ đĩa C.
Sau đây là toàn bộ chơng trình:

{ chuong trinh tu dong tao ra trong thu muc C:\DEANPAS cac tep KH.dat,
TK.dat, GDgui.dat, GDrut.dat va THDL.dat neu trong thu muc khong co
cac tep do hoac khi chay chuong trinh lan dau tien. Neu trong thu muc
da ton tai cac tep neu tren thi chuong trinh se lay du lieu tu cac tep do.
CHUONG TRINH QUAN LY TIEN GUI TRONG MOT NGAN
HANG
*************************************************
}
{$N+}
uses crt;
const ls=0.2;
type
khPointer=^khachhang;
khachhang=record
SoHSKH:string[7];
hoten:string[30];
diachi:string[50];
soCMT:string[9];
Ngaycap:string[10];
Next:khPointer;
end;
tkPointer=^taikhoan;
taikhoan=record
SoTaiKhoan:string[7];
SoHSKH:string[7];
SoTienTrongTK:double;
laisuat:real;
Next:tkPointer;
end;
guiPointer=^GDgui;

GDgui=record
Ngaygui:string[10];
Sotaikhoan:string[7];
tiengui:double;
Next:guiPointer;
end;
rutPointer=^GDrut;
GDrut=record
Ngayrut:string[10];
SoTaikhoan:string[7];
tienrut:double;
Next:rutPointer;
end;
TongHopDL=record
TongsoHSKH:longint;
TongsoTK:longint;
Tongtiengui:double;
end;
var
dsKH:file of khachhang;
dsTK:file of taikhoan;
dsGDgui:file of GDgui;
dsGDrut:file of GDrut;
TongHop:file of TongHopDL;
i,SoBanGhiKH,SoBanGhiTK:longint;
tongsotien:double;
kyhan:byte;s:string;
chuoi:string[10];
chon0,chon1,chon2:byte;
traloi:char;ktraNgay:boolean;

lsuat:real;
THDL:TongHopDL;
motKH:khachhang;
motTK:taikhoan;
motGDgui:GDgui;
motGDrut:GDrut;
FirstKH,LastKH,pKH,qKH:khPointer;
FirstTK,LastTK,pTK,qTK:tkPointer;
FirstGui,LastGui,pGui,qGui:guiPointer;
FirstRut,LastRut,pRut,qRut:rutPointer;
{ CAC PROCEDURE }
procedure Main_Menu(var chon:byte);
begin
clrscr;
window(18,7,80,25);
textcolor(2);
writeln('****************************************');
write('*');textcolor(7);
write(' MAIN MENU ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 1.Mo tai khoan moi ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 2.Gui tien vao tai khoan ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 3.Rut tien tu tai khoan ');
textcolor(2);writeln('*');
write('*');textcolor(7);

write(' 4.Sua chua thong tin ve KH ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 5.Tim kiem ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 6.In bao cao ');
textcolor(2);writeln('*');
write('*');textcolor(7);
write(' 7.Ket thuc chuong trinh ');
textcolor(2);writeln('*');
write('* ***');textcolor(7);
write(' Chon so: ');
textcolor(2);writeln('*');
writeln('****************************************');
textcolor(7);
gotoxy(19,10);readln(chon);
window(1,1,80,25);
end;
procedure Menu_In(var chon:byte);
begin
clrscr;
window(18,7,80,25);
textcolor(2);
writeln(' IN BAO CAO');
writeln(' --------------');
writeln;textcolor(7);
writeln(' 1. In danh sach khach hang.');
writeln(' 2. In thong tin ve 1 khach hang.');
writeln(' 3. In thong tin ve 1 tai khoan.');

writeln(' 4. Bao cao tong tien gui trong NH.');
writeln(' 5. Quay ve Main menu.');
write(' ** Chon so: ');
readln(chon);
window(1,1,80,25);
end;
procedure Nap_KH;
begin
FirstKH:=nil;
end;
procedure Nap_TK;
begin
FirstTK:=nil;
end;
procedure Nap_GDgui;
begin
FirstGui:=nil;
end;
procedure Nap_GDrut;
begin
FirstRut:=nil;
end;
procedure DuyetKH;
var ptr:khPointer;
i:longint;
begin
i:=0;
ptr:=FirstKH;
while ptr<>nil do
begin

ptr:=ptr^.next;
i:=i+1;
end;
SoBanGhiKH:=i;
end;
procedure DuyetTK;
var ptr:tkPointer;
i:longint;
begin
i:=0;
ptr:=FirstTK;
while ptr<>nil do
begin
ptr:=ptr^.next;
i:=i+1;
end;
SoBanGhiTK:=i;
end;
procedure ThemKH;
var ptrKH:khPointer;
begin
new(ptrKH);
ptrKH^.SoHSKH:=motKH.SoHSKH;
ptrKH^.hoten:=motKH.hoten;
ptrKH^.diachi:=motKH.diachi;
ptrKH^.SoCMT:=motKH.SoCMT;
ptrKH^.Ngaycap:=motKH.ngaycap;
ptrKH^.next:=nil;
if FirstKH=nil then
FirstKH:=ptrKH

else
LastKH^.next:=ptrKH;
LastKH:=ptrKH;
end;
procedure ThemTK;
var ptrTK:tkPointer;
begin
new(ptrTK);
ptrTK^.SoTaiKhoan:=motTK.SoTaiKhoan;
ptrTK^.SoHSKH:=motTK.SoHSKH;
ptrTK^.SotientrongTK:=motTK.SotientrongTK;
ptrTK^.laisuat:=motTK.laisuat;
ptrTK^.next:=nil;
if FirstTK=nil then
FirstTK:=ptrTK
else
LastTK^.next:=ptrTK;
LastTK:=ptrTK;
end;
procedure ThemGDgui;
var ptr:guiPointer;
begin
new(ptr);
ptr^.Ngaygui:=motGDgui.Ngaygui;
ptr^.Sotaikhoan:=motGDgui.Sotaikhoan;
ptr^.tiengui:=motGDgui.tiengui;
ptr^.next:=nil;
if FirstGui=nil then
FirstGui:=ptr
else

LastGui^.next:=ptr;
LastGui:=ptr;
end;
procedure ThemGDrut;
var ptr:rutPointer;
begin
new(ptr);
ptr^.Ngayrut:=motGDrut.Ngayrut;
ptr^.Sotaikhoan:=motGDrut.SoTaikhoan;
ptr^.tienrut:=motGDrut.tienrut;
ptr^.next:=nil;
if FirstRut=nil then
FirstRut:=ptr
else
LastRut^.next:=ptr;
LastRut:=ptr;
end;
function XulySo(var so:longint):string;
var s:string[7];
begin
s:='';
if (0<so) and (so<10) then
begin
str(so,s);
s:='00000'+s;
end;
if (10<=so) and (so<100) then
begin
str(so,s);
s:='0000'+s;

end;
if (100<=so) and (so<1000) then
begin
str(so,s);
s:='000'+s;
end;
if (1000<=so) and (so<10000) then
begin
str(so,s);
s:='00'+s;
end;
if (10000<=so) and (so<100000) then
begin
str(so,s);
s:='0'+s;
end;
if so>=1000000 then
str(so,s);
XulySo:=s;
end;
procedure Menu_MoTK;
begin
window(5,2,80,25);
textcolor(2);
gotoxy(25,2);writeln('MO TAI KHOAN MOI');
gotoxy(25,3);writeln('----------------');writeln;
textcolor(7);
writeln('Ngay (dd/mm/yyyy): ');
write('So ho so KH: ');
gotoxy(45,6);writeln('Ky han: Thang.');

writeln('Ten khach hang: ');
writeln('Dia chi lien he: ');
write('So chung minh thu: ');
gotoxy(45,9);writeln('Ngay cap: ');
writeln('So tien gui:');
end;
function KTraKyHan(var kh:byte):boolean;
var k:boolean;
begin
k:=false;
if kh=0 then
begin
k:=true;lsuat:=0.2;
end;
if kh=1 then
begin
k:=true;lsuat:=0.4;
end;
if kh=2 then
begin
k:=true;lsuat:=0.48;
end;
if kh=3 then
begin
k:=true;lsuat:=0.53;
end;
if kh=6 then
begin
k:=true;lsuat:=0.56;
end;

if kh=9 then
begin
k:=true;lsuat:=0.58;
end;
if kh=12 then
begin
k:=true;lsuat:=0.6;
end;
if kh=24 then
begin
k:=true;lsuat:=0.64;
end;
if kh=18 then
begin
k:=true;lsuat:=0.62;
end;
if kh=36 then
begin
k:=true;lsuat:=0.66
end;
KTraKyHan:=k;
end;
procedure MoTK;
var kt,ktra:boolean;
ptrTK:tkPointer;
ptrKH:khPointer;
sotk:longint;
c:integer;
st:string[7];
begin

kt:=false;
repeat
clrscr;
Menu_MoTK;
gotoxy(22,5);readln(motGDgui.ngaygui);
gotoxy(15,6);readln(st);
ptrKH:=FirstKH;
ktra:=false;
while (ptrKH<>nil) and not ktra do
begin
if ptrKH^.SoHSKH=st then
ktra:=true;
ptrKH:=ptrKH^.next;
end;
motKH.SoHSKH:=st;
gotoxy(53,6);readln(kyhan);
kt:=KTraKyHan(kyhan);
if kt=false then
begin
gotoxy(5,14);
write('Khong co loai ky han tren !');
readln;
end;
until kt=true;
gotoxy(22,7);readln(motKH.hoten);
gotoxy(22,8);readln(motKH.diachi);
gotoxy(23,9);readln(motKH.SoCMT);
gotoxy(55,9);readln(motKH.Ngaycap);
gotoxy(22,10);readln(motTK.SotientrongTK);
motTK.SoHSKH:=motKH.SoHSKH;

motGDgui.tiengui:=motTK.SotientrongTK;
motTK.laisuat:=lsuat;
ptrTK:=FirstTK;
while ptrTK<>nil do
begin
qTK:=ptrTK;
ptrTK:=ptrTK^.next;
end;
st:=qTK^.sotaikhoan;
val(st,sotk,c);
sotk:=sotk+1;
motTK.SoTaiKhoan:=XulySo(sotk);
motGDgui.Sotaikhoan:=motTK.SoTaiKhoan;
gotoxy(1,12);writeln('So tai khoan: ',motTK.SoTaikhoan);
if ktra=false then ThemKH;
ThemTK;
ThemGDgui;
window(1,1,80,25);
end;
procedure InDSKH;
var ptrKH:khPointer;
i:integer;
begin
clrscr;
textcolor(7);
writeln(' DANH SACH KHACH HANG');
writeln('--------------------------------------------------------------------------');
writeln(' STT So HSKH Ho va ten Dia chi So CMT Ngay
cap ');
writeln('--------------------------------------------------------------------------');

i:=1;
ptrKH:=FirstKH;
while ptrKH<>nil do
begin
writeln(i:4,' ',ptrKH^.SoHSKH:7,' ',ptrKH^.hoten:18,'
',ptrKH^.diachi:15,' ',ptrKH^.SoCMT:10,' ',ptrKH^.Ngaycap:11);
ptrKH:=ptrKH^.next;
i:=i+1;
end;
writeln;writeln;
write('An ENTER de tiep tuc.');
readln;
end;
procedure Ktra_fileDL;
begin
Nap_KH;
Nap_TK;
Nap_GDgui;
Nap_GDrut;
assign(dsKH,'C:\DEANPAS\kh.dat');
{$I-}

×