TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO BÀI TẬP LỚN
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNGĐề tài:
QUẢN LÝ QUÁN CÀ PHÊ
Giảng viên hướng dẫn : TS Nguyễn Thanh BìnhNhóm sinh viên thực hiện : Nhóm 4
2019314420193102
Trang 2LỜI MỞ ĐẦU
Trong thời đại công nghệ số hóa phát triển vượt bậc như hiện nay, việc sử dụngphần mềm quản lý là một yếu tố quan trọng đối với nhiều doanh nghiệp, trong đó cócác quán cà phê Quản lý quán cà phê hiệu quả không chỉ giúp cải thiện hiệu suấthoạt động, tối ưu hóa tài nguyên, mà còn mang lại sự tiện lợi cho khách hàng và tạonên sự cạnh tranh trong ngành công nghiệp dịch vụ.
Trong báo cáo môn "Lập trình nâng cao", chúng em xin trình bày về quá trìnhphân tích và thiết kế hệ thống quản lý quán cà phê sử dụng phương pháp hướng đốitượng Đề tài này không chỉ là một bài tập thực hành mà còn là một bước tiến đángkể trong việc áp dụng các nguyên tắc và kỹ thuật của lập trình hướng đối tượng vàoviệc giải quyết các vấn đề thực tế.
Chúng em đã tiến hành nghiên cứu sâu về hoạt động và quy trình quản lý trongmột quán cà phê, từ việc ghi nhận thông tin khách hàng, đặt hàng, thanh toán, quảnlý nhân viên và kho hàng, đến việc tạo ra báo cáo và thống kê Đồng thời, chúng emcũng xây dựng một phần mềm quản lý quán cà phê dựa trên phân tích và thiết kếhướng đối tượng, nhằm cung cấp một giải pháp ứng dụng thực tế cho các chủ quáncà phê.
Chúng em xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Thanh Bình - ngườiđã tận tâm và cống hiến trong việc hướng dẫn và hỗ trợ chúng tôi trong quá trìnhnghiên cứu và thực hiện đề tài này Thầy đã chia sẻ những kiến thức, kinh nghiệmvà phương pháp học tập quý báu, giúp chúng tôi hiểu rõ hơn về phân tích và thiết kếhướng đối tượng, và áp dụng chúng vào dự án của chúng tôi Sự hướng dẫn tận tâmcủa Thầy đã góp phần không nhỏ vào sự hoàn thiện của báo cáo này.
Xin chân thành cảm ơn.
Trang 32.2.2 Mô tả các Usecase chi tiết ……… 11
2.3 Mô hình hóa cấu trúc……….19
3.3.2 Chuyển sơ đồ thực thể liên kết về Mô hình dữ liệu quan hệ………39
3.3.3 Chuẩn hóa dữ liệu……….40
3.3.4 Sơ đồ lớp……… 44
3.3.5 Sơ đồ đối tượng……….44
3.3.5 Cài đặt cơ sở dữ liệu……… 45
3.4 Kết quả triển khai cài đặt phần mềm……… 45
CHƯƠNG 4 KẾT LUẬN………
Trang 4MỤC LỤC HÌNH ẢNH
Hình 1 Sơ đồ cơ cấu tổ chức 7
Hình 2 Sơ đồ chu trình nghiệp vụ tổng quan 17
Hình 5 Sơ đồ Use Case Bán hàng và Mở thẻ khách hàng 22
Hình 6 Sơ đồ hoạt động mở thẻ khách hàng 24
Hình 7 Sơ đồ hoạt động đặt bàn 26
Hình 8 Sơ đồ hoạt động gọi đồ uống 28
Hình 9 Sơ đồ hoạt động thanh toán 30
Hình 10 Sơ đồ lớp 38
Hình 11 Sơ đồ đối tượng 39
Hình 12 Sơ đồ tuần tự đặt bàn 40
Hình 13 Chi tiết class Ban 44
Hình 14 Chi tiết class NhomDoUong 44
Hình 15 Chi tiết class DoUong 45
Hình 16 Chi tiết class TaiKhoan 45
Hình 17 Chi thiết class NhanVien 45
Hình 18 Chi tiết class ChucVu 46
Hình 19 Chi tiết class KhachHang 46
Hình 20 Chi tiết class TheKhachHang 46
Hình 21 Chi tiết class HoaDonBan 47
Hình 22 Chi tiết class GoiDoUong 47
Trang 5Bảng 8 Công việc Workplane 13
Bảng 9 Từ điển dữ liệu Đồ uống 18
Bảng 10 Từ điển dữ liệu Nhân viên 19
Bảng 11 Từ điển dữ liệu Tài khoản 19
Bảng 12 Từ điển dữ liệu Hóa đơn bán 19
Bảng 13 Từ điển dữ liệu Hóa đơn nhập 20
Bảng 14 Từ điển dữ liệu Nguyên liệu 21
Bảng 15 Use case Mở thẻ khách hàng 22
Bảng 16 Use case Đặt bàn 24
Bảng 17 Use case Gọi đồ uống 26
Bảng 18 Use case Thanh toán 28
Trang 7CHƯƠNG 1.TỔNG QUAN DỰ ÁNCơ cấu dự án
Thực trạng của hệ thống :
- Cơ cấu tổ chức: Hệ thống quản lí quán cà phê dựa trên cơ sở tham khảonhững chuỗi của hàng café nhượng quyền nổi tiếng đang phát triển nhưHighlands Coffee, Phúc Long Coffee, The Coffee House…
- Cơ cấu nhân sự:
Hình 1 Sơ đồ cơ cấu tổ chứcBảng 1 Cơ cấu nhân sự
Nhiệm vụ
1 Người quản lý 1 Quản lý nhân viên
Quản lý thực đơn, quản lý nhómmón, số lượng bàn của quán. Thống kê doanh số bán hàng (số
lượng bán của mặt hàng, doanh thucủa cửa hang, có thể thống kê theo ngày tuỳ chọn).
2 Nhân viên phachế
4 Pha chế đồ uống
Trang 83 Nhân viên phụcvụ
4 Phục vụ đồ uống cho khách hàng Luân chuyển thông tin giữa khách
hàng, nhân viên thu ngân và nhânviên pha chế
4 Nhân viên thu ngân
2 Tiếp nhận thông tin từ nhân viênphục vụ
Thao tác trên phần mềm: đặt bàn,gọi món, thanh toán
5 Nhân viên kho 1 Theo dõi, cập nhật số lượng nguyênliệu
Quản lý hóa đơn nhập nguyên liệu
1.2 Nghiệp vụ hệ thống
Hình 2 Nghiệp vụ hệ thống tổng quan
Thông qua quát sát thấy được quán gồm có người quản lý, nhân viên phụtrách nguyên liệu, nhân viên phục vụ, nhân viên thu ngân và nhân viên pha chế.Quán cà phê gồm có các nghiệp vụ bán hàng, quản lý nhân viên, quản lý đồ uống(menu), quản lý nguyên liệu và thống kê.
a Bán hàng
Trang 9Khi khách hàng lựa chọn bàn để ngồi, nhân viên phục vụ sẽ đưa menu củaquán cho khách.
Trong thời gian khách hàng chọn món nhân viên ghi lại số bàn vào giấy oder,đến khi khách gọi món thì ghi tên món và số lượng vào giấy Sau đó nhân viên phụcvụ chuyển thông tin cho nhân viên thu ngân và nhân viên pha chế Liên 1 cho thungân, liên 2 cho pha chế Tại đây nhân viên thu ngân nhập thông tin trên giấy vàohệ thống.
Nếu khách hàng có nhu cầu chuyển bàn khác thì nhân viên phục vụ sẽ ghi lạibàn khách hàng muốn chuyển đồng thời báo cho nhân viên thu ngân để thao tác trênhệ thống.
Khi thanh toán, nếu khách hàng có thẻ khách hàng, thu ngân sẽ lấy thông tinthẻ, để hệ thống tự động triết khấu Dựa vào đơn giá của lần thanh toán đó, kháchhàng sẽ được cộng thêm điểm vào thẻ khách hàng để tiếp sử dụng trong những lầnsau.
Thu ngân có nhiệm vụ mở bàn, nhập thông tin trên giấy order tên hàng hóa,số lượng mà nhân viên phục vụ đã ghi, thanh toán, in hóa đơn.
b Cấp thẻ khách hàng:
Có 2 kiểu khách hàng là mở thẻ và không mở thẻ tại quán Nếu khách hàngkhông mở thẻ thì không cần lưu thông tin trong hệ thống Còn khách hàng mở thẻsẽ chia làm 2 mức, thẻ member và thẻ vip Khách hàng có nhu cầu mở thẻ thì nhânviên thu ngân tiến hành lưu thông tin liên hệ, lúc này khách hàng ở mức member vàbắt đầu tích điểm, cứ mỗi 10.000đ thanh toán là được cộng 1 điểm Sau khi tíchđược 10 điểm khách hàng được nâng lên thẻ vip Lúc này khách hàng tiếp tục tíchđiểm và có thể quy đổi điểm tích lũy thành tiền 1 điểm bằng 2.000đ để giảm giátrong những lần thanh toán sau đó.
Trang 10c Tuyển dụng nhân viên:
Quản lý nhân viên theo vai trò, như nhân viên phục vụ, thu ngân, pha chế,nhân viên kho (phụ trách nguyên liệu).
Người quản lý chia ca làm theo ngày, giờ Sau đó sắp xếp nhân viên vào calàm tương ứng Ở mỗi ca làm sẽ có chấm công cho từng nhân viên Lương của nhânviên sẽ được thanh toán vào cuối tháng.
d Quyết định menu:
Menu, thực đơn của quán được xây dựng dựa trên thương hiệu, lợi nhuận,nguyên liệu, và khả năng pha chế Quản lý sẽ là người quyết định menu.
e Nhập xuất nguyên liệu:
Việc quán tích trữ, mua nguyên liệu phụ thuộc vào nhu cầu và hạn sử dụngcủa chúng Người quản lý sẽ quyết định nhập loại nào và nhập với số lượng baonhiêu Nhân viên phụ trách nguyên liệu sẽ phải theo dõi tình trạng nguyên liệu, kịpthời báo cáo cho quản lý khi nguyện liệu quá hạn hoặc số lượng không đủ Khi đónhân viên phụ trách nguyên liệu lập hóa đơn nhập Sau mỗi lần mang nguyên liệu đipha chế phải cập nhật lại số lượng.
f Thống kê:
Người quản lý có thể thống kê doanh thu theo ngày, tháng, năm tùy thuộcvào nhu cầu Tính tổng tiền lương, chi phí nhập nguyên liệu Ngoài ra cònthống kê các đồ uống bán được nhiều.
- Mục đích của dự án
Với mong muốn giải quyết được các vấn đề đang gặp phải ở trên các mục đíchmà dự án thiết kế Phần mềm quản lý quán cà phê:
Tiết kiệm thời gian, công sức cho nhân viên.
Tránh được các sai sót và nhầm lẫn trong quá trình gọi món , đặt bàn Tạo sự tiện nghi, tiết kiệm thời gian gọi món cho khách đến quán
Tăng độ chính xác, thuận tiện cho việc quản lý sản phẩm, quản lý doanh số và quản lý nhân viên
Giao diện thân thiện với người sử dụng. An toàn bảo mật thông tin người sử dụng.
Hệ thống cơ cấu tổ chức phải được đảm bảo chặt chẽ hơn, làm việc hiệu quả khoa học
Trang 12Hình 3 Sơ đồ Use Case Bán hàng và Mở thẻ khách hàng
2.2.2 Mô tả các Use case chi tiết
Bảng 15 Use case Mở thẻ khách hàng
Use case name: Mở thẻ khách hàngImportance Level: caoPrimary Actor: Nhân viên thu ngânUse Case Type: Detail, essentialStakecholders and Interests:
Mở thẻ
Thông tin cá nhân của khách hàng
Brief Description: Use case nhân viên thực hiện các thao tác liên quan đến việc
tạo thẻ cho khách hàng nếu khách muốn có thẻ thành viên
Trigger: Khi nhân viên thu ngân bán hàng của quánRelationships:
Trang 13Association: Nhân viên thu ngân Include: Thông tin khách hàng Extend:
Generalization:Nomal Flow of Events:
Nhân viên thu ngân hỏi khách hàng có mở thẻ hay không
Nếu khách hàng muốn làm thẻ, cung cấp thông tin của mình cho nhân viên thu ngân
Sau khi nhận được thông tin, nhân viên thu ngân tạo thẻ rồi đưa thẻ cho khách hàng
Altermate/Exceptional Flows:
Trang 14Hình 4 Sơ đồ hoạt động mở thẻ khách hàng
Bảng 16 Use case Đặt bàn
Primary Actor: Nhân viên thu ngânUse Case Type: Detail, essentialStakecholders and Interests:
Bán hàng, đặt bàn, chuyển bàn, gộp bàn
Khách hàng chọn bàn, chọn đồ uống từ menu, nhân viên
Brief Description: Use case cho phép nhân viên thu ngân thực hiện các thao tác
liên quan đến đặt bàn, chuyển bàn, hủy bàn.
Trang 15Trigger: Khách hàng chọn bànRelationships:
Association: Nhân viên thu ngân
Include: Xếp bàn, đặt bàn, chuyển bàn, gộp bàn, oder, check bàn trống hay bận,Extend:
Generalization:Nomal Flow of Events:
Trang 16Hình 5 Sơ đồ hoạt động đặt bàn
Bảng 17 Use case Gọi đồ uống
Primary Actor: Nhân viên thu ngân, nhân
viên phục vụ, nhân viên pha chế Use Case Type: Detail, essential
Stakecholders and Interests:
Khách hàng gọi đồ uống
Trang 17 Nhân viên xác nhận đồ uống theo ý kiến của khách hàng
Xác nhận lựa chọn của khách hàng vào phần mềm và tiến hành pha chế
Brief Description: Khách hàng gọi đồ uống từ nhân viên phục vụ , sau đó nhân
viên thu ngân sẽ nhập vào phần mềm, nhân viên pha chế tiến hành pha chế
Trigger: Khách hàng gọi đồ uốngRelationships:
Association: Nhân viên.
Include: Đặt đồ uống cho khách hàngExtend:
Generalization:Nomal Flow of Events:
Khách hàng gọi đồ uống
Nhân viên phục vụ ghi lại lựa chọn của khách hàng
Chuyển lựa chọn của khách hàng đến nhân viên thu ngân nhập vào phần mềm và nhân viên pha chế tiến hành pha chế đồ uống.
Nhân viên phục vụ mang đồ uống ra cho khách hàng
Subflows: Gọi thêm đồ uống khác
Altermate/Exceptional Flows: Khách hàng có thể gọi nhân viên để hủy đồ uống
Trang 18Hình 6 Sơ đồ hoạt động gọi đồ uống
Bảng 18 Use case Thanh toán
Primary Actor: Nhân viên thu ngânUse Case Type: Detail, essentialStakecholders and Interests:
Khách hàng đọc số bàn
Nhân viên hỏi về thẻ khách hàng
Nhân viên đưa hóa đơn cho khách hàng
Brief Description: Khách hàng yêu cầu thanh toán, nhân viên sẽ trừ các khuyến
mãi, điểm thưởng rồi đưa ra hóa đơn cuối cùng
Trigger: Khách hàng yêu cầu thanh toánRelationships:
Association: Nhân viên.
Include: - Thanh toán theo bàn
- Tích điểm
- Trừ điểm tích lũy
Trang 19Generalization:Nomal Flow of Events:
Khách hàng yêu cầu thanh toán Nhân viên yêu cầu số bàn Nhân viên xin thẻ khách hàng Xác nhận đơn hàng của khách hàng
Nhân viên tính toán hóa đơn cuối cùng cho khách hàng Nhân viên thu tiền, xác nhận thanh toán
Subflows: Gọi thêm đồ uống khác, thanh toán cho bàn khácAltermate/Exceptional Flows: - thanh toán bằng thẻ
Trang 20Hình 7 Sơ đồ hoạt động thanh toán
Mô hình hóa cấu trúc
Bảng 19 CRC Bàn
Trang 21Description: Là đối tượng lưu trữ trạng thái
đặt bàn
Associated Use Cases: Đặt bànResponsibilities:
- Cung cấp số thứ tự bàn- Cung cấp tên bàn
- Cung cấp trạng thái bàn trống hayđầy
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other association:
Bảng 20 CRC Hóa đơn bán
Description: Là đối tượng lưu trữ thông tin
- ID
- Nhân viên_ID- Số bàn
- Thẻ khách hàng
Trang 22- Thời gian bắt đầu- Thời gian kết thúc- Giảm giá
- Tổng tiền- Ghi chú- Tạo hóa đơn- Thanh toán
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Description: Là đối tượng lưu trữ cụ thể mỗi
- ID
- Hoá đơn bán- Đồ uống- Giá tiền- Số lượng- Thời gian gọi- Gọi đồ uống()- Đổi đồ uống()- Hủy đồ uống ()
Trang 23Description: Là đối tượng lưu trữ thông tin
cụ thể về tên các đồ uống Associated Use Cases: Bán hàng
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other association:
Bảng 23 CRC Đồ uống
Description: Là đối tượng lưu trữ thông tin
hóa đơn
Associated Use Cases: Gọi đồ uốngRealationships:
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Trang 24- ID
- Nhóm đồ uống- Tên đồ uống- Hình ảnh- Mô tả
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Bảng 24 CRC Nhân viên
Description: Là đối tượng lưu trữ thông
tin nhân viên Associated Use Cases: Mở thẻ khách hàng, đặt bàn, gọi đồ, thanh toán
- ID- Tên- Chức vụ- Số điện thoại- Năm sinh- Địa chỉ- Tài khoản
Trang 25- Ngày vào làm
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Bảng 25 CRC Tài khoản
Description: Là công cụ truy cập vào hệ
thống của nhân viên Associated Use Cases: Mở thẻ khách hàng,đặt bàn , gọi đồ uống, thanh toán
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Trang 26Bảng 26 CRC Chức vụ
Description: là đối tượng phân chia nhiệm vụ
quyền hạn của 1 người
Associated Use Cases: Mở thẻ khách
hàng, Đặt bàn, gọi đồ, thanh toán
- Cung cấp chức vụ 1 người- Cung cấp quyền hạn của 1 người- Quy định nhiệm vụ của nhân viên
- Nhân viên
- ID- Chức vụ
- Generalization(a-kind-of):- Aggregation(hast –parts):- Other Associations:
Bảng 27 CRC Khách hàng
Description: là đối tượng chứa thông tin
khách hàng Associated Use Cases: Mở thẻ khách hàng, đặt bàn , gọi đồ, thanh toán
- Cung cấp số thẻ khách hàng- Cung cấp số điện thoại khách hàng- Cung cấp tên khách hàng
Thẻ khách hàng
Trang 27- ID- Họ tên- Số điện thoại- Số thẻ khách hàng- Địa chỉ
- Thêm khách hàng
- Generalization(a-kind-of): thẻ khách hàng- Aggregation(hast –parts):
Hoá đơn bán Khách hàng
- ID- Tên thẻ- Điểm tích lũy- Khách hàng- Tích điểm- Chiết khấu- Mở thẻ
- Generalization(a-kind-of):
- Aggregation(hast –parts): khách hàng- Other association:
Trang 282.4Xây dựng sơ đồ tuần tự (sequence diagram)
Hình 8 Sơ đồ tuần tự đặt bàn
Mô tả sơ đồ:
1 Nhân viên thu ngân chọn bàn, kiểm tra trạng thái bàn2 Bàn trống => mở bản và thay đổi trạng thái bàn
Trang 29Hình 9 Sơ đồ tuần tự Gọi đồ uống
Mô tả sơ đồ :
1 Nhân viên tạo hóa đơn bán , cập nhập trạng thái hóa đơn2 Lụa chọn nhóm đồ uống => đồ uống của khách hàng3 Chuyển sang phần gọi đồ và nhập số lượng
4 Cập nhập số lượng và đồ uống vào hóa đơn
Trang 30Hình 10 Sơ đồ tuần tự Thanh toán
Mô tả hoạt động :
1 Nhân viên chọn thanh toán
2 Nhập thông tin thẻ khách hàng nếu có
3 Nếu có thẻ khách hàng thì xem xét giảm giá / chiết khấu của khách hàng4 Trả về trạng thái của hóa đơn
Trang 32CHƯƠNG 3 THIẾT KẾThiết kế chi tiết các lớp
Package Models
Hình 12 Chi tiết class Ban
Hình 13 Chi tiết class NhomDoUong
Trang 33Hình 14 Chi tiết class DoUong
Hình 15 Chi tiết class TaiKhoan
Hình 16 Chi thiết class NhanVien
Trang 34Hình 17 Chi tiết class ChucVu
Hình 18 Chi tiết class KhachHang
Hình 19 Chi tiết class TheKhachHang
Trang 35Hình 20 Chi tiết class HoaDonBan
Hình 21 Chi tiết class GoiDoUong
3.2Từ điển dữ liệu
Tên thuộc tính, tên dữ liệu, kiểu dữ liệu, mô tả, ví dụa) Đồ uống
Bảng 9 Từ điển dữ liệu Đồ uống
Mã đồ uống Định danh từng sản phẩm Sp0001