Bài tập lớn phân tích thiết hệ thống nhà hàng ăn uống với mô hình nghiệp vụ, mô hình luồng dữ liệu và xây dựng CSDL. Thích hợp với mô hình nhà hàng cỡ nhỏ và trung với các chức năng quản lý nhân viên, quản lý khách hàng, quản lý order, hóa đơn, quản lý thực đơn và thống kê báo cáo
Trang 2Mục Lục
2
Trang 3Lời nói đầu
Kinh doanh nhà hàng là một loại hình kinh doanh dịch vụ hiện đang rất phát triển tại Việt Nam và trên thế giới Ngày nay đời sống kinh tế ngày càng phát triển, con người ta càng hướng đến những giá trị cao hơn cả về vật chất lẫn tinh thần Không đơn giản chỉ là quan hệ người mua – kẻ bán, khách hàng tìm đến dịch vụ ăn uống còn là để thưởng thức và hưởng thụ Nhà bếp là những nghệ sĩ, khách hàng là người thưởng thức nghệ thuật, nhà hàng chính làmột nhà triển lãm các tác phẩm Vậy phải làm sao để khách hàng đến với mìnhmột cách thuận tiện nhất, dễ dàng để lại những ấn tượng tốt đẹp nhất, vấn đề cốt lõi không thể thiếu đối với tất cả các loại hình kinh doanh hay tổ chức nào là phải đưa ra một mô hình quản lý hợp lý và thống nhất Các bộ phận làm việc nhịp nhàng và chỉnh thể chính là tiền đề cho một bộ máy hoạt động hiệu quả, chuyên nghiệp Hệ thống quản lý nhà hàng này chúng tôi xây dựng thích hợp với các nhà hàng cỡ vừa và trung với các chức năng đầy đủ và đơn giản nhất Trong quá trình xây dựng chắc chắn không thể thiếu những sơ suất, thiếusót Rất mong nhận được sự hướng dẫn, góp ý của thầy cô và các bạn!
Trang 4Phần I: Phân tích hệ thống
Chương I: Khảo sát
1. Mô tả bài toán
Một nhà hàng kinh doanh ẩm thực, hình thức kinh doanh phục vụ tại bàn Bộ phận Tiếp Tân sẽ tiếp nhận thông tin KHÁCH HÀNG, kiểm tra là khách mới hay khách cũ
và phục vụ Thực Đơn, khách hàng lựa chọn món ăn không hạn chế số lần, số lượng Nhân viên sẽ lập phiếu Order (phiếu yêu cầu) dựa theo các yêu cầu của khách Order
của khách sẽ được chuyển đến bộ phận Thu ngân
Nhà bếp dựa vào Order của khách (nhận từ thu ngân) để định lượng ra các thựcphẩm cần thiết chế biến các món ăn cho khách hàng
Sau khi khách hàng hết nhu cầu sử dụng dịch vụ, Hóa Đơn sẽ được ghi tại bộ phận
Thu Ngân, tất cả order của khách sẽ được cộng vào hóa đơn thanh toán Phiếu Order được coi như bản chi tiết của hóa đơn thanh toán Một khách hàng có thể có nhiều hóa đơn nhưng một hóa đơn chỉ đứng tên một khách hàng
Nhà hàng sẽ có các bộ phận để quản lý: Bếp, kế toán, thu ngân, tiếp tân Mỗi bộ phận sẽ quản lý nhân viên của bộ phận mình
Sau mỗi tuần, mỗi tháng và sau một năm bộ phận kế toán sẽ tổng hợp báo cáo tình hình khách hàng, nhập thực phẩm, thực phẩm tồn trong kho,… cho ban lãnh đạo
4
Trang 52. Chứng tư
a. Hóa đơn
Hóa Đơn
Số hóa đơn:
Tổng:
Bằng số: …………
Bằng chữ: ……….
b. Phiếu Order (Chi tiết hóa đơn)
Trang 6c. Thực Đơn
Thực Đơn nhà hàng
d. Danh sách nhân viên
Danh sách nhân viên
Giớitính
Địachỉ
SĐT
e. Danh sách khách hàng
Danh sách khách hàng
Mã KH Họ và tên Giới tính Bộ phận Năm sinh Địa Chỉ Điện Thoại
6
Trang 7Chương II: Xác lập các mô hình nghiệp vụ
2.1 Lập ma trận phân tích
Bảng phân tích xác định các chức năng , tác nhân và hồ sơ
Hệ thống làm Bên ngoài hệ thống
làm
ngoài/HSDL
Tiếp nhận thông tin
khách hàng Khách hàng cung cấpthông tin Danh sách khách hàng Tác nhân ngoài
Phục vụ thực đơn Khách lựa chọn món Thực đơn Hồ sơ dữ liệuLập phiếu Order yêu
Tiếp nhận order Bộ phận bếp Hồ sơ dữ liệu
Lập hóa đơn thanh toán Khách nhận hóa đơn
và thanh toán
Hóa đơn Hồ sơ dữ liệu
Chia ra các bộ phận
quản lý Danh sách nhân viên Hồ sơ dữ liệu
Tổng hợp báo cáo Ban lãnh đạo yêu cầu Báo cáo
Ban lãnh đạo
Hồ sơ dữ liệu Tác nhân ngoài
Trang 8H thông kinh doanh ê
Thông tin khách hàng Yêu cầu phục vụ
Yêu cầu thanh toán Thực đơn
Order, Hóa đơn
Yêu cầu thông tin
Chỉ đạo
Báo cáo
2.2 Sơ đồ ngữ cảnh của hệ thống
Các tác nhân ngoài trong mối quan hệ với hệ thống là khách hàng và ban lãnh đạo Khách hàng yêu cầu phục vụ tới nhà hàng về thực đơn, đáp ứng và thanh toán
Nhà hàng cần xây dựng được thông tin về khách hàng, lập hóa đơn, lập phiếu order để phục vụ món ăn và in hóa đơn thanh toán khi khách hàng hết yêu cầu sử dụng dịch vụ
Lập các báo cáo định kỳ theo yêu cầu của ban lãnh đạo
8
Trang 92.3 Sơ đồ phân rã chức năng (tư tài liệu khảo sát)
2.3.1 lập bảng phân tích chức năng
Chức năng lá Chức năng mức đỉnh Chức năng hệ thống
1.1 Vào danh sách khách hàng
1.2 Phục vụ thực đơn
1.3 Lập hóa đơn
1.4 Lập phiếu order
1.5 Phục vụ món
2 Bán hàng
Quản lý bán hàng 3.1 Tiếp nhận yêu cầu thanh toán
3.2 Kiểm tra hóa đơn
3.3 Thanh toán cho khách
3 Thanh toán
4.1 Thống kê
4.2 Lập báo cáo
4 Báo cáo
2.3.2 Các chứng từ, hồ sơ được sử dụng
Các hồ sơ dữ liệu
A) Hóa đơn
B) Phiếu Order
C) Thực đơn
G) Danh sách nhân viên
H) Danh sách khách hàng
Các tác nhân
o Tác nhân bên ngoài hệ thống:
Khách hàng
Ban lãnh đạo
o Tác nhân bên trong hệ thống:
Bộ phận thu ngân
Bộ phận tiếp tân
Bộ phận bar, bếp
Quản lý bộ phận
Trang 102.3.3 Xác định phạm vi triển khai: Ma trận thực thể chức năng
Các thực thể
A.Hóa đơn
B. Phiếu Order
C.Thực đơn
D.Danh sách nhân viên
E Danh sách khách
Trang 111.4 L p phiêu order â
3 Báo cáo
3.2 Báo cáo 3.1 Thống kê
1.3 Phục vụ thực đơn
2.3 Thanh toán cho khách
2.2 L p và Kiêm tra hóa đơn â
1.5 Phục vụ món
2.3.4 Sơ đồ mô tả các chức năng mức chi tiết
2.4 Mô tả các chức năng chi tiết (chức năng lá)
1.1 Vào danh sách khách hàng: Khách hàng khi vào nhà hàng sẽ được kiểm tra
thông tin nếu là khách cũ, yêu cầu thông tin cần thiết nếu là khách hàng mới
1.2 Lập hóa đơn: Lập hóa đơn khi khách bắt đầu sử dụng dịch vụ
1.3 Phục vụ thực đơn: Khách hàng lựa chọn món ăn trong thực đơn
1.4 Lập phiếu order: Các món ăn khách đã lựa chọn được ghi vào phiếu order để
yêu cầu nhà bếp xuất món
Trang 121.5 Phục vụ món: Món ăn sau khi chế biến được mang ra phục vụ khách.
2.1 Tiếp nhận yêu cầu thanh toán: Bộ phận thu ngân tiếp nhận yêu cầu thanh toán của khách
2.2 Lập và kiểm tra hóa đơn: Kiểm tra các thông tin trong hóa đơn và trao đổi với khách xem có gì sai sót không Hóa đơn thanh toán sẽ được lập để lưu vào máy và in cho khách hàng
2.3 Thanh toán cho khách: Khách hàng thanh toán theo số tiền hợp lệ trong hóa đơn
3.1 Thống kê: Bộ phận kế toán dựa vào các chứng từ để kiểm tra, hệ thống thông tin theo những mốc thời gian nhất định
3.2 Báo cáo: Báo cáo chi tiết bằng những truy vấn cụ thể và in cho lãnh đạo
12
Trang 131.0 Bán hàng Khách hàng
Thông tin khách hàng
Thông tin trao đổi
Thực đơn
A | Hóa đơn-order
Xem thông tin
J | Danh sách khách hàng
2.0 Thanh toán
Yêu cầu thanh toán
Đáp ứng thanh toán
Kiêm tra thông tin
3.0 Báo cáo Lãnh đạo Nhà hàng
Yêu cầu báo cáo
Gửi báo cáo cáo
D| Danh sách nhân viên
E | Danh sách khách hàng
Lấy thông tin
C | Thực đơn
A | Hóa đơn
C | Thực đơn
B | Phiêu Order
Chương III: Mô hình luồng dữ liệu
4.1 Mô hình luồng dữ liệu mức 0
Sơ đồ luồng dữ liệu mức 0 được xây dựng bằng cách:
1. Làm mịn sơ đồ ngữ cảnh khi thay tiến trình duy nhất bằng các tiến trình con (chức năng mức 1 của sơ đồ ngữ cảnh)
2. Thêm các kho dữ liệu lấy từ danh sách hồ sơ dữ liệu sử dụng
Chú ý:
Khi nghiên cứu ta thấy: có nhiều thông tin trong phiếu Order và Hóa đơn giống nhau, vì vậy có thể hợp nhất chúng lại bằng cách bổ sung thông tin của order vào hóa đơn và bỏ phiếu order đi Trong sơ đồ không cần thêm “Phiếu order”
Trang 141.0 Bán hàng Khách hàng
Thông tin khách hàng
Kiêm tra khách
Thực đơn
A | Hóa đơn-Order
Xem thông tin
E | Danh sách khách hàng
2.0 Thanh toán
C | Thực đơn
4.2 Mô hình luồng dữ liệu mức 1
4.2.1 Sơ đồ luồng dữ liệu mức 1 của tiến trình 1.0: “Bán hàng”
Tách từ sơ đồ luồng dữ liệu mức 0 ta có tiến trình riêng:
14
Trang 152.4 l p phiêu order â
2.5 Phục vụ món
2.1 Vào danh sách khách hàng
2.2 Phục vụ thực đơn
Kiêmtra khách
Kết hợp với sơ đồ phân cấp chức năng, nhật ký khảo sát ta có:
Trang 161.0 Bán hàng
Khách hàng Yêu cầu thanh toán 2.0 Thanh toán
Đáp ứng thanh toán
A | Hóa đơn-order
Kiêm tra thông tin
3.0 Báo cáo
2.1 Tiêp nh n Y/c thanh toán â
2.3 Thanh toán cho khách
2.2 Kiêm tra hóa đơn
1.0 Bán hàng Yêu cầu thanh toán
Đáp ứng thanh toán
Vđ cần giải quyêt
Hợp lê Hóa đơn
A | Hóa đơn
4.2.3 Sơ đồ luồng dữ liệu của tiến trình 2.0: “Thanh toán”
Tách từ sơ đồ luồng dữ liệu mức 0 ta có tiến trình riêng:
Kết hợp với sơ đồ phân cấp chức năng, nhật ký khảo sát ta có:
16
Trang 173.0 Báo cáo Lãnh đạo Nhà hàng
Yêu cầu báo cáo
Gửi báo cáo cáo
D | Danh sách nhân viên
Yêu cầu báo cáo
Gửi báo cáo cáo
D | Danh sách Nhân viên
4.2.3 Sơ đồ luồng dữ liệu của tiến trình 3.0: “Báo cáo”
Tách từ sơ đồ luồng dữ liệu mức 0 ta có tiến trình riêng:
Kết hợp với sơ đồ phân cấp chức năng, nhật ký khảo sát ta có:
Trang 18Phần II: Thiết kế hệ thống
Chương I: Xây dựng CSDL mức logic
1. Chính xác hóa dữ liệu và xác định các thuộc tính
Chính xác hóa dữ liệu
DANH SÁCH KHÁCH
HÀNG
Mã khách hàng
Họ và tên
Sô hóa đơn
Tên khách hàng
Mã NVMã mónSố lượng
DANH SÁCH NHÂN VIÊN
Mã bộ phận
Tên bộ phận
Họ và tên nhân viên
Ngày sinh nhân viên
Địa chỉ nhân viên
SĐT nhân viên
DANH SÁCH NHÂN VIÊNMã BP
Tên BPMã NVHọ tên NVNgày sinh NVĐịa chỉ NVSĐT NV
18
Trang 19 Xác định danh sách các tập thuộc tính
- R1={Mã món, Tên món, Loại món, Đ/v tính, Đơn giá }
- R2={ Số HD, Mã KH, Mã NV, Ngày lập, Mã món, Số lượng }
- R3 ={ Mã BP, Tên BP, Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ NV, SĐT NV }
- R4={ Mã KH, Họ tên KH, Giới tính, Năm sinh, Địa chỉ KH, SĐT KH }(*)
Xác định khóa chính
R1={Mã món, Tên món, Đ/v tính, Đơn giá }
Mã món Tên món, Loại món, Đơn vị tính, Đơn giá
{Mã món} là khóa chính
R2={ Số HD, Mã KH, Ngày lập, Mã món, Số lượng }
Ta có:
Số hóa đơn Mã khách hàng, Địa chỉ , Ngày lập, Điện thoại, Mã món, Tên đồ, Số lượng, Giá
Số hóa đơn,Mã món Số lượng
{Số hóa đơn, Mã món} là khóa chính
R3 ={ Mã BP, Tên BP, Mã NVQL, Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địachỉ NV, SĐT NV }
Trang 20Mã KH Họ tên KH, Giới tính, Năm sinh, Địa chỉ KH, SĐT KH
{mã KH} là khóa chính
Ta có các lược đồ quan hệ sau :
R1={Mã món, Tên món, Đ/v tính, Đơn giá }
R2={ Số HD, Mã KH, Ngày lập, Mã món, Số lượng }
R3 ={ Mã BP, Tên BP, Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ NV, SĐT NV }
R4={ Mã KH, Họ tên KH, Giới tính, Năm sinh, Địa chỉ KH, SĐT KH }
Chuẩn hóa
Chuẩn hóa về 1NF
Lược đồ R1, R3, R4 đều đạt chuẩn 1 vì không có thuộc tính lặp
Tách lược đồ R2 vì tồn tại thuộc tính lặp :
R21{số hóa đơn, mã KH, ngày lập}
R22{số hóa đơn, mã món, số lượng}
Chuẩn hóa về 2NF
Các lược đồ R1, R3, R4 đã đạt chuẩn 2 vì chỉ có 1 thuộc tính khóa
Lược đồ R21 và R22 cũng đạt chuẩn 2 vì không có thuộc tính ngoài khóa phụ thuộc vào 1 phần của khóa
Chuẩn hóa về 3NF
Xét R3 ={ Mã BP, Tên BP, Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ
NV, SĐT NV }
Ta thấy Mã BP Tên BP
Mã NV Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ NV, SĐT NV
Mà Mã NV là thuộc tính ngoài khóa nên là thuộc tính cầu vậy ta tách thành 2 quan hệ để đạt chuẩn 3:
R31 { Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ NV, SĐT NV }
- Các thuộc tính còn lại và thuộc tính cầu
R32 { Mã BP, Mã NV, Tên BP }
20
Trang 21 Kết luận : ta có mô hình quan hệ sau đã chuẩn hóa đến 3NF :
1 THUC_DON (Mã món, Tên món, Đ/v tính, Đơn giá)
2 KHACH_HANG (Mã KH, Họ tên KH, Giới tính, Năm sinh, Địa chỉ KH, SĐT KH)
3 HOA_DON (số hóa đơn, mã KH, Mã NV lập, ngày lập)
4 CT_HOADON (số hóa đơn, mã món, số lượng)
5 NHAN_VIEN (Mã NV, Họ tên NV, Ngày sinh NV, Giới tính, Địa chỉ NV, SĐT NV)
6 BO_PHAN (Mã BP, Tên BP)
Trang 22Địa chỉ Giới tính
Trang 231.5 Phục vụ món
1.1 Vào danh sách khách hàng
1.2 Phục vụ thực đơn
Kiêm tra khách
Chương II : Thiết kế giao diện
2.1 Xác định luồng dữ liệu hệ thống
Phân định công việc người-máy
2.1.1 Sơ đồ tiến trình hệ thống của « 1.0 Tiếp nhận đơn hàng»
Tiến trình (1.1), (1.3) và (1.4) được chọn để máy thực hiện
Trang 242.1 Tiêp nh n Y/c thanh toán â
2.3 Thanh toán cho khách
2.2 Kiêm tra hóa đơn
Vđ cần giải quyêt
Hợp lê Hóa đơn
A | Hóa đơn
3.2 Báo cáo 3.1 Thống kê Lãnh đạo Nhà hàng
Yêu cầu báo cáo
Gửi báo cáo cáo
D | Danh sách Nhân viên
2.1.2 Sơ đồ tiến trình hệ thống của « 2.0 Thanh toán »
2.1.3 Sơ đồ tiến trình hệ thống của « 3.0 Báo cáo »
24
Trang 252.2 Xác định và đặc tả các giao diện
2.2.1 Xác định các giao diện cập nhật dữ liệuXác định các giao diện dựa cập nhật dữ kiệu dựa trên mô hình E-R
Về nguyên tắc, tương ứng với mỗi thực thể và mỗi mối quan hệ có ít nhất một thuộc tính trên mô hình E- ta có một giao diện cập nhật dữ liệu Từ mô hình khái niệm dữ liệu ta có các giao diện sau :
1 Giao diện cập nhật Khách hàng (tương ứng với thực thể KHACH_HANG)
2 Giao diện cập nhật Hóa đơn (tương ứng với thực thể HOA_DON)
3 Giao diện cập nhật Thực đơn (tương ứng với thực thể THUC_DON)
4 Giao diện cập nhật Nhân viên (tương ứng với thực thể NHAN_VIEN)
5 Giao diện cập nhật Bộ phận (tương ứng với thực thể BO_PHAN)
6 Giao diện cập nhật Order (tương ứng với thực thể CT_HOADON)
2.2.2 Xác định các giao diện xử lý dữ liệu
7 Giao diện kiểm tra khách hàng
8 Giao diện Nhập hóa đơn
9 Giao diện lập Order
10 Giao diện kiểm tra hóa đơn thanh toán
Trang 26QL bán hàng
1 QL tiêp nh n khách hàng â 2 Xử lý thanh toán-bán hàng 3 Thống kê báo cáo
1.1.QL danh mục KH
1.2.Kiêm tra khách
1.3 Kiêm tra hóa đơn
2.1.L p hóa đơn â 2.2 Danh mục thực đơn 2.3 L p phiêu Order â
3.1.Báo cáo về nhân viên 3.2.Báo cáo về bán hàng
3.3.Báo cáo về khách hàng 3.4.Báo cáo doanh thu
2.2.3 Tích hợp các giao diệnTích hợp các giao diện cùng thực hiện một chức năng hoặc các giao diện có những thao tác giống nhau ta còn lại :
1.1 Giao diện cập nhật Khách 1 Giao diện tiếp
2.2 Giao diện cập nhật Order
2.3 Giao diện kiểm tra hóa đơn
1.3 Giao diện phục vụ thực đơn
3.1 Giao diện báo cáo về nhân
viên
4 Giao diện thống
kê báo cáo3.2 Giao diện báo cáo về bán
hàng
3.3 Giao diện báo cáo về khách
hàng
3.4 Giao diện báo cáo doanh thu
2.2.4 Mô hình kiến trúc hệ thống
26