Tải bản đầy đủ (.doc) (71 trang)

đề tài phần mềm quản lý nhà hàng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.01 MB, 71 trang )

MỤC LỤC
Trang
LỜ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ều
kiệ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ến
thứ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
LỜ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ủa
Công nghệ thông tin. Sự phát triển mạnh mẽ không ngừng của Công nghệ thông tin
trê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ày
cà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ột
hì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ủa
Internet đã đưa con người chúng ta sang một kỷ nguyên mới- Kỷ nguyên của xã hội
thô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 động
kinh doanh, sản xuất để thay thế một phần sức lực của con người đã trở nên quen


thuộ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ơn
rấ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ệnh
việ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ững
khố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ảm
thiể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 nhanh
nhấ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
CHƯƠNG 1
GIỚI THIỆU
1.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ớ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ờ. Trước đây, khi máy tính chưa được ứng dụng rộng rãi, các
cô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ốn
ké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ông
tin 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ời
gâ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ác
nghiệ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ành
mạ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ần
mề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ập
xuấ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ác
thô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
hàng, các thống kê báo cáo về doanh thu…
Cho 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ần
thiế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 kinh
doanh 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át
triể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
là vấn đề tranh cãi.
Ứng dụng công nghệ thông tin do vậy trở thành một thành phần không thể
thiếu trong các chiến lược cạnh tranh của các doanh nghiệp và quốc gia.
Ở Việt Nam, những năm gần đây số người sử dụng máy tính, Internet, số trang
web của doanh nghiệp, cơ quan chính phủ tăng lên rất nhiều. Khi ứng dụng Công nghệ
thông tin vào việc quản lý nhà hàng nó mang lại một số lợi ích cơ bản sau:
• 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

đối chí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ện trê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ực hiệ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 trong quá 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.
• Minh bạch hóa các nguồn thông tin.
• …
1.3 Phạm vi đề tài
Phần mềm được xây dựng phục vụ cho 2 đối tượng người sử dụng. Đó là nhà
quản lý và nhân viên trong nhà hàng.
1.3.1 Nhà quản lý
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
đối tượ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 doanh
củ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ữ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:
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
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.
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
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.
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
-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ếm
theo hóa đơn nhập và hóa đơn xuất.
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
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.
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

×