2.2 Phân rã use case2.2.1 Phân rã Use Case Đăng nhập Hình 2.2: Phân rã Use Case Đăng nhập Mô tả Use-Case cho phép người dùng đăng nhập vào hệ thống để thực hiện chức năng của mình.. Use
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC
ĐỒ ÁN LẬP TRÌNH NET
Đ TI:
Quản lý quán ăn
Sinh viên thực hiện : LÊ HONG MINH
: ĐỖ XUÂN SƠN Giảng viên hướng dẫn : PHƯƠNG VĂN CẢNH Chuyên ngành : CÔNG NGHỆ PHẦN MM
Hà Nội , ngày 28 tháng 11 năm 2023
Trang 23 Form nhân viên
4 Form nguyên liệu
Trang 3Mục lục
Lời mở đầu 4
CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG V XÁC LẬP DỰ ÁN 5
1.1 Khảo sát 5
1.2 Yêu cầu chung của phần mềm 6
1.3 Mục tiêu phần mềm 7
1.4 Đối tượng người dùng 7
CHƯƠNG 2: PHÂN TÍCH V THIẾT KẾ HỆ THỐNG 8
2.1 Xác định các Actor và Use case tổng quát của hệ thống 8
2.1.1 Các Actor 8
2.1.2 Các Use Case 8
2.1.3 Use case tổng quát của hệ thống 8
2.2 Phân rã use case 9
2.2.1 Phân rã Use Case Đăng nhập 9
2.2.2 Phân rã Use Case Quản lý nhân viên 11
2.2.3 Phân rã Use Case Quản lý bán hàng 15
2.2.4 Phân rã Use Case Quản lý kho 19
2.2.5 Phân rã Use Case Báo cáo thống kê 24
2.3 Biểu đồ lớp 28
CHƯƠNG 3: THIẾT KẾ GIAO DIỆN 29
3.1 Thiết kế giao diện 29
Trang 4Lời mở đầu
Thời đại 4.0 ngày nay với sức mạnh đến từ khoa học công nghệ và internettoàn cầu, nó vẫn đang càng ngày càng tân tiến hơn và nâng cao áp dụng trong cuộcsống hàng ngày Và việc áp dụng khoa học công nghệ vào các lĩnh vực đời sốngkhiến khiến cho công việc trở nên dễ dàng và hiệu quả hơn rất nhiều
Quản lý một quán ăn là một nhiệm vụ phức tạp và quan trọng đối với cácdoanh nhân trong ngành thực phẩm và dịch vụ Với sự gia tăng của ngành côngnghiệp nhà hàng và quán ăn, nhu cầu về hiệu quả trong quản lý và dịch vụ kháchhàng ngày càng tăng cao Để đáp ứng những thách thức này, việc áp dụng hệ thốngthông tin hiện đại và ứng dụng công nghệ vào quản lý quán ăn đã trở thành mộtphần quan trọng của kinh doanh Đề tài này tập trung vào việc phân tích và thiết kếmột hệ thống quản lý quán ăn đơn giản dựa trên hướng đối tượng Hệ thống này sẽgiúp quản lý các hoạt động hàng ngày của quán ăn, từ việc ghi nhận đơn hàng,quản lý thực đơn, theo dõi tiến độ chế biến thức ăn, đến tạo hóa đơn và quản lýthông tin khách hàng
Và sau khi tìm hiểu kĩ càng, đây cũng chính là lí do chính để chúng emchọn đề tài này và đưa ra giải pháp cho đồ án “Phân tích thiết kế hệ thống hướngđối tượng: Quản lý quán ăn” Đồ án sử dụng kiến thức từ môn học Phân tích thiết
kế hệ thống hướng đối tượng kết hợp với UML làm nên tảng cho quá trình phântích hệ thống và xây dựng chương trình
Mục tiêu chính của đề tài này chính là hiểu rõ các yêu cầu cơ bản củaquán ăn và cách chúng có thể được quản lý hiệu quả bằng cách sử dụng hướng đốitượng, phân tích và thiết kế các lớp, đối tượng, và quan hệ giữa chúng để tạo nên
hệ thống quản lý quán ăn hướng đối tượng, xác định các chức năng cơ bản và tínhnăng của hệ thống quản lý quán ăn, hiện thực một số ví dụ và kịch bản để minh họacách sử dụng hệ thống này
Trang 5CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG V XÁC LẬP DỰ ÁN
1.1Khảo sát
Nhập hàng: Mỗi cuối tuần, người quản lý sẽ thống kê lại các mặt hàng sắp
hết, mặt hàng bán chạy trong kho và gửi yêu cầu nhập hàng tới nhà cungcấp Hàng sẽ được gửi sau khi người quản lý đồng ý và ký hợp đồng với nhàcung cấp
Quản lý: Kiểm soát hoạt động của nhà hàng, đảm bảo chất lượng dịch
vụ và thực phẩm, quản lý tài chính và nhân sự
Quản lý nhân sự:
Quán ăn gồm 9 nhân viên, 3 nhân viên phục vụ, 1 nhân viên thu ngân,
bộ phần bếp gồm 5 nhân viên (1 bếp trưởng, 2 đầu bếp, 1 phụ bếp, 1nhân viên vệ sinh)
Lương cơ bản của nhân viên trong quán là 5.000.000 VND/ tháng.Một tháng nhân viên được nghỉ phép tối đa 2 ngày, khi nghỉ thì phảibáo trước cho quản lý 1 ngày Nếu xin nghỉ việc thì phải báo trước 1tháng để quản lý có thể bổ sung nhân sự kịp thời
Lương của nhân viên sẽ được người quản lý tính vào cuối tháng, côngthức tính lương như sau:
Lương tháng = (Lương cơ bản + Lương chức vụ) / số ngày làm việc trong tháng x số ngày làm việc thực tế.
Trong đó:
o Lương cơ bản: 5.000.000
o Lương chức vụ:
Trang 6 Nhân viên phục vụ, phụ bếp, nhân viên vệ sinh:3.000.000
Nhân viên thu ngân: 4.000.000
Báo cáo thống kê: Người quản lý cửa hàng sẽ tổng hợp doanh thu dựa trên
các hóa đơn, để lập báo cáo định kỳ hàng tuần, hàng tháng, hàng quý,hàng năm Bộ phận bán hàng sẽ thống kê mặt hàng bán chạy, mặt hàngkhông bán chạy để quản lý lập phương hướng phát triển của của hàng.Người quản lý thống kê hàng hóa sắp hết hạn trong kho để lên phươnghướng giải quyết
o Tốn nhiều thời gian để tổng hợp, báo cáo, thống kê
o Khó phát triển được trong tương lai, khi cửa hàng muốn mở rộng, và khi lượng khách hàng tăng
Cách khắc phục: xây dựng phần mềm quản lý quán ăn
1.2 Yêu cầu chung của phần mềm
Khắc phục các được các nhược điểm của hệ thống cũ
Phần mềm được cài trên hệ điều hành Windows
Dễ sử dụng, có thể dùng được mọi lúc, mọi nơi
Trang 7 Tối ưu cơ sở dữ liệu, tiết kiệm bộ nhớ.
Có cơ chế sao lưu phục hồi dữ liệu, đảm bảo an toàn lưu trữ dữ liệu
Tốc độ tra cứu thông tin, và độ chuẩn xác cao
Bảo mật tốt, chỉ làm việc với quyền sử dụng
1.3 Mục tiêu phần mềm
Phần mềm phải đảm bảo được các chức năng:
Quản lý kho: quản lý thông tin nhà cung cấp, quản lý nhập hàng.
Quản lý nhân viên: quản lý thông tin nhân viên, quản lý chấm công nhân
viên
Quản lý bán hàng: quản lý hóa đơn khách hàng, quản lý thông tin món ăn.
Báo cáo thống kê: thống kê doanh thu theo tuần, quý, tháng; thống kê hàng
tồn trong kho (hàng sắp hết, hàng bán chạy)
1.4 Đối tượng người dùng
Chủ quản lý cửa hàng, nhân viên thu ngân
Trang 8CHƯƠNG 2: PHÂN TÍCH V THIẾT KẾ HỆ THỐNG
2.1 Xác định các Actor và Use case tổng quát của hệ thống
Xem danh sách hóa đơn
Tạo hóa đơn
Quản lý món ăn
Thống kê doanh thu
Thống kê tồn kho
Thống kê bán chạy
2.1.3 Use case tổng quát của hệ thống
Hình 2.1: Use Case tổng quát
Trang 92.2 Phân rã use case
2.2.1 Phân rã Use Case Đăng nhập
Hình 2.2: Phân rã Use Case Đăng nhập
Mô tả Use-Case cho phép người dùng đăng nhập vào hệ thống để
thực hiện chức năng của mình
Điều kiện kích hoạt Khi người dùng chọn chức năng đăng nhập từ trang chủ
của hệ thống
Tiền điều kiện Người dùng phải có tài khoản trên hệ thống
Hậu điều kiện Người dùng đăng nhập thành công
Luồng sự kiện chính 1 Hệ thống hiển thị màn hình đăng nhập
2 Người dùng nhập tên đăng nhập và mật khẩu
3 Hệ thống hiển thị kiểm tra thông tin đăng nhập
4 Nếu thành công hệ thống hiển thị màn hình đăng nhập thành công
5 Kết thúc Use-Case
Luồng sự kiện phụ A1- Chưa có tài khoản: Khi người dùng chưa có tài
khoản và muốn đăng ký tài khoản
1 Hệ thống hiển thị màn hình đăng ký tài khoản đểngười dùng nhập thông tin cá nhân
Trang 102 Người dùng nhập thông tin cá nhân và ấn nút đăngký.
3 Hệ thống gửi mã xác thực đến SĐT hoặc emailngười dùng
4 Sau khi nhập mã xác thực, quay lại bước hai trongluồng sự kiện chính
A2 – Mật khẩu không hợp lệ: Khi người dùng nhập sai
tên đăng nhập và mật khẩu
1 Hệ thống hiển thị lại màn hình đăng nhập để người dùng nhập lại thông tin kèm theo thông báo tên đăng nhập và mật khẩu bị sai
2 Quay lại bước hai trong luồng sự kiện chính
A3 – Quên mật khẩu: Khi người dùng chọn chức năng
quên mật khẩu trên màn hình đăng nhập
1 Hệ thống hiển thị màn hình để người dùng nhập email
2 Người dùng nhập email và chọn nút chức năng lấy lại mật khẩu
3 Hệ thống kiểm tra email hợp lệ và gửi mã xác thực
để reset mật khẩu cho người dùng qua email
4 Hệ thống hiển thị mà hình thông báo thành công
5 Use-Case kết thúc
Hình 2.3: Đặc tả Use Case Đăng nhập
Trang 11Hình 2.4: Trình tự Use Case Đăng nhập
2.2.2 Phân rã Use Case Quản lý nhân viên
Hình 2.5: Phân rã Use Case Quản lý nhân viên
Trang 12Use case Nội dung
Tên use case Chỉnh sửa nhân viên
Mô tả Use case cho phép người dùng chỉnh sửa thông tin nhân
viên (bao gồm thêm, sửa, xoá)
Use case liên quan Đăng nhập
Điều kiện kích hoạt Người dùng ấn vào chức năng “Nhân viên/Chỉnh sửa
nhân viên”
Tiền điều kiện Người dùng phải có tài khoản admin
Hậu điều kiện Người dùng chỉnh sửa nhân viên thành công
Luồng sự kiến chính 1 Hệ thống hiển thị màn hình đăng nhập
2 Người dùng đăng nhập thành công vào hệ thống
3 Người dùng ấn vào chức năng “Nhân viên”
4 Người dùng chọn chức năng “Chỉnh sửa nhân viên”
5 Người dùng chọn chức năng thêm, sửa, xoá
6 Người dùng ấn lưu
7 Use case kết thúcLuồng sự kiện phụ A1: Lỗi không thể thêm, sửa, xoá nhân viên: do nhập
sai thông tin hoặc không đúng trường dữ liệu, xung đột csdl, lỗi mạng
1 Hệ thống hiển thị thông báo lỗi
2 Người dùng kiểm tra lại thông tin
3 Quay lại bước 5 luồng sự kiện chínhHình 2.6: Đặc tả Use Case Chỉnh sửa nhân viên
Trang 13Hình 2.7: Trình tự Use Case Chỉnh sửa nhân viên
Tên use case Quản lý chấm công
Mô tả Use case cho phép người dùng quản lý thông tin về số
ngày công, lương của nhân viên
Use case liên quan Đăng nhập, Tìm kiếm nhân viên
Điều kiện kích hoạt Khi người dùng ấn vào chức năng Quản lý chấm côngTiền điều kiện Người dùng phải có tài khoản admin
Hậu điều kiện Người dùng chỉnh sửa thành công
Luồng sự kiện chính 1 Hệ thống hiển thị màn hình đăng nhập
2 Người dùng đăng nhập thành công vào hệ thống
Trang 143 Người dùng chọn chức năng Nhân viên
4 Người dùng chọn chức năng Quản lý chấm công
5 Người dùng thêm, chỉnh sửa hoặc xoá thông tin chấmcông
6 Người dùng ấn lưu sau khi chỉnh sửa
7 Use case kết thúcLuồng sự kiện phụ A1; Lỗi không thể lưu: do nhập sai trường thông tin
hoặc bỏ trống
1 Hệ thống thông báo lỗi cho người dùng
2 Người dùng kiểm tra lại thông tin
3 Quay lại bước 6 luồng sự kiện chínhHình 2.8: Đặc tả Use Case Quản lý chấm công
Hình 2.9: Trình tự Use Case Quản lý chấm công
Trang 152.2.3 Phân rã Use Case Quản lý bán hàng
Hình 2.10: Phân rã Use Case Quản lý bán hàng
Tên Use Case Quản lý thông tin món ăn
Mô tả Cho phép người dùng xem và chỉnh sửa thông tin
của món ăn
Điều kiện kích hoạt Chỉ có người quản lý mới có thể sử dụng chức năng
nàyHậu điều kiện Người quản lý đăng nhập thành công
Luồng sự kiện chính 1 Người quản lý đăng nhập thành công
2 Người quản lý chọn chức năng Quản lý món ăn
3 Hệ thông hiển thị danh sách món ăn và cho
Trang 16phép người quản lý thêm, sửa, xóa.
4 Nếu chọn xóa, người dùng chọn vào món ăn bất kỳ trong danh sách và ấn xóa, hệ thống báo xóa thành công
5 Nếu chọn thêm hoặc sửa, hệ thống hiển thị form điền thông tin món ăn, sau khi điền thông tin, ấn thêm/sửa, hệ thống báo thêm/sửathành công
6 Use case kết thúc
Hình 2.11: Đặc tả Quản lý thông tin món ăn
Hình 2.12: Trình tự Use Case Quản lý thông tin món ăn
Trang 17Use Case Nội dung
Tên Use Case Xem danh sách hóa đơn
Mô tả Cho phép người dùng xem chỉnh sửa thông tin của
hóa đơn
Điều kiện kích hoạt Chỉ có người quản lý mới có thể sử dụng chức năng
nàyHậu điều kiện Người quản lý đăng nhập thành công
Luồng sự kiện chính 1 Người quản lý đăng nhập thành công
2 Người quản lý chọn chức năng xem danh sách
hóa đơn
3 Hệ thông hiển thị danh sách hóa đơn
4 Use case kết thúcHình 2.13: Đặc tả Xem danh sách hóa đơn
Hình 2.14: Trình tự Use Case Xem danh sách hóa đơn
Trang 18Use Case Nội dung
Mô tả Cho phép người dùng tạo và in hóa đơn
Điều kiện kích hoạt Người dùng phải là người quản lý và nhân viên thu
ngânHậu điều kiện Người dùng đăng nhập thành công
Luồng sự kiện chính 1 Người dùng đăng nhập thành công
2 Người dùng chọn chức năng tạo hóa đơn
3 Hệ thông hiển thị danh sách món ăn, danh sách bàn
4 Người dùng chọn bàn, sau đó chọn các món
ăn mà bàn đó đặt
5 Sau khi khách hàng ăn song, người dùng chọn
in để in phiếu tạm tính cho khách hàng thanh toán
6 Sau khi khách hàng thanh toán xong, người dùng ấn thanh toán, hệ thống sẽ xuất ra hóa đơn để gửi lại khách hàng, đồng thời làm mới bàn đó
7 Use case kết thúcHình 2.15: Đặc tả Tạo hóa đơn
Hình 2.16: Trình tự Use Case Tạo hóa đơn
Trang 192.2.4 Phân rã Use Case Quản lý kho
Hình 2.17: Phân rã Use Case Quản lý kho
Tên use case Quản lý nhà cung cấp
Mô tả Use case cho phép người dùng chỉnh sửa thông tin nhà
cung cấp (thêm, sửa, xoá)
Use case liên quan Đăng nhập
Điều kiện kích hoạt Người dùng chọn chức năng “Giao dịch/Nhà cung cấp”Tiền điều kiện Người dùng phải có tài khoản admin
Hậu điều kiện Đăng nhập và chỉnh sửa thông tin thành công
Luồng sự kiện chính 1 Hệ thống hiển thị màn hình đăng nhập
2 Người dùng đăng nhập thành công vào hệ thống
Trang 203 Người dùng chọn chức năng Giao dịch
4 Người dùng chọn chức năng Nhà cung cấp
5 Người dùng nhập dữ liệu theo các trường tương ứng(có thể tìm kiếm ncc)
6 Người dùng ấn lưu để lưu thông tin
7 Use case kết thúcLuồng sự kiện phụ A1: Lỗi không thể lưu thông tin nhà cung cấp: do nhập
sai trường thông tin hoặc để trống
1 Hệ thống thông báo lỗi cho người dùng
2 Người dùng kiểm tra lại thông tin vừa nhập
3 Quay lại bước 5 luồng sự kiện chínhHình 2.18: Đặc tả Use Case Quản lý nhà cung cấp
Hình 2.19: Trình tự Use Case Quản lý nhà cung cấp
Mô tả Use case cho phép người dùng lập phiếu nhập hàng để
Trang 21đưa cho nhà cung cấp về chi tiết mặt hàng cần nhập
Use case liên quan Đăng nhập, quản lý nhà cung cấp
Điều kiện kích hoạt Người dùng chọn chức năng Giao dịch/Tạo phiếu nhậpTiền điều kiện Người dùng phải có tài khoản trên hệ thống
Hậu điều kiện Người dùng tạo phiếu nhập thành công
Luồng sự kiện chính 1 Hệ thống hiển thị giao diện đăng nhập
2 Người dùng đăng nhập thành công vào hệ thống
3 Người dùng chọn chức năng Giao dịch
4 Người dùng chọn chức năng Tạo phiếu nhập
5 Người dùng nhập các thông tin trên mẫu phiếu nhập
6 Người dùng chọn lưu phiếu nhập
7 Use case kết thúcLuồng sự kiện phụ A1: Không xuất được phiếu nhập: do phiếu bị trống
1 Hệ thống hiển thị lỗi trên giao diện hệ thống
2 Người dùng kiểm tra lại
3 Quay lại bước 5 luồng sự kiện chínhHình 2.20: Đặc tả Use Case Tạo phiếu nhập
Trang 22Hình 2.21: Trình tựu Use Case Tạo phiếu nhập
Tên use case Sửa thông tin nguyên liệu
Mô tả Use case cho phép người dùng thay đổi số lượng của
nguyên liệu, đơn vị tính, tên nguyên liệu
Use case liên quan Đăng nhập
Điều kiện kích hoạt Người dùng chọn chức năng Nguyên liệu
Tiền điều kiện Người dùng phải có tài khoản admin trên hệ thốngHậu điều kiện Người dùng lưu thông tin chỉnh sửa thành côngLuồng sự kiện chính 1 Hệ thống hiển thị giao diện đăng nhập
2 Người dùng đăng nhập thành công vào hệ thống
3 Người dùng chọn chức năng Nguyên liệu
4 Người dùng có thể tìm kiếm nguyên liệu cần sửa
5 Người dùng nhập các thông tin trên form sửa
6 Người dùng chọn lưu
Trang 237 Use case kết thúcLuồng sự kiện phụ A1: Không lưu được thông tin: do thông tin nguyên
liệu bị trống
1 Hệ thống hiển thị lỗi trên giao diện hệ thống
2 Người dùng kiểm tra lại
3 Quay lại bước 5 luồng sự kiện chínhHình 2.22: Đặc tả Use Case Sửa thông tin nguyên liệu
Hình 2.23: Trình tự Use Case Sửa thông tin nguyên liệu
Trang 242.2.5 Phân rã Use Case Báo cáo thống kê
Hình 2.24: Phân rã Use Case Báo cáo thống kê
Trang 25Use Case Nội dung
Tên Use Case Thống kê doanh thu
Mô tả Cho phép người dùng xem thông tin về doanh thu
của quán ăn
Điều kiện kích hoạt Chỉ người quản lý mới sử dụng được tính năng nàyHậu điều kiện Người dùng đăng nhập thành công
Luồng sự kiện chính 1 Người quản lý đăng nhập thành công
2 Người quản lý chọn chức năng thống kê doanh thu
3 Hệ thông hiển thị thống kê doanh thu theo vănbản (mặc định), người quản lý có thể chọn hiển thị theo biểu đồ, thống kê theo tuần, tháng, năm
4 Use case kết thúcHình 2.25: Phân rã Use Case Thống kê doanh thu
Hình 2.26: Trình tự Use Case Thống kê doanh thu