TRệễỉNG ẹAẽI HOẽC VOế TRệễỉNG TOAN
KHOA CễNG NGH THễNG TIN
LUN VN TT NGHIP
XY DNG H THNG CHN MểN N V
QUN Lí HOT NG KINH DOANH CA
MT NH HNG
(PHN H QUN Lí HOT NG KINH DOANH)
TRệễỉNG ẹAẽI HOẽC VOế TRệễỉNG TOAN
Giỏo viờn hng dn:
Ths. Lu Thỳy Hunh
KS. H Quc Mnh
Sinh viờn thc hin:
NGUYN HU PHC
MSSV: 1051190036
Lp: H CNTT K3
Khúa: 3
Hu Giang Nm 2014
KHOA 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)
LỜI CAM ĐOAN
Đề 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)” được thực hiện bởi
Nguyễn Hữu Phước. Tôi xin đảm bảo đề tài tự nghiên cứu, thu thập thông tin,
phân tích, thiết kế và giải quyết một cách có logic, dựa vào chính kiến thức, sự
nổ lực, quyết tâm của bản thân cùng sự hướng dẫn rất nhiệt tình của Ths. Lưu
Thúy Huỳnh và giảng viên đồng hướng dẫn KS. Hồ Quốc Mạnh.
Sinh viên thực hiện
(Ký và ghi rõ họ tên)
Nguyễn Hữu Phước
i
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
LỜI CẢM TẠ
Luậ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ại
trườ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ình
họ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
ii
iii
BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP
_____________________________________________
• Họ và tên người hướng dẫn: Lưu Thúy Huỳnh
• Học vị: Thạc sĩ
• Họ và tên người đồng hướng dẫn: Hồ Quốc Mạnh
• Học vị: Kỹ sư
• Ngành: Công nghệ thông tin
• Cơ quan công tác: Đại học Võ Trường Toản
• Họ và tên : Nguyễn Hữu Phước
• 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)
iv
NỘI DUNG NHẬN XÉT
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)
v
NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
_______________________________________________
Hậu Giang, ngày …. tháng …. năm …
Giáo viên phản biện
(Ký và ghi rõ họ tên)
vi
MỤC LỤC
DANH MỤC HÌNH ẢNH ix
DANH MỤC BIỂU BẢNG xi
TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ xiv
CHƯƠNG 1 17
TỔNG QUAN 17
1.1.ĐẶT VẤN ĐỀ 17
1.2.LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ 17
1.3.PHẠM VI ĐỀ TÀI 18
1.4.PHƯƠNG PHÁP NGHIÊN CỨU 18
1.5.BỐ CỤC LUẬN VĂN 19
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 20
2.1.NGÔN NGỮ JAVA 20
2.1.1.Giới thiệu ngôn ngữ Java 20
2.1.2.Các đặc trưng của Java 20
2.2.GIỚI THIỆU VỀ MySQL 21
2.2.1.Sơ lược về MySQL 21
2.2.2.Câu lệnh SQL 22
2.3.GIỚI THIỆU SQLITE 22
2.4.MÔI TRƯỜNG PHÁT TRIỂN 22
2.4.1.NetBeans IDE 22
2.4.2.SQLyog 25
3.1.THU THẬP THÔNG TIN VÀ MÔ TẢ HỆ THỐNG 27
3.2.GIẢI PHÁP PHÂN TÍCH, THIẾT KÊ MÔ HÌNH 32
3.2.1.Sơ đồ hoat vụ (use case diagram) 32
vii
3.2.2.Đặt tả các trường hợp sử dụng (use cases) 33
3.2.2.1.Use case đăng nhập 33
3.2.2.2.Use case quản lý bàn 34
3.2.2.3.Use case đặt bàn 35
3.2.2.5.Use case xác nhận dịch vụ 37
3.2.2.6.Use case thanh toán hóa đơn 38
3.2.2.7.Use case quản lý dịch vụ 40
3.2.2.8.Use case quản lý kho 42
3.2.2.9.Use case thêm công thức 43
3.2.2.10.Use case quản lý khách hàng 44
3.2.3.Sơ đồ lớp (Class diagram) 46
3.2.4.Mô tả thuộc tính và phương thức lớp 47
3.2.6.Lưu đồ giải thuật 117
3.2.KẾT QUẢ ĐẠT ĐƯỢC 119
viii
DANH MỤC HÌNH ẢNH
Hình 1. Giao diện làm việc của Netbeans IDE 23
Hình 2. Các control hỗ trợ xây dựng giao diện của Netbeans IDE 24
Hình 3. Ireport tạo báo cáo trong Netbean 24
Hình 4. Giao diện làm việc của SQLyog 25
Hình 5. Tạo các mối quan hệ giữa các bảng 26
Hình 6. Sơ đồ hoạt động của hệ thống 31
Hình 7. Sơ đồ hoạt vụ 32
Hình 8. Sơ đồ lớp 46
Hình 9. Sơ đồ tuần tự đặt bàn 110
Hình 10. Sơ đồ tuần tự sử dụng bàn 111
Hình 11. Sơ đồ tuần tự gọi món 112
Hình 12. Sơ đồ tuần tự thanh toán 113
Hình 13. Sơ đồ tuần tự thêm công thức 114
Hình 14. Sơ đồ tuần tự gộp bàn 115
Hình 15. Sơ đồ tuần tự cập nhật mật khẩu 116
Hình 16. Lưu đồ giải thuật gọi món 117
Hình 17. Lưu đồ giải thuật đặt bàn 118
Hình 18. Giao diện đăng nhập hệ thống 119
Hình 19. Giao diện chính của hệ thống quản lý kinh doanh nhà hàng 119
Hình 20. Giao diện chính chức năng sử dụng bàn 120
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 121
Hình 22. Giao diện nhập các thông tin đặt bàn 121
Hình 23. Thông báo lỗi khi đặt bàn trùng với khách hàng khác 121
Hình 24. Giao diện chức năng dặt nhiều bàn 122
ix
Hình 25. Giao diện hóa đơn được in trước 123
Hình 26. Giao diện quản lý dịch vụ 124
Hình 27. Giao diện chế biến công thức dịch vụ 124
Hình 28. Giao diện in danh sách dịch vụ nhà hàng 125
Hình 29. Giao diện thống kê doanh thu nhà hàng theo thời gian 125
Hình 30. Giao diện thống kê dịch vụ sử dụng theo thời gian 126
Hình 31. Kết quả kết xuất dữ liệu ra file Excel 126
Hình 32. Giao diện cập nhật thông tin nhà hàng 127
Hình 33. Giao diện quản lý kho hàng 127
Hình 34. Giao diện lập hóa đơn nhập hàng 128
Hình 35. Giao diện quản lý khách hàng 128
Hình 36. Giao diện quản lý nhân viên 129
Hình 37. Giao diện xem hóa đơn bán hàng theo thời gian 129
Hình 38. Giao diện xem hóa đơn nhập hàng 130
Hình 39. Giao diện xem phiếu chi và lập phiếu chi 130
x
DANH MỤC BIỂU BẢNG
Bảng 1. Một số câu lệnh thông dụng trong SQL 22
Bảng 2. Mô tả thuộc tính của lớp account (tài khoản) 47
Bảng 3. Mô tả phương của thức lớp account (tài khoản) 48
Bảng 4. Mô tả thuộc tính của lớp customer (khách hàng) 50
Bảng 5. Mô tả phương thức của lớp customer(khách hàng) 51
Bảng 6. Mô tả thuộc tính của lớp distributor (nhà cung cấp) 53
Bảng 7. Mô tả phương thức của lớp distributor (nhà cung cấp) 54
Bảng 8. Mô tả thuộc tính của lớp raw_material (nguyên liệu) 56
Bảng 9. Mô tả phương thức lớp của raw_material (nguyên liệu) 57
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) 59
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) 60
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) 61
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) 62
Bảng 14. Mô tả thuộc tính của lớp raw_material_unit (đơn vị tính nguyên liệu).63
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) 64
Bảng 16. Mô tả thuộc tính của lớp recipes (công thức chế biến) 65
Bảng 17. Mô tả phương thức lớp của recipes (công thức chế biến) 66
Bảng 18. Mô tả thuộc tính của lớp service (dịch vụ) 68
Bảng 19. Mô tả phương thức lớp của service (dịch vụ) 69
Bảng 20. Mô tả thuộc tính của lớp service_cost(giá dịch vụ) 71
xi
Bảng 21. Mô tả phương thức lớp của service_cost (giá dịch vụ) 72
Bảng 22. Mô tả thuộc tính của lớp service_type (loại dịch vụ) 73
Bảng 23. Mô tả phương thức lớp của service_type (loại dịch vụ) 74
Bảng 24. Mô tả thuộc tính của lớp staff (nhân viên) 75
Bảng 25. Bảng mô tả phương thức lớp của staff (nhân viên) 76
Bảng 26. Mô tả thuộc tính của lớp table (bàn) 77
Bảng 27. Mô tả phương thức lớp của table (bàn) 78
Bảng 28. Mô tả thuộc tính của lớp table_location (vị trí bàn) 80
Bảng 29. Mô tả phương thức lớp của table_location (vị trí bàn) 81
Bảng 30. Mô tả thuộc tính của lớp table_reservation (đặt bàn) 83
Bảng 31. Mô tả phương thức lớp của table_reservation (đặt bàn) 84
Bảng 32. Mô tả thuộc tính của lớp table_reservation_detail (chi tiết đặt bàn) 86
Bảng 33. Mô tả phương thức lớp của table_reservation_detail (chi tiết đặt bàn).87
Bảng 34. Mô tả thuộc tính của lớp table_service (dịch vụ bàn) 88
Bảng 35. Mô tả phương thức lớp của table_reservation_detail (chi tiết đặt bàn).89
Bảng 36. Mô tả thuộc tính của lớp table_status (trạng thái bàn) 91
Bảng 37. Mô tả thuộc tính của lớp unit (đơn vị tính) 92
Bảng 38. Mô tả phương thức lớp của unit (đơn vịt tính) 93
Bảng 39. Mô tả thuộc tính của lớp client_request (yêu cầu client) 95
Bảng 40. Mô tả phương thức lớp của client_request (yêu cầu client) 96
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) 97
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) 97
Bảng 43. Mô tả phương thức lớp của discount (giảm giá) 99
Bảng 44. Mô tả thuộc tính của lớp discount_detail (chi tiết giảm giá) 101
Bảng 45. Mô tả thuộc tính của lớp invoice (hóa đơn) 102
xii
Bảng 46. Mô tả phương thức lớp của invoice (hóa đơn) 103
Bảng 47. Mô tả thuộc tính của lớp payment_invoice (hóa đơn chi) 104
Bảng 48. Mô tả phương thức lớp của payment_invoice (hóa đơn chi) 105
Bảng 49. Mô tả thuộc tính của lớp restaurant_info (thông tin nhà hàng) 106
Bảng 50. Mô tả phương thức lớp của restaurant_info (thông tin nhà hàng) 107
Bảng 51. Mô tả thuộc tính của lớp system_log (trạng thái hệ thống) 108
Bảng 52. Mô tả phương thức lớp của system_log (trạng thái hệ thống) 109
xiii
TỪ VIẾT TẮT VÀ CÁC THUẬT NGỮ
− 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ự
xiv
TÓM TẮT
Hiện nay với sự phát triển công nghệ thông tin, các quy trình nghiệp vụ truyền
thố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ăng
hiệ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ực
nhà hang,… cũng đi theo xu thế chung này việc tin học hóa được thự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ầ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ủa
nhà 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êu
cầ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.
xv
ABSTRACT
Nowadays, with the development of information technology, the performance
processes of traditional in society is being changed computerization. Computerization
make increasing business efficiency and productivity general. Particularly in the field
of culinary restaurants,… also follow to the general trend about computerization is
now 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 realize
processing simple, quickly and exactly, saving human resources, time, costs. It also
shows the professional of who making the business. The analysis above descriptions
that the need of customer have to have of a system called dish and sales manager of
the restaurant.
Topic “Building a system called dish and management activities of a restaurant
business (module management business)” it was built to serve the needs of ordering
food through the tablets making easy to manage the customer using table, system
Statistics of the restaurant business.
The system is based on :
− Design analysis method of object-oriented systems
− Java Programming Language
− System administration of MySQL databases
The results achieved after research and building systems: ordering food, accepting
request table, payment directly on the tablet, the system will be data synchronization
with each other. realize of odering the table, using the tables and the system of the
restaurant business .
Keywords: Restaurant, Restaurant management, restaurant business activities.
xvi
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
CHƯƠNG 1
TỔNG QUAN
1.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ình
nghiệ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óa
nghiệ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 trong
lĩ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 được
thự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ầu
củ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ình
nghiệ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ọ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.
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ệc
quả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ác
nhu 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ử
SVTH: Nguyễn Hữu Phước
17
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
dụ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àn
trướ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àng
xuố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ẵng
cũ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ông
qua 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 động
kinh 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ần
mề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ảng
viê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
nghiệp vụ để xây dựng hệ thống.
SVTH: Nguyễn Hữu Phước
18
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
1.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ủa
nhà 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ánh
vớ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ây
dự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ình
Netbeans để 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ăng
củ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ủa
cá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ết
quả đạ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.
SVTH: Nguyễn Hữu Phước
19
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
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.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 6
nă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ên
nghiệ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ác
cô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ên
dịch bằng công cụ JAVAC để chuyển thành dạng ByteCode. Sau đó được thực thi trên
từng loại máy cụ thể nhờ chương trình thông dịch. Mục tiêu của các
nhà 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
SVTH: Nguyễn Hữu Phước
20
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
2.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óm
LAMP( Linux – Apache – MySQL – PHP). MySQL được tích hợp sử dụng chung với
Apache, 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ấp
mộ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, MySQL
rấ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ên
truy 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ùng
trong SQL Server.
SVTH: Nguyễn Hữu Phước
21
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
2.2.2. Câu lệnh SQL
SQL chuẩn bao gồm khoảng 40 câu lệnh. Bảng 1 liệt kê danh sách một số câu
lệnh thường được sử dụng nhất trong số các câu lệnh của SQL.
Bảng 1. Một số câu lệnh thông dụng trong SQL
STT Câu lệnh Chức năng
1 SELECT Truy xuất dữ liệu
2
INSERT Bổ sung dữ liệu
3
UPDATE Cập nhật dữ liệu
4
DELETE Xoá dữ liệu
5
CREATE TABLE Tạo bảng
6
DROP TABLE Xoa bảng
7
ALTER TABLE Sửa đổi bảng
8
EXECUTE
Thực thi một câu lệnh SQL
2.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 đặt
bên trong các trình ứng dụng khác. SQLite được Richard Hipp viết dưới dạng thư viện
bằ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ơ
sở dữ liệu khách/chủ khác.
Không cần phần mềm phụ trợ: Phần mềm tự do với mã nguồn mở, được chú
thích rõ ràng.
2.4. MÔI TRƯỜNG PHÁT TRIỂN
2.4.1. NetBeans IDE
NetBeans IDE là một môi trường phát triển tích hợp (Integrated Development
Environment – IDE) kiểu như Visual Studio của Microsoft và được xem là một một bộ
SVTH: Nguyễn Hữu Phước
22
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
ứ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àn
toà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ều
cá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ột
IDE 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ạo
nên các ứng dụng dành cho web, doanh nghiệp, desktop và thiết bị di động bằng các
ngô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ện
với người dùng, tự động biên dịch khi lưu (Compile on Save). Ngoài việc hỗ trợ Java
mọi phiên bản (Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng
cho 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ư Visual
Studio 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ả.
SVTH: Nguyễn Hữu Phước
23