Phần mềm quản lý nhà hàng

Công nghệ thông tin là phương tiện trợ giúp đắc lực và hiệu quả cao trong công tác quản lý. Việc ứng dụng công nghệ thông tin trong công tác quản lý nhà hàng là một việc làm cần thiêt nhằm nâng cao chất lượng của công tác quản lý, góp phần thúc đẩy nhà hàng phát triển toàn diện, mang lại lợi nhuận kinh tế cao. Dưới sự gợi ý và hướng dẫn tận tình của thầy Thái Thanh Tùng, em thực hiện đề tài này nhằm đưa ra một giải pháp tin học hoá phù hợp cho việc quản lý nhà hàng. Với đồ án này, em đã hoàn thành những yêu cầu sau: • Chương trình được xây dựng trên một hệ thống giao diện đơn giản, dễ sử dụng, thích hợp cho từng đối tượng người sử dụng. • Tất cả các Form nhập liệu đều được bẫy lỗi cho các trường. • Chương trình tự động sinh mã nhân viên, mã bộ phận, mã nhà cung cấp, mã hoá đơn nhập xuất, mã nguyên liệu, nhóm nguyên liệu, mã món ăn, nhóm món ăn. • Lập trình để thực hiện các thao tác lưu trữ và quản lý về nhân viên, nhà cung cấp, các báo cáo, hóa đơn • Mã hoá dữ liệu mật khẩu đăng ký của nhân viên. • Lập trình trợ giúp tra cứu và lấy thông tin cần thiết một cách dễ dàng.

doc71 trang | Chia sẻ: lylyngoc | Lượt xem: 10834 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Phần mềm quản lý nhà hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
y là công việc mà nhân viên cấp dưới không được phép thao tác. Nhân viên Nhân viên là người trực tiếp thao tác sử dụng phần mềm để thực hiện những nghiệp vụ liên quan dưới những mức cấp quyền mà nhà quản lý đã cấp. Nhập các thông tin về nhân viên, nhà cung cấp, khách hàng, hóa đơn xuất nhập. Tổng hợp các báo cáo, thống kê doanh thu. Tìm kiếm các thông tin cần thiết phục vụ cho công việc của mình. … CHƯƠNG 2 GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 2.1 Công nghệ .NET Vào tháng 7/2000, tại hội nghị Professional Developers' Conference ở Orlando hãng Microsoft đã công bố dự án bí mật nhất của họ trong gần 3 năm có tên gọi là Next Generation Windows Services (dự án này bắt đầu từ đầu năm 1998). Đến tháng 11/2000 thì Microsoft cho phát hành bản Beta 1 của công nghệ mới nhất có tên chính thức là .NET gồm ba CD. .NET mang dấu tích những sáng kiến đã được áp dụng trước đây như p-code trong UCSD Pascal cho đến Java Virtual Marchine. Có điều Microsoft góp nhặt những sáng kiến của người khác, kết hợp với những sáng kiến của chính mình để làm nên một sản phẩm tuyệt hảo. Theo công bố của hãng Microsoft, thì 80% ngân sách R&D (nghiên cứu & phát triển) trong suốt những năm đó được dành cho .NET, và trong tương lai toàn bộ các sản phẩm của Microsoft sẽ được chuyển sang nền tảng công nghệ .NET - .NET có rất nhiều các tính năng ưu việt khác nhau, mang đến phương pháp xây dựng và vận hành hệ thống một cách hiệu quả, tại đây chỉ xin nhắc lại hai đặc điểm quan trọng của .NET Framework: Thứ nhất: Framework của .NET gói toàn bộ các dịch vụ của hệ điều hành lại, khiến lập trình viên không phải quan tâm đến những việc liên hệ đến hệ điều hành như dịch vụ làm việc với tệp (file handling), quản lý và cấp phát bộ nhớ (memory allocation). .NET Framework mang đến mọi tầng lớp triển khai phần mềm từ việc trình bày (presentation) cho đến các bộ phận (components) và dữ kiện (data). Thứ hai: .NET đã được thiết kế từ con số không để giúp cho các lập trình viên có thể xây dựng cho Internet dễ dàng như cho desktop. 2.2 Visual Studio.NET và Visual C# .NET Visual Studio. NET cung cấp một môi trường phát triển mức cao để xây dựng các ứng dụng trên .NET Framework. Với bộ Visual Studio.NET chúng ta có thể đơn giản hoá việc tạo, triển khai và tiếp tục phát triển các ứng dụng Web và các dịch vụ Web có sẵn một cách an toàn, bảo mật và khả nǎng biến đổi được. Visual Studio. NET là một bộ đa ngôn ngữ các công cụ lập trình. Ngoài C# (Visual C#.NET), Visual Studio.NET còn hỗ trợ Visual Basic, Visual C++, Visual J#.NET và các ngôn ngữ script như VBScript và JScript. Trong đó C# nổi bật về tinh chặt chẽ và ưu việt. Visual C# .NET là một ngôn ngữ lập trình đơn giản, hiện đại, hướng đối tượng an toàn kiểu (type-safe) và có nguồn gốc từ các ngôn ngữ C và C++. C# là một ngôn ngữ rất thân thiện với người lập trình C và C++. C# là kết quả của việc kết hợp hiệu nǎng cao của Visual Basic và sức mạnh của C++. C# được Microsoft giới thiệu để xây dựng với Web và đòi hỏi quyền được cung cấp một môi trường đồng bộ với HTML, XML và SOAP. Tóm lại C# là một ngôn ngữ lập trình hiện đại và là một môi trường phát triển đầy tiềm nǎng để tạo ra các dịch vụ Web XML, các ứng dụng dựa trên Microsoft .NET và cho cả nền tảng Microsoft Windows cũng như tạo ra các ứng dụng Internet thế hệ kế tiếp một cách nhanh chóng và hiệu quả. 2.3 NET FRAMEWORK .NET Framework là thành quả tối ưu của sự kết hợp công sức và trí tuệ của Microsoft, nhằm tạo ra một nền tảng cho việc xây dựng và triển khai nhanh chóng các dịch vụ và ứng dụng Web XML. Tầm nhìn của nền tảng .NET Framework kết hợp một mô hình lập trình đơn giản, dễ sử dụng với các giao thức mở và biến đổi được của Internet. Để đạt được tầm nhìn này, việc thiết kế .NET Framework nhằm một số mục đích: Sự hợp nhất thông qua các chuẩn Internet công cộng: Để giao tiếp với những đối tác kinh doanh, những khách hàng phụ thuộc vào các khu vực theo vị trí địa lý, thậm trí cả những ứng dụng cho tương lai, những giải pháp phát triển cần được đề nghị hỗ trợ cho các chuẩn Internet mở và tích hợp chặt chẽ với các giao thức mà không bắt buộc người phát triển phải thông hiểu cơ sở hạ tầng bên dưới nó. Khả nǎng biến đổi được thông qua một kiến trúc "ghép nối lỏng": Đa số các hệ thống lớn, biến đổi được trên thế giới được xây dựng trên những kiến trúc không đồng bộ dựa trên nền thông điệp (message-based). Nhưng công việc xây dựng các ứng dụng trên một kiến trúc như vậy thường phức tạp và có ít các công cụ hơn so với những môi trường phát triển ứng dụng N lớp (N-tier) "ghép nối chặt" .NET Framework được xây dựng để đem lại những lợi thế về nǎng suất của kiến trúc "ghép nối chặt" với khả nǎng biến đổi được và vận hành với nhau của kiến trúc "ghép nối lỏng". Hỗ trợ nhiều ngôn ngữ: Các nhà phát triển sử dụng những ngôn ngữ khác nhau do mỗi ngôn ngữ riêng có những ưu thế đặc thù : một số ngôn ngữ đặc biệt thích hợp với thao tác toán học; một số khác lại đa dạng ở các hàm tính toán tài chính v.v. .NET Framework cho phép các ứng dụng được viết trong nhiều ngôn ngữ lập trình khác nhau và chúng có khả nǎng tích hợp với nhau một cách chặt chẽ. Ngoài ra, với .NET Framework, các công ty còn có thể tận dụng những lợi thế của kỹ nǎng phát triển sẵn có mà không cần phải đào tạo lại và cho phép những người phát triển sử dụng ngôn ngữ mà họ ưa thích. Nâng cao nǎng suất cho các nhà phát triển: Với số lượng các nhà phát triển ứng dụng không nhiều nên mỗi giờ làm việc họ phải cho ra kết quả công việc cụ thể. Các nhóm phát triển với .NET Framework có thể loại bỏ những công việc lập trình không cần thiết và tập trung vào viết các lôgic doanh nghiệp. Chẳng hạn như .NET Framework có ưu điểm tiết kiệm thời gian như thực hiện các giao dịch tự động và dễ sử dụng, quản lý bộ nhớ một cách tự động và có chứa một tập các đối tượng điều khiển đa dạng bao hàm nhiều tác vụ phát triển chung. Bảo vệ những sự đầu tư thông qua việc bảo mật đã được cải tiến: Một trong những vấn đề liên quan lớn nhất đến Internet hiện nay là bảo mật. Kiến trúc bảo mật của .NET Framework được thiết kế từ dưới lên để đảm bảo các ứng dụng và dữ liệu được bảo vệ thông qua một mô hình bảo mật dựa-trên-bằng-chứng (evidence-based) và tinh vi. Tận dụng những dịch vụ của hệ điều hành: Windows cung cấp một số lượng đa dạng các dịch vụ có sẵn với bất kỳ nền tảng nào; như truy cập dữ liệu một cách toàn diện, bảo mật tích hợp, các giao diện người dùng tương tác, mô hình đối tượng thành phần đáng tin cậy và các giám sát quá trình giao dịch. .NET Framework đã tận dụng lợi thế đa dạng và phong phú này để đưa ra cho mọi người theo cách dễ sử dụng nhất. 2.4 Tổng quan về mô hình N-TIER N-Tier là một kiến trúc phần mềm mà theo đó các ứng dụng được xây dựng bằng cách sắp xếp các lớp một cách login lên nhau. Mỗi lớp trong ứng dụng N-Tier đóng vai trò cụ thể và xác định: Xử lý công việc theo nhiệm vụ của mình, sử dụng dịch vụ của những tầng khác và cũng là dihcj vụ cho các tầng khác sử dụng. Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta hay nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau. Ví dụ trong một công ty bạn có từng phòng ban, mỗi phòng ban sẽ chịu trách nhiệm một công việc cụ thể nào đó, phòng này không được can thiệp vào công việc nội bộ của phòng kia như Phòng tài chính thì chỉ phát lương, còn chuyện lấy tiền đâu phát cho các anh phòng Marketing thì các anh không cần biết. Trong phát triển phần mềm, người ta cũng áp dụng cách phân chia chức năng này. Bạn sẽ nghe nói đến thuật ngữ kiến trúc đa tầng/nhiều lớp, mỗi lớp sẽ thực hiện một chức năng nào đó, trong đó mô hình 3 lớp là phổ biến nhất. 3 lớp này là gì? Là Presentation, Business Logic, và Data Access. Các lớp này sẽ giao tiếp với nhau thông qua các dịch vụ(services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi. Presentation Layer Lớp này làm nhiệm vụ giao tiếp với người dùng cuối để thu thập dữ liệu và hiển thị kết quả/dữ liệu thông qua các thành phần trong giao diện người sử dụng. Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. Trong .NET thì bạn có thể dùng Windows Forms, ASP.NET hay Mobile Forms để hiện thực lớp này. Trong lớp này có 2 thành phần chính là User Interface Components và User Interface Process Components. UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thông tin cho người dùng cuối. Trong ASP.NET thì những thành phần này có thể là các TextBox, các Button, DataGrid... UI Process Components: là thành phần chịu trách nhiệm quản lý các qui trình chuyển đổi giữa các UI Components. Ví dụ chịu trách nhiệm quản lý các màn hình nhập dữ liệu trong một loạt các thao tác định trước như các bước trong một Wizard... Lưu ý: lớp này không nên sử dụng trực tiếp các dịch vụ của lớp Data Access mà nên sử dụng thông qua các dịch vụ của lớp Business Logic vì khi bạn sử dụng trực tiếp như vậy, bạn có thể bỏ qua các ràng buộc, các logic nghiệp vụ mà ứng dụng cần phải có. Business Logic Layer Lớp này thực hiện các nghiệp vụ chính của hệ thống, sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình(ví dụ như sử dụng dịch vụ của các cổng thanh tóan trực tuyến như VeriSign, Paypal...). Trong lớp này có các thành phần chính là Business Components, Business Entities và Service Interface. Service Interface là giao diện lập trình mà lớp này cung cấp cho lớp Presentation sử dụng. Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diện này mà không cần phải quan tâm đến bên trong lớp này được hiện thực như thế nào. Business Entities là những thực thể mô tả những đối tượng thông tin mà hệ thống xử lý. Các business entities này cũng được dùng để trao đổi thông tin giữa lớp Presentation và lớp Data Access. Business Components là những thành phần chính thực hiện các dịch vụ mà Service Interface cung cấp, chịu trách nhiệm kiểm tra các ràng buộc logic (constraints), các qui tắc nghiệp vụ (business rules), sử dụng các dịch vụ bên ngoài khác để thực hiện các yêu cầu của ứng dụng. Data Access Layer Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu của ứng dụng. Thường lớp này sẽ sử dụng các dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle... để thực hiện nhiệm vụ của mình. Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, Servive Agents). Data Access Logic components (DALC) là thành phần chính chịu trách nhiệm lưu trữ vào và truy xuất dữ liệu từ các nguồn dữ liệu - Data Sources như RDMBS, XML, File systems.... Trong .NET Các DALC này thường được hiện thực bằng cách sử dụng thư viện ADO.NET để giao tiếp với các hệ cơ sở dữ liệu hoặc sử dụng các O/R Mapping Frameworks để thực hiện việc ánh xạ các đối tượng trong bộ nhớ thành dữ liệu lưu trữ trong CSDL. Service Agents là những thành phần trợ giúp việc truy xuất các dịch vụ bên ngòai một cách dễ dàng và đơn giản như truy xuất các dịch vụ nội tại. Chức năng thường thấy ở Data Access Layer là: Tạo mới các bản ghi(Create, Insert), lấy các bản ghi(Select), cập nhật-sửa dữ liệu(Update), xóa dữ liệu(Delete). 2.5 Tổng quan hệ quản trị cơ sở dữ liêu SQL Server SQL Server là một cơ sở dữ liệu Client/Server. Nó có hai chức năng chính: Chứa dữ liệu người dùng nhập vào. Xử lý các yêu cầu gửi tới thông qua ngôn ngữ truy vấn cơ sở dữ liêu và trả về các đối tượng trong hệ quản trị cơ sở dữ liệu SQL Server: Bảng (Table): Bảng là đơn vị lưu trữ dữ liệu chính trong cơ sở dữ liệu SQL Server, đó là tập hợp dữ liệu có liên quan với nhau, là một đối tượng lưu trữ dữ liệu dưới dạng hàng, cột. Các hàng trong bảng người ta gọi là các bản ghi chứa dữ liệu, các cột là các trường chứa các thuộc tính của bảng. Khung nhìn dữ liệu (View): Về mặt logic, bảng ảo giống như một bảng thực, nó không chứa bảng vật lý nào mà nó chỉ là kết quả của việc thực hiện các câu lệnh Select trên những bảng thực và dữ liệu của nó sẽ bị mất đi khi không thực hiện các câu lệnh đó. Chỉ số của bảng (Index): Chỉ số là một cấu trúc được tạo ra để lưu trữ thông tin về vị trí các bản ghi trong một bảng dữ liệu nhằm cải thiên tốc độ truy xuất dữ liệu. Một chỉ số được tạo nên trên một hay nhiều bảng, mọi sự thay đổi dữ liệu trong bảng đều được tự động cập nhật với các chỉ số có liên quan trong suốt quá trình sử dụng. Thủ tục lưu trữ (Store procedure): Là một khối các câu lệnh truy vấn cơ sở dữ liệu, được lưu trữ trong một thủ tục và có tham số vào cũng như giá trị trả về khi thủ tục đó được thực hiện. Trigger: Là một thủ tục lưu trữ được tự đông thực hiện bởi SQL Server khi một bảng được sửa đổi bằng các câu lệnh UPDATE, INSERT, DELETE. Nó có thể lưu trữ một câu lệnh đơn giản hay các câu lệnh phức tạp của T_SQL (Transaction SQL), nhờ đó ta có thể lợi dụng cơ chế này để viết các Trigger nhằm giải quyết các quy tắc nghiệp vụ, các mối dàng buộc phức tạp. CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG 3.1 Các quy trình quan trọng 3.1.1 Quy trình quản lý nhân viên Dữ liệu đầu vào Thông tin về nhân viên Dữ liệu đầu ra Danh sách các thông tin liên quan đến nhân viên Mô tả - Khi một nhân viên mới bắt đầu đến làm việc tại nhà hàng, khai báo đầy đủ các thông tin cá nhân sau đó các thông tin này được nhập vào hệ thống. Đồng thời họ cũng được cấp phát cho một tên đăng nhập và mật khẩu để đăng nhập vào hệ thống, họ chỉ có quyền thao tác dưới những mức cấp quyền mà nhà quản lý cấp cho - Nếu là nhân viên cũ thì đưa thông tin để cập nhật khi có thay đổi gì về nhân viên đó. Nếu nhân viên đó thôi việc thì xóa hết mọi thông tin liên quan trong hệ thống 3.1.2 Quy trình nhập nguyên liệu Dữ liệu đầu vào Thông tin về nhà cung cấp. Hóa đơn nhập, trong đó có số lượng và đơn giá các nguyên liệu mà nhà cung cấp chuyển đến. Dữ liệu đầu ra Tổng hợp các hóa đơn nhập Các báo cáo về số lượng nhập, tổng tiền nhập, … Mô tả - Nếu là nhà cung cấp mới, nhân viên nhập các thông tin liên quan đến nhà cung cấp đó vào hệ thống. Có thể cập nhật, thêm, sửa, xóa các thông tin cần thiết - Khi nhà cung cấp mang hàng đến, nhân viên của nhà hàng nhập các thông tin về tên mặt hàng, số lượng, đơn giá, thời gian nhập…vào hệ thống để xử lý. - Trong quá trình nhập, nhân viên có thể sửa, xóa nếu nhập sai. 3.1.3 Quy trình bán hàng Dữ liệu đầu vào Thông tin về tên các món khách hàng gọi, số lượng từng món, đơn giá và giảm giá của từng món. Thông tin nhân viên gọi món: tên nhân viên được lấy ra từ trong cơ sở dữ liệu. Dữ liệu đầu ra Hóa đơn thanh toán của khách hàng. Danh sách các hóa đơn thanh toán, thống kê báo cáo tổng thu của nhà hàng. Mô tả - Khách hàng vào nhà hàng, họ gọi món, nhân viên phục vụ bàn sẽ ghi lại các món ăn và số lượng các món khách gọi. - Nhân viên phục vụ sẽ chuyển danh sách các món khách gọi cho bộ phận bếp để họ làm, đồng thời chuyển lên cho bộ phận thu ngân, để nhập các thông tin liên quan vào hệ thống. - Nhân viên thu ngân cập nhật và quản lý đồng thời nhiều hoá đơn của nhiều bàn ăn cùng một lúc. Ngay khi khách hàng đang dùng tiệc, nhân viên thu ngân đã có thể cập nhật các món mà khách hàng yêu cầu. Việc cập nhật thêm món ăn vào bàn đã cập nhật hết sức đơn giản, tạo thụân lợi tối đa cho nhân viên thu ngân khi thanh toán với khách hàng. - Sau khi nhân viên thu ngân nhập xong, in ra báo món để nhân viên phục vụ bàn kiểm tra đồ ăn trên bàn của khách hàng. - Khi khách hàng muốn thanh toán, họ có nhu cầu trả lại một số đồ không dùng đến, nhân viên bàn kiểm tra kỹ để đảm bảo đồ khách trả và trả lại là đúng và không có sai xót nào. - In ra phiếu thanh toán gửi cho khách hàng. 3.1.4 Quy trình quản lý định lượng nguyên liệu Dữ liệu đầu vào Danh sách các nguyên liệu. Danh sách các món ăn. Cách thức chế biến các món ăn. Dữ liệu đầu ra Định lượng cho từng món ăn Mô tả - Xác định xem món ăn cần những nguyên liệu gì và số lượng là bao nhiêu để cho phù hợp. - Nếu có thay đổi gì về nguyên liệu hay định lượng món ăn, người dùng có thể cập nhật vào hệ thống, tương tự có thể thêm, sửa, xóa các thông tin cần thiết. 3.2. Mô tả chức năng nghiệp vụ của hệ thống Hệ thống nhà hàng được xây dựng với 5 chức năng chính. Đó là Quản lý nhân viên, Quản lý nguyên liệu, Quản lý hóa đơn, Thống kê báo cáo và Tìm kiếm. Trong đó: Quản lý nhân viên: là nơi lưu trữ và quản lý tất cả các thông tin về nhân viên. Khi một nhân viên mới đến làm việc, nhân viên đó phải khai báo đầy đủ thông tin cá nhân cần thiết để nhập dữ liệu vào frmnhanvien. Đồng thời họ được cấp tên đăng nhập và mật khẩu để truy cập vào hệ thống, khi đó họ sẽ được nhà quản lý cấp phát cho một số quyền hạn nhất định. Nếu như đó là nhân viên cũ của nhà hàng, khi có thay đổi gì về thông tin cá nhân hay bộ phận công tác, đưa thông tin vào để cập nhật. Khi nhân viên nào không còn làm việc ở nhà hàng, xóa hết mọi thông tin về nhân viên đó trong hệ thống. Quản lý nguyên liệu: là nơi lưu trữ và quản lý tất cả các thông tin về nguyên liệu, nhóm nguyên liệu, món ăn, nhóm món ăn, định lượng món ăn, nhà cung cấp nguyên liệu và khách hàng. Với mỗi form đều có các chức năng thêm, sửa, xóa để khi có thông tin mới người dùng có thể thêm vào hệ thống, thông tin nào có thay đổi sẽ sửa lại cho phù hợp và thông tin nào không cần thiết có thể xóa bỏ. Chẳng hạn, khi nhập một nguyên liệu mới về, nếu là nhà cung cấp mới, vào frmnhacungcap để thêm thông tin về nhà cung cấp, nếu vẫn là nhà cung cấp cũ họ có thay đổi thông tin gì vào đó sửa, còn khi nhà cung cấp nào ngừng không cung cấp nguyên liệu cho nhà hàng nữa, sẽ xóa bỏ các thông tin liên quan đến nhà cung cấp đó trong hệ thống. Tương tự, với tất cả các form khác đều thao tác như vậy. Quản lý hóa đơn: bao gồm hóa đơn nhập và hóa đơn xuất. Nơi đây lưu trữ và quản lý thông tin về hai loại hóa đơn trên.Với hóa đơn nhập dùng cho việc nhập hàng, hóa đơn xuất dùng cho bán hàng. Nhập hàng: khi nhà hàng gần hết nguyên liệu, nhà hàng sẽ gọi cho bên nhà cung cấp yêu cầu số lượng và thời gian cần lấy nguyên liệu. Phía nhà cung cấp mang nguyên liệu đến, bộ phận bếp nhận và kiểm kê nguyên liệu từ phía nhà cung cấp, nếu chính xác, đầy đủ, bộ phận này sẽ chuyển hóa đơn lên bộ phận thu ngân để yêu cầu thanh toán cho nhà cung cấp. Ở đây xảy ra 2 trường hợp: nhà hàng trả cho nhà cung cấp theo định kỳ hàng tháng hoặc trả theo hóa đơn từng lần lấy hàng. Trong trường hợp trả theo định kỳ hàng tháng, sau khi nhân viên bộ phận bếp chuyển hóa đơn nhập hàng lên , nhân viên thu ngân nhập chính xác số lượng hàng nhập, ngày giờ nhập hàng để định kỳ cuối tháng thanh toán cho nhà cung cấp. Trong trường hợp còn lại ngay sau mỗi lần nhập hàng, bên phía nhà cung cấp sẽ ký xác nhận thanh toán đầy đủ, đồng thời, nhân viên thu ngân cũng sẽ nhập chi trả chính xác vào phần mềm quản lý. Với cả 2 trường hợp trên, nhân viên thu ngân đều phải lưu trữ lại hóa đơn nhập hàng mà nhà cung cấp chuyển đến để đối chiếu. Bán hàng: Khách hàng vào nhà hàng, họ gọi món, nhân viên phục vụ bàn sẽ ghi lại các món ăn và số lượng các món khách gọi. Nhân viên phục vụ sẽ chuyển danh sách các món khách gọi cho bộ phận bếp để họ làm, đồng thời chuyển lên cho bộ phận thu ngân, để nhập các thông tin liên quan vào hệ thống. Nhân viên thu ngân cập nhật và quản lý đồng thời nhiều hoá đơn của nhiều bàn ăn cùng một lúc. Ngay khi khách hàng đang dùng tiệc, nhân viên thu ngân đã có thể cập nhật các món mà khách hàng yêu cầu. Sau khi nhân viên thu ngân nhập xong, in ra báo món để nhân viên phục vụ bàn kiểm tra đồ ăn trên bàn của khách hàng. Cuối cùng là in ra phiếu thanh toán cho khách hàng. Thống kê báo cáo: Hệ thống quản lý nhà hàng có chức năng đưa ra các thống kê báo cáo về doanh thu của nhà hàng và nguyên liệu tồn trong kho. Với chức năng Thống kê báo cáo doanh thu sẽ giúp cho các nhà quản lý xem xét được tình hình hoạt động kinh doanh của nhà hàng mình, từ đó đưa ra các chiến lược mới, chính sách mới phù hợp hơn, để mang lại lợi nhuận tối đa cho nhà hàng. Còn chức năng Thống kê báo cáo nguyên liệu tồn, giúp cho nhà quản lý điều chỉnh lượng hàng trong kho, nếu đã hết hàng hay gần hết hàng, yêu cầu nhà cung cấp mang hàng đến ngay. Nếu hàng còn nhiều sẽ tạm ngừng nhập hàng, hoặc món ăn nào có thể thay thế nguyên liệu sẽ dùng để thay thế, sao cho lượng hàng tồn trong kho là ít nhất, tránh tình trạng hàng bị ứ đọng, hư hỏng không sử dụng được nữa, như vậy sẽ gây thiệt hại cho nhà hàng. Tìm kiếm: tìm kiếm thông tin về hai loại hóa đơn nhập và hóa đơn xuất. Người sử dụng vào đây có thể xem được toàn bộ thông tin về hóa đơn nhập và hóa đơn xuất theo bất kỳ ngày nào họ muốn. Hơn thế còn có thể xem thông tin chi tiết của từng ngày, từng loại hóa đơn, từng số hóa đơn. Điều này giúp ích rất nhiều cho nhà quản lý, sau mỗi lần nhập hàng hay xuất hàng, họ không cần kiểm tra trực tiếp từng tờ hóa đơn (như vậy rất mất thời gian, công sức và thậm chí có thể nhầm lẫn nếu lượng hóa đơn quá nhiều). Nhà quản lý chỉ cần vào frmtimkiem, nếu cần xem các hóa đơn đã nhập hàng vào Tìm kiếm hóa đơn nhập, còn nếu muốn xem các hóa đơn mà khách hàng đã thanh toán vào Tìm kiếm hóa đơn thanh toán. 3.3. Sơ đồ chức năng của hệ thống 3.3.1. Sơ đồ chức năng mức đỉnh Hệ thống quản lý nhà hàng được phân ra làm 5 chức năng sau: Quản lý Nhà hàng 1. Quản lý Nhân viên 2. Quản lý Nguyên liệu 3. Quản lý Hóa đơn 4. Thống kê Báo cáo 5. Tìm kiếm Hình 3.1: Sơ đồ chức năng mức đỉnh của hệ thống 3.3.2 Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý nhân viên Quản lý thông tin nhân viên: Hồ sơ nhân viên: thêm, sửa, xóa và cập nhật các thông tin cần thiết liên quan đến nhân viên của nhà hàng. Bộ phận công tác: cập nhật, thêm, sửa, xóa các thông tin về các bộ phận công tác trong nhà hàng. Cấp phát quyền: Khi đã đăng nhập được vào hệ thống, nếu là quản lý sẽ có toàn quyền với hệ thống, còn là nhân viên chỉ được vào và thao tác trên các form đã được cấp quyền. 1.1 Quản lý Hồ sơ nhân viên 1.2 Quản lý Bộ phận công tác 1. Quản lý Nhân viên 1.3 Quản lý Phân quyền Hình 3.2: Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý nhân viên 3.3.3 Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý nguyên liệu Quản lý nhóm nguyên liệu, danh sách nguyên liệu: cập nhật, thêm, sửa, xóa thông tin về các loại nguyên liệu và các nhóm nguyên liệu có trong nhà hàng. Quản lý tên gọi của các nhóm món ăn và món ăn: Thêm mới món ăn và nhóm món ăn, thay đổi thông tin liên quan đến món ăn để phù hợp với nhu cầu và thị hiếu của khách hàng, xóa các món ăn mà nhà hàng không còn bán nữa. Quản lý định mức: với mỗi món ăn sẽ sử dụng một lượng nguyên liệu khác nhau, sau khi sử dụng phải trừ đi lượng đã lấy để xác định được lượng nguyên liệu tồn trong kho. Quản lý thông tin nhà cung cấp: cập nhật, thêm, sửa, xóa thông tin về nhà cung cấp. Quản lý thông tin khách hàng: cập nhật, thêm, sửa, xóa thông tin Hình 3.3: Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý nguyên liệu 3.3.4 Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý hóa đơn Tất cả các hóa đơn, giấy tờ liên quan đến việc nhập và xuất hàng hóa đều được quản lý ở đây. Quản lý hóa đơn nhập: Sau khi nhà cung cấp chuyển hàng đến, người dùng sẽ nhập đầy đủ các thông tin cần thiết. Quản lý hóa đơn xuất: đây chính là hóa đơn mà nhà hàng sẽ in ra đưa cho khách hàng, trong này có đầy đủ các thông tin về món ăn, số lượng món ăn mà khách đã gọi, đơn giá mỗi món ăn…tổng tiền mà khách hàng phải thanh toán. Đồng thời từ hóa đơn này thu ngân sẽ tính toán để báo cáo kết quả doanh thu của nhà hàng. 3.1 Quản lý Hóa đơn nhập 3.2 Quản lý Hóa đơn xuất 3. Quản lý Hóa đơn Hình 3.4: Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý hóa đơn 3.3.5 Sơ đồ phân rã chức năng mức dưới đỉnh của thống kê báo cáo Hệ thống quản lý nhà hàng có chức năng đưa ra các thống kê báo cáo về doanh thu của nhà hàng và nguyên liệu tồn trong kho. Báo cáo doanh thu: Từ việc báo cáo kết quả doanh thu đưa ra những điều chỉnh hợp lý để mang lại lợi nhuận tối đa cho nhà hàng. Báo cáo nguyên liệu tồn kho: sẽ biết được trong kho còn những nguyên liệu gì với số lượng bao nhiêu, để tiếp tục nhập vào hay tạm dừng nhập. 4.1 Báo cáo doanh thu 4.2 Báo cáo nguyên liệu tồn 4. Thống kê Báo cáo Hình 3.5: Sơ đồ phân rã chức năng mức dưới đỉnh của Thống kê báo cáo 3.3.6 Sơ đồ phân rã chức năng mức dưới đỉnh của tìm kiếm Hệ thống quản lý nhà hàng xây dựng 2 chức năng tìm kiếm. Đó là tìm kiếm theo hóa đơn nhập và hóa đơn xuất. Tìm kiếm hóa đơn nhập: để xem thông tin chi tiết các hóa đơn nhập hàng. Tìm kiếm hóa đơn xuất: để xem thông tin chi tiết các hóa đơn thanh toán. 5.1 Tìm kiếm Hóa đơn nhập 5.2 Tìm kiếm Hóa đơn xuất 5 Tìm kiếm Hình 3.6: Sơ đồ phân rã chức năng mức dưới đỉnh của Tìm kiếm 3.4 Sơ đồ dòng dữ liệu Sơ đồ dòng dữ liệu mô tả các thành phần của hệ thống xét theo khía cạnh sử dụng thông tin, dữ liệu, bao gồm các tiến trình, các yêu cầu dữ liệu, các kho dữ liệu và các tác nhân ngoài có liên quan đến hệ thống. 3.4.1 Các ký hiệu Chức năng Kho dữ liệu Luồng dữ liệu Tác nhân ngoài 3.4.2 Sơ đồ dòng dữ liệu mức đỉnh Hình 3.7: Sơ đồ dòng dữ liệu mức đỉnh 3.4.3 Sơ đồ dòng dữ liệu về chức năng Quản lý nguyên liệu và hóa đơn Hình 3.8: Sơ đồ dòng dữ liệu về chức năng Quản lý nguyên liệu và Quản lý hóa đơn. 3.4.4 Sơ đồ dòng dữ liệu về chức năng Thống kê báo cáo Hình 3.9: Sơ đồ dòng dữ liệu về chức năng Thống kê báo cáo. 3.4.5 Sơ đồ dòng dữ liệu về chức năng Quản lý nhân viên Hình 3.10: Sơ đồ dòng dữ liệu về chức năng Quản lý nhân viên. CHƯƠNG 4 THIẾT KẾ HỆ THỐNG 4.1 Thiết kế Cơ sở dữ liệu 4.1.1 Các thực thể trong Cơ sở dữ liệu Thực thể Bàn bao gồm các thuộc tính: - Mã bàn - Tên bàn Thực thể Bộ phận bao gồm các thuộc tính: - Mã bộ phận - Tên bộ phận Thực thể Chi tiết hóa đơn nhập bao gồm các thuộc tính: - Mã chi tiết hóa đơn nhập - Mã nguyên liệu - Mã hóa đơn nhập - Số lượng - Đơn giá Thực thể Chi tiết hóa đơn xuất bao gồm các thuộc tính: - Mã chi tiết hóa đơn xuất - Mã món ăn - Mã hóa đơn xuất - Số lượng - Đơn giá Thực thể Định lượng bao gồm các thuộc tính: - Mã định lượng - Mã nguyên liệu - Mã món ăn - Số lượng Thực thể Form bao gồm các thuộc tính: Tên Form Thực thể Hóa đơn nhâp bao gồm các thuộc tính: - Mã hóa đơn nhập - Mã nhân viên - Mã nhà cung cấp - Thời gian - Tổng tiền Thực thể Hóa đơn xuất bao gồm các thuộc tính: - Mã hóa đơn xuất - Mã bàn - Mã nhân viên - Thời gian thanh toán - Tổng tiền - Số Orders - MaNhanVienOrders - GiamGia - Thue - ThoiGianVao - ThoiGianRa Thực thể Khách hàng bao gồm các thuộc tính: - Mã khách hàng - Tên khách hàng - Địa chỉ Thực thể Món ăn bao gồm các thuộc tính: - Mã món ăn - Mã nhóm món ăn - Tên món ăn - Đơn giá - Đơn vị tính Thực thể Nguyên Liệu bao gồm các thuộc tính: - Mã nguyên liệu - Mã nhóm nguyên liệu - Tên nguyên liệu - Số lượng - Đơn giá - Đơn vị tính Thực thể Nhà cung cấp bao gồm các thuộc tính: - Mã nhà cung cấp - Tên nhà cung cấp - Địa chỉ Thực thể Nhân viên bao gồm các thuộc tính: - Mã nhân viên - Mã bộ phận - Tên nhân viên - Địa chỉ - Điện thoại Thực thể Nhóm món ăn bao gồm các thuộc tính: - Mã nhóm món ăn - Tên nhóm món ăn Thực thể Nhóm nguyên liệu bao gồm các thuộc tính: - Mã nhóm nguyên liệu - Tên nhóm nguyên liệu Thực thể Người dùng bao gồm các thuộc tính: - Mã người dùng - Tên người dùng - Mật khẩu Thực thể Orders bao gồm các thuộc tính: - Mã Orders - Thời gian - Mã chi tiết hoá đơn xuất - Mã nhân viên Thực thể Quyền _Form bao gồm các thuộc tính: - Mã Quyền_Form - Tên form - Mã người dùng - Mã nhân viên 4.1.2 Thiết kế dữ liệu: Hệ thống gồm các bảng sau Bảng Ban (Bàn): lưu thông tin về bàn trong nhà hàng. TBLBAN STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaBan Int Mã bàn, trường khoá tự động tăng 2 TenBan nvarchar(50) Tên bàn Bảng BoPhan (Bộ phận): lưu thông tin về các bộ phận làm việc trong nhà hàng. TBLBOPHAN STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaBoPhan Int Mã bộ phận, trường khoá tự động tăng 2 TenBoPhan nvarchar(50) Tên bộ phận Bảng ChiTietHoaDonNhap (Chi tiết hoá đơn nhập): lưu thông tin chi tiết của các hóa đơn nhập hàng của nhà hàng. TBLCHITIETHOADONNHAP STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaChiTietHoaDonNhap int Mã chi tiêt hóa đơn nhập 2 MaHoaDonNhap Int Mã hóa đơn nhập 3 MaNguyenLieu int Mã nguyên liệu 4 SoLuong Float Số lượng 5 DonGia Float Đơn giá Bảng ChiTietHoaDonXuat (Chi tiết hoá đơn xuất): lưu thông tin chi tiết của các hóa đơn bán hàng của nhà hàng. TBLCHITIETHOADONXUAT STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaChiTietHoaDonXuat int Mã chi tiêt hóa đơn xuất 2 MaHoaDonXuat Int Mã hóa đơn xuất 3 MaMonAn int Mã món ăn 4 SoLuong Float Số lượng 5 GiamGia Float Giảm giá 6 SoOrders Nvachar(50) Số Orders Bảng DinhLuong (Định lượng): lưu thông tin các nguyên liệu và số lượng sử dụng các nguyên liệu để cấu thành nên món ăn. TBLDINHLUONG STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaDinhLuong int Mã định lượng 2 MaMonAn Int Mã món ăn 3 MaNguyenLieu int Mã nguyên liệu 4 SoLuong Float Số lượng Bảng Form (Form): lưu thông tin các form trong hệ thống nhà hàng. TBLFORM STT Thuộc tính Kiểu dữ liệu Mô tả 1 TenForm Nvarchar(50) Tên Form Bảng HoaDonNhap (Hóa đơn nhập): lưu thông tin các hóa đơn nhập hàng của nhà hàng. TBLHOADONNHAP STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaHoaDonNhap int Mã hóa đơn nhập 2 MaNhanVien Int Mã nhân viên 3 MaNhaCungCap int Mã nhà cung cấp 4 TongTien Float Tổng tiền 5 ThoiGian Datetime Thời gian Bảng HoaDonXuat (Hóa đơn xuất): lưu thông tin các hóa đơn bán hàng của nhà hàng. TBLHOADONXUAT STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaHoaDonXuat int Mã hóa đơn xuất 2 MaBan Int Mã bàn 3 MaNhanVien int Mã nhân viên 4 TongTien Float Tổng tiền 5 ThoiGian Datetime Thời gian 6 MaNhanVienOrders int Mã nhân viên Orders 7 ThoiGianVao Datetime Thời gian vào 8 ThoiGianRa Datetime Thời gian ra 9 SoOrders Nvarchar(50) Số Orders 10 MaKhachHang Int Mã khách hàng 11 GiamGia Float Giảm giá 12 Thue Float Thuế Bảng KhachHang (Khách hàng): lưu thông tin các khách hàng. TBLKHACHHANG STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaKhachHang int Mã khách hàng 2 TenKhachHang Nvarchar(50) Tên khách hàng 3 DiaChi Nvarchar(50) Địa chỉ Bảng MonAn (Món ăn): lưu thông tin chi tiết các món ăn có trong nhà hàng. TBLMONAN STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaMonAn int Mã món ăn 2 MaNhomMonAn Int Mã nhóm món ăn 3 TenMonAn Nvarchar(50) Tên món ăn 4 DonGia Float Đơn giá 5 DonViTinh Nvarchar(50) Đơn vị tính Bảng NguyenLieu (Nguyên liệu): lưu thông tin chi tiết các nguyên liệu mà nhà hàng nhập. TBLNGUYENLIEU STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNguyenLieu int Mã nguyên liệu 2 MaNhomNguyenLieu Int Mã nhóm nguyên liệu 3 TenNguyenLieu Nvarchar(50) Tên nguyên liệu 4 DonGia Float Đơn giá 5 DonViTinh Nvarchar(50) Đơn vị tính 6 SoLuong Float Số lượng Bảng NhaCungCap (Nhà cung cấp): lưu thông tin các nhà cung cấp nguyên liệu cho nhà hàng. TBLNHACUNGCAP STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNhaCungCap int Mã nhà cung cấp 2 TenNhaCungCap Nvarchar(50) Tên nhà cung cấp 3 DiaChi Nvarchar(50) Địa chỉ Bảng NhanVien (Nhân viên): lưu thông tin cá nhân của các nhân viên làm việc trong nhà hàng. TBLNHANVIEN STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNhanVien Int Mã nhân viên 2 MaBoPhan Int Mã bộ phận 3 TenNhanVien Nvarchar(50) Tên nhân viên 4 DiaChi Nvarchar(50) Địa chỉ 5 DienThoai Int Điện thoại Bảng NhomMonAn (Nhóm món ăn): lưu thông tin các nhóm món ăn. TBLNHOMMONAN STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNhomMonAn int Mã nhóm món ăn 2 TenNhomMonAn nvarchar(50) Tên nhóm món ăn Bảng NhomNguyenLieu (Nhóm nguyên liệu): lưu thông tin các nhóm nguyên liệu. TBLNHOMNGUYENLIEU STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNhomNguyenLieu Int Mã nhóm nguyên liệu 2 TenNhomNguyenLieu nvarchar(50) Tên nhóm nguyên liệu Bảng NguoiDung(Người dùng): lưu thông tin về tên đăng nhập và mật khẩu TBLNGUOIDUNG STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaNguoiDung Int Mã người dùng 2 TenNguoiDung nvarchar(50) Tên người dùng 3 MatKhau nvarchar(50) Mật khẩu Bảng Orders: lưu thông tin về các số Orders TBLORDERS STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaOrders Int Mã Orders 2 ThoiGian Smalldate Thời gian 3 MaChiTietHoaDonXuat Int Mã chi tiết hoá đơn xuất 4 MaNhanVien Int Mã nhân viên Bảng Quyen-Form(Quyền-Form): lưu thông tin về việc cấp phát quyền TBLQUYEN-FORM STT Thuộc tính Kiểu dữ liệu Mô tả 1 MaQuyen-Form Int Mã quyền-form 2 TenForm nvarchar(50) Tên form 3 MaNguoiDung Int Mã người dùng 4 MaNhanVien Int Mã nhân viên 4.1.3 Sơ đồ liên kết cơ sở dữ liệu Hình 4.1: Sơ đồ liên kết cơ sở dữ liệu 4.2 Thiết kế một số giao diện nhập liệu cơ bản 4.2.1 Các ký hiệu __________ : Nhập dữ liệu từ bàn phím : Dữ liệu lấy trong kho. : Hệ thống máy tính tự động tính toán. ¯ : Có thể nhập từ bàn phím hoặc chọn. ¯ : Chỉ được phép chọn 4.2.2 Phân hệ nhân sự Giao diện hồ sơ nhân viên Bộ phận : ↓ Sửa Xóa (Vùng hiển thị thông tin nhân viên) Tên nhân viên: ________________ Thuộc bộ phận: ↓ Địa chỉ: ________________ Điện thoại: ________________ Thêm Thoát Thoát Giao diện bộ phận Thêm Thoát Tên bộ phận : ____________ Sửa Xóa (Vùng hiển thị các bộ phận) 4.2.3 Phân hệ nguyên liệu Giao diện nhóm món ăn Thêm Tên nhóm món ăn : ____________ Thoát Sửa Xóa (Vùng hiển thị thông tin các nhóm món ăn) Giao diện nhóm nguyên liệu Thêm Tên nhóm nguyên liệu : ____________ Thoát Sửa Xóa (Vùng hiển thị thông tin các nhóm nguyên liệu) Giao diện món ăn Nhóm món ăn : ↓ Sửa Xóa (Vùng hiển thị thông tin món ăn) Tên món ăn: ________________ Thuộc nhóm: ↓ Đơn giá: ________________ Đơn vị tính: ________________ Thêm Thoát Thoát Giao diện nguyên liệu Nhóm nguyên liệu : ↓ Sửa Xóa (Vùng hiển thị thông tin Nguyên liệu) Tên nguyên liệu: ________________ Thuộc nhóm: ↓ Đơn vị tính: ________________ Thêm Thoát Thoát Giao diện định lượng Danh sách nguyên liệu Định lượng món ăn Món ăn : ↓ Chọn (Vùng hiển thị thông tin các nguyên liệu) Xóa (Vùng hiển thị thông tin định lượng món ăn) Thoát Sửa Giao diện nhà cung cấp Thêm Tên Nhà CC : ____________ Thoát Địa chỉ : ____________ Sửa Xóa (Vùng hiển thị thông tin nhà cung cấp) Giao diện khách hàng Thêm Tên khách hàng : ____________ Thoát Địa chỉ : ____________ Sửa Xóa (Vùng hiển thị thông tin khách hàng) 4.2.4 Phân hệ hóa đơn Hóa đơn nhập Hóa đơn nhập Nhà cung cấp Thời gian Nhân viên Chi tiết hóa đơn Ghi Nguyên liệu Giá Số lượng Giảm giá _______ ↓ ↓ Tổng tiền giá: Tổng tiền giảm giá: Tổng tiền phải trả: In Lưu hóa đơn Hóa đơn thanh toán Hóa đơn thanh toán Bàn Khách hàng Nhân viên ↓ ↓ Thời gian khách vào Giảm giá Thuế Thời gian khách ra ↓ ↓ ↓ ↓ Chi tiết hóa đơn Số Orders: ↓ Nhân viên Orders: ↓ Ghi Món ăn Giá Số lượng Giảm giá ↓ ↓ Hình thức thanh toán Tổng tiền giá: ↓ Tiền mặt Tổng tiền giảm giá: ↓ Thẻ Tổng tiền phải trả: Lưu hóa đơn In CHƯƠNG 5 HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG 5.1 Hướng dẫn cài đặt 5.1.1 Yêu cầu về phần cứng và phần mềm - Một server cấu hình tối thiểu 128MRAM.400Mhz. - Các thiết bị mạng cần thiết. - Hệ thống mạng phải sử dụng nghi thức TCP/IP. - Phải có Internet Information Server (ISS) chạy trên Window XP hoặc cao hơn. - Hệ điều hành Window 2000, XP hoặc cao hơn. - Hệ quản trị cơ sở dữ liệu SQL Server. 5.1.2 Cài đặt theo từng bước sau Server Cài đặt Window XP chọn ISS. Cài SQL Server. Attach cơ sở dữ liệu có tên QLNHAHANG vào trong database. Thiết lập đường dẫn đến thư mục này. Client Trong máy Client chỉ cần dùng hệ điều hành có hỗ trợ trình duyệt Internet Explorer 5.0 hoặc cao hơn Ngôn ngữ để cài đặt: ASP Sử dụng lỹ thuật để kết nối với cơ sở dữ liệu 5.2 Hướng dẫn sử dụng 5.2.1 Đăng nhập vào hệ thống Sau khi chạy chương trình, sẽ hiện ra frmDangnhap người dùng đăng nhập vào hệ thống với tên đăng nhập và mật khẩu mà mình có. Khi người dùng đăng nhập vào hệ thống thì các chức năng của chương trình sẽ được hiển thị, tùy theo tên đăng nhập mà được quyền thao tác với các form trong hệ thống. Tên: tên đăng nhập vào hệ thống Mật khẩu: mỗi người sử dụng có một mật khẩu truy cập riêng à Bấm OK: để thực hiện kết nối à Close: dừng kết nối và thoát khỏi chương trình. 5.2.2 Quản lý hệ thống Để gọi đến các form khác người dùng phải gọi chúng từ form1. Các Item trên thanh menu được kích hoạt tương ứng khi ấy các form hệ thống được khởi động 5.2.3 Phân quyền Nếu người dùng là nhà quản lý mới vào được frmCapquyen, nhà quản lý vào đây để cấp phát quyền cho nhân viên. Họ cho phép nhân viên được thao tác trên những form nào thì tick vào form đó. Nhân viên: họ tên đầy đủ của nhân viên, dữ liệu được lấy ra từ trong cơ sở dữ liệu. Người dùng chỉ việc chọn mà không cần phải trực tiếp nhập bằng tay. Tên: tên đăng nhập vào hệ thống, nhà quản lý cấp cho nhân viên. Mật khẩu: mỗi người sử dụng có một mật khẩu truy cập riêng, cái này cũng do nhà quản lý cấp phát cho nhân viên. à Khi muốn cấp phát quyền cho một nhân viên nào đó, đầu tiên chọn nhân viên, cấp cho nhân viên đó tên đăng nhập và mật khẩu, rồi tick vào các mục ở bên dưới. Điều này tương ứng với việc nhân viên sẽ được quyền thao tác trên những form nào mà nhà quản lý cho phép trong hệ thống. à Các nhân viên được cấp phát quyền, khi nhà quản lý muốn thay đổi gì về quyền hạn của nhân viên, chẳng hạn như thêm quyền sử dụng hay bớt đi quyền sử dụng ở một số form. Nhà quản lý vào phần sửa, thông tin sẽ được hiển thị sang bên cạnh, sau đó tiến hành thay đổi. à Khi nhân viên nào không còn làm việc trong nhà hàng, hoặc khi không muốn cho nhân viên nào vào hệ thống, nhà quản lý có thể xóa đi. à Thoát: thoát khỏi frmcapquyen. 5.2.4 Quản lý nhân viên Vào frmnhanvien, để cập nhật, thêm, sửa, xóa các thông tin cá nhân của nhân viên. \ Bộ phân: đầu tiên phải chọn bộ phận mà nhân viên đó công tác. Dữ liệu được lấy ra từ cơ sở dữ liệu. Tên Nhân viên: họ tên đầy đủ của nhân viên. Người dùng phải trực tiếp nhập bằng tay. Thuộc bộ phận: bộ phận mà nhân viên đó công tác, nó tương tự với cái bộ phận ở trên. Địa chỉ: nơi sinh sống của nhân viên, người dùng phải trực tiếp nhập bằng tay. Điện thoại: số điện thoại của nhân viên, lưu lại để tiện cho việc liên lạc với nhân viên khi cần thiết, người dùng phải trực tiếp nhập bằng tay. à Với một nhân viên mới, nhập đầy đủ thông tin cần thiết vào frmnhanvien, bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. à Khi nhân viên có thay đổi gì về thông tin cá nhân, chẳng hạn thay đổi chỗ ở hay thay đổi số điện thoại. Người dùng vào phần sửa, thông tin sẽ được hiển thị sang bên cạnh, sau đó tiến hành thay đổi cho phù hợp. à Khi nhân viên nào không còn làm việc trong nhà hàng xóa hết mọi thông tin về nhân viên đó trong hệ thống. à Thoát: thoát khỏi frmnhanvien. 5.2.5 Quản lý bộ phận Vào frmbophan, để cập nhật, thêm, sửa, xóa các bộ phận làm việc của nhân viên. Tên Bộ phận: nhập tên các bộ phận công tác có trong hệ thống nhà hàng. à Tương tự như frmnhanvien, bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đôi, khi không cần đến bộ phận nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmbophan. 5.2.6 Quản lý nhóm nguyên liệu Vào frmnhomnguyenlieu, để cập nhật, thêm, sửa, xóa các nhóm nguyên liệu mà nhà hàng phân ra. Tên nhóm nguyên liệu: nhập tên các nhóm nguyên liệu, người dùng phải nhập trực tiếp bằng tay. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đôi, khi muốn xóa nhóm nguyên liệu nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmnhomnguyenlieu. 5.2.7 Quản lý nguyên liệu Vào frmnguyenlieu, để cập nhật, thêm, sửa, xóa các nguyên liệu mà nhà hàng nhập về. Nhóm nguyên liệu: đầu tiên phải chọn nhóm nguyên liệu. Tên Nguyên liệu: Người dùng phải trực tiếp nhập tên nguyên liệu bằng tay. Thuộc nhóm: tương tự với cái nhóm nguyên liệu ở trên. Đơn vị tính: với mỗi loại nguyên liệu có một cách thức tính khác nhau, người dùng nhập trực tiếp bằng tay đơn vị tính của từng loại nguyên liệu. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đôi, khi muốn xóa nguyên liệu nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmnguyenlieu. 5.2.8 Quản lý nhóm món ăn Vào frmnhommonan, để cập nhật, thêm, sửa, xóa các nhóm món ăn. Tên nhóm món ăn: nhập tên các nhóm món ăn, người dùng phải nhập trực tiếp bằng tay. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đôi, khi muốn xóa nhóm món ăn nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmnhommonan. 5.2.9 Quản lý món ăn Vào frmmonan, để cập nhật, thêm, sửa, xóa các món ăn. Nhóm Món ăn: đầu tiên phải chọn nhóm món ăn. Tên Món ăn: Người dùng phải trực tiếp nhập tên món ăn bằng tay. Thuộc nhóm: tương tự với cái nhóm món ăn ở trên. Đơn giá: giá món ăn sẽ bán ra. Đơn vị tính: với mỗi loại món ăn có một cách thức tính khác nhau, người dùng nhập trực tiếp bằng tay đơn vị tính của từng loại món ăn. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đổi, khi muốn xóa món ăn nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmmonan. 5.2.10 Quản lý đinh lượng món ăn Vào frmdinhluong, để cập nhật, thêm, sửa, xóa đinh lượng nguyên liệu các món ăn. à Đầu tiên chọn một món ăn để xác định định lượng của nó, dữ liệu được lấy ra từ trong cơ sở dữ liệu, người dùng chỉ cần chọn không cần phải nhập trực tiếp bằng tay. àTiếp theo quay sang bên danh sách nguyên liệu, bấm nút chọn để chọn nguyên liệu cần thiết cho món ăn. Khi bấm chọn,tự động nguyên liệu đó sẽ chuyển sang bên định lượng món ăn. Ở đây, người dùng có thể thay đổi số lượng cho phù hợp với từng món ăn. à Nếu nguyên liệu nào không cần thiết bấm nút xóa. à Thoát: thoát khỏi frmdinhluong. 5.2.11 Quản lý nhà cung cấp Vào frmnhacungcap, để cập nhật, thêm, sửa, xóa thông tin về nhà cung cấp cung cấp nguyên liệu cho nhà hàng. Tên Nhà CC: người dùng nhập họ tên nhà cung cấp, nhập trực tiếp bằng tay. Địa chỉ: Người dùng phải trực tiếp nhập địa chỉ của nhà cung cấp bằng tay. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đổi, khi muốn xóa nhà cung cấp nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmnhacungcap. 5.2.12 Quản lý thông tin khách hàng Vào frmkhachhang, để cập nhật, thêm, sửa, xóa thông tin về khách hàng. Tên Khách hàng: người dùng nhập họ tên khách hàng, nhập trực tiếp bằng tay. Địa chỉ: Người dùng phải trực tiếp nhập địa chỉ của khách hàng bằng tay. à Khi bấm nút Thêm, nút này sẽ tự động chuyển thành nút OK, đồng thời nút Thoát chuyển thành nút Bỏ qua, nếu người dùng chắc chắn sẽ thêm bấm OK, nếu không bấm Bỏ qua. àKhi có thay đổi gì bấm nút sửa để thay đổi, khi muốn xóa khách hàng nào, bấm nút xóa để xóa. à Thoát: thoát khỏi frmnhacungcap. 5.2.13 Quản lý hóa đơn nhập Khi nhà cung cấp mang hàng đến, nhân viên thu ngân nhập đầy đủ thông tin vào hóa đơn nhập Nhà cung cấp: chọn tên nhà cung cấp, dữ liệu được lấy ra từ trong cơ sở dữ liệu. Thời gian: chọn thời gian lập hóa đơn. Nhân viên: là tên của nhân viên khi đăng nhập vào hệ thống. Nguyên liệu: dữ liệu được lấy ra từ cơ sở dữ liệu, người dùng chọn nguyên liệu mà nhà cung cấp mang đến. Giá: người dùng nhập bằng tay giá của nguyên liệu Số lượng: chọn số lượng nguyên liệu nhập. Giảm giá: với mỗi loại nguyên liệu khác nhau và với mỗi thời gian khác nhau có một mức giảm giá riêng, điều này phụ thuộc vào quyết định của nhà cung cấp. à Khi bấm nút Ghi: thông tin chi tiết về Mã nguyên liệu, Tên nguyên liệu, Số lượng, Thành tiền, Tiền giảm giá sẽ được hiển thị xuống dưới. à Nếu nhập nhầm thông tin nào, có thể xóa đi nhập lại. à Mỗi lần bấm nút ghi: Tổng tiền giá, Tổng tiền giảm giá, Tổng tiền phải trả, sẽ được máy tính tự động tính ra. à Sau khi nhập xong hết các nguyên liệu mà nhà cung cấp mang đến, người dùng bấm nút Lưu hóa đơn, đợi thông báo”Thao tác thành công!” hiện ra, bấm nút in để in ra. 5.2.14 Quản lý hóa đơn xuất Khi khách hàng gọi món, nhân viên bàn ghi lại các món ăn và số lượng món ăn khách gọi, nhân viên bàn chuyển cho nhân viên thu ngân, nhân viên thu ngân nhập đầy đủ thông tin vào hóa đơn thanh toán. Khách hàng: chọn tên khách hàng, dữ liệu được lấy ra từ trong cơ sở dữ liệu. Thời gian: chọn thời gian lập hóa đơn. Nhân viên: là tên của nhân viên khi đăng nhập vào hệ thống. Món ăn: dữ liệu được lấy ra từ cơ sở dữ liệu, người dùng chọn món ăn mà khách hàng gọi. Giá: giá của món ăn, dữ liệu được tự động hiện ra khi chọn món ăn. Số lượng: chọn số lượng món ăn khách gọi. Giảm giá: với mỗi loại món ăn khác nhau và với mỗi thời gian khác nhau có một mức giảm giá riêng à Khi bấm nút Ghi: thông tin chi tiết về Mã món ăn, Tên món ăn, Số lượng, Thành tiền, Tiền giảm giá sẽ được hiển thị xuống dưới. à Nếu nhập nhầm thông tin nào, có thể xóa đi nhập lại. à Mỗi lần bấm nút ghi: Tổng tiền giá, Tổng tiền giảm giá, Tổng tiền phải trả, sẽ được máy tính tự động tính ra. à Khi khách hàng có nhu cầu thanh toán, người dùng nhập đầy đủ các thông tin cần thiết, bấm nút Lưu hóa đơn, đợi thông báo”Thao tác thành công!” hiện ra, bấm nút in để in ra phiếu thanh toán gửi cho khách hàng. 5.2.15 Báo cáo doanh thu trong ngày Chọn frmdoanhthu để xem thông tin chi tiết doanh thu trong ngày là bao nhiêu. Với mỗi báo cáo, có thể xem được các thông tin về: số hóa đơn, mã nhân viên, tên nhân viên và tổng tiền bán được. 5.2.16 Báo cáo nguyên liệu tồn Sau mỗi lần bán hàng hay nhập hàng vào frmReportLop để xem số lượng hàng trong kho còn bao nhiêu. Muốn xem hàng tồn của nhóm nguyên liệu nào, ta chọn nhóm nguyên liệu rồi bấm nút in để xem. 5.2.17 Tìm kiếm Có 2 loại tìm kiếm: tìm kiếm theo hóa đơn nhập và tìm kiếm theo hoá đơn xuất. Với mỗi loại lại có 2 hình thức: tìm kiếm theo ngày và tìm kiếm theo số hóa đơn. Tìm kiếm hóa đơn nhập: chạy frmTimhoadonnhap Tìm kiếm hóa đơn nhập theo ngày: bấm chọn theo ngày, sau đó bấm in, sẽ có được kết quả. Tìm kiếm hóa đơn nhập theo số hóa đơn: bấm chọn theo số hóa đơn, rồi bấm in. Tìm kiếm hóa đơn xuất Tìm kiếm hóa đơn xuất theo ngày Tìm kiếm hóa đơn xuất theo số hóa đơn CHƯƠNG 6 ĐÁNH GIÁ VÀ KẾT LUẬN Đánh giá Công nghệ thông tin là phương tiện trợ giúp đắc lực và hiệu quả cao trong công tác quản lý. Việc ứng dụng công nghệ thông tin trong công tác quản lý nhà hàng là một việc làm cần thiêt nhằm nâng cao chất lượng của công tác quản lý, góp phần thúc đẩy nhà hàng phát triển toàn diện, mang lại lợi nhuận kinh tế cao. Dưới sự gợi ý và hướng dẫn tận tình của thầy Thái Thanh Tùng, em thực hiện đề tài này nhằm đưa ra một giải pháp tin học hoá phù hợp cho việc quản lý nhà hàng. Với đồ án này, em đã hoàn thành những yêu cầu sau: Chương trình được xây dựng trên một hệ thống giao diện đơn giản, dễ sử dụng, thích hợp cho từng đối tượng người sử dụng. Tất cả các Form nhập liệu đều được bẫy lỗi cho các trường. Chương trình tự động sinh mã nhân viên, mã bộ phận, mã nhà cung cấp, mã hoá đơn nhập xuất, mã nguyên liệu, nhóm nguyên liệu, mã món ăn, nhóm món ăn. Lập trình để thực hiện các thao tác lưu trữ và quản lý về nhân viên, nhà cung cấp, các báo cáo, hóa đơn… Mã hoá dữ liệu mật khẩu đăng ký của nhân viên. Lập trình trợ giúp tra cứu và lấy thông tin cần thiết một cách dễ dàng. Lập trình cung cấp các công cụ giúp nhân viên nhà hàng có thể quản lý tốt các danh mục như nguyên liệu, nhóm nguyên liêu, món ăn, nhóm món ăn, định lượng món ăn,… Lập trình tính toán trong hóa đơn nhập hàng và hóa đơn thanh toán giúp nhân viên thao tác nhanh hơn, chính xác và hiệu quả hơn. Tổng hợp các hóa đơn, báo cáo doanh thu cho nhà quản lý. … Hạn chế Một số form còn đơn giản, xơ sài. Chưa xử lý hết được các tình huống phát sinh trong quá trình làm bài. Chức năng tìm kiếm chưa hoàn thiện. Hướng phát triển trong tương lai Bổ sung và hoàn thiện thêm giao diện người dùng. Thiết kế và lập trình thêm một số chức năng để hệ thống hoàn thiện hơn. Tăng cường chế độ bảo mật hệ thống: Bảo mật Server. Bảo mật cơ sở dữ liệu trên SQL Server. TÀI LIỆU THAM KHẢO [1] Dương Quang Thiện, C# và .NET Framework, Nhà xuất bản tổng hợp Thành phố Hồ Chí Minh, Thành phố Hồ Chí Minh [2] Dương Quang Thiện, Lập trình báo cáo dùng Crystal Reports.net, Nhà xuất bản tổng hợp Thành phố Hồ Chí Minh, Thành phố Hồ Chí Minh [3] Đào Thanh Tĩnh, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản quân đội nhân dân, Hà Nội, 2004. [4] TS.Lê Văn Phùng, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Lao Động-Xã Hội, Hà Nội. [5] Nguyễn Văn Ba, Phân tích và thiết kế hệ thống thông tin, Nhà xuất bản Quốc Gia Hà Nội, Hà Nội. [6] Phạm Hữu Khang, Lập trình Windows Form C# 2005, Nhà xuất bản Lao Động-Xã Hội, Hà Nội. [7] Microsoft Corporation.2002. Designing Data Tier Components and Passing Data Through Tiers. .com/en-us/library/ms978496.aspx [8] Microsoft Corporation.2002 Building Distributed Applications. .com/en-us/library/ms954595.aspx

Các file đính kèm theo tài liệu này:

  • docphan_mem_quan_ly_nha_hang_8115.doc
Luận văn liên quan