Tải bản đầy đủ (.docx) (29 trang)

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

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 (399.27 KB, 29 trang )

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 :
Bùi Đức Chung Lớp: CNTT K46
! <> != = ==
% % .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
+/ 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ố
Bùi Đức Chung Lớp: CNTT K46
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ố :
Varlist là một hay nhiều biến được tạo .
Bùi Đức Chung Lớp: CNTT K46
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 :
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>
[ ALL Like | Except <mau> ]
Bùi Đức Chung Lớp: CNTT K46
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.
Bùi Đức Chung Lớp: CNTT K46
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 đồ
Bùi Đức Chung Lớp: CNTT K46

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
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.
Bùi Đức Chung Lớp: CNTT K46
+ 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
Bùi Đức Chung Lớp: CNTT K46
- NGYCO : Tổng phát sinh Có 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
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
Bùi Đức Chung Lớp: CNTT K46
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
Bùi Đức Chung Lớp: CNTT K46
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
Phien int 2 Phiên giao dịch
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.
Bùi Đức Chung Lớp: CNTT K46

×