Với hệ thống này cần đáp ứng được các yêu cầu trong việc gọi món và quản lý kinh doanh của nhà hàng như: Cho phép khách hàng, nhân viên có thể thực hiện gọi món trực tiếp trên hệ thống chạy trên hệ điều hành Android và được tích hợp vào máy tính bảng. Cho phép khách hàng xem hóa đơn của mình một cách nhanh chóng chính xác. Thông tin dịch vụ/món ăn được gọi sẽ được đồng bộ với nhà bếp và hệ thống phần mềm quản lý hoạt động kinh doanh. Ngoài ra phần mềm quản lý hoạt động kinh doanh chạy trên desktop cũng hỗ trợ được việc đặt bàn, gọi món, thanh toán, in hóa đơn cho khách hàng, lập công thức món ăn, báo cáo doanh thu, báo cáo chi của nhà hàng,.... Ngoài những chức năng chính như trên hệ thống còn hỗ trợ việc quản lý kho, thông tin khách quản lý hàng, thông tin nhân viên, loại dịch vụ, dịch vụ, thông tin bàn ăn, vị trí bàn và một số chức năng khác.
Trang 1KHOA CƠNG NGHỆ THƠNG TIN
LUẬN VĂN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG CHỌN MĨN ĂN VÀ QUẢN LÝ HOẠT ĐỘNG KINH DOANH CỦA
MỘT NHÀ HÀNG (PHÂN HỆ QUẢN LÝ HOẠT ĐỘNG KINH DOANH)
Giáo viên hướng dẫn:
Ths Lưu Thúy Huỳnh
KS Hồ Quốc Mạnh
Sinh viên thực hiện:
NGUYỄN HỮU PHƯỚC MSSV: 1051190036 Lớp: ĐH CNTT – K3 Khĩa: 3
TRƯỜNG ĐẠI HỌC VÕ TRƯỜNG TOẢNHậu Giang – Năm 2014
Trang 2LUẬN VĂN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG CHỌN MÓN ĂN VÀ QUẢN LÝ HOẠT ĐỘNG KINH DOANH CỦA
MỘT NHÀ HÀNG (PHÂN HỆ QUẢN LÝ HOẠT ĐỘNG KINH DOANH)
Giáo viên hướng dẫn:
Ths Lưu Thúy Huỳnh
KS Hồ Quốc Mạnh
Sinh viên thực hiện:
NGUYỄN HỮU PHƯỚC MSSV: 1051190036 Lớp: ĐH CNTT – K3 Khóa: 3
Hậu Giang – Năm 2014
Trang 4Luận văn này là kết quả học tập, trong suốt bốn năm đại học của tôi tạitrường Đại học Võ Trường Toản Để hoàn thành tốt luận văn này tôi đã nhờđến sự giúp đỡ rất nhiệt tình của quý thầy cô.
Trước hết, tôi xin gửi lời cảm ơn sâu sắc đến Ths Lưu Thúy Huỳnh và
KS Hồ Quốc Mạnh đã tận tình hướng dẫn để tôi hoàn thành luận văn này
Xin được cảm ơn tất cả quý thầy cô đã tận tình chỉ dạy trong quá trìnhhọc tập và khoa Công nghệ thông tin trường Đại học Võ Trường Toản đã tạođiều kiện để chúng tôi có thể thực hiện và thực hiện tốt phần luận văn này
Xin chân thành cảm ơn
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Nguyễn Hữu Phước
Trang 5 Ngành: Công nghệ thông tin
Cơ quan công tác: Đại học Võ Trường Toản
Mã số sinh viên : 1051190036
Chuyên ngành : Công nghệ thông tin
Tên đề tài : Xây dựng Hệ thống chọn món ăn và quản lý hoạt
động kinh doanh của một nhà hàng( phân hệ quản lý hoạt động kinh doanh)
Trang 6
1 Tính phù hợp của đề tài với chuyên ngành đào tạo:
2 Về hình thức:
3 Ý nghĩa khoa học, thực tiễn và tính cấp thiết của đề tài:
4 Độ tin cậy của số liệu và tính hiện đại của luận văn:
5 Nội dung và các kết quả đạt được:
6 Các nhận xét khác:
7 Kết luận:
………., ngày…… tháng …… năm…
Người nhận xét
(Ký và ghi rõ họ tên)
Trang 7_
Hậu Giang, ngày … tháng … năm …
Giáo viên phản biện
(Ký và ghi rõ họ tên)
Trang 8MỤC LỤC vi
DANH MỤC HÌNH ẢNH viii
DANH MỤC BIỂU BẢNG x
TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ xii
CHƯƠNG 1: TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 1
1.3 PHẠM VI ĐỀ TÀI 2
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2
1.5 BỐ CỤC LUẬN VĂN 3
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4
2.1 NGÔN NGỮ JAVA 4
2.1.1 Giới thiệu ngôn ngữ Java 4
2.1.2 Các đặc trưng của Java 4
2.2 GIỚI THIỆU VỀ MySQL 5
2.2.1 Sơ lược về MySQL 5
2.2.2 Câu lệnh SQL 6
2.3 GIỚI THIỆU SQLITE 6
2.4 MÔI TRƯỜNG PHÁT TRIỂN 7
2.4.1 NetBeans IDE 7
2.4.2 SQLyog 9
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 11
3.1 THU THẬP THÔNG TIN VÀ MÔ TẢ HỆ THỐNG 11
Trang 93.2.2 Đặt tả các trường hợp sử dụng (use cases) 16
3.2.2.1 Use case đăng nhập 16
3.2.2.2 Use case quản lý bàn 17
3.2.2.3 Use case đặt bàn 18
3.2.2.5 Use case xác nhận dịch vụ 20
3.2.2.6 Use case thanh toán hóa đơn 21
3.2.2.7 Use case quản lý dịch vụ 22
3.2.2.8 Use case quản lý kho 24
3.2.2.9 Use case thêm công thức 25
3.2.2.10 Use case quản lý khách hàng 26
3.2.3 Sơ đồ lớp (Class diagram) 28
3.2.4 Mô tả thuộc tính và phương thức lớp 29
3.2.6 Lưu đồ giải thuật 99
3.2 KẾT QUẢ ĐẠT ĐƯỢC 101
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 113
Trang 10Hình 1 Giao diện làm việc của Netbeans IDE 7
Hình 2 Các control hỗ trợ xây dựng giao diện của Netbeans IDE 8
Hình 3 Ireport tạo báo cáo trong Netbean 8
Hình 4 Giao diện làm việc của SQLyog 9
Hình 5 Tạo các mối quan hệ giữa các bảng 10
Hình 6 Sơ đồ hoạt động của hệ thống 14
Hình 7 Sơ đồ hoạt vụ 15
Hình 8 Sơ đồ lớp 28
Hình 9 Sơ đồ tuần tự đặt bàn 92
Hình 10 Sơ đồ tuần tự sử dụng bàn 93
Hình 11 Sơ đồ tuần tự gọi món 94
Hình 12 Sơ đồ tuần tự thanh toán 95
Hình 13 Sơ đồ tuần tự thêm công thức 96
Hình 14 Sơ đồ tuần tự gộp bàn 97
Hình 15 Sơ đồ tuần tự cập nhật mật khẩu 98
Hình 16 Lưu đồ giải thuật gọi món 99
Hình 17 Lưu đồ giải thuật đặt bàn 100
Hình 18 Giao diện đăng nhập hệ thống 101
Hình 19 Giao diện chính của hệ thống quản lý kinh doanh nhà hàng 101
Hình 20 Giao diện chính chức năng sử dụng bàn 102
Hình 21 Thông báo thời gian sử dụng bàn sát với thời gian bàn đã đặt 103
Hình 22 Giao diện nhập các thông tin đặt bàn 103
Hình 23 Thông báo lỗi khi đặt bàn trùng với khách hàng khác 103
Hình 24 Giao diện chức năng dặt nhiều bàn 104
Hình 25 Giao diện hóa đơn được in trước 105
Hình 26 Giao diện quản lý dịch vụ 106
Hình 27 Giao diện chế biến công thức dịch vụ 106
Hình 28 Giao diện in danh sách dịch vụ nhà hàng 107
Hình 29 Giao diện thống kê doanh thu nhà hàng theo thời gian 107
Hình 30 Giao diện thống kê dịch vụ sử dụng theo thời gian 108
Hình 31 Kết quả kết xuất dữ liệu ra file Excel 108
Trang 11Hình 35 Giao diện quản lý khách hàng 110
Hình 36 Giao diện quản lý nhân viên 111
Hình 37 Giao diện xem hóa đơn bán hàng theo thời gian 111
Hình 38 Giao diện xem hóa đơn nhập hàng 112
Hình 39 Giao diện xem phiếu chi và lập phiếu chi 112
Trang 12Bảng 1 Một số câu lệnh thông dụng trong SQL 6
Bảng 2 Mô tả thuộc tính của lớp account (tài khoản) 29
Bảng 3 Mô tả phương của thức lớp account (tài khoản) 30
Bảng 4 Mô tả thuộc tính của lớp customer (khách hàng) 32
Bảng 5 Mô tả phương thức của lớp customer(khách hàng) 33
Bảng 6 Mô tả thuộc tính của lớp distributor (nhà cung cấp) 35
Bảng 7 Mô tả phương thức của lớp distributor (nhà cung cấp) 36
Bảng 8 Mô tả thuộc tính của lớp raw_material (nguyên liệu) 38
Bảng 9 Mô tả phương thức lớp của raw_material (nguyên liệu) 39
Bảng 10 Mô tả thuộc tính của lớp raw_material_invoice (hóa đơn nhập nguyên liệu) 41
Bảng 11 Mô tả phương thức của lớp raw_material_invoice (hóa đơn nhập nguyên liệu) 42
Bảng 12 Mô tả thuộc tính của lớp raw_material_invoice_detail(chi tiết hóa đơn nhập nguyên liệu) 43
Bảng 13 Mô tả phương thức lớp của raw_material_invoice_detail (chi tiết hóa đơn nhập nguyên liệu) 44
Bảng 14 Mô tả thuộc tính của lớp raw_material_unit (đơn vị tính nguyên liệu) 45
Bảng 15 Mô tả phương thức lớp của raw_material_unit (chi tiết hóa đơn nhập nguyên liệu) 46 Bảng 16 Mô tả thuộc tính của lớp recipes (công thức chế biến) 47
Bảng 17 Mô tả phương thức lớp của recipes (công thức chế biến) 48
Bảng 18 Mô tả thuộc tính của lớp service (dịch vụ) 50
Bảng 19 Mô tả phương thức lớp của service (dịch vụ) 51
Bảng 20 Mô tả thuộc tính của lớp service_cost(giá dịch vụ) 53
Bảng 21 Mô tả phương thức lớp của service_cost (giá dịch vụ) 54
Bảng 22 Mô tả thuộc tính của lớp service_type (loại dịch vụ) 55
Bảng 23 Mô tả phương thức lớp của service_type (loại dịch vụ) 56
Bảng 24 Mô tả thuộc tính của lớp staff (nhân viên) 57
Bảng 25 Bảng mô tả phương thức lớp của staff (nhân viên) 58
Bảng 26 Mô tả thuộc tính của lớp table (bàn) 59
Bảng 27 Mô tả phương thức lớp của table (bàn) 60
Bảng 28 Mô tả thuộc tính của lớp table_location (vị trí bàn) 62
Bảng 29 Mô tả phương thức lớp của table_location (vị trí bàn) 63
Trang 13Bảng 33 Mô tả phương thức lớp của table_reservation_detail (chi tiết đặt bàn) 69
Bảng 34 Mô tả thuộc tính của lớp table_service (dịch vụ bàn) 70
Bảng 35 Mô tả phương thức lớp của table_reservation_detail (chi tiết đặt bàn) 71
Bảng 36 Mô tả thuộc tính của lớp table_status (trạng thái bàn) 73
Bảng 37 Mô tả thuộc tính của lớp unit (đơn vị tính) 74
Bảng 38 Mô tả phương thức lớp của unit (đơn vịt tính) 75
Bảng 39 Mô tả thuộc tính của lớp client_request (yêu cầu client) 77
Bảng 40 Mô tả phương thức lớp của client_request (yêu cầu client) 78
Bảng 41 Mô tả thuộc tính của lớp client_request_info (loại thông tin yêu cầu của client) 79
Bảng 42 Mô tả thuộc tính của lớp discount (loại thông tin yêu cầu của client) 79
Bảng 43 Mô tả phương thức lớp của discount (giảm giá) 81
Bảng 44 Mô tả thuộc tính của lớp discount_detail (chi tiết giảm giá) 83
Bảng 45 Mô tả thuộc tính của lớp invoice (hóa đơn) 84
Bảng 46 Mô tả phương thức lớp của invoice (hóa đơn) 85
Bảng 47 Mô tả thuộc tính của lớp payment_invoice (hóa đơn chi) 86
Bảng 48 Mô tả phương thức lớp của payment_invoice (hóa đơn chi) 87
Bảng 49 Mô tả thuộc tính của lớp restaurant_info (thông tin nhà hàng) 88
Bảng 50 Mô tả phương thức lớp của restaurant_info (giảm giá) 89
Bảng 51 Mô tả thuộc tính của lớp system_log (trạng thái hệ thống) 90
Bảng 52 Mô tả phương thức lớp của system_log (trạng thái hệ thống) 91
Trang 14 CSDL: Cơ sở dữ liệu
IDE: Integrated Development Environment
PHP: Personal Home Page
SQL: Structured Query Language
UI: User Interface
Use case diagram: Sơ đồ hoạt vụ
Class: Sơ đồ lớp
Sequence diagram: Sơ đồ tuần tự
Trang 15Hiện nay với sự phát triển công nghệ thông tin, các quy trình nghiệp vụ truyềnthống trong xã hội đang dần dần được tin học hóa Tin học hóa nghiệp vụ làm tănghiệu quả kinh doanh và hiệu suất làm việc nói chung Riêng trong lĩnh vực ẩm thựcnhà hang,… cũng đi theo xu thế chung này việc tin học hóa được thực hiện hiện naychủ yếu trong các khâu quản lý bán hàng, gọi món nhập yêu cầu của khách để in hóađơn,…
Đề tài “Xây dựng hệ thống chọn món ăn và quản lý hoạt động kinh doanh của một nhà hàng” được xây dựng nhằm phục vụ các nhu nhu cầu về gọi món thông qua
máy tính bảng và quản lý được việc đặt bàn sử dụng bàn, thống kê kinh doanh của nhàhàng Trong luận văn này tôi chú trọng đến phân hệ quản lý hoạt động kinh doanh củanhà hàng
Hệ thống được xây dựng dựa trên:
- Phương pháp phân tích thiết kế hệ thống hướng đối tượng
- Ngôn ngữ lập trình Java
- Hệ quản trị cơ sỡ dữ liệu MySQL
Kết quả đạt được sau khi nghiên cứu và xây dựng hệ thống: gọi món được, yêucầu nhận bàn, yêu cầu thanh toán trực tiếp trên máy tính bảng, hệ thống được đồng bộ
dữ liệu với nhau Thực hiện việc đặt bàn, sử dụng bàn và thống kê kinh doanh của nhàhàng
Từ khóa: Nhà hàng, quản lý nhà hàng, hoạt động kinh doanh nhà hàng
Trang 16Nowadays, with the development of information technology, the performanceprocesses of traditional in society is being changed computerization Computerizationmake increasing business efficiency and productivity general Particularly in the field
of culinary restaurants,… also follow to the general trend about computerization isnow mostly realizing in field of sales management, ordering food according to require
of customers to print invoices by software system, It helps to easy to realizeprocessing simple, quickly and exactly, saving human resources, time, costs It alsoshows the professional of who making the business The analysis above descriptionsthat the need of customer have to have of a system called dish and sales manager ofthe restaurant
Topic “Building a system called dish and management activities of a restaurantbusiness (module management business)” it was built to serve the needs of orderingfood through the tablets making easy to manage the customer using table, systemStatistics of the restaurant business
The system is based on :
Design analysis method of object-oriented systems
Java Programming Language
System administration of MySQL databasesThe results achieved after research and building systems: ordering food, acceptingrequest table, payment directly on the tablet, the system will be data synchronizationwith each other realize of odering the table, using the tables and the system of therestaurant business
Keywords:Restaurant, Restaurant management, restaurant business activities
Trang 17CHƯƠNG 1 TỔNG QUAN1.1 ĐẶT VẤN ĐỀ
Hiện nay với sự phát triển không ngừng của Công nghệ Thông tin, các quy trìnhnghiệp vụ truyền thống trong xã hội đang dần dần được tin học hóa Việc tin học hóanghiệp vụ làm tăng hiệu quả kinh doanh và hiệu suất làm việc nói chung Riêng tronglĩnh vực ẩm thực nhà hàng,… cũng đi theo xu thế chung này việc tin học hóa đượcthực hiện hiện nay chủ yếu trong các khâu quản lý bán hàng, gọi món nhập yêu cầucủa khách để in hóa đơn… Việc tin học hóa giúp cho quá trình thực hiện các quy trìnhnghiệp vụ được đơn giản nhanh chóng và chính xác, tiết kiệm nhân lực, thời gian, qua
đó tiết kiệm đáng kể chi phí Đồng thời cũng thể hiện sự chuyên nghiệp của đơn vị
kinh doanh Các phân tích trên rút ra nhận định rằng nhu cầu thực tế của một “Xây dựng hệ thống chọn món ăn và quản lý hoạt động kinh doanh của một nhà hàng”.
Với hệ thống này cần đáp ứng được các yêu cầu trong việc gọi món và quản lýkinh doanh của nhà hàng như: Cho phép khách hàng, nhân viên có thể thực hiện gọimón trực tiếp trên hệ thống chạy trên hệ điều hành Android và được tích hợp vào máytính bảng Cho phép khách hàng xem hóa đơn của mình một cách nhanh chóng chínhxác Thông tin dịch vụ/món ăn được gọi sẽ được đồng bộ với nhà bếp và hệ thốngphần mềm quản lý hoạt động kinh doanh Ngoài ra phần mềm quản lý hoạt động kinhdoanh chạy trên desktop cũng hỗ trợ được việc đặt bàn, gọi món, thanh toán, in hóađơn cho khách hàng, lập công thức món ăn, báo cáo doanh thu, báo cáo chi của nhàhàng, Ngoài những chức năng chính như trên hệ thống còn hỗ trợ việc quản lý kho,thông tin khách quản lý hàng, thông tin nhân viên, loại dịch vụ, dịch vụ, thông tin bàn
ăn, vị trí bàn và một số chức năng khác
1.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Hiện nay các nhà hàng đều có một hệ thống quản lý kinh doanh phục vụ cho việcquản lý của nhà hàng được thuận tiện hơn Tuy nhiên nó vẫn chưa đáp ứng được cácnhu cầu về các vấn đề về đặt bàn trước cho khách hàng và gọi món ăn thông qua menuđiện tử Điển hình là phần mềm quản lý nhà hàng EVS-R chỉ cho phép nhà hàng sử
Trang 18dụng bàn trực tiếp và gọi món thông qua menu thông thường, không hỗ trợ đặt bàntrước và gây khó khăn trong quá trình chuyển thông tin gọi món của khách hàngxuống nhà bếp chế biến Tuy nhiên đối với Hệ thống quản lý nhà hàng điện tửUDSMARTPOS của trung tâm phát triển phần mềm của trường Đại học Đà Nẵngcũng đã đáp ứng được các nhu cầu nghiệp vụ cần thiết của nhà hàng, gọi món thôngqua máy tính bảng, tuy nhiên vẫn chưa hỗ trợ việc đặt bàn cho khách hàng và đó cũng
là một yêu cầu mà các nhà hàng hiện nay cần phải có
Chính vì vậy cần phải xây dựng Xây dựng hệ thống chọn món ăn và quản lý hoạt động kinh doanh của một nhà hàng nhằm giúp nhà hàng quản lý tốt hơn từ việc
đặt bàn và gọi món của khách hàng, thống kê, quản lý kho,… một cách thống nhất vàthuận tiện nhất
1.3 PHẠM VI ĐỀ TÀI
“Xây dựng hệ thống chọn món ăn và quản lý hoạt động kinh doanh của một nhà hàng” bao gồm 2 phân hệ chính:
Phân hệ gọi món ăn trên máy tính bảng chạy hệ điều hành Android
Phân hệ quản lý kinh doanh của nhà hàng
Tuy nhiên do giới hạn về thời gian, tôi tập trung vào phân hệ quản lý hoạt độngkinh doanh của nhà hàng
1.4 PHƯƠNG PHÁP NGHIÊN CỨU
Để thực hiện và xây dựng tốt “Xây dựng hệ thống chọn món ăn và quản lý hoạt động kinh doanh của một nhà hàng” thì người tham gia, xây dựng và phát triển phải
có một kế hoạch nghiên cứu phù hợp
Về mặt lý thuyết: có thể tham khảo các quy trình nghiệp vụ kinh doanh, quản lýnhà hàng trên các website của một số nhà hàng cung cấp Tham khảo một số phầnmềm quản lý nhà hàng có sẵn để phát triển hệ thống
Về mặt thực nghiệm: Tham khảo ý kiến của giảng viên hướng dẫn, các giảngviên trong khoa Công nghệ Thông tin trường Đại học Võ Trường Toản, khảo sát thực
tế quy trình phục vụ tại các nhà hàng quán ăn từ đó xây lập kế hoạch và xây dựng
Trang 191.5 BỐ CỤC LUẬN VĂN
Trong luận văn này được chia làm 3 chương
Chương 1: Đã giới thiệu được tầm quan trọng của việc tin học hóa trong các quy
trình quản lý kinh doanh và sự cần thiết để xây dựng một hệ thống hỗ kinh doanh củanhà hàng Đưa ra được những chức năng chính cần có của hệ thống và có sự so sánhvới một số hệ thống khác đã được xây dựng và cho thấy ưu điểm hệ thống đang xâydựng Đưa ra phương pháp nghiên cứu để thực hiện tốt hệ thống
Chương 2: Giới thiệu ngôn ngữ lập trình Java và hệ quản trị cơ sở dữ liệu
MySQL được sử dụng để xây dựng hệ thống Ngoài ra giới thiệu công cụ lập trìnhNetbeans để làm môi trường phát triển hệ thống
Chương 3: Kết quả khảo sát và thu thập thông tin nghiệp vụ để mô tả chi tiết
chức năng hệ thống Thể hiện các giải pháp phân tích và thiết kế mô hình, chức năngcủa hệ thống bằng các sơ đồ hoạt vụ, sơ đồ lớp Với mỗi chức năng của hệ thống cócác mô tả chi tiết về cách thao tác, xử lý lỗi, ràng buộc trên hệ thống thông qua các mô
tả các hoạt vụ, các sơ đồ tuần tự Trình bày các mô tả thuộc tính và phương thức củacác lớp trong hệ thống, bên cạnh đó còn có các sơ đồ giải thuật xử lý các nghiệp vụchính của hệ thống quản lý hoạt động kinh doanh của một nhà hàng Cuối cùng là kếtquả đạt được sau quá trình nghiên cứu và xây dựng hệ thống
Chương 4: Trình bày kết luận về hệ thống và hướng phát triển của hệ thống
được hoàn thiện hơn
Trang 20CHƯƠNG 2: CƠ SỞ LÝ THUYẾT2.1 NGÔN NGỮ JAVA
2.1.1 Giới thiệu ngôn ngữ Java
Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6năm 1995 Từ đó, nó đã trở thành một công cụ lập trình của các lập trình viên chuyênnghiệp Java được xây dựng trên nền tảng của C và C++ Do vậy nó sử dụng các cúpháp của C và các đặc trưng hướng đối tượng của C++
Java là ngôn ngữ lập trình hướng đối tượng Java có thể giải quyết hầu hết cáccông việc mà các ngôn ngữ khác có thể làm được
Java là ngôn ngữ vừa biên dịch vừa thông dịch Đầu tiên mã nguồn được biêndịch bằng công cụ JAVAC để chuyển thành dạng ByteCode Sau đó được thực thi trêntừng loại máy cụ thể nhờ chương trình thông dịch Mục tiêu của cácnhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thểchạy trên bất cứ phần cứng cụ thể
Ngày nay, Java được sử dụng rộng rãi để viết chương trình chạy trên Internet
Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệđiều hành Nó không chỉ dùng để viết các ứng dụng chạy đơn lẻ hay trong mạng màcòn để xây dựng các trình điều khiển thiết bị cho điện thoại di động, PDA, …
2.1.2 Các đặc trưng của Java
- Java là ngôn ngữ lập trình đơn giản
- Java là ngôn ngữ lập trình hướng đối tượng
- Java là ngôn ngữ lập trình độc lập phần cứng và hệ điều hành
- Java là ngôn ngữ lập trình mạnh mẽ
- Java là ngôn ngữ lập trình bảo mật
- Java là ngôn ngữ lập trình phân tán
- Java là ngôn ngữ lập trình đa luồng
Trang 212.2 GIỚI THIỆU VỀ MySQL
2.2.1 Sơ lược về MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm trong nhómLAMP( Linux – Apache – MySQL – PHP) MySQL được tích hợp sử dụng chung vớiApache, PHP nên nó phổ biến nhất thế giới Vì MySQL là cơ sở dữ liệu tốc độ cao, ổnđịnh và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấpmột hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQLrất thích hợp cho các ứng dụng có tính bảo mật cao MySQL là một trong những ví dụrất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc(Structured Query Language) MySQL được sử dụng cho việc bổ trợ PHP, Perl, Java
và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các hệ thống website
và cả phần mềm
Một số đặc điểm của MySQL
- MySQL là một phần mềm quản trị CSDL dạng server-based (gần tương
đương với SQL Server của Microsoft)
- MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có
thể có nhiều bảng quan hệ chứa dữ liệu
- MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể
được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một têntruy cập và mật khẩu tương ứng để truy xuất đến cơ sở dữ liệu
- Khi ta truy vấn tới cơ sở dữ liệu MySQL, ta phải cung cấp tên truy cập và
mật khẩu của tài khoản có quyền sử dụng cơ sở dữ liệu đó Nếu không,chúng ta sẽ không làm được gì cả giống như quyền chứng thực người dùngtrong SQL Server
Trang 222.3 GIỚI THIỆU SQLITE
SQLite là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh, có thể cài đặtbên trong các trình ứng dụng khác SQLite được Richard Hipp viết dưới dạng thư việnbằng ngôn ngữ lập trình C
SQLite có các ưu điểm sau:
Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được
thực hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng Tuân theo chuẩn SQL92(chỉ có một vài đặc điểm không hỗ trợ)
Không cần cài đặt cấu hình: Kích thước chương trình gọn nhẹ, với cấu hình đầy
đủ chỉ không đầy 300 kB Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ
Trang 23ứng dụng “must-download” dành cho các nhà phát triển phần mềm và đặc biệt nó hoàntoàn miễn phí
Hình 1 Giao diện làm việc của Netbeans IDE
NetBeans IDE là một công cụ dành cho lập trình viên để viết, biên dịch, gỡ lỗi(debug) và triển khai (deploy) chương trình Chuơng trình được viết bằng Java nhưng
có thể hổ trợ bất kỳ ngôn ngữ lập trình nào (Java, C/C++, PHP) Netbeans có rất nhiềucác plugin cho phép mở rộng tính năng của mình
NetBeans hỗ trợ nhiều tất cả hệ điều hành trên máy tính NetBean bao gồm mộtIDE mã nguồn mở và một nền tảng ứng dụng cho phép nhà phát triển nhanh chóng tạonên các ứng dụng dành cho web, doanh nghiệp, desktop và thiết bị di động bằng cácngôn ngữ lập trình Java, C/C++, JavaScript, Ruby, Groovy, và PHP
NetBeans IDE cung cấp nhiều tính năng như QuickSearch, giao diện thận thiệnvới người dùng, tự động biên dịch khi lưu (Compile on Save) Ngoài việc hỗ trợ Javamọi phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởngcho việc phát triển phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails,Ruby and Rails, Ajax and JavaScript
Bên cạnh đó Netbeans IDE hỗ trợ việc kéo thả giao diện giống như VisualStudio của Microsoft, giúp cho việc phát triển các ứng dụng một các nhanh chóng vàhiệu quả
Trang 24Hình 2 Các control hỗ trợ xây dựng giao diện của Netbeans IDE
Netbeans IDE còn hỗ trợ Plugin Ireport giúp người dùng tạo nhanh các báo cáothống kê, in ấn, xuất ra các định dạng các file excel
Hình 3 Ireport tạo báo cáo trong Netbean
2.4.2 SQLyog
SQLyog MySQL là một chương trình quản lý và quản trị phổ biến nhất dành
Trang 25Hình 4 Giao diện làm việc của SQLyog
Ngoài ra SQLyog còn hỗ trợ tốt:
- Nhắc lệnh, tự hoàn thành các từ khóa, tên bảng,…
- Tạo cấu trúc bảng một cách nhanh chóng bằng giao diện thân thiện.
- Tạo procedure nhanh chóng.
- Hỗ trợ kéo thả tạo các mối quan hệ giữa các bảng.
Hình 5 Tạo các mối quan hệ giữa các bảng
Trang 26đó tiết kiệm đáng kể chi phí Đồng thời cũng thể hiện sự chuyên nghiệp của đơn vị
kinh doanh Các phân tích trên rút ra nhận định rằng nhu cầu thực tế của một “hệ thống gọi món ăn và quản lý bán hàng của một nhà hàng”
Mục tiêu của hệ thống là xây dựng một giải pháp phầm mềm hỗ trợ cho việcgọi món trong nhà hàng và quản lý hoạt động kinh doanh Ứng dụng sử dụng sứcmạnh di động cao của thiết bị điện toán di động và đặc tính màn hình lớn giá rẻ củamáy tính bảng chạy Android Giúp thực khách hoặc bồi bàn chọn món trên màn hìnhcủa máy tính bảng, chuyển yêu cầu này xuống các bộ phần chế biến; sau đó hỗ trợthanh toán lập và in hóa đơn tính tiền, thống kê kinh doanh cùng với các nghiệp vụthường có ở các đơn vị kinh doanh này Hệ thống được xây dựng thành 3 phân hệ
Phân hệ gọi món điện tử trên máy tính bảng
Mỗi khi khách hàng đến và thưởng thức món ăn của nhà hàng, nhà hàng sẽcung cấp cấp sẵn trên mỗi bàn ăn một thiết bị di động chạy hệ điều hành Android hiểnthị danh sách dịch vụ của nhà hàng, thay thế việc chọn thực đơn thông thường (bằngcuốn sách, hay một bảng,…) Khi khách hàng tiến hành nhận bàn thì cần xác nhận củanhân viên phục vụ bằng một mật khẩu Mật khẩu này được quản lý bởi hệ thống quản
lý kinh doanh nhà hàng gồm có các thông tin: mật khẩu, ngày tạo Mật khẩu này sẽđược cung cấp cho nhân viên mỗi khi mật khẩu được thay đổi Khi nhân viên đã xác
Trang 27quản lý, lúc này thông tin bàn yêu cầu sẽ chờ sự chấp nhận của nhân viên quản lý, nếunhân viên quản lý chấp nhận yêu cầu thì bàn sẽ được sử dụng và khách hàng có thểtiến hành gọi món bình thường Nếu có một lý do nào đó nhân viên quản lý khôngchấp nhân yêu cầu này thì trên máy tính bảng sẽ thông báo cho khách hàng biết và yêucầu không được xác nhận.
Sau khi khách hàng đã được xác nhận sử dụng bàn thì danh sách các dịchvụ/món ăn được hiển thị các thông tin cơ bản như: tên món ăn, loại món ăn, giá tiền,chi tiết món ăn, hình ảnh xem trước cho khách hàng lựa chọn
Phân hệ xác nhận tại nhà bếp
Khi khách hàng tiến hành lựa chọn dịch vụ/món ăn thì các thông tin cơ bảnđược chuyển đến nhà bếp kèm theo tên bàn, số lượng, ghi chú để nhà bếp chế biếnđúng như yêu cầu, sau khi chế biến xong nhà bếp tiến hành xác nhận
Phân hệ quản lý bán hàng
Để cho khách hàng sử dụng được dịch vụ của nhà hàng thì nhà hàng sẽ dànhcho khách hàng một bàn ăn đang trong tình trạng chưa đặt bàn hoặc chưa có kháchhàng khách đang sử dụng, khi đó trên hệ thống sẽ đặt trạng thái của bàn đó đang được
sử dụng và tiến hành thêm các thông tin dịch vụ mà khách hàng yêu cầu như: tên dịch
vụ, số lượng, ghi chú Các thông tin về dịch vụ mà khách hàng yêu cầu sẽ được thêmvào hóa đơn của khách hàng, trong quá trình khách hàng ăn tại nhà hàng có thể yêucầu thêm món ăn hoặc dịch vụ bất cứ lúc nào hoặc có thể thay đổi món ăn, số lượngkhi đó sẽ được cập nhật vào hóa đơn của khách hàng trên hệ thống một cách nhanhchóng và chính xác Khi khách hàng dùng xong và yêu cầu hóa đơn xem trước thìnhân viên sẽ in trước cho khách hàng hóa đơn có đầy đủ các thông tin dịch vụ màkhách hàng đã sử dụng, tổng tiền, phí phụ thu, giảm giá(nếu có) Nếu khách hàng yêucầu thanh toán thì nhân viên tiếp nhận tiền và thực hiện việc thanh toán trên hệ thống,lúc này trạng thái của bàn được đưa về rãnh và có thể tiếp nhận khách hàng mới.Trong trường hợp khách hàng đến nhận bàn nhưng không sử dịch vụ tại nhà hàng nữathì nhân viên sẽ tiến hành hủy sử dụng bàn đó và cũng đưa về trạng thái rãnh Nếu như
Trang 28nhà hàng có nhu cầu mở rộng diện tích kinh doanh thêm bàn và khu vực thì có thểthêm bàn vào hệ thống gồm: mã bàn, tên bàn, vị trí bàn.
Để tạo thuận tiện cho khách hàng, hệ thống sẽ hỗ trợ khách hàng có thể đặt bàntrước và khách hàng cần cung cấp thông tin như: họ tên, số điện thoại, địa chỉ,… khi
đó bàn được đặt sẽ chuyển sang trạng thái được đặt trước và hệ thống sẽ ghi nhận lạicác thông tin đặt bàn (mã bàn, ngày nhận, số tiền đưa trước) và đưa bàn vào trạng thái
đã đặt Khi sử sụng bàn được đặt thì hệ thống sẽ cảnh báo cho nhân viên biết bàn đangđược đặt, nếu thời gian sử dụng bàn quá gần với thời gian nhận bàn được đặt củakhách hàng thì sẽ không thể sử dụng bàn đó Để phục vụ cho khách hàng tốt hơn nhàhàng cung cấp dịch vụ đặt tiệc liên hoan, tiệc cưới, sinh nhật, khi đó khách hàng sẽ đặttrước với số lượng bàn cần thiết Trong trường hợp sắp đến thời gian nhận bàn hoặcsau thời gian nhận bàn thì hệ thống sẽ cảnh báo cho nhân viên biết để nhân viên có thểhủy đặt bàn và cho khách hàng khác sử dụng hoặc thuê tiếp tục, tuy nhiên nếu có sựthay đổi về thời gian đặt bàn hay muốn chuyển sang bàn khác thì nhân viên tiến hànhchuyển bàn hoặc cập nhật thời gian đặt bàn của khách hàng theo yêu cầu
Để phục vụ tốt và đáp ứng đầy đủ nhu cầu cho khách hàng khi đến sử dụng thìnhà hàng cần quản lý một danh sách dịch vụ và các món ăn với các thông tin cơ bảnnhư: mã dịch vụ, tên dịch vụ, đơn vị tính, đơn giá, ghi chú, ảnh minh họa,… có thể dễdàng thêm mới hoặc cập nhật thông tin về giá, tên dịch vụ một cách nhanh chóng, khi
đó các dịch vụ này cũng được cập nhật lại menu tại thiết bị di động Ngoài ra nếu nhàhàng có chương trình khuyến mãi thì hệ thống sẽ lưu trữ lại các mức giảm giá, ngàybắt đầu, ngày kết thúc và sẽ áp dụng lên các hóa đơn của nhà hàng theo điều kiện củachương trình khuyến mãi như: tên chương trình khuyến mãi, ngày bắt đầu, ngày kếtthúc, điều kiện áp dụng, giá trị được khuyến mãi(phần trăm hoặc số tiền)
Với mỗi dịch vụ trong nhà hàng, hệ thống hỗ trợ việc xác định công thức chếbiến của mỗi dịch vụ Các thông tin công thức chế biến của một dịch vụ gồm có nhiềunguyên liệu với các thông tin như: nguyên liệu, số lượng chế biến, đơn vị tính Cácnguyên liệu này được có trong kho và được quản lý trên hệ thống bởi các thông tin cơbản như: mã nguyên liệu, tên nguyên liệu, số lượng tồn kho, đơn vị tính Mỗi khi gọi
Trang 29theo công thức chế biến tương ứng của dịch vụ đó, nếu số lượng tồn của nguyên liệutrong kho không đủ với số lượng chế biến cần sử dụng thì hệ thống sẽ thông báo vàkhông cho phép gọi dịch vụ tương ứng.
Đến một thời điểm nào đó quản lý nhà hàng muốn thống kê lại cách khoản thucủa nhà hàng theo một khoản thời gian hoặc theo dịch vụ cụ thể để người quản lý nhàhàng có kế hoạch kinh doanh mới nhằm nâng cao chất lượng dịch vụ của nhà hàng Cóthể đưa ra các chương trình khuyến mãi, giảm giá theo phần trăm hóa đơn hoặc một sốtiền cụ thể
Trong nhà hàng cần phải có nhiều nhân viên làm việc, phục vụ chế biến món ăncho nhà hàng, vì vậy các nhân viên này được quản lý các thông tin cá nhân: mã nhânviên, họ tên nhân viên, ngày sinh, giới tính, địa chỉ, số điện thoại, email Nhân viênquản lý có thể thêm mới hoặc cập nhật thông tin nhân viên vào hệ thống
Đối với việc kinh doanh hoặc marketing thì nắm giữ một số thông tin của kháchhàng cũng khá quan trọng Khi nhà hàng có chương trình khuyến mãi hoặc giới thiệudịch vụ, sản phẩm mới thì có thể sử dụng các thông tin khách hàng(tên khách hàng, địachỉ, số điện thoại, email, giới tính, độ tuổi) để gửi tin nhắn hoặc email cho khách hàngbiết để giúp họ hưởng được các chương trình khuyến mãi và dịch vụ tốt nhất củanhàng hàng, điều này làm cho khách hàng càng ngày càng gắn bó nhiều hơn với nhàhàng
Trang 30Hình 6 Sơ đồ hoạt động của hệ thống
Trang 313.2 GIẢI PHÁP PHÂN TÍCH, THIẾT KÊ MÔ HÌNH
3.2.1 Sơ đồ hoat vụ (use case diagram)
Hình 7 Sơ đồ hoạt vụ
Trang 323.2.2 Đặt tả các trường hợp sử dụng (use cases)
3.2.2.1 Use case đăng nhập
Định danh
Tên: Đăng nhập
Mục tiêu (tóm tắt): Use case này mô tả cách một người dùng đăng nhập vào
hệ thống quản lý kinh doanh của nhà hàng
Tác nhân (chính, phụ): Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 09/04/2014
Người tạo: Nguyễn Hữu Phước – ĐH CNTTT K3
Phiên bản (version): 1.0
Chuỗi hành vi
Mô tả tổng quát: Use case này bắt đầu khi có một actor muốn đăng nhập vào
hệ thống quản lý kinh doanh của nhà hàng
Điều kiện đầu (pre-cond): Không có
Chuỗi liên kết các thông báo (messages):
Hệ thống yêu cầu actor nhập tên đăng nhập và mật khẩu
Actor nhập tên đăng nhập và mật khẩu
Hệ thống kiểm chứng tên đăng nhập và mật khẩu được nhập và cho phépactor đăng nhập vào hệ thống
Điều kiện cuối (post-cond): Nếu use case thành công, actor lúc này đã đăng
nhập vào hệ thống Nếu không trạng thái hệ thống không đổi
Xử lý ngoại lệ (Exception):
Nếu actor nhập sai tên đăng nhập hoặc mật khẩu, hệ thống sẽ hiển thịmột thông báo lỗi Actor có thể chọn trở về đăng nhập lại hoặc hủy việc đăng nhập lúcnày use case kết thúc
Nếu actor nhập sai tên đăng nhập: Hệ thống sẽ thông báo không tồn tạitên đăng nhập
Nếu actor nhập sai mật khẩu: Hệ thống sẽ hiển thị thông báo yêu cầunhập lại mật khẩu
Trang 333.2.2.2 Use case quản lý bàn
Định danh
Tên: Quản lý bàn
Mục tiêu (tóm tắt): Thêm, sửa, xóa thông tin về bàn.
Tác nhân chính: Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 09/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Phiên bản (version): 1.0
Chuỗi hành vi
Mô tả tổng quát: Use case này cho phép actor chọn lựa việc thêm, sửa, xóathông tin bàn
Điều kiện đầu (pre-cond): Đăng nhập thành công vào hệ thống
Chuỗi liên kết các thông báo (messages):
Hệ thống hiển thị form gồm 2 phần chính
Phần 1: Cho phép actor nhập và lựa chọn các thông tin: tên bàn, loại bàn,vị tríbàn, số ghế của bàn
Phần 2: Hiển thị các thông tin về các bàn đã được thêm trước đó
Actor sẽ nhập đầy đủ các thông tin (tên bàn, chọn vị trí bàn, loại bàn, sốghế của bàn) vào form (nếu actor muốn thêm bàn mới) và sau đó sẽ lưu thông tin vừathêm bằng cách ấn nút lưu
Nếu thông tin được yêu cầu nhập vào mà bị bỏ trống thì hệ thống yêucầu nhập lại thông tin bị bỏ trống đó
Actor có thể tìm kiếm thông tin bàn bằng cách nhập tên bàn cần tìm lên
form (tại ô tìm kiếm bàn) hoặc actor có thể click chuột vào phần thông tin được hiển
thị ở phần chính thứ 2 trên form
Sau đó hệ thống sẽ hiển thị tất cả các thông tin về bàn cần tìm lên
form (nếu tìm thấy) bao gồm: Mã bàn (không cho phép thao tác), tên bàn, vị trí bàn,
loại bàn, số ghế của bàn hoặc không hiển thị các thông tin nếu không tìm thấy
Nếu hệ thống tìm thấy thông tin về bàn cần tìm thì actor hoặc có thểthay đổi các thông tin trên form sau đó sẽ lưu thông tin vừa thay đổi bằng cách ấn chọn
Trang 34nút lưu, khi đó hệ thống sẽ kiểm tra các thông tin yêu cầu được cung cấp nếu nhập sai
hoặc chưa nhập thì hệ thống sẽ yêu cầu nhập lại, hoặc có thể xóa bàn được chọn bằng
cách ấn chọn nút xóa và hệ thống sẽ hỏi lại actor có muốn xóa Nếu actor chọn đồng ýthì việc xóa được thực hiện, ngược lại thao tác xóa sẽ bị hủy
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu.
Nếu xảy ra lỗi trong quá trình lưu xuống CSDL thì rollback dữ liệu
3.2.2.3 Use case đặt bàn
Định danh
Tên: Đặt bàn
Mục tiêu (tóm tắt): Tạo hóa đơn đặt bàn cho khách hàng.
Tác nhân chính: Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 09/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Chuỗi liên kết các thông báo (messages):
Danh sách bàn được hiển thị lên form dưới dạng icon, actor tiến hành chọn bàn cần đặt
và click chuột phải chọn menu đặt bàn hoặc đặt nhiều bàn
Đặt bàn: Hệ thống hiển thị form đặt bàn cho khách hàng gồm các thông
tin: tên bàn đã chọn, ngày đặt bàn, số tiền đưa trước, danh sách khách hàng(nếu có).Khi đó actor sẽ chọn ngày đặt bàn, nhập số tiền đưa trước(số tiền chỉ được nhập số) vàchọn 1 khách hàng(nếu có trong danh sách) sau đó actor muốn lưu thông tin đặt bànchỉ cần nhấn nút lưu
Nếu ngày đặt bàn nhỏ hơn ngày hiện tại hoặc ngày đặt bàn nằm trongkhoảng thời gian đặt bàn khác thì yêu cầu chọn thời gian khác
Trang 35 Đặt nhiều bàn: Hệ thống hiển thị form đặt nhiều bàn và danh sách các
bàn cùng với các control chứa các thông tin: bảng danh sách bàn được đặt, danh sáchkhách hàng, số tiền đưa trước, ngày đặt bàn Sau đó actor chọn ngày đặt bàn(danh sáchbàn sẽ hiển thị các bàn có thể đặt được vào thời gian mà actor chọn), nhập số tiền đặttrươc(nếu có), chọn tên khách hàng, chọn danh sách bàn cần đặt bằng cách click đôichuột và danh sách bàn Sau khi thực hiện các thao tác trên actor nhấn nút lưu để tiếnhành lưu các thông tin đặt bàn
Nếu ngày đặt bàn nhỏ hơn ngày hiện tại thì yêu cầu chọn thời giankhác
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu và
Mục tiêu (tóm tắt): chuyển bàn đang sử dụng sang bàn khác cho khách hàng.
Tác nhân chính: Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 09/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Chuỗi liên kết các thông báo (messages):
Danh sách bàn được hiển thị lên form dưới dạng icon, actor tiến hành chọn bàn cầnchuyển và click chuột phải chọn menu chuyển sau đó sẽ xuất hiện form chuyển bàn.Trên form sẽ hiển thị tên bàn hiện tại và danh sách bàn có thể chuyển tới
Trang 36Danh sách bàn được chuyển tới là danh sách được lấy ra bằng cách so sánhngày hiện tại, nếu không trùng với thời gian đặt bàn đã có trong danh sách đặt bàn.Actor chọn bàn cần chuyển và click chuột vào nút lưu khi đó hệ thống sẽ yêu cầu xácnhận chuyển bàn, nếu actor chấp nhận chuyển bàn thì hệ thống thực hiện lệnh
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu và
Tác nhân chính: Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 09/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Chuỗi liên kết các thông báo (messages):
Khi khách hàng yêu cầu dịch vụ, thì actor khởi động use case gọi món Lúc này
hệ thống sẽ hiển thị danh sách dịch vụ có trong nhà hàng gồm danh sách dịch vụ(mãdịch vụ, tên dịch vụ, đơn giá, đơn vị tính) và bảng chứa thông tin hóa đơn(tên dịch vụ,đơn giá, số lượng, đơn vị tính, thành tiền)
Trang 37 Actor gọi món bằng cách click đôi vào và một dịch vụ có trong bảng danhsách dịch vụ, mặc đinh số lượng dịch vụ sẽ là 1 được thêm vào hóa đơn khách hàng vàđược cập nhật, hiện thị lên.
Hệ thống sẽ kiểm tra số lượng nguyên liệu trong kho có đủ để chế biếntheo công thức của dịch vụ đã chọn Nếu nguyên liệu trong kho không đủ đáp ứng chodịch vụ đó thì hệ thống thông báo và thao tác thêm dịch vụ không thành công, ngượclại thực hiện việc gọi món và tiến hành trừ số lượng nguyên liệu trong kho ứng vớicông thức của dịch vụ(mã nguyên liệu, tên nguyên liệu, đơn vị tính, số lượng chế biến)
Actor tiến hành chọn dịch vụ có trong bảng hóa đơn của khách hàng và tiếnhành cập nhật số lượng hoặc hủy dịch vụ có trong hóa đơn
Cập nhật số lượng: actor chọn một dịch vụ trong bảng hóa đơn và tiếnhành click phải chuột phải và chọn cập nhật số lượng Khi đó sẽ xuất hiện form chophép actor nhập số lượng(chỉ được nhập số) thay đổi và nhấn nút OK Nếu số lượngcập nhật lớn hơn số lượng ban đầu thì hệ thống tiếp tục kiểm tra nguyên liệu trong khocòn đủ để đáp ứng hay không nếu không đủ sẽ thông báo hết nguyên liệu và số lượng
sẽ không được cập nhật Nếu số lượng nhỏ hơ số lượng hiện tại, hệ thống sẽ tiến hànhcập nhật lại số lượng nguyên liệu trong kho
Hủy dịch vụ trong hóa đơn: actor chọn dịch vụ trong bảng hóa đơn
và click chuột phải chọn menu hủy dịch vụ Lúc này hệ thống sẽ tiến hành cập nhật lại
số lượng nguyên liệu đã trừ trước đó ứng với dịch vụ đang chọn
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu và
cập nhật lại bảng hóa đơn
Tên: thanh toán hóa đơn
Mục tiêu (tóm tắt): thanh toán hóa đơn cho khách hàng khi.
Tác nhân chính: Nhân viên quản lý
Trang 38 Ngày tạo và ngày cập nhật mới: 14/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Chuỗi liên kết các thông báo (messages):
Use case này hoạt động khi khách hàng yêu cầu thanh toán và xuất hóa đơn.Actor tiến hành chọn bàn cần thanh toán click phải chọn menu thanh toán( hoặc chọnnút thanh toán) Hệ thống kiểm tra các dịch vụ trong hóa đơn của khách hàng có dịch
vụ nào đã gọi mà chưa phục vụ hay không, nếu có thì hệ thống sẽ thông báo và thaotác thanh toán không thành công, ngược lại hệ thống tiến hành lưu các thông tin thanhtoán(tổng tiền dịch vụ, tiền dịch vụ khác, giảm giá,…) vào hệ thống Tiếp theo hệthống sẽ thông báo thanh toán thành công Và sẽ hỏi actor xác nhận in hóa đơn( chọnyes trên bảng thông báo) Thông báo lỗi nếu quá trình thanh toán xảy ra lỗi
Nếu như khách hàng yêu cầu xem trước hóa đơn thì actor chọ chức năng intrước hóa đơn bằng cách click vào bàn cần in, chọn menu in trước hóa đơn(hoặc chọnnút in trước hóa đơn) để xem trước(lúc này chưa thanh toán)
Khi khách hàng đưa tiền thanh toán actor có thể nhập số tiền của khách đưa vàbiết được cần trả lại bao nhiêu hoặc khách hàng cần trả thêm bao nhiêu
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu và
Trang 39 Mục tiêu (tóm tắt): thêm, xóa, sửa, thông tin dịch vụ.
Tác nhân chính: Nhân viên quản lý
Ngày tạo và ngày cập nhật mới: 14/04/2013
Người tạo: Nguyễn Hữu Phước – ĐH CNTT K3
Phiên bản (version): 1.0
Chuỗi hành vi
Mô tả tổng quát: use case này cho phép actor thêm, sửa, xóa thông tin dịchvụ
Điều kiện đầu (pre-cond): Đăng nhập thành công vào hệ thống
Chuỗi liên kết các thông báo (messages):
Use case này hoạt động khi actor muốn thêm, sửa, xóa thông tin dịch vụ Usecase hiển thị danh sách các dịch vụ đã có trong hệ thống và các control hiển thị chi tiếtcác thông tin dịch vụ như: mã dịch vụ, tên dịch vụ, loại dịch vụ, đơn vị tính, đơngiá,hình ảnh dịch vụ Các control này không được chỉnh sửa
Actor muốn thêm dịch vụ mới thì tiến hành chọn nút thêm, các control bậtlên(trừ control mã dịch vụ) actor nhập các thông tin như: tên dịch vụ, loại dịch vụ, đơn
vị tính, đơn giá, chọn hình ảnh đại diện và sau đó nhấn nút lưu
Nếu các thông tin yêu cầu mà actor bỏ trống thì yêu cầu actor nhập lại
cho đúng Đơn giá chỉ được nhập số
Actor có thể tìm kiếm thông tin dịch vụ bằng cách nhập thông tin cần tìm kiếmvào ô tìm kiếm, hệ thống sẽ hiển thị các tên dịch vụ trùng với từ khóa mà actor nhậpvào, hoặc có thể click chuột trực tiếp trên danh sách dịch vụ đang có
Nếu actor muốn cập nhật lại thông tin dịch vụ đang chọn, tiến hànhnhấn nút sửa và nhập các thông tin cần chỉnh sửa theo, nếu các thông tin được yêu cầunhập đúng thì hệ thống sẽ lưu lại khi actor nhấn nút lưu và cập nhật lại danh sách dịchvụ
Nếu muốn xóa dịch vụ đang chọn, actor chọn nút xóa Hệ thống yêucầu actor xác nhận lại, khi actor chấp nhận hệ thống sẽ tiến hành xóa thông tin dịch vụ
được chọn và cập nhật lại danh sách dịch vụ
Điều kiện cuối (post-cond): Lưu thông tin vừa cập nhật vào cơ sở dữ liệu và
cập nhật lại danh sách dịch vụ
Trang 40 Xử lý ngoại lệ (Exception):
Thông báo lỗi nếu trong quá trình lưu xuống cơ sở dữ liệu gặp lỗi và rollbacklại dữ liệu trước khi thực hiện