Lập bảng từ khoá 1.1Các từ khóa trong lĩnh vực quản lý nhà hàng: Con người Hoạt động của con người Vật, đối tượng liên quan nhân viên bán hàng tìm kiếm món ăn nguyên liệu nhận th
Pha đặc tả
1.1Các từ khóa trong lĩnh vực quản lý nhà hàng:
Con người Hoạt động của con người Vật, đối tượng liên quan
Thành viên Đăng nhập nhà hàng khách hàng Đăng xuất món ăn nhân viên bán hàng tìm kiếm món ăn nguyên liệu
Nhân viên quản lý đặt bàn menu món ăn
Nhân viên kho đặt món trực tuyến thẻ thành viên người dùng nhận khách hoá đơn
Nhân viên nhận gọi món và nhà cung cấp thực hiện thanh toán tại bàn, đồng thời tạo thẻ thành viên cho khách hàng để xác nhận thông tin đặt bàn và đặt món trực tuyến Khách hàng có thể nhập nguyên liệu từ nhà cung cấp, trong khi quản lý thông tin nhà cung cấp và xem thống kê về món ăn, nguyên liệu, khách hàng, cũng như nhà cung cấp Ngoài ra, quản lý cũng có thể cập nhật thông tin món ăn và lên menu các món ăn dạng combo.
1.2 Bảng giải thích ngữ nghĩa chi tiết cho từng khái niệm trong lĩnh vực của ứng dụng:
TT Tên tiếng Việt Tên tiếng Anh Giải thích
Người dùng trong hệ thống đã đăng ký tài khoản, với hai loại thành viên chính là nhân viên và khách hàng Mỗi thành viên có khả năng thực hiện các chức năng khác nhau, tùy thuộc vào vai trò của họ trong hệ thống.
Hành động đăng nhập của nhân viên hoặc khách hàng là bước quan trọng để truy cập vào hệ thống Quá trình này giúp hệ thống nhận diện người dùng và cấp quyền truy cập tương ứng, đảm bảo an toàn và bảo mật thông tin.
Nhà hàng là một đơn vị kinh doanh chuyên cung cấp dịch vụ ăn uống cho khách hàng Hệ thống quản lý của nhà hàng được thiết kế nhằm tối ưu hóa các hoạt động, từ việc quản lý nguyên liệu cho đến phục vụ khách hàng một cách hiệu quả.
Người dùng dịch vụ nhà hàng có thể dễ dàng truy cập hệ thống để đặt bàn và món ăn trực tuyến, cũng như quản lý tài khoản cá nhân Bên cạnh đó, khách hàng có cơ hội trở thành thành viên để nhận những ưu đãi đặc biệt từ nhà hàng.
Đăng xuất khỏi tài khoản sau khi hoàn thành các tác vụ cần thiết là hành động quan trọng để bảo vệ thông tin cá nhân Việc này giúp ngăn chặn việc sử dụng tài khoản trái phép, đảm bảo an toàn cho dữ liệu của người dùng.
Nhà hàng cung cấp một hệ thống quản lý chi tiết cho từng món ăn, từ nguyên liệu sử dụng đến giá cả Khách hàng có thể dễ dàng tìm kiếm và đặt món trực tuyến, mang lại trải nghiệm tiện lợi và nhanh chóng.
7 Nhân viên bán hàng Sales Staff
Nhân viên nhà hàng có trách nhiệm phục vụ khách hàng, bao gồm tiếp nhận khách, ghi nhận gọi món, xử lý thanh toán và tạo thẻ thành viên Họ là người tương tác chính với khách hàng, đảm bảo trải nghiệm tốt nhất cho thực khách.
8 Tìm kiếm món ăn Search Dish
Hệ thống cho phép khách hàng tìm kiếm món ăn bằng cách nhập tên hoặc từ khóa Khi khách hàng cung cấp từ khóa, hệ thống sẽ hiển thị danh sách các món ăn liên quan, giúp khách hàng dễ dàng xem chi tiết và thực hiện đặt món.
9 Nguyên liệu là các thành phần cần thiết để chế biến các món ăn Hệ thống cho phép nhân viên kho quản lý việc nhập và tồn kho nguyên liệu, đảm bảo luôn có đủ nguyên liệu cần thiết cho việc chế biến món ăn.
10 Nhân viên quản lý Management Staff
Nhân viên quản lý đóng vai trò quan trọng trong việc điều phối các hoạt động chính của nhà hàng Họ có quyền truy cập vào các báo cáo thống kê liên quan đến món ăn, nguyên liệu, khách hàng và nhà cung cấp, từ đó giúp tối ưu hóa quy trình vận hành và nâng cao chất lượng dịch vụ.
Khách hàng có thể đặt chỗ trước tại nhà hàng thông qua hệ thống trực tuyến, cho phép lựa chọn thời gian và số lượng người Hệ thống sẽ tự động xác nhận đơn đặt chỗ để đảm bảo sự thuận tiện và chính xác cho khách hàng.
Nhà hàng cung cấp danh sách đa dạng các món ăn, cho phép nhân viên dễ dàng cập nhật menu và tạo ra các combo đặc biệt Điều này mang đến nhiều lựa chọn phong phú cho khách hàng khi đặt món, đáp ứng nhu cầu ẩm thực đa dạng của thực khách.
13 Nhân viên kho Warehouse Staff
Nhân viên chịu trách nhiệm quản lý kho hàng của nhà hàng, bao gồm việc nhập và kiểm tra nguyên liệu từ nhà cung cấp.
14 Đặt món trực tuyến Online Order
Khách hàng có thể đặt món ăn trực tuyến từ hệ thống của nhà hàng, cho phép họ lựa chọn món từ menu, xem thông tin chi tiết và xác nhận đơn hàng để nhà hàng chuẩn bị trước khi khách đến.
15 Thẻ thành viên Membership Card
Thẻ thành viên xác nhận khách hàng là người dùng của nhà hàng, thường đi kèm với các ưu đãi đặc biệt như giảm giá và tích điểm thưởng Nhân viên bán hàng có thể tạo thẻ thành viên khi khách hàng yêu cầu.
Pha phân tích
a Viết kịch bản cho Module
Module Khách hàng tìm kiếm thông tin món ăn
Chức năng tìm kiếm thông tin món ăn cho phép khách hàng dễ dàng truy cập menu và nhập tên món ăn cần tìm Hệ thống sẽ hiển thị danh sách các món ăn có chứa từ khóa đã nhập Khách hàng chỉ cần click vào món ăn mong muốn để xem thông tin chi tiết, bao gồm các đặc điểm và thành phần của món ăn đó.
Khách hàng tìm kiếm thông tin món ăn
Khách hàng đăng nhập hệ thống thành công
Khách hàng tìm thấy thông tin về món ăn theo mong muốn
1 Sau khi đăng nhập , từ giao diện chính, khách hàng chọn chức năng tìm kiếm món ăn.
2 Giao diện tìm kiếm món ăn hiện lên, có 1 ô nhập tên và 1 button tìm kiếm.
3 khách hàng nhập tên món ăn vào ô tìm kiếm và chọn tìm kiếm
4 Các món ăn có tên chứa từ khoá được tìm kiếm hiện lên trên giao diện dưới dạng danh sách
5 Giao diện các món ăn được tìm kiếm:
Kh ách hàng click vào món ăn để xem chi tiết món ăn đó, Giao diện chi tiết món ăn được chọn hiện lên:
3 Không hiện món ăn nào -> Danh sách món ăn trả về rỗng
Module Nhân viên nhập nguyên liệu
Chức năng của nhân viên nhập nguyên liệu bao gồm việc chọn menu nhập nguyên liệu, tìm kiếm nhà cung cấp theo tên (có thể thêm mới nếu chưa có), và lặp lại quy trình cho đến khi nhập xong nguyên liệu mong muốn Nhân viên cần tìm nguyên liệu theo tên (cũng có thể thêm mới nếu chưa có) và chọn nguyên liệu từ danh sách kết quả.
→ nhập số lượng → sau khi lặp xong các nguyên liệu, xác nhận → in hóa đơn và thanh toán.
Nhân viên nhập nguyên liệu
Nhân viên kho đăng nhập hệ thống thành công
Các nguyên liệu nhập về được cập nhật thông tin trên hệ thống
1 Sau khi đăng nhập, từ giao diện chính, nhân viên kho chọn chức năng nhập nguyên liệu
2 Giao diện hiện ô nhập tên nhà cung cấp và nút tìm kiếm
3 Nhân viên kho nhập tên nhà cung cấp nguyên liệu cần nhập và click tìm kiếm
4 Giao diện hiện lên danh sách nhà cung cấp được tìm kiếm theo tên chọn nhà cung cấp từ giao diện trả về
5 Giao diện các nguyên liệu từ nhà cung cấp hiện lên Nhân viên nhập tên nguyên liệu vào ô tìm kiếm và nhấn tìm kiếm nguyên liệu
6 Giao diện trả về 1 danh sách tên các nguyên liệu theo kết quả tìm kiếm Nhân viên chọn nguyên liệu từ danh sách kết quả
7 Giao diện nhập số lượng hiện lên, nhân viên cập nhật số lượng và chọn xác nhận
8 Giao diện trả về bước 5
9 Lặp lại các bước từ 5-8 cho đến khi hoàn tất số nhập liệu
10 Nhân viên chọn nút xác nhận hoá đơn
11 Giao diện xác nhận hoá đơn hiện lên gồm thông tin chi tiết về hoá đơn vừa nhập:
12 Hệ thống báo thành công và quay về giao diện chính Ngoạ i lệ
3 Không tìm thấy nhà cung cấp với tên vừa tìm
6 Không tìm thấy nguyên liệu nào với tên vừa tìm b Trích lớp thực thể và vẽ sơ đồ lớp thực thể của hệ thống
Hệ thống quản lý nhà hàng RestMan là công cụ hữu ích cho nhân viên quản lý, nhân viên bán hàng, nhân viên kho và khách hàng Nhân viên quản lý có khả năng theo dõi thống kê món ăn, nguyên liệu, khách hàng và nhà cung cấp, cũng như quản lý thông tin món ăn và tạo menu combo Nhân viên bán hàng có thể làm thẻ thành viên cho khách hàng, xác nhận thông tin đặt bàn và đặt món trực tuyến, đồng thời tiếp nhận khách và gọi món Nhân viên kho có nhiệm vụ nhập nguyên liệu từ nhà cung cấp và quản lý thông tin nhà cung cấp Khách hàng có thể dễ dàng tra cứu món ăn, đặt bàn và đặt món thông qua hệ thống.
1 Trích danh từ xuất hiện trong đoạn
Các danh từ liên quan đến con người: khách hàng, nhân viên quản lý, nhân viên bán hàng, nhân viên kho, nhà cung cấp
Các danh từ liên quan đến vật: nguyên liệu, món ăn, menu combo, nhà hàng,bàn ăn
Các danh từ liên quan đến thông tin bao gồm thống kê khách hàng, thống kê món ăn, thống kê nguyên liệu, thống kê nhà cung cấp, hóa đơn, hóa đơn nhập hàng, nhà cung cấp, thẻ thành viên và nguyên liệu nhập.
2 Đánh giá và lựa chọn các danh từ làm lớp thực thể hoặc thuộc tính
Các danh từ trừu tượng: hệ thống -> loại
Trong hệ thống quản lý, các danh từ liên quan đến con người bao gồm: lớp ThanhVien615, đại diện cho thành viên với các thuộc tính như tên đăng nhập, mật khẩu, họ tên, địa chỉ, ngày sinh, số điện thoại và vai trò Lớp KhachHang615 kế thừa lớp ThanhVien615, bổ sung thuộc tính mã khách hàng Lớp NhanVien615 cũng kế thừa lớp ThanhVien615, thêm thuộc tính mã nhân viên và vị trí công việc Đối với nhân viên quản lý, lớp NVQuanLy615 kế thừa từ NhanVien615 và có thêm thuộc tính mô tả Nhân viên bán hàng được đại diện bởi lớp NVBanHang615, kế thừa lớp NhanVien615 và có thuộc tính KPI Cuối cùng, lớp NVKho615 kế thừa lớp NhanVien615 và bổ sung thuộc tính mô tả cho nhân viên kho.
Trong bài viết này, chúng ta sẽ khám phá các danh từ liên quan đến vật trong ngành nhà hàng Đầu tiên, lớp NhaHang615 bao gồm thông tin như tên nhà hàng, số điện thoại, địa chỉ và giờ mở cửa Tiếp theo, lớp NguyenLieu615 cung cấp chi tiết về nguyên liệu, bao gồm tên, mô tả, số lượng còn lại, tên nhà cung cấp và giá thành Lớp MenuCombo615 chứa tên menu, mô tả các món ăn và giá combo Đối với món ăn, lớp MonAn615 ghi lại tên món, mô tả, nguyên liệu và giá thành Về bàn ăn, lớp BanAn615 xác định mã bàn và vị trí, trong khi lớp BanDat615 quản lý thông tin đặt bàn như giờ bắt đầu, giờ kết thúc, ngày đặt, trạng thái và ghi chú.
Trong hệ thống quản lý thông tin, các danh từ quan trọng bao gồm: Hoá đơn với lớp HoaDon615 chứa mã hoá đơn, mã khách hàng, món ăn, combo, tổng giá tiền và ngày xuất; Hoá đơn nhập hàng thuộc lớp HoaDonNhap615 ghi lại mã hoá đơn, nguyên liệu, số lượng, tổng tiền và ngày nhập; Nhà cung cấp được quản lý qua lớp NhaCungCap615 với mã nhà cung cấp, tên, địa chỉ, số điện thoại và nguyên liệu cung cấp; Thẻ thành viên trong lớp TheThanhVien615 bao gồm mã thẻ, hạn thẻ, ngày cấp và loại thẻ; Nguyên liệu nhập được theo dõi qua lớp NguyenLieuNhap615 với tên nguyên liệu, số lượng nhập và hoá đơn nhập; Món được đặt được lưu trữ trong lớp MonDuocDat615 với số lượng, tổng tiền và ngày đặt; trong khi Combo được đặt được quản lý qua lớp ComboDuocDat615 với số lượng, tổng tiền và ngày đặt.
3 Xác định mối quan hệ số lượng giữa các thực thể
Nhà hàng có nhiều món ăn -> quan hệ giữa nhà hàng và món ăn là 1 – n
Một món ăn có nhiều nguyên liệu, 1 nguyên liệu có thể có trong nhiều món ăn -> quan hệ giữa món ăn và nguyên liệu là n – n
Khách hàng có thể có nhiều hóa đơn -> quan hệ giữa khách hàng và hóa đơn là 1 – n
Khách hàng có 1 thẻ thành viên -> quan hệ giữa khách hàng và thẻ thành viên là 1 – 1
Một MenuCombo có nhiều món ăn, một món ăn có thể có trong nhiều
Menucombo -> quan hệ giữa món ăn và combo là n – n -> đề xuất thêm lớp Combo món ăn
1 Hoá đơn có nhiều món ăn , 1 món ăn có ở trong nhiều hoá đơn -> đề xuất thêm lớp Món được đặt
1 Hoá đơn có nhiều MenuCombo, 1 MenuCombo có trong nhiều món ăn -> đề xuất thêm lớp Combo được đặt
Nhân viên bán hàng có thể có nhiều hóa đơn khi thanh toán cho nhiều khách hàng -> quan hệ giữa nhân viên bán hàng và hóa đơn là 1- n
Nhân viên kho có thể có nhiều hóa đơn nhập hàng -> quan hệ giữa nhân viên kho và hóa đơn nhập là 1 - n
Một khách hàng có 1 thẻ thành viên, 1 thẻ thành viên có 1 khách hàng -> quan hệ giữa khách hàng và thẻ thành viên là 1- 1
1 Hoá đơn nhập có nhiều nguyên liệu, 1 nguyên liệu có ở trong nhiều hoá đơn nhập -> mối quan hệ n – n Đề xuất thêm lớp nguyên liệu nhập
1 Hoá đơn nhập có 1 nhà cung cấp 1 nhà cung cấp có ở trong nhiều hoá đơn -> mối quan hệ giữa hoá đơn nhập và nhà cung cấp là n – 1.
1 Bàn ăn có trong nhiều bàn đặt 1 bàn đặt có 1 bàn ăn -> quan hệ giữa bàn ăn và bàn đặt là 1 - n
4 Xác định quan hệ giữa đối tượng giữa các thực thể
Món ăn là thành phần của nhà hàng
Bàn ăn là thành phần của nhà hàng
Thẻ thành viên là thành phần của khách hàng
Bàn ăn là thành phần của bàn đặt
Thông tin bàn đặt nằm trong hoá đơn
Thông tin Món được đặt nằm trong hoá đơn
Thông tin Combo menu được đặt nằm trong hoá đơn
Thông tin nguyên liệu nằm trong nguyên liệu nhập
Các lớp thống kê kế thừa từ lớp thực thể tương ứng
Kết quả thu được biểu đồ lớp thực thể dưới đây : c Trích vẽ biểu đồ lớp cho Module
Phân tích tĩnh module tìm kiếm món ăn:
Ban đầu giao diện chính của khách hàng -> đề xuất lớp GDChinhKH615
○ subTraCuuMonAn: Nút nhấn để thực hiện tra cứu món ăn, kiểu submit
Ở bước 5 giao diện Tìm kiếm món ăn đề xuất lớp GDTimKiemMonAn615, cần các thành phần:
○ Nút tìm kiếm: kiểu submit
○ Bảng danh sách món ăn: vừa output vừa submit Để có danh sách món ăn, cần xử lý dưới hệ thống:
○ Tìm các món ăn theo tên
○ Output: danh sách các món ăn
○ Đề xuất phương thức getMonAnTheoTen() gán cho lớp MonAn615
Ở bước 6 giao diện Chi tiết món ăn xuất hiện -> đề xuất lớp
GDChiTietMonAn615, cần các thành phần
○ Thông tin chi tiết món ăn: kiểu output Đề có thông tin chi tiết món ăn cần xử lý từ dưới hệ thống:
○ Lấy thông tin chi tiết món ăn
○ Output: thông tin chi tiết về món ăn
○ Có thể sử dụng cùng phương thức getMonAnTheoTen()Kết quả thu được biểu đồ phân tích module tìm kiếm món ăn :
Phân tích tĩnh module Nhân viên nhập nguyên liệu:
Ban đầu giao diện nhân viên kho -> đề xuất lớp GD GDChinhNvKho615, cần thành phần
Bước 2 giao diện chọn nhà cung cấp -> đề xuất lớpGDChonNCC615, cần thành phần:
○ Input : tên nhà cung cấp
○ Danh sách nhà cung cấp: vừa output, vừa submit Đề có danh sách nhà cung cấp cần xử lý dưới hệ thống:
○ Tìm nhà cung cấp theo tên
○ Input : tên nhà cung cấp
○ Output: danh sách nhà cung cấp
○ Đề xuất phương thức : getNhaCungCapTheoTen() gán cho lớp NhaCungCap615
Bước 5 giao diện chọn nguyên liệu hiện lên -> đề xuất lớp
○ Danh sách nguyên liệu : vừa output, vừa input
○ Danh sách nguyên liệu nhập: output
○ Submit: nút xác nhận hoá đơn Để có danh sách nguyên liệu cần
○ Tìm nguyên liệu theo tên
○ Output: danh sách nguyên liệu
○ Đề xuất phương thức : getNguyenLieuTheoTen() gán cho lớp NguyenLieu615 Để có danh sách nguyên liệu nhập cần
○ Chọn nguyên liệu để nhập số lượng
○ Đề xuất phương thức: createNguyenLieuNhap() gán cho lớp NguyenLieuNhap615
Bước 7 giao diện nhập số lượng hiện lên GDNhapSL615, cần thành phần:
○ Submit: nút xác nhận Để có nguyên liệu , cần xử lý ở dưới hệ thống:
○ Chọn 1 nguyên liệu ở danh sách nguyên liệu tìm được
Bước 11 giao diện xác nhận hoá đơn hiện lên-> đề xuất lớp GDXacnhan615, cần thành phần:
○ Submit: nút xác nhận Để có được output hoá đơn nhập, cần xử lý dưới hệ thống:
○ Chọn xác nhận ở trang giao diện chọn nguyên liệu
○ Input: Nguyên liệu nhập, nhân viên kho, nhà cung cấp
○ Đề xuất phương thức: createHoaDonNhap() gán ở lớp HoaDonNhap615
Kết quả thu được lớp module Nhân viên nhập liệu: d Vẽ biểu đồ trạng thái cho module
Module tìm kiếm món ăn:
Hoạt động trạng thái của module diễn ra trong hình dưới:
Tại giao diện chính của khách hàng, khi chọn chức năng tìm kiếm món ăn, hệ thống chuyển sang trang giao diện tìm kiếm món ăn
Khi người dùng thực hiện tìm kiếm món ăn trên giao diện, hệ thống sẽ hiển thị lại trang tìm kiếm và cung cấp kết quả tương ứng.
Tại trang giao diện tìm kiếm món ăn, chọn 1 món ăn sau khi tìm kiếm , hệ thống chuyển sang giao diện xem chi tiết của 1 món ăn.
Module nhân viên nhập nguyên liệu
Hoạt động của module được diễn ra như hình bên dưới:
Tại giao diện chính của nhân viên kho, khi chọn chức năng nhập nguyên liệu, hệ thống chuyển sang giao diện tìm nhà cung cấp
Tại giao diện chọn nhà cung cấp, khi thực hiện chức năng tìm nhà cung cấp, hệ thống sẽ hiển thị lại giao diện chọn nhà cung cấp
Tại trang giao diện chọn nhà cung cấp, khi chọn 1 nhà cung cấp, hệ thống chuyển sang trang giao diện chọn nguyên liệu
Tại trang giao diện chọn nguyên liệu, khi thực hiện chức năng tìm nguyên liệu, hệ thống sẽ hiển thị lại giao diện chọn nguyên liệu
Tại trang giao diện chọn nguyên liệu, khi thực chọn 1 nguyên liệu, hệ thống sẽ gọi giao diện nhập số lượng
Tại giao diện nhập số lượng, khi nhập số lượng , hệ thống chuyển về giao diện chọn nguyên liệu
Tại giao diện chọn nguyên liệu, khi chọn xác nhận hoàn thành, hệ thống chuyển sang giao diện hiển thị xác nhận
Khi người dùng chọn xác nhận hóa đơn trên giao diện hiển thị xác nhận, hệ thống sẽ tiến hành xử lý hóa đơn và thông báo kết quả trở lại email Biểu đồ giao tiếp cho module này được thiết kế để đảm bảo quá trình diễn ra mạch lạc và hiệu quả.
Module tìm kiếm món ăn: kịch bản v.2 cho module tìm kiếm món ăn như sau:
1 Tại giao diện chính của khách hàng sau khi đăng nhập, khách hàng click chọn tìm kiếm món ăn
3 Lớp GDTimKiemMonAn615 hiển thị cho khách hàng
4 Khách hàng nhập cụm từ cần tìm kiếm và click tìm kiếm
5 Lớp GDTimKiemMonAn615 gọi đến MonAn615 yêu cầu lấy danh sách món ăn liên quan.
6 Lớp MonAn615 lấy danh sách món ăn theo tên
7 Lớp MonAn615 trả về giao GDTimKiemMonAn615 kết quả tìm kiếm
8 Lớp GDTimKiemMonAn615 hiển thị danh sách món ăn cho khách hàng
9 Khách hàng chọn 1 món ăn.
10 Lớp GDTimKiemMonAn615 gọi lớp GDChiTietMonAn615
11 Lớp GDChiTietMonAn615 hiển thị thông tin chi tiết món ăn vừa chọn cho khách hàng
Module nhân viên nhập liệu:
1.Nhân viên kho chọn nhập nguyên liệu.
2 Lớp GDChinhNv615 gọi lớp GDChonNCC615
3 Lớp GDChonNCC615hiển thị cho nhân viên kho
4 Nhân viên kho nhập tên nhà cung cấp
5 Lớp GDChonNCC615gọi lớp NhaCungCap615, yêu cầu lấy danh sách nhà cung cấp
6 Lớp NhaCungCap615 lấy danh sách nhà cung cấp theo tên
7 Lớp NhaCungCap615 trả lại kết quả cho lớp GDChonNCC615
8 Lớp GDChonNCC615hiển thị danh sách nhà cung cấp cho nhân viên kho
9 Nhân viên kho chọn 1 nhà cung cấp từ danh sách trả về
10 Lớp GDChonNCC615 gọi đến lớp GDChonNguyenLieu615
11 Lớp GDChonNguyenLieu615 hiển thị cho nhân viên kho
12 Nhân viên kho nhập tên nguyên liệu cần nhập
13 GDChonNguyenLieu615 gọi lớp NguyenLieu615, yêu cầu lấy danh sách nguyên liệu
14 Lớp NguyenLieu615 lấy danh sách nguyên liệu theo tên
15 Lớp NguyenLieu615 trả danh sách nguyên liệu về lớp GDChonNguyenLieu615
16 Lớp GDChonNguyenLieu615 hiển thị danh sách nguyên liệu cho nhân viên kho
17.Nhân viên kho chọn 1 nguyên liệu từ danh sách nguyên liệu hiển thị
18 Lớp GDChonNguyenLieu615 gọi sang lớp GDnhapSoLuong615
19.Lớp GDnhapSoLuong615 hiển thị lên cho nhân viên kho
20.Nhân viên kho nhập số lượng nguyên liệu nhập
21 GDnhapSoLuong615 gọi NguyenLieuNhap615, yêu cầu tạo Nguyên liệu nhập
22 Lớp NguyenLieuNhap615 tạo nguyên liệu nhập
23 NguyenLieuNhap615 trả về giao diện GDNhapSoLuong615
24 GDNhapSoLuong615 trả về lớp GDNhapNguyenLieu615
25 Hiển thị danh sách nguyên liệu vừa nhập từ GDNhapSoLuong615
26 Nhân viên kho chọn xác nhận hoá đơn
27 GDNhapNguyenLieu615 gọi đến lớp GDXacNhan615
28 lớp GDXacNhan615 hiển thị cho nhân viên kho
29 Nhân viên kho chọn xác nhận hoá đơn
30 Lớp GDXacNhan615 gọi lớp HoaDonNhap615, yêu cầu tạo hoá đơn nhập
31 Lớp HoaDonNhap615 tạo hoá đơn nhập
32 Lớp HoaDonNhap615 trả về GDXacNhan615
33 Hiển thị thông báo thành công ở lớp GDXacNhan615.
Pha thiết kế
a Thiết kế lớp thực thể
Các lớp được bổ sung thuộc tính id: trừ các lớp TK, KhachHang615, NhanVien615,
Thuộc tính của các lớp được bổ sung thuộc tính theo kiểu của ngôn ngữ lập trình Java.
Bổ sung các thuộc tính thành phần của quan hệ hợp thành, chúng ta có thể tạo ra biểu đồ lớp thực thể pha thiết kế Điều này là bước quan trọng trong thiết kế cơ sở dữ liệu cho hệ thống.
Bước 1 Ở mỗi lớp thực thể đề xuất 1 bảng tương ứng
15 Lớp NV_Kho615 -> tblNV_Kho615
16 Lớp NV_QuanLy615 -> tblNV_QuanLy615
17 Lớp NV_BanHang615 -> tblNV_BanHang615
Bước 2: Chuyển các thuộc tính không phải đối tượng của lớp thực thể thành thuộc tính của bảng tương ứng, bao gồm: tblThanhVien615 với các thuộc tính id, tên, tài khoản, mật khẩu, địa chỉ, sdt, vai trò; tblTheThanhVien615 chứa id, mã thẻ, hạn thẻ, ngày cấp, loại thẻ; tblNhaHang615 với id, tên, địa chỉ, sdt, giờ mở cửa; tblBanAn615 có id, mã bàn, vị trí; tblBanDat615 gồm id, ngày đặt, giờ bắt đầu, giờ kết thúc, trạng thái, ghi chú; tblHoaDon615 với id, giá, ngày xuất; tblMonDuocDat615 có id, số lượng, tổng tiền, ngày đặt; tblMonAn615 chứa id, tên, mô tả, giá; tblHoaDonNhap615 với id, giá, ngày nhập; tblNguyenLieuNhap615 có id, số lượng; tblNguyenLieu615 gồm id, tên, mô tả, số lượng, giá; tblNhaCungCap615 chứa id, tên, địa chỉ, sdt; các bảng nhân viên như tblNV_Kho615, tblNV_QuanLy615, tblNV_BanHang615 đều có mô tả; tblMenuCombo615 với id, mô tả, giá; tblComboMonAn615 và tblComboDuocDat615 với id, số lượng, tổng tiền, ngày đặt.
Bước 3: Chuyển quan hệ số lượng giữa các lớp thực thể thành quan hệ số lượng giữa các bảng:
Bước 4: Thiết lập các thuộc tính khóa cho các bảng, trong đó khóa chính được xác định bằng thuộc tính id, ngoại trừ các bảng tblKhachHang615, tblNhanVien615, tblNV_Kho615 và tblNV_QuanLy615.
1 tblThanhVien615 - 1 tblKhachHang615 ở bảng tblKhachHang615 có khoá ngoại tblThanhVien615id
1 tblThanhVien615 - 1 tblNhanVien615 ở bảng tblNhanVien615 có khoá ngoại tblThanhVien615id
1 tblKhachHang615 - 1 tblTheThanhVien615 ở bảng tblKhachHang615 có khoá ngoại tblTheThanhVien615id
1 tblNhaHang615 – n tblNhanVien615 ở bảng tblNhanVien615 có khoá ngoại tblNhaHang615id
1 tblNhaHang615 – n tblMonAn615 ở bảng tblMonAn615 có khoá ngoại tblNhaHang615id
1 tblBanDat615 – 1 tblBanAn615 ở bảng tblBanDat615 có khoá ngoại tblBanAn615id
1 tblBanDat615 – 1 tblHoaDon615 ở bảng tblBanDat615 có khoá ngoại tblHoaDon615id
1 tblHoaDon615 – n tblMonDuocDat615 ở bảng tblMonDuocDat615 có khoá ngoại tblHoaDon615id
1 tblHoaDon615 – n tblComboDuocDat615 ở bảng tblComboDuocDat615 có khoá ngoại tblHoaDon615id
1 tblHoaDon615 – 1 tblKhachHang615 ở bảng tblHoaDon615 có khoá ngoại tblKhachHang615id
1 tblMonAn615 – n tblMonDuocDat615 ở bảng tblMonDuocDat615 có khoá ngoại tblMonAn615id
1 tblMonAn615 – n tblComboMonAn615 ở bảng tblComboMonAn615 có khoá ngoại tblMonAn615id
1 tblMenuCombo615 - n tblComboMonAn615 ở bảng tblComboMonAn615 có khoá ngoại tblMenuCombo615id
1 tblComboDuocDat615 - n tblMenuCombo615 ở bảng tblMenuCombo615 có khoá ngoại tblComboDuocDat615id
1 tblNvKho615 – n tblHoaDonNhap615 ở bảng tblHoaDonNhap615 có khoá ngoại tblNvKho615id
1 tblHoaDonNhap615 – n tblNguyenLieuNhap615 ở bảng tblNguyenLieuNhap615 có khoá ngoại tblHoaDonNhap615id
1 tblNhaCungCap615 – n tblHoaDonNhap615 ở bảng tblHoaDonNhap615 có khoá ngoại tblNhaCungCap615
1 tblNguyenLieuNhap615 – 1 tblNguyenLieu615 ở bảng tblNguyenLieuNhap615 có khoá ngoại tblNguyenLieu615id
Bước 5: Các thuộc tính dẫn xuất:
-Số lượng nguyên liệu trong tblNguyenLieu615
Kết quả thu được CSDL toàn hệ thống được trình bảy trong hình dưới: c Thiết kế giao diện liên quan cho modul:
Thiết kế giao diện liên quan cho modul Tìm kiếm món ăn:
Tầng giao diện chính: GDChinhKH615, GDTimKiemMonAn615, GDChiTietMonAn615; Các giao diện chức năng này được thiết kế như hình bên dưới:
Thiết kế giao diện cho modle Nhân viên nhập nguyên liệu:
-Tầng giao diện có các trang : GDChinhNvKho615, GDChonNCC615,
Các giao diện cho chức năng này được thiết kế như trong hình dưới.
Trang GDXacNhan615 d Thiết kế biểu đồ lớp cho modul
Module Tìm kiếm món ăn
Tầng thao tác với dữ liệu có các lớp DAO: DAO615 MonAnDAO615
Biểu đồ lớp được thiết kế như hình bên dưới:
Module Nhân viên nhập nguyên liệu
Tầng thao tác dữ liệu có các lớp DAO: DAO615, NhaCungCapDAO615,
NguyenLieuDAO615, NguyenLieuNhapDAO615, HoaDonNhapDAO615 e Thiết kế động module
Module Tìm kiếm món ăn
Biểu đồ hoạt động của module Tìm kiếm món ăn được trình bày dưới đây:
Biểu đồ tuần tự được trình bày ở dưới với kịch bản cụ thể như sau:
1.Tại giao diện chính, khách hàng chọn chức năng tìm kiếm món ăn
2 Trang GDChinhKH615.jsp gọi trang GDTimKiemMonAn615.jsp
3 Trang GDTimKiemMonAn615.jsp hiển thị cho khách hàng
4 Khách hàng nhập tên món ăn vào và chọn tìm kiếm
5 Trang GDTimKiemMonAn615.jsp gọi đến MonAnDAO615 yêu cầu lấy danh sách món ăn liên quan
6.Lớp MonAnDAO615 gọi hàm getMonAnTheoTen()
7.Hàm getMonAnTheoTen() thực hiện và gọi MonAn615 để đóng gói thông tin
8 Lớp MonAn615 đóng gói thực thể
9 Lớp MonAn615 trả kết quả cho hàm getMonAnTheoTen()
10 Hàm getMonAnTheoTen() trả kết quả cho trang GDTimKiemMonAn615.jsp
11 Trang GDTimKiemMonAn615.jsp hiển thị danh sách món ăn cho khách hàng
12.Khách hàng chọn 1 món ăn từ danh sách món ăn trên trang GDTimKiemMonAn615.jsp 13.Trang GDTimKiemMonAn615.jsp gọi trang GDChiTietMonAn615.jsp
14 Trang GDChiTietMonAn615.jsp hiển thị thông tin 1 món ăn chi tiết cho khách hàng
Module Nhân viên nhập nguyên liệu
Biểu đồ hoạt động của module Nhân viên nhập liệu được trình bày như hình dưới:
Biểu đồ tuần tự được trình bày ở dưới với kịch bản cụ thể như sau:
1.Tại giao diện chính nhân viên kho chọn chức năng nhập nguyên liệu
2 Giao diện GDChinhNVKho615.jsp gọi đến trang GDChonNCC615.jsp
3 Giao diện GDChonNCC615.jsp hiển thị cho nhân viên kho
4 Nhân viên kho nhập tên nhà cung cấp và chọn tìm kiếm
5 Trang GDChonNCC615.jsp gọi đến NhaCungCapDAO615 yêu cầu lấy danh sách nhà cung cấp với tên liên quan
6.Lớp NhacungCapDAO615 gọi hàm getNhaCungCapTheoTen()
7 hàm getNhaCungCapTheoTen() thực hiện và gọi đến NhaCungCap615 để đóng gói thông tin
8.Lớp NhaCungCap615 đóng gọi thực thể
9.Lớp NhaCungCap615 trả kết quả cho hàm getNhaCungCapTheoTen()
10 hàm getNhaCungCapTheoTen() trả kết quả cho trang GDChonNCC615.jsp
11 Trang GDChonNCC615.jsp hiển thị danh sách nhà cung cấp cho nhân viên kho
12 Nhân viên kho chọn 1 nhà cung cấp từ danh sách trả về.
13 Trang GDChonNCC615.jsp gọi trang GDTimKiemNguyenLieu615.jsp
14 Trang GDTimKiemNguyenLieu615.jsp hiển thị cho nhân viên kho
15 Nhân viên kho nhập tên nguyên liệu và chọn tìm kiếm
16 Trang GDChonNguyenLieu615.jsp gọi đến NguyenLieuDAO615 yêu cầu lấy danh sách nguyên liệu với tên liên quan
17 Lớp NguyenLieuDAO615 gọi hàm getNguyenLieuTheoTen()
18 hàm getNguyenLieuTheoTen () thực hiện và gọi đến NguyenLieu615 để đóng gói thông tin
19 Lớp NguyenLieu615 đóng gọi thực thể
20 Lớp NguyenLieu615 trả kết quả cho hàm getNguyenLieuTheoTen ()
21 hàm getNguyenLieuTheoTen () trả kết quả cho trang GDChonNguyenLieu615.jsp
22 Trang GDChonNguyenLieu615.jsp hiển thị danh sách nguyên liệu cho nhân viên kho
23 Nhân viên kho chọn 1 nguyên liệu từ danh sách trả về.
24 Trang GDChonNguyenLieu615.jsp gọi trang GDNhapSL615.jsp
25 Trang GDNhapSL615.jsp hiển thị cho nhân viên kho
26 Nhân viên kho nhập số lượng cho nguyên liệu và chọn xác nhận
27 Trang GDNhapSL615.jsp gọi đến NguyenLieuNhap615 để yêu cầu tạo mới thực thể
28 NguyenLieuNhap615 tạo mới 1 nguyên liệu nhập với thông tin được truyền vào
29 NguyenLieuNhap615 trả về trang GDNhapSL615.jsp
30 Trang GDNhapSL615.jsp lưu thông tin nguyên liệu nhập mới tạo và trả về trang
31 Trang GDNhapSL615.jsp hiển thị thêm danh sách nguyên liệu nhập cho nhân viên kho (có thể lặp từ bước 15 ->31 để nhập nguyên liệu )
32 Nhân viên kho chọn nút xác nhận hoá đơn nhập từ trang GDNhapSL615.jsp
33 Trang GDNhapSL615.jsp gọi GDXacNhan615.jsp và truyền các giá trị nhà cung cấp, nguyên liệu nhập, nhân viên kho sang
34 Trang GDNhapSL615.jsp gọi đến lớp HoaDonNhap615 để yêu cầu tạo 1 hoá đơn nhập mới
35 HoaDonNhap615 nhận dữ liệu và khởi tạo 1 hoá đơn nhập
36 HoaDonNhap615 trả dữ liệu cho trang GDXacNhan615.jsp
37 Trang GDNhapSL615.jsp hiển thị thông tin hoá đơn nhập gồm nhà cung cấp, nguyên liệu nhập, nhân viên kho
38 Nhân viên kho chọn xác nhận lưu hoá đơn ở trang GDNhapSL615.jsp
39 Trang GDNhapSL615.jsp gọi đến HoaDonNhapDAO615 để yêu cầu lưu hoá đơn
40 Lớp HoaDonNhapDAO615 gọi hàm createHoaDonNhap()
41.Xử lý createHoaDonNhap() , đến NguyenLieuNhapDAO615 yêu cầu xử lý lưu nguyên liệu nhập
43 xử lý hàm createNguyenLieuNhap(), gọi đến NguyenLieuDAO615 để yêu cầu xử lý cập nhật số lượng nguyên liệu
45 Hàm updateSoLuongNguyenLieu() thực hiện xong và trả về cho
46 NguyenLieuNhapDAO615 thực hiện xong lưu nguyên liệu nhập, trả về cho
47 HoaDonNhapDAO615 thực thiện xong hàm createHoaDonNhap() và trả về trang
48 Hiển thị thông báo thành công cho nhân viên kho
Hiển thị trang GDChinhNvKho615.jsp cho nhân viên kho f, với thiết kế hệ thống được triển khai theo cấu trúc các package như hình bên dưới.
Các lớp thực thể đặt chung trong gói model • Các lớp DAO615 đặt chung trong gói dao Các trang jsp để trong gói view
Gói view được chia nhỏ thành các gói nhỏ hơn tương ứng với các giao diện cho các người dùng khác nhau:
Trang DangNhap615 để ở gói view
Các trang cho chức năng liên quan đến khách hàng để ở gói kh
Các trang cho chức năng liên quan đến nhân viên kho để ở gói nv
Biểu đồ triển khai hệ thống: