Biểu đồ luồng dữ liệu mức khung cảnh

Một phần của tài liệu chương trình quản lí giao dịch lưu động tại các Ngân hàng cấp xã tại ngân hàng chính sách (Trang 30)

Biểu đồ luồng dữ liệu mức khung cảnh là BLD trong đó chỉ có một chức năng duy nhất ( chức năng tổng quát của hệ thống ) . Đối với hệ thống phần mềm GDXA, bao gồm nhiều chức năng nhỏ khó thể nhập chung chức năng vì vậy ta cần phân tách chúng ra để lập BLD như sau :

Trung gian ở đây có thể là các tổ tiết kiệm vay vốn hoặc các tổ chức chính trị xã hội hoặc là ban xoá đói giảm nghèo, UBND xã .

1.2. Biểu đồ luồng dữ liệu mức đỉnh :

Bao gồm nhiều biểu đồ luồng dữ liệu mà mỗi chức năng là phân rã từ các chức năng của biểu đồ luồng dữ liệu mức khung cảnh nhưng có thêm các chức năng con mới riêng biệt , chi tiết hơn .

1.2.2. Biểu đồ luồng dữ liệu mức dưới đỉnh : vay vốn của người lao động nước ngoài có thời hạn .

CHƯƠNG 3: THIẾT KẾ CHƯƠNG TRÌNH VÀ XÂY DỰNG PROJECT

I. Giới thiệu về ngôn ngữ lập trình Visual Foxpro

Đến với Visual Foxpro, một môi trường hướng đối tượng mạnh mẽ cho việc xây dựng CSDL của bạn và phát triển các ứng dụng chạy . Visual Foxpro cung cấp các công cụ bạn cần để tổ chức các Table chứa thông tin , chạy các Query , tạo một hệ thống cơ sở dữ liệu liên quan thống nhất , hay lập trình một ứng dụng sắp xếp dữ liệu hoàn chỉnh cho người sử dụng .

Trong Visual Foxpro, thủ tục và phương pháp lập trình hướng đối tượng làm việc chung với nhau , vì thế có thể tạo ra các ứng dụng một cách mềm dẻo và mạnh mẽ .

Để tìm hiểu về ngôn ngữ Foxpro, ta sẽ lần lượt tìm hiểu các vấn đề như sau :

1. Các thành phần cơ bản của ngôn ngữ

1.1. Các kí hiệu:

<…> Các thành phần nằm trong cặp dấu này bắt buộc phải có

|: Trong cú pháp lệnh, kí hiệu này biểu thị sự lựa chọn giữa các thành phần . […] Các thành phần nằm trong cặp dấu này sẽ không bắt buộc phải có . * hay && : Ký hiệu dùng để bắt đầu một dòng ghi chú trong chương trình .

&: Đây là phép toán vĩ mô .

1.2. Các từ khoá trong ngôn ngữ

Trong khi dùng ngôn ngữ Visual Foxpro cần sử dụng rất nhiều từ khoá ( khoảng > 3000 từ khoá khác nhau ) nên ở đây ta giới thiệu một số từ khoá chính thường sử dụng cơ bản :

! <> != = ==

% % .AND. .F. .NOT.

.NULL . OR. .T. .Y. /R

#ELIF #ELSE #IF #REGION #SECTION

_BOX _DOS _UNIX AGAIN AFTER

AS BEGIN CALL CHAR CLASS

CLOSE COLUMN COMPACT COPY CONNECTION

CREAT ELSE EOF FLOAT MENU

…….

a. Kiểu dữ liệu

Kiểu dữ liệu là một thuộc tính gắn liền với biến hay Fiel trong cơ sở dữ liệu .

Visual Foxpro có tất cả 10 kiểu dữ liệu khác nhau và mỗi kiểu đều có các phép toán riêng của nó .

Ví dụ : không thể đem kiểu dữ liệu char cộng với kiểu số được .

b. Biến (adsbygoogle = window.adsbygoogle || []).push({});

+/ Mô tả : là một vị trí trong bộ nhớ mà giá trị của chúng có thể thay đổi từ đầu đến cuối chương trình .

Một biến có thể chứa giá trị bất kì một loại dữ liệu nào. Chúng ta có thể thay đổi giá trị của biến vào bất kì lúc nào .

+/ Phạm vi của biến: biến chỉ tồn tại trong một ứng dụng đang chạy hay trong một lần làm việc của Visual Foxpro mà đã tạo ra chúng. Để chỉ rõ phạm vi của biến ta dùng các từ khoá Local, Private hay Public .

+/ Quy ước và cách đặt tên: tên biến có quy ước đặt dài không quá 254 ký tự ( riêng biến vùng chỉ được 10 ký tự ). Có thể dùng các chữ cái, chữ số

và dấu gạch dưới ( _ ) để đặt tên biến nhưng không được bắt đầu bằng số . Không được dùng các từ khoá của Visual Foxpro.

Lưu ý: trong tên biến không phân biệt chữ hoa, chữ thường . +/ Các loại biến trong VF: bao gồm 3 loại biến chính là :

- Biến kí ức ( Memory Variable ): là biến do người dùng khai báo. Khi không muốn sử dụng biến này nữa thì nên giải phóng chúng cho đỡ tốn bộ nhớ .

- Biến hệ thống: là biến do Visual Foxpro tạo ra ngay sau khi khởi động. Loại biến này có thể bắt đầu bằng dấu gạch dưới ( _ ) và thường dùng trong việc in ấn. Trong khi VF đang hoạt động thì ta không thể giải phóng biến bộ nhớ được.

Ví dụ : _pageno : là biến hệ thống cho biết số trang hiện hành

- Biến vùng: là tên các vùng trong CSDL và chỉ có nghĩa khi bạn mở tập tin CSDL .

+/ Cách tạo biến: để tạo một biến và gán giá trị ban đầu cho biến đó ta có thể sử dụng câu lệnh STORE hay phép toán =

Ví dụ : STORE space(10) To thang: Lệnh này khai báo một biến có tên là thang và gán giá trị ban đầu cho nó là 10 khoảng trắng .

Lệnh STORE : dùng để đưa dữ liệu vào biến .

c. Cách sử dụng các từ khoá Local, Private và Public

+/ Từ khoá Local :

Chức năng : dùng để tạo biến cục bộ . Cú pháp : LOCAL Varlist .

Ý nghĩa các thông số :

Biến cục bộ chỉ có thể được tạo và dùng trong các chương trình con và không thể truy xuất được ở cấp chương trình cao hơn. Các biến cục bộ sẽ bị huỷ khi các thủ tục hay hàm chứa chúng thực thi xong .

Các biến cục bộ có thể được truyền qua tham biến .

Ghi chú : ta không thể viết tắt từ LOCA vì sẽ trùng với từ LOCATE đều có 4 kí tự đầu tiên giống nhau .

+/ Từ khoá Private :

Chức năng : dùng để che các biến được chỉ ra . Cú pháp : PRIVATE Varlist hay PRIVATE All Nếu sử dụng dạng 2 thì sẽ dấu tất cả các biến .

Khi một chương trình chứa từ khoá Private được thi hành xong thì tất cả các biến được khai báo trong Private sẽ được khôi phục lại giá trị ban đầu trước khi bị giấu .

Private không tạo ra biến mới , nó chỉ đơn giản là dấu đi các biến đã được khai báo ở chương trình cấp cao hơn .

Ghi chú : Khi sử dụng từ khoá Private sẽ không làm ảnh hưởng đến giá trị các biến được giấu .

+/ Từ khoá Public :

Chức năng : dùng để định nghĩa các biến toàn cục, nghĩa là các biến này có thể truy xuất ở bất cứ đâu trong chương trình .

Cú pháp : PUBLIC <biến>

Ghi chú: Tất cả các biến được khai báo trong cửa sổ lệnh đều là biến toàn cục .

d. Loại bỏ biến : (adsbygoogle = window.adsbygoogle || []).push({});

Tất cả có thể sử dụng Replease để loại bỏ các biến không còn sử dụng. Cú pháp: Replease <biến>

Ví dụ: All like N ? ( Loại bỏ tất cả các biến có 2 kí tự mà bắt đầu bằng N ) Replease Except S* ( loại bỏ tất cả các biến ngoain trừ các biến có tên bắt đầu bằng chữ S ).

Trên đây tôi đã giới thiệu một cách sơ lược nhất, khái quát nhất về ngôn ngữ lập trình Visual Foxpro – ngôn ngữ dùng để viết chương trình giao dịch xã. Để giới thiệu về ngôn ngữ này sẽ còn rất nhiều điều nhưng vì đề tài không tập trung vào vấn đề này nhiều nên xin được tạm dừng ở đây.

II.Thiết kế CSDL hệ thống

1. Giới thiệu về một số file chương trình cùng với hệ thống dữ liệu chính

a/ Các file trong thư mục PRG/DATASYS

Thư mục này chứa các loại file dạng DBF, các file này chứa danh mục dữ liệu hệ thống như: loại vay, kiểu trả, lãi suất,….

Tên File Loại file Diễn giải

QL DBF Cấp quản lý

CBTD DBF Cán bộ tín dụng CONST_TK DBF Hằng số tài khoản DAMBAO DBF Mã đảm bảo nợ vay

DATA_SYS DBF Cấu trúc dữ liệu hệ thống DMTQ DBF Định mức tồn qũy

DONVI DBF Đơn vị tính DP DBF Mã địa phương EVAL_NT DBF Hạch toán ngoại tệ FONTFX DBF Font máy in FX

FONTLQ DBF Font máy in LQ-Roman FONTLQDR DBF Font máy in LQ-Draft GDMN00_0 DBF Menu tiền vay

GDMN00_1 DBF Menu tiền gửi không kỳ hạn GDMN00_2 DBF Menu tiền gửi có kỳ hạn GDMN00_4 DBF Menu tiết kiệm kỳ phiếu GDMN00_5 DBF Menu ngoại tệ

GDMN00_B DBF Menu vãng lai

GDMN00_F DBF Menu giao dịch khác GROUP DBF Các nhóm người sử dụng HACHTOAN DBF Hạch toán kế toán

HELPNHNO DBF Hướng dẫn

HT_TGTK DBF Hạch toán tiết kiệm & kỳ phiếu INSP DBF Mã in sổ phụ nội tệ

KETOAN DBF Danh sách kế toán KHTM DBF Ký hiệu tiền mặt KIEUTRA DBF Kiểu trả Nợ vay KIEUVAY DBF Các kiểu vay KTDO DBF Kế toán đồ

LCT DBF Loại chứng từ

LOAIGB DBF Loại giấy báo liên hàng LOAILH DBF Loại liên hàng

LOAINT DBF Loại ngoại tệ

LOAITGTK DBF Loại tiền gửi TK+KP LOAITK DBF Loại tài khoản

LOAIVAY DBF Loại vay

LOAI_KH DBF Loại khách hàng

LSUAT DBF Mã lãi suất tiền gửi – vay MADT DBF Mã đầu tư

MGD DBF Mã giao dịch NGANHKT DBF Ngành kinh tế

NGAYLE DBF Các ngày lễ trong năm

NHNOMENU DBF Menu chính của chương trình PLMD DBF Phân loại mục đích vay

PTVORG DBF Chuẩn phân tích vốn REFERGD DBF Tham chiếu giao dịch (adsbygoogle = window.adsbygoogle || []).push({});

REFERTK DBF Tham chiếu giao dịch tiết kiệm, KP RESONHNO DBF Resource (Color,help window ) RIGHTS DBF Các quyền không được phép SHLH DBF Số hiệu liên hàng

TAP DBF Mã tập chứng từ TCTD DBF Mã tổ chức Tín dụng THUPHI DBF Mã và công thức tính phí TPKT DBF Thành phần kinh tế

USER DBF Danh sách người sử dụng

VARGD DBF Biến giao dịch của từng SCREENS VARMCN DBF Biến chung của từng chi nhánh VONDIDEN DBF Vốn kế hoạch điều chuyển đi đến CNMENU4 DBF Menu cuối ngày của tiết kiệm+KP CDRG ORG File văn bản Cân đối rút gọn

b/ Trường trong file hồ sơ khế ước(hsku.dbf)

- File này dùng lưu trữ toàn bộ số liệu về khế ước của chi nhánh. Mỗi khế ước là 1 bản ghi. Trong đó cần lưu ý một số trường sau:

+ TK_than: tài khoản cho vay trong hạn. + TK_qhan: tài khoản cho vay quá hạn.

+ TK_nokh: Tài khoản nợ khoanh.

+ TK_tlaith: Tài khoản thu lãi trong hạn. + TK_tlaiqh: Tài khoản thu lãi quá hạn. + TK_tlaink: Tài khoản thu lãi nợ khoanh.

c/File hồ sơ cho vay (hscv.dbf)

- Lưu trữ toàn bộ số liệu được cập nhật gần nhất về việc cho vay thu nợ của tất cả các khế ước. Mỗi khế ước được lưu trữ bởi một bản ghi. Trong đó, ta cần lưu ý một số trường:

+ GNGAN: Tổng giải ngân của KU + CNQH: Tổng chuyển nợ quá hạn + TNTH: Tổng thu nợ trong hạn + TNQH: Tổng thu nợ quá hạn + DNTH: Tổng dư nợ trong hạn + DNQH: Tổng dư nợ quá hạn + DNKH: Tổng dư nợ khoanh

d/ File hồ sơ nội bảng (hsb3.dbf)

File này lưu trữ toàn bộ số liệu mới nhất của các tài khoản nội bảng có số dư hay có phát sinh trong năm. Mỗi tài khoản được lưu bởi 1 bản ghi

Cần lưu ý một số trường sau :

- NAMNO : Tổng phát sinh Nợ trong năm tính đến ngày cập nhật - NAMCO : Tổng phát sinh Có trong năm tính đến ngày cập nhật - QUYNO : Tổng phát sinh Nợ trong quý tính đến ngày cập nhật - QUYCO : Tổng phát sinh Có trong quý tính đến ngày cập nhật - THGCO : Tổng phát sinh Có trong tháng tính đến ngày cập nhật - THGNO : Tổng phát sinh Nợ trong tháng tính đến ngày cập nhật - NGYNO : Tổng phát sinh Nợ trong ngày

e/File hồ sơ tiết kiệm (B3TK.dbf)

File này lưu trữ số liệu được cập nhật gần nhất của tất cả các sổ tiết kiệm, mỗi sổ tiết kiệm là một bản ghi .

Trong file này có một số trường cần lưu ý như sau :

- NGAY: thể hiện ngày cập nhật gần nhất của chương trình tiết kiệm - BAN: số bàn tiết kiệm

- SOSO : số sổ tiết kiệm

- NGGUI: ngày gửi gần nhất của khách hàng gửi - NGDHAN: ngày đến hạn của sổ tiết kiệm - DU: số dư của sổ

f/Các bảng chính của hệ thống :

Đối với chương trình giao dịch xã , ta sẽ có một số bảng chính như sau :

f.1/ Bảng lưu trữ liên hàng :

DCLH

Tên trường Kiểu dữ liệu Kích thước Giải thích

Thang int 0<thang<13 Tháng nhập dữ liệu Nam int 10 Năm nhập dữ liệu SHNHA nvarchar 50 Số hiệu Ngân hàng A NgayLT int 0<ngayLT<32 Ngày NH lưu trữ LoaiGB nvarchar 50 Loại giấy báo SoGB nvarchar 10 Số giấy báo Sotien long 50 Số tiền

f.2/Bảng bổ sung liên Ngân hàng :

BSLH (adsbygoogle = window.adsbygoogle || []).push({});

Tên trường Kiểu dữ liệu Kích thước Chú thích Ngay int 2 Ngày chuyển đổi LoaiGB nvarchar 50 Loại giấy báo SoGB nvarchar 10 Số giấy báo

SohieuNHA nvarchar 10 Số hiệu Ngân hàng A TKKHA nvarchar 10 Tài khoản khách hàng A HT_KHA nvarchar 20 Họ và tên KH A

DC_KHA nvarchar 50 Địa chỉ KH A SCMT_KHA char 20 Số CMT KH A SohieuNHB nvarchar 20 Số hiệu NHB

TKKHB nvarchar 20 Tài khoản khách hàng B HT_KHB nvarchar 10 Họ và tên KH B

DC_KHB nvarchar 50 Địa chỉ KH B SCMT_KHB char 20 Số CMT KH B TenNHtra nvarchar 50 Tên Ngân hàng trả C Ngaycap date-time Ngày cấp

Sotien int 20 Số tiền

f.3/Bảng nhập lãi suất và kì hạn (BTLTK):

Bảng BTLTK

Tên trường Kiểu dữ liệu Kích thước Chú thích laisuat float 10 Lãi suất (%)

Kì hạn int 10 Kì hạn ( tính theo tháng ) Tieude nvarchar 50 Tiêu đề

f.4/Bảng cá nhân giao dịch với Ngân hàng :

KHGD

Tên trường Kiểu dữ liệu Kích thước Chú thích

SoCMT char 20 Số chứng minh thư Ngaycap date and time 8 Ngày cấp CMT Noicap nvarchar 50 Nơi cấp CMT TenCMT nvarchar 20 Tên trong CMT Namsinh date and time 8 Năm sinh Diachi nvarchar 50 Địa chỉ

f.5/Bảng chứng từ thanh toán bù trừ :

TTBT

Tên trường Kiểu dữ liệu Kích thước Chú thích PhGD int 10 Phiên giao dịch NoCo true/fase 2 Nợ hoặc có Ký hiệu true/fase 2 Đi hoặc về TK nvarchar 20 Tài khoản

f.6/Bảng thanh toán liên Ngân hàng :

TTLNH

Tên trường Kiểu dữ liệu Kích thước Chú thích NHA nvarchar 20 Ngân hàng A Tkno nvarchar 20 Tài khoản nợ Tkco nvarchar 20 Tài khoản có Sotien int 10 Số tiền ND nvarchar 50 Nội dung

f.7/Bảng kiểm tra chứng từ nội bảng chênh lệch :

KTCTNB

Tên trường Kiểu file Kích thước Chú thích Ngay int 2 1<=ngay<=31

TMT int 10 Tổng số mẫu tin ThuTM int 20 Thu tiền mặt ChiTM int 20 Chi tiền mặt Dsno int 20 Doanh số nợ Dsco int 20 Doanh số có Chenh int 20 Chênh lệch

f.8/Bảng kiểm tra chứng từ ngoại tệ :

KTNT

Tên trường Kiểu dữ liệu Kích thước Chú thích Ngay int 2 Ngày kiểm tra Phien int 1 Phiên giao dịch TMT int 10 Tổng số mẫu tin ThuTM int 10 Thu tiền mặt ChiTM int 10 Chi tiền mặt Dsno int 10 Doanh số nợ VNĐ Dsco int 10 Doanh số có VNĐ Chenh1 int 10 Chênh lệch

DsnoNT int 10 Doanh số nợ Ngoại tệ DscoNT int 10 Doanh số có Ngoại tệ Chenh2 int 10 Chênh lệch

III. Thiết kế dự án (Project design):

Trong phần này tôi xin giới thiệu về một số form chương trình giao dịch được thiết kế bởi các cán bộ phòng Phần mềm, trung tâm Công nghệ thông tin, Ngân hàng chính sách xã hội Việt Nam. (adsbygoogle = window.adsbygoogle || []).push({});

1. Một số form chương trình :

a/ Form lưư trữ liên hàng :

c/ Form bảng kê thu nợ tổ :

e/ Form bảng tính lãi tài khoản :

h/ Form đăng kí và kế hoạch :

k/ Form tài sản khách hàng :

m/ Form thanh toán bù trừ :

2.1/Thuật toán tính lãi suất gửi tiết kiệm

n-1

CT : TL=TG*(LS+1) * LS n

TT= TG*(LS+1)

Trong đó : TL : tiền lãi của người gửi .

TG: số tiền gửi ban đầu của người LS : lãi suất gửi tiết kiệm

n : số kì hạn gửi tiết kiệm

TT : tổng số tiền nhận lại sau khi gửi */ Thuật toán :

Một phần của tài liệu chương trình quản lí giao dịch lưu động tại các Ngân hàng cấp xã tại ngân hàng chính sách (Trang 30)