1. Trang chủ
  2. » Tất cả

Báo cáo môn học lập trình window xây dựng phần mềm quản lí sân cầu lông

40 66 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Môn Học Lập Trình Window Xây Dựng Phần Mềm Quản Lí Sân Cầu Lông
Tác giả Đặng Quang Trường, Ung Thành Lễ, Phạm Nguyễn Nhật Lâm
Người hướng dẫn Trần Văn Tài
Trường học Viện Kỹ Thuật – Công Nghệ
Chuyên ngành Lập trình Window
Thể loại Báo cáo môn học
Năm xuất bản 2022
Thành phố Bình Dương
Định dạng
Số trang 40
Dung lượng 1,34 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI (7)
    • 1. Tên đề tài (7)
    • 2. Lý do chọn đề tài (7)
    • 3. Mục tiêu của đề tài (7)
    • 4. Các chức năng (7)
    • 5. Phương pháp nghiên cứu (7)
  • CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ (8)
    • 1. Ngôn ngữ lập trình C++ (8)
      • 1.1. Tổng quan (8)
      • 1.2. Chức năng (8)
      • 1.3. Ứng dụng (9)
      • 1.4. Ưu điểm (10)
      • 1.5. Nhược điểm (10)
    • 2. Visual studio (11)
      • 2.1. Tổng quan (11)
      • 2.2. Ưu điểm (12)
  • CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỒNG (14)
    • 1. Mô hình quan hệ (14)
      • 1.1. Danh sách tác nhân (14)
      • 1.2. Danh sách use case (14)
        • 1.3.1 Sơ đồ use case (15)
        • 1.3.2 Sơ đồ class (16)
      • 1.4. Đặc tả use case (16)
        • 1.4.1. Đặc tả use case đăng nhập (16)
        • 1.4.2. Đặc tả use case đăng xuất (17)
        • 1.4.3. Đặc tả use case quản lí sân (18)
        • 1.4.4. Đặc tả use case quản lí lịch đặt sân (19)
        • 1.4.5. Đặc tả use case quản lí khu vực (20)
      • 1.5. Sơ đồ tuần tự (23)
        • 1.5.1. Use case đăng nhập (23)
        • 1.5.2. Use case quản lí sân (0)
        • 1.5.3. Use case quản lí lịch đặt sân (24)
        • 1.5.4. Use case quản lí khu vực (0)
    • 2. Cơ sở dữ liệu (25)
      • 2.1. Quản lí sân (25)
      • 2.2. Quản lí lịch đặt sân (26)
      • 2.3. Quản lí khu vực (26)
      • 2.4. Doanh thu, hóa đơn (27)
  • CHƯƠNG 4: THIẾT KẾ GIAO DIỆN (28)
    • 1. Thiết kế giao diện (28)
      • 1.1. Giao diện đăng nhập (28)
      • 1.2. Giao diện trang chủ (30)
      • 1.3. Giao diện quản lí sân (30)
      • 1.4. Giao diện quản lí lịch đặt sân (31)
      • 1.5. Giao diện quản lí khu vực (32)
  • CHƯƠNG 5: TỔNG KẾT (33)
    • 1. Kết quả đạt được (33)
    • 2. Hạn chế của đề tài (33)
    • 3. Hướng phát triển của đề tài (33)
  • TÀI LIỆU THAM KHẢO (34)
    • 1. Tài liệu tiếng Việt (34)

Nội dung

Cùng với nhu cầu trong các sân chơi thể thao hiện nay rất phổ biến và đa dạng của mọi người ngày càng cao, chúng em đã quyết định chọn đề tài “Xây dựng phần mềm quản lí sân cầu lông” làm

Trang 1

TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT VIỆN KỸ THUẬT – CÔNG NGHỆ

LẬP TRÌNH WINDOW

XÂY DỰNG PHẦN MỀM QUẢN LÍ SÂN CẦU LÔNG

GVHD: Trần Văn Tài SVTH:

ĐẶNG QUANG TRƯỜNG – 2024802010054 UNG THÀNH LỄ – 2024802010091

PHẠM NGUYỄN NHẬT LÂM – 2024802010039

LỚP: D20CNTT01

Bình Dương, tháng 7 năm 2022

Trang 2

Xây dựng phần mềm quản lí sân cầu lông Trang 1

MỤC LỤC

LỜI NÓI ĐẦU 1

DANH MỤC HÌNH 4

DANH MỤC BẢNG 5

CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 6

1 Tên đề tài 6

2 Lý do chọn đề tài 6

3 Mục tiêu của đề tài 6

4 Các chức năng 6

5 Phương pháp nghiên cứu 6

CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ 7

1 Ngôn ngữ lập trình C++ 7

1.1 Tổng quan 7

1.2 Chức năng 7

1.3 Ứng dụng 10

1.4 Ưu điểm 8

1.5 Nhược điểm 9

2 Visual studio 9

2.1 Tổng quan 10

2.2 Ưu điểm 11

CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỒNG 13

1 Mô hình quan hệ 13

1.1 Danh sách tác nhân 13

1.2 Danh sách use case 13

1.3.1 Sơ đồ use case 14

1.3.2 Sơ đồ class 16

1.4 Đặc tả use case 15

1.4.1 Đặc tả use case đăng nhập 15

1.4.2 Đặc tả use case đăng xuất 16

1.4.3 Đặc tả use case quản lí sân 17

1.4.4 Đặc tả use case quản lí lịch đặt sân 18

Trang 3

Xây dựng phần mềm quản lí sân cầu lông Trang 2

1.4.5 Đặc tả use case quản lí khu vực 19

1.5 Sơ đồ tuần tự 22

1.5.1 Use case đăng nhập 22

1.5.2 Use case quản lí sân 23

1.5.3 Use case quản lí lịch đặt sân 23

1.5.4 Use case quản lí khu vực 24

2 Cơ sở dữ liệu 24

2.1 Quản lí sân 24

2.2 Quản lí lịch đặt sân 25

2.3 Quản lí khu vực 25

2.4 Doanh thu, hóa đơn 26

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN 26

1 Thiết kế giao diện 27

1.1 Giao diện đăng nhập 25

1.2 Giao diện trang chủ 27

1.3 Giao diện quản lí sân 28

1.4 Giao diện quản lí lịch đặt sân 29

1.5 Giao diện quản lí khu vực 29

CHƯƠNG 5: TỔNG KẾT 32

1 Kết quả đạt được 32

2 Hạn chế của đề tài 32

3 Hướng phát triển của đề tài 32

TÀI LIỆU THAM KHẢO 33

1 Tài liệu tiếng Việt 33

Trang 4

Xây dựng phần mềm quản lí sân cầu lông Trang 3

LỜI NÓI ĐẦU

Hiện nay dưới sự phát triển của công nghệ thông tin việc thực hiện những công việc hàng ngày đã trở nên dễ dàng hơn bao giờ hết Cùng với nhu cầu trong các sân chơi thể thao hiện nay rất phổ biến và đa dạng của mọi người ngày càng cao, chúng em đã quyết định chọn đề tài “Xây dựng phần mềm quản lí sân cầu lông” làm đề tài cuối kỳ cho môn Đồ án cơ sở ngành

Thực hiện đề tài này là cơ hội để chúng em tìm hiểu, làm quen và thử sức với một lĩnh vực mới, trau dồi kiến thức và khả năng tự học Trong quá trình thực hiện, chúng em đã

áp dụng được những kiến thức đã học trên lớp cũng như tìm hiểu thêm nhiều thông tin

bổ ích

Mặc dù đã rất cố gắng thực hiện đề tài nhưng do năng lực cũng như hạn chế về thời gian nên chúng em khó tránh khỏi những sai sót, rất mong thầy, cô thông cảm bỏ qua Những góp ý của thầy, cô là bài học, là hành trang quý giá dành cho chúng em Chúng em cũng xin cảm ơn thầy Trần Văn Tài đã hướng dẫn một cách tận tình để chúng em có thể hoàn thành đề tài này

Trang 5

Xây dựng phần mềm quản lí sân cầu lông Trang 4

DANH MỤC HÌNH

Hình 1 - Biểu tượng C++ 9

Hình 2 - Biểu tượng Visual Studio 13

Hình 3 - Màn hình Visual Studio 13

Hình 4 - Sơ đồ use case 15

Hình 5- Sơ đồ class 16

Hình 6 - Sơ đồ tuần tự của use case đăng nhập 23

Hình 7 - Sơ đồ tuần tự use case quản lí sân 24

Hình 8 - Sơ đồ tuần tự use case quản lí lịch đặt sân 24

Hình 9 - Sơ đồ tuần tự use case quản lí khu vực 25

Hình 10 - Quản lí sân 25

Hình 11 - Quản lí lịch đặt sân 26

Hình 12 - Quản lí khu vực 26

Hình 13 –Doanh thu, hóa đơn 27

Hình 14 – Sơ đồ diagram 27

Hình 15 – Giao diện đăng nhập 29

Hình 16 – Giao diện trang chủ 30

Hình 17 – Giao diện quản lí sân 30

Hình 18 – Giao diện quản lí lịch đặt sân 31

Hình 19 – Giao diện quản lí khu vực 32

Trang 6

Xây dựng phần mềm quản lí sân cầu lông Trang 5

DANH MỤC BẢNG

Bảng 1 - Danh sách tác nhân 14

Bảng 2 - Danh sách các use case 14

Bảng 3 - Đặc tả use case đăng nhập 16

Bảng 4 - Đặc tả use case đăng xuất 17

Bảng 5 - Đặc tả use case quản lí sân 18

Bảng 6 - Đặc tả use case quản lí lịch đặt sân 20

Bảng 7 - Đặc tả use case quản lí khu vực 21

Bảng 8 - Đặc tả use case doanh thu, hóa đơn 22

Trang 7

Công nghệ thông tin ngày càng phát triển, việc thực hiện quản lý công việc đã trở nên

dễ dàng hơn bao giờ hết Và các sân chơi cầu lông cũng ngày một nhiều hơn và rất đông người chơi nên các câu lạc bộ luôn phải quản lý mọi việc của mình để cân bằng công việc Chính vì lý do đó chúng em đã tạo ra phần mềm quản lí sân cầu lông dành cho các câu lạc bộ cầu lông nhằm hỗ trợ và làm việc một cách tối ưu và hiệu quả hơn

3 Mục tiêu của đề tài

- Tìm hiểu các giải pháp công nghệ nhằm thực hiện đề tài

- Ứng dụng các công nghệ đã tìm hiểu được để xây dựng phần mềm hoàn chỉnh

- Doanh thu, hóa đơn

5 Phương pháp nghiên cứu

- Phương pháp nghiên cứu lý thuyết:

+ Nghiên cứu các công nghệ

+ Nghiên cứu các ứng dụng tương tự

+ Nghiên cứu phần mềm Visual studio

-Phương pháp nghiên cứu thực nghiệm:

+ Xây dựng phần mềm quản lí sân cầu lông

Trang 8

Object-cả 2 phong cách(style) lập trình hướng cấu trúc giống C và có thêm phong cách hướng đối tượng Trong nhiều trường hợp, C++ sử dụng kết hợp cả 2 style trên Do đó, nó

được xem là một ngôn ngữ “lai tạo”

Ngôn ngữ C++ là một ngôn ngữ lập trình cấp trung Bởi vì nó có các tính chất của cả ngôn ngữ lập trình bậc thấp(Pascal, C…) và ngôn ngữ lập trình bậc cao(C#, Java,

Trang 9

có sự đóng góp của ngôn ngữ C++.Ứng dụng tính toán và đồ họa

Ngôn ngữ lập trình C++ cho phép triển khai các ứng dụng đòi hỏi yếu tố thời gian thực Chẳng hạn như các ứng dụng mô phỏng 3D, xử lý hình ảnh hiệu năng cao hay các ứng dụng cảm biến trên thiết bị di động Hay các ứng dụng xử lý, mô phỏng 3D, hiệu ứng

và hoạt ảnh đều được xây dựng bằng C++

Phần mềm quản trị cơ sở dữ liệu

C và C++ được sử dụng cho hệ quản trị cơ sở dữ liệu MySQL Đây là một trong các hệ quản trị cơ sở dữ liệu phổ biến nhất Nó là xương sống cho nhiều phần mềm của các doanh nghiệp lớn như Google, Yahoo, Youtube, Wikipedia,…

Hệ điều hành

C++ là một phần không thể thiếu trong nhiều hệ điều hành phổ biến như Apple OSX và

MS Windows

Phần mềm doanh nghiệp

C++ thường được sử dụng trong các ứng dụng lớn của các doanh nghiệp Nơi mà yêu

tố hiệu năng và tốc độ luôn được đặt lên hàng đầu

Trình biên dịch

Một loạt các trình biên dịch bao gồm Apple C++, Bloodshed Dev-C++, Clang C++ và MINGW make đều sử dụng ngôn ngữ lập trình C++ Không chỉ vậy, C và C++ còn là ngôn ngữ nền tảng hỗ trợ xây dựng các ngôn ngữ lập trình mới như C#, Java, PHP, Verilog,…

Trang 10

1.4 Ưu điểm

- C++ là một ngôn ngữ lập trình hướng đối tượng

Đây là một trong những lý do developer có thể dùng C++ để học lập trình hướng đối tượng mặc dù không được khuyến khích cho lắm Nhưng hướng đối tượng là một tính chất mà một ngôn ngữ lập trình hiện đại nên có và thật may mắn C++ cung cấp đầy đủ những tính chất của hướng đối tượng như tính đóng gói, tính đa hình, tính trừu tượng và tính kế thừa

- C++ cho phép thoải mái quản lý vùng nhớ

Thật vậy, trong C++ chúng ta không có Garbage Collectors để dọn dẹp vùng nhớ như một số ngôn ngữ bậc cao khác Một vùng nhớ có thể sử dụng lại nhiều lần, điều này giúp cải thiện hiệu suất chương trình C++ Vì thế những chương trình đòi hỏi chạy được trên một tài nguyên hạn chế thì đều ưu tiên viết bằng C++

- C++ là một ngôn ngữ low-level dễ dàng giao tiếp với phần cứng

Một chương trình phần mềm dùng để giao tiếp với phần cứng hay một Embedded System đều được ưu tiên dùng C++

C++ có một hiệu suất cao cùng khả năng tiêu tốn ít tài nguyên phần cứng khiến chương trình chạy nhanh hơn Cũng vì hiệu suất cao nên C++ cũng được dùng để phát triển game Nói chung, một chương trình đòi hỏi hiệu suất cao thì phần core lúc nào cũng sẽ được

ưu tiên viết bằng C++

1.5 Nhược điểm

- Tràn vùng nhớ

Như đã đề cập ở trên C++ cho phép bạn tự quản lý vùng nhớ, giúp cho việc tái sử dụng vùng nhớ một cách hiệu quả nhưng nếu quản lý không tốt việc tràn vùng nhớ sẽ xảy ra

Trang 11

Xây dựng phần mềm quản lí sân cầu lông Trang 10

- OOP trong C++ khá phức tạp và khó hiểu

Trong C++ chúng ta không có khái niệm Interface Chúng ta có thêm khái niệm hàm thuần ảo, hàm bạn, lớp bạn, hàm hủy (destructor), đa kế thừa,… Do vậy, OOP trong C++ khá phức tạp và khó hiểu Trong C++ chúng ta phải khai báo phạm vi truy cập của class, phương thức, biến trong file header(file h) và implement chúng trong file cpp Nếu đã quen với OOP trong Java như thì khi chuyển qua C++ sẽ khá bỡ ngỡ vì có một số khái niệm mới

- Con trỏ là một cái gì đó rất… khó

Con trỏ là một biến mang địa chỉ của một vùng nhớ mà biến đó trỏ tới Lập trình viên ban đầu tiếp cận với C++ thì khi học tới con trỏ rất dễ nản vì với những ngôn ngữ bậc cao khác chúng đã lược bỏ khái niệm này để làm ngôn ngữ thân thiện và dễ hiểu hơn Nhưng con trỏ sinh ra để giúp cho việc thao tác trực tiếp với vùng nhớ, tăng tốc độ thực thi của chương trình nên đôi khi khó học thì cũng đi đôi với lợi ích đó

2 Visual studio

2.1 Tổng quan

Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế được nó Visual Studio được viết bằng 2 ngôn ngữ đó chính là C# và VB+ Đây là 2 ngôn ngữ lập trình giúp người dùng có thể lập trình được hệ thống một các dễ dàng và nhanh chóng nhất thông qua Visual Studio

Visual Studio là một phần mềm lập trình hệ thống được sản xuất trực tiếp từ Microsoft

Từ khi ra đời đến nay, Visual Studio đã có rất nhiều các phiên bản sử dụng khác nhau Điều đó, giúp cho người dùng có thể lựa chọn được phiên bản tương thích với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất

Bên cạnh đó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao diện

chính cho máy của mình tùy thuộc vào nhu cầu sử dụng

Trang 13

Xây dựng phần mềm quản lí sân cầu lông Trang 12

– Visual Studio hỗ trợ phát triển các ứng dụng: desktop MFC, Windows Form,

Universal App, ứng dụng mobile Windows Phone 8/8.1, Windows 10, …

– Visual Studio hỗ trợ xây dựng ứng dụng một cách chuyên nghiệp bằng các công cụ kéo thả

– Visual Studio được đông đảo lập trình viên trên thế giới sử dụng

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 14

1.2 Danh sách use case

Bảng 2 - Danh sách các use case

1

Người

dùng

cuối

Đăng nhập Người dùng đăng nhậo vào phần mềm

2 Đăng xuất Người dùng đăng xuất khỏi phần mềm

3 Quản lí sân Người dùng xem sân

4 Quản lí lịch đặt sân Người dùng xem lịch đặt sân

5 Quản lí khu vực Người dùng xem khu vực có sân

6 Daonh thu, hóa đơn Người dùng xem thông tin doanh thu, hóa

đơn

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 15

Xây dựng phần mềm quản lí sân cầu lông Trang 14

1.3.1 Sơ đồ use case

Hình 4 - Sơ đồ use case

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 16

1.4.1 Đặc tả use case đăng nhập

Bảng 3 - Đặc tả use case đăng nhập

1 Tóm tắt Use case mô tả cách người dùng đăng nhập vào hệ

thống

2 Actor Người dùng cuối

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 17

Xây dựng phần mềm quản lí sân cầu lông Trang 16

3 Dòng sự kiện Dòng sự kiện chính: Use case này bắt đầu khi người

dùng cuối muốn đăng nhập vào phần mềm

+ Người dùng cuối nhập tên đăng nhập và mật khẩu

+ Hệ thống kiểm tra thông tin đăng nhập, nếu tài khoản và mật khẩu nhập chính xác thì chuyển qua màn hình chính

Dòng sự kiện khác: Nếu trong dòng sự kiện chính,

người dùng nhập sai tên đăng nhập, mật khẩu thì hệ thống sẽ hiển thị thông báo lỗi Người dùng có thể chọn trở về đầu dòng sự kiện chính hoặc hủy bỏ việc đăng nhập, lúc này use case kết thúc

1.4.2 Đặc tả use case đăng xuất

Bảng 4 - Đặc tả use case đăng xuất

1 Tóm tắt Use case này mô tả cách người dùng đăng xuất khỏi

ứng dụng

2 Actor Người dùng cuối

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 18

Xây dựng phần mềm quản lí sân cầu lông Trang 17

3 Dòng sự kiện - Dòng sự kiện chính: Use case này bắt đầu khi

người dùng muốn đăng xuất khỏi phần mềm

+ Người dùng chọn nào nút đăng xuất tại nút thoát trên phần mềm

+ Hệ thống hủy bỏ phiên đăng nhập của tài khoản

và quay trở về màn hình đăng nhập của trang người dùng

1.4.3 Đặc tả use case quản lí sân

Bảng 5 - Đặc tả use case quản lí sân

1 Tóm tắt Use case này mô tả cách người dùng xem sân

2 Actor Người dùng cuối

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 19

Xây dựng phần mềm quản lí sân cầu lông Trang 18

3 Dòng sự kiện - Dòng sự kiện chính: Use case này bắt đầu khi

người dùng đã đăng nhập xong + Người dùng sau khi đăng nhập sẽ vào trang chủ của phần mềm Tại đây sẽ hiển thị mục quản lí sân + Khi nhấn vào quản lí sân sẽ hiển thị các sân đã đặt

1.4.4 Đặc tả use case quản lí lịch đặt sân

Bảng 6 - Đặc tả use case quản lí lịch đặt sân

1 Tóm tắt Use case này mô tả cách người dùng xem lịch đặt

sân

2 Actor Người dùng cuối

3 Dòng sự kiện - Dòng sự kiện chính: Use case này bắt đầu khi

người dùng đã đăng nhập xong + Người dùng sau khi đăng nhập sẽ vào trang chủ của phần mềm Người dùng nhấn vào mục quản lí lịch đặt sân để xem lịch

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 20

1.4.5 Đặc tả use case quản lí khu vực

Bảng 7 - Đặc tả use case quản lí khu vực

1 Tóm tắt Use case này mô tả cách người dùng xem khu vực

sân

2 Actor Người dùng cuối

3 Dòng sự kiện - Dòng sự kiện chính: Use case này bắt đầu khi

người dùng đã đăng nhập xong + Người dùng sau khi đăng nhập sẽ vào trang chủ của phần mềm Người dùng nhấn vào mục quản lí khu vực.Loại sân sẽ được hiển thị

- Dòng sự kiện khác: Không có

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 21

1.4.6 Đặc tả use case xem doanh thu, hóa đơn

Bảng 8 - Đặc tả use case xem doanh thu, hóa đơn

1 Tóm tắt Use case này mô tả cách người dùng xem doanh thu

hóa đơn

2 Actor Người dùng cuối

3 Dòng sự kiện - Dòng sự kiện chính: Use case này bắt đầu khi

người dùng đã đăng nhập xong + Người dùng sau khi đăng nhập sẽ vào trang chủ của phần mềm Người dùng nhấn vào mục doanh thu, hóa đơn

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 24

Xây dựng phần mềm quản lí sân cầu lông Trang 23

1.5.3 Use case quản lí sân

Hình 7 - Sơ đồ tuần tự use case quản lí sân

1.5.4 Use case quản lí lịch đặt sân

Hình 8 - Sơ đồ tuần tự use case quản lí lịch đặt sân

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Trang 28

Xây dựng phần mềm quản lí sân cầu lông Trang 27

CHƯƠNG 4: THIẾT KẾ GIAO DIỆN

1 Thiết kế giao diện

1.1 Giao diện đăng nhập

- Chức năng: Nhận và kiểm tra thông tin đăng nhập của người dùng, đăng nhập người dùng vào phần mềm để sử dụng các chức năng

và mật khẩu rồi đăng nhập người dùng vào phần mềm

Downloaded by tran quang (quangsuphamhoak35@gmail.com)

Ngày đăng: 30/01/2023, 17:40

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w