4.1.3.1. Thiết kế dữ liệu với tính đúng đắn
● Biểu mẫu liên quan: BM3 ● Sơ đồ luồng dữ liệu: SĐ3
● Các thuộc tính mới: NgayRut, SoTienRut ● Các thuộc tính trừu tượng: MaPhieuRut ● Thiết kế dữ liệu: table PHIEURUT ● Sơ đồ logic PHIEURUT MaPhieuRut MaSoTietKiem NgayRut SoTienRut
4.1.3.2. Thiết kế dữ liệu với tính tiến hóa
● Quy định liên quan: QĐ3
● Sơ đồ dữ liệu về việc thay đổi quy định: SĐ7, SĐ8
● Các thuộc tính mới: NgayDongSo, ThoiGianGuiToiThieu, SoTienDuocRut
● Các tham số mới: DongSoTuDong
● Các thuộc tính trừu tượng: MaLoaiTietKiem
● Thiết kế dữ liệu: table SOTIETKIEM, table LOAITIETKIEM, table THAMSO
4.1.4: Xét yêu cầu tra cứu sổ tiết kiệm
4.1.4.1. Thiết kế dữ liệu với tính đúng đắn
● Biểu mẫu liên quan: BM4 ● Sơ đồ luồng dữ liệu: SĐ4 ● Các thuộc tính mới: không có ● Các thuộc tính trừu tượng: STT ● Thiết kế dữ liệu:
4.1.4.2. Thiết kế dữ liệu với tính tiến hóa
● Quy định liên quan: không có
● Sơ đồ dữ liệu về việc thay đổi quy định: không có ● Các thuộc tính mới: không có
● Các tham số mới: không có
● Các thuộc tính trừu tượng: không có ● Thiết kế dữ liệu:
● Sơ đồ logic:
4.1.5. Xét yêu cầu lập báo cáo doanh số hoạt động trong ngày: 4.1.5.1. Thiết kế dữ liệu với tính đúng đắn
● Biểu mẫu liên quan: BM5.1 ● Sơ đồ luồng dữ liệu: SĐ5
● Các thuộc tính mới: MaLoaiTietKiem, NgayDoanhSo, TongThu, TongChi, ChenhLech
● Các thuộc tính trừu tượng: MaBaoCaoDoanhSo. ● Thiết kế dữ liệu: table BAOCAODOANHSO ● Sơ đồ logic BAOCAODOANHSO MaBaoCaoDoanhSo NgayDoanhSo MaLoaiTietKiem TongThu TongChi ChenhLech LOAITIETKIEM MaLoaiTietKiem TenLoaiTietKiem KyHan LaiSuat ThoiGianGuiToiThieu SoTienDuocRut
4.1.5.2. Thiết kế dữ liệu với tính tiến hóa
● Quy định liên quan: Không có.
● Sơ đồ dữ liệu về việc thay đổi quy định: Không có. ● Các thuộc tính mới: không có.
● Các tham số mới: không có.
● Các thuộc tính trừu tượng: không có. ● Thiết kế dữ liệu: không có.
● Sơ đồ logic: không có.
4.1.6. Xét yêu cầu lập báo cáo mở/đóng sổ trong tháng 4.1.6.1. Thiết kế dữ liệu với tính đúng đắn
● Biểu mẫu liên quan: BM5.2 ● Sơ đồ luồng dữ liệu: SĐ6
● Các thuộc tính mới: MaLoaiTietKiem, ThangBaoCao, NamBaoCao NgayXet, SoLuongSoMo, SoLuongSoDong, ChenhLech
● Các thuộc tính trừu tượng: MaBaoCaoMoDong
● Thiết kế dữ liệu: table BAOCAOMODONG, table CTBCMODONG ● Sơ đồ logic
4.1.6.2. Thiết kế dữ liệu với tính tiến hóa
● Quy định liên quan: Không có
● Sơ đồ dữ liệu về việc thay đổi quy định: Không có ● Các thuộc tính mới: Không có
● Các tham số mới: Không có
● Các thuộc tính trừu tượng: Không có ● Thiết kế dữ liệu: Không có
● Sơ đồ logic: Không có
4.2. Sơ đồ logic hoàn chỉnh
Hình 4.1: Sơ đồ quan hệ của chương trình
4.3. Danh sách các bảng dữ liệu trong sơ đồ
STT Tên bảng dữ liệu Diễn giải
1 SOTIETKIEM Danh sách Sổ tiết kiệm
2 LOAITIETKIEM Danh sách Loại tiết kiệm
3 PHIEUGUI Danh sách Phiếu gửi tiền
4 PHIEURUT Danh sách Phiếu rút tiền
5 BAOCAODOANHSO Danh sách Báo cáo doanh số
6 BAOCAOMODONG Danh sách Báo cáo mở đóng
8 THAMSO Danh sách Tham số
9 NHOMNGUOIDUNG Danh sách nhóm người dùng (chức vụ)
10 CHUCNANG Danh sách chức năng của phần mềm
11 NGUOIDUNG Danh sách người dùng (tài khoản)
12 PHANQUYEN Danh sách các cặp nhóm quyền – tất cả chức năng tương ứng với nhóm quyền này
4.4. Mô tả bảng dữ liệu
4.4.1. Bảng SOTIETKIEM
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaSoTietKiem Varchar(20) Not null, primary key
Mã sổ tiết kiệm 2 TenKhachHang Nvarchar(50) Not null Họ và tên khách hàng
3 DiaChi Nvarchar(MAX) Not null Địa chỉ khách hàng
4 SoTienGuiBanDau Money Not null, lớn hơn 0 Số tiền gửi ban đầu 5 MaLoaiTietKiem Varchar(20) Not null, foreign
key references LOAITIETKIEM
Mã loại tiết kiệm
6 SoCMND Varchar(20) Not null Số chứng minh nhân
dân của khách hàng
7 NgayMoSo Smalldatetime Not null Ngày mở sổ tiết kiệm
tiết kiệm
9 NgayDaoHanKeTiep Smalldatetime Not null Ngày đáo hạn kế tiép
10 SoDu Money Not null, lớn hơn
hoặc bằng 0
Số dư hiện tại của số tiết kiệm
11 NgayDongSo Smalldatetime Sau ngày mở sổ Ngày đóng sổ
4.4.2. Bảng LOAITIETKIEM
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaLoaiTietKiem Varchar(20) Not null, primary key
Mã loại tiết kiệm 2 TenLoaiTietKiem Nvarchar(50) Not null Tên loại tiết kiệm
3 KyHan Int Not null Kỳ hạn gửi tiết kiệm (ngày)
4 LaiSuat Float Not null, lớn
hơn 0
Lãi suất gửi tiết kiệm (%/năm)
5 ThoiGianGuiToiThieu Int Not null, lớn hơn 0
Thời gian gửi tối thiểu để rút tiền
6 QuyDinhSoTienRut Nvarchar(50) Not null Quy định số tiền được rút (rút nhỏ hoặc bằng, rút hết)
7 DangSuDung Nvarchar(50) Not null Có 2 giá trị là có (nếu loại này đang sử dụng) và không (nếu loại này đã bị xóa)
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaPhieuGui Varchar(20) Not null, primary key
Mã phiếu gửi 2 MaSoTietKiem Varchar(20) Not null, foreign
key references SOTIETKIEM
Mã sổ tiết kiệm
3 NgayGui Smalldatetime Not null, từ ngày hiện tại trở về trước
Ngày lập phiếu gửi
4 SoTienGui Money Not null, lớn hơn 0 Số tiền gửi thêm
4.4.4. Bảng PHIEURUT
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaPhieuRut Varchar(20) Not null, primary key
Mã phiếu rút 2 MaSoTietKiem Varchar(20) Not null, foreign
key references SOTIETKIEM
Mã sổ tiết kiệm
3 NgayRut Smalldatetime Not null, từ ngày hiện tại trở về trước
Ngày lập phiếu rút 4 SoTienRut Money Not null, lớn hơn 0 Số tiền rút
4.4.5. Bảng BAOCAODOANHSO:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
key số ngày 2 NgayDoanhSo Smalldatetime Not null, từ ngày
hiện tại trở về trước
Ngày báo cáo doanh số 3 MaLoaiTietKiem Varchar(20) Not null, foreign
key references LOAITIETKIEM
Mã loại tiết kiệm
4 TongThu Money Not null, lớn hơn
hoặc bằng 0.
Tổng tiền thu trong ngày.
5 TongChi Money Not null, lớn hơn
hoặc bằng 0.
Tổng tiền chi trong ngày.
6 ChenhLech Money Not null. Chênh lệch giữa
tổng thu và tổng chi.
4.4.6. Bảng BAOCAOMODONG:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCaoMoDong Varchar(20) Not null, primary key Mã báo cáo mở đóng
2 MaLoaiTietKiem Varchar(20) Not null, foreign key references
LOAITIETKIEM
Mã loại tiết kiệm
3 ThangBaoCao Int Not null, từ 1 đến 12 Tháng báo cáo
4 NamBaoCao Int Not null, lớn hơn 0 và
nhỏ hơn năm hiện tại
Năm báo cáo
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaBaoCaoMoDong Varchar(20) Not null, primary key, foreign key
references
BAOCAOMODONG
Mã báo cáo mở đóng
2 NgayXet Smalldatetime Not null, primary key Ngày trong tháng lập báo cáo
3 SoLuongSoMo Int Not null, lớn hơn
hoặc bằng 0
Số lượng sổ mở trong tháng
4 SoLuongSoDong Int Not null, lớn hơn
hoặc bằng 0
Số lượng sổ đóng trong tháng
5 ChenhLech Int Not null Chênh lệch giữa số
lượng sổ mở và sổ đóng trong tháng
4.4.8. Bảng THAMSO
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaThamSo Int Not null, primary key Mã tham số
2 TenThamSo NVarchar(50) Not null Tên tham số
3 GiaTri Money Not null Giá trị của tham số
Các tham số sử dụng
STT TenThamSo GiaTri
2 TienGuiThemToiThieu Tiền gửi thêm tối thiểu
3 DongSoTuDong 1: nếu sổ sau khi rút hết tự động đóng 0: ngược lại
4.4.9. Bảng CHUCNANG
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaChucNang Int Not null,
primary key
Mã chức năng
2 TenChucNang Nvarchar(50) Not null Tên chức năng
3 TenThanhPhanSuDung Nvarchar(50) Not null Tên các thành phần có thể sử dụng những chức năng nào.
4.4.10. Bảng PHANQUYEN
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaNhom Int Not null, primary key Mã nhóm
2 MaChucNang Int Not null, foreign key
references CHUCNANG
Mã chức năng
3 LiDo Nvarchar(50)
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 TenDangNhap Varchar(50) Not null, primary key Tên đăng nhập
2 MatKhau Varchar(50) Not null Mật khẩu
3 MaNhom Int Not null, foreign key
references
NHOMNGUOIDUNG
Mã nhóm
4 HoTen Nvarchar(50) Not null Họ tên
4.4.12. Bảng NHOMNGUOIDUNG
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaNhom Int Not null, primary key Mã nhóm
Chương 5 – THIẾT KẾ GIAO DIỆN 5.1. Sơ đồ liên kết các màn hình Hình 5.1: Sơ đồ liên kết các màn hình 5.2. Danh sách các màn hình STT Màn hình Loại màn hình Chức năng 1 Màn hình chính Màn hình chính
Cho phép người dùng chọn công việc sẽ thực hiện.
2 Màn hình đăng nhập Màn hình
nhập liệu Cho phép nhập tài khoản và mật khẩuđể truy cập vào chương trình với chức vụ tương ứng
3 Màn hình trang chủ Báo biểu Hiển thị thống kế các số liệu trong ngày 4 Màn hình mở sổ tiết
kiệm Mànnhập liệuhình Cho phép nhập và lưu trữ thông tin sổ tiếtkiệm 5 Màn hình xem trước
khi in phiếu mở sổ tiết kiệm
Báo biểu Trình bày thông tin số tiết kiệm vừa được tạo trước khi xuất phiếu
6 Màn hình giao dịch gửi
tiền Mànnhập liệuhình Cho phép nhập và lưu trữ thông tin cácphiếu gửi tiền 7 Màn hình xem trước
khi in phiếu gửi tiền Báo biểu Trình bày thông tin phiếu gửi được tạotrước khi xuất phiếu 8 Màn hình giao dịch rút
tiền Mànnhập liệuhình Cho phép nhập và lưu trữ thông tin cácphiếu rút tiền 9 Màn hình xem trước
khi in phiếu rút tiền
Báo biểu Trình bày thông tin phiếu rút được tạo trước khi xuất phiếu
10 Màn hình tra cứu sổ tiết kiệm
Màn hình tra cứu
Cho phép nhập các tiêu chuẩn tra cứu và trình bày kết quả tra cứu sổ tiết kiệm, đồng thời cho sửa thông tin sổ. Ở đây có nút “nhập lãi vào vốn cho các sổ quá hạn không rút vào cuối ngày làm việc” 11 Màn hình lập báo cáo
doanh số
Báo biểu Cho phép lập, tra cứu các báo cáo doanh số theo ngày
12 Màn hình xem trước
khi in báo cáo doanh số Báo biểu Hiển thị thông tin của báo cáo doanh sốtrước khi in báo cáo 13 Màn hình lập báo cáo
mở đóng Báo biểu Cho phép lập, tra cứu các báo cáo mởđóng sổ theo tháng 14 Màn hình xem trước
khi in báo cáo mở đóng Báo biểu Hiển thị thông tin của báo cáo mở đóngtrước khi in báo cáo 15 Màn hình thay đổi quy
16 Màn hình thay đổi quy
định tham số Mànnhập liệuhình Cho phép thay đổi giá trị các tham số 17 Màn hình quản lý nhân
sự - quản lý tài khoản Mànnhập liệuhình Cho phép quản lí (thêm, xóa, sửa) tàikhoản người dùng 18 Màn hình quản lý nhân
sự - phân quyền Mànnhập liệuhình Cho phép phân quyền cho các nhóm người dùng 19 Màn hình thông tin
phần mềm Mànthông báohình Hiển thị thông tin phần mềm
5.3. Mô tả các màn hình 5.3.1 Màn hình chính
5.3.1.1 Giao diện
5.3.1.2 Mô tả
STT Tên Kiểu Ràng
buộc Chức năng
1 btn_TrangChu Button Di chuyển đến màn hình trang chủ
2 btn_MoSo Button Di chuyển đến màn hình mở sổ
3 btn_GuiTien Button Di chuyển đến màn hình gửi tiền 4 btn_RutTien Button Di chuyển đến màn hình rút tiền 5 btn_TraCuu Button Di chuyển đến màn hình tra cứu 6 btn_BaoCaoDoanhSo Button Di chuyển đến màn hình báo cáo
doanh số
7 btn_BaoCaoMoDong Button Di chuyển đến màn hình báo cáo mở đóng
8 btn_ThayDoiQuyDinh Button Di chuyển đến màn hình thay đổi quy định loại tiết kiệm
9 btn_QuanLyNhanSu Button Di chuyển đến màn hình quản lý nhân sự - tài khoản
10 btn_ThongTinPM Button Di chuyển đến màn hình thông tin phần mềm
11 btn_ĐangXuat Button Đăng xuất phần mềm
12 lb_TenNguoiDung Label Hiển thị tên tài khoản
13 lb_ChucVu Label Hiển thị chức vụ người dùng
14 lb_ThoiGianHienTai Label Hiển thị thời gian hiện tại
5.3.1.3 Danh sách biến cố và xử lý tương ứng trên màn hình
STT Biến cố Xử lý
1 Chọn button btn_TrangChu Tiến hành di chuyển đến màn hình trang chủ 2 Chọn button btn_MoSo Tiến hành di chuyển đến màn hình mở sổ 3 Chọn button btn_GuiTien Tiến hành di chuyển đến màn hình gửi tiền
4 Chọn button btn_RutTien Tiến hành di chuyển đến màn hình rút tiền 5 Chọn button btn_TraCuu Tiến hành di chuyển đến màn hình tra cứu
6 Chọn button
btn_BaoCaoDoanhSo Tiến hành di chuyển đến màn hình báo cáodoanh số
7 Chọn button
btn_BaoCaoMoDong Tiến hành di chuyển đến màn hình báo cáo mở đóng
8 Chọn button
btn_ThayDoiQuyDinh Tiến hành di chuyển đến màn hình thay đổiquy định
9 Chọn button
btn_QuanLyNhanSu
Tiến hành di chuyển đến màn hình quản lý nhân sự
10 Chọn button btn_ThongTinPM Tiến hành di chuyển đến màn hình thông tin phần mềm
5.3.2. Màn hình đăng nhập 5.3.2.1. Giao diện
5.3.2.2. Mô tả
STT Tên Kiểu Ràng
buộc Chức năng
1 txt_UserName TextBox Nhập tên đăng nhập
2 txt_PasswordBox PasswordBox Nhập mật khẩu
3 btn_DangNhap Button Nút này cho phép thực hiện thao tác đăng nhập
4 btn_Thoat Button Nút này cho phép đóng chương trình
5.3.2.3. Danh sách biến cố và xử lý tương ứng trên màn hình
STT Biến cố Xử lý
1 Chọn button
btn_DangNhap Kiểm tra thông tin đăng nhập với cơ sở dữ liệu và trả về thông báo phù hợp. 2 Chọn button btn_Thoat Đóng chương trình
5.3.3. Màn hình trang chủ 5.3.3.1. Giao diện
5.3.3.2. Mô tả
STT Tên Kiểu Ràng
buộc Chức năng
1 txt_SLSoMo TextBlock Hiển thị số lượng sổ được mở trong ngày
2 txt_SLPhieuGui TextBlock Hiển thị số phiếu gửi đã tạo trong ngày
3 txt_SLPhieuRut TextBlock Hiển thị số phiếu rút đã tạo trong ngày 4 txt_TongThu TextBlock Hiển thị tổng thu trong ngày
5 txt_TongChi TextBlock Hiển thị tổng chi trong ngày
5.3.3.3. Danh sách biến cố và xử lý tương ứng trên màn hình
(không có)
5.3.4. Màn hình mở sổ 5.3.4.1. Giao diện
5.3.4.2. Mô tả
STT Tên Kiểu Ràng buộc Chức năng
1 txt_MaSoTietKiem TextBox Không
chỉnh sửa thể Hiển thị mã sổ tiết kiệmđược tự động tạo cho sổ này
2 txt_NgayMoSo TextBox Không
chỉnh sửa thể Hiển thị ngày hôm nay 3 cbb_LoaiTietKiem ComboBox Hộp này cho phép lựa
chọn loại tiết kiệm từ danh sách loại tiết kiệm
4 txt_TenKhachHang TextBox Nhập hàng vào tên khách 5 txt_CMND TextBox Chỉ được nhập số Nhập vào số chứng minh nhân dân
6 txt_DiaChi TextBox Nhập địa chỉ
7 txt_NgayDaoHanKeTiep TextBox Không chỉnh sửa
thể Hiển thị ngày đáo hạn kế tiếp
8 txt_SoTienGuiBanDau TextBox Chỉ được nhập số
Nhập vào số tiền gửi ban đầu cho sổ tiết kiệm này
9 chbx_XuatPhieu CheckBox Đánh dấu lựa chọn xuất
phiếu giao dịch hay không
10 btn_KiemTraHopLe Button Nút này cho phép tiến
hành kiểm tra thông tin đã nhập có hợp lệ hay không
11 btn_GiaoDich Button Chỉ enable sau khi đã kiểm tra hợp lệ
Nút này cho phép tiến hành giao dịch mở sổ
12 list_LoaiTietKiem ListView Hiển thị danh sách các loại tiết kiệm đang hiện hành
5.3.4.3. Danh sách biến cố và xử lý tương ứng trên màn hình
STT Biến cố Xử lý
1 Chọn button
btn_KiemTraHopLe
Kiểm tra thông tin đã nhập có phù hợp với các quy định hay không, xuất ra thông báo dưới dạng màn hình thông bao thành công (nếu hợp lệ) và các PopupBox (nếu có thông tin không hợp lệ)
2 Chọn button
btn_GiaoDich Thực hiện giao dịch, mở màn hình xem trước khi inphiếu mở sổ (nếu có) và lưu vào cơ sở dữ liệu
5.3.5. Màn hình xem trước phiếu mở sổ5.3.5.1. Giao diện 5.3.5.1. Giao diện
5.3.5.2. Mô tả
STT Tên Kiểu Ràng
buộc Chức năng
1 txt_NgayLapPhieu TextBlock Hiển thị ngày tạo phiếu gửi 2 txt_MaSo TextBlock Hiển thị mã sổ tiết kiệm được
khởi tạo
3 txt_LoaiTietKiem TextBlock Hiển thị loại tiết kiệm
4 txt_TenKhachHang TextBlock Hiển thị tên khách hàng gửi tiền
5 txt_CMND TextBlock Hiển thị số CMND của khách
hàng
6 txt_DiaChi TextBlock Hiển thị địa chỉ của khách hàng 7 txt_NgayMoSo TextBlock Hiển thị ngày mở sổ
8 txt_SoTienGuiBanDau TextBlock Hiển thị số tiền gửi ban đầu 9 btn_InPhieu Button Nút này cho phép in phiếu mở sổ 10 btn_Dong Button Nút này cho phép tắt màn hình
xem trước và không in.
5.3.5.3. Danh sách biến cố và xử lý tương ứng trên màn hình