3.1.1.4. Đổi mật khẩu
Tên chức năng: Đổi mật khẩu
Đầu vào (Input): Đăng nhập thành công, Mật khẩu cũ, Mật khẩu mới, Nhập lại mật khẩu mới
3.1.1.5. Khóa tài khoản
Tên chức năng: Khoá tài khoản
Đầu vào (Input): Danh sách tài khoản
Đầu ra (Output): Thơng báo khố tài khoản thành cơng, tài khoản đã khóa khơng đăng nhập được vào hệ thống.
Hình 16. P-Spec – Sơ đồ đặc tả chức năng khoá tài khoản
3.1.1.6. Đặt bàn
Tên chức năng: Đặt bàn
Đầu vào (Input): Tên khách hàng, số điện thoại, số người, ngày giờ đặt, tiền đặt trước
Đầu ra (Output): Thông báo đặt bản thông công, Lưu thông tin đặt bàn (tên khách hàng, số điện thoại, số bàn, số người, ngày giờ đặt)
Process: Khi nhận được yêu cầu đặt bàn từ khách hàng, nhân viên vào hệ thống đi đến chức năng đặt bàn và thực hiện nhập vào tên khách hàng, số
điện thoại, số người, ngày giờ đặt, tiền đặt trước (nếu có). Sau đó, kiểm tra lại thơng tin nhập vào đã đúng hay chưa. Nếu đã đúng tiến hành nhấn “Lưu thơng tin” để hồn thành việc đặt bàn trước cho khách hàng.
Hình 17. P-Spec – Sơ đồ đặc tả chức năng đặt bàn
3.1.1.7. Tìm kiếm khách hàng
Tên chức năng: Tìm kiếm khách hàng
Hình 18. P-Spec – Sơ đồ đặc tả chức năng tìm kiếm khách hàng
3.1.1.8. Lập phiếu order món ăn
Tên chức năng: Lập phiếu order món ăn (PhieuOrder)
Đầu vào (Input): Số bàn, số khách, tên món order, tên nhân viên, ngày giờ
Hình 19. P-Spec – Sơ đồ đặc tả chức năng lập phiếu order món ăn
3.1.1.9. Lập hố đơn thanh tốn
Tên chức năng: Lập hóa đơn thanh tốn.
Đầu vào (Input): Các món ăn khách đã gọi.
Hình 20. P-Spec – Sơ đồ đặc tả chức năng lập hoá đơn thanh toán
3.1.1.10. Thanh toán hố đơn
Tên chức năng: Thanh tốn hóa đơn
Đầu vào (Input): Yêu cầu thanh toán hoá đơn của khách hàng.
Hình 21. P-Spec – Sơ đồ đặc tả chức năng thanh toán hoá đơn
3.1.1.11. Lập phiếu yêu cầu nhập nguyên liệu
Tên chức năng: Lập phiếu yêu cầu nhập nguyên liệu
Đầu vào (Input): Tên nguyên liệu, Số lượng yêu cầu, Tình trạng nguyên liệu.
Hình 22. P-Spec – Sơ đồ đặc tả chức năng lập phiếu yêu cầu nhập nguyên liệu
3.1.1.12. Duyệt yêu cầu nhập nguyên liệu
Tên chức năng: Duyệt yêu cầu nhập nguyên liệu
Đầu vào (Input): Phiếu yêu cầu nhập nguyên liệu
Hình 23. P-Spec – Sơ đồ đặc tả chức năng duyệt yêu cầu nhập nguyên liệu
3.1.1.13. Thêm nguyên liệu
Tên chức năng: Thêm nguyên liệu
Đầu vào (Input): Thơng tin ngun liệu
Hình 24. P-Spec – Sơ đồ đặc tả chức năng thêm nguyên liệu
3.1.1.14. Cập nhật nguyên liệu
Tên chức năng: Cập nhật nguyên liệu.
Đầu vào ( Input): Thơng tin về ngun liệu cần cập nhật
Hình 25. P-Spec – Sơ đồ đặc tả chức năng cập nhật nguyên liệu
3.1.1.15. Tìm kiếm nguyên liệu
Tên chức năng: Tìm kiếm nguyên liệu.
Đầu vào ( Input): Tên nguyên liệu
Hình 26. P-Spec – Sơ đồ đặc tả chức năng tìm kiếm ngun liệu
3.1.1.16. Thêm món ăn
Tên chức năng: Thêm món ăn.
Đầu vào ( Input): Thơng tin món ăn cần thêm
Hình 27. P-Spec – Sơ đồ đặc tả chức năng thêm món ăn
3.1.1.17. Cập nhật món ăn
Tên chức năng: Cập nhật món ăn.
Đầu vào ( Input): Thơng tin về món ăn cần cập nhật
Đầu ra ( Output): Thông báo cập nhật thành công và thơng tin món ăn sau khi được cập nhật.
Hình 28. P-Spec – Sơ đồ đặc tả chức năng cập nhật món ăn
3.1.1.18. Tìm kiếm món ăn
Tên chức năng : Tìm kiếm món ăn
Input: Tên món ăn cần tìm kiếm
Hình 29. P-Spec – Sơ đồ đặc tả chức năng tìm kiếm món ăn
3.1.1.19. Lập báo cáo thống kê nhập nguyên liệu
Tên chức năng : Lập báo cáo thống kê nhập nguyên liệu
Input : Tên nguyên liệu và số lượng nguyên liệu nhập
Hình 30. P-Spec – Đặc tả chức năng lập báo cáo thống kê nhập nguyên liệu
3.1.1.20. Lập báo cáo thống kê nguyên liệu
Tên chức năng : Báo cáo thống kê nguyên liệu
Input : Tên và số lượng ngun liệu hiện có trong kho
Hình 31. P-Spec – Sơ đồ đặc tả chức năng lập báo thống kê nguyên liệu
3.1.1.21. Lập báo cáo thống kê doanh thu
Tên chức năng: Lập báo cáo thống kê doanh thu
Đầu vào (Input): Số lượng hóa đơn
Đầu ra (Output): Danh sách báo cáo thống kê doanh thu theo ngày, tháng, năm
Hình 32. P-Spec – Sơ đồ đặc tả chức năng lập báo cáo thống kê doanh thu
3.1.1.22. Tìm kiếm báo cáo doanh thu
Tên chức năng : Tìm kiếm báo cáo doanh thu
Input: Ngày lập báo cáo
Hình 33. P-Spec – Sơ đồ đặc tả chức năng tìm kiếm báo cáo doanh thu
3.1.1.23. Lập báo cáo thống kê tài chính
Tên chức năng: Báo cáo thống kê tài chính
Đầu vào (Input): Báo cáo doanh thu
Hình 34. P-Spec – Sơ đồ đặc tả chức năng lập báo cáo thống kê tài chính
3.1.1.24. Đăng xuất
Tên chức năng: Đăng xuất
Đầu vào (Input): Đăng nhập thành công vào hệ thống với đúng tên tài khoản, mật khẩu
Hình 35. P-Spec – Sơ đồ đặc tả chức năng đăng xuất
3.1.1.25. Thêm nhân viên
Tên chức năng: Thêm nhân viên
Đầu vào (Input): Thông tin nhân viên cần thêm (tên nhân viên, chức vụ, bộ phận)
Hình 36. P-Spec – Sơ đồ đặc tả chức năng thêm nhân viên
3.1.2. Rà soát việc đáp ứng các yêu cầu3.1.2.1 Bảng thông tin các yêu cầu 3.1.2.1 Bảng thông tin các yêu cầu
Mã yêu cầu Yêu cầu
R1 Bộ phận quản lý bếp phải lập yêu cầu nhập nguyên liệu R2 Bộ phận phục vụ phải tiếp nhận đơn order món từ bộ
phận phục vụ
R3 Bộ phận bếp cần nắm bắt, theo dõi nguyên liệu trong bếp
R5 Bộ phận bếp phải nắm bắt theo dõi được thực đơn, món ăn trong menu.
R6 Bộ phận phục vụ tìm kiếm thơng tin khách hàng để kiểm tra, xác nhận thông tin đặt bàn của khách hàng. R7 Bộ phận phục vụ cần giới thiệu món ăn cho khách và
tiếp nhận yêu cầu gọi món từ khách hàng R8 Bộ phận kế tốn - thu ngân phải lập hóa đơn.
R9 Bộ phận kế toán - thu ngân phải thực hiện thanh tốn, in hóa đơn cho khách hàng
R10 Bộ phận quản lý phải quản lý được người dùng trong hệ thống gồm có:
Nhân viên kế tốn - thu ngân
Nhân viên quản lý bếp nhập nguyên liệu
Nhân viên phục vụ
R11 Bộ phận quản lý, kế tốn - thu ngân đều có thể xem được báo cáo về tình hình nhập ngun liệu, các thơng tin về doanh thu, tài chính…
(ngày, tháng, năm).
3.1.2.2 Bảng thông tin các chức năng
Mã chức năng Chức năng
F1 1.1 Đặt bàn (6)
F2 1.2 Tìm kiếm khách hàng (7) F3 1.3 Lập phiếu order món ăn (8) F4 2.1 Lập hóa đơn thanh tốn (9) F5 2.2 Thanh tốn hóa đơn (10)
F6 3.1 Lập phiếu yêu cầu nguyên liệu (11)
F7 3.2 Duyệt phiếu yêu cầu nhập nguyên liệu (12) F8 3.3 Thêm nguyên liệu (13)
F9 3.4 Cập nhật nguyên liệu (14) F10 3.5 Tìm kiếm ngun liệu (15) F11 3.6 Thêm món ăn (16)
F12 3.7 Cập nhật món ăn (17) F13 3.8 Tìm kiếm món ăn (18)
F14 4.1 Lập báo cáo thống kê nhập nguyên liệu (19) F15 4.2 Lập báo cáo thống kê nguyên liệu (20) F16 4.3 Lập báo cáo thống kê doanh thu (21) F17 4.4 Tìm kiếm báo cáo doanh thu (22) F18 4.5 Lập báo cáo thống kê tài chính (23) F19 5.1 Đăng nhập (1)
F20 5.2 Cập nhật thông tin tài khoản (3) F21 5.3 Đổi mật khẩu (4)
F22 5.4 Khóa tài khoản (5) F23 5.5 Cấp tài khoản (2) F24 5.6 Thêm nhân viên (25) F25 5.7 Đăng xuất (24)
F26 5.8 Thêm nhân viên (25)
3.1.2.3 Ma trận rà soát yêu cầu
F2 X F3 X F4 X F5 X F6 X F7 X F8 X F9 X F10 X F11 X F12 X F13 X F14 X F15 X F16 X F17 X
F18 X F19 X F20 X F21 X F22 X F23 X F24 X F25 X F26 X
3.1.3. Mơ hình hố luồng dữ liệu cho các chức năng
3.1.3.1 Mơ hình hóa luồng dữ liệu mức đỉnh
3.1.3.2 Mơ hình hóa luồng dữ liệu mức dưới đỉnh 3.1.3.2.1 Module quản lý khách hàng
Hình 38. DFD – Module quản lý khách hàng
3.1.3.2.2 Module quản lý thanh toán
3.1.3.2.3 Module quản lý nguyên liệu
3.1.3.2.4 Module quản lý báo cáo thống kê
3.1.3.2.5 Module quản lý tài khoản
Hình 42. DFD – Module quản lý tài khoản
3.2. Phân tích hệ thống về dữ liệu (Áp dụng phương pháp Top-Down) 3.2.1 Mơ hình thực thể - quan hệ
3.2.1.1. Xây dựng mơ hình ERD mở rộng
❖ Xác định các thực thể và thuộc tính
Dựa vào [Biểu mẫu 2.1] - Hoá đơn và [Biểu mẫu 2.4] - Phiếu khảo sát ý kiến khách hàng, ta sẽ xác định được thực thể KHÁCH HÀNG và HÓA
ĐƠN.
(2) HÓA ĐƠN: Số hóa đơn, Số bàn, Ngày giờ, Tên hàng, Số lượng, Đơn giá,
Thành tiền, Tổng cộng, Chiết khấu, Tiền đặt trước, Tổng tiền giảm, Khách hàng phải trả, Tiền khách đưa, Tiền trả lại khách, Nhân viên thanh toán
Dựa vào [Biểu mẫu 2.7] - Đơn xin nghỉ bù và [Biểu mẫu 2.8] - Đơn xinvề sớm, ta sẽ xác định được thực thể NHÂN VIÊN về sớm, ta sẽ xác định được thực thể NHÂN VIÊN
(3) NHÂN VIÊN: Tên nhân viên, Chức vụ, Bộ phận
Để đáp ứng được nhóm chức năng Quản lý tài khoản, ta cần bổ sung các thực thể ĐĂNG NHẬP với các thuộc tính Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
(4) ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản
Dựa vào [Biểu mẫu 2.11] - Giấy đề nghị cấp nguyên vật liệu, ta xácđịnh được thực thể NGUYÊN LIỆU và NHẬP NGUYÊN LIỆU định được thực thể NGUYÊN LIỆU và NHẬP NGUYÊN LIỆU
(5) NGUYÊN LIỆU: Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
(6) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử dụng,
Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực xuất, Đơn vị tính.
→ Bổ sung thuộc tính Trạng thái u cầu. Thuộc tính này nhận những giá trị để mơ tả cho bảng NHẬP NGUYÊN LIỆU này đang ở trạng thái nào. Cụ thể trong bài toán này gồm các trạng thái: Được xác nhận, Chưa được xác nhận
→ (6) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử dụng, Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực xuất, Đơn vị tính, Trạng thái yêu cầu
Dựa vào [Biểu mẫu 2.12] - Giấy order đồ ăn và quy trình order đồ ăncho khách ở mục 2.1.3.3, ta xác định được thực thể PHIẾU ORDER cho khách ở mục 2.1.3.3, ta xác định được thực thể PHIẾU ORDER
(8) MĨN ĂN: Tên món, Giá bán, Đơn vị tính, Hình ảnh món
⇒ KẾT LUẬN CÁC THỰC THỂ VÀ THUỘC TÍNH:
(1) KHÁCH HÀNG: Họ tên, Ngày sinh, Địa chỉ, Số điện thoại, Email
(2) HĨA ĐƠN: Số hóa đơn, Số bàn, Ngày giờ, Tên hàng, Số lượng, Đơn giá,
Thành tiền, Tổng cộng, Chiết khấu, Tiền đặt trước, Tổng tiền giảm, Khách hàng phải trả, Tiền khách đưa, Tiền trả lại khách, Nhân viên thanh toán
(3) NHÂN VIÊN: Tên nhân viên, Chức vụ, Bộ phận
(4) ĐĂNG NHẬP: Tên đăng nhập, Mật khẩu, Trạng thái tài khoản (5) NGUYÊN LIỆU: Tên nguyên liệu, Số lượng, Đơn giá, Đơn vị tính
(6) NHẬP NGUYÊN LIỆU: Tên người yêu cầu, Bộ phận, Lý do sử dụng,
Tên nguyên vật liệu, Ngày yêu cầu, Số lượng đề nghị, Số lượng thực xuất, Đơn vị tính, Trạng thái yêu cầu
(7) PHIẾU ORDER: Số bàn, Ngày giờ, Tên nhân viên, Số khách, Tên món,
Số lượng
(8) MĨN ĂN: Tên món, Giá bán, Đơn vị tính, Hình ảnh món
❖ Xác định mối liên kết giữa các thực thể
Thực thể KHÁCH HÀNG và thực thể HĨA ĐƠN có kiểu liên kết 1 – N
Thực thể NHÂN VIÊN và thực thể HĨA ĐƠN có kiểu liên kết 1 – N
Thực thể NHÂN VIÊN và thực thể ĐĂNG NHẬP có kiểu liên kết 1 – N
Thực thể NHÂN VIÊN và thực thể NHẬP NGUYÊN LIỆU có kiểu liên kết 1 – N
Thực thể NGUYÊN LIỆU và thực thể NHẬP NGUYÊN LIỆU có kiểu liên kết N – M
Thực thể NGUYÊN LIỆU và thực thể MĨN ĂN có kiểu liên kết N – M
Thực thể MÓN ĂN và thực thể PHIẾU ORDER có kiểu liên kết N – M
Thực thể HĨA ĐƠN và thực thể PHIẾU ORDER có kiểu liên kết N - M
❖ Chuẩn hóa ERD mở rộng
Hình 43. ERD mở rộng
3.2.1.2. Chuyển từ ERD mở rộng về ERD kinh điển
❖ Xét thực thể và thuộc tính khóa
KHÁCH HÀNG: Mã khách hàng là khóa chính.
Vì các thuộc tính Họ tên, Ngày sinh, Địa chỉ là thuộc tính mơ tả. Thuộc tính Số điện thoại và thuộc tính Email xác định tính duy nhất (có thể làm khố) nhưng vì nó q dài. Để dễ quản lý thì nhóm em xin chọn thêm thuộc tính Mã khách hàng để làm khóa chính.
HĨA ĐƠN: Số hóa đơn là khóa chính
Tiền trả lại khách là thuộc tính suy dẫn, và thuộc tính Số hóa đơn thể hiện tính duy nhất. Do đó, chúng ta chọn Số hóa đơn là khóa chính.
NHÂN VIÊN: Mã nhân viên là khóa chính
Vì các thuộc tính Tên nhân viên, Chức vụ, Bộ phận là thuộc tính mơ tả. Để dễ quản lý, nhóm chúng em xin chọn Mã nhân viên làm khóa chính.
ĐĂNG NHẬP: Tên đăng nhập là khóa chính
NGUN LIỆU: Mã ngun liệu là khóa chính
Vì các thuộc tính Tên ngun liệu, Số lượng, Đơn giá, Đơn vị tính là thuộc tính mơ tả. Để dễ quản lý, nhóm chúng em xin chọn Mã ngun liệu làm khóa chính.
NHẬP NGUN LIỆU: Mã nhập ngun liệu là khóa chính
Vì các thuộc tính Tên người u cầu, Bộ phận, Lý do sử dụng, Tên nguyên vật liệu, Ngày yêu cầu, Số lượng yêu cầu, Số lượng thực xuất, Đơn vị tính, Trạng thái u cầu là thuộc tính mơ tả. Để dễ quản lý, nhóm chúng em xin chọn Mã nhập ngun liệu làm khóa chính.
PHIẾU ORDER: Mã phiếu order là khố chính
Vì các thuộc tính Số bàn, Ngày giờ, Tên nhân viên, Số khách, Tên món, Số lượng là thuộc tính mơ tả. Thuộc tính Ngày giờ khơng thể là duy nhất vì cùng 1 lúc có thể có nhiều khách hàng order. Do đó, để dễ quản lý nhóm em xin chọn Mã phiếu order làm khóa chính.
MĨN ĂN: Mã món là khóa chính
Vì các thuộc tính Tên món, Giá bán, Đơn vị tính, Hình ảnh món là thuộc tính mơ tả. Để dễ quản lý, nhóm em xin chọn Mã món làm khóa chính.
❖ Quy tắc 1: Khử kiểu thuộc tính đa trị của kiểu thực thể:
Khơng có thuộc tính đa trị của kiểu thực thể
Khơng có thuộc tính đa trị của kiểu liên kết ❖ Quy tắc 3: Khử kiểu thuộc tính phức hợp:
Khơng có thuộc tính phức hợp ❖ Mơ hình ERD kinh điển