Qua đó, số lượng công việc cần quản lý của một tổ hợp sân bóng đá sẽ tăng lên rất nhiều, sẽ gây khó khăn trong việc quản lý nếu vẫn sử dụng các cách thức quản lý truyền thống.. Vì vậy, n
TỔNG QUAN VỀ ĐỀ TÀI
Lý do chọn đề tài
Trong thời đại 4.0, sự phát triển của mạng Internet và công nghệ phần mềm đã tạo ra những giá trị to lớn trong mọi lĩnh vực của cuộc sống Việc ứng dụng công nghệ thông tin vào quy trình quản lý doanh nghiệp trở thành nhu cầu thiết yếu, giúp các chủ doanh nghiệp nâng cao hiệu quả quản lý và tối ưu hóa hoạt động kinh doanh.
Với sự phát triển của công nghệ, mọi người đã không còn bị thụ động trong việc quản lý công việc theo cách thủ công Các sản phẩm phần mềm giúp quản lý công việc trở nên hiệu quả, nhanh chóng và tiết kiệm chi phí hơn so với phương pháp truyền thống.
Phong trào đá bóng tại các sân bóng mini hiện nay đang phát triển mạnh mẽ do nhu cầu giải trí và luyện tập từ môn thể thao vua này ngày càng thu hút Các cơ quan, công ty, trường học sử dụng môn thể thao này để nâng cao sức khỏe và tăng cường tinh thần đoàn kết của nhân viên, học sinh thông qua các giải đấu bóng đá Tuy nhiên, việc quản lý các sân bóng mini trở nên phức tạp hơn khi sử dụng phương pháp thủ công và thụ động, gây khó khăn trong công tác kiểm soát và vận hành hiệu quả.
Nhóm em chọn đề tài "Xây dựng ứng dụng quản lý sân bóng" nhằm giúp các doanh nghiệp quản lý hiệu quả các sân bóng mà họ đầu tư, từ đó tối ưu hóa hoạt động kinh doanh và nâng cao lợi nhuận Việc phát triển ứng dụng này sẽ giúp đơn giản hóa quá trình đặt sân, theo dõi lịch trình và quản lý doanh thu, góp phần tăng hiệu quả quản lý và cạnh tranh trên thị trường Quản lý sân bóng một cách khoa học là yếu tố quyết định đến thành công và lợi nhuận của tổ chức, doanh nghiệp trong lĩnh vực thể thao và giải trí.
Nhóm sẽ trình bày các phương pháp quản lý sân bóng hiệu quả, bao gồm quản lý sơ đồ sân bóng để tối ưu không gian thi đấu, quản lý việc đặt lịch và cho thuê sân cùng các dịch vụ đi kèm nhằm nâng cao trải nghiệm khách hàng, cũng như quản lý hóa đơn thanh toán để đảm bảo hoạt động kinh doanh diễn ra suôn sẻ và chuyên nghiệp.
Khảo sát hiện trạng
Hiện nay, trên thị trường có nhiều phần mềm quản lý sân bóng, nhưng đa phần chúng đều phức tạp vì tích hợp quá nhiều chức năng, gây khó khăn cho người mới sử dụng và chưa phù hợp với các cụm sân bóng vừa và nhỏ chỉ cần tính tiền sân theo lịch đặt và thanh toán hóa đơn Một số phần mềm quản lý sân bóng hiện nay như POSAPP mang lại lợi ích, nhưng sau khi dùng thử, chúng tôi nhận thấy vẫn có những hạn chế cần khắc phục để đáp ứng tốt hơn nhu cầu của khách hàng.
Phần mềm này gây nặng vì tích hợp nhiều chức năng phức tạp, đồng thời mã nguồn chưa được tối ưu hóa Điều này dẫn đến tình trạng ứng dụng thường xuyên bị treo khi người dùng thực hiện các tác vụ lớn hoặc phức tạp Việc tối ưu hóa mã nguồn và nâng cao hiệu suất phần mềm sẽ giúp giảm thiểu lỗi treo máy và nâng cao trải nghiệm người dùng.
Đối với người dùng ít hiểu biết về công nghệ, phần mềm quản lý sân bóng thường gây khó khăn vì không rõ bắt đầu từ đâu Để giải quyết vấn đề này và đáp ứng nhu cầu thực tế của người dùng, chúng tôi đã phát triển phần mềm chuyên biệt tập trung vào quản lý danh sách sân, lịch đặt sân và tính tiền thuê sân theo giờ Điều này giúp đơn giản hóa quy trình quản lý sân bóng và tạo sự khác biệt so với các phần mềm cùng lĩnh vực hiện nay.
Đối tượng nghiên cứu
Đồ án này hướng đến nghiên cứu các đối tượng sau:
Các công nghệ: o Window Presentation Foundation o NET Framework 4.8 – LINQ o SQL SERVER
Đối tượng trong phạm vi đề tài hướng đến: o Các chủ sân bóng vừa và nhỏ có nhu cầu quản lý sân bóng hiệu quả
Phạm vi nghiên cứu
Nghiên cứu tập trung vào phát triển phần mềm quản lý sân bóng, giúp chủ sân bóng và nhân viên dễ dàng quản lý các hoạt động liên quan Sản phẩm của đề tài là một mô hình phần mềm hiệu quả, tối ưu hóa quy trình quản lý sân bóng, nâng cao năng suất làm việc và giảm thiểu sai sót Phần mềm hỗ trợ quản lý dự án, đặt lịch thi đấu, kiểm tra trạng thái sân và quản lý khách hàng, góp phần nâng cao trải nghiệm người dùng Áp dụng mô hình này sẽ giúp các chủ sân bóng vận hành dễ dàng hơn, tiết kiệm thời gian và chi phí, đồng thời nâng cao chất lượng dịch vụ.
Phương pháp nghiên cứu
Nhóm đã sử dụng các phương pháp nghiên cứu:
Phương pháp đọc tài liệu
Phương pháp phân tích các phần mềm hiện có
Nhiệm vụ của đề tài
Đề tài “Xây dựng phần mềm quản lý sân bóng” là một phần mềm chạy trên máy tính đáp ứng các yêu cầu sau:
Cung cấp thông tin chính xác, kịp thời và đầy đủ là yếu tố hàng đầu trong quản lý danh sách sân bóng Việc cập nhật lịch đặt sân nhanh chóng giúp khách hàng dễ dàng đặt và quản lý lịch trình chơi bóng Hệ thống quản lý hiệu quả hỗ trợ tính tiền thuê sân chính xác, giảm thiểu sai sót và nâng cao trải nghiệm của người dùng Đảm bảo thông tin luôn được cung cấp nhanh chóng và đầy đủ giúp quá trình quản lý sân bóng diễn ra suôn sẻ, chuyên nghiệp hơn.
Giúp công ty nâng cao doanh thu và tiết kiệm chi phí bằng cách giảm thiểu số lượng nhân viên quản lý sân bóng Hệ thống quản lý tự động giúp hạn chế sai sót có thể xảy ra trong quá trình vận hành, từ đó nâng cao hiệu quả kinh doanh Việc tối ưu hóa nhân lực và giảm thiểu lỗi sẽ góp phần tăng lợi nhuận và duy trì hoạt động bền vững cho doanh nghiệp.
Mục tiêu của đề tài này là:
Tìm hiểu cách xây dựng phần mềm máy tính
Tìm hiểu về nghiệp vụ quản lý sân bóng
Xây dựng thành công phần mềm quản lý sân bóng trên máy tính
CƠ SỞ LÝ THUYẾT
Tổng quan về công tác quản lý sân bóng
2.1.1 Cơ sở thực tiễn để xây dựng phần mềm quản lý sân bóng
2.1.1.1 Khái niệm, vai trò của phần mềm quản lý sân bóng a Khái niệm
Phần mềm quản lý sân bóng là giải pháp tự động hóa các hoạt động liên quan đến quản lý sân bóng, từ việc nhập danh sách sân, phân loại sân, đến xử lý thông tin đặt sân và tạo hóa đơn thanh toán trên máy tính Nó giúp tối ưu hóa quy trình vận hành sân bóng, nâng cao hiệu quả quản lý và giảm thiểu sai sót trong công tác lập hóa đơn và theo dõi lịch đặt sân Phần mềm đóng vai trò quan trọng trong việc nâng cao trải nghiệm khách hàng, tiết kiệm thời gian và nguồn lực cho các doanh nghiệp quản lý sân bóng.
Phần mềm quản lý sân bóng đóng vai trò quan trọng trong việc hỗ trợ người quản lý sân, bao gồm chủ sân và nhân viên thu ngân, trong công tác quản lý, giám sát và cung cấp thông tin Nó giúp theo dõi và đo lường hiệu quả hoạt động của sân bóng một cách chính xác và hiệu quả Do sự kết hợp giữa công nghệ thông tin và quản lý sân bóng, phần mềm này còn thể hiện vai trò trong việc tối ưu hóa quy trình vận hành, nâng cao trải nghiệm khách hàng và tăng doanh thu cho chủ sân.
Việc ứng dụng phần mềm vào công tác quản lý sân bóng đã thay thế hoặc giảm bớt đáng kể công việc thủ công như ghi chú danh sách sân, lịch đặt, tính tiền và xử lý thủ công Các báo cáo tổng hợp từ phần mềm cung cấp dữ liệu chính xác, giúp nhà quản lý đưa ra các quyết định kinh doanh hiệu quả hơn, như đầu tư thêm hoặc cắt bỏ những phần không sinh lợi Nhờ đó, người quản lý có nhiều giải pháp lựa chọn tối ưu, nâng cao hiệu quả hoạt động và tăng doanh thu cho sân bóng.
Vai trò của số hoá thông tin trong quản lý sân bóng đóng vai trò quan trọng trong việc cung cấp và lưu trữ dữ liệu điện tử, giúp hình thành xã hội số hoá Phần mềm quản lý sân bóng hỗ trợ số hoá thông tin bằng cách lưu trữ dữ liệu dưới dạng tập tin trên máy tính, từ đó dễ dàng quản lý, truy xuất và bảo trì thông tin một cách hiệu quả Việc số hoá dữ liệu không chỉ nâng cao tính chính xác mà còn tối ưu hoá quá trình quản lý, giúp các cơ sở sân bóng vận hành linh hoạt và chuyên nghiệp hơn trong môi trường số hoá hiện đại.
2.1.1.2 Trình tự xây dựng phần mềm quản lý sân bóng
Bước 1: Khảo sát nhu cầu
Tìm hiểu và làm sáng tỏ mục đích sử dụng, yêu cầu mức cao về ứng dụng của khách hàng Bước 2: Phân tích
Phân tích kỹ lưỡng các mục tiêu và yêu cầu chi tiết của hệ thống là bước quan trọng để đảm bảo hiệu quả hoạt động Việc xác định rõ các yêu cầu dựa trên chức năng của hệ thống giúp tối đa hóa lợi ích và phù hợp với mục tiêu kinh doanh hoặc quản lý Điều này đảm bảo hệ thống hoạt động hiệu quả, đáp ứng đúng nhu cầu của doanh nghiệp và mang lại giá trị cao nhất.
Bước 3: Thiết kế hệ thống
Sau khi xác định rõ mục tiêu và yêu cầu của hệ thống từ bước 2, bước tiếp theo là phân tích và thiết kế kỹ thuật chi tiết để đảm bảo đáp ứng đúng mục tiêu đề ra Việc lựa chọn công nghệ phù hợp nhất cho hệ thống giúp tối ưu hóa hiệu suất và tính khả thi của dự án Cuối cùng, bước 4 tập trung vào xây dựng hệ thống dựa trên các phân tích và thiết kế đã thực hiện, đảm bảo hệ thống hoạt động hiệu quả và ổn định.
Sau khi đã thống nhất về kiến trúc, các chi tiết kỹ thuật hệ thống và giao diện đồ họa, bước tiếp theo là bắt đầu xây dựng hệ thống Trong quá trình phát triển, việc cập nhật tiến độ dự án thường xuyên là rất quan trọng để đảm bảo quá trình triển khai diễn ra suôn sẻ và đúng kế hoạch.
Sau khi các phần độc lập của hệ thống được xây dựng xong và vượt qua quy trình kiểm thử nội bộ, một phiên bản chạy thử sẽ được tạo dựng để kiểm thử thực tế nhằm đảm bảo hoạt động chính xác Bước 6 trong quy trình phát triển là chuyển giao, nơi hệ thống được bàn giao chính thức để đưa vào vận hành thực tế.
Sau khi kiểm thử toàn bộ hệ thống sẽ chuyển giao các kết quả cho khách hàng
Sau khi hoàn thiện sản phẩm, chúng tôi tiến hành đào tạo khách hàng về cách sử dụng và vận hành hệ thống để đảm bảo sản phẩm và dịch vụ hoạt động đúng nguyên tắc Quá trình đào tạo giúp khách hàng nắm rõ các bước vận hành và duy trì hiệu quả của hệ thống sau khi bàn giao Đồng thời, việc hướng dẫn kỹ lưỡng đảm bảo tính liên tục và ổn định của dịch vụ, đáp ứng đúng yêu cầu đã đề ra.
Bước 8: Bảo hành, bảo trì
Trong suốt thời gian hoạt động của sản phẩm, dịch vụ đảm bảo việc theo dõi, xử lý mọi yêu cầu bảo hành, bảo trì phát sinh
2.1.2 Tìm hiểu về nghiệp vụ quản lý sân bóng
Trong bóng đá, có 3 loại sân bóng chính: sân 5 người, sân 7 người và sân 11 người
Về mặt kích thước tiêu chuẩn:
- Sân 5 người: chiều dọc từ 25m đến 42m, chiều ngang từ 15m đến 25m
- Sân 7 người: chiều dọc từ 50m đến 75m, chiều ngang từ 40m đến 55m
- Sân 11 người: chiều dọc từ 100m đến 110m, chiều ngang từ 64m đến 75m Thông qua khảo sát các sân bóng hiện có:
- Sân 7 người có thể được cấu thành từ 3 sân 5 người
- Sân 11 người có thể được cấu thành từ 2 sân 7 người
Trong quá trình xây dựng sân trước đó, chủ sân có thể sắp xếp các sân 5 người liền kề để tạo thành sân 7 người nhằm tối ưu diện tích và nâng cao hiệu quả hoạt động cho thuê Ngoài ra, các sân 7 người liền kề còn có thể kết hợp thành sân 11 người, giúp quản lý sân bóng linh hoạt và chuyên nghiệp hơn Việc này giúp tận dụng tối đa không gian sân bóng, tăng doanh thu và nâng cao trải nghiệm cho người chơi.
Trong ứng dụng quản lý sân bóng này, hệ thống cho phép :
- 3 sân 5 người có thể ghép thành 1 sân 7 người, các sân 5 người gọi là sân con, sân 7 người gọi là sân cha
- 2 sân 7 người có thể ghép thành 1 sân 11 người, các sân 7 người gọi là sân con, sân 11 người gọi là sân cha.
Tổng quan về Windows Presentation Foundation (WPF)
WPF (Windows Presentation Foundation) là thư viện lập trình giao diện đồ họa trong Microsoft.NET Framework từ phiên bản 3.0, được xây dựng trên nền Direct3D nhằm tối đa hóa khả năng xử lý của card đồ họa và hỗ trợ đa dạng độ phân giải màn hình WPF kế thừa và mở rộng các tính năng phát triển ứng dụng như XAML, điều khiển, dữ liệu liên kết, bố cục, đồ họa 2D và 3D, hoạt hình, kiểu dáng, mẫu, tài liệu, đa phương tiện, văn bản và in ấn Ứng dụng WPF có thể chạy trên desktop hoặc trình duyệt web như IE, Firefox, Safari, giúp phát triển các ứng dụng web phong phú (RIA) ngoài các ứng dụng desktop truyền thống Ngoài ra, WPF cung cấp mô hình lập trình nhất quán, tách biệt rõ ràng giữa giao diện người dùng và logic nghiệp vụ, tối ưu hóa quá trình phát triển và bảo trì ứng dụng.
Windows Presentation Framework (WPF) là giao diện người dùng thế hệ tiếp theo giúp tạo ra các ứng dụng với trải nghiệm người dùng phong phú và trực quan Là một phần của NET Framework 3.0 trở lên, WPF xây dựng kiến trúc lớp quản lý với các lớp API không quản lý và lớp Core, mang lại khả năng tùy biến cao và hiệu suất tối ưu cho các ứng dụng Windows.
Lớp quản lý (Managed Layer)
Lớp quản lý trong WPF gồm hai thành phần chính là Presentation Framework và Presentation Core Presentation Framework cung cấp các chức năng cần thiết để xây dựng các ứng dụng WPF, bao gồm điều khiển giao diện người dùng, liên kết dữ liệu, định dạng kiểu dáng, hình dạng, và quản lý tài liệu.
8 chú thích, hình ảnh động và nhiều hơn nữa PresentationFamework.dll chịu trách nhiệm cho mục đích này
PresentationCore functions as a wrapper managing around MILCore, providing a public interface for MIL It is responsible for the WPF Visual System, offering classes to create and manage the visual tree The Visual Tree is generated by the system's visual constructs, with PresentationCore.dll serving as the core DLL responsible for this functionality.
Lớp không được quản lý (Unmanaged Layer)
Lớp MilCore hay Media tích hợp Thư viện Core là thành phần quan trọng trong công nghệ đồ họa của Windows, được xây dựng bằng mã không quản lý để tích hợp chặt chẽ với DirectX, mang lại hiệu suất cao DirectX động cơ nằm bên dưới công nghệ của WPF, đảm bảo khả năng hiển thị đồ họa hiệu quả, tối ưu phần cứng và phần mềm Hệ thống MilCore nhận hướng dẫn vẽ từ hệ thống Visual và chuyển đổi thành dữ liệu phù hợp để DirectX xử lý, giúp cải thiện hiệu suất và độ chính xác của giao diện người dùng.
Lớp API Lõi (Core API Layer)
Lớp này bao gồm các thành phần cốt lõi của hệ điều hành như hạt nhân, user32, GDI, điều khiển thiết bị và card đồ họa, đóng vai trò quan trọng trong việc cung cấp API mức thấp cho các ứng dụng truy cập User32 chịu trách nhiệm quản lý bộ nhớ và quá trình tách, đảm bảo hoạt động hiệu quả của hệ thống Các thành phần này giúp hệ điều hành vận hành ổn định và tối ưu, hỗ trợ phát triển phần mềm và xử lý đồ họa chuyên nghiệp.
Tổng quan về NET Framework
.NET Framework là nền tảng lập trình và thực thi ứng dụng chủ yếu trên hệ điều hành Windows, được Microsoft phát triển từ năm 2002 Sau nhiều năm phát triển, Microsoft đã chính thức kết thúc phần mềm này vào năm 2019 ở phiên bản 4.8, để chuyển hướng sang nền tảng mới là NET Core, giúp tối ưu hóa hiệu suất và khả năng mở rộng cho các ứng dụng hiện đại.
Các chương trình viết trên nền tảng NET Framework được triển khai trong môi trường phần mềm gọi là Common Language Runtime (CLR) CLR là một máy ảo quan trọng cung cấp các dịch vụ thiết yếu như quản lý bộ nhớ, xử lý ngoại lệ và đảm bảo an ninh phần mềm, giúp tối ưu hóa hiệu suất và độ tin cậy của các ứng dụng NET.
.NET Framework cung cấp các công cụ, ngôn ngữ lập trình và thư viện phong phú để phát triển các ứng dụng Desktop và Web, đáp ứng nhu cầu của các nhà phát triển phần mềm Ngoài ra, nền tảng này còn hỗ trợ xây dựng các dịch vụ web (Web Services) mạnh mẽ, giúp mở rộng khả năng tích hợp và chia sẻ dữ liệu giữa các ứng dụng khác nhau.
2.3.2 Kiến trúc của NET Framework
NET Framework có 2 thành phần chính đó là Common Language Runtime (CLR) và NET Framework Class Library (FCL)
FCL (Framework Class Library) là tập hợp các lớp, không gian tên, giao diện, và kiểu dữ liệu như chuỗi, số, được sử dụng để xây dựng nhiều chức năng và các loại ứng dụng khác nhau như ứng dụng web và desktop FCL tích hợp với CLR và được hỗ trợ bởi tất cả các ngôn ngữ trong NET như C# và VB.NET, giúp phát triển phần mềm dễ dàng hơn Ngoài ra, FCL còn bao gồm các API cho việc đọc, ghi tệp tin, kết nối cơ sở dữ liệu, giúp mở rộng khả năng của các ứng dụng NET Base Class Library (BCL), là một phần con của FCL, cung cấp các chức năng cơ bản như xử lý dữ liệu, thao tác ngoại lệ, và các hoạt động chung khác để hỗ trợ lập trình viên xây dựng ứng dụng hiệu quả hơn.
Tổng quan về SQL SERVER
SQL Server is a relational database management system (RDBMS) that uses Transact-SQL (T-SQL) commands to query data between client machines and the SQL Server It encompasses databases, database engine, and management applications to efficiently handle and organize data.
SQL Server được tối ưu hóa để vận hành hiệu quả trên các môi trường cơ sở dữ liệu lớn, lên đến hàng Terabyte, đáp ứng nhu cầu truy cập của hàng nghìn người dùng đồng thời Hệ quản trị cơ sở dữ liệu này còn dễ dàng tích hợp với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server và Proxy-Server, tạo thành một hệ thống liên kết mạnh mẽ và linh hoạt cho doanh nghiệp.
2.4.2 Các thành phần cơ bản trong SQL SERVER
- Là một engine có khả năng chứa dữ liệu ở nhiều quy mô dưới dạng support và table
- Ngoài ra còn có khả năng tự điều chỉnh, trả lại tài nguyên cho hệ điều hành…
- Là tập hợp các đối tượng lập trình và các công cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu
- Là một dịch vụ phân tích dữ liệu
Microsoft cung cấp các công cụ mạnh mẽ giúp phân tích dữ liệu trở nên dễ dàng và hiệu quả hơn nhờ vào công nghệ hình khối đa chiều (multi-dimensional cubes) và kỹ thuật khai thác dữ liệu (data mining) Những giải pháp này giúp doanh nghiệp xử lý và khai thác thông tin một cách tối ưu, nâng cao khả năng ra quyết định dựa trên dữ liệu chính xác và toàn diện.
Dịch vụ thông báo là nền tảng quan trọng để phát triển và triển khai các ứng dụng tạo và gửi thông báo hiệu quả Notication Services giúp gửi thông báo đồng thời đến hàng ngàn người đăng ký, nâng cao khả năng tiếp cận và tương tác với người dùng Đây là giải pháp tối ưu để duy trì liên lạc và thúc đẩy sự tương tác trong hệ sinh thái ứng dụng của bạn.
Reporting Services tích hợp thành phần Client và Server để tạo, quản lý và triển khai các báo cáo hiệu quả Nền tảng này còn hỗ trợ phát triển và xây dựng các ứng dụng báo cáo tùy chỉnh, giúp doanh nghiệp tối ưu hóa quy trình phân tích dữ liệu.
Dịch vụ đánh chỉ mục và truy vấn dữ liệu văn bản không cấu trúc trong SQL Server giúp tối ưu hóa quá trình tìm kiếm thông tin Với khả năng tạo chỉ mục Full Text Search trên bất kỳ cột dựa trên dữ liệu văn bản, dịch vụ này nâng cao hiệu quả trong việc truy vấn dữ liệu lớn Đặc biệt, nó rất phù hợp để thay thế các truy vấn sử dụng toán tử LIKE trong SQL, giúp cải thiện tốc độ và độ chính xác khi tìm kiếm văn bản.
Service Broker là môi trường lập trình tích hợp trong mỗi Instance của SQL Server, cho phép các ứng dụng di chuyển linh hoạt giữa các Instance Nó sử dụng giao thức TCP/IP để giao tiếp và đảm bảo các component có thể đồng bộ, trao đổi message một cách hiệu quả Nhờ chạy như một phần của bộ máy CSDL, Service Broker cung cấp nền tảng truyền message tin cậy, theo hàng đợi, giúp các ứng dụng SQL Server hoạt động trơn tru, đảm bảo tính nhất quán và mở rộng hệ thống.
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Đặc tả yêu cầu
Quản lý kinh doanh sân bóng đá đòi hỏi nhiều thời gian, công sức và nhân lực do tính chất phục vụ đông đảo khách hàng cùng lúc Để kiểm soát doanh thu, giờ thuê, giá sân và các dịch vụ đi kèm một cách chặt chẽ, cần hệ thống quản lý hiệu quả Giải pháp tối ưu cho doanh nghiệp là phát triển một ứng dụng quản lý sân bóng đa chức năng, giúp thực hiện nhanh chóng, chính xác các nghiệp vụ liên quan Ứng dụng này không chỉ nâng cao hiệu quả quản lý mà còn tối ưu trải nghiệm khách hàng, đảm bảo doanh thu ổn định và phát triển bền vững.
3.1.2 Xác định yêu cầu bài toán
Để nâng cao hiệu quả quản lý sân bóng, cần xây dựng một hệ thống tự động thay thế công việc thủ công truyền thống Hệ thống này phải đảm bảo đáp ứng các yêu cầu về hiệu suất, độ chính xác và dễ sử dụng, giúp quản lý sân bóng trở nên thuận tiện và hiệu quả hơn Việc triển khai hệ thống tự động sẽ giúp tiết kiệm thời gian, giảm thiểu sai sót và nâng cao chất lượng công tác quản lý.
- Phân quyền người dùng: quản lý và nhân viên
Thực hiện CheckIn – CheckOut cho thuê sân bóng
Tạo các dịch vụ đi kèm và thanh toán hóa đơn
Thực hiện các chức năng của nhân viên
Quản lý danh sách sân bóng
Quản lý danh sách tài khoản
Quản lý các quy định
- Giao diện trực quan, rõ ràng, dễ sử dụng
Trong kiến trúc phần mềm, Presentation Tier được xây dựng bằng công nghệ NET, cụ thể là WPF, sử dụng mô hình MVVM để thiết kế hệ thống phần mềm Hệ thống này gồm các thành phần chính nhằm tối ưu hóa khả năng giao diện người dùng và khả năng mở rộng, đảm bảo trải nghiệm người dùng mượt mà và dễ bảo trì.
- View: thành phần giao diện phần mềm được mô tả bằng xaml giúp cho người dùng có thể tương tác được với hệ thống
ViewModel đảm nhiệm vai trò đồng bộ dữ liệu từ model lên view, giúp việc hiển thị thông tin trở nên dễ dàng và nhất quán Mối quan hệ giữa View và ViewModel được xác định rõ qua kỹ thuật binding, cho phép dữ liệu tự động cập nhật mà không cần thao tác thủ công Nhờ đó, quá trình phát triển giao diện người dùng trở nên hiệu quả hơn, tối ưu hóa trải nghiệm người dùng và nâng cao khả năng duy trì ứng dụng.
- Model: giúp phần mềm truy xuất và thao tác với dữ liệu mà service trả về, gửi yêu cầu đến service
Business Logic Tier: được xây dựng bằng C# và NET Framework
- Service: nhận request từ model, xử lý các yêu cầu, tính toán cần thiết và trả dữ liệu về cho người dùng dưới dạng Object
DataProvider là thành phần giúp dịch vụ truy xuất và thao tác với dữ liệu ở phía server một cách hiệu quả Nó gửi các yêu cầu đến server thông qua các truy vấn SQL được thực thi bằng LINQ tích hợp trong NET Framework Điều này giúp đảm bảo quá trình truy vấn dữ liệu diễn ra một cách tối ưu, đồng thời dễ dàng quản lý và mở rộng trong các ứng dụng phát triển trên nền tảng NET.
Data Tier: sử dụng hệ quản trị SQL SERVER trả dữ liệu về dưới dạng một Object
HIỆN THỰC HỆ THỐNG
Thiết kế dữ liệu
4.1.1 Danh sách bảng trong hệ thống
Dựa trên việc xác định yêu cầu và phân tích yêu cầu, cơ sở dữ liệu của phần mềm quản lý sân bóng bao gồm các bảng sau:
STT Tên đối tượng Ý nghĩa
1 Pitch Lưu trữ danh sách sân bóng
2 PitchType Lưu trữ danh sách loại sân bóng
3 LinkPitchDetails Lưu trữ chi tiết các sân có liên kết với nhau
4 User Lưu trữ thông tin tài khoản sử dụng hệ thống
5 User_Role Lưu trữ thông tin loại tài khoản
6 Booking Lưu trữ thông tin lịch đặt sân
7 Customer Lưu trữ thông khách hàng
8 Commodities Lưu trữ danh sách các dịch vụ đi kèm
9 Commodities_Provider Lưu trữ danh sách các nhà cung cấp
10 Customer_Payment_Receipt Lưu trữ thông tin hóa đơn sử dụng dịch vụ sân bóng
Lưu trữ thông tin chi tiết hóa đơn sử dụng các dịch vụ đi kèm
Lưu trữ thông tin chi tiết hóa đơn sử dụng dịch vụ thuê sân bóng
13 Import_Commodities_Receipt Lưu trữ thông tin phiếu nhập kho
Lưu trữ thông tin chi tiết phiếu nhập kho
STT Tên thuộc tính Kiểu Ràng buộc
1 ID_PITCH Int Khóa chính
2 NAME_PITCH nVarchar (100) Bắt buộc Tên sân bóng
3 PITCH_TYPE_ID Varchar (100) Bắt buộc Lưu ID Loại sân bóng
4 CREATE_BY_ID_USER Int Khoá ngoại
Lưu ID người dùng tạo thông tin
5 CREATE_AT Datetime Bắt buộc Thời gian tạo
6 UPDATE_BY_ID_USER Int Khoá ngoại
Lưu ID người dùng cập nhật thông tin
7 UPDATE_AT Datetime Thời gian cập nhật
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_PITCH_TYPE Int Khóa chính ID loại sân bóng
2 NAME_PITCH_TYPE nvarchar(100) Bắt buộc Tên loại sân bóng
3 CREATE_BY_ID_USER int Lưu ID người dùng tạo thông tin
4 UPDATE_BY_ID_USER int Khoá ngoại Lưu ID người dùng cập nhật thông tin
5 PRICE varchar (50) Giá sân bóng
6 IS_DELETED Bit Default 0 Lưu giá trị thể hiện thông có bị xóa trên hệ thống hay chưa
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_USER Int Khóa chính Mã tài khoản
2 FULL_NAME nvarchar(100) Bắt buộc Tên người sử dụng tài khoản
3 USERNAME varchar(20) Bắt buộc Tên đăng nhập
4 PASSWORD varchar(256) Bắt buộc Mật khẩu đăng nhập
6 ID_ROLE_NAME int Khóa ngoại Lưu ID của loại tài khoản
7 CREATE_BY_ID_USER int Khóa ngoại Lưu ID người dùng tạo thông tin
8 UPDATE_BY_ID_USER int Khóa ngoại Lưu ID người dùng cập nhật thông tin
9 DATE_OF_BIRTH date Ngày sinh
Kiểu Ràng buộc Mô tả
1 ID_ROLE Varchar (50) Khóa chính Mã loại tài khoản
2 ROLE_NAME Varchar (50) Bắt buộc Tên loại tài khoản
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_LINK_PITCH_DETAILS Int Khóa chính Mã chi tiết liên kết
2 ID_PARENT_PITCH Int Khóa ngoại Mã sân cha
3 ID_CHILDREN_PITCH Int Khóa ngoại Mã sân con
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_CUSTOMER int Khóa chính Mã khách hàng
2 NAME_CUSTOMER nvarchar(100) Bắt buộc Tên khách hàng
_CUSTOMER varchar(20) Bắt buộc Số điện thoại khách hàng
4 IS_DELETED bit Khoá ngoại
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_BOOKING int Khóa chính Mã đặt sân
2 ID_PITCH int Bắt buộc ID Sân
3 CHECK_IN_TIME datetime Bắt buộc Thời gian bắt đầu
4 CHECK_OUT_TIME datetime Bắt buộc Thời gian kết thúc
5 ID_CUSTOMER int Khoá ngoại ID khách hàng
_CUSTOMER varchar(20) Bắt buộc SDT khách hàng
7 CREATE_BY_ID_USER int Khoá ngoại Lưu ID người dùng tạo thông tin
8 CREATE_AT datetime Thời gian tạo
9 UPDATE_BY_ID_USER int Khoá ngoại Lưu ID người dùng cập nhật thông tin
10 UPDATE_AT datetime Thời gian cập nhật
12 COST varchar(20) Giá tiền booking
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
1 ID_COMMODITIES int Khóa chính Mã dịch vụ - hàng hóa
2 NAME_COMMODITIES varchar(20) Bắt buộc Tên dịch vụ - hàng hóa
3 QUANTITY_ON_HAND int Bắt buộc Số lượng tồn
4 PURCHASE_PRICE varchar(20) Bắt buộc Giá nhập
5 SELL_PRICE varchar(20) Bắt buộc Giá bán
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
_PROVIDER int Khóa chính Mã nhà cung cấp
_PROVIDER nvarchar(50) Bắt buộc Tên nhà cung cấp
3 DEBT_COST Varchar (100) Bắt buộc Công nợ
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
PAYMENT_RECEIPT int Khóa chính Mã hóa đơn
2 ID_CUSTOMER int Khoá ngoại Mã khách hàng
3 TOTAL_COST varchar(20) Bắt buộc Tổng tiền hóa đơn
CUSTOMER_PAYMENT_RECEIPT_DETAIL_COMMODITIES
4.1.1.12 Bảng CUSTOMER_PAYMENT_RECEIPT_DETAIL_USED_PITCH
4 CREATE_AT datetime Bắt buộc Thời gian tạo
5 CREATE_BY_ID_USER int Khoá ngoại Lưu ID người dùng tạo thông tin
6 UPDATE_AT datetime Thời gian cập nhật
7 UPDATE_BY_ID_USER int Khoá ngoại Lưu ID người dùng cập nhật thông tin
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
_COMMODITIES_SERVICE int Khóa chính Mã chi tiết sử dụng dịch vụ
PAYMENT_RECEIPT int Khóa chính Mã hóa đơn
3 ID_COMMODITIES int Khóa ngoại Mã dịch vụ
4 QUANTITY int Bắt buộc Số lượng
Bắt buộc Tổng tiền chi tiết sử dụng dịch vụ
STT Tên thuộc tính Kiểu Ràng buộc
Mã chi tiết hóa đơn sử dụng sân
3 ID_BOOKING int Khoá ngoại
4.1.1.14 Bảng IMPORT_COMMODITIES_RECEIPT_DETAILS
4 TOTAL_COST_USED_PITCH varchar(50) Bắt buộc Tổng tiền chi tiết sử dụng sân
STT Tên thuộc tính Kiểu Ràng buộc
COMMODITIES_RECEIPT int Khóa chính
2 TOTAL_COST varchar(20) Bắt buộc Ngày nhập
4 CREATE_AT datetime Bắt buộc Thời gian tạo phiếu
5 UPDATE_AT datetime Thời gian cập nhật
6 CREATE_BY_ID_USER int Khoá ngoại
Lưu ID người dùng tạo thông tin
7 UPDATE_BY_ID_USER int Khoá ngoại
Lưu ID người dùng cập nhật thông tin
STT Tên thuộc tính Kiểu Ràng buộc Mô tả
Int Khóa chín Mã số
_RECEIPT int Khoá ngoại Mã số phiếu nhập
3 ID_COMMODITIES int Khoá ngoại Mã hàng
4 QUANTITY_IMPORT int Bắt buộc Số lượng nhập
5 TOTAL_COST varchar(20) Bắt buộc Tổng tiền
4.1.2 Mô hình dữ liệu quan hệ
Thiết kế giao diện
4.2.1 Sơ đồ màn hình liên kết
STT Tên màn hình Ý nghĩa, ghi chú
1 Đăng nhập Giới thiệu, nơi đăng nhập cho người dùng
2 Màn hình chính Chứa hệ thống menu, các tab làm việc, các màn hình chức năng và biểu đồ thống kê
Chỉ người dùng có quyền quản lý:
- Hiển thị danh sách người dùng
- Thực hiện thao tác: thêm, sửa, xoá, tìm kiếm người dùng Đối với người dùng là nhân viên:
- Hiển thị thông tin tài khoản
- Cho phép đối mật khẩu
4 Quản lý danh sách sân bóng
Hiển thị danh sách sân bóng
Thực hiện thao tác thêm mới thông tin sân bóng
6 Chỉnh sửa – xóa sân bóng
Thực hiện thao tác chỉnh sửa – xóa thông tin sân bóng
7 Quản lý lịch đặt sân bóng
Hiển thị danh sách lịch đặt sân dã có Thực hiện thao tác: thêm, tìm kiếm lịch đặt sân
8 Thêm mới lịch đặt sân
Thực hiện thao tác: thêm mới lịch đặt sân
9 Chỉnh sửa – xóa lịch đặt sân bóng
Thực hiện thao tác: sửa, xoá lịch đặt sân
10 Quản lý hóa đơn – thanh toán
Hiển thị danh sách hóa đơn Thực hiện thao tác: thêm, sửa, xoá, tìm kiếm
11 Quản lý tồn kho hàng hóa
Hiển thị danh sách hàng hóa tồn kho Thực hiện thao tác: thêm, sửa, xoá, tìm kiếm
12 Tạo mới phiếu nhập hàng
Thực hiện thao tác: thêm mới phiếu nhập hàng
13 Chỉnh sửa – xóa phiếu nhập hàng
Thực hiện thao tác: sửa, xoá phiếu nhập hàng
14 Quản lý doanh thu Hiển thị bảng biểu, thổng kê liên quan kết việc thu chi của sân bóng
15 Cài đặt quy định Hiển thị các quy định của sân như tiền giờ, làm tròn giờ lúc tính tiền
Thực hiện thao tác: chỉnh sửa quy định
4.2.3 Giao diện mỗi màn hình
27 4.2.3.2 Màn hình Quản lý danh sách sân bóng
4.2.3.3 Màn hình thêm mới sân bóng
28 4.2.3.4 Màn hình chỉnh sửa thông tin sân bóng
4.2.3.5 Màn hình Danh sách lịch đặt sân
29 4.2.3.6 Màn hình thêm mới lịch đặt sân
4.2.3.7 Màn hình chỉnh sửa lịch đặt sân
30 4.2.3.8 Màn hình Quản lý thanh toán hóa đơn
4.2.3.9 Màn hình Chỉnh sửa hóa đơn
31 4.2.3.10 Màn hình quản lý Kho
4.2.3.11 Màn hình quản lý Thu – Chi
32 4.2.3.12 Màn hình quản lý cài đặt
4.2.3.13 Màn hình quản lý tài khoản