2.Khi nhận được yêu cầu gọi món ăn từ thực khách, tôi muốn màn hình hiển thị thông tin chi tiết về món ăn và số lượng cần phục vụ, để tôi có thể chuẩn bị món ăn phù hợp.. 3.Là đầu bếp, t
Trang 1TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
VIỆN KỸ THUẬT CÔNG NGHỆ
ĐỒ ÁN MÔN HỌC PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Bùi Quang Trường Mã SV: 2124801030152
Tháng 11/2023
Trang 2-Trang
Trang 4i -Trang
Trang 5iii -LỜI MỞ ĐẦU VII
1 Lý do chọn đề tài: vii
2 Mục đích của đề tài: vii
3 Phạm vi của đề tài: vii
CHƯƠNG 1 HIỆN TRẠNG VÀ YÊU CẦU BÀI TOÁN 1
1.1 Khảo sát hiện trạng: 1
1.2 Mô tả bài toán” 1
1.3 Các yêu cầu của bài toán: 2
Trang 61.4 Mô hình hóa yêu cầu 2
1.4.1 Xác định Actor 2
1.4.2 User stories 3
1.4.3 Xác định Use Case 5
1.4.4 Sơ đồ Use Case: 6
1.4.5 Đặc tả các Use Case 9
CHƯƠNG 2 PHÂN TÍCH HỆ THỐNG 16
2.1 Sơ đồ lớp (Class Diagram) 16
2.2 Sơ đồ hoạt động (Activity Diagram) 20
2.3 Sơ đồ dữ liệu (ERD): 25
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 26
3.1 Thiết kế CSDL: 26
3.2 Thiết kế giao diện 32
CHƯƠNG 4 CÀI ĐẶT VÀ THỬ NGHIỆM 41
4.1 Cài đặt 41
4.2 Thử nghiệm: 46
4.2.1 Chức năng Đăng ký 46
4.2.2 Chức năng Đăng nhập 49
4.2.3 Chức năng “Thêm Món”: 50
4.2.4 Chức năng “Gửi bếp”: 51
4.2.5 Chức năng “Hủy bỏ”: 52
4.2.6 Chức năng “Tìm kiếm”: 54
4.2.7 Chức năng “Tích điểm”: 55
4.2.8 Chức năng “Thống kê doanh thu”: 56
4.2.9 Chức năng “Thoát phần mềm” 57
CHƯƠNG 5 KẾT LUẬN 57
5.1 Kết quả 57
5.2 Hạn chế 57
5.3 Thuận lợi và khó khăn 58
5.3.1 Thuận lợi 58
5.3.2 Khó khăn 58
5.4 Hướng phát triển: 59
TÀI LIỆU THAM KHẢO 61
-Trang
Trang 8v -LỜI MỞ ĐẦU
1 Lý do chọn đề tài:
Một phần mềm quản lí nhà hàng self restaurant cung cấp các công cụ quản
lí tối ưu cho các hoạt động quản lí hàng ngày của nhà hàng Nó giúp cho khách hàng có một trải nghiệm tốt hơn Với khả năng đặt chổ trực tuyến, gọi món từ xa và thanh toán nhánh chóng, khách hàng có thể tiết kiệm thời gian và tận hưởng dịch vụ thuận tiện hơn Bên cạnh đó một phần mềm quản lí nhà hàng self restaurant có thể được tùy chỉnh sao cho phù hợp với yêu cầu của từng nhà hàng khác nhau Giúp cho nhà hàng tận dụng tối đa tiềm năng của phần mềm và đáp ứng những yêu cầu đặc biệt của mô hình kinh doanh
2 Mục đích của đề tài:
Cung cấp các công cụ quản lý tối ưu cho các hoạt động hàng ngày của nhà hàng Giúp theo giỏi lịch trình đặt chỗ, quản lí kho hàng, tự động hóa quy trình đặt món và thanh toán, giúp tạo báo cáo doanh thu và lợi nhuận Giúp chủ sở hữu có cái nhìn tổng quát vê doanh thu của hoạt động kinh doanh của nhà hàng
3 Phạm vi của đề tài:
Phát triễn phần mềm quản lí nhà hàng self restaurant
-Trang
Trang 9vii -CHƯƠNG 1 HIỆN TRẠNG VÀ YÊU CẦU BÀI TOÁN
1.2 Mô tả bài toán”
Self Restaurant là chuỗi nhà hàng vừa mới gia nhập vào thị trường Việt Nam Dự kiến chuỗi nhà hàng sẽ mở cửa phục vụ vào cuối năm nay Họ có nhu cầu muốn quản lý chuỗi các nhà hàng bằng phần mềm Các yêu cầu được sắp xếp theo thứ tự ưu tiên từ trên xuống
- Khi món ăn đã chuẩn bị xong, trên màn hình sẽ xuất hiện thôngbáo để họ đến quầy phục vụ nhận món ăn
- Thực khách có thể xem hóa đơn hiện tại bao gồm đã gọi bao nhiêu món, món nào đã chuẩn bị xong và tổng số tiền là bao nhiêu cùng số điểm cộng thưởng (nếu có)
Trang 10- Thực khách có thể quét thẻ trên đầu đọc thẻ đặt ở mỗi bàn ăn
để được cộng điểm thưởng
Phần dành cho đầu bếp:
- Đầu bếp mỗi ngày có thể thêm vào hoặc bớt danh sách các món
ăn có thể phục vụ trong ngày
- Khi có yêu cầu gọi món ăn từ thực khách, màn hình sẽ hiển thị thông tin món ăn và số lượng cần
1.3 Các yêu cầu của bài toán:
o In tổng doanh thu ngày
Người duyệt web
o Xem thông tin
o Tìm kiếm
1.4 Mô hình hóa yêu cầu
-Trang
Trang 112 -1.4.1 Xác định Actor
Thực khách
Đầu bếp
Nhân viên thu ngân
Người duyệt web
1.4.2 User stories
User stories thực khách
1.Với tư cách là một khách hàng, tôi muốn xem các món trong thực đơn có sẵn trong ngày tại một chi nhánh cụ thể cùng với giá của chúng trên màn hình bàn
2.Với tư cách là một khách hàng, tôi muốn có thể chọn những món
ăn và số lượng khẩu phần mong muốn bằng màn hình cảm ứng Bằng cách này, nhà hàng có thể giảm số lượng nhân viên phục vụ
3.Với tư cách là khách hàng, tôi muốn nhận được thông báo trên màn hình khi đơn hàng của tôi đã sẵn sàng để tôi có thể nhận hàng từ quầy dịch vụ
4.Với tư cách là một khách hàng, tôi muốn xem hóa đơn hiện tại củamình, bao gồm số lượng món đã đặt, món ăn nào đã sẵn sàng và tổng
số tiền phải trả cùng với bất kỳ điểm thưởng nào kiếm được (nếu có)
5.Với tư cách là khách hàng, sau khi dùng bữa xong, tôi sẽ đến quầy thu ngân để thanh toán Ngoài ra, với tư cách là khách hàng, tôi có thể quét thẻ của mình trên đầu đọc thẻ đặt ở mỗi bàn để tích điểm thưởng
Trang 12 User story Đầu bếp:
1.Là một đầu bếp, tôi muốn có khả năng thêm món ăn vào danh sáchcác món ăn có thể phục vụ trong ngày, để tôi có thể cập nhật danh sáchnày theo nhu cầu và nguyện vọng của tôi
2.Khi nhận được yêu cầu gọi món ăn từ thực khách, tôi muốn màn hình hiển thị thông tin chi tiết về món ăn và số lượng cần phục vụ, để tôi có thể chuẩn bị món ăn phù hợp
3.Là đầu bếp, tôi muốn có khả năng chuẩn bị món ăn theo yêu cầu của thực khách, để tôi có thể đảm bảo rằng món ăn được phục vụ đúng theo mong muốn
4.Khi chuẩn bị xong món ăn, tôi muốn có khả năng xác nhận trên hệ thống rằng món ăn đã hoàn thành, để nhân viên phục vụ biết rằng họ
có thể mang món ăn đến cho thực khách
5.Là đầu bếp, tôi muốn có khả năng bớt món ăn khỏi danh sách các món ăn có thể phục vụ trong ngày, để tôi có thể cập nhật danh sách nàytheo nhu cầu và nguyện vọng của tôi
User story Nhân viên thu ngân:
1.Là một nhân viên thu ngân, tôi muốn dựa vào mã số bàn của thực khách để xác định số tiền khách hàng cần thanh toán
2.Là một nhân viên thu ngân, tôi muốn nhập số tiền khách hàng đưa vào hệ thống để tính toán số tiền phải trả lại cho khách hàng
-Trang
Trang 134 -3.Là một nhân viên thu ngân, tôi muốn hệ thống hiển thị số tiền phảitrả lại cho khách hàng để có thể trả lại đúng số tiền đó.
4.Là một nhân viên thu ngân, tôi muốn có khả năng quản lý các hóa đơn đã được thanh toán và chưa được thanh toán
5.Là một nhân viên thu ngân, tôi muốn hệ thống cung cấp chức năngbáo cáo doanh thu và thống kê để theo dõi hiệu suất kinh doanh
User story Người duyệt web:
1.Là một người duyệt web, tôi muốn truy cập trang web của cửa hàng để xem danh sách các món ăn đang được phục vụ trong ngày
2.Là một người duyệt web, ôi muốn có thể xem thông tin chi tiết về mỗi món ăn, bao gồm tên món, mô tả, hình ảnh và giá cả
3.Là một người duyệt web, tôi muốn có thể xem chi tiết về một món
ăn cụ thể trên trang web của cửa hàng
4.Là một người duyệt web tôi muốn xem mô tả chi tiết về món ăn, nguyên liệu sử dụng, hình ảnh và thông tin khác như giá cả và đánh giá
5.Là một người duyệt web, tôi muốn có thể xem thông tin về các chinhánh của cửa hàng
Trang 156 -Usecase Đầu bếp:
Hình 2
Usecase Thu ngân:
Hình 3
Trang 16Usecase Người duyệt web:
Hình 4
-Trang
Trang 17Mô tả Người dùng có thể chọn thêm bợt món hoặc thay
đổi ý tùy vào sở thích
và chuyển giao cho bộ phận
Trang 18bếpLuồn
thay thế và
các ngoại
lệ
Nếu khách hàng muốn xóa bớt món thì bấm vào Món đã chọn, bấm vào Button “-“, nếukhách hàng muốn kêu thêm món thì bấm vào Button “+” sau đó bấm
Khi người dùng chọn món xong và chọn thoát
Đặc tả Use case Tích điểm:
QR, mã vạch -Trang 10 -
Trang 19vào đầu đọc thẻ
thẻ, nhận dạng mã QR
ra thông tin khách hàng thành viên và tổng số diểm thưởng hiện có trênmàn hình
cộng điểm thưởng tương ứng với tổng số tiền trên hóa đơn đã dùngLuồn thay
thế và các
ngoại lệ
Khi mã QR, mã vạch không hợp lệ hệ thống sẽkhông hiện thị thông tin
và báo mã vạch, QR không hợp lệĐiều kiện
sau
Khi đã Scan mã QR, mã vạch thành công
Điều kiện
thoát
Khi người dùng thanh toán xong
Đặc tả Use case Chuẩn bị món ăn:
Mã use
case
UC03
Trang 20Tên use
case
Use case Chuẩn bị món ăn
Tác nhân Đầu bếp
Mô tả Đầu bếp có thể xem thông tin các món mà khách
hàng đã gọi để chuận bị cho khách hàng
và gửi dữ liệulên để tính tổng số tiền
và số điểmLuồn
thay thế và
các ngoại lệ
Khi trong bếp hết nguyên liệu để chuẩn bị, đầu bếp sẽ xác nhận hết món với hệ thống để hệ thống gửi thông báo đến
-Trang
Trang 2112 -khách hàng tại bànĐiều
Mô tả Nhân viên thu ngân sử dụng hệ thống để in
tổng số doanh thu trong ngàyTác nhân Nhân viên thu ngân
Điều kiện tiên
2 Hệ thống tổng hợp thông tin về doanh thu
từ tất cả các bàn ăn trong ngày
3 Hệ thống hiển thị tổng số doanh thu trongngày trên màn hình
4 Nhân viên thu ngân sử dụng máy in để intổng số doanh thu
Trang 22doanh thu trong ngày lại.
Điều kiện sau Tổng số doanh tu trong ngày được in ra và
ghi nhậnĐiều kiện
-Trang
Trang 2314 -Đặc tả Use case Tìm kiếm:
Use case Tìm kiếm
Tác nhân Người duyệt web
Mô tả Người duyệt web có thể xem thông tin cửa hàng,
thông tin các món ăn của các chi nhánh của cửa hàng
Luồng sự
kiện
Tác nhân Hệ thống phản hồi
1 Truy cập vào trang web
chính
món ăn sở thích
thế và các
ngoại lệ
Khi món ăn khách hàng tiềm kiếm không khớp với dữ liệu hệ thống, sẽ hiển thị ra món
Trang 24ăn không tổn tạiĐiều kiện
Trang 2516 -Sơ đồ tuần tự (Sequency Diagram)
Chọn món:
Hình 6
Trang 2718 - Chuẩn bị món ăn
Hình 9
Tìm kiếm
Hình 10
Trang 282.2 Sơ đồ hoạt động (Activity Diagram)
Use case Chọn món
Hình 11
-Trang
Trang 2920 -Use case tích điểm:
Hình 12
Trang 30Use case chuẩn bị món ăn:
Hình 13
-Trang
Trang 3122 -Use case in tổng doanh thu trong ngày:
Hình 14
Trang 32Use case tìm kiếm:
Hình 15
-Trang
Trang 3324 -2.3 Sơ đồ dữ liệu (ERD):
Hình 16
Trang 38Bảng USER
Hình 25
-Trang
Trang 3930 -Bảng MONAN
Hình 26
Trang 403.2 Thiết kế giao diện
Đăng nhập:
Hình 27
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:Yêu cầu 1:Tên đăng nhập không được dể trốngYêu cầu 2:Không được để trống mật khẩuYêu cầu 3:Không được điền các kí tự đặc biệt
-Trang
Trang 4132 -MỘT SỐ TÌNH HUỐNG XẢY RA:
và Password đúng theo yêu cầu
Hệ thống thông báo đăng ký thành công
2 Người dùng gặp trục trặc với
kết nối mạng
Hệ thống thông báo lỗi kết nối đến sever
3 Người dùng không nhập tài
khoản hoặc mật khẩu
Hệ thống hiển thị bạn chưa nhập mật khẩu và tài khoản
4 Người dùng chưa đăng kí tài
khoản mà muốn đăng nhập
Hệ thống đưa ra phần đăng kítài khoản
Đăng ký:
Hình 28
Trang 42CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Tên đăng nhập không được sử dụng ký tự đặc biệt chỉ được sử dụng số và chữ, giới hạn độ dài từ 6-12 ký tự.Yêu cầu 2: Email bắt buộc phải tồn tại ký tự @
MỘT SỐ TÌNH HUỐNG XẢY RA:
đúng theo yêu cầu
Hệ thống thông báo đăng
3 Người dùng nhập vào
Username có ký tự đặc biệt
Thông báo: Username không được sử dụng ký tự đặc biệt
Chọn Món:
-Trang
Trang 4334 -Hình 29
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Trên thanh tìm kiếm Thực khách phải nhập gần đúng từ khóa (Không nhập kí tự đặc biệt)
Yêu cầu 2: Thực khách phải chọn món trước sau đó mới bấm “Thêm món” sau
Yêu cầu 3: Sau khi “Thêm Món” xong Thực khách phải bấm “Gửi Bếp” thì món ăn mới đến tay Thực Khách
MỘT SỐ TÌNH HUỐNG XẢY RA:
Trang 442 Người dùng Chọn món
nhưng không bấm “Thêm
món”
Hệ thống không hiển thị danh sách món ăn người dùng đã thêm
3 Người dùng bấm nút
“Hủy bỏ”
Hệ thống sẽ xóa danh sách món ăn mà thực khách
đã thêm
Tích điểm:
Hình 30
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Thực khách phải đăng kí thành viên trước đó mới có thể tích điểm được
Yêu cầu 2: Nếu đã đăng kí thành viên, Thực khách phải mở mã vạch trên app điện thoại và scan vào đầu đọc thẻ thì mới có thể tích điểmYêu cầu 3: Sau khi scan xong, Thực khách phải bấm “Tích điểm” thì
số điểm mới được cộng vào tài khoản Thực khách
MỘT SỐ TÌNH HUỐNG XẢY RA:
Trang 45 Thống kê doanh thu:
Hình 31
Trang 46CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Thu ngân phải chọn chính xác ngày bắt đầu và ngày kết thúc
Yêu cầu 2: Thu ngân phải đăng nhập được vào tài khoản của Thu ngânYêu cầu 3: Sau khi Thu ngân chọn ngày thành công phải bấm nút
1 Thu ngân chọn ngày bắt
đầu nhưng không chọn
Trang 4738 - Chuẩn bị món ăn:
Hình 32
CÁC YÊU CẦU TRÊN GIAO DIỆN NÀY:
Yêu cầu 1: Đầu bếp phải chọn Bàn đang yêu cầu mới có thể chế biến mónăn
Yêu cầu 2: Đầu bếp phải chế biến xong mới có thể bấm “Hoàn Thành”Yêu cầu 3: Đầu bếp phải xem Món ăn có đủ nguyên liệu không hay đã hết, nếu hết thì mới có thể bấm “Hết Món”
MỘT SỐ TÌNH HUỐNG XẢY RA:
Tình
huống
Mô tả Tương tác/ cách xử lý/
Hồi đáp của hệ thống
1 Nếu không đủ nguyên
liệu hoặc hết, đầu bếp
bấm “Hết Món”
Hệ thống thông báo xóa món ăn trên danh sách của bàn mà Thực Khách đã gọi
2 Đầu bếp khi chuẩn bị Hệ thống sẽ không lưu
Trang 48món xong sau đó gửi
Trang 50 Đăng nhập:
Hình 35
-Trang
Trang 5142 - Chọn món:
Hình 36
Chuẩn bị món ăn:
Trang 52Hình 37
Tìm Kiếm:
Thống kê doanh thu:
-Trang
Trang 5344 -Hình 38
Bảng phân công công việc:
trình
…
Danh sách tình trạng cài đặt các chức năng (mức độ hoàn thành)
Trang 544.2.1 Chức năng Đăng ký
- TH1: Tình huống đăng ký thành công:
-Trang
Trang 56Hình 41
Hình 42
- TH6: Nhập lại mật khẩu không khớp:
-Trang
Trang 584.2.3 Chức năng “Thêm Món”:
Hình 45
-Trang
Trang 5950 -4.2.4 Chức năng “Gửi bếp”:
Hình 46
Trang 604.2.5 Chức năng “Hủy bỏ”:
Trước:
Hình 47
-Trang
Trang 61Hình 48
Trang 624.2.6 Chức năng “Tìm kiếm”:
Hình 49
-Trang
Trang 6354 -4.2.7 Chức năng “Tích điểm”:
Hình 50
Hình 51
Trang 644.2.8 Chức năng “Thống kê doanh thu”:
Hình 52
Hình 53
-Trang
Trang 6556 -4.2.9 Chức năng “Thoát phần mềm”
Hình 54
5.1 Kết quả
- Nhóm đã thiết kế hầu như gần hết tất cả giao diện
- Nhóm làm được một số các chức năng cơ bản
- Nhóm thiết kế được các cơ sở dữ liệu cơ bản
- Nhóm vẽ đã thiết kế được các biểu đồ, sơ đồ, lược đồ
5.2 Hạn chế
- Nhóm còn thiếu vài chức năng
- Nhóm thiết kế cơ sở dữ liệu chưa hoàn chỉnh
- Thời gian nhóm làm khá ít (nhiều đồ án của các môn học khác)
Trang 66 Chuyển đổi và sự thay đổi trong quy trình làm việc: Triển khai phần mềm quản lí nhà hàng thường yêu cầu thay đổi trong quy trình làm việc hiện có của nhà hàng Điều này có thể gây khó khăn trong việc thích nghi và điều chỉnh cho nhân viên và quản lý.
5.3.2 Khó khăn
Phần mềm có thể gặp sự cố kỹ thuật bao gồm lỗi phần mềm,
hệ thống treo, mất kết nối mạng, và các vấn đề khác Khi xảy
ra sự cố, việc giải quyết và khắc phục có thể đòi hỏi sự can thiệp từ nhà cung cấp phần mềm hoặc nhóm hỗ trợ kỹ thuật,
và điều này có thể làm gián đoạn hoạt động kinh doanh
Đào tạo và hỗ trợ: Để sử dụng phần mềm quản lí nhà hàng một cách hiệu quả, nhân viên cần được đào tạo và hỗ trợ
-Trang
Trang 6758 -thường xuyên Tuy nhiên, việc cung cấp đào tạo và hỗ trợ có thể tốn thời gian và tài nguyên, đặc biệt là khi có sự thay đổi trong hệ thống hoặc phiên bản mới của phần mềm
Tính tương thích và tích hợp: Một khó khăn tiềm tàng là tính tương thích và tích hợp với các hệ thống và thiết bị khác trongnhà hàng Việc kết nối và đồng bộ hóa dữ liệu giữa phần mềmquản lí nhà hàng và các hệ thống khác như hệ thống thanh toán, thiết bị POS, máy in hóa đơn có thể gặp khó khăn và đòihỏi sự cải thiện và điều chỉnh
5.4 Hướng phát triển:
Quản lí bàn và đặt món trực tuyến: Tích hợp tính năng đặt bàn và món ăn trực tuyến giúp khách hàng có thể đặt chỗ và chọn món qua ứng dụng di động hoặc web, giúp tăng khả năng tiếp cận của khách hàng và giảm thời gian chờ đợi
Tích hợp thanh toán di động: Hỗ trợ thanh toán bằng thiết bị di động hoặc ví điện tử giúp tiện lợi và nhanh chóng cho khách hàng
Tích hợp tính năng điều phối nhân viên giúp quản lí lịch làm việc, chấm công, phân công công việc giúp nhân vien làm việc hiệu quả hơn
Tích hợp khả năng đánh giá và phản hồi giúp khách hàng đánh giá
và phản hồi dịch vụ nhà hàng thông qua cac thiết bị di động Điều này giúp nhà hàng hiểu được ý kiến của khách hàng và cải thiện dịch vụ để phù hợp
Phát triẽn giao diện người dùng ngày càng thân thiện dễ sử dụng với người dùng