KH chỉ cần nạp thẻ vào máy ATM hoặc máy POST, hệ thống đọc thẻ, KH chọn giao dịch thực hiện, hệ thống sẽ kiểm tra tài khoản, nếu số dư tài khoản đủ thực hiện giao dịch thì hệ thống sẽ ti
Trang 1Phát biểu bài toán Hệ thống giao dịch bằng thẻ đa năng
Version 1.1
Trang 2PHÁT BIỂU BÀI TOÁN
Khách hang có nhu cầu sử dụng thẻ đa năng thì điền các thông tin vào phiếu đăng ký sử dụng thẻ đa năng NH sẽ xác thực lại thông tin và tạo thẻ cho KH Tương ứng với mỗi thẻ, KH sẽ
có 1 tài khoản thẻ tại NH KH có thể thực hiện các giao dịch với tài khoản thẻ: Rút tiền mặt, Chuyển khoản, Gửi tiền mặt, Thanh toán các khoản mua KH chỉ cần nạp thẻ vào máy ATM hoặc máy POST, hệ thống đọc thẻ, KH chọn giao dịch thực hiện, hệ thống sẽ kiểm tra tài khoản, nếu số dư tài khoản đủ thực hiện giao dịch thì hệ thống sẽ tiến hành giao dịch cho
KH, nếu số dư không cho phép thực hiện giao dịch thì báo cho KH biết Với giao dịch:Thanh toán các khoản phí, Nhận chuyển khoản KH được thụ hưởng và hoặc trừ trưc tiếp tự động vào tài khoản của KH Mỗi giao dịch hoàn thành thì hệ thống sẽ in biên lai giao dịch cho KH
Hệ thống phải có CSDL lưu trữ lai các hoạt động của ngân hàng và hoạt động của các nhân viên trong ngân hàng Để sau một thời gian hoạt động, người quản lý có thể thông kê tình hình hoạt động của mỗi thẻ đa năng (gửi tiền ,rút tiền,…),thanh toán dịch vụ mua và thanh toán dịch vụ thường niên trong một khoảng thời gian Ngoài ra hệ thống còn có thêm chức năng xem thông tin tài khoản, vân tin số dư, thêm báo cáo…
Trang 3Mô tả Activity và Diagram cho Hệ thống
giao dịch bằng thẻ đa năng
Version 1.1
Trang 5Sơ đồ Activity và State cho hệ thống GIAO DỊCH BẰNG THẺ
Trang 62.2 Miêu tả
Khách hàng chọn chức năng Rút tiền, sau đó máy ATM xác nhận thẻ nếu không hợp lệ thì máy ATM nhả thẻ và kết thúcgiao dịch, ngược lại hợp lệ ngân hàng yêu cầu máy ATM, máy ATM yêu cầu khách hàng nhập mã PIN với điều kiện ngân hàng cho phép nhập sai tối đa 2 lần , nếu quá 2 lần thì máy ATM sẽ giam thẻ và kết thúc giao dịch Ngược lại mã PIN đúng máy ATM và ngân hàng kiểm tra số tiền cần rút có nhỏ và bằng số tiền dư của tài khoản hay không, Nếu không thỏa điểu kiện trên thì máy ATM nhả thẻ , thông báovà kết thúc giao dịch, nếu thỏa điều kiện trên thì máy ATM nhả thẻ và nhả tiền sau đó kết thúc giao dịch
3 Statechart Diagram
3.1 Statechart diagram cho chức năng Rút tiền
Trang 73.2 Miêu tả
Khi khách hàng chưa nhập thẻ vào thì trạng thái ban đầu của máy ATM(POS)
là “Cho nhập thẻ vào” Sau đó khách hàng cho thẻ vào và hệ thống trở thành trạng thái “ Đợi nhập mã PIN” Trạng thái tiếp theo là xác nhận mã PIN, nếu
mã PIN sai 3 lần hệ thống chuyển sang trạng thái “ Thông báo giam thẻ và kết thúc giao dịch”, nếu mã PIN đúng thì trờ thành trạng thái” Đợi nhập số tiền rút” Sau đó trang thái trở thành “Kiểm tra số dư tài khoản và số tiền trong ATM, nếu thỏa điều kiện thì chuyển sang trạng thái “ Nhả thẻ , nhả tiền và thông báo kết thúc giao dịch”, ngược lại nhả thẻ và thông báo kết thúc giao dich
Trang 8Mô hình Use-case Hệ thống GIAO DỊCH BẰNG THẺ ĐA NĂNG
Version 1.1
Trang 92.3 Các yêu cầu đặc biệt
2.4 Tình trạng hệ thống trước khi thực hiện Use-case
2.5 Tình trạng hệ thống sau khi thực hiện Use-case
2.6 Điểm mở rộng
3.1 Tóm tắt
3.2 Dòng sự kiện
3.3 Các yêu cầu đặc biệt
3.4 Tình trạng hệ thống trước khi thực hiện Use-case
3.5 Tình trạng hệ thống sau khi thực hiện Use-case
3.6 Điểm mở rộng
4.1 Tóm tắt
4.2 Dòng sự kiện
4.3 Các yêu cầu đặc biệt
4.4 Tình trạng hệ thống trước khi thực hiện Use-case
4.5 Tình trạng hệ thống sau khi thực hiện Use-case
4.6 Điểm mở rộng
5.1 Tóm tắt
5.2 Dòng sự kiện
5.3 Các yêu cầu đặc biệt
5.4 Tình trạng hệ thống trước khi thực hiện Use-case
5.5 Tình trạng hệ thống sau khi thực hiện Use-case
5.6 Điểm mở rộng
6.1 Tóm tắt
6.2 Dòng sự kiện
6.3 Các yêu cầu đặc biệt
6.4 Tình trạng hệ thống trước khi thực hiện Use-case
6.5 Tình trạng hệ thống sau khi thực hiện Use-case
6.6 Điểm mở rộng
Trang 101 Lược đồ chính của mô hình Use-case:
Trang 112 Giao dịch ATM Giao dịch ATM
2.2.1.1 Thêm tài khoản thẻ
1/ Hệ thống yêu cầu nhân viên nhập vào các thông tin sau Bao gồm:
Trang 12Nếu trong luồng phụ Thêm tài khoản thẻ nhân viên nhập vào số điện thoại đã tồn tại cho một tài khoản thẻ khác thì hệ thống sẽ thông báo Nhân viên có thể nhập lại số điện thoại
2.2.2.2 Nhập trùng mã số khách hàng
Nếu trong luồn phụ Thêm tài khoản thẻ, nhân viên nhập vào mã số khách hàng đã tồn tại cho một tài khoản thẻ khác thì hệ thống sẽ thông báo Nhân viên có thể nhập lại mã số tài khoản thẻ
2.2.2.3 Nhập trùng số CMND
Nếu trong luồn phụ Thêm tài khoản thẻ, nhân viên nhập vào số CMND khách hàng đã tồn tại cho một tài khoản thẻ khác thì hệ thống sẽ thông báo Nhân viên có thể nhập lại số CMND
2.3 Các yêu cầu đặc biệt
Không có
2.4 Tình trạng hệ thống trước khi thực hiện Use-case
Không có
2.5 Tình trạng hệ thống sau khi thực hiện Use-case
Nếu use-case thành công, thông tin tài khoản thẻ được thêm vào hệ thống Ngược lại, trạng thái của hệ thống không thay đổi
Trang 133.2 Dòng sự kiện
3.2.1 Dòng sự kiện chính
Use-case này bắt đầu khi khách hàng muốn đăng nhập, rút tiền, vấn tin số
dư, gửi tiền và lập phiếu giao dịch trong hệ thống
1/ Hệ thống yêu cầu khách hàng chọn chức năng muốn thực hiện (Đăng nhập tài khoản, Rút tiền, Lập phiếu giao dịch, Gửi tiền, Vân tin số dư của tài
- Nếu khách hàng chọn “Rút tiền”, luồng phụ Rút tiền được thực hiện
- Nếu người dùng chọn “Lập phiếu giao dịch”, luồng phụ Lập phiếu giao dịch được thực hiện
- Nếu khách hàng chọn “Vấn tin sô dư”, luồng phụ Vấn tin số dư được thực hiện
- Nếu khách hàng chọn “Gửi tiền”, luồng phụ Gửi tiền được thực hiện
3.2.1.1 Đăng nhập
1/ Hệ thống yêu cầu khách hàng nhập Mã PIN vào hệ thống
2/ Sau khi khách hàng nhập Mã PIN xong, hệ thống sẽ kiểm tra Mã PIN của tài khoản thẻ này
3.2.1.2 Rút tiền
1/ Khách hàng chọn hoặc nhập số tiền muốn rút
2/ Sau khi khách hàng chọn số tiền muốn rút xong, hệ thống sẽ vấn tin
số dư , nếu số dư nhỏ hơn số tiền khách hàng muốn rút thì hệ thống sẽ thống báo cho khách hàng biết , ngược lại hệ thống cho phép giao dịch
3.2.1.3 Lập phiếu giao dịch
Trang 141/ Hệ thống hỏi khách hàng có muốn lập phiếu giao dịch không ? 2/ Khách hàng chọn 1 trong 2 chức năng Lập và không lập phiếu giao dich
3/ Nếu khác hàng chọn Lập phiếu giao dich thì hệ thông sẽ lập phiếu giao dịch kết nối với máy IN để in phiếu giao dich cho khách hàng, ngược lại thì không lập phiếu
3.2.1.4 Vấn tin số dư
1/ Khách hàng chọn chức năng vấn tin số dư của tài khoản
2/ Sau khi khách hàng chọn vấn tin số dư xong, hê thống hiển thị số dư của tài khoản trên màn hinh
3.2.1.5 Gửi tiền
1/ Khách hàng chọn chức năng gửi tiền
2/ Sau khi khách hàng chọn gửi tiền xong, hệ thống sẽ hỏi số tài khoản
và số tiền muốn gửi tới
3/ Khách hàng nhập số tài khoản và số tiền muốn gửi tới
4/ Sau đó khách hàng chọn Gửi
5/ Hệ thống sẽ xác nhận và thông báo thành công và gửi tiền nếu số tài khoản có tồn tại và số tiền it hơn số dư tài khoản, ngược lại thông báo lỗi cho khách hàng gửi lại
3.2.2 Các dòng sự kiện khác
3.2.2.1 Nhập sai mã PIN
Nếu trong luồng phụ Đăng nhập xác nhận sai mã PIN khách hàng nhập vào hệ thống thì sẽ hiện thông báo lỗi Khách hàng có thể nhập lại mã PIN hoặc hủy thao tác lúc này use-case kết thúc
3.2.2.2 Nhập số tiền rút và tiền gửi lớn hơn số tiền dư
Nếu trong luồn phụ Rút tiền và Gửi tiền, khách hàng nhập vào số tiền rút và tiền gửi nhiều hơn số tiền dư của tài khoản thì hệ thống sẽ thông báo Khách hàng có thể nhập lại số tiền rút và tiền gửi
3.2.2.3 Nhập số tài khoản không tồn tại
Nếu trong luồng phụ gửi tiền, khách hàng nhập số tài khoản không tồn tài thì hệ thống sẽ thông báo Khách hàng có thể nhập lại số tài khoản gửi tới
3.3 Các yêu cầu đặc biệt
Không có
3.4 Tình trạng hệ thống trước khi thực hiện Use-case
Không có
3.5 Tình trạng hệ thống sau khi thực hiện Use-case
Nếu use-case thành công, thông tin số tiền tài khoản được trừ trong hệ thống Ngược lại, trạng thái của hệ thống không thay đổi
3.6 Điểm mở rộng
Không có
Trang 154 Quản lý báo cáo:
4.1 Tóm tắt
Usecase này cho phép nhân viên thực hiện các chức năng quản lý thông tin báo
cáo trong hệ thống Bao gồm việc thêm báo cáo, sửa báo cáo, xóa báo cáo, xem
4.2.1.1 Thêm báo cáo
1/ Hệ thống yêu cầu nhân viên nhập vào các thông tin sau Bao gồm:
4.2.1.2 Sửa báo cáo
1/ Nhân viên chọn báo cáo muốn cập nhật thông tin
Trang 162/ Nhân viên nhập các thông tin cần chỉnh sửa
3/ Sau khi nhân viên cập nhật thông tin xong, hệ thống cập nhật mẫu thông tin của báo cáo này
4.2.1.3 Xóa báo cáo
1/ Nhân viên chọn báo cáo muốn xóa
2/ Hệ thống nhắc nhân viên xác nhận thao tác xóa báo cáo 3/ Hệ thống xóa báo cáo đó khỏi hệ thống
4.2.1.4 Xem báo cáo
1/ Nhân viên chọn báo cáo muốn xem
2/ Hệ thống xuất báo cáo đó cho nhân viên xem
4.2.2 Các dòng sự kiện khác
4.2.2.1 Nhập trùng mã số báo cáo
Nếu trong luồn phụ Thêm báo cáo, nhân viên nhập vào mã số đã tồn tại cho một báo cáo khác thì hệ thống sẽ thông báo Nhân viên có thể nhập lại mã số địa điểm
4.2.2.2 Thao tác xóa bị hủy
Nếu trong luồng phụ, nhân viên quyết định không xóa báo cáo này nữa, thao tác xóa bị hủy và Dòng sự kiện chính được bắt đầu lại từ đầu 4.3 Các yêu cầu đặc biệt
Không có
4.4 Tình trạng hệ thống trước khi thực hiện Use-case
Không có
4.5 Tình trạng hệ thống sau khi thực hiện Use-case
Nếu use-case thành công, thông tin báo cáo được thêm, cập nhật hoặc xóa khỏi hệ thống Ngược lại, trạng thái của hệ thống không thay đổi
Trang 175.2.1.1 Xem thông tin tài khoản
1/ Nhân viên chọn tài khoản muốn xem thông tin
2/ Hệ thống xuất ra cho nhân viên xem thông tin tài khoản này
5.2.1.2 Sửa thông tin tài khoản
1/ Nhân viên chọn tài khoản cần cập nhật
2/ Nhân viên nhập vào các thông tin cần chỉnh sửa
3/ Sau khi nhân viên cập nhật thông tin xong, hệ thống cập nhật mẫu thông tin của tài khoản thẻ này
5.2.1.3 Xóa tài khoản
1/ Nhân viên chọn tài khoản cần xóa
2/ Hệ thống nhắc nhân viên xác nhận thao tác xóa tài khoản
3/ Hệ thống xóa tài khoản khỏi hệ thống
5.2.2 Các dòng sự kiện khác
5.2.2.1 Thao tác xóa bị hủy
Nếu trong luồng phụ, nhân viên quyết định không xóa tài khoản này nữa, thao tác xóa bị hủy và Dòng sự kiện chính được bắt đầu lại từ đầu
5.3 Các yêu cầu đặc biệt
Không có
5.4 Tình trạng hệ thống trước khi thực hiện Use-case
Trang 18Không có
5.5 Tình trạng hệ thống sau khi thực hiện Use-case
Nếu use-case thành công, thông tin tài khoản được xem, cập nhật hoặc xóa khỏi
hệ thống Ngược lại, trạng thái của hệ thống không thay đổi
6.2.1.1 Thanh toán dịch vụ mua
6.2.1.2 Thanh toán dịch vụ thường niên
6.5 Tình trạng hệ thống sau khi thực hiện Use-case
Nếu use-case thành công, hiện thị thông báo Ngược lại, trạng thái của hệ thống không thay đổi
6.6 Điểm mở rộng
Không có
Trang 19Đặc tả bổ sung Hệ thống giao dịch bằng thẻ đa năng
Version 1.1
Trang 21Đặc tả bổ sung
1 Mục tiêu
Mục tiêu của tài liệu này là để định nghĩa các yêu cầu của Hệ thống giao dịch bằng thẻ đa năng Đặc tả bổ sung này liệt kê các yêu cầu chưa được thể hiện trong các use case Đặc tả bổ sung cùng các use case trong mô hình use case thể hiện đầy đủ các yêu cầu của hệ thống
2 Phạm vi
Đặc tả bổ sung áp dụng cho Hệ thống giao dich bằng thẻ đa năng Đặc tả này vạch rõ các yêu cầu phi chức năng của hệ thống, như là tính ổn định, tính khả dụng, hiệu năng, và tính hỗ trợ cũng như các yêu cầu chức năng chung cho một số use case (Các yêu cầu chức năng được chỉ rõ trong phần Đặc tả use case)
3 Chức năng
- Hỗ trợ người dùng trong việc giao dịch bằng thẻ đa năng, quản lý báo cáo , tài khoản thẻ
- Hỗ trợ người dùng trong việc thanh toan dịch vụ trong một khoảng thời gian nào đó
1 Hệ thống phải cho phép truy xuất đến CSDL với độ trễ không quá 10 giây
2 Hệ thống phải có khả năng hoàn tất các công việc nhanh và ổn định
Trang 22Sơ đồ class cho Hệ thống giao dịch bằng thẻ đa năng
Version 1.1
Trang 242 Mô tả class:
2.1 Nhan Vien
2.1.1 Thuộc tính
-maNV: Mã nhân viên
-maPQ: Mã phân quyền
-tenDN: Tên đăng nhập
-matKhau: Mật khẩu
-tenNV: Tên nhân viên
-ngaySinh: Ngày sinh
-gioiTinh: Giới tính
-diaChi: Địa chỉ
-SDT: Số điện thoại
-email: Địa chỉ email
-thongtinNV: Thông tin nhân viên/Ghi chú về NV 2.1.2 Phương thức
-themNV(): thêm nhân viên
-suaNV(): Sửa thông tin nhân viên
-xoaNV(): Xóa thông tin nhân viên
-layDSNV(): Lấy danh sách nhân viên
2.2.Phan Quyen
2.2.1 Thuộc tính
-maPQ: Mã phân quyền -tenPQ: Tên phân quyền 2.2.2 Phương thức
-taoPQ(): tạo phân quyền -xoaPQ(): xóa phân quyền
Trang 25-layDSPQ(): lấy danh sách phân quyền 2.3.Khach Hang
2.3.1 Thuộc tính
-maKH: Mã khách hàng -tenKH: Tên khách hang -ngaySinh: Ngày sinh -gioiTinh: Giới tính -diaChi: Địa chỉ -sdt: Số điện thoại -thongtinKH: Thông tin khách hàng/Ghi Chú về Khách Hàng 2.3.2 Phương thức
-themKH(): thêm khách hàng -xoaKH(): xóa thông tin khách hàng -suaKH(): sửa thông tin khách hàng -layDSKH(): lấy danh sách khách hàng 2.4.Tai Khoan The
2.4.1 Thuộc tính
-maTK: Mã tài khoản -maKH: mã khách hàng -soTK: Số tài khoản -soPIN: Số PIN -soduTK: Số dư tài khoản -tinhtrang: tình trạng -tongSotienruttrongngay: tổng số tiền đã rút trong ngày -tongSolanruttientrongngay: tổng số lần đã rút tiền trong ngày -tongSotienduocnhantrongngay: tổng số tiền đã được nhận trong ngày -tongSolannhanduoctientrongngay: tổng số lần đã nhận được tiền trong ngày
2.4.2 Phương thức
-layTtTaikhoanthe(): lấy thông tin tài khoản thẻ
-doiMaPIN() : đổi mã PIN
-inSaoKe(): in sao kê 2.5.Giao Dich
2.5.1 Thuộc tính
-maGiaodich: mã giao dịch -ngayGiaodich: ngày giao dịch -maLoaiGD: mã loại giao dịch -taikhoan1: mã tài khoản có liên quan 1 -taikhoan2: mã tài khoản có liên quan 2 -maNV: mã nhân viên thực hiện giao dịch nếu có -sotienGD: khoản tiền được giao dịch
-ghiChu: ghi chú 2.5.2 Phương thức
-rutTien(): rút tiền
Trang 26-nhanTien(): nhận tiền -chuyenKhoan(): chuyển khoản -thanhtoanKM(): thanh toán khoản mua -layDSGiaoDich(): lấy danh sách giao dịch 2.6.ATM
2.6.1 Thuộc tính
-maATM: Mã máy ATM -boiSo: Bội số tiền có thể rút -tongSotienRutTrongngay: Tổng số tiền tối đa có thề rút trong ngày -tongSolanRutTrongngay: Tổng số lần tối đa có thề rút trong ngày -khoangRutNhanh1: khoảng rút nhanh 1
-khoangRutNhanh2: khoảng rút nhanh 2 -khoangRutNhanh3: khoảng rút nhanh 3 -khoangRutNhanh4: khoảng rút nhanh 4 -khoangRutNhanh5: khoảng rút nhanh 5 -khoangRutNhanh6: khoảng rút nhanh 6 -soTienConLaiTrongATM: số tiền còn lại trong atm 2.6.2 Phương thức
-layThongTinATM(): lấy thông tin ATM -suaTTATM(): sửa thông tin ATM 2.7.May POS
2.7.1 Thuộc tính
-maPOS: mã POS -diachi: địa chỉ 2.7.2 Phương thức
-layTTMayPOS(): lấy thông tin máy POS 2.8.Bao Cao
2.8.1 Thuộc tính
-maBaoCao: mã báo cáo -maNV : mã nhân viên -ngaylap : ngày lập -noidung : nội dung 2.8.2 Phương thức
-taoBaoCao(): tạo báo cáo
-suaBaoCao(): sửa báo cáo
-xoaBaoCao(): xóa báo cáo -layDSBaoCao(): lấy danh sách báo cáo 2.9.DV (dịch vụ)
2.9.1 Thuộc tính
-maTTDV: mã thanh toán dịch vụ -tenTTDV: tên thanh toán dịch vụ -maTK: mã tài khoản
2.9.2 Phương thức
-taoDV(): tạo dịch vụ
Trang 27-xoaDV(): xóa dịch vụ -layTTDichVu(): lấy thanh toán dịch vụ -layDSDV(): lấy danh sách dịch vụ -tinhTrangDV(): tình trạng dịch vụ đã thanh toán hay chưa 2.10 DV mua (kế thừa lớp DV)
2.10.1 Thuộc tính
-noidung: nội dung -nhaCC: nhà cung cấp -maGiaodich: mã giao dịch 2.11 DV thuong nien (kế thừa lớp DV)
2.11.1 Thuộc tính
-hopdongTT: hợp đồng thanh toán -ngayBD: ngày bắt đầu
-thoihan: thời hạn 2.12 Ngan Hang
2.12.1 Thuộc tính
-maNH: mã ngân hàng -tenNH : tên ngân hàng -SDT : số điện thoại -fax : số fax
-DiaChi : địa chỉ 2.12.2 Phương thức
-layThongTinNH() : lấy thông tin ngân hàng -suaTTNH() : sửa thông tin ngân hàng 2.13 LoaiGD
2.13.1 Thuộc tính
-maLoaiGD: mã loại giao dịch
-TenLoaiGiaoDich: tên loại giao dịch
2.13.2 Phương thức
-themLoaiGD(): thêm loại giao dịch -xoaLoaiGD(): xóa loại giao dịch -SuaLoaiGD(): sửa loại giao dịch -layDSLoaiGD(): lấy danh sách loại giao dịch 2.14 PhieuNhanTien
2.13.1 Thuộc tính
-maPhieu: mã phiếu nhận tiền
-TenNguoiGuiTien: tên người gửi tiền
-khoangTienDaNhan: khoảng tiền đã nhận
-maTKTheDuocNap: mã tài khoản thẻ được nạp
-ghiChu: ghi chú
2.13.2 Phương thức
-themPhieu(): thêm phiếu nhận tiền -xoaPhieu(): xóa phiếu nhận tiền