Nhiệm vụ Phải nêu được các kiến thức cơ bản về ngôn ngữ lập trình Visual Basic .Net, hệ quản trị cơ sở dữ liệu Access.. Đối tượng nghiên cứu Một số lý thuyết cơ bản về lập trình Visual
Trang 1LỜI CẢM ƠN
Trước hết, em xin trân trọng gửi lời cảm ơn tới Trường ĐHSP Hà Nội 2
đã tạo mọi điều kiện thuận lợi cho em trong thời gian học tập, nghiên cứu và hoàn thành khóa luận
Em cũng xin gửi lời cảm ơn sâu sắc tới TS Trịnh Đình Thắng, người đã trực tiếp hướng dẫn và giúp đỡ em trong quá trình học tập cũng như trong quá trình thực hiện khóa luận
Qua đây em cũng xin gửi lời cảm ơn chân thành tới các thầy, cô giáo trong khoa Công nghệ thông tin cũng như các thầy cô giáo khác đã giảng dạy
em trong suốt thời gian học tập tại trường Xin cảm ơn các bạn sinh viên trong khoa đã nhiệt tình giúp đỡ, đóng góp cho khóa luận của tôi
Hà Nội, tháng 5 năm 2012 Sinh viên thực hiện
Lê Thị Hà
Trang 2LỜI CAM ĐOAN Tên tôi là: Lê Thị Hà
Sinh viên lớp: K34-CNTT, Trường ĐH Sư Phạm Hà Nội 2
Tôi xin cam đoan:
1 Đề tài “Phần mềm quản lý nhà hàng Ngọc Sơn” là kết quả nghiên
cứu của riêng tôi, dưới sự hướng dẫn của thầy giáo TS Trịnh Đình Thắng và
tham khảo một số nguồn tài liệu trong nước và nước ngoài trên Internet
2 Khóa luận hoàn toàn không sao chép từ các tài liệu có sẵn nào
3 Kết quả nghiên cứu không trùng với các tác giả khác
Nếu sai, tôi xin hoàn toàn chịu trách nhiệm!
Hà Nội, ngày 10 tháng 5 năm 2012
Người cam đoan
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỞ ĐẦU 5
Chương 1 CƠ SỞ LÝ THUYẾT 8
1.1 Cơ bản về Visual Basic NET 8
1.1.1 Khởi động Visual Basic NET 8
1.1.2 Các công cụ của VB.NET 8
1.1.3 Phương pháp lập trình hướng sự kiện 9
1.1.4 Viết Code cho chương trình 9
1.1.5 Sự phát triển của Visual Basic NET so với Visual Basic 6.0 10
1.2 Hệ quản trị cơ sở dữ liệu Access 11
1.2.1 Tổng quan về Access 11
1.2.2 Cơ sở dữ liệu là gì ? 11
1.2.3 Bảng và trường 12
1.2.4 Thiết kế cơ sở dữ liệu 12
1.2.5 Tạo lược đồ cơ sở dữ liệu 12
1.2.6 Các mối quan hệ 12
Chương 2PHÂN TÍCH HỆ THỐNG 14
2.1 Khảo sát hệ thống 14
2.1.1 Mô tả hệ thống cũ 14
2.1.2 Đề xuất và yêu cầu của hệ thống mới 15
2.2 Phân tích hệ thống 17
2.2.1 Biểu đồ phân cấp chức năng 17
2.2.1.1 Quản lý hệ thống 18
2.2.1.2 Quản lý 18
2.2.1.3 Tìm kiếm 18
Trang 42.2.1.4 Báo cáo 18
2.2.2 Sơ đồ luồng dữ liệu 19
2.2.2.1 Sơ đồ luồng dữ liệu mức khung cảnh 19
2.2.2.2 Sơ đồ luồng dữ liệu mức đỉnh 20
2.2.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh 21
Chương 3THIẾT KẾ HỆ THỐNG 24
3.1 Mô hình thực thể liên kết 24
3.1.1 Mô hình thực thể liên kết 24
3.1.2 Thuyết minh mô hình thực thể liên kết 24
3.2 Thiết kế cơ sở dữ liệu 25
3.2.1 Danh sách các bảng dữ liệu 25
3.2.2 Mối quan hệ giữa các bảng 30
3.3 Thiết kế giao diện chương trình 31
3.3.1 Giao diện menu Quản lý hệ thống 33
3.3.2 Giao diện form quản lý 33
3.3.2 Giao diện form quản lý 34
3.3.3 Giao diện menu Quản lý tìm kiếm 42
3.3.4 Giao diện form báo cáo 43
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 47
MỘT SỐ TÀI LIỆU THAM KHẢO 48
Trang 5Trong nền kinh tế phát triển nhiều thành phần này thì quản lý nhà hàng càng mang tính quyết định chính trong hiệu quả kinh doanh chính Vì vậy việc ra đời những bài toán quản lý nói chung và quản lý nhà hàng nói riêng là một điều tất yếu khách quan
Có thể nói rằng với sự phát triển của công nghệ thông tin thì việc quản lý thủ công không còn phù hợp nữa Ta có thể nhận thấy một số yếu kém của việc quản lý theo phương pháp thủ công như: Thông tin về đối tượng quản lý nghèo nàn, lạc hậu, không thường xuyên cập nhật Việc lưu trữ bảo quản khó khăn, thông tin lưu trữ trong đơn vị không nhất quán, dễ bị trùng lập giữa các
bộ phận Đặc biệt là mất rất nhiều thời gian và công sức để thống kê, để phân tích đưa ra các thông tin phục vụ việc ra quyết định Do đó, việc sử dụng các thành tựu của công nghệ thông tin trong quản lý ngày càng rộng rãi và mang lại hiệu quả cao, khắc phục được những nhược điểm của hệ thống quản lý cũ, các bài toán quản lý được đưa vào máy tính và ngày càng được tối ưu hoá, giảm được thời gian cũng như chi phí cho quá trình xử lý, mang lại hiệu quả lớn trong kinh doanh
Từ nhu cầu trên, em đã sử dụng vốn kiến thức ít ỏi của mình để tìm hiểu
và phân tích bài toán “Quản lý nhà hàng Ngọc Sơn” Chương trình được xây
dựng bằng ngôn ngữ lập trình Visual Basic NET và hệ quản trị cơ sở dữ liệu
Trang 6Microsoft Access 2003 Nó chỉ mang tính chất thử nghiệm để học hỏi, trao đổi kinh nghiệm và làm quen với thực tế
1.2 Mục đích
Tìm hiểu quy trình hoạt động của nhà hàng, tìm ra được những ưu, nhược điểm của hệ thống cũ Từ đó sẽ xây dựng chương trình mới khắc phục những nhược điểm mà hệ thống cũ mắc phải
2 Nhiệm vụ, yêu cầu
2.1 Nhiệm vụ
Phải nêu được các kiến thức cơ bản về ngôn ngữ lập trình Visual Basic Net, hệ quản trị cơ sở dữ liệu Access Phân tích hệ thống cũ, xây dựng hệ thống mới Từ đó thiết kế giao diện chương trình dựa trên ngôn ngữ Visual Basic Net
3 Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận: Nghiên cứu qua việc đọc sách, báo
và các tài liệu liên quan đến việc quản lý một nhà hàng Tham khảo một số
Trang 7- Phương pháp chuyên môn: Tham khảo ý kiến của các chuyên gia để
có thể thiết kế phần mềm phù hợp với nhu cầu thực tiễn, nội dung xử lý nhanh đáp ứng yêu cầu ngày càng cao của người sử dụng
- Phương pháp thực nghiệm: Thông qua quan sát thực tế, yêu cầu của
cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên
4 Đối tượng, phạm vi nghiên cứu
4.1 Đối tượng nghiên cứu
Một số lý thuyết cơ bản về lập trình Visual Basic Net và hệ quản trị cơ
sở dữ liệu Access 2003, các chức năng mà nhà hàng cần quản lý
4.2 Phạm vi nghiên cứu
Phạm vi luận văn của em dừng lại ở việc quản lý một nhà hàng ở quy
mô nhỏ
5 Ý nghĩa khoa học của đề tài
Phần mềm quản lý nhà hàng Ngọc Sơn là một phần mềm quản lý ở quy
mô nhỏ Sau này ta có thể phát triển, nâng cấp hệ thống để có thể quản lý ở quy mô rộng lớn hơn
6 Cấu trúc của khóa luận
Ngoài phần mở đầu và kết luận, khóa luận gồm 3 chương:
Chương 1: Cơ sở lý thuyết Chương 2: Phân tích hệ thống Chương 3: Thiết kế hệ thống
Trang 8Chương 1
CƠ SỞ LÝ THUYẾT
1.1 Cơ bản về Visual Basic NET
VB.NET là bộ công cụ giúp phát triển các ứng dụng từ ứng dụng desktop đến ứng dụng mạng Nó là môi trường để phát triển tất cả các ngôn ngữ như VB.NET, Visual C++, Visual C#.Net hết sức mạnh mẽ và thuận lợi
1.1.1 Khởi động Visual Basic NET
Việc khởi động VB.NET cũng tương tự như các phần mềm khác như ms.Word hay Excel Nếu lần đầu khởi động VB.NET sẽ yêu cầu xem bạn
chạy nó với ưu tiên ứng dụng và ngôn ngữ nào Chọn Visual Basic và start vb.net là xong Màn hình bắt đầu như sau:
Nếu trang start page không hiện, ta có thể làm nó xuất hiện bằng cách chọn menu View | Other Windows | Start Page
1.1.2 Các công cụ của VB.NET
Công cụ trong vb.NET rất phong phú Bạn có thể khám phá từ từ Sau đây
là mô phỏng màn hình làm việc của bộ vb.NET:
Trang 91.1.3 Phương pháp lập trình hướng sự kiện
- Dùng giao diện để tương tác giữa người dùng và chương trình
- Người dùng phải hoạch định thứ tự cho các sự kiện
- Thứ tự các đoạn mã lệnh ứng với các sự kiện là không quan trọng
- Trên một đối tượng có thể có nhiều sự kiện khác nhau
1.1.4 Viết Code cho chương trình
Hàm và thủ tục
Khi lập trình ta thường gặp những đoạn chương trình hay lặp lại nhiều lần ở những chỗ khác nhau Để chương trình đỡ phức tạp các đoạn này được thay thế bởi các chương trình con tương ứng, khi cần chỉ cần gọi nó ra mà không cần phải viết lại nhiều lần Chương trình con là một chương trình được viết theo những quy tắc đặc biệt để có thể được gọi thực hiện bằng một
Properties Windows Output Windows
Trang 10chương trình khác Chương trình chứa lời gọi thực hiện chương trình con được gọi là chương trình chính Trong đa số các ngôn ngữ lập trình bậc cao chương trình con được chia thành hai loại là thủ tục và hàm Cấu trúc của một thủ tục:
Private sub Tên thủ tục ( )
đó Hầu hết các hàm toán học đều là các hàm chuẩn
1.1.5 Sự phát triển của Visual Basic NET so với Visual Basic 6.0
Thay đổi về kỹ thuật
Trong VB.NET kỹ thuật là yếu tố dẫn đến thay đổi về cú pháp và cách thức lập trình, xuất phát từ mục tiêu kỹ thuật mà Microsoft hướng đến trong phiên bản mới của VB
Để VB thống nhất về mặt kỹ thuật với C++ và C#, Microsoft đã phát triển Common Language Runtime (CLR) thành nền tảng chung VB không còn là công cụ sinh mã giả nữa, CLR làm cho nó trở thành ngôn ngữ hướng đối tượng thực sự và đặt nó ngang cấp với C++ và C# Về mặt kỹ thuật, một ứng dụng được tạo bởi VB.NET không có gì khác biệt so với ứng dụng tạo
Trang 11Thay đổi cú pháp
Tuy những thay đổi về kỹ thuật trong VB.NET cực kỳ quan trọng (và rất được hoan nghênh) nhưng lại không dễ nhận biết như những thay đổi trong cú pháp và cách thức lập trình Chúng ảnh hưởng nhiều đến khả năng chuyển đổi ứng dụng VB 6.0 sang VB.NET
Trong bộ công cụ Studio.Net, Microsoft có cung cấp tiện ích Upgrade Wizard để chuyển đổi ứng dụng VB 6.0 sang VB.NET
Thay đổi kiểu dữ liệu
VB.NET đã nói lời chia tay với các kiểu dữ liệu Variant, Short và Long VB.NET kết hợp kiểu dữ liệu Object và Variant thành kiểu dữ liệu Object duy nhất Variant là kiểu dữ liệu mặc định của VB 6.0 được gán cho tất cả các biến không được khai báo kiểu cụ thể Kiểu Variant còn được gán cho các biến ngoài biến đầu tiên trên cùng một dòng khai báo
1.2 Hệ quản trị cơ sở dữ liệu Access
1.2.1 Tổng quan về Access
Access là một hệ thống quản lý cơ sở dữ liệu (CSDL) Access lưu trữ
và tìm kiếm dữ liệu, biểu diễn thông tin và tự động làm nhiều nhiệm vụ khác Acces giúp chúng ta truy nhập tới tất cả các dạng dữ liệu, nó có thể làm với nhiều hơn một bảng tại cùng một thời điểm để giảm bớt sự rắc rối của dữ liệu
và làm cho công việc dễ dàng thực hiện hơn
1.2.2 Cơ sở dữ liệu là gì ?
Cơ sở dữ liệu là một kho chứa thông tin Có nhiều loại cơ sở dữ liệu nhưng phổ biến nhất là kiểu cơ sở dữ liệu quan hệ
Một cơ sở dữ liệu quan hệ:
- Chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng (mẩu tin) và cột (trường)
- Cho phép truy vấn các tập hợp dữ liệu con từ bảng
Trang 12- Cho phép nối các bảng với nhau cho mục đích truy cập các mẩu tin liên quan với nhau chứa trong các bảng khác nhau
1.2.3 Bảng và trường
Các cơ sở dữ liệu được cấu tạo từ các bảng dùng để thể hiện các phân nhóm dữ liệu Bảng có cấu trúc định nghĩa sẵn và chứa dữ liệu phù hợp với cấu trúc này Bảng chứa các mẩu tin, mẩu tin là các mẩu dữ liệu riêng rẽ bên trong phân nhóm dữ liệu Mẩu tin chứa các trường Mỗi trường thể hện một
bộ phận dữ liệu trong một mẩu tin
1.2.4 Thiết kế cơ sở dữ liệu
Sau khi xác định được thông tin cần theo dõi thì ta thiết kế cơ sở dữ liệu, tạo các bảng chứa các trường định nghĩa kiểu dữ liệu sẽ có Ta không thể đưa dữ liệu vào mà không có các bảng hay định nghĩa trường vì dữ liệu sẽ không có chỗ để chứa Vì thế, thiết kế cơ sở dữ liệu cực kì quan trọng, ta khó có thể thay đổi thiết kế khi ta đã tạo xong nó
1.2.5 Tạo lược đồ cơ sở dữ liệu
Lược đồ là các bản đồ các con đường trong cơ sở dữ liệu Lược đồ thể hiện các bảng, trường và mối quan hệ trong cơ sở dữ liệu Lược đồ cho ta một
cách nhìn nhanh về những gì trong cơ sở dữ liệu
1.2.6 Các mối quan hệ
Mối quan hệ là một cách định nghĩa chính thức hai bảng liên hệ với nhau như thế nào Khi ta định nghĩa một mối quan hệ có nghĩa là hai trường trong hai bảng liên quan nối với nhau Hai trường liên quan với nhau trong một mối quan hệ là khoá chính và khoá ngoại
Trang 13Quan hệ Một - Một: là loại quan hệ dễ hiểu và dễ thực hiện nhất, bởi trong mối quan hệ này một bảng sẽ lấy vị trí của một trường trong một bảng khác, trường liên quan cũng dễ nhân dạng Tuy nhiên mối quan hệ một - một không phải là mối quan hệ thông dụng nhất trong ứng dụng cơ sở dữ liệu Ta không cần phải biểu diễn mối quan hệ Một - Một với 2 bảng
Quan hệ Một - Nhiều: Mỗi mẩu tin của bảng này không có, hoặc có một hoặc nhiều mẩu tin trong một bảng liên hệ Để thể hiện mối quan hệ này trong thiết kế cơ sở dữ liệu, ta phải copy khoá chính của phía “Một” đến bảng chứa phía nhiều trong mối quan hệ Mối quan hệ Một - Nhiều được phổ biến hơn quan hệ Một - Một
Quan hệ Nhiều - Nhiều: Quan hệ nhiều là bước phát triển của quan hệ Một - Nhiều
Trang 14vệ, khu để xe, nhà bếp, kế toán, khu ăn uống, nhà kho
1 Nhà hàng nhận các thông tin chi tiết về các thực phẩm (sau khi đã có yêu cầu nhập hàng) Nội dung của tờ hóa đơn này ghi rõ tất cả các thông tin
về thực phẩm như: xuất xứ, giá, cách bảo quản, cách sử dụng, tác dụng, … Nếu có nhu cầu lấy các thực phẩm này nhà hàng sẽ gửi đơn đặt hàng cho nhà cung cấp Sau đó tiến hành làm thực đơn các món ăn liên quan đến các thực phẩm cho khách hàng
2 Nhà cung cấp đáp ứng nhu cầu nhập hàng của nhà hàng bằng việc chuyển hàng cho nhà hàng kèm theo đơn đặt hàng và kèm theo hóa đơn thanh toán tiền của các thực phẩm
3 Nhà hàng nhập các thực phẩm thông qua biên lai thanh toán tiền và phiếu nhập kho
4 Khi khách hàng vào nhà hàng thì nhân viên nhà hàng chuyển cho khách hàng thực đơn Khách hàng có nhu cầu thưởng thức các món ăn sẽ đọc các yêu cầu của mình cho nhân viên ghi vào phiếu yêu cầu (tên món ăn, đồ uống, quy cách, số lượng, … ) Từ đó các phiếu yêu cầu sẽ chuyển tới nhà bếp
Trang 155 Nhà bếp dựa vào phiếu yêu cầu của khách để từ đó định lượng ra các thực phẩm cần thiết để chế biến các món ăn cho khách hàng và yêu cầu bộ phận thủ kho xuất thực phẩm theo yêu cầu
6 Khi ăn uống xong khách sẽ nhận hóa đơn thanh toán và dựa vào hóa đơn đó thì sẽ thanh toán với bộ phận kế toán của nhà hàng
7 Sau mỗi tuần, mỗi tháng và sau một năm bộ phận kế toán sẽ tổng hợp tình hình khách hàng, nhập thực phẩm, thực phẩm còn trong kho cho ban lãnh đạo
Các nghiệp vụ được xử lý hoàn toàn là thủ công nên còn nhiều vấn đề bất cập:
- Mất khá nhiều thời gian từ khâu nhận khách hàng đến khi đặt món cho khách đặc biệt vào các ngày lễ tết, lúc đông khách thì việc đáp ứng nhu cầu trở nên chậm chạp, nhiều lúc bỏ xót gây nhiều lời phàn nàn từ khách hàng
- Việc xử lý các nghiệp vụ đôi lúc chồng chéo nhau, và do sơ suất hay cố tình
mà một số hóa đơn thanh toán dẫn đến tổng hợp doanh thu cuối ngày khó chính xác
- Thông tin về các món ăn không được hoặc được ít người thích không rõ ràng nên không có sự điều chỉnh hợp lý cho thực đơn
2.1.2 Đề xuất và yêu cầu của hệ thống mới
Hệ thống mới cần xây dựng là hệ thống tin học hóa phần lớn các nghiệp vụ bán hàng của nhà hàng Hệ thống sẽ tin học hóa hoàn toàn từ khâu tiếp nhận khách, yêu cầu, xử lý yêu cầu, in hóa đơn thanh toán, lập báo cáo tổng hợp bán hàng bằng hệ thống máy tính được nối mạng Lan trong nhà hàng, các máy đặt tại phòng phục vụ, máy in trong nhà bếp Nhân viên chỉ đóng vai trò xử lý các nghiệp vụ trên máy, và am hiểu một chút về trình độ tin học Những ưu điểm mà hệ thống mang lại là:
- Rút ngắn khoảng thời gian giữa các nghiệp vụ
Trang 16- Tạo nên phong cách làm việc nhanh chóng, hiệu quả hơn nhờ vào khả năng lưu giữ thông tin về khách hàng, về món ăn… và khả năng tra cứu, xử lý thông tin tự động của phần mềm
Trang 17Quản lý khách hàng
Quản lý thực đơn
Quản lý
Tìm kiếm nhân viên
Tìm kiếm khách hàng
Quản lý bàn
Quản lý nhà cung cấp
Quản lý
ca làm việc
Quản lý hàng nhập
Quản lý lương nhân viên
Báo cáo tồn kho
Trang 18Chương trình quản lý nhà hàng Ngọc Sơn bao gồm các chức năng chính sau:
2.2.1.3 Tìm kiếm
Việc tìm kiếm thông tin về một nhân viên hay một khách hàng cũng là một công việc tốn nhiều thời gian và dễ nhầm lẫn Chính vì vậy chức năng tìm kiếm này sẽ giúp cho việc tìm kiếm thông tin về một nhân viên hay một khách hàng theo các tiêu chí khác nhau một cách nhanh chóng và chính xác
2.2.1.4 Báo cáo
Báo cáo chung về tình hình kinh doanh của nhà hàng như: Báo cáo thu/chi, Báo cáo tồn kho…
Trang 192.2.2 Sơ đồ luồng dữ liệu
2.2.2.1 Sơ đồ luồng dữ liệu mức khung cảnh
QUẢN LÝ NHÀ HÀNG
Kết quả xử lý Thông Tin Lương
Hình 2.2: Sơ đồ luồng dữ liệu mức khung cảnh
Trang 202.2.2.2 Sơ đồ luồng dữ liệu mức đỉnh
1.4 Thống kê
CÁN BỘ QUẢN LÝ
Nhân Viên
Nhà hàng
Kết quả đăng nhập
Thông tin người dùng
Thông tin nhà hàng
Thông tin nhân viên
Thông tin nhân viên
Thông tin nhân viên
Tiêu chí tìm kiếm
Kết quả tìm kiếm
Yêu cầu thống kê Kết quả
thống kê
Khách hàng
Thông tin khách hàng Thông tin
khách hàng
Trang 212.2.2.3 Sơ đồ luồng dữ liệu mức dưới đỉnh
Phân rã ô xử lý 1.1:
Hình 2.4: Sơ đồ luồng dữ liệu mức dưới đỉnh
của chức năng quản lý hệ thống
1.1.1 Đăng
khẩu
CÁN BỘ QUẢN LÝ
Người dùng 1.1.1
Kết quả đổi mật khẩu
Thông báo thoát Mật khẩu mới
Trang 22Phân rã ô xử lý 1.2:
1.2.5
QL nhà cung cấp
1.2.3
QL thực đơn
1.2.4
QL bàn
1.2.8
QL lương nhân viên
1.2.7
QL nhập hàng
xử lý
Kết quả
xử lý
TT khách hàng
TT thực đơn
TT bàn
TT ca làm việc
TT nhập hàng
TT nhân viên
Trang 23Phân rã ô xử lý 1.3:
Phân rã ô xử lý 1.4:
Tiêu chí tìm kiếm nhân viên
1.3.2 Tìm kiếm khách hàng
1.3.1 Tìm kiếm nhân viên
CÁN BỘ QUẢN LÝ
Nhân Viên Khách hàng
Tiêu chí tìm kiếm khách hàng
Hình 2.6: Sơ đồ luồng dữ liệu mức dưới đỉnh
của chức năng tìm kiếm
Kết quả tìm kiếm khách hàng
Hóa đơn
Trả lời
Trả lời Trả lời
1.4.1
Báo cáo
thu/chi
1.4.2 Hóa đơn
1.4.3 Báo cáo tồn kho
Trang 24Thực thể Nhân viên: Ma_nv, Ten_nv, Ngay_sinh, Que_quan,
Chuc_vu, Ca, Luong_ngay, Ngay_vao, Ghi_chu
Thực thể hóa đơn: Ma, Ngay, Ten_ban, So_khach, Tong_tien,
Ca Luong_ngay Ngay_vao Ghi_chu