LỜI NÓI ĐẦU
Ngày nay, nhờ sự phát triển không ngừng của công nghệ thông tin và truyền thông,
sựu ra đời của nhiều loại máy tính, thiết bị, sự lan rộng và phổ cập của mạng internet đã
dẫn đến sự bùng nổ về công nghệ thông tin. Không chỉ trong kinh doanh, sản xuất mà
trong mọi lĩnh vực của đời sống. Do những cấp thiết của thời đại hiện nay mà các lĩnh vực
về công nghiệ thông tin ngày càng được trọng dụng. Lập trình hướng đối tượng là một
trong những môn học cốt lõi để hiểu rõ hơn và biết cách lập trình. Đây là một môn học rất
hay và quan trọng của những sinh viên IT nói chung và chuyên ngành Toán Tin nói riêng.
Qua môn học này em đã nắm được những khái niệm cơ bản nhất cũng như biết về lập trình
hướng đối tượng.
Nắm bắt được thực tế đó, em đã tìm hiểu và thực hiện đề tài “Phần mềm Quản lý tiền
gửi tiết kiệm”.
Em xin chân thành cảm ơn các thầy cô của Viện Toán ứng dụng và Tin học, đặc biệt là
ThS Nguyễn Danh Tú đã trực tiếp giảng dạy chúng em trong khóa học này. Do thời gian
và kiến thức có hạn nên vẫn còn nhiều thiếu sót. Em rất mong nhận được sự góp ý của thầy
cô và các bạn.
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
PHẦN I: Các đặc trưng cơ bản của lập trình hướng đối tượng:
1. Các đặc trưng cơ bản của lập trình hướng đối tượng
1.1. Tính đóng gói
Có thể gói dữ liệu (data, ~ biến, trạng thái) và mã chương trình (code, ~
phương thức) thành một cục gọi là lớp (class) để dễ quản lí. Trong cục này thường data
rất rối rắm, không tiện cho người không có trách nhiệm truy cập trực tiếp, nên thường
ta sẽ che dấu data đi, chỉ để lòi phương thức ra ngoài. Ngoài ra, các lớp liên quan đến
nhau có thể được gom chung lại thành package (tùy ngôn ngữ mà còn gọi là module,
namespace v.v.).
1.2. Tính trừu tượng
Có câu "program to interfaces, not to concrete implementations". Nghĩa là khi
viết chương trình theo phong cách hướng đối tượng, khi thiết kế các đối tượng, ta cần
rút tỉa ra những đặc trưng của chúng, rồi trừu tượng hóa thành các interface, và thiết kế
xem chúng sẽ tương tác với nhau như thế nào. Nói cách khác, chúng ta định ra các
interface và các contract mà chúng cần thỏa mãn.
1.3. Tính kế thừa
Lớp cha có thể chia sẻ dữ liệu và phương thức cho các lớp con, các lớp con
khỏi phải định nghĩa lại những logic chung, giúp chương trình ngắn gọn. Nếu lớp cha
là interface, thì lớp con sẽ di truyền những contract trừu tượng từ lớp cha. Đây là tính
chất quan trọng của lập trình hướng đối tượng, nó làm nổi bật lên giữa lập trình cấu
trúc và lập trình hướng đối tượng. Giúp chương trình ngắn gọn và các đối tượng không
bị lặp lại.
1.4. Tính đa hình
Đối tượng có thể thay đổi kiểu (biến hình). (1) Với các ngôn ngữ OOP có kiểu,
có thể mượn phát biểu của C++ "con trỏ kiểu lớp cha có thể dùng để trỏ đến đối tượng
kiểu lớp con". Như vậy khi khai báo chỉ cần khai báo p có kiểu lớp cha, còn sau đó nó
trỏ đến đâu thì kệ cha con nó: nếu cha và con cùng có phương thức m, thì từ p cứ lôi m
ra gọi thì chắc chắn gọi được, không cần biết hiện tại p đang trỏ đến cha hay con. Khi
lớp B thừa kế từ lớp A, thì đối tượng của lớp B có thể coi là đối tượng của lớp A, vì B
chứa nhiều thứ thừa kế từ A. (2) Với ngôn ngữ OOP không có kiểu như Ruby, có thể
mượn phát biểu của phương pháp xác định kiểu con vịt: "nếu p đi như vịt nói như vịt,
thì cứ coi nó là vịt". Như vậy nếu lớp C có phương thức m, mà có thể gọi phương thức
m từ đối tượng p bất kì nào đó, thì cứ coi p có kiểu là C.
2. Mô hình 3 layer
Mô hình 3 layer gồm 3 phần chính là GUI, DAO, GUI:
o Presentation Layer (GUI): Layer này có nhiệm vụ chính giao tiếp với người
dùng. Nó gồm các thành phần giao diện (Winform) và thực hiện các công
việc như nhập liệu, hiển thị dữ liệu, kiểm tra tính đúng đắn dữ liệu trước khi
gọi lớp Business Logic Layer (BUS)
o Business Logic Layer (BUS): Layer này đáp ứng các yêu cầu thao tác dữ liệu
của GUI layer, xử lý chính nguồn dữ liệu từ GUI trước khi truyền xuống
Data Access Layer (DAO) và lưu xuống hệ quản trị cơ sở dữ liệu, ngoài ra
đây còn là nơi kiểm tra các dàng buộc, tính toàn ven và hợp lệ dữ liệu, thực
hiện tính toán và xử lý các yêu cầu nghiệp vụ, trước khi trả kết quả về GUI
o Data Access Layer (DAO): Layer này có chức năng giao tiếp với hệ quản trị
cơ sở dữ liệu như thực hiện các công việc liên quan đến lưu trữ và truy vấn
dữ liệu (tìm kiếm, thêm, sửa, xóa, ...), ngoài ra còn có một lớp DTO, đây
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
2
không phải là layer, đây chỉ là một gọi dữ liệu được trao đổi giữa các lớp.
Gói dữ liệu này được xây dựng dưới dạng lớp đối tượng
3. Ưu điểm của mô hình 3 layer
- Việc phân chia thành từng layer giúp code được tường minh hơn. Nhờ vào
việc chia ra từng lớp đảm nhiệm các chức năng khác nhau và riêng biệt như
giao diện, xử lý, truy vấn thay vì để tất cả lại một chỗ. Nhằm giảm sự kết
dính.
- Dễ bảo trì khi được phân chia, thì một thành phần của hệ thống sẽ dễ thay
đổi. Việc thay đổi này có thể được cô lập trong một lớp, hoặc ảnh hưởng đến
lớp gần nhất mà không ảnh hưởng đến cả chương trình.
- Dễ phát triển, tái sử dụng: Khi chúng ta muốn thêm một chức năng nào đó thì
việc lập trình theo một số mô hình sẽ dễ dàng hơn vì chúng ta đã có chuẩn để
tuân theo. Và việc sử dụng lại khi có sự thay đổi giữa hai môi trường
(Winform sang Webform) thì chỉ việc thay đổi lại lớp GUI
- Dễ bàn giao, nếu mọi người đều theo một quy chuẩn đã được định sẵn, thì
công việc bàn giao, tương tác với nhau sẽ dễ dàng hơn và tiết kiệm được
nhiều thời gian.
- Dễ phân phối khối lượng công việc. Mỗi nhóm, mỗi bộ phận sẽ nhận một
nhiệm vụ trong mô hình 3 layer. Việc phân chia rõ ràng như thế sẽ giúp các
lập trình viên kiểm soát được khối lượng công việc của mình
4. Mô hình 3 layer được xây dựng trong chương trình:
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
3
PHẦN II: Coding convention
Khái niệm coding convention
Là tập hợp những nguyên tắc chung khi được lập trình (được công nhận và đi
theo bởi đa số các lập trình viên trên thế giới) nhằm cho code dễ đọc, dễ hiểu,
từ đó dễ quản lý, phát triển hơn.
Coding convention có những cái riêng và cái chung tùy cho từng ngôn ngữ, tùy
cộng đồng, ví dụ như các quy tắc:
Quy tắc đặt tên:
o (camelCase) ký tự đầu tiên của từ đầu tiên viết thường những ký tự
đầu tiên của những từ tiếp theo được viết hoa --> áp dụng cho: tên biến,
tên hàm
o (PascalCase) cú pháp Pascal viết hoa chữ cái đầu tiên của mỗi từ -->
áp dụng cho: tên lớp
o (snake_case) cú pháp con rắn, tất cả các chữ cái đều viết thường, và
các từ cách nhau bởi dấu gạch dưới --> áp dụng cho: tên biến, tên hàm
o Tên biến, tên lớp thường là danh từ, cụm danh từ.
o Tên hàm thường bắt đầu bằng động từ (thực hiện việc gì).
Quy tắc số lượng:
o Hàm không nên quá 30 dòng
o Lớp không nên vượt quá 500 dòng
o Một hàm không được vượt quá 5 tham số, nên giữ <=3
o Một hàm chỉ nên làm duy nhất 1 việc
o Khi khai báo biến, một dòng chỉ chứa một biến
o Một dòng không nên dài quá 80 ký tự
o Các câu lệnh lồng nhau tối đa 4 cấp
Quy tắc xuống dòng:
o Nếu có dấu phẩy thì xuống hàng sau dấu phẩy
o Nếu có nhiều cấp lồng nhau, thì xuống hàng theo từng cấp
o Dòng xuống hàng mới thì nên bắt đầu ở cùng cột với đoạn lệnh cùng
cấp ở trên.
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
4
PHẦN III: Xây dựng chương trình
A. Khảo sát
1. Các loại sản phẩm tiền gửi tiết kiệm
Sản phẩm gửi
tiết kiệm
Gửi tiết kiệm có kỳ hạn
Gửi tiết kiệm không kỳ hạn
VND
VND
VND
VND
VND
VND
2. Nghiệp vụ quản lý tiền gửi tiết kiệm
Nghiệp vụ quản lý tiền gửi tiết
kiệm
Quản
lý
gửi
tiền
Quản
lý
rút
tiền
Tái
tục
Đáo
hạn
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Tính
lãi
Báo
cáo
thốn
g kê
5
2.1. Quản lý gửi tiền
a. Đối tượng
Khách hàng gửi tiết kiệm gồm những đối tượng sau:
- Công dân Việt Nam
- Công dân nước ngoài đang sinh sống hợp pháp tại Việt Nam
Lưu ý: người dưới 15 tuổi hoặc mất năng lực hành vi cần có người giám hộ.
b. Hồ sơ
- Đối với công dân Việt Nam trên 15 tuổi phải xuất trình CMND.
- Đối với công dân nước ngoài phải xuất trình hộ chiếu có hiệu lực dài hơn kỳ
hạn gửi tiền
- Đối với người gửi tiền là người giám hộ, ngoài việc xuất trình CMND còn
phải xuất trình thêm các giấy tờ chứng minh tư cách người giám hộ.
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
6
2.2. Quản lý rút tiền
Lưu ý: Rút tiền trước hạn:
- Người gửi tiền được rút trước hạn nếu có thỏa thuận với ngân hàng khi gửi
tiền, hoặc phải thông báo với điểm giao dịch ít nhất 10 ngày trước ngày rút
tiền.
- Khách hàng đáp ứng được điều kiện trên thì được rút tiền với lãi suất tối đa
bằng lãi suất không kì hạn do ngân hàng công bố tại thời điểm rút.
- Đối với loại tiền gửi tiết kiệm trả lãi trước và trả lãi theo định kỳ, ngân hàng
sẽ thu lại phần chênh lệch giữa lái khách hàng đã lĩnh và khách hàng được
hưởng.
Ví dụ: khách hàng gửi 10 triệu với kỳ hạn 3 tháng, từ ngày 1/1/2018 đến ngày
1/4/2018 với lãi suất 0.63%/tháng. Nhưng đến ngày 1/3/2018 khách hàng đến
rút tiền, ngân hàng sẽ tính lãi cho khách hàng 2 tháng với lãi suất thấp hơn
chẳng hạn 0.6%/tháng :
10,000,000 * 0.6% * 2 = 120,000 VND
2.3. Tái tục
- Khi đến hạn thanh toán, nếu khách hàng không đến lĩnh và không có yêu
cầu gì khác, ngân hàng sẽ tự động nhập lãi của khách hàng vào tiền gốc, và
thực hiện tái đáo hạn.
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
7
-
Ví dụ: khách hàng gửi tiết kiệm 10 triệu VND với thời hạn 6 tháng từ
1/1/2018 đến 1/7/2018 thì sau 1 năm, khách hàng được hưởng bao nhiêu:
Trả lời:
+ Sau 6 tháng đầu, liền lãi mà khách hàng được hưởng là:
10,000,000 * 0.63 * (31 + 28 + 31 + 30 + 31 + 30) / 30 = 380.100 VND
+ Nếu khách hàng không đến rút tiền, thì tiền gôc sẽ được cộng dồn => Số
tiền lãi mà khách hàng nhận được 6 tháng sau là:
(10,000,000 + 380,100) * 0.63 * (31 + 31 + 30 + 31 + 30 + 31) / 30 =
401,087 VND
+ Vậy sau 1 năm khách hàng có lãi:
380,100 + 401,087 = 781,187 VND
2.4. Đáo hạn
Là đến hạn thanh toán tiền gửi tiết kiệm có kỳ hạn, khách hàng đến ngân
hàng để lĩnh tiền
2.5. Tất toán
Là khi khách hàng rút toàn bộ tiền trong sổ tiết kiệm, cả vốn lẫn lãi.
2.6. Tính lãi
a. Lãi suất:
Lãi suất được tính theo % theo quy định cụ thể của ngân hàng trong
từng thời kỳ.
b. Cách tính lãi:
Tiền lãi = Tiền gốc * Lãi suất * Số ngày thực gửi
Lưu ý: Số ngày thực gửi được tính bắt đầu từ ngày khách hàng gửi tiền
vào cho đến ngày liền kề ngày rút.
c. Phương thức trả lãi
Đối với tiền gửi không kỳ hạn: Lãi được chi trả (hoặc nhập gốc)
hàng tháng vào ngày tất toán tài khoản.
Đối với tiên gửi kỳ hạn: việc chi trả phụ thuộc vào phương thức trả
lãi mà khách hàng đăng kí:
Trả sau: trả 1 lần tại thời điểm đến hạn
Trả trước: trả 1 lần tại thời điểm gửi tiền
Trả định kì (1 tháng, 3 tháng, 6 tháng, 1 năm)
2.7. Báo cáo, thống kê
- Báo cáo:
Báo cáo số vốn huy động được
Báo cáo số tiền lãi chi trả cho khách hàng trong thời gian tới
Báo cáo số tiền vốn và lãi cần chi trả cho khách hàng trong thời gian
tới
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
8
B. Phân tích
1. Yêu cầu đặt ra
1.1.
Yêu cầu về cơ sở dữ liệu
Thiết kế chuẩn
Có tính tự động (sinh mã các đối tượng VD: mã khách hàng, …)
1.2.
Yêu cầu về chương trình
Chương trình có giao diện thân thiện, dễ sử dụng
Có khả năng phân quyền cho từng loại người dùng
2. Sơ đồ phân cấp chức năng
Quản Lý Tiền Gửi
Tiết Kiệm
Quản trị
hệ thống
Quản lý
Thực hiện
giao dịch
Lập báo
cáo
Thống kê
Quản trị hệ thống
Đăng nhập
Đăng xuất
Phân quyền
người dùng
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Đổi mật khẩu
người dùng
9
Quản lý
Quản lý
danh mục
Loại sản
phẩm
gửi tiết
kiệm
QuảnQuản
lý thông
lý tin
thông tin chung
Lãi suất
Khách
hàng
Sổ
tiết
kiệm
Phòng
giao
dịch
Nhân
viên
Giao dịch
Mở sổ tiết
kiệm
Trả lãi
Tất toán
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Tái tục
(Tự động)
1
0
Lập báo cáo
Số vốn huy
động được
Số tiền
thanh toán
Số tiền lãi
đến hạn
thanh toán
Số tiền vốn
lãi đến hạn
đáo hạn
Số phòng
giao dịch
Số nhân
viên
Thống kê
Số khách
hàng
Số sổ tiết
kiệm
Loại
khách hàng
Loại tiết kiệm
Giới tính
Loại tiền
Quốc tịch
Phương thức trả lãi
Tỉnh / TP
Chức vụ
Tỉnh / TP
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
1
3. Sơ đồ thực thể liên kết
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
2
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
3
C. Thiết kế CSDL
1. Diagram
2. Mô tả các bảng dữ liệu
2.1. Bảng tbl_GiaoDich
Thuộc tính
Ý nghĩa
Ràng buộc
MaGD
Mã giao dịch
MaLoaiGD
Mã loại giao Not null
dịch
Khóa ngoại tbl_LoaiGD
Ngày giao dịch Not null
NgayGD
MaNV
Ghi chú
Not null
Mã nhân viên Khóa ngoại tbl_NhanVien
gd
Có thể null vì
có những gd
do máy thực
hiện
MaSoTietKiem Mã sổ tiết kiệm Not null
thực hiện gd
SoTienGD
Số tiền giao Not null
dịch
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
4
2.2. Bảng tbl_KhachHang
Thuộc tính
Ý nghĩa
Ràng buộc
MaKh
Mã khách hàng
Not null
Ho_TenDem
Họ và tên đêm
Not null
Ten
Tên
Not null
GioiTinh
Giới tính
Not null
NgaySinh
Ngày sinh
Not null
CMND/HoChieu
NgayCap
Cmnd hoặc hộ Not null
chiếu
Ngày cấp cmnd
Not null
NoiCap
Nơi cấp cmnd
Not null
MaQuocGia
DiaChi
Mã quốc gia khách
hàng sinh sống
Mã tỉnh khách
hàng sinh sống
Địa chỉ
Not null, khóa
ngoại tbl_QuocGia
Not null, khóa
ngoại tbl_Tinh
Not null
SoDienThoai
Số điện thoại
Not null
Email
Email
MaTinh
MaLoaiKhachHang Mã loại khách Not null, khóa
hàng
Ngoại tbl_LoaiKH
MaNguoiGiamHo
Mã người giám hộ Khóa ngoại
tbl_NguoiGiamHo
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Ghi chú
1 là con trai
0 là con gái
Có thể null vì
chỉ
kh<15
tuổi mới cần
người giám
hộ
1
5
2.3. Bảng tbl_LaiSuat
Thuộc tính
Ý nghĩa
Ràng buộc
NgayCapNhat
Ngày cập nhật
Not null
MaLoaiTien
Mã loại tiền
MaLoaiTietKiem
Mã loại tiết kiệm
LaiSuat
Lãi suât
Not null, khóa
ngoại
tbl_LoaiTien
Not null, khóa
Ngoại
tbl_LoaiTietKiem
Not null
Ghi chú
2.4. Bảng tbl_LoaiGiaoDich
Thuộc tính
Ý nghĩa
Ràng buộc
MaLoaiGD
Mã loại giao dịch
Not null
TenLoaiGD
Tên loại giao dịch
Not null
Ghi chú
2.5. Bảng tbl_LoaiKhachHang
Thuộc tính
MaLoaiKH
TenLoaiKH
Ý nghĩa
Mã loại
hàng
Tên loại
hàng
Ràng buộc
Ghi chú
khách Not null
khách Not null
2.6. Bảng tbl_LoaiNhanVien
Thuộc tính
Ý nghĩa
Ràng buộc
MaLoaiNV
Mã loại nhân viên
Not null
TenLoaiNV
Tên loại nhân viên
Not null
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Ghi chú
1
6
2.7. Bảng tbl_LoaiTien
Thuộc tính
Ý nghĩa
Ràng buộc
MaLoaiTien
Mã loại tiền
Not null
TenLoaiTien
Tên loại tền
Not null
Ghi chú
2.8. Bảng tbl_LoaiTietKiem
Thuộc tính
Ý nghĩa
Ràng buộc
MaLoaiTietKiem
Mã loại tiết kiệm
Not null
TenLoaiTietKiem
Tên loại tiết kiệm
Not null
KyHan
Kỳ hạn
Not null
Ghi chú
2.9. Bảng tbl_LoaiTraLai
Thuộc tính
Ý nghĩa
Ràng buộc
MaLoaiTraLai
Mã loại trả lãi
Not null
TenLoaiTraLai
Tên loại trả lãi
Not null
SoThang
Số tháng giữa 2
đợt trả lãi
Ghi chú
2.10. Bảng tbl_NguoiGiamHo
Thuộc tính
Ý nghĩa
MaNguoiGiamHo
Mã người giám hộ
Not null
Ho_TenDem
Họ và tên đêm
Not null
Ten
Tên
Not null
CMND
Chứng mình nhân Not null
dân
Mã quôc gia
Not null, khóa
ngoại
tbl_QuocGia
Mã tỉnh
Not null, khóa
MaQuocGia
MaTinh
Ràng buộc
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Ghi chú
1
7
DiaChi
Địa chỉ
ngoại tbl_Tinh
Not null
SoDienThoai
Số điện thoại
Not null
Email
Email
2.11. Bảng tbl_NhanVien
Thuộc tính
Ý nghĩa
Ràng buộc
MaNV
Mã nhân viên
MaPhongGD
Mã phòng giao Not null, khóa
dịch
ngoại
tbl_PhongGD
Mã loại nhân viên Not null, khóa
ngoại
tbl_LoaiNhanVien
Tên nhân viên
Not null
MaLoaiNV
TenNV
CMND
Ghi chú
Not null
DiaChi
Chứng minh nhân Not null
dân
Địa chỉ
Not null
SoDienThoai
Số điện thoại
Not null
Email
Email
Not null
MatKhau
Mật khẩu
Not null
Mật khẩu đăng
nhập
chương
trình, tên đăng
nhập = mã NV
2.12. Bảng tbl_PhongGD
Thuộc tính
MaPhongGD
Ý nghĩa
Ràng buộc
MaTinh
Mã phòng
dịch
Mã tỉnh
DiaChi
Địa chỉ
Not null, khóa
ngoại tbl_Tinh
Not null
SoDienThoai
Số điện thoại
Not null
Ghi chú
giao Not null
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
1
8
Email
Email
Not null
2.13. Bảng tbl_Quoc Gia
Thuộc tính
Ý nghĩa
Ràng buộc
MaQuocGia
Mã quốc gia
Not null
TenQuocGia
Tên quốc gia
Not null
Ghi chú
2.14. Bảng tbl_SoTietKiem
Thuộc tính
Ý nghĩa
Ràng buộc
Ghi chú
MaSoTietKiem
Mã sổ tiết kiệm
Not null
MaKH
Mã khách hàng
MaLoaiTietKiem
Mã loại tiết kiệm
Von
Vốn gửi ban đầu
Not null, khóa 1 khách hàng có
ngoại
thể có nhiều stk
tbl_KhachHang
Not null, khóa
ngoại
tbl_LoaitietKiem
Not null
SoDu
Số dư hiện tại
Not null
MaLoaiTien
Mã loại tiền
NgayMoSo
Ngày mở sổ
Not null, khóa
ngoại
tbl_LoaiTien
Not null
NgayDaoHan
Ngày đáo hạn
Not null
MaLoaiTraLai
Mã loại trả lãi
Not null, khóa
ngoại
tbl_LoaiTraLai
2.15. Bảng tbl_Tinh
Thuộc tính
Ý nghĩa
Ràng buộc
MaTinh
Mã tỉnh
Not null
TenTinh
Tên tỉnh
Not nul
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
Ghi chú
1
9
3. Mô tả trình tự xử lý các hàm UDF liên quan đến nghiệp vụ
3.1. Hàm xử lý trả lãi cho khách hàng
- Input: Mã sổ tiết kiệm
- Output: Bảng kê khai lãnh lãi
(ngày lãnh lãi gần đây nhất | ngày lãnh lãi lần này | số ngày | lãi suất | Tiền lãi)
BEGI
N
@ngayLL :
=
Ngày mở
sổ
(ngayLL – ngày lãnh lãi gần đây nhất)
Tìm giao
dịch tái tục
gần đây nhất
Không tồn tại
Nếu tồn tại
END.
Thêm record vào bảng
@ngayLL :
=
Ngày tái
tục
TìmKgiao
dịch lãnh lãi
gần đây nhất
Không tồn tại
Tồn tại
Tính tiền lãi
Ngày lãnh
lãi > ngày
tái tục
Tìm lãi suất gần nhất
trước ngày tái tục
@ngayLL :=
Ngày lãnh
lãi
Tính số ngày từ
@ngayLL hiện tại
Tính ngày nhận lãi lần
này
Báo cáo Lập Trình Hướng Đối Tượng - Phần mềm quản lý tiền gửi tiết kiệm
2
0
- Xem thêm -