top of page

XÂY DỰNG ỨNG DỤNG QUẢN LÝ QUÁN CÀ PHÊ BẰNG JAVA - COFFE STORE MANAGEMENT BY JAVA

  • Writer: PhongPX
    PhongPX
  • Jan 24, 2020
  • 6 min read


ree

I, Những kiến thức cơ bản trước khi làm Nếu bạn là một sinh viên ngàng công nghệ thông tin thì ắt hẳn phải biết qua một vài môn học kiểu như "Công nghệ lập trình Java" hay "Lập trình Java". Cuối khóa thông thường sinh viên sẽ phải làm một ứng dụng nho nhỏ để tổng quát lại những mảng kiến thức đã học được.

Trong vô vàn những ứng dụng mà sinh viên thường làm như Ứng dụng xem phim, Ứng dụng quản lý sinh viên, Quản lý kho hàng thì Ứng dụng quản lý quán Cà phê là ứng dụng mà mình cho là nổi bật nhất. Không những nó đáp ứng được những tính năng của môn học mà còn có tính ứng dụng thực tiễn rất cao khi luôn luôn có hàng ngàn quán nước trong khu vực các bạn sinh sống, thêm vào đó việc chuyển đổi từ mô hình quản lý quán cà phê sang các mô hình khác như "Quản lý phòng trọ" "Quản lý quán tạp hóa" cũng rất là dễ khi hầu như các tính năng là tương tự nhau.


II, Chức năng của ứng dụng

Các tính năng cơ bản mà mình khi xây dựng ứng dụng này hướng đến gồm những tính năng như sau:

+ Quản lý tài khoản của nhân viên một cách rõ ràng.

+ Cho phép nhập danh sách những đồ uống mà khách đã gọi.

+ Cập nhật được những thông tin trong thực đơn trong quán, cho phép sửa bảng đơn giá của từng loại đồ uống.

+ Ứng dụng cũng cho phép chúng ta kiểm soát được trạng thái bàn như bàn nào đang được sử dụng, bàn nào chưa được sử dụng để từ đó có kế hoạch sắp xếp khách vào trong quán một cách hiệu quả.

+ Thống kê lại số tiền từng bàn mà nhân viên đã làm trong ngày. + Và tính năng tất nhiên cuối cùng đó là cho phép người quản lý điều hành quán cà phê có tính chính xác số tiền mà khách hàng ở một bàn bất kì phải trả, hóa đơn thanh toán.


III, Xây dựng chương trình

III.1 Cơ sở dữ liệu

Theo những tính năng đã trình bày ở trên thì trước hết mình đã thiết kế một cơ sở dữ liệu phù hợp cho ứng dụng trên hệ quản trị cơ sở dữ liệu MySQL. Cụ thể DB gồm có tất cả 3 Tables:


Bảng Ban: quản lý số bàn trong quán coffee gồm có 4 trường:

  • Trường MaBan: khóa của bảng Ban

  • Trường TenBan: trường tên bàn trong quán

  • Trường TrangThai: dùng để nhận biết bàn còn trống hay có người ngồi.

  • Trường GhiChu: trường dùng để thêm những chú thích cho bàn, ví dụ như bàn này gần cửa ra vào hay ở tầng 1 vị trí số…


Bảng DoUong: bảng danh sách các món có trong quán, gồm có 5 trường:

  • Trường TenDoUong: khóa của bảng Thuc_don

  • Trường DonViTinh: trường đơn vị Ly, Chai hoặc Cốc cho từng loại đồ uống

  • Trường GiaTien: trường cho biết giá tiền của từng loại đồ uống

  • Trường NgayKhuyenMai: trường cho biết ngày khuyến mãi của tên

  • đồ uống.

  • Trường NgayHetKhuyenMai: trường cho biết ngày hết khuyến mãi của tên đồ uống.


Bảng HoaDon: bảng nhập vào danh sách các hóa đơn, gồm có 8 trường:

  • Trường MaHD: khóa của bảng

  • Trường MaBan: trường được Lookup từ trường Ban.BanID

  • Trường TrangThai: trường được Lookup từ trường Ban

  • Trường TongTien: trường Tổng hết số tiền mà khách phải trả.

  • Trường NhanVien: trường Nhân viên quản lý ngày hôm đó

  • Trường NgàyThanhToan: trường cho biết ngày thanh toán của khách hàng

  • Trường TenBan: trường được Lookup từ trường Ban

  • Trường STT: trường Số thứ tự


Bảng ChiTiet_HoaDon: bảng nhập vào danh sách chi tiết hóa đơn, gồm có 5 trường:

  • Trường MaHD: khóa của bảng

  • Trường TenDoUong: Khóa của bảng

  • Trường SoLuong: số lượng từng loại đồ uống mà khách hàng gọi.

  • Trường Gia: giá tiền của từng loại đồ uống

  • Trường ThanhTien: khi khách gọi số lượng bao nhiêu, tổng số lượng sẽ nhân với giá ra Thành tiền


Bảng TaiKhoan: bảng nhập vào các tìa khoản và quản lý, gồm có 3 trường:

  • Trường HienThi: Trường hiện thị ra tên và password của nhân viên

  • Trường UserName: trường tên đăng nhập của nhân viên

  • Trường PassWord: trường mật khẩu của từng tên đăng nhập tương ứng.

Trên đây là sơ qua về cơ sở dữ liệu của ứng dụng mình đã xây dựng. Cơ sở dữ liệu này có thể mở rộng tùy theo việc các bạn phát triển thêm các tính năng khi đó thì sẽ cần phải thiết kế thêm nhiều bảng để có thể lưu trữ dữ liệu cho nó.


III.2 Xây dựng các Class (Các tính năng)

A, Class Menu Đăng Nhập


Nhiệm vụ của lớp này là chức năng giúp nhân viên có quyền truy cập vào ứng dụng khi đã có một tài khoản hợp lệ do Admin cung cấp.

Nhập tên nhân viên và mật khẩu mà Admin cung cấp vào.



Thuật toán:

- Xây dựng giao diện bằng thư viện awt.

- Xây dựng kết nối cơ sở dữ liệu và xử lý sự kiện nút Đăng nhập: Khi nhân viên click vào nút “Đăng Nhập”, Nếu tên đăng nhập và mật khẩu nhập đúng nó sẽ thông báo “Đăng nhập thành công” ngược lại nếu nập sai sẽ thông báo “Kiểm tra lại tên đăng nhập và mật khẩu” Và đăng nhập thành công nó sẽ Chuyển qua giao diện Quản Lý Chung.




Đoạn lệnh chỗ này xử lí như sau. Khi người dùng nhập id và password, chương trình sẽ kiểm tra bằng cách dùng lệnh truy vấn vào bảng taikhoang trong databate, nếu có thì đăng nhập vào form QuanLyChung, nếu không được sẽ thông báo “Kiểm tra lại tên đăng nhập và mật khẩu”


B, Class Quản Lý Chung

Nhiệm vụ của lớp này là tạo ra một giao diện cho ứng dụng quản lý quán coffee,

từ đó để các đối tượng khác (thực hiện các chức năng của chương trình) gắn lên đó,

bao gồm:

Menu:

Tài khoản: gắn đối tượng:

  • Thêm tài khoản sẽ mở ra form QuanLyNhanVien

  • Đổi mật khẩu sẽ mở ra form DoiMatKhau

  • Đăng xuất sẽ thoát, quay lại form DangNhap

Các Button gồm:

  • Bàn: Khi click vào nó sẽ ra form QuanLyBan

  • Thanh Toán: Khi click vào nó sẽ ra form QuanLyThucDon

  • Thống kê: Khi click vào nó sẽ ra form QuanLyThongKe

  • Đồ uống: Khi click vào nó sẽ ra form QuanLyDoUong



Tạo 2 nút chức năng là "Bàn" và "Thanh toán" và tạo sự kiện khi nhấn vào nút Bàn và nút Thanh toán, sẽ mở các Form tương ứng với các nút. Tương tự với các nút Thống Kê và Đồ Uống ta làm tương tự.


C, Class Quản Lý Nhân Viên

Chức năng này chỉ đươc thiết lập khi người dùng đăng nhập với phân quyền là Admin. Nhiệm vụ của nó chủ yếu là thêm, xóa, cập nhật lại các tài khoản và mật khấu của nhân viên.



D, Class Đổi Mật Khẩu

Lớp này có nhiệm vụ giúp cho nhân viên khi đăng nhập thì họ có thể thay đổi mật khẩu cho mình.



E, Class Quản Lý Bàn

Việc tạo lớp này là để nhằm mục đích người chủ quản lý quán có thể dễ dàng cập nhật số bàn hiện có trong quán, có thể xoá và đặt bàn cho khách.


F, Class Quản Lý Đồ Uống

Lớp này dùng để tạo ra đối tượng cập nhật dữ liệu người quản lý nhập vào vào bảng QuanLyDoUong, chương trình cho phép sửa cơ sở dữ liệu có sẵn, lớp này còn cho phép chúng ta thêm, xóa sửa một loại đồ uống bất kì khi có một món mới được đưa vào quán.



G, Class Quản Lý Thực Đơn

Đây là lớp quan trọng nhất của chương trình quản lý quán coffee bởi nó sẽ tạo ra một đối tượng dùng để cho biết tổng số lượng tiền mà những khách hàng của một bàn bất kì cần phải trả, các đồ uống với số lượng mà họ đã gọi.



H, Class Quản Lý Thống Kê

Lớp này có nhiệm vụ chủ yếu là thống kê lại tổng số tiền mà nhân viên thu được ở các bàn trong khoảng thời gian làm.


IV, Liên hệ và đóng góp

Toàn bộ source code các bạn có thể tham khảo tại link sau:

Do Project này mình làm khá lâu rồi chưa coi lại nên chưa thể hường dẫn một cách hoàn chỉnh, do đó khi bạn có thắc mắc nào về code hay bugs thì có thể gửi về cho email của mình.

Rất vui khi được sự góp ý của mọi người.

PEACE!

Comments


Liên lạc tôi bằng cách dưới đây nha !

Thanks for submitting!

bottom of page