(TIỂU LUẬN) TIỂU LUẬN xây dựng và thiết kế phần mềm quản lý quán ăn

51 3 0
(TIỂU LUẬN) TIỂU LUẬN xây dựng và thiết kế phần mềm quản lý quán ăn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CAO ĐẲNG THỰC HÀNH FPT POLYTECHNIC ĐÀ NẴNG Assignment Đề tài: Xây dựng thiết kế phần mềm quản lý Quán Ăn GIẢNG VIÊN HƯỚNG DẪN: Nguyễn Văn Định SINH VIÊN THỰC HIỆN: Lê Văn Hưng MÃ SỐ SINH VIÊN: PD05050 Huế ngày tháng 11 năm 2021 Tieu luan Tài Liệu Báo Cáo Dự Án Mục Lục Phân tích I Hiện trạng Yêu cầu hệ thống Use case a Usecase hệ thống Quản Lý Quán Ăn b Usecase Quản lý nhân viên Error! Bookmark not defined c Usecase Quản lý Món Ăn Error! Bookmark not defined d Usecase Quản lý bán hàng Error! Bookmark not defined e Usecase Thống kê Error! Bookmark not defined f Đặc tả Usecase Error! Bookmark not defined Thiết kế 10 II Mơ hình triển khai 10 Thiết kế CSDL 11 a Sơ đồ quan hệ thực thể 11 b Thiết kế chi tiết thực thể 12 Thiết kế giao diện 13 a Sơ đồ tổ chức giao diện 13 b Thiết kế giao diện 14 Thực viết mã 20 III Viết mã tạo CSDL 20 a Tạo CSDL 20 b SQL truy vấn thao tác 21 c Các thủ tục lưu tổng hợp thống kê 23 Lập trình JDBC 24 a Lớp hỗ trợ 24 b Model class-Các lớp mô tả liệu 26 c DAO class-Các lớp truy xuất liệu 30 Viết mã cho ứng dụng 34 IV a Xử lý Form … 34 b Xử lý Form … Error! Bookmark not defined Kiểm thử 45 Kiểm thử form 45 Page Tieu luan Tài Liệu Báo Cáo Dự Án Kiểm thử form 47 Đóng gói triển khai 50 V Hướng dẫn chuyển đổi jar thành exe Error! Bookmark not defined Hướng dẫn cài đặt triển khai 50 Hướng dẫn sử dụng phần mềm 50 MỞ ĐẦU Để góp phần nâng cao hiệu việc quản lý quán ăn Ý nghĩa phần mềm giúp dễ dàng quản lý thông tin nhân viên, thơng tin ăn, lập hố đơn toán Page Tieu luan Tài Liệu Báo Cáo Dự Án Với chủ đề “ xây dựng phần mềm quản lý quán ăn” nhóm em thực dạng nghiên cứu xây dựng chức dựa vào việc tìm hiểu thực tế kiến thức học lớp, Nhưng với nghiên cứu tảng để phát triển sâu rộng cho đồ án môn học sau Do lần chúng em tự xây dựng thiết kế phần mềm Kèm với hạn chế khả kiến thức thực tế Xin thầy thơng cảm sai xót em I Phân tích Hiện trạng Trong thời buổi cơng nghệ nay, hình thức quản lý thủ cơng trước bắt đầu giảm bớt cố sai xót đáng tiếc ảnh hưởng đến người tiêu dùng khách hàng lẫn doanh nghiệp thương mại Thay vào đó, phần mềm công nghệ ngày xuất đa dạng, hổ trợ hầu hết lĩnh vực.Những phần mềm đem lại lợi ích vơ to lớn, hạn chế sai xót đáng tiếc dùng phương pháp thủ công trước Nhận thấy nhu cầu với qua tìm hiểu, em xin xây dựng hệ thống phần mềm “Quản lý quán ăn” a.Hệ Thống Cũ Ưu điểm ➢ Quản lý ăn tài liệu ăn rõ ràng Nhược điểm ➢ Bảo mật ➢ Mọi thống kê phải viết tay không tự động ➢ Cần nhiều nhân viên để làm nhiều công việc khác b Hệ Thống Mới Ưu điểm ➢ Bảo mật tốt ➢ Tìm kiếm thống kê nhanh chống ➢ Khơng cần nhiều nhân viên ➢ Bán hàng cách nhanh chống Page Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án Nhược điểm ➢ Các nhân viên cần kiến thức việc sử dụng máy tính Yêu cầu hệ thống a Yêu cầu hệ thống Yêu cầu phần cứng ➢ Ram: 4gb ➢ CPU: i3 trở lên Yêu cầu cơng nghệ ➢ JDK 1.8 ➢ Ngơn ngữ lập trình: Java ➢ Phần mềm lập trình:Netbean SQL server b Yêu cầu người dùng Yêu cầu lưu trữ ➢ Thơng tin nhân viên ➢ Thơng tin ăn ➢ Thông tin bán hàng Yêu cầu quản lý ➢ Quản lý nhân viên ➢ Quản lý ăn ➢ Quản lý bán hàng Yêu cầu thống kê ➢ Thống kê doanh thu tháng, năm,Top bán chạy Yêu cầu bảo mật ➢ Tất thành viên phải đăng nhập sử dụng phần mềm ➢ Admin xem thống kê Doanh thu ➢ Nhân viên khơng phép thêm sửa xố thông tin nhân viên khác Use case a Usecase tổng quát hệ thống quản lý quán ăn Page Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án Page Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Hình b Usecase Quản Lý Nhân Viên Hình c Usecase Quản Lý Món Ăn Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án Hình d Usecase Quản Lý Bán Hàng Page Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án Hình e Usecase Thống Kê Hình Page Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 10 Tài Liệu Báo Cáo Dự Án CHI TIẾT CÁC CHỨC NĂNG Các Usecase bảng Quản Lý(Nhân viên, Món Ăn,Bán Hàng) ➢ Các chức bảng Admin • Thêm: thêm liệu ghi bảng vào CSDL • Sửa: sửa liệu xem bảng • Xố: xố liệu xem bảng • Tìm kiếm: tìm kiếm liệu CSDL • Điều hướng: di chuyển trước sau • Các chức năng(Thêm,sửa,xoá) cần kiểm lỗi hợp lý với liệu • Bán Hàng có chức order,Thanh Tốn,In Hóa Đơn Các Usecase Thống kê(Doanh thu) ➢ Thống kê Doanh thu(chỉ có tài khoản Admin xem) Chi tiết yêu cầu bảo mật ➢ Tất chức phải đăng nhập sử dụng ➢ Admin: phép sử dụng tất chức ➢ Nhân viên: • Khơng xem Thống kê doanh thu • Khơng Thêm sửa xố thơng tin nhân viên khác II Thiết kế Mơ hình triển khai Page 10 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 37 Tài Liệu Báo Cáo Dự Án private void btnTimActionPerformed(java.awt.event.ActionEvent evt) { this.fillTable(); this.clearForm(); } void fillTable(){ DefaultTableModel model = (DefaultTableModel) tbNhanVien.getModel(); model.setRowCount(0); try{ // Listlist = dao.selectAll(); String keyword = txtTim.getText(); List list = dao.selectByKeyword(keyword); for(NhanVien nv:list){ Object[]row = {nv.getMaNV(),nv.getPassword(), nv.isVaiTro()?"Admin":"Nhân Viên", nv.getHoTen(), XDate.toString1(nv.getNgaySinh()), nv.getGioiTinh()?"Nam":"Nữ", nv.getSDT() }; model.addRow(row); } } catch(Exception e){ MsgBox.alert(this, e.getMessage()); } } void insert(){ NhanVien model = getForm(); try{ dao.insert(model); this.fillTable(); this.clearForm(); MsgBox.alert(this, "Thêm thành công"); }catch (Exception e){ MsgBox.alert(this, e.getMessage()); } } void update(){ NhanVien model = getForm(); try{ dao.update(model); this.fillTable(); this.clearForm(); MsgBox.alert(this, "Cập nhật thành công"); } catch(Exception e){ Page 37 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 38 Tài Liệu Báo Cáo Dự Án MsgBox.alert(this, e.getMessage()); } } void delete(){ if(!Auth.isManager()){ MsgBox.alert(this, "Chỉ admin xóa nhân viên!"); } else{ String manv = txtMaNV.getText(); if(manv.equals(Auth.user.getMaNV())){ MsgBox.alert(this, "Bạn khơng xóa mình!"); } else if(MsgBox.confirm(this, "Bạn thực muốn xóa nhân viên này?")){ try { dao.delete(manv); this.fillTable(); this.clearForm(); MsgBox.alert(this, "Xóa thành cơng!"); } catch (Exception e) { MsgBox.alert(this, "Xóa thất bại!"); } } } } void edit(){ try{ String maNV = (String)tbNhanVien.getValueAt(this.row, 0); NhanVien model = dao.selectById(maNV); if(model !=null){ setForm(model); Tabs.setSelectedIndex(0); } }catch(Exception e){ MsgBox.alert(this, e.getMessage()); } } void first(){ row =0; edit(); } void prev(){ if(row>0){ row ; edit(); Page 38 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 39 Tài Liệu Báo Cáo Dự Án } } void next() { if(row < tbNhanVien.getRowCount() - 1){ row++; edit(); } } void last(){ row = tbNhanVien.getRowCount() -1; edit(); } void updateStatus(){ boolean edit = this.row >=0; boolean first = this.row == 0; boolean last = this.row == tbNhanVien.getRowCount() -1; btnThem.setEnabled(!edit); btnSua.setEnabled(!edit); btnXoa.setEnabled(!edit); btnFirst.setEnabled(!edit &&!first); btnPrev.setEnabled(!edit &&!first); btnNext.setEnabled(!edit &&!first); btnLast.setEnabled(!edit &&!first); } void clearForm(){ txtMaNV.setText(""); txtPass.setText(""); rdoAdmin.setSelected(true); txtHoTen.setText(""); txtNgaySinh.setText(""); cboGioiTinh.setSelectedIndex(0); txtSDT.setText(""); } b.Xử lý Form Bán Hàng public class BanHangJDialog extends javax.swing.JDialog { HoaDonDAO hddao = new HoaDonDAO(); Page 39 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 40 Tài Liệu Báo Cáo Dự Án DecimalFormat df = new DecimalFormat("#########"); MonAnDAO madao = new MonAnDAO(); int row = -1; int index =0; /** * Creates new form BanHangJDialog */ public BanHangJDialog(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); setLocationRelativeTo(null); init(); HienThi(); } void init() { setTitle("QUẢN LÝ BÁN HÀNG"); setLocationRelativeTo(null); setTotal(); FillTable(hddao.ChuaThanhToan()); fillcombobox(); } void HienThi() { txtMaNV.setText(Auth.user.getMaNV()); txtNgayThanhToan.setText(XDate.toString1(new Date(), "dd/MM/yyyy")); } //lấy thông tin từ đt HoaDon đưa lên form void setForm(HoaDon model) { txtHoaDon.setText(String.valueOf(model.getIDHoaDon())); txtMaNV.setText(String.valueOf(Auth.user.getMaNV())); txtTenKH.setText(String.valueOf(model.getTenKH())); cboTenMon.setToolTipText(String.valueOf(model.getMaMon())); cboTenMon.setSelectedItem(madao.selectById(model.getMaMon())); txtBan.setText(String.valueOf(model.getBan())); txtSoLuong.setText(String.valueOf(model.getSoLuong())); txtThanhTien.setText(String.valueOf(model.getThanhTien())); // txtNgayThanhToan.setText(XDate.toString1(model.getNgayThanhToan())); lblTrangThai.setText(String.valueOf(model.getTrangThai())); } //lấy thông tin form điền vào đt HoaDon //return chuyenDe HoaDon getForm() { HoaDon model = new HoaDon(); model.setIDHoaDon(String.valueOf(txtHoaDon.getText())); Page 40 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 41 Tài Liệu Báo Cáo Dự Án // model.setMaNV(Auth.user.getMaNV()); model.setTenKH(String.valueOf(txtTenKH.getText())); MonAn monan = (MonAn) cboTenMon.getSelectedItem(); model.setMaMon(monan.getMaMon()); model.setBan(String.valueOf(txtBan.getText())); model.setSoLuong(Integer.valueOf(txtSoLuong.getText())); model.setThanhTien(Double.valueOf(txtThanhTien.getText())); model.setNgayThanhToan(XDate.toDate(lblNgayThanhToan.getText())); return model; } void selectComboBox() { // madao.selectAll().forEach(monan -> { // if (monan.getTenMon().equalsIgnoreCase((String) cboTenMon.getSelectedItem())) { // txtGiaTien.setText(String.valueOf(monan.getGiaTien())); // // } // }); MonAn monan = (MonAn) cboTenMon.getSelectedItem(); lblGiaTien.setText(df.format(monan.getGiaTien())); } void fillcombobox() { DefaultComboBoxModel model = (DefaultComboBoxModel) cboTenMon.getModel(); model.removeAllElements(); try { List list = madao.selectAll(); if(!list.isEmpty()){ for (MonAn ma : list) { model.addElement(ma); } } } catch (Exception e) { MsgBox.alert(this, e.getMessage()); } } void FillTable(List list) { DefaultTableModel model = (DefaultTableModel) tbBanHang.getModel(); model.setRowCount(0); try { for (HoaDon hd : list) { Object[] row = { hd.getIDHoaDon(), hd.getMaNV(), hd.getTenKH(), hd.getMaMon(), hd.getBan(), hd.getSoLuong(), hd.getThanhTien(), Page 41 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 42 Tài Liệu Báo Cáo Dự Án XDate.toString1(hd.getNgayThanhToan(), "dd/MM/yyyy"), hd.getTrangThai()}; model.addRow(row); } } catch (Exception e) { MsgBox.alert(this, e.getMessage()); } } void setTotal() { new Thread() { @Override public void run() { while (true) { try { MonAn monan = (MonAn) cboTenMon.getSelectedItem(); if (!txtSoLuong.getText().isEmpty()) { int count = Integer.parseInt(txtSoLuong.getText()); double total = (count * monan.getGiaTien()); txtThanhTien.setText(df.format(total)); } else { txtThanhTien.setText(""); } Thread.sleep(1000); } catch (InterruptedException ex) { Logger.getLogger(BanHangJDialog.class.getName()).log(Level.SEVERE, null, ex); } } } }.start(); } void insert(){ HoaDon model = getForm(); try{ hddao.insertHoaDon(model); FillTable(hddao.ChuaThanhToan()); clearForm(); MsgBox.alert(this, "Order thành công"); }catch (Exception e){ MsgBox.alert(this, e.getMessage()); } } HoaDon UpdateHoaDon(){ HoaDon model = new HoaDon(); model.setIDHoaDon(txtHoaDon.getText()); model.setTrangThai("Đã Thanh Toán"); return model; Page 42 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 43 Tài Liệu Báo Cáo Dự Án } void update() { HoaDon model = UpdateHoaDon(); hddao.update(model); lblTrangThai.setText("Đã Thanh Toán"); this.FillTable(hddao.ChuaThanhToan()); } void edit(){ try{ String idhoadon = (String)tbBanHang.getValueAt(this.index, 0); HoaDon model = hddao.selectById(idhoadon); if(model !=null){ setForm(model); Tabs.setSelectedIndex(0); } }catch(Exception e){ JOptionPane.showMessageDialog(this, e.initCause(e)); } } void clearForm(){ txtHoaDon.setText(""); txtTenKH.setText(""); cboTenMon.setSelectedIndex(0); txtBan.setText(""); txtSoLuong.setText(""); txtThanhTien.setText(""); lblTrangThai.setText(""); } private void btnOrderActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if ( check.checkNullText(txtHoaDon) && check.checkNullText(txtTenKH) && check.checkNullText(txtBan) && check.checkNullText(txtSoLuong)){ if ( check.checkName(txtTenKH) && check.checksoluong(txtSoLuong)){ insert(); } } } void printHoaDon(){ HoaDon hd = hddao.printHoaDon(txtHoaDon.getText()); txtInHoaDon.append("\t\t QUÁN ĂN RICE FRESH \n\n " +" \t\t HÓA ĐƠN BÁN HÀNG \n\n" Page 43 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 44 Tài Liệu Báo Cáo Dự Án + "============================================================================= ===========\n\n" + "ĐC:222 Trần Duy Hưng,Cầu Giấy,Hà Nội \n\n" + "SDT: 0359623642 \n\n" + "Hotline: 18005555 \n\n" + "============================================================================= ===========\n\n" + "Mã Hóa Đơn: \t\t\t" + txtHoaDon.getText() + "\n\n" + "Mã Nhân Viên: \t\t\t" + txtMaNV.getText() + "\n\n" + "Tên Khách Hàng: \t\t\t" + txtTenKH.getText() + "\n\n" + "Món: \t\t\t" + hddao.SanPham(txtHoaDon.getText()) + "\n\n" + "Bàn: \t\t\t" + hddao.printHoaDon(txtHoaDon.getText()) + "\n\n" + "Thành Tiền: \t\t\t" + hddao.GiaTien(txtHoaDon.getText()) + "\n\n" + "Số Lượng: \t\t\t" + hddao.soluong(txtHoaDon.getText()) + "\n\n" + "Ngày Thanh Toán: \t\t\t" + hd.getNgayThanhToan() + "\n\n" + "Trạng Thái: \t\t\t" + "Đã Thanh Toán" + "\n\n" + "============================================================================= ============\n\n" + "Thành Tiền: \t\t\t" + XDecimal.ad.format(hd.getThanhTien()) + "\n\n" + "============================================================================= ============\n\n" + "\t\t CẢM ƠN QUÝ KHÁCH VÀ HẸN GẶP LẠI \n\n" + "Mọi thắc mắc xin liên hệ hotline: 18005555 " ); } private void btnThanhToanActionPerformed(java.awt.event.ActionEvent evt) { printHoaDon(); update(); } private void btnResetActionPerformed(java.awt.event.ActionEvent evt) { this.ClearHoaDon(); } private void btnHoaDonActionPerformed(java.awt.event.ActionEvent evt) { try { txtInHoaDon.print(); } catch (PrinterException ex) { Logger.getLogger(BanHangJDialog.class.getName()).log(Level.SEVERE, null, ex); } } private void cboTenMonActionPerformed(java.awt.event.ActionEvent evt) { selectComboBox(); } private void tbBanHangMousePressed(java.awt.event.MouseEvent evt) { Page 44 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 45 Tài Liệu Báo Cáo Dự Án if (evt.getClickCount() == 1) { this.index = tbBanHang.rowAtPoint(evt.getPoint()); if (this.index >= 0) { this.edit(); Tabs.setSelectedIndex(0); } } } IV Kiểm thử Kiểm thử Giao Diện Page 45 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án 46 Hoạt động A Kiểm tra bố cục Thuộc tính trang Kết mong đợi OK or NA OK 1.1 Kiểm tra bố cục phù hợp với hình độ phân giải có menu ngang , có menu dọc, ok -Hệ Thống : đăng nhập, đăng xuất, đổi mật khẩu, kết thúc -Quản Lý: Nhân Viên, Món Ăn,Thanh Toán -Thống kê: tổng hợp thống kê 1.2 Kiểm tra tả cho tiêu đề cửa sổ giao diện Tiêu đề cửa sổ giao diện khơng sai tả ok 1.3 Kiểm tra tình trạng đăng nhập Phải có tính qn khâu đăng nhập ok 1.4 Hình ảnh button cụ thể Một hình ảnh liên kết tới giao diện ok Quản Lý Nhân Viên Quản Lý Món Ăn Quản Lý Thanh Tốn Báo Cáo Thống Kê 1.5 Bố trí hình ảnh Một hình ảnh ứng dụng, có tất ứng dụng ok 1.6 Kiểm tra phiên ứng dụng Xuất bên form phần giới thiệu ok 1.7 Kiểm tra phần giới thiệu ứng dụng Phần giới thiệu ứng dụng xuất phần đầu ok Kích thước mặt hàng 2.1 Kiểm tra kích thước mục: Kích thước của: Phơng chữ -> Cỡ 13, Phông chữ phông chữ, nút, điều khiển văn bản, tiêu đề đậm -> Cỡ 18 Khung -> Phù hợp với kích thước hình độ phân giải máy tính Nút điều khiển danh sách, khung, > Cỡ 15 Hình ảnh -> Cỡ 15 ok Căn chỉnh mặt hàng ok 3.1 Kiểm tra quản lý nhân viên, quản lý Button quản lý Nhân Viên -> bên trái ăn, quản lý bán hàng, Thống Kê ,Đăng Xuất,Thông Tin, đồng hồ Button quản lý Món Ăn > bên trái Button quản lý Bán Hàng -> bên trái ok Page 46 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an Tài Liệu Báo Cáo Dự Án 47 Button Thống Kê-> bên trái Button Đăng Xuất-> bên trái Button Thông Tin -> bên trái Đồng hồ -> Bên Trái 3.2 Kiểm tra liên kết trường bố cục Tất trường phải chỉnh với Các trường đọc 4.1 Kiểm tra màu sắc Cùng màu với ok 4.2 Kiểm tra bàn phím điều hướng bàn phím điều hướng ok Định dạng tiêu chuẩn 5.1 Kiểm tra định dạng tiêu chuẩn: ok ok ok dd/MM/yyyy ok Ngày Kiểm thử form Đăng Nhập TH MƠ TẢ TÌNH HUỐNG Đăng nhập để trống tên mật Đăng nhập sai tên Đăng nhập sai mật Đăng nhập DỮ LIỆU MẪU KẾT QUẢ TRÔNG ĐỢI Yêu cầu nhập FIX ok Admin9, admin admin, 123 admin, admin Sai tên đăng nhập Sai mật Đóng cửa sổ not 95% kết mong đợi Kết thực tế Kiểm thử form Nhân Viên STT Hành Động Dữ Liệu Test Không Nhập Thông Tin Page 47 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 48 Tài Liệu Báo Cáo Dự Án Thêm Nhân Viên Thêm Nhân Viên Thêm Nhân Viên Không nhập thông tin nhân viên: 1.Mã NV 2.Mật Khẩu 3.Chọn Vai Trò 4.Họ Và Tên 5.Ngày Sinh 6.Chọn Giới Tính 7.SDT Khơng Được Để Trống chuyển màu ô sang màu hồng Pass Nhập Thông Tin Hợp Lệ Nhập đầy đủ thông tin Thêm Nhân Viên Thành Pass nhân viên: Công 1.Mã NV: admin11 2.Mật Khẩu: 123123 3.Chọn Vai Trò: admin 4.Họ Và Tên: Admin 5.Ngày Sinh: 12-021990 6.Chọn Giới Tính: Nam 7.SDT: 0369765432 Nhập Thông Tin Sai Hoặc Trùng Nhập đầy đủ thông tin Failed nhân viên: 1.Mã NV: Thông Báo Mã NV admin11(Nhập trùng mã) tồn đổi màu ô 2.Mật Khẩu: sang màu hồng 3.Chọn Vai Trị: admin Thơng Báo Mật Khẩu 4.Họ Và Tên: Admin 5.Ngày Sinh: 12/02/2007 Không để trống đổi màu ô sang màu 6.Chọn Giới Tính: Nam hồng 7.SDT: 0369765432 Ngày Sinh Phải Trên 16 tuổi đổi màu ô sang màu hồng Nhập Thông tin Sửa Nhân Viên Bất Kì Trong Form Click vào bảng chọn nhân viên sửa thông tin: 1.Mật Khẩu: nhanvien123 2.Chọn Vai Trò: admin 3.Họ Và Tên: Lê Văn Hưng 4.Ngày Sinh: 12/02/2002 5.Chọn Giới Tính: Nam Cập Nhật Thành Cơng Pass Page 48 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 49 Tài Liệu Báo Cáo Dự Án 6.SDT: 0369765432 Xóa Chính Mình Xóa Nhân Viên Bất Kì Reset Form Tìm Nhân Viên Theo Tên Bạn khơng xóa Pass Xóa Thành Cơng Pass Reset Form Về Ban Đầu Pass Tìm Theo Tên Và Hiển Thị Trên Table Pass kết mong đợi Kết thực tế Không Được Để Trống chuyển màu ô sang màu hồng Pass Order Thành Công đổ liệu lên bảng Pass Kiểm Thử Form Bán Hàng STT Hành Động Order Order Dữ Liệu Test Không Nhập Thông Tin Khơng nhập thơng tin Hóa Đơn: 1.Mã Hóa Đơn 2.Mã NV(Tự Hiển Thị) 3.Tên KH 4.Món 5.Bàn 6.Giá Tiền(Tự Hiển Thị) 7.Số Lượng 8.Thành Tiền(Tự Hiển Thị) 9.Ngày Thanh Tốn(Tự Hiển Thị) Nhập Thơng Tin Hợp Lệ Khơng nhập thơng tin Hóa Đơn: 1.Mã Hóa Đơn: HD200 2.Mã NV(Tự Hiển Thị) 3.Tên KH: Lê Văn Hưng 4.Chọn Món: Lẩu Hải Sản 5.Bàn: Bàn 10 6.Giá Tiền(Tự Hiển Thị) 7.Số Lượng: 8.Thành Tiền(Tự Hiển Thị ) 9.Ngày Thanh Toán(Tự Hiển Thị) Page 49 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an 50 Tài Liệu Báo Cáo Dự Án Nhập Thông Sai Order Nhập Id hóa đơn tốn V Đóng gói triển khai ✓ ✓ Khơng nhập thơng tin Hóa Đơn: 1.Mã Hóa Đơn: HD200 2.Mã NV(Tự Hiển Thị) 3.Tên KH: 123 4.Chọn Món: Lẩu Hải Sản 5.Bàn: @@1 6.Giá Tiền(Tự Hiển Thị) 7.Số Lượng: -1 8.Thành Tiền(Tự Hiển Thị ) 9.Ngày Thanh Toán(Tự Hiển Thị) Hiển Thị thông báo Pass theo ô đổi màu ô sang màu hồng Tên phải tên tiếng việt khơng dấu từ 3-25 kí tự Bàn phải có đến 10 kí tự khơng phải kí tự đặc biệt Số Lượng phải khoảng 0-1000 (không phải số âm) Hiển thị thơng báo tốn thành cơng in thơng tin hóa đơn Pass Sử dụng phần mềm EXE4J để chuyển đổi jar sang exe Sử dụng phần mềm InnoSetup để đóng gói Hướng dẫn cài đặt triển khai Chạy QuanLyQuanAn1.sql để tạo CSDL QuanLyQuanAn Đặt mật sa SQL Server 123456 Chạy file setup cài đặt (chú ý môi trường JDK1.8+) Chạy ứng dụng: Run as Administrator Các bạn lưu ý không để setup.exe trong thư mục có dấu tiếng việt (chứa trực tiếp gián tiếp) nhé, để tránh xảy lỗi trình cài đặt Hướng dẫn sử dụng phần mềm ✓ ✓ ✓ ✓ Đăng nhập với tài khoản username: admin password:admin Cấp tài khoản có vai trị admin cập nhật tài khoản cũ sang vai trò nhân viên Đăng nhập tài khoản xóa tài khoản admin Xem hướng dẫn sử dụng menu trợ giúp phần mềm Hướng dẫn video Page 50 Tieu luan (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an (TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an(TIEU.LUAN).TIEU.LUAN.xay.dung.va.thiet.ke.phan.mem.quan.ly.quan.an

Ngày đăng: 24/12/2023, 11:40

Tài liệu cùng người dùng

Tài liệu liên quan