Luận văn Xây dựng phần mềm quản lý quán cà phê

pdf 78 trang thiennha21 14/04/2022 5901
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Xây dựng phần mềm quản lý quán cà phê", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_xay_dung_phan_mem_quan_ly_quan_ca_phe.pdf

Nội dung text: Luận văn Xây dựng phần mềm quản lý quán cà phê

  1. TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT CÔNG NGHỆ LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ Sinh viên thực hiện Cán bộ hướng dẫn Hồ Thanh Thảo Uyên ThS. Nguyễn Chí Cường 13D480201110 Cần Thơ, 2017
  2. TRƯỜNG ĐẠI HỌC TÂY ĐÔ KHOA KỸ THUẬT CÔNG NGHỆ LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN CÀ PHÊ Sinh viên thực hiện Cán bộ hướng dẫn Hồ Thanh Thảo Uyên ThS. Nguyễn Chí Cường 13D480201110 Cán bộ phản biện ThS. Lê Thị Thu Lan Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Công Nghệ Thông Tin, Khoa Kỹ Thuật Công Nghệ, Trường Đại Học Tây Đô vào ngày 16 tháng 05 năm 2017. Mã số đề tài: Có thể tìm hiểu luận văn tại: • Thư viện: trường Đại Học Tây Đô • Website:
  3. BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC TÂY ĐÔ Độc lập – Tự do – Hạnh phúc CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG Luận văn đại học Xây dựng phần mềm quản lý quán cà phê do sinh viên Hồ Thanh Thảo Uyên, mã số sinh viên: 13D480201110, thực hiện và báo cáo đã được chỉnh sửa theo góp ý và được Hội đồng chấm luận văn đại học thông qua. ___ ___ Họ tên Giảng viên hướng dẫn Họ tên Giảng viên Phản biện Giảng viên hướng dẫn Phản biện ___ Họ tên Thư ký Thư ký Cần Thơ, ngày tháng năm 20 ___ Họ tên Chủ tịch Hội đồng Chủ tịch Hội đồng
  4. NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN Cần Thơ, ngày tháng năm 2017 Giảng viên hướng dẫn NGUYỄN CHÍ CƯỜNG
  5. NHẬN XÉT GIÁO VIÊN PHẢN BIỆN Cần Thơ, ngày tháng năm 2017 Giảng viên phản biện LÊ THỊ THU LAN
  6. LỜI CẢM ƠN Để hoàn thành khóa luận này, em xin tỏ lòng biết ơn sâu sắc đến thầy Nguyễn Chí Cường, đã tận tình hướng dẫn, chỉ dạy trong suốt quá trình thực hiện đề tài khóa luận tốt nghiệp. Em xin chân thành cảm ơn quý Thầy, Cô trong khoa Kỹ Thuật – Công Nghệ, nhất là những Thầy, Cô chuyên ngành Công Nghệ Thông Tin đã hết lòng chỉ dạy, truyền đạt những kiến thức trong những năm học vừa qua. Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quá trình nghiên cứu khóa luận mà còn là hành trang quí báu để em bước vào đời một cách vững chắc và tự tin. Và cũng xin cảm ơn những người thân, bạn bè đã động viên và hết mình giúp đỡ để có thể hoàn thành khóa luận tốt nghiệp đúng thời hạn. Suốt khoãng thời gian qua, dù đã rất cố gắng, một phần cũng do kiến thức còn hạn chế nên bài khóa luận này khó tránh khỏi những sai sót.Em rất mong được nhận ý kiến đóng góp của Thầy, Cô để bài khóa luận này được hoàn hảo hơn. Trân trọng cảm ơn! Cần Thơ, ngày 20 tháng 4 năm 2017 Người thực hiện Hồ Thanh Thảo Uyên
  7. MỤC LỤC NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN 4 NHẬN XÉT GIÁO VIÊN PHẢN BIỆN 5 MỤC LỤC i DANH SÁCH CHỮ VIẾT TẮT iv DANH SÁCH HÌNH, BẢNG VÀ BIỂU ĐỒ v TÓM TẮT viii ABSTRACT ix TỪ KHÓA x CHƯƠNG 1: TỔNG QUAN 1 I. TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU 1 1.1.1. Kinh doanh thương mại là gì? 1 1.1.2. Kinh doanh quán cà phê 1 II. LÝ DO CHỌN ĐỀ TÀI 2 III. MỤC TIÊU NGHIÊN CỨU 2 IV. NHIỆM VỤ NGHIÊN CỨU 3 V. ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU 3 VI. PHƯƠNG TIỆN NGHIÊN CỨU 3 VII. PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU 3 1.7.1. Phương pháp nghiên cứu 3 1.7.2. Phạm vi nghiên cứu 4 VIII. ĐÓNG GÓP CỦA ĐỀ TÀI 4 IX. KẾ HOẶC NGHIÊN CỨU VÀ CÁC GIAI ĐOẠN THỰC HIỆN 4 1.9.1. Kế hoạch nghiên cứu 4 1.9.2. Giai đoạn thực hiện 5 X. ĐẶC TẢ 6 CHƯƠNG 2: NHỮNG CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI NGHIÊN CỨU 9 HỆ QUẢN TRỊ SQL SERVER 9 KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 9 2.2.1. Cơ sở dữ liệu 9 i
  8. 2.2.2. Hệ quản trị cơ sở dữ liệu (DBMS) 9 KIẾN TRÚC ADO.NET ENTITY FRAMEWORK 10 2.3.1. Object Services 10 2.3.2. EntityClient Data Provider 11 2.3.3. ADO.NET Data Providers 11 2.3.4. EDM (Entity Data Model) 11 POWER DESIGNER 12 TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO 13 CHƯƠNG 3: PHÂN TÍCH VÈ THIẾT KẾ HỆ THỐNG BÁN HÀNG 14 I. GIẢI PHÁP PHÂN TÍCH 14 3.1.1. Chức năng và yêu cầu đặt ra 14 3.1.2. Các thực thể 14 3.1.3. Các mối kết hợp 19 II. THIẾT KẾ MÔ HÌNH 21 III. MÔ HÌNH CƠ SỞ DỮ LIỆU 23 CHƯƠNG 4: GIAO DIỆN PHẦN MỀM 27 I. GIAO DIỆN ĐĂNG NHẬP 27 II. GIAO DIỆN CHỨC NĂNG 30 4.2.1. Giao diện hiển thị theo quyền 30 4.2.2. Chức năng bán hàng 31 4.2.3. Chức năng quản lý nhân viên 42 4.2.4. Chức năng quản lý loại hàng 45 4.2.5. Chức năng quản lý hàng hóa 46 4.2.6. Chức năng quản lý khách hàng 48 4.2.7. Chức năng quản lý khu vực - bàn 51 4.2.8. Chức năng quản lý lương nhân viên 53 4.2.9. Thống kê doanh thu và hàng hóa bán chạy 56 4.2.10. Thống kê lương 58 CHƯƠNG 5: KẾT LUẬN 61 I. KẾT QUẢ ĐẠT ĐƯỢC 61 ii
  9. 5.1.1. Về kiến thức & học tập 61 5.1.2. Về phần mềm 61 II. HẠN CHẾ CỦA ĐỀ TÀI 61 III. HƯỚNG PHÁT TRIỂN 61 DANH SÁCH TÀI LIỆU THAM KHẢO 62 iii
  10. DANH SÁCH CHỮ VIẾT TẮT CDM : Conceptual Data Model CSDL : Cơ sở dữ liệu DBMS : DataBase Management System EDM : Entity Data Model LINQ : Language Integrated Query MS : Microsoft MD5 : Message-Digest algorithm 5 MS SQL : Microsoft Structured Query Language MVS : Microsoft Visual Studio PDM : Physical Data Model iv
  11. DANH SÁCH HÌNH, BẢNG VÀ BIỂU ĐỒ DANH SÁCH HÌNH Hình 2-1 Cấu trúc tổng thể của ADO.NET Entity Framework 10 Hình 3-1 Mô hình CDM của phần mềm quản lý quán cà phê 21 Hình 3-2 Mô hình PDM của phần mềm quản lý quán cà phê 22 Hình 4-1 Giao diện đăng nhập 28 Hình 4-2 Giao diện đăng nhập thất bại 29 Hình 4-3 Giao diện đổi mật khẩu đăng nhập 29 Hình 4-4 Chức năng bán hàng dưới quyền Admin 30 Hình 4-5 Giao diện chức năng bán hàng dưới quyền nhân viên 31 Hình 4-6 Hiển thị tên người dùng đăng nhập trên giao diện 31 Hình 4-7 Hộp thông báo 31 Hình 4-8 Giao diện hiển thị hóa đơn của bàn được chọn 32 Hình 4-9 Nút xóa món trên giao diện 33 Hình 4-10 Nút thanh toán hóa đơn 35 Hình 4-11 Giao diện thanh toán hóa đơn 36 Hình 4-12 Lấy thông tin khách hàng 37 Hình 4-13 Giao diện lấy thông tin khách hàng 38 Hình 4-14 Thông tin khách hàng hiện trên giao diện thanh toán 39 Hình 4-15 Trừ điểm khách hàng VIP 40 Hình 4-16 In hóa đơn 41 Hình 3-17 Hóa đơn tính tiền 42 Hình 4-18 Giao diện quản lý nhân viên 43 Hình 4-19 Tìm kiếm theo tên nhân viên 43 Hình 4-20 Thêm thông tin nhân viên 44 Hình 4-21 Giao diện quản lý loại hàng 45 Hình 4-22 Thêm thông tin loại hàng 45 Hình 4-23 Giao diện quản lý hàng hóa 46 Hình 4-24 Chọn loại hàng 47 Hình 4-25 Thêm hàng hóa theo loại hàng 47 v
  12. Hình 4-26 Giao diện quản lý khách hàng 48 Hình 4-27 Thanh tìm kiếm nhân viên 48 Hình 4-28 Lịch sử giao dịch 49 Hình 4-29 Thêm khách hàng 50 Hình 4-30 Hiển thị khách hàng theo loại khách hàng 50 Hình 4-31 Giao diện quản lý khu vực - bàn 51 Hình 4-32 Quản lý khu vực 52 Hình 4-33 Quản lý bàn 52 Hình 4-34 Giao diện quản lý lương nhân viên 53 Hình 4-35 Quản lý ca làm 54 Hình 4-36 Quản lý lương nhân viên 55 Hình 4-37 Giao diện quản lý lương nhân viên 56 Hình 4-38 Giao diện thống kê 57 Hình 4-39 Chọn ngày thống kê 57 Hình 4-40 Thống kê lương nhân viên 58 Hình 4-41 Thống kê lương từng nhân viên 59 Hình 4-42 Giao diện lương cần chi trả trong 1 tháng. 60 DANH SÁCH BẢNG Bảng 3-1 Thực thể nhân viên 14 Bảng 3-2 Thực thể khách hàng 15 Bảng 3-3 Thực thể loại khách hàng 16 Bảng 3-4 Thực thể hàng hóa 16 Bảng 3-5 Thực thể loại hàng 16 Bảng 3-6 Thực thể ca làm việc 17 Bảng 3-7 Thực thể hóa đơn bán hàng 17 Bảng 3-8 Thực thể khu vực 18 Bảng 3-9 Thực thể bàn 18 Bảng 3-10 Mối kết hợp KHUVUC-BAN 19 Bảng 3-11 Mối kết hợp HOADONBANHANG-BAN 19 vi
  13. Bảng 3-12 Mối kết hợp HOADONBANHANG-KHACHHANG 19 Bảng 3-13 Mối kết hợp KHACHHANG-LOAIKHACHHANG 20 Bảng 3-14 Mối kết hợp HANGHOA-LOAIHANG 20 Bảng 3-15 Mối kết hợp HOADONBANHANG-NHANVIEN 20 Bảng 3-16 Cơ sở dữ liệu bảng NHANVIEN 24 Bảng 3-17 Cơ sở dữ liệu bảng KHACHHANG 24 Bảng 3-18 Cơ sở dữ liệu bảng LOAIKHACHHANG 24 Bảng 3-19 Cơ sở dữ liệu bảng BAN 24 Bảng 3-20 Cơ sở dữ liệu bảng KHUVUC 25 Bảng 3-21 Cơ sở dữ liệu bảng HANGHOA 25 Bảng 2-22 Cơ sở dữ liệu bảng LOAIHANGHOA 25 Bảng 2-23 Cơ sở dữ liệu bảng CALAMVIEC 25 Bảng 3-24 Cơ sở dữ liệu bảng HOADONBANHANG 26 Bảng 3-25 Cơ sở dữ liệu bảng CHITIETBANHANG 26 Bảng 3-26 Cơ sở dữ liệu bảng CHITIETLUONGNHANVIEN 26 DANH SÁCH BIỂU ĐỒ Biểu đồ 1-1 Thống kê lượng người dùng cà phê theo độ tuổi 2 DANH SÁCH LƯU ĐỒ Lưu đồ 4-1 Sơ đồ đăng nhập 27 Lưu đồ 4-2 Sơ đồ chuyển bàn 34 vii
  14. TÓM TẮT Trong cuộc sống hiện nay, không khó để có thể tìm kiếm một quán nước, quán coffee, ngoài nhu cầu giải khát, thưởng thức những món nước lạ thì còn có thể trò chuyện cùng bạn bè, gia đình, việc học nhóm tại quá coffee cũng rất quen thuộc đối với các bạn trẻ. Và để đáp ứng nhu cầu đó của con người thì ngày nay việc kinh doanh quán coffee không còn quá xa lạ với mọi người. Các quán cà phê mọc lên như nấm, đủ thể loại, đủ hình thức thu hút khách hàng. Ngoài ra, thức uống cũng là một phần quan trọng dẫn đến lượng khách đến quán nhiều hay ít. Có nhiều yếu tố để phát triển một quán cà phê nhưng bên cạnh đó, yếu tố quản lý quán cà phê như thế nào? Làm thể nào để quản lý một cách nhanh chóng và ít tốn thời gian?. Phầm mềm quản lý quán cà phê ra đời nhằm đáp ứng cho những câu hỏi trên và giúp cho người sử dụng đỡ tốn công sức và thời gian. Phần mềm được hình thành nhờ có các công cụ hỗ trợ như: Power Designer 16.1 được sử dụng để thiết kế mô hình dữ liệu, áp dụng hệ quản trị cơ sở dữ liệu Microsoft SQL Server 2008 để trao đổi dữ liệu và công cụ phát triển phần mềm Microsoft Visual Studio 2015 - sử dụng nền tảng ADO.NET Entity và phương thức linQ. viii
  15. ABSTRACT In modern life, it is not hard to find a coffee shop. In addition to the needs of beverages, enjoy new drinks, we also can talk with friends, family and learn in groups. The outside environment is very suitable for young people. Besides, demand of the people are increasing so the business open coffee shop more and more. Coffee business very appealing is that even though it is food service, and has the highest growing away rate than any other business, it has a higher profit margin than the restaurant and this is an advantage. How to manage quickly and save a huge amount of time? Management software created to respond to these questions and help users to save the effort and time. The software is formed to the support tools such as: Power Designer 16.1 is used to design the data model, apply the Microsoft SQL Server 2008 database management system to data exchange and Microsoft Visual Studio 2015 software development tools - using the ADO.NET Entity platform and linQ method. ix
  16. TỪ KHÓA 1. Xây dựng phần mềm quản lý quán cà phê. 2. Quản lý bán hàng. 3. Quản lý thống kê doanh thu. x
  17. CHƯƠNG 1: TỔNG QUAN I. TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU 1.1.1. Kinh doanh thương mại là gì? Một trong những ngành nghề đang hấp dẫn nhất hiện nay, đang ngày một phát triển, giúp đem lại nguồn thu lớn cho mỗi cá nhân, tổ chức doanh nghiệp. Ngành nghề kinh doanh rất đa dạng: kinh doanh bất động sản, chứng khoáng, kinh doanh các loại dịch vụ, kinh doanh shop quần áo, quán cà phê Kinh doanh thương mại là hoạt động trao dồi, mua bán sản phẩm hàng hóa vật chất trong nền kinh tế tạo tiền đề và cơ hội cho sự hình thành và phát triền. Kinh doanh thương mại là sự đầu tư tiền của, công sức của một cá nhân hay một tổ chức vào việc mua bán hàng hóa và kiếm lời. Kinh doanh thương mại trong thời buổi ngày nay thì có rất nhiều cơ hội nhưng cũng có rất nhiều rủi ro. Vì vậy dù hoạt động như thế nào thì các doanh nghiệp cũng phải đảm bảo an toàn trong kinh doanh. Để đảm bảo an toàn thì doanh nghiệp phải giữ được mức ổn định trong việc tăng doanh thu qua các năm.Do vậy hoạt động thúc đẩy bán hàng nó quyết định đến việc tăng doanh thu và đảm bảo an toàn trong kinh doanh của các doanh nghiệp. Thị trường luôn luôn biến động, thay đổi không ngừng vì thế bán hàng không còn là vấn đề mới mẻ nhưng nó luôn mang tính thời sự cấp bách, và là mối quan tâm hàng đầu của các doanh nghiệp. 1.1.2. Kinh doanh quán cà phê Trong cuộc sống hiện nay, không khó để có thể tìm kiếm một quán nước, quán coffee, ngoài nhu cầu giải khát, thưởng thức những món nước lạ thì còn có thể trò chuyện cùng bạn bè, gia đình, việc học nhóm tại quá coffee cũng rất quen thuộc đối với các bạn trẻ. Và để đáp ứng nhu cầu đó của con người thì ngày nay việc kinh doanh quán coffee không còn quá xa lạ với mọi người. Các quán cà phê mọc lên như nấm, đủ thể loại, đủ hình thức thu hút khách hàng. Ngoài ra, thức uống cũng là một phần quan trọng dẫn đến lượng khách đến quán nhiều hay ít. Lâu nay cà phê là thức uống dành cho người đi làm, dân công sở nhưng dạo gần đây thì cà phê được giới trẻ yêu thích không kém. Sự du nhập của cà phê đã hình thành một sở thích uống cà phê mới trong giới trẻ. 1
  18. Thống kê người dùng cà phê theo độ tuổi 18 - 25 Trên 35 27% 36% 18 - 25 26 - 35 26 - 35 Trên 35 37% Biểu đồ 1-1 Thống kê lượng người dùng cà phê theo độ tuổi II. LÝ DO CHỌN ĐỀ TÀI Việc mở một quán cà phê đòi hỏi phải có nhiều yếu tố: tài chính, vật chất, địa lý thuận lợi để giúp cho việc buôn bán phát triển. Bên cạnh đó thì việc quản lý quán cà phê của mình như thế nào cũng là một câu hỏi lớn cần giải quyết.Vậy việc quản lý quán cà phê như thế nào và bằng cách gì? Quản lý về cái gì? Quản lý như thế nào được gọi là tiện lợi?? Ít tốn công sức nhưng lại cho ra kết quả một cách hiệu quả. Đó là một trong những lý do lớn nhất việc các phần mềm quản lý bán hàng ra đời và trả lời cho những câu hỏi trên nhằm đáp ứng cho việc kinh doanh của cá nhân hoặc một tổ chức nào đó thuận lợi và tiết kiệm thời gian hơn cho việc quản lý “đứa con tinh thần” của mình. III. MỤC TIÊU NGHIÊN CỨU Phần mềm hỗ trợ trong việc quản lý các nghiệp vụ như tính tiền, in hóa đơn, thống kê, quản lý nhân viên, lương bổng v.v. Phần mềm quản lý bán hàng quán cà phê giúp cho người sử dụng tiết kiệm được thời gian, nhanh chóng, thao tác đơn giản, dễ dàng sử dụng và quản lý. • Xây dựng một hệ thống mới phù hợp, dể hiểu, dể sử dụng cho người dùng phần mềm. Hiểu được hệ thống quản lý bán hàng, cần quản lý những mảng nào để xây dựng ứng dụng cho phù hợp nhu cầu thực tiễn. 2
  19. • Giúp quản lý hệ thống của quán trở nên tối ưu hơn, công tác quản lý dễ dàng và tiện lợi hơn. • Giúp bản thân có thêm khả năng sáng tạo, tư duy thông qua thiết kế giao diện tương tác với người dùng, vận dụng kiến thức bản thân vào thực tiễn. IV. NHIỆM VỤ NGHIÊN CỨU Phần mềm này được tạo ra nhằm hy vọng đem đến sự thuận tiện cho người sử dụng cũng như giúp cho các chủ quán có thể xem xét một cách tổng quát tình hình kinh doanh của quán mình. Phần mềm còn mang lại lợi ích kinh tế khi là giải pháp giúp việc quản lý trở nên đơn giản và thân thiện với mọi người. V. ĐỐI TƯỢNG VÀ KHÁCH THỂ NGHIÊN CỨU - Đối tượng nghiên cứu: Phần mềm quản lý bán hàng quán coffee. - Khách thể nghiên cứu: + Những ngưởi có nhu cầu kinh doanh quán cà phê cần phần mềm quản lý quán. + Nghiệp vụ bán hàng. + Quy trình hoạt động của một quán cà phê thông thường. VI. PHƯƠNG TIỆN NGHIÊN CỨU - Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống thông tin. - Hệ quản trị CSDL và ngôn ngữ lập trình C Sharp (C#). - Sử dụng các công cụ như MVS 2015 để lập trình, thiết kế giao diện. - Sử dụng hệ quản trị cơ sở dữ liệu SQL Server 2008 để quản trị cơ sở dữ liệu cho đề tài - Công cụ PowerDesigner 16.1 để thiết kế sơ đồ CDM và PDM. VII. PHƯƠNG PHÁP VÀ PHẠM VI NGHIÊN CỨU 1.7.1. Phương pháp nghiên cứu a. Phương pháp nghiên cứu tài liệu - Tham khảo, nghiên cứu thêm các tài liệu trên trang web, trang báo, tìm hiểu tình hình thực trạng của đề tài. - Tìm xem các đồ án khóa luận tốt nghiệp của các anh chị khóa trước đã làm hoặc tìm hiểu qua sách báo liên quan đến đề tài nghiên cứu. b. Phương pháp nghiên cứu thực tiễn 3
  20. - Phương pháp quan sát: quan sát việc quản lý của một số quán cà phê tại thành phố Cần Thơ. - Phương pháp phỏng vấn: Lấy thông tin thực tế từ chủ quán, nhân viên, khách hàng v.v c. Phương pháp tổng hợp và phân tích số liệu - Thu thập thông tin từ việc phỏng vấn - Thống kê, tổng kết số liệu. - Phân tích, đưa ra kết quả và thực hiện. 1.7.2. Phạm vi nghiên cứu Phạm vi quay quanh các nghiệp vụ bán hàng, tuân theo nghiệp vụ quản lý của một quán cà phê, đảm bảo đầy đủ các chức năng chính của phần mềm và khai thác các chức năng mới có liên quan đến quán lý quán cà phê nhằm giúp cho phần mềm thêm phần tiện ích. VIII. ĐÓNG GÓP CỦA ĐỀ TÀI - Mở ra một hướng đi mới trong việc quản lý một quán cà phê tiên ích hơn. - Tổng hợp các chức năng cần thiết để quản lý của một quán cà phê góp phần giúp ích cho việc kinh doanh và quản lý thu chi, nhân viên, hàng hóa một cách nhanh chóng và chính xác hơn. IX. KẾ HOẶC NGHIÊN CỨU VÀ CÁC GIAI ĐOẠN THỰC HIỆN 1.9.1. Kế hoạch nghiên cứu 4
  21. THỜI GIAN STT NỘI DUNG (tuần) 1 2 3 4 5 6 7 8 9 10 11 12 1 Viết đặc tả  2 Vẽ CDM - PDM   3 Hoàn thành CSDL  4 Thu thập tài liệu  5 Khảo sát tình hình thực tế   6 Phác thảo các chức năng   7 Thiết kế giao diện    Lập trình các form cơ bản 8   (thêm – sửa – xóa) Lập trình các chức năng 9     chính 10 Kiểm thử và sửa lỗi   11 Viết báo cáo   12 Chỉnh sửa   Ghi nhận ý kiến của 13         giảng viên Bảng kế hoạch nghiên cứu 1.9.2. Giai đoạn thực hiện Giai đoạn 1. Thu thập tài liệu: Khảo sát tình hình thực tiễn , thu thập dữ liệu (nhu cầu, phương pháp quản lý của quán coffee, các phần mềm đã được phát hành trong nước, các tài liệu liên quan ). Tham khảo những phần mềm đang được sử dụng phổ biến. Tìm hiểu các công cụ, ngôn ngữ lập trình, các kiến thức cơ bản liên quan đến đề tài. Giai đoạn 2. Nghiên cứu vấn đề: Đọc hiểu các tài liệu liên quan. Nắm rõ vai trò, chức năng của các công cụ, ngôn ngữ lập trình (Visual Studio 2015, Microsoft SQL Server 2008, ngôn ngữ C#,powerdesigner 16.1). Tìm hiểu các mô hình bán hàng khác, đề ra phương án giải quyết thích hợp. Giai đoạn 3. Xây dựng phần mềm: Dựa vào các kiến thức đã tìm hiểu và các dữ liệu đã phân tích, xây dựng phần mềm dựa vào các công cụ và ngôn ngữ lập trình đã chọn. Giai đoạn 4. Kiểm thử chương trình: Chạy demo, kiểm thử chương trình. Xem xét, đánh giá hiệu quả của từng chức năng. Sửa lỗi và hoàn thiện chương trình. Giai đoạn 5. Kết luận: Tổng kết, viết báo cáo, rút ra kết luận chung cho đề tài 5
  22. X. ĐẶC TẢ Phần mềm quản lý bao gồm các chức năng: bán hàng, quản lý nhân viên, quản lý khách hàng, quản lý hàng hóa, quản lý khu vực – bàn, quản lý lương nhân viên và thống kê doanh thu bán hàng, thống kê lương chi trả nhân viên, thống kê mặt hàng bán chạy. ➢ Bán hàng: là chức năng chính của phần mềm, đảm nhiệm vai trò bán hàng, típ nhận order của khách hàng, mở bàn, chuyển bàn nếu khách hàng có nhu cầu, chọn món, thanh toán, xuất hóa đơn cho khách hàng. ➢ Quản lý nhân viên: lưu trữ thông tin của nhân viên bao gồm tên, giới tính, số điện thoại, mã đăng nhập, mật khẩu, địa chỉ, số điện thoại v.v (cho phép thao tác thêm thông tin, sửa thông tin, xóa thông tin, lưu thông tin). ➢ Quản lý khách hàng: lưu trữ thông tin của khách hàng bao gồm tên, địa chỉ liên hệ, điểm tích lũy, lịch sử giao dịch của khách hàng. (cho phép thao tác thêm thông tin, sửa thông tin, xóa thông tin, lưu thông tin). ➢ Quản lý hàng hóa: lưu thông tin tất cả hàng hóa theo loại hàng (cho phép thao tác thêm thông tin, sửa thông tin, xóa thông tin, lưu thông tin). ➢ Quản lý lương nhân viên: lưu thông tin của tất cả các ca làm bao gồm giờ bắt đầu ca làm , giờ kết thúc ca làm, lương của 1 ca v.v (cho phép thao tác thêm thông tin, sửa thông tin, xóa thông tin, lưu thông tin), tính lương theo từng nhân viên. ➢ Quản lý khu – bàn: lưu thông tin của tất cả các khu vực và bàn, quản lý bàn theo khu vực. ➢ Thống kê doanh thu: thống kê doanh thu theo ngày, tháng , năm , tùy vào nhu cầu của người sử dụng. Ngoài ra còn thống kê được sản phẩm nào đang bán chạy nhất. Quy trình thực hiện: Khi khách hàng lựa chọn chỗ ngồi, thì nhân viên phục vụ sẽ đưa cho khách menu của quán.Trong thời gian khách hàng chọn món thì nhân viên ghi lại số bàn và ngày vào giấy order, đến khi khách gọi món thì ghi thêm vào giấy order tên món khách gọi và số lượng. Sau đó nhân viên phục vụ sẽ chuyển thông tin vừa ghi cho nhân viên pha chế và nhân viên thu ngân. Liên màu trắng chuyển cho pha chế và liên màu đỏ chuyển cho nhân viên thu ngân. Tại đây nhân viên thu ngân có nhiệm vụ nhập đúng thông tin trên giấy order vào hệ thống. 6
  23. Nếu khách hàng có nhu cầu chuyển sang bàn khác thì nhân viên phục vụ sẽ ghi nhận lại số bà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 chuyển bàn trên hệ thống. Khách hàng có nhu cầu tính tiền, nhân viên phục vụ sẽ lại quầy thu ngân báo số bàn hiện tại khách đang ngồi, nhân viên thu ngân báo giá tiền và sau khi nhận được tiền thanh toán, nhân viên thu ngân hết sức cẩn thận tính toán đúng số tiền trên hóa đơn và trả lại tiền thừa cho khách (nếu có), thu ngân sẽ in hóa đơn thanh toán cho khách hàng. Sau khi in hóa đơn thì hệ thống sẽ tự chuyển trạng thái từ “Đang sử dụng” sang “Trống”. Hóa đơn có hiển thị tên bàn, nhân viên thu ngân chịu trách nhiệm hóa đơn đó, logo (nếu có), tên hàng, số lượng, đơn giá, thành tiền, trừ điểm tích lũy, giảm giá, chi phí khách. Thu ngân có nhiệm vụ là mở bàn, nhập đúng thông tin ghi trên order tên hàng hóa, số lượng mà nhân viên phục vụ đã ghi. Nếu mở bàn sai thì có thể mở bàn lại. Lúc thanh toán tiền nếu khách hàng có thẻ VIP thu ngân sẽ lấy thông tin VIP của khách hàng và chiết khấu theo tỷ lệ chiết khấu đã qui định sẵn trong hệ thống. Quán có chương trình ưu đãi giảm giá thì khi thanh toán tiền cho khách, nhân viên thu ngân nhập phần trăm giảm giá thì số tiền sẽ tự động cập nhật lại. Dựa vào thành tiền hệ thống sẽ tự động tính ra đơn vị tích lũy của VIP và cộng thêm vào tài khoản VIP của khách. Quản lý khách hàng theo loại khách hàng . Có 3 loại khách hàng là khách hàng VIP, khách Member. Nếu khách hàng là khách mới có nhu cầu mở thẻ thì nhân viên thu ngân là người mở thẻ cho khách, lúc này khách sẽ ở mức thẻ Member, lưu đầy đủ thông tin liên hệ và bắt đầu tích điểm dựa trên hóa đơn thanh toán (10.000 VNĐ = 1 điểm). Sau khi khách tích đủ 100 điểm thì hệ thống sẽ tự động cập nhật nâng mức thẻ từ Member thành thẻ VIP. Đối với những khách hàng có thẻ VIP của quán thì sẽ vẫn tích điểm tiếp tục, điểm tích lũy lúc bây giờ sẽ chuyển thể thành tiền có thể dùng để thanh toán tại quán (1điểm = 1.000 VNĐ). Quản lí khu vực - bàn: hệ thống sẽ hiển thị giao diện người dùng về quản lý khu vực và bàn. Nếu muốn chỉnh sửa thông tin của khu vực hoặc bàn nào thì nhân viên chọn bàn cần chỉnh sữa,và nhập thông tin cần chỉnh sửa và lưu thông tin lại Quản lý ca làm: người dùng có quyền cao nhất (Admin) sẽ nhập ca làm của nhân viên theo lịch làm đã sắp xếp vào hệ thống. Cuối tháng thống kê và xuất phiếu lương cho nhân viên. 7
  24. Thống kê bán hàng sẽ chỉ ra báo cáo ngày, báo cáo tháng và báo cáo năm. Sẽ thống kê lại trong tháng đó quán đã bán được bao nhiêu? Thống kê hàng hóa bán nhiều nhất. 8
  25. CHƯƠNG 2: NHỮNG CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI NGHIÊN CỨU HỆ QUẢN TRỊ SQL SERVER Microsoft SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relation Database Management System - RDBMS), cung cấp cách tổ chức dữ liệu bằng cách lưu chúng vào các bảng. Dữ liệu quan hệ được lưu trữ trong các bảng và các quan hệ đó được định nghĩa giữa các bảng với nhau. Người dùng truy cập dữ liệu trên Server thông qua ứng dụng. Người quản trị CSDL truy cập Server trực tiếp để thực hiện các chức năng cấu hình, quản trị và thực hiện các thao tác bảo trì CSDL. SQL được sử dụng để điều khiển tất cả các chức năng mà một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao gồm: • Định nghĩa dữ liệu : SQL cung cấp khả năng định nghĩa các cơ sở dữ liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa các thành phần dữ liệu. • Truy xuất và thao tác dữ liệu : Với SQL, người dùng có thể dễ dàng thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu trong các cơ sở dữ liệu. • Điều khiển truy cập - SQL có thể được sử dụng để cấp phát và kiểm soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho cơ sở dữ • Đảm bảo toàn vẹn dữ liệu : SQL định nghĩa các ràng buộc toàn vẹn trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu trước các thao tác cập nhật cũng như các lỗi của hệ thống. KHÁI NIỆM VỀ CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 2.2.1. Cơ sở dữ liệu Là một kho dữ liệu được tổ chức theo một nguyên tắc nào đó. Đó là một tập hợp các tập tin có liên quan với nhau, được thiết kế nhằm làm giảm thiểu sự dư thừa dữ liệu, đảm bảo tính tin cậy khi truy xuất dữ liệu. Các tập tin này chứa các thông tin biểu diễn các đối tượng trong một ứng dụng thế giới thực. 2.2.2. Hệ quản trị cơ sở dữ liệu (DBMS) Là một hệ thống gồm một CSDL và các thao tác trên CSDL. Đó là hệ thống chương trình, công cụ cho phép quản lý và tương tác với CSDL. Trên đó người dùng có thể định nghĩa, thao tác, và xử lý dữ liệu trong một CSDL để xuất ra những thông tin có nghĩa. 9
  26. Các chức năng của một hệ quản trị cơ sở dữ liệu: - Lưu trữ dữ liệu. - Tạo ra và duy trì CSDL - Cho phép nhiều người dùng truy xuất đồng thời. - Hỗ trợ tính bảo mật và riêng tư. - Cho phép xem và xử lý dữ liệu lưu trữ. - Cho phép cập nhật và lưu trữ dữ liệu sau khi cập nhật. - Cung cấp một cơ chế chỉ mục hiệu quả để truy cập nhanh các dữ liệu lựa chọn. - Cung cấp tính nhất quán giữa các bảng ghi khác nhau - Bảo vệ dữ liệu khỏi mất mát bằng các quá trình sao lưu và phục hồi. KIẾN TRÚC ADO.NET ENTITY FRAMEWORK Hình 2-1 Cấu trúc tổng thể của ADO.NET Entity Framework ADO.NET là một bộ các thư viện hướng đối tượng (OOP) cho phép bạn tương tác với dữ liệu nguồn. Thông thường thì dữ liệu nguồn là một cơ sở dữ liệu (database), nhưng nó cũng có thể là file text, exel hoặc XML. Theo những mục tiêu của hướng dẫn này, chúng ta sẽ chỉ xem xét tới cách ADO.NET làm việc với database. Có thể biết rằng, có rất nhiều loại database hiện nay như Microsoft SQL Server, Microsoft Access, Oracle, Borland Interbase, và IBM DB2, 2.3.1. Object Services Tầng chứa quá trình tương tác giữa ứng dụng và database, hay nói cách khác nó là nơi chủ yếu để truy cập dữ liệu từ database và trả ngược kết quả về giao diện. Object 10
  27. Services cung cấp các tiện ích để truy vết các thay đổi và quản lý nhận dạng, đồng thời là các quan hệ và thay đổi ở database. Các class này bao gồm: • ObjectContext đại diện cho một database. ObjectContext có chức năng quản lý các kết nối, định nghĩa mô hình dữ liệu với metadata và thao tác với database. Lớp này cũng có thể thêm vào các phương thức đại diện cho các stored procedure trong database. • ObjectSet là một một tập hợp các entity. Mỗi đối tượng này tương ứng với một table. Có thể lấy được các đối tượng này thông qua các property tương ứng của ObjectContext. • EntityObject, ComplexObject là các lớp tương ứng cho một dòng dữ liệu của table trong database. Khác biệt chính giữa hai loại này là ComplexObject không chứa primary key. • EntityCollection và EntityReference : là các đối tượng thể hiện mối quan hệ (relationship) giữa hai entity class. Mỗi đối tượng này có thể được truy xuất thông qua các property của entity class. 2.3.2. EntityClient Data Provider Đây là tầng cung cấp các kết nối, diễn dịch các truy vấn thực thể thành truy vấn nguồn dữ liệu (chuyển L2E – LINQ to Entity hay các truy vấn thực thể SQL thành truy vấn SQL), trả về data reader để EF dùng chuyển dữ liệu thực thể thành các đối tượng. Phần này kết nối ADO.NET Data Providers để gửi hoặc lấy dữ liệu từ database. Tầng này hoàn toàn khác với EDM (Entity Data Model) khi thực thi các truy vấn tương tự như cách thực hiện ở ADO.NET Provider. EntityClient Data Provider sử dụng ESQL (Entity SQL), một ngôn ngữ truy vấn độc lập dạng văn bản, tương tự như SQL. 2.3.3. ADO.NET Data Providers Đây là tầng thấp nhất để dịch các truy vấn L2E (LINQ to Entity) thông qua cây lệnh thành các câu lệnh SQL và thực thi các câu lệnh trong hệ thống DBMS (database management system – hệ quản lý dữ liệu) nào đó. Tầng này kết với database sử dụng ADO.NET. 2.3.4. EDM (Entity Data Model) EDM (tạm dịch là mô hình dữ liệu thực thể) chứa 3 phần chính: mô hình khái niệm (CSDL – Conceptual schema definition language), mô hình ánh xạ (MSL – mapping specification language) và mô hình lưu trữ (SSDL – store schema definition 11
  28. language). EDM khác với EntityClient Data Provider ở chỗ EDM sử dụng LINQ là ngôn ngữ truy vấn tương tác với database. POWER DESIGNER Power Designer là môi trường mô hình hóa tổng thể dưới dạng đồ họa và dễ dàng sử dụng. Công dụng Power Designer cung cấp: - Trình bày các mô hình bằng các ký hiệu đồ họa phù hợp với các phương pháp mô hình hóa trong thực tế như mô hình thực thể và mối kết hợp; mô hình quan hệ - Tự động tạo hồ sơ mô tả các đối tượng trên mô hình. - Tự động tạo mã phát sinh CSDL và các chức năng xử lý từ mô hình đã xây dựng. Vài trò của Power Designer trong việc thiết kế mô hình cơ sở dữ liệu: • Trình bày mô hình ở dạng đồ họa. • Kiểm tra tính hợp lệ của mô hình được thiết kế • Phát sinh mô hình dữ liệu logic hay mô hình dữ liệu vật lý. Sơ lược về thực thể, thuộc tính, liên kết Thực thể - Thực thể là khái niệm để chỉ một lớp các đối tượng có cùng đặc tính chung mà người ta muốn quản lý thông tin về nó. Ví du, sinh viên, hàng hóa, vật tư Một đối tượng cụ thể trong thực thể được gọi là một cá thể (còn gọi là một thể hiện của thực thể). Ví dụ Lê Văn Bình là một cá thể của thực thể Sinh viên, Xi măng là cá thể của thực thể Hàng hóa . Thuộc tính thực thể - Để mô tả thông tin về một thực thể người ta thường dựa vào các đặc trưng riêng của thực thể đó. Các đặc trưng đó được gọi là thuộc tính của thực thể. Ví dụ thực thể Sinh viên có các thuộc tính Mã sinh viên, Họ tên sinh viên, Ngày sinh, Địa chỉ, Trường, Khoa, Khóa sinh viên, Lớp, Liên kết - Một liên kết là một sự ghép nối giữa hai hay nhiều thực thể. Phản ánh sự liên hệ giữa các thực thể.Có 3 kiểu liên kết: liên hết một một (1-1), quan hệ nhiều nhiều (n- n) và quan hệ một nhiều (1-n). 12
  29. • Quan hệ 1-1 : Hai thực thể A và B có mối quan hệ 1-1 nếu một thực thể kiểu A tương ứng với một thực thể kiểu B và ngược lại. • Quan hệ 1-n : Hai thực thể A và B có mối quan hệ 1- n nếu một thực thể kiểu A tương ứng với nhiều thực thể kiểu B và một thực thể của B chỉ tương ứng với một thực thể kiểu A. • Quan hệ n-n : Hai thực thể A và B có mối quan hệ n-n nếu một thực thể kiểu A tương ứng với nhiều thực thể kiểu B và ngược lại TỔNG QUAN VỀ MICROSOFT VISUAL STUDIO Microsoft Visual Studio là một môi trường phát triển tích hợp từ Microsoft. Nó được sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụng web và các dịch vụ web. Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, Windows Forms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight. Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý. Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn. Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy. Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu. Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộ công cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm. 13
  30. CHƯƠNG 3: PHÂN TÍCH VÈ THIẾT KẾ HỆ THỐNG BÁN HÀNG I. GIẢI PHÁP PHÂN TÍCH Sau khi thu thập thông tin, dựa theo yêu cầu của bài toán đặt ra, có thể liệt kê những chức năng chính của chương trình. 3.1.1. Chức năng và yêu cầu đặt ra - Chức năng cập nhật thông tin, lưu trữ thông tin. - Chức năng thêm, sửa, xóa thông tin, tạo hóa đơn bán hàng. - Chức năng quản lý, thống kê. - Xuất, in hóa đơn, thống kê. - Hỗ trợ tìm kiếm các thông tin đã lưu trữ. 3.1.2. Các thực thể a. Giới thiệu các thực thể trong hệ thống  Thực thể nhân viên. ❖ Thực thể khách hàng.  Thực thể loại khách hàng.  Thực thể nhà cung cấp.  Thực thể hàng hóa.  Thực thể loại hàng hóa. Thực thể ca làm việc.  Thực thể hóa đơn bán hàng.  Thực thể khu vực  Thực thể bàn b. Liệt kê thành phần các thực thể  Thực thể nhân viên NHANVIEN MaNV Variable characters (50) TenNV Variable characters (150) DiaChi Variable characters (150) SDT Variable characters (13) ChucVu Variable characters (50) NgayVaoLam Date & Time GioiTinh Boolean PhanQuyen Boolean MatKhau Variable characters (32) Identifier_1 Bảng 3-1 Thực thể nhân viên + Tên thực thể: NHANVIEN 14
  31. + Khóa thực thể: MaNV + Các thuộc tính của thực thể: o MaNV: mã nhân viên ( dùng làm tài khoản đăng nhập) o TenNV: tên nhân viên o DiaChi: địa chỉ o SDT: số điện thoại o ChucVu: chức vụ o NgayVaoLam: ngày vào làm o GioiTinh: giới tính (True là nữ, False là nam) o PhanQuyen: phân quyền (True là quyền truy cập của Admin, False là quyền truy cập của nhân viên) o MatKhau: mật khẩu (đăng nhập) ❖ Thực thể khách hàng KHACHHANG MaKH Integer TenKH Variable characters (50) DiaChi Variable characters (150) SDT Variable characters (13) DiemTL Integer Identifier_1 Bảng 3-2 Thực thể khách hàng + Tên thực thể: KHACHHANG + Khóa thực thể: MaKH + Các thuộc tính của thực thể: o MaKH: mã khách hàng o TenKH: tên khách hàng o DiaChi: địa chỉ o SDT: số điện thoại o DiemTL: điểm tích lũy 15
  32.  Thực thể loại khách hàng LOAIKHACHHANG MaLKH Variable characters (50) TenLKH Variable characters (150) GiamGia Integer Identifier_1 Bảng 3-3 Thực thể loại khách hàng + Tên thực thể: LOAIKHACHHANG + Khóa thực thể: MaLKH + Các thuộc tính của thực thể: o MaLKH: mã loại khách hàng o TenKH: tên loại khách hàng o GiamGia: giảm giá  Thực thể hàng hóa HANGHOA MaHH Variable characters (50) TenHH Variable characters (150) SoLuong Integer HinhAnh Image GiaSP Integer Identifier_1 Bảng 3-4 Thực thể hàng hóa + Tên thực thể: HANGHOA + Khóa thực thể: MaHH + Các thuộc tính của thực thể: o MaHH: mã hàng hóa o TenHH: tên hàng hóa o SoLuong: số lượng o HinhAnh: hình ảnh o GiaSP: giá sản phẩm  Thực thể loại hàng hóa LOAIHANG MaLH Variable characters (50) TenLH Variable characters (150) MoTa Variable characters (150) Identifier_1 Bảng 3-5 Thực thể loại hàng + Tên thực thể: LOAIHANGHOA + Khóa thực thể: MaLH 16
  33. + Các thuộc tính của thực thể: o MaLH: mã loại hàng o TenLH: tên loại hàng o MoTa: mô tả Thực thể ca làm việc CALAMVIEC MaCLV Variable characters (50) TenCLV Variable characters (50) GioBD Time GioKT Time SoTien Integer Identifier_1 Bảng 3-6 Thực thể ca làm việc + Tên thực thể: CALAMVIEC + Khóa thực thể: MaCLV + Các thuộc tính của thực thể: o MaCLV: mã ca làm việc o TenCLV: tên ca làm việc o GioBD: giờ bắt đầu o GioKT: giờ kết thúc o SoTien: số tiền  Thực thể hóa đơn bán hàng HOADONBANHANG MaHDBH Integer NgayHDBH Date & Time TongTien Integer GiamGia Integer DiemTL Integer ChiPhiKhac Integer Identifier_1 Bảng 3-7 Thực thể hóa đơn bán hàng + Tên thực thể: HOADONBANHANG + Khóa thực thể: MaHDBH + Các thuộc tính của thực thể: o MaHDBH: mã hóa đơn bán hàng o NgayHDBH: ngày hóa đơn bán hàng o TongTien: tổng tiền o GiamGia: giảm giá 17
  34. o ChiPhiKhac: chi phí khác o DiemTL: điểm tích lũy  Thực thể khu vực KHUVUC MaKV Variable characters (50) TenKV Variable characters (150) TrangThai Variable characters (50) Identifier_1 Bảng 3-8 Thực thể khu vực + Tên thực thể: KHUVUC + Khóa thực thể: MaKV + Các thuộc tính của thực thể: o MaKV: mã khu vực o TenKV: tên khu vực o TrangThai: trạng thái  Thực thể bàn BAN MaBan Variable characters (50) TenBan Variable characters (150) ThuocTinh Variable characters (150) Identifier_1 Bảng 3-9 Thực thể bàn + Tên thực thể: BAN + Khóa thực thể: MaBan + Các thuộc tính của thực thể: o MaBan: mã bàn o TenBan: tên bàn o ThuocTinh: thuộc tính 18
  35. 3.1.3. Các mối kết hợp • Mối kết hợp KHUVUC-BAN BAN KHUVUC MaBan Variable characters (50) MaKV Variable characters (50) TenBan Variable characters (150) TenKV Variable characters (150) ThuocTinh Variable characters (150) . TrangThai Variable characters (50) Identifier_1 Identifier_1 Bảng 3-10 Mối kết hợp KHUVUC-BAN + Các thực thể tham gia: KHUVUC, BAN. + Khóa của mối kết hợp : MaKV, MaBan. + Diễn giải: Một khu vực có nhiều bàn, một bàn chỉ thuộc 1 khu vực • Mối kết hợp BAN-HOADONBANHANG HOADONBANHANG MaHDBH Integer BAN NgayHDBH Date & Time MaBan Variable characters (50) TongTien Integer TenBan Variable characters (150) GiamGia Integer ThuocTinh Variable characters (150) DiemTL Integer ChiPhiKhac Integer Identifier_1 Identifier_1 Bảng 3-11 Mối kết hợp HOADONBANHANG-BAN + Các thực thể tham gia: HOADONBANHANG, BAN. + Khóa của mối kết hợp : MaHDBH, MaBan. + Diễn giải: Một bàn có nhiều hóa đơn bán hàng, một hóa đơn bán hàng chỉ thuộc một bàn. • Mối kết hợp HOADONBANHANG-KHACHHANG KHACHHANG MaKH Integer TenKH Variable characters (50) DiaChi Variable characters (150) SDT Variable characters (13) DiemTL Integer Identifier_1 Bảng 3-12 Mối kết hợp HOADONBANHANG-KHACHHANG + Các thực thể tham gia: HOADONBANHANG, KHACHHANG. + Khóa của mối kết hợp : MaHDBH, MaKH. + Diễn giải: Một khách hàng có nhiều hóa đơn, một hóa đơn bán hàng chỉ thuộc một khách hàng. 19
  36. • Mối kết hợp KHACHHANG-LOAIKHACHHANG KHACHHANG MaKH Integer LOAIKHACHHANG TenKH Variable characters (50) MaLKH Variable characters (50) DiaChi Variable characters (150) . TenLKH Variable characters (150) SDT Variable characters (13) GiamGia Integer DiemTL Integer Identifier_1 Identifier_1 Bảng 3-13 Mối kết hợp KHACHHANG-LOAIKHACHHANG + Các thực thể tham gia: KHACHHANG, LOAIKHACHHANG + Khóa của mối kết hợp : MaKH, MaLKH + Diễn giải: Một loại khách hàng có nhiều khách hàng, một khách hàng chỉ thuộc một loại khách hàng. • Mối kết hợp HANGHOA-LOAIHANG HANGHOA MaHH Variable characters (50) LOAIHANG TenHH Variable characters (150) MaLH Variable characters (50) SoLuong Integer TenLH Variable characters (150) HinhAnh Image MoTa Variable characters (150) GiaSP Integer Identifier_1 Identifier_1 Bảng 3-14 Mối kết hợp HANGHOA-LOAIHANG + Các thực thể tham gia: LOAIHANG, HANGHOA + Khóa của mối kết hợp : MaLH, MaHH + Diễn giải: Một loại khách hàng có nhiều khách hàng, một khách hàng chỉ thuộc một loại khách hàng. • Mối kết hợp HOADONBANHANG-NHANVIEN NHANVIEN MaNV Variable characters (50) HOADONBANHANG TenNV Variable characters (150) MaHDBH Integer DiaChi Variable characters (150) NgayHDBH Date & Time SDT Variable characters (13) TongTien Integer ChucVu Variable characters (50) GiamGia Integer NgayVaoLam Date & Time DiemTL Integer GioiTinh Boolean ChiPhiKhac Integer PhanQuyen Boolean Identifier_1 MatKhau Variable characters (32) Identifier_1 Bảng 3-15 Mối kết hợp HOADONBANHANG-NHANVIEN + Các thực thể tham gia: HOADONBANHANG, NHANVIEN + Khóa của mối kết hợp : MaHDBH, MaNV 20
  37. + Diễn giải: Một hóa đơn do một nhân viên phụ trách, một nhân viên có thể phụ trách nhiều hóa đơn. II. THIẾT KẾ MÔ HÌNH • Mô hình CDM HANGHOA KHUVUC MaHH Variable characters (50) MaKV Variable characters (50) TenHH Variable characters (150) TenKV Variable characters (150) SoLuong Integer TrangThai Variable characters (50) HinhAnh Image Relationship_9 Identifier_1 GiaSP Integer Identifier_1 BAN 1,n MaBan Variable characters (50) Relationship_1 TenBan Variable characters (150) CHITIETBANHANG ThuocTinh Variable characters (150) SoLuong Integer Identifier_1 LOAIHANG MaLH Variable characters (50) NHANVIEN TenLH Variable characters (150) MaNV Variable characters (50) MoTa Variable characters (150) TenNV Variable characters (150) Identifier_1 DiaChi Variable characters (150) SDT Variable characters (13) ChucVu Variable characters (50) NgayVaoLam Date & Time GioiTinh Boolean CHITIETLUONGNHANVIEN PhanQuyen Boolean 1,n TongSoCaLam Integer MatKhau Variable characters (32) ThanhTien Integer Identifier_1 KyLuong Variable characters (7) Relationship_10 CALAMVIEC MaCLV Variable characters (50) TenCLV Variable characters (50) 1,n GioBD Time GioKT Time SoTien Integer Identifier_1 LOAIKHACHHANG Relationship_5 MaLKH Variable characters (50) TenLKH Variable characters (150) GiamGia Integer KHACHHANG Identifier_1 MaKH Integer TenKH Variable characters (50) Relationship_6 DiaChi Variable characters (150) Relationship_3 SDT Variable characters (13) DiemTL Integer Identifier_1 1,n HOADONBANHANG MaHDBH Integer NgayHDBH Date & Time TongTien Integer GiamGia Integer DiemTL Integer ChiPhiKhac Integer Identifier_1 Hình 3-1 Mô hình CDM của phần mềm quản lý quán cà phê 21
  38. • Mô hình PDM HANGHOA MaHH varchar(50) MaLH varchar(50) KHUVUC TenHH varchar(150) MaKV varchar(50) SoLuong int HinhAnh image TenKV varchar(150) TrangThai varchar(50) GiaSP int FK_CHITIETB_CHITIETBA_HANGHOA FK_BAN_RELATIONS_KHUVUC CHITIETBANHANG BANFK_CHITIETB_CHITIETBA_HOADONBA MaBan varchar(50) MaHDBH int FK_HANGHOA_RELATIONS_LOAIHANG MaKV varchar(50) MaHH varchar(50) TenBan varchar(150) SoLuong int ThuocTinh varchar(150) LOAIHANG NHANVIEN MaLH varchar(50) MaNV varchar(50) TenLH varchar(150) TenNV varchar(150) MoTa varchar(150) DiaChi varchar(150) SDT varchar(13) ChucVu varchar(50) CHITIETLUONGNHANVIEN NgayVaoLam datetime GioiTinh bit MaCLV varchar(50) FK_CHITIETL_CHITIETLU_NHANVIEN PhanQuyen bit MaNV varchar(50) MatKhau varchar(32) TongSoCaLam int ThanhTien int KyLuong varchar(7) FK_HOADONBA_RELATIONS_BAN CALAMVIEC MaCLV varchar(50) FK_HOADONBA_RELATIONS_NHANVIEN TenCLV varchar(50) FK_CHITIETL_CHITIETLU_CALAMVIE GioBD datetime GioKT datetime LOAIKHACHHANG SoTien int MaLKH varchar(50) TenLKH varchar(150) GiamGia int KHACHHANG MaKH int HOADONBANHANG FK_HOADONBA_RELATIONS_KHACHHANMaLKH varchar(50) MaHDBH int TenKH varchar(50) FK_KHACHHAN_RELATIONS_LOAIKHAC MaNV varchar(50) DiaChi varchar(150) MaBan varchar(50) SDT varchar(13) MaKH int DiemTL int NgayHDBH datetime TongTien int GiamGia int DiemTL int ChiPhiKhac int Hình 3-2 Mô hình PDM của phần mềm quản lý quán cà phê 22
  39. III. MÔ HÌNH CƠ SỞ DỮ LIỆU BAN NHANVIEN KHUVUC MABAN MAKV MANV MAKV TENKV TENNV TENBAN TRA NGTHA I GIOITINH THUOCTINH CHUCVU LOAIKHACHHANG NGA YV A O LA M MA LKH DIACHI TENLKH SDT GIA MGIA PhanQ uy en HOADONBANHANG MatKhau Column Name MAHDBH MANV MAKH HOADONNHAPHANG MABAN MAHDNH NGAYHDBH KHACHHANG MANV TONGTIEN MAKH NGAYHDNH CHITIETLUONGNHANVIEN DIEMTL MA LKH GIAMGIA Column Name TENKH CHIPHIKHAC MA C LV v archar(50) DIACHI MANV nv archar(50) SDT TONGSOCALAMTRO int DIEMTL THANHTIEN int KYLUO NG nv archar(7) HANGHOA MAHH MANCC LOAIHANG MA LH MA LH TENHH TENLH HINHANH MOTA CHITIETNHAPHANG GIASP MAHH MAHDNH CHITIETBANHANG SO LUO NG MAHDBH THANHTIEN MAHH SO LUO NG NHACUNGCAP MANCC TENNCC CALAMVIEC DIACHI MA C LV SDT TENC LV GIOBD GIOKT SOTIEN Mô hình cơ sở dữ liệu 23
  40. a. Nhân viên Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MANV Nvarchar(50) X 2 TENNV Nvarchar(50) 3 GIOITINH Bit 4 CHUCVU Nvarchar(50) 5 NGAYVAOLAM Date X 6 DIACHI Nvarchar(50) 7 SDT Int 8 PhanQuyen bit 9 MatKhau Nvarchar(32) Bảng 3-16 Cơ sở dữ liệu bảng NHANVIEN b. Khách hàng Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MAKH Int X 2 MALKH Varchar(50) X 3 TENKH Nvarchar(50) 4 DIACHI Nvarchar(50) 5 SDT Int 6 DIEMTL Int Bảng 3-17 Cơ sở dữ liệu bảng KHACHHANG c. Loại khách hàng Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MALKH Varchar(50) X 2 TENLKH Nvarchar(50) 3 GIAMGIA Int Bảng 3-18 Cơ sở dữ liệu bảng LOAIKHACHHANG d. Bàn Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MABAN Nvarchar(50) X 2 TENBAN Nvarchar(150) 3 MAKV Nvarchar(50) 4 THUOCTINH Nvarchar(150) Bảng 3-19 Cơ sở dữ liệu bảng BAN 24
  41. e. Khu vực Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MAKV Narchar(50) X 2 TENKV Narchar(150) 3 TRANGTHAI Nvarchar(50) X Bảng 3-20 Cơ sở dữ liệu bảng KHUVUC f. Hàng hóa Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MAHH varchar(50) X 2 TENHH nvarchar(150) 3 MALH varchar(50) X 4 HINHANH image 5 GIASP int Bảng 3-21 Cơ sở dữ liệu bảng HANGHOA g. Loại hàng hóa Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MALH varchar(50) X 2 TENLH nvarchar(150) 3 MOTA nvarchar(150) Bảng 2-22 Cơ sở dữ liệu bảng LOAIHANGHOA h. Ca làm việc Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MACLV varchar(50) X 2 TENCLV nvarchar(50) 3 GIOBD Time(7) 4 GIOKT Time(7) 5 SOTIEN int Bảng 2-23 Cơ sở dữ liệu bảng CALAMVIEC 25
  42. j. Hóa đơn bán hàng Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MAHDBH Int X 2 MANV nvarchar(50) X 3 MABAN nvarchar(50) X 4 NGAYHDBH Datetime 5 TONGTIEN Int 6 DIEMTL Int X 7 GIAMGIA Int X 8 CHIPHIKHAC Int X 9 MAKH int X X Bảng 3-24 Cơ sở dữ liệu bảng HOADONBANHANG k. Chi tiết bán hàng Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MAHDBH Int X 2 MAHH varchar(150) X 3 SOLUONG int Bảng 3-25 Cơ sở dữ liệu bảng CHITIETBANHANG l. Chi tiết lương nhân viên Khóa Allow Khóa STT Tên thuộc tính Kiểu dữ liệu chính Null ngoại 1 MACLV varchar(50) X 2 MANV nvarchar(50) 3 TỐNGCALAMTRONGTHANG Int 4 THANHTIEN Int 5 KYLUONG Nvarchar(7) X Bảng 3-26 Cơ sở dữ liệu bảng CHITIETLUONGNHANVIEN 26
  43. CHƯƠNG 4: GIAO DIỆN PHẦN MỀM I. GIAO DIỆN ĐĂNG NHẬP Đây là bước đầu tiên để vào hệ thống. Người dùng nhập tên đăng nhập và mật khẩu. Nếu nhập đúng thông tin tài khoản thì hệ thống sẽ hiện ra giao diện chức năng chính bán hàng. Nếu sai thì sẽ sẽ hiện ra hộp thông báo “Đăng nhập thất bại”, có thể đăng nhập lại. Bắt đầu Khởi động phần mềm Đăng nhập lại Người dùng nhập tên đăng nhập và mật khẩu Sai Đúng Hệ thống kiểm tra Hiển thị giao diện Hiển thị thông báo phần mềm chính “Đăng nhập thất bại” Kết thúc Lưu đồ 4-1 Sơ đồ đăng nhập Chương trình đăng nhập dựa trên “Tên đăng nhập” là mã nhân viên và “Mật khẩu” được cấp khi tạo tài khoản. Sau khi được cấp tài khoản đăng nhập, mỗi nhân viên có thể đổi mật khẩu đăng nhập vào hệ thống và đổi mật khẩu riêng cho tài khoản của mình. 27
  44. Tài khoản Admin – Mật khẩu : NV04 – 123456 Tài khoản nhân viên – Mật khẩu: NV01 - 123456 Mật khẩu sẽ được mã hóa theo thuật MD5. MD5 (Message-Digest algorithm 5) là một thuật toán mã hoá, theo chuẩn RFC 1321. Các chương trình mã hoá MD5 thường được gọi là MD5Sum. Một mảng băm MD5 thường biểu diễn bằng một số hệ thập lục phân 32 ký tự. Hình 4-1 Giao diện đăng nhập  Các thao tác thực hiện: -Khi muốn đăng nhập vào thì nhân viên phải nhập đúng tên đăng nhập và mật khẩu. -Mật khẩu sẽ được mã hóa thành các dấu “●”, nên người khác sẽ không thể biết được mật khẩu của nhân viên, đồng thời mật khẩu cũng sẽ được mã hóa khi lưu vào cơ sở dữ liệu, đảm bảo tính bảo mật tuyệt đối. -Khi nhân viên nhập sai thông tin, chương trình sẽ hiển thị cảnh báo và yêu cầu đăng nhập lại. 28
  45. Hình 4-2 Giao diện đăng nhập thất bại - Nhân viên sau khi đăng nhập vào hệ thống thành công và muốn đổi mật khẩu khác thì trên giao diện chính click vào biểu tượng , giao diện cập nhật mật khẩu sẽ hiện ra. Lúc này, nhân viên nhập đầy đủ thông tin và bấm “Cập nhật”. Mật khẩu sẽ được đổi từ lúc nhấn “Cập nhật”. Hình 4-3 Giao diện đổi mật khẩu đăng nhập 29
  46. II. GIAO DIỆN CHỨC NĂNG 4.2.1. Giao diện hiển thị theo quyền Tùy vào quyền sử dụng của mỗi người dùng (Admin, nhân viên) phần mềm mà hệ thống hiện thị giao diện tương ứng. - Người dùng đăng nhập duới quyền cao nhất (Admin), thì hệ thống hiện thị tất cả các mục quản lý của toàn bộ hệ thống. Hình 4-4 Chức năng bán hàng dưới quyền Admin - Người dùng đăng nhập dưới quyền thấp hơn (nhân viên), thì hệ thống chỉ hiện thị “BÁN HÀNG ”, “QUẢN LÝ KHÁCH HÀNG”. 30
  47. Hình 4-5 Giao diện chức năng bán hàng dưới quyền nhân viên Người dùng đăng nhập vào hệ thống sử dụng thì trên giao diện sẽ hiện tên người dùng và mã người dùng. Hình 4-6 Hiển thị tên người dùng đăng nhập trên giao diện 4.2.2. Chức năng bán hàng Quản lý bán hàng còn được gọi là chức năng bán hàng, ở chức năng này người dùng có thể mở bàn khi có khách, thêm thức uống vào hóa đơn, chuyển bàn, xóa món đã gọi, xóa bàn và thanh toán, xuất hóa đơn. Thao tác thực hiện: + Mở bàn: Click vào biểu tượng thì hộp thoại thông báo “Bạn có muốn mở bạn”, nhấn “Yes” để mở bàn và nhấn “No” thì bàn đó sẽ không được mở. 31 Hình 4-7 Hộp thông báo
  48. Sau khi nhấn “Yes” thì trạng thái của bàn sẽ được chuyển từ “Trống” sang “Đang sử dụng”. Các trạng thái của một cái bàn: : Trạng thái “Trống” : Trạng thái “Đang sử dụng” : Trạng thái bàn “đang được chọn”. + Xóa bàn: Nếu nhân viên mở bàn sai, thì có thể xóa bàn và chọn lại bàn khác. Trước nhất cần phải click vào bàn cần xóa và click vào nút “ XÓA BÀN” để thực hiện việc xóa bàn. Lưu ý: nút “XÓA BÀN” chỉ thực hiện khi trong hóa đơn của bàn đó không có thức uống nào ( hóa đơn rỗng, chưa thêm món). Đối với bàn mà đã gọi thức uống thì thao tác như sau: Click vào bàn cần xóa, giao diện sẽ hiển thị hóa đơn của bàn với các món đã được chọn. Hình 4-8 Giao diện hiển thị hóa đơn của bàn được chọn Ngay tại nhóm “ORDER”, ta chọn vào từng món trong hóa đơn và click vào nút “XÓA MÓN” để thực hiện việc xóa các thức uống đã được chọn trước. 32
  49. Hình 4-9 Nút xóa món trên giao diện Sau khi xóa hết thức uống đã được chọn vào hóa đơn, thì ta tiến hành việc xóa bàn như bình thường. Click vào bàn cần xóa và click vào nút “XÓA BÀN”. + Chuyển bàn: Nếu khách hàng muốn chuyển từ bàn này sang bàn khác, thì ta thao tác trên phần mềm như sau: 33
  50. Bắt đầu Chọn bàn cần chuyển Click vào nút “CHUYỂN BÀN” Chọn bàn muốn chuyển đến và bấm nút thoát “X” Yes No Thông báo Việc chuyển bàn được Hủy việc chuyển bàn thực hiện Kết thúc LưuSơ đ đồồ 3 4-1.-2 SơSơ đđồồ thaochuy tácển bànchuy ển bàn Lưu ý: Sau khi chuyển bàn, nếu muốn thao tác tiếp hoặc thao tác lên bàn mới chuyển thì cần phải click chọn vào bàn để hiển thị trạng thái bàn đang được chọn. khi đó mới có thể thao tác tiếp. + Thanh toán: Nếu muốn thanh toán hóa đơn của bản nào thì ta chỉ việc chọn bàn muốn thanh toán và click vào nút như hình dưới đây. 34
  51. Hình 4-10 Nút thanh toán hóa đơn Sau khi click nút thanh toán, hệ thống hiển thị giao diện thanh toán. 35
  52. Hình 4-11 Giao diện thanh toán hóa đơn Tại đây ta có thể thao tác thêm khách hàng nếu là khách có thẻ VIP hoặc thẻ Member của quán. Nếu khách hàng là khách hàng VIP của quán thì có thể dùng điểm tích lũy của mình để trừ tiền thanh toán. Nếu là khách hàng có thẻ Member thì chỉ được tích điểm đến khi nào đạt tiêu chuẩn lên VIP thì hệ thống tự động cập nhật. 36
  53. Hình 4-12 Lấy thông tin khách hàng Sau khi click vào nút “LẤY THÔNG TIN KHÁCH HÀNG” thì hệ thống hiển thị giao diện khách hàng, người dùng chỉ cần click chọn vào khách hàng mình muốn lấy thông tin. 37
  54. Hình 4-13 Giao diện lấy thông tin khách hàng Sau đó nhấn nút thoát “X”, hộp thông báo sẽ hiện lên “Bạn có muốn lấy thông tin khách hàng”. Bấm “Yes” thì thông tin khách hàng sẽ hiện lên giao diện thanh toán. 38
  55. Hình 4-14 Thông tin khách hàng hiện trên giao diện thanh toán 39
  56. Hình 4-15 Trừ điểm khách hàng VIP Nhập số điểm muốn trừ vào ô trừ điểm. Lưu ý: Số điểm trừ trong 1 lần là ko giới hạn nhưng phải nhỏ hơn số điểm tích lũy. Nếu nhập quá số điểm tích lũy mà khách hàng đang có trong thẻ thì sẽ trả về 0. Tương tự vậy, chi phí khách và giảm giá (nếu có) thì ta chỉ cần nhập số phần trăm giảm ngay ô giảm giá (trong khoãng nhỏ hơn 100%) hoặc nhập số tiền tại ô chi phí khác. Ngay tại chi phí khác, ta cũng có thể trừ tiền ra bằng cách đặt dấu “-” trước số tiền phép tính sẽ được hệ thống thực hiện. Sau khi hoàn tất, thì ta in hóa đơn cho khách hàng. Click vào nút “IN HÓA ĐƠN” để in hóa đơn. 40
  57. Hình 4-16 In hóa đơn 41
  58. Hình 3-17 Hóa đơn tính tiền Hình 4-17 Hóa đơn tính tiền 4.2.3. Chức năng quản lý nhân viên Admin quản lý nhân viên ở form “QUẢN LÝ NHÂN VIÊN”, click vào nút “QUẢN LÝ NHÂN VIÊN” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: 42
  59. Hình 4-18 Giao diện quản lý nhân viên Tại đây người dùng có thể thao tác thực hiện thêm, sửa , xóa thông tin nhân viên. Hoặc có thể tìm kiếm nhân viên một cách nhanh chóng bằng cách nhập tên cảc nhân viên, hệ thống sẽ thực hiện tìm kiếm và hiển thị danh sách kết quả trong bảng bên phải. Chỉ có thể tìm kiếm theo tên của nhân viên. Hình 4-19 Tìm kiếm theo tên nhân viên o Thêm nhân viên: + Click vào nút có biểu tượng + Nhập thông tin nhân viên đầy đủ vào các ô như hình bên dưới: 43
  60. Hình 4-20 Thêm thông tin nhân viên + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. o Sửa thông tin: + Click chọn nhân viên muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa thông tin: + Click chọn nhân viên muốn xóa. + Click vào nút có biểu tượng để xóa nhân viên đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. Lưu ý: Đối với thao tác thêm và sửa, khi chưa bấm nút thì các thao tác vừa thực hiện sẽ không được cập nhật vào cơ sở dữ liệu (SQL). 44
  61. 4.2.4. Chức năng quản lý loại hàng Người dùng quản lý loại hàng ở form “LOẠI HÀNG”, click vào nút “LOẠI HÀNG” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-21 Giao diện quản lý loại hàng o Thêm loại hàng: + Click vào nút có biểu tượng + Nhập thông tin đầy đủ vào các ô như hình bên dưới: Hình 4-22 Thêm thông tin loại hàng + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. o Sửa thông tin: + Click chọn loại hàng muốn sửa thông tin 45
  62. + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa loại hàng: + Click chọn loại hàng muốn xóa. Lưu ý: không có thông tin hàng hóa thuộc loại hàng muốn xóa thì mới có thể tiến hành xóa + Click vào nút có biểu tượng để xóa loại hàng đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. Lưu ý: Đối với thao tác thêm và sửa, khi chưa bấm nút thì các thao tác vừa thực hiện sẽ không được cập nhật vào cơ sở dữ liệu (SQL). 4.2.5. Chức năng quản lý hàng hóa Chức năng chính là quản lý hàng hóa với các thao tác như: xem thông tin hàng hóa, thêm hàng hóa, xóa hàng hóa và chỉnh sửa hàng hóa. Người dùng quản lý hàng hóa ở form “HÀNG HÓA”, click vào nút “HÀNG HÓA” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-23 Giao diện quản lý hàng hóa Hàng hóa sẽ được hiển thị dựa theo loại hàng, chọn loại hàng ngay tại mục “Tên loại hàng”, hàng hóa sẽ được hiển thị ở bảng dữ liệu bên dưới. 46
  63. Hình 4-24 Chọn loại hàng o Thêm hàng hóa: + Click vào nút có biểu tượng + Nhập thông tin đầy đủ vào các ô như hình bên dưới: Hình ảnh có thể để trống. Nếu muốn thêm hình ảnh thì nhấn đôi chuột vào khung hình và chọn file ảnh định dạng png để thêm hình ảnh vào hàng hóa. Hình 4-25 Thêm hàng hóa theo loại hàng + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. o Sửa thông tin: + Click chọn hàng hóa muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa hàng hóa: + Click chọn hàng hóa muốn xóa. + Click vào nút có biểu tượng để xóa hàng hóa đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. 47
  64. Lưu ý: Đối với thao tác thêm và sửa, khi chưa bấm nút thì các thao tác vừa thực hiện sẽ không được cập nhật vào cơ sở dữ liệu (SQL). 4.2.6. Chức năng quản lý khách hàng Người dùng quản lý hàng hóa ở form “QUẢN LÝ KHÁCH HÀNG”, click vào thanh “QUẢN LÝ KHÁCH HÀNG” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-26 Giao diện quản lý khách hàng Khách hàng sẽ được hiển thị theo combobox phía trên. Có 2 loại khách hàng: khách hàng là VIP và khách hàng là Member. Để nhanh chóng trong việc tìm kiếm khách hàng, tương tự như phương thức tìm kiếm ở “QUẢN LÝ NHÂN VIÊN”. Nhập tên khách hàng vào ô tìm kiếm, kết quả tìm kiếm sẽ hiển thị bên bảng dữ liệu kế bên. Hình 4-27 Thanh tìm kiếm nhân viên Tại ngay form này, ta có thể thấy được lịch sử giao dịch của khách hàng và điểm tích lũy. 48
  65. Hình 4-28 Lịch sử giao dịch o Thêm khách hàng: + Click vào nút có biểu tượng + Nhập thông tin đầy đủ vào các ô như hình bên dưới: 49
  66. Hình 4-29 Thêm khách hàng Mã khách hàng: chúng ta không nhập vì mã khách hàng sẽ tự động. Nếu thêm khách hàng là khách VIP thì trước khi thêm ta chỉnh khách VIP ngay tại chỗ được khoanh đỏ dưới đây. Để hiện thị danh sách những khách hàng là VIP, sau đó tiến hành bấm nút để thêm.Và ngược lại là khách Member thì chỉnh khách Member. Hình 4-30 Hiển thị khách hàng theo loại khách hàng + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. 50
  67. o Sửa thông tin: + Click chọn khách hàng muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa khách hàng: + Click chọn khách hàng muốn xóa. + Click vào nút có biểu tượng để xóa khách hàng đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. Lưu ý: Đối với thao tác thêm và sửa, khi chưa bấm nút thì các thao tác vừa thực hiện sẽ không được cập nhật vào cơ sở dữ liệu (SQL). 4.2.7. Chức năng quản lý khu vực - bàn Người dùng quản lý hàng hóa ở form “KHU - BÀN”, click vào thanh “KHU - BÀN” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-31 Giao diện quản lý khu vực - bàn Trong form này có 2 phần: Khu và Bàn. Đối với khu thì ta thao tác thêm khu, sửa thông tin khu và xóa khu (chỉ xóa được khi khu đó không có dữ liệu nào của bàn) tương tự các thao tác ở các form trước. Nếu vô tình xóa thì hệ thống sẽ thông báo “Đối tượng đang được sử dụng không thể xóa”. 51
  68. Hình 4-32 Quản lý khu vực Đối với bàn, bàn được hiển thị theo khu vực, chọn khu vực thì hệ thống sẽ hiện bàn trong khu vực đó trên bảng dữ liệu kế bên. Hình 4-33 Quản lý bàn o Thêm khu vực bàn: + Click vào nút có biểu tượng để thêm khu vực. Nếu thêm bàn thì ta chọn khu vực ở mục “Chọn khu vực” rồi nhấn nút để thêm bàn. + Nhập thông tin đầy đủ. + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. o Sửa thông tin: + Click chọn khu hoặc bàn muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. 52
  69. o Xóa khách hàng: + Click chọn khu hoặc bàn muốn xóa. + Click vào nút có biểu tượng để xóa khu hoặc bàn đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. Lưu ý: Đối với thao tác thêm và sửa, khi chưa bấm nút thì các thao tác vừa thực hiện sẽ không được cập nhật vào cơ sở dữ liệu (SQL). 4.2.8. Chức năng quản lý lương nhân viên Trong chức năng này có 2 phần: ca làm và lương nhân viên. Người dùng quản lý lương nhân viên ở form “QUẢN LÝ LƯƠNG NHÂN VIÊN”, click vào thanh “QUẢN LÝ LƯƠNG NHÂN VIÊN” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-34 Giao diện quản lý lương nhân viên Đối với quản lý ca làm, ta tháo thác thêm ca làm, sửa thông tin ca làm và có thể xóa ca làm. o Thêm ca làm : + Click vào nút có biểu tượng để thêm ca làm việc. + Nhập thông tin đầy đủ. 53
  70. + Click vào nút có biểu tượng để hoàn tất và lưu thông tin, đồng thời dữ liệu mới thêm vào sẽ được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. Hình 4-35 Quản lý ca làm 54
  71. o Sửa thông tin: + Click chọn ca làm muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa ca làm: + Click chọn ca làm muốn xóa. + Click vào nút có biểu tượng để xóa ca làm đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. Đối với nhóm “LƯƠNG NHÂN VIÊN” được sử dụng để nhập ca làm cuả từng nhân viên vào hệ thống để tổng kết lương cho từng nhân viên một cách dễ dàng. Hình 4-36 Quản lý lương nhân viên 55
  72. o Thêm lương nhân viên : + Đầu tiên bạn phải chọn ca làm của nhân viên ở bảng dữ liệu ca làm, chọn nhân viên và Click vào nút có biểu tượng mới có thể thêm lương nhân viên. + Nhập thông tin đầy đủ. + Click vào nút có biểu tượng để lưu thông tin và cập nhật lại giao diện, đồng thời dữ liệu mới thêm vào mới được cập nhật ngay vào cơ sở dữ liệu. + Nếu bạn muốn hủy thao tác đang thêm thì chỉ cần nhấn vào nút một lần nữa để hủy thao tác thêm. Hình 4-37 Giao diện quản lý lương nhân viên o Sửa thông tin: + Click chọn lương nhân viên muốn sửa thông tin + Nhập thông tin cần sửa vào các ô tương ứng. + Nhấn nút để lưu thông tin đã sửa. o Xóa lương nhân viên: + Click chọn lương nhân viên muốn xóa. + Click vào nút có biểu tượng để xóa ca làm đã chọn . Hệ thống sẽ cập nhật dữ liệu lại. 4.2.9. Thống kê doanh thu và hàng hóa bán chạy Người dùng sử dụng chức năng này có thể thống kê được hàng hóa được bán ra nhiều nhất, số lượng, thu nhập. 56
  73. Đối với thống kê hàng hóa bán chạy thì ta chỉ cần nhấn vào nút “THỐNG KÊ HÀNG HÓA BÁN NHIỀU NHẤT” thì hệ thống sẽ hiển thị danh sách các hàng hóa đã được bán và sắp xếp theo số lượng sản phẩm bán nhiều nhất. Đối với thống kê doanh thu thì ta có thao tác như sau: Hình 4-38 Giao diện thống kê Thao tác thực hiện: + Chọn ngày tháng năm đến ngày tháng năm mà người dùng muốn thống kê doanh thu. Hình 4-39 Chọn ngày thống kê + Bấm “XEM THỐNG KÊ DOANH THU” để xem thống kê. + Nếu người dùng có nhu cầu in hóa đơn thống kê thì sao khi click xem thống kê thì click vào nút “IN THỐNG KÊ”. 57
  74. 4.2.10. Thống kê lương Chức năng sử dụng để thống kê lương của từng nhân viên và thống kê tổng số tiền lương mà chủ quản phải chi trong tháng đó. Người dùng thống kê lương ở form “THỐNG KÊ LƯƠNG”, click vào thanh “THỐNG KÊ LƯƠNG” nằm ở thanh bên trái, thì hệ thống sẽ hiển thị giao diện như sau: Hình 4-40 Thống kê lương nhân viên Thống kê lương nhân viên. Chọn kỳ lương (tháng) muốn thống kê, chọn nhân viên và click vào nút “XEM” để xem tất cả các ca đã làm trong tháng vừa qua và tổng tiền lương của nhân viên đó. Nếu có nhu cầu in báo cáo thì ta click vào “IN THỐNG KÊ” để in. 58
  75. Hình 4-41 Thống kê lương từng nhân viên 59
  76. Thống kê lương chi trả trong 1 tháng. Hình 4-42 Giao diện lương cần chi trả trong 1 tháng. Chọn tháng lương và click vào nút “XEM” để xem tổng tiền lương của tất cả các nhân viên mà chủ quán cần chi trả. Nếu có nhu cầu in báo cáo thì ta click vào “IN THỐNG KÊ” để in. 60
  77. CHƯƠNG 5: KẾT LUẬN I. KẾT QUẢ ĐẠT ĐƯỢC 5.1.1. Về kiến thức & học tập Nắm vững kiến thức lý thuyết cơ bản phục vụ tốt cho việc thiết kế chương trình. Thiết kế được CSDL tương đối hoàn chỉnh, đáp ứng tốt cho việc viết chương trình. Xây dựng được một ứng dụng quản lý với đầy đủ các chức năng cần thiết cho việc quản lý bán hàng, minh họa tốt cho các vấn đề lý thuyết đã trình bày. Củng cố lại các kiến thức đã được học, đặc biệt là kỹ năng phân tích, giải quyết vấn đề. Biết cách áp dụng các kiến thức lý thuyết vào ứng dụng thực tế. 5.1.2. Về phần mềm Hoàn thiện đầy đủ chức năng cơ bản của một phầm mềm : thêm, sửa, xóa, cập nhật thông tin. Thống kê. Báo cáo , in hóa đơn, in thống kê. Giao diện chương trình thân thiện, dễ sử dụng, trực quan và linh hoạt. II. HẠN CHẾ CỦA ĐỀ TÀI Do thời gian nghiên cứu còn hạn chế, nên việc nghiên cứu các vấn đề còn chưa đầy đủ. Kiến thức thực tế và kiến thức lập trình còn hạn chế, nên tính chuyên nghiệp của chương trình chưa cao, bắt lỗi chưa kỹ ở một số chỗ và một số tính năng chưa được tối ưu. Chương trình chưa thực sự đầy đủ các tính năng như mong muốn. III. HƯỚNG PHÁT TRIỂN Thiết kế chương trình và chỉnh sửa giao diện mang tính chuyên nghiệp hơn. Tình hiểu các biện pháp về bảo mật cho ứng dụng quản lý, từ đó áp dụng cho chương trình. Bổ sung thêm các chức năng khác: lấy thông tin khách hàng bằng cách quẹt thẻ khách hàng, quản lý nhập hàng, nhà cung cấp, chấm công nhân viên. 61
  78. DANH SÁCH TÀI LIỆU THAM KHẢO DANH SÁCH TÀI LIỆU [1]Phạm Thị Xuân Lộc, Giáo trình cơ sở dữ liệu. Khoa CNTT&TT, ĐHCT. [2]Ths. Phan Tấn Tài & Ths. Đinh Khắc Quyền, Phân tích và thiết kế hệ thống thông tin. Khoa CNTT&TT, ĐHCT. [3]Nguyễn Ngọc Bình Phương, Thái Thanh Phong, Các giải pháp lập trình C#. DANH SÁCH WEBSITE [4] (05/2017) [5] (05/2017) [6] nguoc-lai-image-to-base64-string-and-base64-string-to-image/ (05/2017) [7] trong-combobox.cpp (05/2017) [8] (05/2017) [9] (05/2017) [10] introduction-to-ado-net/ (05/2017) [11] (05/2017) [12] (05/2017) [13] (05/2017) [14] (05/2017) 62