Công nghệ thống tin (CNTT) ngày càng có vai trò quan trọng trong cuộc sống hằng ngày của chúng ta. Việc ứng dụng CNTT vào các lĩnh vực trong đời sống giúp công việc được tiến hành nhanh chóng và hiểu quả hơn. Có rất nhiều công việc mới phát triển song song với sự phát triển của CNTT, một trong số đó là xây dựng hệ thống máy ATM.
TỔNG QUAN VỀ ĐỀ TÀI
Đặt vấn đề
Cuộc sống hiện đại ngày càng phát triển, làm cho giao thương và mua bán trở nên đơn giản nhờ sự tiến bộ của hệ thống ngân hàng Tài khoản ngân hàng và thẻ ATM đã trở thành công cụ thiết yếu cho mỗi cá nhân Đồng thời, sự gia tăng mật độ cây ATM cũng phản ánh tầm quan trọng của thẻ ATM trong cuộc sống hàng ngày.
Máy rút tiền tự động (ATM) là thiết bị ngân hàng cho phép khách hàng thực hiện giao dịch một cách nhanh chóng và tiện lợi Thông qua thẻ ATM, người dùng có thể kiểm tra số dư, rút tiền mặt, chuyển khoản và thanh toán hóa đơn mà không cần phải đến ngân hàng Với ATM, thời gian được tiết kiệm, giúp khách hàng dễ dàng thực hiện các giao dịch chỉ với vài thao tác đơn giản Ngoài chức năng rút tiền, máy ATM còn hỗ trợ kiểm tra tài khoản, chuyển tiền và thanh toán các dịch vụ như điện, nước, và cước điện thoại.
Khảo sát
1.2.1 Hiện trạng giao dịch tại các ngân hàng hiện nay
Cuộc sống hiện đại đã thúc đẩy các doanh nghiệp chuyển sang hình thức trả lương qua chuyển khoản ngân hàng, dẫn đến tình trạng quá tải tại các phòng giao dịch ngân hàng vào cuối tháng Dù ngân hàng đã mở thêm nhiều phòng giao dịch, nhưng vẫn không đáp ứng đủ nhu cầu của người lao động Giao dịch tại ngân hàng thường mất nhiều thời gian, khiến nhiều khách hàng phải ra về vì không chờ đợi được Để giải quyết vấn đề này, các ngân hàng đã triển khai hệ thống cây ATM, giúp khách hàng thực hiện các giao dịch cơ bản một cách nhanh chóng và tiện lợi hơn.
1.2.2 Chức năng của cây ATM
Một cây ATM sẽ có gần như tất các các giao dịch mà khách hàng cần:
+ Kiểm tra số dư tài khoản
+ Đổi mã pin của thẻ
+ Thanh toán các dịch vụ
+ Một số giao dịch khác
1.2.3 Liệt kê các dữ liệu được sử dụng
Tài khoản ngân hàng là một loại tài khoản tài chính mà ngân hàng duy trì để ghi chép các giao dịch giữa ngân hàng và khách hàng Khách hàng có thể sở hữu nhiều tài khoản khác nhau Khi mở tài khoản, số tiền mà khách hàng gửi vào ngân hàng sẽ được ghi nhận trong tài khoản mà họ chỉ định.
Khách hàng là cá nhân hoặc tổ chức mà các ngân hàng nhắm đến trong các chiến lược Marketing Họ có quyền quyết định sử dụng sản phẩm và dịch vụ của ngân hàng, đồng thời là những người hưởng lợi từ các đặc tính và chất lượng mà sản phẩm hoặc dịch vụ cung cấp.
Thẻ ngân hàng là công cụ thanh toán do ngân hàng hoặc tổ chức tín dụng phát hành, cho phép khách hàng thực hiện giao dịch mua sắm hàng hóa, dịch vụ hoặc rút tiền mặt trong giới hạn số dư tài khoản hoặc hạn mức tín dụng Các giao dịch này đều liên quan đến việc thanh toán qua ngân hàng, do đó được gọi là thẻ ngân hàng.
Ngân hàng là một tổ chức tài chính có chức năng nhận tiền gửi và cho vay, đồng thời cung cấp nhiều dịch vụ tài chính khác nhau như quản lý tài sản và trao đổi tiền tệ.
Kỹ thuật viên ATM là chuyên gia chịu trách nhiệm tiếp nhận và phân tích nguyên nhân cũng như yêu cầu xử lý các sự cố kỹ thuật liên quan đến máy ATM Họ theo dõi tiến trình và kết quả của quá trình xử lý để đảm bảo hoạt động của máy ATM diễn ra suôn sẻ.
Máy ATM là thiết bị ngân hàng tự động, cho phép khách hàng thực hiện giao dịch như kiểm tra tài khoản, rút tiền mặt, chuyển khoản và thanh toán hàng hóa dịch vụ Thiết bị này nhận diện khách hàng thông qua thẻ ATM, bao gồm thẻ ghi nợ và thẻ tín dụng, cùng các thiết bị tương thích khác.
Giao dịch là quá trình xử lý tất cả các tương tác của người dùng với máy chủ ngân hàng sau khi đã xác thực thành công Quá trình này cho phép người dùng kiểm tra số dư tài khoản ngân hàng và thực hiện việc rút tiền Đồng thời, mọi thay đổi trong chi tiết tài khoản sẽ được ghi lại trên máy chủ ngân hàng.
-Tiền: Tiền là một thứ được chấp nhận rộng rãi làm thanh toán cho các hàng hóa và dịch vụ
Đăng ký rút tiền lần đầu với thẻ, khách hàng cần đổi mã PIN sang một mã PIN dễ nhớ hơn để tránh quên và bị khóa thẻ.
Nội dung
1.3.1 Giới thiệu về chương trình
Chương trình được phát triển bằng ngôn ngữ Java, sử dụng phương pháp lập trình hướng đối tượng, với mã nguồn rõ ràng, dễ đọc và dễ hiểu Nó được tổ chức thành các lớp (class) kết hợp chặt chẽ, tạo thành một khối thống nhất Đặc biệt, chương trình có tính linh hoạt cao và khả năng tái sử dụng tài nguyên hiệu quả.
Dự án Hệ thống mô phỏng ATM nhằm xây dựng một hệ thống ATM (Máy rút tiền tự động) dựa trên ngôn ngữ lập trình Java Sự xuất hiện của ATM từ nhiều ngân hàng đã giúp người dùng thoát khỏi tình trạng xếp hàng chờ đợi tại quầy rút tiền Hệ thống này yêu cầu việc cập nhật liên tục các hồ sơ giữa các máy chủ ngân hàng và một mạng lưới ATM rộng lớn.
Đề tài này tập trung vào các kiến thức cơ bản về lập trình Java, nhằm giúp người học thực hành và tiếp cận công nghệ mới một cách hiệu quả Nội dung bao gồm các vấn đề quan trọng, cung cấp tài liệu tham khảo hữu ích cho việc học hỏi và phát triển kỹ năng lập trình.
Những căn bản về ngôn ngữ Java: Như làm việc với button, menubar, menuiteam, các biến, hằng…
Bước đầu với các lệnh điều khiển: Các câu lệnh rẽ nhánh, vòng lặp…
Chương trình phải có đủ chức năng đáp ứng nhu cầu của người dùng như rút tiên, chuyển tiền, kiểm tra tài khoản…
Giao diện thân thiện, dễ dàng tiếp cận đại đa số người dùng, thuận lợi cho các giao dịch của người dùng
Máy ATM hoạt động trong một mạng lưới ngân hàng được công nghệ hoá, hỗ trợ các giao dịch tài chính Tất cả các hoạt động trực tiếp phục vụ mục đích này được xem là trong phạm vi hoạt động, trong khi những hoạt động không liên quan sẽ được coi là nằm ngoài phạm vi.
Sản phẩm phần mềm bao gồm toàn bộ chương trình và tài liệu liên quan đến phát triển, bảo trì, kiểm thử và hướng dẫn sử dụng Để phần mềm được đưa vào sử dụng, nó phải đáp ứng các yêu cầu khắt khe của khách hàng, bao gồm giao diện đẹp và đảm bảo chất lượng giao dịch, tránh lỗi làm gián đoạn quá trình sử dụng.
Xoay quanh những bài học đã học ở giáo trình, bước đầu dùng lại ở các lệnh đơn giản.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Use Case
Hình 2.1 Bản vẽ Use Case ATM
2.1.1 Tương tác với máy ATM
+Khách hàng đăng nhập vào hệ thống
+ Khách hàng tiến hành lựa chọn giao dịch tương ứng
+Ngân hàng tiến hành lưu lại quá trình giao dịch vào cơ sở dữ liệu
-Kỹ thuật viên ATM tương tác:
+Kỹ thuật viên bảo trì hoặc sửa chữa hệ thống
+ Kiểm tra số dư trong tài khoản
+ Thu thập và lưu trữ quá trình giao dịch của khách hàng
+ Nhận phản hồi khi hệ thống ATM gặp lỗi
-Kỹ thuật viên ATM có thể:
+ Bảo trì và sửa lỗi hệ thống
+ Đào tạo cho các ngân hàng cách sử dụng và vận hành máy ATM
Sequence Diagram ATM
2.2.1 Mô tả kịch bản cho việc rút tiền ở máy ATM
-Người dùng đăng nhập số thẻ và mã Pin vào form đăng nhập
-Người dùng nhấn nút login
-Hệ thống tiến hành kiểm tra mã Pin
-Khi mã Pin hợp lệ, hệ thống yêu cầu người dùng chọn giao dịch
-Người dùng chọn giao dịch rút tiền
-Hệ thống yêu cầu người dùng nhập số tiền
-Người dùng nhập số tiền cần rút
-Hệ thống kiểm tra số dư trên cơ sở dữ liệu của ngân hàng
-Khi đủ điều kiện giao dịch, hệ thống tiến hành giao dịch tiền mặt
-Người dùng nhận tiền mặt từ hệ thống
-Hệ thống hỏi người dùng có muốn tiếp tục thực hiện giao dịch khác
-Người dùng kết thúc giao dịch
-Hệ thống hỏi người dùng có muốn nhận hoá đơn
-Hệ thống trả thẻ và xuất hoá đơn (nếu được yêu cầu)
Hình 2.2 Sequence Diagarm cho hoạt động rút tiền ở ATM.
2.2.2 Mô tả kịch bản cho việc chuyển tiền ở máy ATM
-Người dùng đăng nhập số thẻ và mã Pin vào form đăng nhập
-Người dùng nhấn nút login
-Hệ thống tiến hành kiểm tra mã Pin
-Khi mã Pin hợp lệ, hệ thống yêu cầu người dùng chọn giao dịch
-Người dùng chọn giao dịch chuyển tiền
-Hệ thống yêu cầu người dùng nhập số thẻ người nhận
-Người dùng nhập số thẻ người nhận
-Hệ thống kiểm tra số thẻ có tồn tại không
-Khi số thẻ hợp lệ, hệ thống yêu cầu người dùng nhập tiền mặt
-Người dùng nhập số tiền cần chuyển
-Hệ thống kiểm tra số dư trên cơ sở dữ liệu của ngân hàng
-Khi đủ điều kiện giao dịch, hệ thống tiến hành chuyển tiền
-Hệ thống hỏi người dùng có muốn tiếp tục thực hiện giao dịch khác
-Người dùng kết thúc giao dịch
-Hệ thống hỏi người dùng có muốn nhận hoá đơn
-Hệ thống trả thẻ và xuất hoá đơn (nếu được yêu cầu)
Hình 2.3 Sequence Diagarm cho hoạt động chuyển tiền ở ATM.
2.2.3 Mô tả kịch bản cho việc đổi mã Pin ở máy ATM
-Người dùng đăng nhập số thẻ và mã Pin vào form đăng nhập
-Người dùng nhấn nút login
-Hệ thống tiến hành kiểm tra mã Pin
-Khi mã Pin hợp lệ, hệ thống yêu cầu người dùng chọn giao dịch
-Người dùng chọn giao dịch đổi mã Pin
-Hệ thống yêu cầu người dùng nhập mã Pin cũ
-Người dùng nhập mã Pin cũ
-Hệ thống yêu cầu nhập mã Pin mới
-Người dùng nhập mã Pin mới
- Hệ thống yêu cầu nhập mã Pin mới lần hai
-Người dùng nhập mã Pin mới lần hai
-Hệ thống thông báo đổi mã Pin thành công
-Hệ thống hỏi người dùng có muốn tiếp tục thực hiện giao dịch khác
-Người dùng kết thúc giao dịch
-Hệ thống tra lại thẻ
Hình 2.4 Sequence Diagarm cho hoạt động đổi mã Pin ở ATM.
Class Diagram ATM
CÀI ĐẶT HỆ THỐNG
Giao diện bắt đầu của chương trình
Người dùng có thể lựa chọn máy ATM để thực hiện giao dịch rút tiền Sau khi chọn máy, họ nhấn “Tiếp tục” để tiến vào phần đăng nhập hoặc có thể chọn “Thoát” để kết thúc chương trình.
Giao diện đăng nhập của chương trình
Người dùng nhập thông tin thẻ vào form và nhấn “Đăng nhập” để truy cập máy ATM, hoặc chọn “Thoát” để quay lại giao diện chọn máy ATM.
Giao diện hệ thống của chương trình
Người dùng có thể thực hiện các chức năng quan trọng như rút tiền, đổi PIN, xem số dư và chuyển khoản Để rút tiền, chọn mục “Rút tiền”; để đổi mã PIN của thẻ, chọn “Đổi PIN”; để kiểm tra số dư, chọn “Xem số dư”; và để chuyển tiền cho người khác, chọn “Chuyển khoản”.
Giao diện rút tiền của chương trình
Người dùng có thể dễ dàng chọn số tiền muốn rút từ danh sách có sẵn hoặc nhập số tiền khác bằng cách chọn “Số khác” Nếu cần quay lại giao diện hệ thống, người dùng chỉ cần nhấn “Trở lại”.
Giao diện rút tiền chọn “500,000” thành công của chương trình
Hình 3.5 Chọn “500,000” khi rút tiền thành công.
Người dùng có thể rút tiền từ tài khoản khi số dư đủ, lựa chọn "In biên lai" để in biên lai giao dịch hoặc nhấn thoát để quay lại giao diện chọn máy ATM.
Giao diện rút tiền chọn “500,000” khi thất bại của chương trình
Hình 3.6 Chọn “500,000” khi rút tiền thất bại.
Mô tả chức năng: Số dư trong tài khoản của người dùng không đủ cho mục này, người dùng chọn “Trở lại” để trở về giao diện rút tiền.
Giao diện rút tiền số khác của chương trình
Hình 3.7 Rút tiền số khác.
Người dùng có thể rút tiền bằng cách nhập số tiền mong muốn, yêu cầu số tiền phải là bội số của 100.000 VNĐ Sau khi nhập, người dùng chọn “Đúng” để thực hiện giao dịch, “Sai” để xóa ô nhập số tiền nếu nhập sai, hoặc “Bỏ qua” để quay lại giao diện rút tiền.
Giao diện xem số dư của chương trình
Người dùng có thể xem số dư bằng cách chọn mục “Xem số dư” trên giao diện hệ thống Sau khi chọn, một giao diện mới sẽ hiển thị thông tin số dư Để quay lại giao diện chính, người dùng chỉ cần nhấn “Trở lại”.
Giao diện chuyển khoản của chương trình
Người dùng có thể thực hiện chuyển khoản bằng cách chọn mục "Chuyển khoản" trên giao diện hệ thống Sau đó, họ nhập số thẻ cần chuyển và nhấn "Kiểm tra" để xác nhận sự tồn tại của số thẻ đó Tiếp theo, người dùng nhập số tiền muốn chuyển và chọn "Xác nhận" để hoàn tất giao dịch, hoặc có thể chọn "Trở lại" để quay về giao diện chính.
Giao diện chuyển khoản thành công của chương trình
Hình 3.10 Chuyển khoản thành công.
Mô tả chức năng: Số dư trong thẻ đu điều kiện, tiếp theo người dùng chọn
“In biên lai” để in ra biên lại chuyển tiền hoăc chọn “Thoát” để trở vê giao diện chọn máy ATM.
Giao diện in biên lai rút tiền của chương trình
Hình 3.11 Biên lai rút tiền.
Người dùng có thể chọn “In biên lai” sau khi giao dịch rút tiền thành công, và chương trình sẽ hiển thị một giao diện biên lai Để trở lại giao diện chọn máy ATM, người dùng chỉ cần nhấn “Thoát”.
Giao diện in biên lai chuyển khoản của chương trình
Hình 3.12 Biên lai chuyển khoản.
Người dùng có thể chọn “In biên lai” trên giao diện chuyển khoản thành công để nhận biên lai giao dịch Sau đó, chương trình sẽ hiển thị giao diện biên lai, và người dùng có thể chọn “Thoát” để trở về giao diện chọn máy ATM.