TÓM TẮT Quán karaoke hiện nay đang là nơi thu hút được đông đảo khách hàng nên việcquản lý phải cần khá nhiều người, chia thành nhiều khâu mới có thể quản lý quánkaraoke như: Quản lý nhâ
Mục tiêu của đề tài
Mục tiêu tổng quát
-Mục tiêu tổng quát của đồ án là xây dựng một ứng dụng giúp quản lý quán karaoke một cách hiệu quả.
Mục tiêu cụ thể
-Ứng dụng quản lý quán karaoke cần đạt được những mục tiêu nhất định sau: +Hệ thống phải quản lý được thông tin nhân viên, lương nhân viên.
+Hê thống phải quản lý được hóa đơn
+Hệ thống phải quản lý được thông tin các phòng (phòng nào trống, phòng nào có người)
+Hệ thống phải quản lý được số lượng khách hàng
+Ứng dụng phải đáp ứng yêu cầu cập nhập, sửa, xóa thông tin.
Nội dung thực hiện
- Trình bày lý do lựa chọn đề tài và mục tiêu hướng đến và nội dung cơ bản của đề tài
-Trình bày quy trình xây dựng phần mềm, một số cấu trúc dữ liệu được sử dụng, nguyên lý lập trình và phương thức xử lý dữ liệu.
-Mô tả các chức năng của chương trình, trình tự thiết kế và giao diện của chương trình.
-Xây dựng cơ sở dữ liệu, cài đặt các chức năng của ứng dụng.
Phương pháp tiếp cận
-Khảo sát ứng dụng quản lý quán karaoke của một số quán đang sử dụng.
Khảo sát thông tin thực tế từ chủ quán, nhân viên và khách hàng của các quán karaoke cho thấy sự khác biệt giữa những quán sử dụng ứng dụng quản lý và những quán chưa áp dụng Các quán karaoke sử dụng ứng dụng quản lý thường có quy trình phục vụ nhanh chóng, nâng cao trải nghiệm khách hàng và tối ưu hóa hoạt động kinh doanh Trong khi đó, các quán chưa sử dụng ứng dụng gặp khó khăn trong việc quản lý thời gian và tài nguyên, dẫn đến sự không hài lòng của khách hàng Việc áp dụng công nghệ quản lý không chỉ giúp nâng cao hiệu quả kinh doanh mà còn tạo ra sự khác biệt trong chất lượng dịch vụ.
-Từ đó, rút ra được thực trạng, nhu cầu chung của các quán karaoke.
-Tổng hợp và phân tích những thông tin thu thập được sau đó hoàn thiện và cải thiện ứng dụng quản lý quán karaoke của mình.
THIỆU CÔNG NGHỆ 2.1 Giới thiệu Visual studio
Khái niệm
Visual Studio là phần mềm hỗ trợ lập trình website hiệu quả, được phát triển và sở hữu bởi Microsoft.
1997, phần mềm lập trình nay có tên mã Project Boston Nhưng sau đó, Microsoft đã kết hợp các công cụ phát triển, đóng gói thành sản phẩm duy nhất
Visual Studio là một hệ thống toàn diện cho phát triển ứng dụng, bao gồm trình chỉnh sửa mã, thiết kế và gỡ lỗi, giúp người dùng dễ dàng viết code, sửa lỗi và chỉnh sửa thiết kế chỉ với một phần mềm Nó cho phép thiết kế giao diện và trải nghiệm ứng dụng như khi phát triển với Xamarin, UWP bằng XAML hoặc Blend Đến nay, Visual Studio vẫn được xem là phần mềm lập trình hệ thống hàng đầu, với nhiều tính năng hấp dẫn mà chưa có phần mềm nào có thể thay thế.
Ưu điểm
• Khả năng mở rộng và tùy chỉnh
• Nhỏ gọn và tiện lợi
• Hỗ trợ đa ngôn ngữ lập trình
• Kho tiện ích mở rộng phong phú
• Giao diện dễ sử dụng, thân thiện với người dùng
Nhược điểm
• Tương tự như tất cả các ứng dụng electron khác, bộ nhớ và mức sử dụng pin của VSCode khá tệ
• Không có git merge, điều mà nhiều người mong đợi, vì ST3 và Atom có khả năng làm điều đó
• Các phím tắt mặc định không có ý nghĩa và người dùng phải cấu hình lại gần như tất cả chúng
Giới thiệu SQL Server
SQL, viết tắt của Structured Query Language, là ngôn ngữ truy vấn có cấu trúc, được sử dụng để lưu trữ, thao tác và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ.
SQL is the standard language for relational database management systems (RDBMS) All major RDBMS platforms, including MySQL, MS Access, Oracle, Sybase, Informix, Postgres, and SQL Server, utilize SQL as their standard database language.
Dữ liệu sẽ được lưu trữ theo tiêu chuẩn RDBMS, đây cũng là một trong những hệ quản trị cơ sở dữ liệu quan hệ đối tượng.
SQL Server cung cấp đầy đủ công cụ quản lý từ giao diện GUI đến ngôn ngữ truy vấn SQL, cho phép người dùng dễ dàng thao tác Điểm mạnh của SQL Server là khả năng tích hợp với nhiều nền tảng như ASP.NET và C# để phát triển ứng dụng Winform, đồng thời nó cũng có thể hoạt động độc lập.
Tuy nhiên, SQL Server thường đi kèm với việc thực hiện riêng các ngôn ngữ SQL, T-SQL,
T-SQL là một trong những loại ngôn ngữ thuộc quyền sở hữu của Microsoft và được gọi với cái tên Transact-SQL Nó thường cung cấp thêm rất nhiều cho các khả năng khai báo biến, thủ tục lưu trữ và xử lý ngoại lệ,
SQL Server Management Studio (SSMS) là công cụ giao diện chính cho máy chủ cơ sở dữ liệu SQL, hỗ trợ cả môi trường 32 bit và 64 bit.
Rất dễ dàng để quản lý các hệ thống cơ sở dữ liệu bằng việc sử dụng SQL chuẩn mà không cần phải viết bất cứ dòng code nào
– Tiêu chuẩn được quy định rõ ràng
SQL sử dụng hai tiêu chuẩn ISO và ANSI, trong khi với các non-SQL database không có tiêu chuẩn nào được tuân thủ
– Tính di động SQL có thể được sử dụng trong chương trình trong PCs, servers, laptops, và thậm chí cả mobile phones
Language này có thể được sử dụng để giao tiếp với cơ sở dữ liệu và nhận câu trả lời cho các câu hỏi phức tạp trong vài giây
Ngôn ngữ SQL cho phép người dùng tạo ra các hiển thị đa dạng về cấu trúc cơ sở dữ liệu, đáp ứng nhu cầu của từng nhóm người dùng khác nhau.
SQL có giao diện phức tạp khiến một số người dùng khó truy cập
– Không được toàn quyền kiểm soát
Các lập trình viên sử dụng SQL không có toàn quyền kiểm soát cơ sở dữ liệu do các quy tắc nghiệp vụ ẩn
Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần mở rộng độc quyền riêng của nhà cung cấp bên cạnh các tiêu chuẩn SQL
Chi phí vận hành của một số phiên bản SQL khiến một số lập trình viên gặp khó khăn khi tiếp cận
Giới thiệu về ngôn ngữ
2.3.1 Giới thiệu về ngôn ngữ C#
Winform là thuật ngữ mô tả một ứng dụng được viết dùng NET FrameWorrk và có giao diện người dùng Windows Forms
Mỗi màn hình Windows cung cấp một giao diện đồ họa (GUI) cho phép người dùng tương tác với ứng dụng một cách dễ dàng và hiệu quả.
Là các ứng dụng windows chạy trên máy tính – mã lệnh thực thi ngay trên máy tính: Microsoft, Word, Excel, Access, Calculator, yahoo, Mail… là các ứng dụng Windows
Phần mềm Winform là lựa chọn phổ biến cho lập trình viên C#.NET nhờ vào giao diện kéo thả dễ sử dụng và khả năng gán sự kiện cho các nút chỉ bằng cách nhấp đúp Ngoài ra, Winform hỗ trợ nhiều sự kiện như click và hover, giúp việc viết code trở nên trực quan hơn Lập trình viên có thể dễ dàng lấy văn bản từ TextBox, hiển thị dữ liệu qua MessageBox, hoặc sử dụng Grid để kết nối với SQL.
C# (hay C sharp) là một ngôn ngữ lập trình đơn giản, được Microsoft phát triển vào năm 2000 dưới sự lãnh đạo của Anders Hejlsberg và Scott Wiltamuth.
C# là ngôn ngữ lập trình hiện đại, hướng đối tượng và nó được xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java
C# được phát triển cho Common Language Infrastructure (CLI), bao gồm mã thực thi và môi trường runtime, cho phép sử dụng nhiều ngôn ngữ lập trình cấp cao trên các nền tảng và kiến trúc máy tính khác nhau.
C# offers robust support through the NET Framework, making it easy to develop Windows Forms and WPF (Windows Presentation Foundation) applications The features of C# enhance the development process, ensuring efficiency and effectiveness.
Các đặc điểm để làm cho C# là ngôn ngữ lập trình chuyên nghiệp được sử dụng rộng rãi:
C# là ngôn ngữ đơn giản
Ngôn ngữ C# được xây dựng dựa trên nền tảng của C++ và Java, mang lại sự đơn giản cho người dùng Nếu bạn đã quen thuộc với C, C++ hoặc Java, bạn sẽ nhận thấy C# có nhiều điểm tương đồng về diện mạo, cú pháp, biểu thức và toán tử Tuy nhiên, C# đã được cải tiến để trở nên dễ sử dụng hơn, bao gồm việc loại bỏ những phần dư thừa và bổ sung các cú pháp mới.
C# là ngôn ngữ hiện đại
Khi mới học lập trình, bạn có thể gặp phải những khái niệm như xử lý ngoại lệ, kiểu dữ liệu mở rộng và bảo mật mã nguồn, những điều này có thể còn mơ hồ Đây là những đặc tính quan trọng của một ngôn ngữ lập trình hiện đại, và C# đáp ứng đầy đủ những yêu cầu này Qua các bài học trong series, bạn sẽ dần dần hiểu rõ hơn về những đặc tính này.
C# là một ngôn ngữ lập trình thuần hướng đối tượng
Lập trình hướng đối tượng (OOP) là một phương pháp lập trình nổi bật với bốn tính chất chính: trừu tượng, đóng gói, đa hình và kế thừa Ngôn ngữ C# hoàn toàn hỗ trợ các đặc tính này, giúp lập trình viên dễ dàng áp dụng trong quá trình phát triển phần mềm Bài viết này sẽ cung cấp cái nhìn sâu hơn về các khái niệm và ứng dụng của OOP trong C#.
C# là một ngôn ngữ ít từ khóa
C# là một ngôn ngữ lập trình với khoảng 80 từ khóa và một số kiểu dữ liệu xây dựng sẵn, nhưng không phải số lượng từ khóa quyết định sức mạnh của ngôn ngữ Thực tế, C# cho phép thực hiện nhiều nhiệm vụ khác nhau, chứng tỏ tính linh hoạt và khả năng ứng dụng rộng rãi của nó.
Ngoài những đặc điểm trên thì còn một số ưu điểm nổi bật của C#:
•C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, nên cũng khá dể dàng tiếp cận và học nhanh với C#.
•C# có thể biên dịch trên nhiều nền tảng máy tính khác nhau.
•C# được xây dựng trên nền tảng của C++ và Java nên nó được thừa hưởng những ưu điểm của ngôn ngữ đó.
•C# là một phần của NET Framework nên được sự chống lưng khá lớn đến từ bộ phận này.
•C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ.
2.3.2 Giới thiệu về ngôn ngữ SQL
SQL, hay còn gọi là Ngôn ngữ truy vấn có cấu trúc, là một ngôn ngữ máy tính phổ biến dùng để tạo, sửa đổi và truy xuất dữ liệu từ hệ quản trị cơ sở dữ liệu quan hệ Ngôn ngữ này đã phát triển vượt bậc so với mục đích ban đầu, phục vụ cho các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ, và hiện nay đã trở thành một tiêu chuẩn được công nhận bởi ANSI/ISO.
TÍCH THIẾT KẾ HỆ THỐNG 3.1 Phát biểu yêu cầu
Yêu cầu chức năng
3.2.1 Danh sách các yêu cầu
Bảng 2.2 1 Danh sách yêu cầu
1 Thêm thông tin nhân viên, phòng hát, khách hàng, hóa đơn, chi tiết hóa đơn, món ăn, đơn hàng nhập.
2 Sửa thông tin nhân viên, phòng hát, khách hàng, hóa đơn, chi tiết hóa đơn, món ăn, đơn hàng nhập.
3 Tìm kiếm thông tin nhân viên, phòng hát, khách hàng, hóa đơn, chi tiết hóa đơn, món ăn, đơn hàng nhập.
4 Xóa các thông tin nhân viên, phòng hát, khách hàng, hóa đơn, chi tiết hóa đơn, món ăn, đơn hàng nhập.
5 Xuất dữ liệu thông tin nhân viên, phòng, hóa đơn, món ăn, đơn hàng nhập.
Hệ thống cung cấp nhiều chức năng chính giúp người dùng quản lý hiệu quả Đầu tiên, sau khi đăng ký, người dùng có tài khoản cá nhân để truy cập đầy đủ tính năng Họ có thể xem thông tin nhập xuất kho, lọc sản phẩm theo loại như nước uống hay thức ăn Người dùng cũng có thể chọn phòng, bao gồm phòng vip và phòng thường, cùng với việc lựa chọn món ăn theo yêu cầu khách hàng Thông tin khách hàng sẽ được lưu trữ để phục vụ dịch vụ tốt hơn Ngoài ra, hệ thống cho phép người dùng xem và tạo mã khuyến mãi Để thực hiện thanh toán, nhân viên cần đăng nhập để xác nhận thông tin tài khoản và mã khách hàng Người dùng cũng có thể cập nhật thông tin cá nhân khi cần thiết Cuối cùng, chức năng quản lý hệ thống dành riêng cho Admin cho phép quản lý tất cả các hoạt động trong ứng dụng.
- Danh sách nhập xuất kho.
- Danh sách chọn phòng, món ăn.
- Danh sách khách hàng. o Quản lý nhân viên: Chức năng có thể quản lý bao gồm:
- Danh sách chọn phòng, đặt món.
- Danh sách nhập xuất kho.
Hình 2.2 1 Sơ đồ UseCase chính
Bảng 2.2 2 Bảng danh sách Actor ST
T Tên Actor Ý nghĩa/Ghi chú
1 Nhân viên Là người đã đăng ký tài khoản với hệ thống có quyền sử dụng hầu hết tất cả các chức năng của ứng dụng.
2 Admin Người quản lý hệ thống Quản lý tất cả thông tin của quán, quản lý thông tin tài khoản trong ứng dụng.
Bảng 2.2 3 Bảng danh sách UseCase ST
Tên Use-case Ý nghĩa/Ghi chú
1 Quản lý nhân viên Chức năng dành cho admin có thể thêm, sửa, xóa, tìm kiếm, xuất danh sách nhân viên
Chức năng dành cho admin có thể thêm, sửa, xóa, xuất danh sách khuyến mãi
Chức năng dành cho admin có thể thêm, sửa, xóa, tìm kiếm và xuất danh sách khách hàng
4 Quản lý chọn phòng, đặt món
Chức năng dành cho cả nhân viên và admin có thể thêm, sửa, xóa chọn phòng, đặt món
5 Quản lý nhập kho Chức năng dành cho cả nhân viên và admin có thể thêm, sửa, xóa, tìm kiếm nhập kho
6 Tìm kiếm Tìm kiếm thông tin sản phẩm theo tên
7 Đăng nhập Chức năng dành cho cả nhân viên và admin có thể đăng nhập vào phần mềm
3.2.3 Đặc tả usecase sử dụng
Hình 2.2 2 Hình sơ đồ UseCase Đăng nhập
Bảng 2.2 4 Bảng UseCase Đăng nhập UseCase-Đăng Nhập
Tên Đăng nhập. Định nghĩa Người dùng muốn đăng nhập vào ứng dụng.
Includes - Nhập tên đăng nhập.
Extends Điều kiện tiên quyết Người dùng chưa đăng nhập vào hệ thống.
Dòng sự kiện chính B1: Từ giao diện trang chủ, nhấp vào đăng nhập hoặc những khu vực bắt buộc phải đăng nhập mới thực hiện được.
B2: Hệ thống hiển thị giao diện đăng nhập, yêu cầu người dùng phải nhập tên đăng nhập đã đăng ký trước đó và mật khẩu.
B3: Hệ thống kiểm tra thông tin tài khoản và mật khẩu và cấp quyền truy cập vào hệ thống.
B4: Hệ thống trả về kết quả hiển thị tên đăng nhập trên menu.
Khi người dùng đăng nhập thành công, hệ thống sẽ hiển thị thông báo nếu có sai sót trong việc đăng nhập, như tài khoản hoặc mật khẩu không chính xác Sau khi đăng nhập đúng, người dùng có thể truy cập và sử dụng đầy đủ các chức năng mà hệ thống cung cấp.
Hình 2.2 3 Hình sơ đồ UseCase Tìm kiếm
Bảng 2.2 5 Bảng UseCase Tìm kiếm UseCase – Tìm kiếm
Tên Tìm kiếm. Định nghĩa Người dùng muốn tìm kiếm sản phẩm dựa theo tên
Includes Nhập tên sản phẩm
Extends Lọc sản phẩm theo thức ăn, nước uống… Điều kiện tiên quyết Nhập tên sản phẩm.
Để tìm kiếm sản phẩm trên ứng dụng, bạn hãy bắt đầu từ trang chủ Nhấn vào thanh tìm kiếm hoặc chọn tab tìm kiếm ở dưới Menu Sau đó, nhập tên sản phẩm mà bạn muốn tìm.
Dòng sự kiện thay thế Hiển thị danh sách tìm kiếm. Điều kiện sau
Hình 2.2 4 Hình sơ đồ UseCase Nhập kho
Bảng 2.2 6 Bảng UseCase Nhập kho UseCase – Nhập kho
Tên Nhập, xuất kho Định nghĩa Người dùng muốn kiểm tra hàng trong kho.
Includes Nhập đầy đủ thông tin cần thiết.
Extends Điều kiện tiên quyết Phải là Admin hoặc Nhân viên
Dòng sự kiện chính B1: Từ trang chủ nhấp vào mục nhập,xuất kho.
B2: Nhập thông đầy đủ thông tin
Dòng sự kiện thay thế Điều kiện sau Xác nhận hàng còn hoặc đã hết
Hình 2.2 5 Hình sơ đồ UseCase Chọn phòng
Bảng 2.2 7 Bảng UseCase Chọn phòng UseCase – Chọn phòng
Tên Chọn phòng. Định nghĩa Nhân viễn sẽ chọn phòng cho khách muốn đặt phòng.
Extends Điều kiện tiên quyết Phải có phòng còn trống
Dòng sự kiện chính B1: Từ trang chủ nhấp vào mục rút đặt phòng
B2: Kiểm tra còn phòng trống B3: Đặt phòng.
Dòng sự kiện thay thế Hủy yêu cầu đặt phòng. Điều kiện sau Đặt phòng thành công, đưa khách tới phòng đó.
Hình 2.2 6 Hình sơ đồ UseCase Chọn món
Bảng 2.2 8 Bảng UseCase Chọn món UseCase – Đặt món
Tên Chọn món Định nghĩa Nhân viên và admin chọn món theo yêu cầu của khách hàng
Extends Điều kiện tiên quyết Phải là Admin hoặc nhân viên
Dòng sự kiện chính B1: Từ trang chủ bấm chọn món ăn
B2: Hệ thống hiển thị giao form chọn món B3: Nhấn chọn món.
Dòng sự kiện thay thế Món ăn đã hết Điều kiện sau Thông báo đặt món thành công, xuất hóa đơn.
Hình 2.2 7 Hình sơ đồ UseCase Khuyến mãi
Bảng 2.2 9 Bảng UseCase Khuyến mãi UseCase – Khuyến mãi
Tên Khuyến mãi. Định nghĩa Dùng mã khuyễn mãi để giảm giá hóa đơn.
Includes Mã khuyễn mãi còn hạn sử dụng.
Extends Điều kiện tiên quyết
Dòng sự kiện chính B1: Chọn khuyễn mãi
Dòng sự kiện thay thế Mã khuyễn mã đã hết hạn Điều kiện sau Thanh toán thành công.
Hình 2.2 8 Hình sơ đồ UseCase Khách hàng
Bảng 2.2 10 Bảng UseCase Khách hàngUseCase – Khách hàng
Tên Khách hàng. Định nghĩa Nhân viên quản lý thông tin khách hàng đã thanh toán và chưa thanh toán.
Extends Đã đăng nhập Điều kiện tiên quyết
Dòng sự kiện chính B1: Chọn khách hàng
B2: Nhập thông tin khách hàng
B3: Chọn thêm,xóa hoặc lưu khách hàng.
Dòng sự kiện thay thế Đã có khách hàng tồn tại Điều kiện sau Thêm, xóa, sửa thành công.
Hình 2.2 9 Hình sơ đồ UseCase Nhân viên
Bảng 2.2 11 Bảng UseCase Nhân viên UseCase – Nhân viên
Tên Nhân viên. Định nghĩa Quản lý nhân viên còn làm việc hay đã nghỉ.
Extends Đăng nhập. Điều kiện tiên quyết
Dòng sự kiện chính B1: Chọn Nhân viên, Thông tin nhân viên.
B2: Thêm, xóa hoặc sửa thông tin nhân viên.Dòng sự kiện thay thế Điều kiện sau Thêm, xóa, sửa thành công.
3.5 Biểu đồ lớp thực thể
Hình 2.3 1 Biểu đồ lớp thực thể
3.5.1 Đặc tả thực thể trong biểu đồ lớp thực thể
Bảng 2.3 1 Danh sách các thuộc tính lớp staff
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã nhân viên.
2 Tentaikhoan Nvarchar(50) NOT NULL Lưu trữ tên tài khoản của nhân viên
3 matkhau Nvarchar(50) NOT NULL Lưu trữ mật khẩu của nhân viên.
4 Email Nvarchar(50) NOT NULL Lưu trữ email của nhân viên.
5 Sdt Nvarchar(50) NOT NULL Lưu trữ số điện thoại của nhân viên.
6 Hovaten Nvarchar(50) NOT NULL Lưu trữ họ và tên nhân viên.
7 Gioitinh Bit NOT NULL Lưu trữ giới tính của nhân viên.
8 Phanloai Nvarchar(50) NOT NULL Lưu trữ phân loại của của nhân viên.(chức vụ)
9 Diachi Nvarchar(50) NOT NULL Lưu trữ địa chỉ của nhân viên
10 Timestart Date NOT NULL Lưu trữ thời gian bắt đầu làm việc của nhân viên.
11 Img Image NOT NULL Lưu trữ ảnh có đuôi ảnh
Bảng 2.3 2 Danh sách các phương thức lớp staff
T Tên phương thức Ghi chú
2 Sua() Sửa thông tin nhân viên
4 Timkiem() Tìm kiếm nhân viên
Bảng 2.3 3 Danh sách các thuộc tính lớp sales
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã khuyễn mãi.
2 Timestart Date NOT NULL Lưu trữ ngày bắt đầu của mã khuyễn mãi.
3 Timeend Date NOT NULL Lưu trữ ngày kết thúc của mã khuyễn mãi
4 Tilegiamgia Int NOT NULL Lưu trữ tỉ lệ giảm giá (%)
5 Soluong Int NOT NULL Lưu trữ số lượng mã giảm giá
Bảng 2.3 4 Danh sách các phương thức lớp sales ST
T Tên phương thức Ghi chú
1 Them() Thêm mã khuyến mãi
2 Sua() Sửa mã khuyễn mãi
3 Xoa() Xoá mã khuyến mãi
Bảng 2.3 5 Danh sách các thuộc tính lớp room STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
1 Maphong Nvarchar(50) PRIMARY KEY Lưu trữ mã phòng.
2 Tenphong Nvarchar(50) NOT NULL Lưu trữ tên phòng.
3 Loaiphong Nvarchar(50) NOT NULL Lưu trữ loại phòng
4 Trangthai Nvarchar(50) NOT NULL Lưu trữ trạng thái của phòng.
5 Giaphong Int NOT NULL Lưu trữ giá phòng.
6 Suachua Nvarchar(50) NOT NULL Lưu trữ trạng thái sửa chữa.
7 Ngaybatdau Date NOT NULL Lưu trữ ngày bắt đầu sửa chữa.
8 Ngayketthu c Date NOT NULL Lưu trữ ngày kết thúc sửa chữa.
Bảng 2.3 6 Danh sách yêu cầu ST
T Tên phương thức Ghi chú
3 Xoa() Xoá đặt phòng phòng
Bảng 2.3 7 Danh sách các thuộc tính lớp receipt
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trư mã hóa đơn
KEY Lưu trữ mã phòng
3 Thoigiansudungphon g Time(7) NOT NULL Lưu trữ thời gian sử dụng phòng.
4 Tienphong Int NOT NULL Lưu trữ tiền phòng
KEY Lưu trữ mã mặt hàng.
6 Tenmathang Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
7 Soluonghang Int NOT NULL Lưu trữ số lượng măt hàng đã sử dụng tại phòng order
8 Tienhang Int NOT NULL Lưu trữ tiền mặt hàng
9 Ngay Date NOT NULL Lưu trữ ngày của hóa đơn.
10 Manhanvien Nvarchar(50) NOT NULL Lưu trữ mã nhân viên đã thanh toán hóa đơn
11 Tennhanvien Nvarchar(50) NOT NULL Lưu trữ tên nhân viên đã thanh toán hóa đơn.
12 Tongtien Int NOT NULL Lưu trữ tổng tiền cần thanh toán
13 Makhachhang Nvarchar(50) NOT NULL Lưu trữ mã khách hàng
Bảng 2.3 8 Danh sách các phương thức lớp receipt
STT Tên phương thức Ghi chú
1 Them() Thêm thông tin chi tiết hóa đơn
2 Sua() Sửa thông tin chi tiết hóa đơn
3 Xoa() Xoá chi tiết hóa đơn
Bảng 2.3 9 Danh sách các thuộc tính lớp order
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
1 Mahoadon Nvarchar(50) PRIMARY KEY Lưu trữ mã chat, tự tăng.
2 Maphong Nvarchar(50) FOREIGN KEY Lưu trữ mã phòng order.
3 Timestart Time(7) NOT NULL Lưu trữ giờ bắt đầu.
4 Timeend Time(7) NOT NULL Lưu trữ giờ kết thúc.
5 Mahangho a Nvarchar(50) FOREIGN KEY Lưu trữ mã hàng hóa.
6 Soluong Int NOT NULL Lưu trữ số lượng mặt hàng
7 Gia Int NOT NULL Lưu trứ giá mặt hàng
Bảng 2.3 10 Danh sách các phương thức lớp order
T Tên phương thức Ghi chú
Bảng 2.3 11 Danh sách các thuộc tính lớp items
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã mặt hàng, tự tăng.
2 Tenmathan g Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
3 Soluong Int NOT NULL Lưu trữ số lương của mặt hàng
4 Gia Int NOT NULL Lưu trữ giá của mặt hàng.
5 Loai Nvarchar(50) NOT NULL Lưu trữ phân loại của từng mặt hàng.
6 Img Image NOT NULL Lưu trữ ảnh có đuôi ảnh.
Bảng 2.3 12 Danh sách các phương thức lớp items
T Tên phương thức Ghi chú
4 Timkiem() Tìm kiếm mặt hàng
Bảng 2.3 13 Danh sách các thuộc tính lớp importitems
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã hóa đơn, tự tăng.
2 Mahoadon Nvarchar(50) NOT NULL Lưu trữ tên hóa đơn.
3 Mamathang Nvarchar(50) NOT NULL Lưu mã mặt hàng
4 Tenmathang Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
5 Soluong Int NOT NULL Lưu trữ số lượng của mặt hàng
6 Gia Int NOT NULL Lưu trữ giá của mặt hàng
7 Ngaynhap Date NOT NULL Lưu trữ ngày nhập mặt hàng
8 Congty Nvarchar(50) NOT NULL Lưu trữ tên công ty nhập mặt hàng.
9 Diachi Nvarchar(50) NOT NULL Lưu trữ đại chỉ nhập mặt hàng
Bảng 2.3 14 Danh sách các phương thức lớp importitems
T Tên phương thức Ghi chú
1 Them() Thêm đơn hàng nhập
2 Sua() Sửa đơn hàng nhập
3 Xoa() Xoá đơn hàng nhập
Bảng 2.3 15 Danh sách các thuộc tính lớp customer
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã khách hàng, tự tăng.
2 Hovaten Nvarchar(50) NOT NULL Lưu trữ họ và tên
3 Email Nvarchar(50) NOT NULL Lưu trữ email.
4 Diachi Nvarchar(50) NOT NULL Lưu trữ đại chỉ
5 Ngaytao Date NOT NULL Lưu trữ ngày đã tạo customer.
6 Sdt Nvarchar(50) NOT NULL Lưu trữ số điện thoại của customer.
Bảng 2.3 16 Danh sách các phương thức lớp customer
T Tên phương thức Ghi chú
4 Timkiem() Tìm kiếm khách hàng
Biểu đồ tuân tự
3.4.1 Biểu đồ tuần tự ca sử dụng Đăng nhập
Hình 3 1 Biểu đồ tuần tự tác vụ Đăng nhập
3.4.2 Biểu đồ tuần tự ca sử dụng Quản lý hoá đơn nhập
Hình 3 2 Biểu đồ tuần tự thêm hoá đơn nhập
Hình 3 3 Biểu đồ tuần tự sửa hoá đơn nhập
Hình 3 4 Biểu đồ tuần tự xoá hoá đơn nhập
3.4.3 Biểu đồ tuần tự ca sử dụng quản lý Nhân viên
Hình 3 5 Biểu đồ tuần tự thêm nhân viên
Hình 3 6 Biểu đồ tuần tự sửa nhân viên
Hình 3 7 Biểu đồ tuần tự xoá nhân viên
Hình 3 8 Biểu đồ tuần tự tìm kiếm nhân viên theo tên
3.4.4 Biểu đồ tuần tự ca sử dụng Quản lý khách hàng
Hình 3 9 Biểu đồ tuần tự thêm khách hàng
Hình 3 10 Biểu đồ tuần tự sửa khách hàng
Hình 3 11 Biểu đồ tuần tự xoá khách hàng
Hình 3 12 Biểu đồ tuần tự tìm khách hàng theo tên
3.4.5 Biểu đồ tuần tự ca sử dụng Quản lý phòng
Hình 3 13 Biểu đồ tuần tự thêm thông tin phòng
Hình 3 14 Biểu đồ tuần tự sửa thông tin phòng
Hình 3 15 Biểu đồ tuần tự xoá thông tin phòng
Hình 3 16 Biểu đồ tuần tự tìm phòng theo tên
3.4.6 Biểu đồ tuần tự ca sử dụng khuyến mãi
Hình 3 17 Biểu đồ tuần tự thêm khuyến mãi
Hình 3 18 Biểu đồ tuần tự sửa khuyến mãi
Hình 3 19 Biểu đồ tuần tự xoá khuyến mãi
Hình 3 20 Biểu đồ tuần tự tìm khuyến mãi theo
Thiết kế cơ sở dữ liệu
Hình 2.4 1 Sơ đồ database Karaoke
3.5.2.Mô tả chi tiết từng bảng trong CSDL
Bảng 2.4 1 Bảng dữ liệu customer STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã khách hàng, tự tăng.
2 Hovaten Nvarchar(50) NOT NULL Lưu trữ họ và tên
3 Email Nvarchar(50) NOT NULL Lưu trữ email.
4 Diachi Nvarchar(50) NOT NULL Lưu trữ đại chỉ
5 Ngaytao Date NOT NULL Lưu trữ ngày đã tạo customer.
6 Sdt Nvarchar(50) NOT NULL Lưu trữ số điện thoại của customer.
Dùng để lưu trữ thông tin customer ở trang chủ
Bảng 2.4 2 Bảng dữ liệu importitems STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã hóa đơn, tự tăng.
2 Mahoadon Nvarchar(50) NOT NULL Lưu trữ tên hóa đơn.
3 Mamathang Nvarchar(50) NOT NULL Lưu mã mặt hàng
4 Tenmathang Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
5 Soluong Int NOT NULL Lưu trữ số lượng của mặt hàng
6 Gia Int NOT NULL Lưu trữ giá của mặt hàng
7 Ngaynhap Date NOT NULL Lưu trữ ngày nhập mặt hàng
8 Congty Nvarchar(50) NOT NULL Lưu trữ tên công ty nhập mặt hàng.
9 Diachi Nvarchar(50) NOT NULL Lưu trữ đại chỉ nhập mặt hàng
Dùng để lưu trữ thông tin hóa đơn khi nhập mặt hàng, cho biết số lượng nhập và giá của mặt hàng.
Bảng 2.4 3 Bảng dữ liệu items STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã mặt hàng, tự tăng.
2 Tenmathan g Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
3 Soluong Int NOT NULL Lưu trữ số lương của mặt hàng
4 Gia Int NOT NULL Lưu trữ giá của mặt hàng.
5 Loai Nvarchar(50) NOT NULL Lưu trữ phân loại của từng mặt hàng.
6 Img Image NOT NULL Lưu trữ ảnh có đuôi ảnh.
Dùng để lưu trữ thông tin mặt hàng.
Bảng 2.4 4 Bảng dữ liệu orderSTT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
1 Mahoadon Nvarchar(50) PRIMARY KEY Lưu trữ mã chat, tự tăng.
2 Maphong Nvarchar(50) FOREIGN KEY Lưu trữ mã phòng order.
3 Timestart Time(7) NOT NULL Lưu trữ giờ bắt đầu.
4 Timeend Time(7) NOT NULL Lưu trữ giờ kết thúc.
5 Mahangho a Nvarchar(50) FOREIGN KEY Lưu trữ mã hàng hóa.
6 Soluong Int NOT NULL Lưu trữ số lượng mặt hàng
7 Gia Int NOT NULL Lưu trứ giá mặt hàng
Dùng để lưu trữ hoạt động sử dụng dịch vụ của khách hàng.
Bảng 2.4 5 Bảng dữ liệu receipt STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trư mã hóa đơn
KEY Lưu trữ mã phòng
3 Thoigiansudungphon g Time(7) NOT NULL Lưu trữ thời gian sử dụng phòng.
4 Tienphong Int NOT NULL Lưu trữ tiền phòng
KEY Lưu trữ mã mặt hàng.
6 Tenmathang Nvarchar(50) NOT NULL Lưu trữ tên mặt hàng.
7 Soluonghang Int NOT NULL Lưu trữ số lượng măt hàng đã sử dụng tại phòng order
8 Tienhang Int NOT NULL Lưu trữ tiền mặt hàng
9 Ngay Date NOT NULL Lưu trữ ngày của hóa đơn.
10 Manhanvien Nvarchar(50) NOT NULL Lưu trữ mã nhân viên đã thanh toán hóa đơn
11 Tennhanvien Nvarchar(50) NOT NULL Lưu trữ tên nhân viên đã thanh toán hóa đơn.
12 Tongtien Int NOT NULL Lưu trữ tổng tiền cần thanh toán
13 Makhachhang Nvarchar(50) NOT NULL Lưu trữ mã khách hàng
Dùng để lưu trữ thông tin hóa đơn và thông tin nhân viên đã thanh toán.
Bảng 2.4 6 Bảng dữ liệu room STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
1 Maphong Nvarchar(50) PRIMARY KEY Lưu trữ mã phòng.
2 Tenphong Nvarchar(50) NOT NULL Lưu trữ tên phòng.
3 Loaiphong Nvarchar(50) NOT NULL Lưu trữ loại phòng
4 Trangthai Nvarchar(50) NOT NULL Lưu trữ trạng thái của phòng.
5 Giaphong Int NOT NULL Lưu trữ giá phòng.
6 Suachua Nvarchar(50) NOT NULL Lưu trữ trạng thái sửa chữa.
7 Ngaybatdau Date NOT NULL Lưu trữ ngày bắt đầu sửa chữa.
8 Ngayketthu c Date NOT NULL Lưu trữ ngày kết thúc sửa chữa.
Dùng để lưu trữ phòng và trạng thái của quán karaoke.
Bảng 2.4 7 Bảng dữ liệu sales STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã khuyễn mãi.
2 Timestart Date NOT NULL Lưu trữ ngày bắt đầu của mã khuyễn mãi.
3 Timeend Date NOT NULL Lưu trữ ngày kết thúc của mã khuyễn mãi
4 Tilegiamgia Int NOT NULL Lưu trữ tỉ lệ giảm giá (%)
5 Soluong Int NOT NULL Lưu trữ số lượng mã giảm giá
Dùng để lưu trữ mã khuyễn mãi nhằm mục đích giảm giá hóa đơn phải thanh toán.
Bảng 2.4 8 Bảng dữ liệu staff
STT Thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
KEY Lưu trữ mã nhân viên.
2 Tentaikhoan Nvarchar(50) NOT NULL Lưu trữ tên tài khoản của nhân viên
3 matkhau Nvarchar(50) NOT NULL Lưu trữ mật khẩu của nhân viên.
4 Email Nvarchar(50) NOT NULL Lưu trữ email của nhân viên.
5 Sdt Nvarchar(50) NOT NULL Lưu trữ số điện thoại của nhân viên.
6 Hovaten Nvarchar(50) NOT NULL Lưu trữ họ và tên nhân viên.
7 Gioitinh Bit NOT NULL Lưu trữ giới tính của nhân viên.
8 Phanloai Nvarchar(50) NOT NULL Lưu trữ phân loại của của nhân viên.(chức vụ)
9 Diachi Nvarchar(50) NOT NULL Lưu trữ địa chỉ của nhân viên
10 Timestart Date NOT NULL Lưu trữ thời gian bắt đầu làm việc của nhân viên.
11 Img Image NOT NULL Lưu trữ ảnh có đuôi ảnh
Dùng để lưu trữ thông tin nhân viên và tài khoản, mật khẩu của từng nhân viên đang làm việc tại quán.
CHƯƠNG : GIAO DIỆN PHẦN MỀM
Triển khai các chức năng nghiệp vụ
Đồ án sử dụng lập trình Windows Form với ngôn ngữ C# kết nối SQL Server để xây dựng các chức năng nghiệp vụ theo thiết kế đã trình bày Giao diện và thao tác dữ liệu trên các form được thiết kế theo yêu cầu Bài viết sẽ tiếp tục trình bày các kỹ thuật được áp dụng trong việc xây dựng các form.
Hình 3 21 Giao diện đăng nhập
+ Nút “Đăng nhập” để xác nhận tài khoản sau khi đã nhập Tài khoản và Mật khẩu.
Hình 3 22 Giao diện trang chủ
+ Khung nhập nội dung tìm kiếm
Danh mục “Đặt phòng” sẽ chuyển hướng đến trang thông tin đặt phòng, trong khi danh mục “Nhập/xuất kho” dẫn đến trang thông tin kho Danh mục “Thống kê” sẽ đưa bạn đến trang thông tin doanh thu, và danh mục “Món ăn” sẽ chuyển hướng tới trang thông tin về các món ăn.
+ Danh mục “Phòng” => Chuyển qua trang thông tin phòng
Danh mục "Khách hàng" dẫn đến trang thông tin khách hàng, trong khi danh mục "Khuyến mãi" chuyển đến trang thông tin khuyến mãi Danh mục "Thông tin nhân viên" đưa bạn tới trang thông tin nhân viên, và cuối cùng, danh mục "Đăng xuất" cho phép bạn đăng xuất khỏi tài khoản của mình.
Hình 3 23 Giao diện đặt phòng
+ Nút “Chọn phòng” => Nút “Bắt đầu” => Đặt phòng thành công
+ Nút “Danh mục món ăn” => Loại món thay đổi món ăn với nước uống
+ “Danh mục hóa đơn” => Chọn thông tin đặt phong, đặt món
+ Nút “Hủy đặt phòng” => Chọn phòng muốn hủy=> Hủy phòng đã đặt trước
+ Nút “Lưu thêm món” => Chọn món muốn đặt => Lưu món muốn đặt
+ Nút “Lưu vào hóa đơn” => Chọn Lưu thông tin phòng vào hóa dơn=> Thông tin phòng được lưu vào hóa đơn.
3.1.4 Giao diện xuất hóa đơn
Hình 3 24 Giao diện xuất hóa đơn
+ Thanh thông tin hóa đơn
+ “Mã phòng” => nhập mã phòng muốn thanh toán
+ “Mã khách hàng” => nhập mã khách hàng thanh toán
+ “Mã khuyễn mãi” => nhập mã khuyễn mãi để giảm giá hóa đơn nếu có + Trang thông tin các hóa đơn đã có.
Hình 3 25 Giao diện món ăn
+ Hiển thị thông tin sản phẩm và hình ảnh
+ Thanh thông tin sản phảm
+ Nút “Thêm” => nhập mã sản phẩm, tên sản phẩm, số lượng, loại sản phẩm, giá, ảnh => Thêm sản phẩm thành công
+ Nút “Xóa => Xóa thông sản phẩm
+ Nút “Sửa” => Sửa thông tin sản phẩm
+ Nút “Lưu” =>Lưu thông tin sản phẩm
+ Trang hiện thông tin sản phẩm đã có.
+ Nút “Thêm” => nhập mã phòng, tên phòng, trạng thái, sửa chữa, ngày bắt đầu, ngày kết thúc, loại phòng, giá => thêm thông tin phòng thành công
+ Nút “Xóa” => xóa thông tin phòng
+ Nút “Sửa” => sửa thông tin phòng
+ Nút “Lưu” =>Lưu thông tin phòng.
Hình 3 27 Giao diện khách hàng
+ Trang thông tin khách hàng
+ Nút “Thêm” => nhập khách hàng, tên khách hàng, Email, địa chỉ, tỉ lệ giảm giá (%), số điện thoại=> thêm thông tin khách hàng thành công
+ Nút “Xóa” => xóa thông tin khách hàng
+ Nút “Sửa” => sửa thông tin khách hàng
+ Nút “Lưu” =>Lưu thông tin khách hàng.
Hình 3 28 Giao diện khuyến mãi
+ Hiển thị danh sách mã khuyến mãi
+ Nút “Thêm” => nhập khuyến mãi, thời gian bắt đầu, thời gian kết thúc, số lượng, tỉ lệ
=> thêm thông tin khuyến mãi thành công
+ Nút “Lưu” =>Lưu thông tin khuyến mãi
+ Nút “Sửa” => Sửa thông tin khuyến mãi
+ Nút “Xóa” => Xóa thông tin khuyến mãi
+ Thanh thông tin khuyến mãi.
Hình 3 29 Giao diện nhân viên
+ Hiển thị chi tiết của thông tin nhân viên
+ Nút “Thêm” => nhập thông tin nhân viên, tên nhân viên, chức vụ, tài khoản, địa chỉ, giới tính, số điện thoại, Email => thêm thông tin nhân viên thành công
+ Nút “Lưu” =>Lưu thông tin nhân viên
+ Nút “Sửa” => Sửa thông tin nhân viên
+ Nút “Xóa” => Xóa thông tin nhân viên.