BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM*** 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ê
TỔNG QUAN
TỔNG QUAN VỀ TÌNH HÌNH NGHIÊN CỨU
1.1.1 Kinh doanh thương mại là gì?
Hiện nay, một trong những ngành nghề hấp dẫn và đang ngày càng phát triển, mang lại nguồn thu đáng kể cho cả cá nhân lẫn tổ chức doanh nghiệp Ngành kinh doanh rất đa dạng, từ bất động sản, chứng khoán đến các loại dịch vụ, shop quần áo và quán cà phê, mở ra nhiều cơ hội đầu tư và mở rộng quy mô kinh doanh.
Kinh doanh thương mại là hoạt động mua bán 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 của doanh nghiệp Đây là quá trình đầu tư nguồn lực—tiền bạc và công sức—của một cá nhân hoặc tổ chức vào hoạt động mua bán hàng hóa để kiếm lời Trong thời đại ngày nay, kinh doanh thương mại mang lại nhiều cơ hội nhưng cũng đi kèm với rủi ro, vì vậy các doanh nghiệp phải đảm bảo an toàn trong kinh doanh Để đảm bảo an toàn và phát triển bền vững, doanh nghiệp cần duy trì mức ổn định trong tăng trưởng doanh thu theo từng năm Do đó, hoạt động thúc đẩy bán hàng đóng vai trò quyết định trong việc tăng doanh thu và đảm bảo an toàn cho doanh nghiệp Thị trường luôn biến động và thay đổi không ngừng; bán hàng không chỉ là một hoạt động quen thuộc mà còn có 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 đại, việc tìm kiếm một quán nước hoặc quán coffee để giải khát, thưởng thức những món đồ uống độc đáo và trò chuyện với bạn bè, gia đình hoặc học nhóm tại quán coffee đã trở thành thói quen của nhiều người trẻ Đáp ứng nhu cầu này, việc kinh doanh quán coffee ngày càng phổ biến và đa dạng Các quán cà phê mọc lên như nấm với nhiều mô hình và hình thức thu hút khách hàng Bên cạnh không gian và dịch vụ, chất lượng thức uống đóng vai trò quyết định lượng khách đến quán.
Trước đây, cà phê được xem là thức uống của dân công sở và người đi làm; nay giới trẻ lại yêu thích cà phê không kém, biến thói quen uống cà phê thành một xu hướng phổ biến trong thanh niên Sự du nhập của cà phê đã hình thành một sở thích mới cho giới trẻ, thúc đẩy sự phát triển của các quán cà phê phong cách trẻ trung và các thương hiệu nhắm tới nhóm khách hàng là thanh niên.
Thống kê người dùng cà phê theo độ tuổi
Biểu đồ 1-1 Thống kê lượng người dùng cà phê theo độ tuổi
LÝ DO CHỌN ĐỀ TÀI
Việc mở quán cà phê đòi hỏi sự cân nhắc về tài chính, vật chất và vị trí địa lý thuận lợi để thúc đẩy doanh thu, đồng thời quản lý quán cà phê hiệu quả là câu hỏi lớn về cách vận hành, quản lý nguồn lực và nâng cao trải nghiệm khách hàng Quản lý như thế nào được xem là tiện lợi khi giảm thiểu công sức mà vẫn mang lại kết quả tối ưu Chính vì vậy, các phần mềm quản lý bán hàng ra đời để trả lời những câu hỏi trên, giúp cá nhân hoặc tổ chức vận hành quán một cách thuận tiện, tiết kiệm thời gian và tối ưu hóa “đứa con tinh thần” của mình.
MỤC TIÊU NGHIÊN CỨU
Phần mềm hỗ trợ quản lý các nghiệp vụ trong quán cà phê như tính tiền, in hóa đơn, thống kê doanh thu, quản lý nhân viên và lương thưởng Phần mềm quản lý bán hàng cho quán cà phê giúp tối ưu quy trình vận hành, tiết kiệm thời gian và cho thao tác nhanh chóng, dễ sử dụng Với giao diện thân thiện và các chức năng quản lý tổng thể, giải pháp này giúp kiểm soát doanh thu, quản lý dòng tiền, theo dõi hiệu suất nhân viên và nâng cao chất lượng phục vụ khách hàng.
Xây dựng một hệ thống quản lý bán hàng hiện đại, phù hợp và dễ hiểu, dễ sử dụng cho người dùng phần mềm Để hiểu đúng hệ thống và đáp ứng nhu cầu thực tế, cần xác định rõ các mảng chức năng chính như quản lý khách hàng, sản phẩm, tồn kho, đơn hàng, thanh toán, báo cáo và quản trị người dùng Việc lựa chọn và tổ chức các mô-đun này sẽ giúp ứng dụng phù hợp với thực tiễn kinh doanh, tối ưu quy trình làm việc và nâng cao trải nghiệm người dùng.
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.
Thiết kế giao diện người dùng và các tương tác liên quan giúp tôi nâng cao khả năng sáng tạo và rèn luyện tư duy logic Quá trình làm việc với giao diện người dùng cho phép tôi phát triển ý tưởng, tối ưu hóa trải nghiệm người dùng và giải quyết vấn đề một cách có hệ thống Việc vận dụng kiến thức sẵn có vào thực tiễn giúp biến các khái niệm thiết kế thành giải pháp cụ thể, mang lại hiệu quả và giá trị thực cho người dùng.
NHIỆM VỤ NGHIÊN CỨU
Phần mềm quản lý quán được thiết kế nhằm mang lại sự tiện lợi cho người dùng và giúp các chủ quán xem xét một cách tổng quan tình hình kinh doanh của quán mình Với giao diện trực quan và các báo cáo về doanh thu, số lượt khách, tồn kho và xu hướng tiêu thụ được tổng hợp đầy đủ, hệ thống giúp tối ưu vận hành và ra quyết định dựa trên dữ liệu thực tế.
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.
ĐỐ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.
+ 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.
+ Quy trình hoạt động của một quán cà phê thông thường.
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.
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.
Để chuẩn bị cho khóa luận tốt nghiệp hiệu quả, hãy tìm hiểu xem các đồ án khóa luận của các anh chị khóa trước đã thực hiện những đề tài gì và họ đã triển khai như thế nào, từ đó rút ra các ý tưởng và phương pháp nghiên cứu phù hợp với lĩnh vực của mình; song song với đó, tham khảo sách báo liên quan đến đề tài nghiên cứu sẽ mở rộng nguồn tài liệu, giúp bạn nắm vững lý thuyết, cập nhật xu hướng và xây dựng khung đề cương cũng như cấu trúc bài viết một cách thuyết phục.
4 b Phương pháp nghiên cứu thực tiễn
- 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.
Phạm vi bài viết tập trung vào các nghiệp vụ bán hàng và tuân thủ đúng quy trình quản lý của một quán cà phê, nhằm đảm bảo phần mềm nắm bắt đầy đủ các chức năng cốt lõi đồng thời khai thác các tính năng mới liên quan đến quản lý quán cà phê nhằm tăng thêm tiện ích cho người dùng Bài viết nhấn mạnh sự phù hợp giữa hoạt động bán hàng và quản trị, tối ưu hóa quy trình phục vụ, thanh toán và quản lý tồn kho, đồng thời mở rộng các tính năng tiện ích giúp quán cà phê vận hành hiệu quả hơn Mục tiêu là mang lại trải nghiệm người dùng tốt hơn cho nhân viên và chủ quán thông qua một hệ thống phần mềm quản lý quán cà phê linh hoạt, tích hợp đầy đủ các chức năng chính và các tiện ích mới đáp ứng nhu cầu ngày càng cao của thị trường.
ĐÓ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.
Đây là tổng hợp các chức năng quản lý thiết yếu cho một quán cà phê, đóng vai trò hỗ trợ đắc lực cho quá trình kinh doanh và quản lý thu chi, nhân sự, hàng hóa một cách nhanh chóng và chính xác Các chức năng này giúp theo dõi và tối ưu hóa doanh thu và chi phí, quản lý lịch làm việc và chấm công cho nhân viên, đồng thời kiểm soát tồn kho và nhập xuất nguyên vật liệu, từ đó giảm thiểu lãng phí và tăng hiệu quả vận hành Hệ thống còn cung cấp khả năng tạo báo cáo tài chính, báo cáo quản trị và phân tích dữ liệu để ra quyết định dựa trên thông tin, tối ưu ngân sách và nâng cao chất lượng phục vụ khách hàng Quản lý hàng hóa và danh mục nhà cung cấp được đồng bộ để đảm bảo nguồn cung ổn định, giá cả cạnh tranh và quản lý tồn kho chính xác Tất cả các chức năng này kết hợp tạo nên một quy trình vận hành nhịp nhàng, giúp quán cà phê vận hành thông suốt, tăng lợi nhuận và cải thiện trải nghiệm khách hàng.
KẾ HOẶC NGHIÊN CỨU VÀ CÁC GIAI ĐOẠN THỰC HIỆN
5 Khảo sát tình hình thực tế
6 Phác thảo các chức năng
8 Lập trình các form cơ bản
9 Lập trình các chức năng chính
10 Kiểm thử và sửa lỗi
13 Ghi nhận ý kiến của giảng viên
Bảng kế hoạch nghiên cứu
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
Để đáp ứng nhu cầu quản lý quán cà phê ngày nay, bài viết phác thảo các phương pháp quản lý quán và tổng quan các phần mềm nội địa đã được phát hành cùng với các tài liệu liên quan Hãy tham khảo những phần mềm đang được sử dụng phổ biến để chọn giải pháp phù hợp với quy mô và mô hình kinh doanh của quán Bên cạnh đó, cần tìm hiểu các công cụ, ngôn ngữ lập trình và các kiến thức cơ bản liên quan đến đề tài để xây dựng và tối ưu hệ thống quản lý quán cà phê hiệu quả.
Trong Giai đoạn 2 – Nghiên cứu vấn đề, người đọc cần đọc hiểu các tài liệu liên quan để nắm rõ vai trò và chức năng của các công cụ cũng như ngôn ngữ lập trình được sử dụng, cụ thể Visual Studio 2015, Microsoft SQL Server 2008, ngôn ngữ C#, và PowerDesigner 16.1; việc nắm bắt các yếu tố này giúp xác định yêu cầu kỹ thuật, phân tích khả năng triển khai và thiết kế hệ thống phù hợp Bên cạnh đó, cần tìm hiểu các mô hình bán hàng khác nhau để phân tích ưu nhược điểm và đề xuất các phương án giải quyết thích hợp, đảm bảo sự đồng bộ giữa công nghệ và chiến lược kinh doanh, từ đó tối ưu quy trình và tăng hiệu quả của giải pháp đề xuất.
Giai đoạn 3 là bước xây dựng phần mềm, dựa trên những kiến thức đã được tìm hiểu và dữ liệu đã phân tích Trong giai đoạn này, nhóm phát triển triển khai sản phẩm bằng các công cụ và ngôn ngữ lập trình đã được chọn, đảm bảo mã nguồn được viết chuẩn, bảo mật và tối ưu hóa hiệu suất Quá trình xây dựng đi kèm với kiểm thử liên tục, tối ưu hóa chức năng và đảm bảo tính mở rộng của hệ thống để đáp ứng yêu cầu người dùng và mục tiêu kinh doanh Nhờ sự kết hợp giữa nền tảng lý thuyết vững chắc và dữ liệu thực tế, phần mềm được triển khai một cách nhanh chóng, chất lượng và có khả năng mở rộng trong tương lai.
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
ĐẶC TẢ
Phần mềm quản lý bán hàng tích hợp đầy đủ các chức năng thiết yếu như bán hàng, quản lý nhân sự, quản lý khách hàng và quản lý hàng hóa, cùng với quản lý khu vực – bàn và quản lý lương nhân viên Hệ thống cung cấp các báo cáo và thống kê quan trọng về doanh thu bán hàng, lương chi trả cho nhân viên và mặt hàng bán chạy, giúp tối ưu hóa quy trình vận hành và đưa ra quyết định kinh doanh nhanh chóng và chính xác.
Bán hàng là chức năng chính của phần mềm, đảm nhận vai trò bán hàng và quản lý toàn bộ quy trình phục vụ khách hàng, từ tiếp nhận đơn đặt hàng, mở bàn và chuyển bàn khi khách có nhu cầu, đến chọn món, thanh toán và xuất hóa đơn cho khách hàng.
Quản lý nhân viên là hệ thống lưu trữ hồ sơ nhân sự, bao gồm các trường như tên, giới tính, số điện thoại, mã đăng nhập, mật khẩu và địa chỉ cùng với các thông tin liên quan khác; hệ thống cho phép thao tác thêm mới, chỉnh sửa, xóa và lưu trữ thông tin một cách có tổ chức, nhằm quản lý hồ sơ nhân viên hiệu quả và hỗ trợ quá trình vận hành doanh nghiệp.
Quản lý khách hàng là quá trình lưu trữ và quản trị thông tin khách hàng một cách có tổ chức, bao gồm tên, địa chỉ liên hệ, điểm tích lũy và lịch sử giao dịch Hệ thống cho phép thao tác với dữ liệu như thêm mới thông tin, chỉnh sửa thông tin hiện có, xóa thông tin và lưu trữ thông tin một cách an toàn, nhằm nâng cao chất lượng chăm sóc khách hàng và tối ưu hóa hiệu quả kinh doanh dựa trên dữ liệu giao dịch.
Quản lý hàng hóa được thực hiện bằng cách lưu trữ và duy trì thông tin toàn bộ hàng hóa theo từng loại hàng, giúp kiểm soát tồn kho và tình trạng sản phẩm một cách trực quan Hệ thống cho phép thao tác với dữ liệu gồm thêm mới, sửa đổi và xóa thông tin hàng hóa, đảm bảo dữ liệu luôn được cập nhật và nhất quán Việc lưu trữ thông tin hàng hóa còn hỗ trợ tra cứu nhanh, báo cáo theo loại hàng và theo dõi lịch sử chỉnh sửa để tăng hiệu suất quản lý kho.
Quản lý lương nhân viên hiệu quả bắt đầu bằng việc lưu trữ đầy đủ thông tin các ca làm, bao gồm giờ bắt đầu ca, giờ kết thúc ca và lương trả cho mỗi ca Hệ thống cho phép thao tác thêm, sửa, xóa và lưu thông tin ca làm, đảm bảo dữ liệu luôn cập nhật và nhất quán Dữ liệu ca làm được tổng hợp để tính lương theo từng nhân viên, giúp doanh nghiệp quản lý thanh toán lương nhanh chóng và chính xác.
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 là công cụ phân tích hiệu quả cho doanh nghiệp, cho phép theo dõi doanh thu theo ngày, tháng hoặc năm tùy theo nhu cầu của người dùng Bên cạnh đó, hệ thống còn xác định sản phẩm bán chạy nhất, giúp nhận diện xu hướng thị trường và tối ưu chiến lược kinh doanh Việc nắm bắt dữ liệu theo thời gian và sản phẩm bán chạy nhất hỗ trợ cải thiện quản lý kho, lên kế hoạch marketing và tăng trưởng doanh thu một cách có định hướng.
Khi khách hàng lựa chọn chỗ ngồi, nhân viên phục vụ sẽ đưa menu của quán cho khách Trong lúc khách xem món, nhân viên ghi số bàn và ngày vào giấy order; khi khách gọi món, họ thêm tên món và số lượng vào giấy order Sau đó, nhân viên phục vụ chuyển toàn bộ thông tin vừa ghi cho bộ phận pha chế và quầy thu ngân Liên màu trắng trên phiếu order sẽ được chuyển cho bộ phận pha chế, còn liên màu đỏ sẽ chuyển cho quầy thu ngân để thanh toán và ghi nhận đơn hàng.
8 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.
Khi khách hàng có nhu cầu chuyển sang bàn khác, nhân viên phục vụ sẽ ghi nhận số bàn mong muốn và đồng thời báo cho nhân viên thu ngân để thực hiện thao tác chuyển bàn trên hệ thống quản lý bàn ghế.
Khi khách hàng có nhu cầu tính tiền, nhân viên phục vụ sẽ quay về quầy thu ngân, báo số bàn hiện tại khách đang ngồi và nhận báo giá tiền; sau khi khách thanh toán, thu ngân sẽ tính đúng số tiền trên hoá đơn và trả lại tiền thừa (nếu có), đồng thời in hoá đơn thanh toán cho khách Sau khi in hoá đơn, hệ thống tự động chuyển trạng thái từ “Đang sử dụng” sang “Trống” Hoá đơn hiển thị đầy đủ thông tin như tên bàn, nhân viên thu ngân chịu trách nhiệm hoá đơn đó, logo (nếu có), tên hàng, số lượng, đơn giá, thành tiền, và các mục trừ như điểm tích lũy, giảm giá, chi phí khách.
Thu ngân có nhiệm vụ mở bàn và nhập đúng thông tin trên đơn hàng, gồm tên hàng hóa và số lượng do nhân viên phục vụ ghi, nếu mở bàn sai vẫn có thể mở lại Khi thanh toán, nếu khách hàng có thẻ VIP, thu ngân sẽ lấy thông tin VIP và chiết khấu theo tỷ lệ đã được quy định trong hệ thống Quán có chương trình ưu đãi giảm giá thì khi thanh toán nhân viên thu ngân nhập phần trăm giảm giá để số tiền thanh toán tự động cập nhật Dựa trên tổng tiền thanh toán, hệ thống sẽ tự động tính điểm tích lũy 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 gồm 3 cấp độ: khách hàng mới, thẻ Member và thẻ VIP, giúp tối ưu chương trình chăm sóc và tích lũy điểm Khi khách hàng mới có nhu cầu mở thẻ, nhân viên thu ngân sẽ mở thẻ cho khách và chuyển khách sang 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 đạt 100 điểm, hệ thống tự động nâng thẻ từ Member lên thẻ VIP Với khách hàng VIP, việc tích điểm vẫn tiếp tục và điểm tích lũy hiện tại có thể đổi thành tiền để thanh toán tại quán (1 điểm = 1.000 VNĐ).
Hệ thống quản lý khu vực và bàn hiển thị giao diện người dùng cho quản lý các khu vực và bàn ăn Để chỉnh sửa thông tin của bất kỳ khu vực hoặc bàn nào, nhân viên chọn khu vực hoặc bàn cần cập nhật, nhập thông tin mới và lưu lại thay đổi.
Quản lý ca làm được thực hiện bởi người dùng có quyền cao nhất (Admin), người sẽ nhập ca làm của nhân viên dựa trên lịch làm đã được sắp xếp vào hệ thống Cuối tháng, hệ thống sẽ tổng hợp và thống kê số giờ làm, sau đó xuất phiếu cho từng nhân viên, đảm bảo dữ liệu đầy đủ, chính xác và thuận tiện cho thanh toán và lưu trữ hồ sơ.
Hệ thống thống kê bán hàng sẽ hiển thị báo cáo ngày, báo cáo tháng và báo cáo năm, giúp bạn nắm bắt nhanh tình hình doanh số và hiệu suất bán hàng Trong mỗi chu kỳ, bảng tổng hợp cho biết số lượng hàng hóa đã bán được, từ đó bạn có thể đánh giá hoạt động kinh doanh và lên kế hoạch điều chỉnh chiến lược Báo cáo còn xác định hàng hóa bán chạy nhất trong kỳ, giúp tối ưu hóa quản lý tồn kho và chiến lược khuyến mãi Việc theo dõi dữ liệu theo ngày, theo tháng và theo năm cho phép so sánh xu hướng, nhận diện biến động thị trường và đưa ra quyết định dựa trên số liệu thực tế.
NHỮNG CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI NGHIÊN CỨU
Cơ sở dữ liệu
Một kho dữ liệu được tổ chức theo một nguyên tắc nhất định, là tập hợp các tập tin có liên quan với nhau nhằm giảm thiểu dư thừa dữ liệu và đảm bảo tính tin cậy khi truy xuất Các tập tin này chứa thông tin biểu diễn các đối tượng trong một ứng dụng thế giới thực, giúp quản trị dữ liệu dễ dàng và cung cấp cái nhìn nhất quán cho người dùng và hệ thống.
Hệ quản trị cơ sở dữ liệu (DBMS)
Là một hệ thống bao gồm một CSDL và các thao tác trên CSDL, đây là hệ thống chương trình, công cụ cho phép quản lý và tương tác với cơ sở dữ liệu Trên nền tảng này, người dùng có thể định nghĩa cấu trúc dữ liệu, thực hiện các thao tác trên dữ liệu và xử lý dữ liệu trong CSDL để xuất ra những thông tin có ích cho quyết định và báo cáo.
Các chức năng của một hệ quản trị cơ sở 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,…
Object Services
Trong kiến trúc phần mềm, tầng truy cập dữ liệu (data access layer - DAL) chịu trách nhiệm xử lý mọi tương tác giữa ứng dụng và cơ sở dữ liệu Đây là nơi chủ yếu để truy cập dữ liệu từ database và trả kết quả về giao diện người dùng, đồng thời đóng vai trò trừu tượng hóa các thao tác CRUD và ánh xạ dữ liệu giữa bảng cơ sở dữ liệu với các đối tượng trong ứng dụng DAL giúp tách biệt logic kinh doanh khỏi phần truy cập dữ liệu, tối ưu hiệu suất thông qua quản lý kết nối, bộ đệm và tối ưu truy vấn, đồng thời tăng cường an toàn bằng các biện pháp phòng ngừa như SQL injection Thiết kế DAL rõ ràng làm hệ thống dễ bảo trì, dễ mở rộng và dễ kiểm thử khi thay đổi nguồn dữ liệu hoặc tích hợp thêm nguồn dữ liệu khác.
Dịch vụ 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 quản lý các quan hệ và thay đổi ở cơ sở dữ liệu Các lớp này bao gồm các thành phần và công cụ cần thiết để theo dõi lịch sử thay đổi, quản lý nhận dạng người dùng và đối tượng, cũng như xử lý mối quan hệ giữa các bảng dữ liệu và đảm bảo tính nhất quán của dữ liệu.
ObjectContext đại diện cho một cơ sở dữ liệu và là thành phần quản lý toàn bộ kết nối đến nguồn dữ liệu Nó định nghĩa mô hình dữ liệu bằng metadata và cung cấp các thao tác để tương tác với cơ sở dữ liệu, từ truy vấn và cập nhật đến xóa, đảm bảo tính nhất quán và hiệu suất cho ứng dụng Lớp này cũng có thể mở rộng bằng cách thêm các phương thức đại diện cho các stored procedure đã lưu trữ trong cơ sở dữ liệu, giúp tích hợp logic nghiệp vụ phức tạp một cách linh hoạt và hiệu quả Nhờ thiết kế này, quản trị dữ liệu trở nên nhất quán, dễ bảo trì và có thể mở rộng để phù hợp với các yêu cầu của hệ thống.
ObjectSet là một tập hợp các entity trong Entity Framework Mỗi đối tượng trong ObjectSet tương ứng với một bảng (table) trong cơ sở dữ liệu Bạn có thể lấy được các đối tượng này thông qua các property của ObjectContext, cho phép truy vấn và thao tác dữ liệu một cách trực quan và nhất quán.
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 and EntityReference are objects that represent the relationship between two entity classes Each of these relationship objects can be accessed through the properties of the entity class, enabling navigation to related entities directly from the entity instance.
EntityClient Data Provider
Đây là tầng cung cấp kết nối và diễn dịch các truy vấn thực thể thành truy vấn nguồn dữ liệu (chuyển từ L2E – LINQ to Entity hoặc từ các truy vấn thực thể SQL thành truy vấn SQL), trả về data reader để Entity Framework dùng chuyển dữ liệu thực thể thành các đối tượng Tầng này kết nối với ADO.NET Data Providers để gửi hoặc nhận dữ liệu từ cơ sở dữ liệu và hoàn toàn khác với EDM ở chỗ thực thi các truy vấn theo cách tương tự như 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.
ADO.NET Data Providers
Đây là tầng thấp nhất trong quá trình dịch truy vấn L2E (LINQ to Entities) sang các câu lệnh SQL bằng cách dịch từ cây lệnh thành các câu lệnh SQL và sau đó thực thi chúng trong hệ quản trị cơ sở dữ liệu (DBMS) Tầng này kết nối với cơ sở dữ liệu thông qua ADO.NET, cung cấp nền tảng cho việc truy vấn dữ liệu hiệu quả và tương thích với nhiều DBMS khác nhau.
EDM (Entity Data Model)
Entity Data Model (EDM) consists of three core components: the conceptual schema defined by CSDL (Conceptual Schema Definition Language), the mapping specification defined by MSL (Mapping Specification Language), and the store schema defined by SSDL (Store Schema Definition Language) These three parts establish a clear separation between the domain model and the storage model, enabling effective data modeling and ORM mappings.
1 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 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 ký hiệu đồ họa phù hợp với các phương pháp mô hình hóa thực tế, từ mô hình thực thể và mối kết hợp đến mô hình quan hệ, nhằm thể hiện rõ cấu trúc cũng như các quan hệ giữa các thành phần Việc dùng ký hiệu đồ họa chuẩn giúp người đọc dễ hiểu và tối ưu cho SEO bằng cách nhấn mạnh các từ khóa liên quan như ký hiệu đồ họa, mô hình hóa, mô hình thực thể và 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ể là khái niệm dùng để chỉ một lớp các đối tượng có đặc tính chung mà ta muốn quản lý thông tin về chúng Ví dụ sinh viên, hàng hóa và vật tư là các thực thể điển hình trong hệ thống quản lý dữ liệu; mỗi thực thể có các thuộc tính như mã, tên và mô tả, đồng thời có thể liên kết với các thực thể khác thông qua các mối quan hệ trong cơ sở dữ liệu.
Một đối tượng cụ thể thuộc một thực thể được gọi là cá thể (hay còn gọi là thể hiện của thực thể) Đây là khái niệm chỉ một đơn vị riêng biệt thuộc về thực thể đó Ví dụ, Lê Văn Bình là một cá thể của thực thể Sinh viên, còn Xi măng là một cá thể của thực thể Hàng hóa.
Để mô tả thông tin về một thực thể, ta dựa vào các đặc trưng riêng của thực thể đó, được gọi là thuộc tính Ví dụ với thực thể Sinh viên, các thuộc tính gồm Mã sinh viên, Họ tên sinh viên, Ngày sinh, Địa chỉ, Trường, Khoa, Khóa sinh viên và Lớp Những thuộc tính này cho phép mô tả đầy đủ và có cấu trúc nhằm phục vụ cho việc lưu trữ, tra cứu và quản lý dữ liệu trong hệ thống thông tin.
Một liên kết là sự ghép nối giữa hai hoặc nhiều thực thể, phản ánh mối liên hệ giữa các thực thể trong hệ thống dữ liệu Liên kết cho phép kết nối các đối tượng với nhau để tạo thành cấu trúc có ý nghĩa và hữu ích trong quản lý thông tin Có ba kiểu liên kết phổ biến: liên kết một-một (1-1), quan hệ nhiều-nhiều (n-n), và quan hệ một-nhiều (1-n).
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 giữa hai thực thể A và B mô tả một mối quan hệ trong đó mỗi thực thể kiểu A có thể tương ứng với nhiều thực thể kiểu B, trong khi mỗi thực thể kiểu B lại 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 (IDE) do Microsoft cung cấp, được thiết kế để hỗ trợ toàn diện cho quá trình phát triển phần mềm Nó được sử dụng để phát triển chương trình máy tính trên Windows cũng như xây dựng các trang web, ứng dụng web và dịch vụ web, đồng thời cung cấp công cụ gỡ lỗi, quản lý dự án và triển khai mã nguồn hiệu quả cho cả ứng dụng máy tính để bàn và ứng dụng web.
Visual Studio is a development environment built on Microsoft's software development platform, supporting technologies like Windows API, Windows Forms, Windows Presentation Foundation (WPF), Windows Store apps, and Microsoft Silverlight It can compile both native (unmanaged) machine code and managed code for the NET ecosystem, making it a versatile tool for building Windows applications across a variety of deployment targets.
Visual Studio là môi trường phát triển tích hợp (IDE) mạnh mẽ cung cấp trình soạn thảo mã hỗ trợ IntelliSense và các cải tiến về mã nguồn, cùng debugger tích hợp hoạt động ở cả mức độ mã nguồn và mức độ máy Các công cụ tích hợp hỗ trợ thiết kế ứng dụng gồm mẫu thiết kế cho giao diện người dùng, thiết kế web, thiết kế lớp và sơ đồ cơ sở dữ liệu Hệ thống plug-in cho phép mở rộng chức năng ở nhiều cấp, bổ sung hỗ trợ quản lý phiên bản (như Subversion) và thêm bộ công cụ mới cho biên tập, thiết kế trực quan và các khía cạnh khác của quy trình phát triển phần mềm.
PHÂN TÍCH VÈ THIẾT KẾ HỆ THỐNG BÁN HÀNG
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ể loại khách hàng.
Thực thể nhà cung cấp.
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ể bàn b Liệt kê thành phần các thực thể
NHANVIEN MaNV Variable characters (50)
ChucVu Variable characters (50) NgayVaoLam Date & Time
MatKhau Variable characters (32) Identifier_1
Bảng 3-1 Thực thể nhân viên
Trong hệ thống, mỗi thực thể nhân viên có các thuộc tính sau: Mã nhân viên (MaNV) dùng làm tài khoản đăng nhập; Tên nhân viên (TenNV); Địa chỉ (DiaChi); Số điện thoại (SDT); Chức vụ (ChucVu); Ngày vào làm (NgayVaoLam); Giới tính (GioiTinh) với giá trị True là nữ, False là nam; Phân quyền (PhanQuyen) với True là quyền Admin và False là quyền truy cập của nhân viên; và Mật khẩu (MatKhau) dùng để đăng nhập.
TenKH Variable characters (50) DiaChi Variable characters (150) SDT Variable characters (13)
Bảng 3-2 Thực thể khách hàng
+ 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
Thực thể loại khách hàng
LOAIKHACHHANG MaLKH Variable characters (50) TenLKH Variable characters (150)
Bảng 3-3 Thực thể loại khách hàng
+ 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á
HANGHOA MaHH Variable characters (50) TenHH Variable characters (150)
Bảng 3-4 Thực thể hàng hóa
+ 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
Variable Variable Variable characters (50) characters (150) characters (150)
Bảng 3-5 Thực thể loại hàng
+ 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)
Bảng 3-6 Thực thể ca làm việc
+ 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
Bảng 3-7 Thực thể hóa đơn bán hàng
+ 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á
2 o ChiPhiKhac: chi phí khác o DiemTL: điểm tích lũy
Variable Variable Variable characters (50) characters (150) characters (50)
Bảng 3-8 Thực thể khu vực
+ 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
Variable Variable Variable characters (50) characters (150) characters (150)
+ 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
KHUVUC MaKV Variable characters (50) TenKVVariable characters (150) TrangThaiVariable characters (50)
BAN MaBan Variable characters (50) TenBanVariable characters (150) ThuocTinhVariable characters (150)
MaKH TenKH DiaChi SDT DiemTL
Integer Variable characters (50) Variable characters (150) Variable characters (13) Integer
Mối kết hợp KHUVUC-BAN
Variable Variable characters (50) characters (150) characters (150)
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
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
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.
LOAIKHACHHANG MaLKH Variable characters (50) TenLKHVariable characters (150) GiamGiaInteger
LOAIHANG MaLH Variable characters (50) TenLHVariable characters (150) MoTaVariable characters (150)
Date & Time Integer Integer Integer
NHANVIEN MaNV Variable characters (50) TenNVVariable characters (150) DiaChiVariable characters (150)
SDTVariable characters (13) ChucVuVariable characters (50) NgayVaoLamDate & Time GioiTinhBoolean PhanQuyenBoolean MatKhauVariable characters (32)
Mối kết hợp KHACHHANG-LOAIKHACHHANG
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)
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
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
MaHH Variable characters (50) TenHHVariable characters (150) SoLuongInteger
MaBan Variable characters (50) TenBanVariable characters (150)
MaLH Variable characters (50) TenLHVariable characters (150) MoTaVariable characters (150)
MaNV Variable characters (50) TenNVVariable characters (150) DiaChiVariable characters (150)
SDTVariable characters (13) ChucVuVariable characters (50) NgayVaoLamDate & Time GioiTinhBoolean PhanQuyenBoolean MatKhauVariable characters (32)
MaHDBH Integer NgayHDBHDate & Time TongTienInteger
+ 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.
THIẾT KẾ MÔ HÌNH
MaKH TenKH DiaChi SDT DiemTL
Integer Variable characters (50) Variable characters (150) Variable characters (13) Integer
Hình 3-1 Mô hình CDM của phần mềm quản lý quán cà phê
Variable Variable Variable characters (50) characters (150) characters (50)
TenHH varchar(150) SoLuong int
MaLH varchar(50) TenLH varchar(150) MoTavarchar(150)
FK_BAN_RELATIONS_KHUVUC ITIETBA_HOADONBA
MaNV TenNV DiaChi SDT ChucVu
NHANVIEN varchar(50) varchar(150) varchar(150) varchar(13) varchar(50)
NgayVaoLam GioiTinh PhanQuyen MatKhau datetime bit bit varchar(32)
TongSoCaLam ThanhTien KyLuong varchar(50) varchar(50) int int varchar(7)
FK_CHITIETL_CH ITIETLU_CALAMVIE
MaHDBH MaNV MaBan MaKH NgayHDBH TongTien GiamGia DiemTL ChiPhiKhac int varchar(50) varchar(50) int datetime int int int int
TenKH DiaChi SDT DiemTL varchar(50) varchar(150) varchar(13) int
Hình 3-2 Mô hình PDM của phần mềm quản lý quán cà phê
TenCLV varchar(50) GioBD datetime GioKT datetime
MaLKH varchar(50) TenLKH varchar(150)
MA LKH TENKH DIA C HI SDT DIEMTL
MA LH TENHH HINHA NH GIA SP
SO LUO NG THA NHTIEN
MA LKH TENLKH GIA MGIA
MA KV TENBA N THUO C TINH
MA KV TENKV TRA NGTHA I
MA LH TENLH MO TA
MA HDNH MA NV NGA YHDNH
KYLUO NG n in THA NHTIEN
TO NGSO C A LA MTRO in n
MÔ HÌNH CƠ SỞ DỮ LIỆU
MA C LV TENC LV GIO BD GIO KT
Mô hình cơ sở dữ liệu
MA NC CTENNC CDIA C HISDT
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-16 Cơ sở dữ liệu bảng NHANVIEN b Khách hàng
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-17 Cơ sở dữ liệu bảng KHACHHANG c Loại khách hàng
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-18 Cơ sở dữ liệu bảng LOAIKHACHHANG d Bàn
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-19 Cơ sở dữ liệu bảng BAN
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-20 Cơ sở dữ liệu bảng KHUVUC f Hàng hóa
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-21 Cơ sở dữ liệu bảng HANGHOA g Loại hàng hóa
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 2-22 Cơ sở dữ liệu bảng LOAIHANGHOA h Ca làm việc
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 2-23 Cơ sở dữ liệu bảng CALAMVIEC
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-24 Cơ sở dữ liệu bảng HOADONBANHANG k Chi tiết bán hàng
STT Tên thuộc tính Kiểu dữ liệu Khóa chính Allow
Bảng 3-25 Cơ sở dữ liệu bảng CHITIETBANHANG l Chi tiết lương nhân viên
STT Tên thuộc tính Kiểu dữ liệu Khóachính Allow
Bảng 3-26 Cơ sở dữ liệu bảng CHITIETLUONGNHANVIEN
Tải bản FULL (78 trang): https://bit.ly/2OB4Arm Dự phòng:
Người dùng nhập tên đăng nhập và mật khẩu Đăng nhập lại Đúng Hệ thống kiểm tra
Hiển thị giao diện phần mềm chính “Đăng nhập thất bại”
GIAO DIỆN PHẦN MỀM
GIAO DIỆN ĐĂNG NHẬP
Đây là bước đầu tiên để truy cập hệ thống: người dùng nhập tên đăng nhập và mật khẩu Nếu thông tin đăng nhập đúng, hệ thống sẽ hiển thị giao diện chức năng chính bán hàng Nếu sai, hệ thống sẽ hiện hộp thông báo “Đăng nhập thất bại” và cho phép đăng nhập lại.
Lưu đồ 4-1 Sơ đồ đăng nhập
Chương trình đăng nhập dựa trên Tên đăng nhập (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, mỗi nhân viên có thể đổi mật khẩu đăng nhập hệ thống và tự đổi mật khẩu cho tài khoản của mình để tăng cường bảo mật.
Tải bản FULL (78 trang): https://bit.ly/2OB4Arm Dự phòng: