Ngành nghề ẩm thực ở Việt Nam đang có sự phát triển mạnh mẽ cùng với sự đổi mới và hội nhập của thế giới. Quy mô của các nhà hàng hiện nay đã và đang lớn dần lên, phù hợp với nhu cầu của xã hội. Chính sự phát triển đó mà việc quản lý nhà hàng cũng trở nên khó khăn và phức tạp hơn nếu như vẫn sử dụng phương thức quản lý trên giấy tờ.
Trang 1MỤC LỤC
Trang
LỜI CẢM ƠN 4
LỜI NÓI ĐẦU 5
CHƯƠNG 1: GIỚI THIỆU 6
1.1 Lý do chọn đề tài 6
1.2 Những lợi ích khi ứng dụng Công nghệ thông tin vào quản lý nhà hàng 7
1.3 Phạm vi đề tài 8
1.3.1 Nhà quản lý 8
1.3.2 Nhân viên 8
CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 9
2.1 Công nghệ NET 9
2.2 Visual Studio.NET và Visual C# NET 10
2.3 NET FRAMEWORK 10
2.4 Tổng quan về mô hình N-TIER 12
2.5 Tổng quan hệ quản trị cơ sở dữ liêu SQL Server 14
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 16
3.1 Các quy trình quan trọng 16
3.1.1 Quy trình quản lý nhân viên 16
3.1.2 Quy trình nhập nguyên liệu 16
3.1.3 Quy trình bán hàng 17
3.1.4 Quy trình quản lý định lượng nguyên liệu 18
3.2 Mô tả chức năng nghiệp vụ của hệ thống 18
3.3 Sơ đồ chức năng của hệ thống 21
3.3.1 Sơ đồ chức năng mức đỉnh 21
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 22
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 23
3.3.4 Sơ đồ phân rã chức năng mức dưới đỉnh của quản lý hóa đơn 24
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 25
Trang 23.3.6 Sơ đồ phân rã chức năng mức dưới đỉnh của tìm kiếm 26
3.4 Sơ đồ dòng dữ liệu 27
3.4.1 Các ký hiệu 27
3.4.2 Sơ đồ dòng dữ liệu mức đỉnh 28
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 29
3.4.4 Sơ đồ dòng dữ liệu về chức năng Thống kê báo cáo 30
3.4.5 Sơ đồ dòng dữ liệu về chức năng Quản lý nhân viên 31
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 32
4.1 Thiết kế Cơ sở dữ liệu 32
4.1.1 Các thực thể trong Cơ sở dữ liệu 32
4.1.2 Thiết kế dữ liệu 35
4.1.3 Sơ đồ liên kết cơ sở dữ liệu 41
4.2 Thiết kế một số giao diện nhập liệu cơ bản 42
4.2.1 Các ký hiệu 42
4.2.2 Phân hệ nhân sự 42
4.2.3 Phân hệ nguyên liệu 43
4.2.4 Phân hệ hóa đơn 47
CHƯƠNG 549: HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG 49
5.1 Hướng dẫn cài đặt 49
5.1.1 Yêu cầu về phần cứng và phần mềm 49
5.1.2 Cài đặt theo từng bước sau 49
5.2 Hướng dẫn sử dụng 50
5.2.1 Đăng nhập vào hệ thống 50
5.2.2 Quản lý hệ thống 51
5.2.3 Phân quyền 52
5.2.4 Quản lý nhân viên 53
5.2.5 Quản lý bộ phận 54
5.2.6 Quản lý nhóm nguyên liệu 55
5.2.7 Quản lý nguyên liệu 56
Trang 35.2.8 Quản lý nhóm món ăn 57
5.2.9 Quản lý món ăn 58
5.2.10 Quản lý đinh lượng món ăn 59
5.2.11 Quản lý nhà cung cấp 60
5.2.12 Quản lý thông tin khách hàng 61
5.2.13 Quản lý hóa đơn nhập 62
5.2.14 Quản lý hóa đơn xuất 63
5.2.16 Báo cáo nguyên liệu tồn 65
5.2.16 Báo cáo nguyên liệu tồn 66
5.2.17 Tìm kiếm 67
CHƯƠNG 6: ĐÁNH GIÁ VÀ KẾT LUẬN 69
6.1 Đánh giá 69
6.2 Hạn chế 70
6.3 Hướng phát triển trong tương lai 70
TÀI LIỆU THAM KHẢO 71
Trang 4LỜI CẢM ƠN
Cho phép em gửi lời cảm ơn tới Khoa Công Nghệ Tin Học - Viện Đại Học
Mở Hà Nội, cùng toàn thể các thầy cô giáo, các cán bộ công tác tại khoa đã tạo điềukiện và giúp đỡ em trong những năm học tập tại trường
Để hoàn thành đồ án này em xin chân thành cảm ơn các thầy cô giáo đã dạy
em trong suốt bốn năm học qua Sự chỉ bảo của các thầy cô đã cho em nguồn kiếnthức quý giá trong thời gian học tập tại trường
Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới thầy Thái Thanh Tùng, người
đã tận tình giúp đỡ, chỉ bảo về nghiệp vụ và trực tiếp hướng dẫn em hoàn thành đồ
án này
Tuy nhiên, do thời gian có hạn cùng với nhiều nguyên nhân khác, mặc dù em
đã nỗ lực hết mình xong đồ án của em vẫn còn mắc phải nhiều thiếu sót và hạn chế
Em rất mong nhận được sự thông cảm và sự chỉ bảo của Thầy Cô cùng các bạn
Em xin chân thành cảm ơn!
Hà nội, tháng 7 năm 2010
Sinh viên thực hiện
Nguyễn Thị Thùy Dương
Trang 5LỜI NÓI ĐẦU
Chúng ta đang sống trong thời kỳ phát triển rất nhanh chóng và sôi động củaCông nghệ thông tin Sự phát triển mạnh mẽ không ngừng của Công nghệ thông tintrên khắp thế giới đã làm thay đổi căn bản đời sống kinh tế xã hội của các quốc gia.Công nghệ thông tin đã và đang đi sâu vào mọi lĩnh vực của đời sống xã hội và ngàycàng khẳng định được tính phổ dụng, tiện lợi, nhanh chóng và rẻ tiền mà không mộthình thức xử lý thông tin nào khác có được Ứng dụng Công nghệ thông tin liên tụcđược phát triển trên nhiều lĩnh vực như kinh tế, y tế, quốc phòng, giáo dục…
Ngày nay dưới sự bùng nổ của Công nghệ thông tin, đặc biệt là sự ra đời củaInternet đã đưa con người chúng ta sang một kỷ nguyên mới- Kỷ nguyên của xã hộithông tin, của nền kinh tế số Và việc sử dụng máy tính vào tất cả các hoạt độngkinh doanh, sản xuất để thay thế một phần sức lực của con người đã trở nên quenthuộc Trong kinh doanh, việc quản lý vốn rất đau đầu trong việc cân đối, kê khai,báo cáo…thì việc quản lý chúng bằng phần mềm trên máy tính thực sự dễ dàng hơnrất nhiều đối với các nhà quản lý cũng như người dùng
Những công việc quản lý phức tạp như quản lý nhà hàng, quản lý bệnhviện…đòi hỏi rất nhiều giấy mực để ghi chép và rất dễ mắc sai lầm, thiếu sót Việcđưa vào áp dụng phần mềm quản lý bằng máy tính sẽ là lựa chọn tối ưu cho nhữngkhối công việc quản lý kia
Với mong muốn giảm thiểu những vấn đề rắc rối đó cùng hy vọng giúp giảmthiểu sức lực của con người vào công việc lưu trữ, xử lý dữ liệu…một cách nhanhnhất và chính xác nhất Mục đích của phần mềm là đưa những nghiệp vụ quản lýcủa nhà hàng vào ngay trên phần mềm để máy tính lưu trữ và con người quản lý.Như thế, công tác quản lý nhanh hơn, chính xác hơn để công việc kinh doanh trởnên dễ dàng, suôn sẻ và hiệu quả
Sinh viên thực hiện
Nguyễn Thị Thùy Dương
Trang 6CHƯƠNG 1
GIỚI THIỆU1.1 Lý do chọn đề tài
Ngành nghề ẩm thực ở Việt Nam đang có sự phát triển mạnh mẽ cùng với sựđổi mới và hội nhập của thế giới Quy mô của các nhà hàng hiện nay đã và đang lớndần lên, phù hợp với nhu cầu của xã hội Chính sự phát triển đó mà việc quản lý nhàhàng cũng trở nên khó khăn và phức tạp hơn nếu như vẫn sử dụng phương thứcquản lý trên giấy tờ Trước đây, khi máy tính chưa được ứng dụng rộng rãi, cáccông việc Quản Lý Nhà Hàng đều được làm thủ công nên rất mất thời gian và tốnkém về nhân lực cũng như tài chính Ngày nay, với sự phát triển công nghệ thôngtin mà máy tính đã được sử dụng rộng rãi trong các cơ quan, nhà máy, trường học giúp cho công việc được tốt hơn Việc sử dụng máy tính vào công tác Quản Lý NhàHàng là một yêu cầu cần thiết nhằm xóa bỏ những phương pháp lạc hậu, lỗi thờigây tốn kém về nhiều mặt
Đối với việc kinh doanh trong lĩnh vực ẩm thực, ngoài việc phải quảng bágiới thiệu cho mọi người biết về nhà hàng, còn phải có sự tổ chức quản lý cácnghiệp vụ trong nhà hàng, điều đó góp phần làm cho nhà hàng có sự chuyên nghiệp,đáp ứng yêu cầu ngày càng khắt khe của khách hàng, nó cũng góp phần tạo sự rànhmạch trong việc quản lý từng loại nghiệp vụ Điều này cũng giúp nhà quản lý dễdàng hơn trong việc quản lý, đồng thời họ có nhiều thời gian hơn để đưa ra những
kế hoạch trong kinh doanh
Không chỉ dừng lại ở việc giúp các nhà quản lý quản lý hệ thống của mình
dễ dàng, mà nó cũng giúp cho các nhân viên –người trực tiếp thao tác với phầnmềm làm việc nhanh hơn, hiệu quả hơn, tránh nhầm lẫn trong việc tính toán nhậpxuất hàng
Trong đồ án mà em xây dựng là những giải pháp quản lý các nghiệp vụ cụthể cho một nhà hàng Phần mềm này giúp cho người quản lý nắm bắt được cácthông tin về nhân viên trong nhà hàng, quá trình nhập nguyên liệu, quy trình bán
Trang 7Cho phép nhân viên sử dụng phần mềm trực tiếp ghi lại những thông tin cầnthiết cho công việc của mình.
Bên cạnh đó, còn có thể tính toán kiểm tra lượng hàng trong kho, biết được
số lượng hàng tồn để nhập hàng tiếp hay tạm ngưng nhập hàng
Đưa ra các thống kê báo cáo về hoạt động kinh doanh để biết được tình hình kinhdoanh từ đó có những kế hoạch tốt nhất mang lại lợi nhuận cao nhất cho nhà hàng
1.2 Những lợi ích khi ứng dụng Công nghệ thông tin vào quản lý nhà hàng
Tầm quan trọng của công nghệ thông tin và truyền thông đối với sự pháttriển của các doanh nghiệp với hệ quả là sự thịnh vượng của các quốc gia không còn
Dữ liệu được lưu dưới dạng số hóa, dễ dàng thống kê, báo cáo tuyệt đốichính xác, đảm bảo an toàn dữ liệu
Tiết giảm thời gian làm việc Do tất cả các công việc liên quan đến dữ liệuđược lập trình, các thao tác phức tạp trước đây được đơn giản hóa
Cải thiện chất lượng quá trình điều khiển và hiệu suất quá trình sản xuất
Kiểm soát được việc khai thác và sử dụng dữ liệu
Giảm thiểu thời gian chờ đợi của khách hàng: việc tính toán được thực hiệntrên máy tính nên sẽ nhanh và chính xác hơn, như thế khi thanh toán khách hàng sẽkhông phải chờ đợi lâu
Chống tiêu cực, gian lận trong việc quản lý: các công việc do máy tính thựchiện, xử lý và lưu trữ nên các nhân viên khó có thể sửa chữa, thay đổi gian lận trongquá trình làm việc
Truy tìm nhanh cho việc thống kê, báo cáo
Giúp tránh nhầm lẫn khi tính toán
Trang 8Minh bạch hóa các nguồn thông tin.
Với nhà quản lý, có toàn quyền với hệ thống:
Quản trị, cấp phát quyền cho các nhân viên trong nhà hàng
Quản lý các thông tin về nhà cung cấp
Quản lý các thông tin về khách hàng, quy định mức giảm giá cho từng đốitượng khách hàng
Quản lý thông tin nhân viên, bộ phận công tác của nhân viên
Tổng hợp các báo cáo về doanh thu của nhà hàng
Tìm kiếm các thông tin cần thiết trong cơ sở dữ liệu
Quản lý công việc thu chi, lý do thu chi
Quản lý hệ thống các báo cáo về doanh thu, nguyên liệu tồn
…
Nhà quản lý có thể cập nhật, sửa, xóa các thông tin liên quan đến việc quản lýcác hóa đơn nhập xuất Sau khi nhân viên cập nhật và tổng hợp các hóa đơn, nhàquản lý có thể xem các báo cáo liên quan để nắm bắt được hoạt động kinh doanhcủa nhà hàng Đây là công việc mà nhân viên cấp dưới không được phép thao tác
1.3.2 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ữngnghiệ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
Trang 9GIỚ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-codetrong UCSD Pascal cho đến Java Virtual Marchine Có điều Microsoft góp nhặtnhữ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ânsá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ềntả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ápxâ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ànhlạ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ềuhà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ìnhviên có thể xây dựng cho Internet dễ dàng như cho desktop
2.2 Visual Studio.NET và Visual C# NET
Trang 10Visual 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# (VisualC#.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ặtchẽ 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ệckết hợp hiệu nǎng cao của Visual Basic và sức mạnh của C++ C# được Microsoftgiớ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ũngnhư 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 nhanhchóng các dịch vụ và ứng dụng Web XML Tầm nhìn của nền tảng .NETFramework 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ế NETFramework 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 khuvực theo vị trí địa lý, thậm trí cả những ứng dụng cho tương lai, những giải phápphát triển cần được đề nghị hỗ trợ cho các chuẩn Internet mở và tích hợp chặt chẽ
Trang 11vớ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ầngbê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ữngkiến trúc không đồng bộ dựa trên nền thông điệp (message-based) Nhưng công việcxâ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ônngữ đặ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ínhtoán tài chính v.v .NET Framework cho phép các ứng dụng được viết trong nhiềungô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ặtchẽ 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ữngngườ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ữngcô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ácgiao 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ộttậ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
Trang 12ứng dụng và dữ liệu được bảo vệ thông qua một mô hình bảo mật chứng (evidence-based) và tinh vi.
dựa-trên-bằng- 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 giaodịch .NET Framework đã tận dụng lợi thế đa dạng và phong phú này để đưa ra chomọ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ựngbằ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ụngdị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ũngnhư 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ệckhô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ừngphò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òngnà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ínhthì 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áchphâ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ềulớ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ếnnhấ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ạonê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ếtlớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi
Trang 13Presentation 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ớpnày
Trong lớp này có 2 thành phần chính là User Interface Components và UserInterface Process Components
UI Components là những phần tử chịu trách nhiệm thu thập và hiển thị thôngtin cho người dùng cuối Trong ASP.NET thì những thành phần này có thể là cácTextBox, các Button, DataGrid
UI Process Components: là thành phần chịu trách nhiệm quản lý các quitrình chuyển đổi giữa các UI Components Ví dụ chịu trách nhiệm quản lý các mànhì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ộtWizard
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ụ dolớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation Lớp nàycũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thựchiệ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ựctuyến như VeriSign, Paypal )
Trong lớp này có các thành phần chính là Business Components, BusinessEntities và Service Interface
Service Interface là giao diện lập trình mà lớp này cung cấp cho lớpPresentation sử dụng Lớp Presentation chỉ cần biết các dịch vụ thông qua giao diệnnà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
Trang 14Business 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ớpPresentation 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ệunhư SQL Server, Oracle để thực hiện nhiệm vụ của mình Trong lớp này có cácthà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ệmlư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ằngcá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ụngcá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ênngò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 SQLServer, đó 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
Trang 15dướ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ảngthự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âulệ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ệncá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ôngtin 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ệutrong 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ề khithủ 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 khimộ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 (TransactionSQL), nhờ đó ta có thể lợi dụng cơ chế này để viết các Trigger nhằm giải quyết cácquy tắc nghiệp vụ, các mối dàng buộc phức tạp
Trang 16CHƯƠ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
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
- 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
Trang 17- 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ênquan 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 thanhtoá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.
Trang 183.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.
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ânviê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ấpphá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ậpnhậ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ênliệu, nhóm nguyên liệu, món ăn, nhóm món ăn, định lượng món ăn, nhà cung cấpnguyê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
Trang 19sẽ 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ậphà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ấpmang nguyên liệu đến, bộ phận bếp nhận và kiểm kê nguyên liệu từ phía nhà cungcấ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ả chonhà 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ếpchuyể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àngnhậ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 chitrả 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 đơnnhậ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ểndanh 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âncậ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 Ngaykhi 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à
Trang 20khá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ânviê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ếuthanh 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ácthố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ứcnă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ìnhhì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ứcnă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ượnghà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à ítnhấ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ếtcủ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 chonhà 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ếptừ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
Trang 213.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:
Hình 3.1: Sơ đồ chức năng mức đỉnh của hệ thống
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
Trang 223.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ôngtá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
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
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
Trang 233.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óathô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ácnhau, sau khi sử dụng phải trừ đi lượng đã lấy để xác định được lượng nguyên liệutồ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
Trang 24- 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
Trang 25- 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 chokhá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 Đồngthờ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
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
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
Trang 26- 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
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ếmtheo hóa đơn nhập và hóa đơn xuất
4.1 Báo cáo doanh thu Báo cáo nguyên liệu tồn 4.2
4.
Thống kê Báo cáo
Trang 27Tì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.
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
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
Trang 28Sơ đồ 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
Trang 293.4.2 Sơ đồ dòng dữ liệu mức đỉnh
Hình 3.7: Sơ đồ dòng dữ liệu mức đỉnh
Trang 303.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
Trang 313.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
Trang 323.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
Trang 33CHƯƠ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
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
Trang 34 Thực thể Hóa đơn nhâp bao gồm các thuộc tính: - Mã hóa đơn nhập
Trang 35 Thực thể Nguyên Liệu bao gồm các thuộc tính: - Mã nguyên liệu
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