Tổng Quan
Mục tiêu và ý nghĩa của đồ án
❖ Mục tiêu chính của đồ án là phát triển một ứng dụng trực quan hóa dữ liệu giúp phân tích tài chính và hiệu suất của các game trên nền tảng Steam Cụ thể:
■ Tự động thu thập thông tin đa dạng từ Steam API và các nguồn dữ liệu khác về doanh thu, doanh số bán, số lượng người chơi, và đánh giá của các game.
➢ Trực Quan Hóa Thông Tin:
■ Tạo các biểu đồ và đồ thị trực quan để hiển thị sự thay đổi của doanh thu, doanh số và rating theo thời gian.
■ Phân tích sự tương quan giữa các yếu tố như giá bán, thể loại game, và đánh giá từ người chơi.
■ Cung cấp giao diện người dùng thân thiện, cho phép người dùng tương tác với dữ liệu một cách dễ dàng và linh hoạt.
❖ Việc phát triển ứng dụng nhằm mang lại những ý nghĩa sau:
➢ Hỗ Trợ Quyết Định Chiến Lược:
■ Cung cấp thông tin đầy đủ và minh bạch giúp các nhà phát triển game và nhà phân phối đưa ra quyết định chiến lược về việc phát triển, quảng cáo và giá cả.
➢ Tối Ưu Hóa Hiệu Suất:
■ Hỗ trợ các quyết định về phát triển game bằng cách xác định các yếu tố ảnh hưởng đến hiệu suất và doanh thu.
➢ Tăng Cường Trải Nghiệm Người Chơi:
■ Dựa trên thông tin thu thập được, cung cấp cái nhìn sâu sắc về những game có thể thu hút người chơi và cung cấp thông tin để cải thiện chất lượng và nội dung game.
➢ Tiết Kiệm Thời Gian và Nỗ Lực:
■ Tự động hóa quá trình thu thập và phân tích dữ liệu, giúp tiết kiệm thời gian và nỗ lực so với việc thực hiện thủ công.
Đối tượng nghiên cứu
❖ Đối tượng nghiên cứu chính của đồ án bao gồm các dự án phân tích dữ liệu Steam đã tồn tại Cụ thể:
■ Phân tích các yếu tố như doanh thu, doanh số, và rating của game trên Steam.
■ Tích hợp các biểu đồ và đồ thị để trực quan hóa dữ liệu.
■ Sử dụng các mô hình dự đoán để ước tính doanh thu tương lai của các tựa game.
■ Tập trung vào thu thập dữ liệu từ cộng đồng người chơi để đánh giá sự ưa thích và đánh giá của họ đối với các game.
■ Cung cấp khả năng so sánh giữa các game theo các yếu tố khác nhau.
■ Tích hợp thông tin về giá cả và ưu đãi để đưa ra các khuyến nghị.
❖ Đối tượng nghiên cứu thứ hai của ứng dụng là các nhóm người chơi trên nền tảng Steam, bao gồm:
■ Người chơi thường xuyên mua sắm và tham gia cộng đồng game trên Steam.
■ Nhiều lựa chọn về game và đánh giá cao sự chất lượng của trải nghiệm chơi game.
➢ Nhóm Người Chơi Mục Tiêu:
■ Người chơi mới, chưa quen với thị trường game trên Steam và cần thông tin để đưa ra quyết định mua sắm.
Các hướng nghiên cứu
❖ Tối Ưu Hóa Thu Thập Dữ Liệu:
➢ Nghiên cứu cách tối ưu hóa quá trình thu thập dữ liệu từ Steam API và nguồn dữ liệu khác để đảm bảo tính chính xác và đầy đủ của thông tin.
❖ Phân Tích Tương Tác Người Dùng:
➢ Nghiên cứu cách người dùng tương tác với ứng dụng và đề xuất cải tiến để tối ưu hóa trải nghiệm người dùng.
❖ Dự Đoán Hiệu Suất Game:
➢ Nghiên cứu và phát triển các mô hình dự đoán hiệu suất tương lai của các game dựa trên dữ liệu lịch sử.
❖ So Sánh với Các Dự Án Tương Tự:
➢ So sánh ứng dụng của bạn với các dự án phân tích dữ liệu Steam khác để xem điểm mạnh và điểm yếu, từ đó đề xuất cải tiến và nâng cao tính cạnh tranh.
❖ Phân Tích Yếu Tố Ảnh Hưởng Đến Đánh Giá Game:
➢ Nghiên cứu yếu tố nào ảnh hưởng lớn đến đánh giá của người chơi đối với một game, bao gồm giá cả, thể loại, và các yếu tố khác.
❖ Phân Loại Game Dựa Trên Xu Hướng Người Chơi:
➢ Phát triển mô hình để phân loại các game dựa trên sở thích và xu hướng của người chơi.
❖ Đối Tượng Nghiên Cứu - Sự Chênh Lệch Giữa Các Nhóm Người Chơi:
➢ Nghiên cứu sự chênh lệch giữa các nhóm người chơi để hiểu rõ hơn về yêu cầu và mong muốn của từng đối tượng.
❖ Dữ Liệu Người Dùng Kết Hợp:
➢ Kết hợp dữ liệu từ nhiều nguồn khác nhau, bao gồm cả các diễn đàn game, mạng xã hội và đánh giá ngoại trực để có cái nhìn toàn diện hơn về sự ưa thích của người chơi.
❖ Nghiên Cứu Tác Động của Các Sự Kiện Chiến Lược:
➢ Nghiên cứu tác động của các sự kiện chiến lược như giảm giá, sự kiện đặc biệt, và các chiến lược quảng cáo đối với hiệu suất của game.
➢ Nghiên cứu về các phương pháp bảo mật dữ liệu đặc biệt khi xử lý thông tin nhạy cảm của người chơi.
Cơ Sở Lý Thuyết & Công Nghệ
Cơ sở lý thuyết
2.1.1 Trực Quan Hóa Dữ Liệu & Giao Diện Người Dùng
2.2.1.1 Trực Quan Hóa Dữ Liệu
❖ Mục Tiêu: Hiểu rõ về vai trò của trực quan hóa dữ liệu trong việc truyền đạt thông tin một cách hiệu quả.
➢ Các loại biểu đồ và đồ thị phổ biến như line charts, bar charts, pie charts, scatter plots.
➢ Các nguyên tắc thiết kế trực quan hóa dữ liệu: tối giản, mô tả, tương tác.
2.1.1.2 Giao Diện Người Dùng (UI) và Trải Nghiệm Người Dùng (UX)
❖ Mục Tiêu: Xây dựng một giao diện người dùng thân thiện và trải nghiệm người dùng tốt.
➢ Nguyên tắc thiết kế giao diện người dùng (UI design principles).
➢ Các yếu tố tạo nên trải nghiệm người dùng tích cực: sự dễ sử dụng, tính tương tác, và hiệu suất.
2.1.2 Phân Tích Dữ Liệu Tài Chính & Kế Toán
❖ Mục Tiêu: Hiểu cơ bản về các khái niệm tài chính và kế toán.
➢ Nguyên tắc kế toán cơ bản.
➢ Các chỉ số và biểu đồ phổ biến trong phân tích tài chính.
2.1.3 Công Nghệ & Ngôn Ngữ Lập Trình
❖ Mục Tiêu: Hiểu cơ bản về ngôn ngữ lập trình Python và cách nó có thể được sử dụng trong phân tích dữ liệu.
➢ Cú pháp cơ bản, kiểu dữ liệu, và cấu trúc điều khiển.
➢ Sử dụng thư viện phổ biến như NumPy, Pandas.
❖ Mục Tiêu: Nắm vững cách sử dụng Dash để xây dựng ứng dụng web tương tác.
➢ Cấu trúc cơ bản của Dash.
➢ Tích hợp Dash với các thư viện trực quan hóa như Plotly.
❖ Mục Tiêu: Hiểu cách sử dụng GitHub Actions để tự động hóa các quy trình phát triển và triển khai.
➢ Cài đặt và cấu hình GitHub Actions để tự động hoá các quy trình thu thập thông tin.
❖ Mục tiêu: Hiểu cách sử dụng NoSQL cho một hệ thống cơ sở dữ liệu Real-time.
❖ Mục tiêu: Hiểu cách dùng Django như là một framework phát triển web mạnh mẽ được viết bằng Python Nó cung cấp một cơ sở hạ tầng linh hoạt và đầy đủ tính năng để phát triển ứng dụng web, giúp giảm bớt công việc lặp lại và tập trung vào việc xây dựng các tính năng cụ thể của ứng dụng.
❖ Mục tiêu: Hiểu cách sử dụng thư viện JavaScript mã nguồn mở như Chart.js để tạo các biểu đồ và đồ thị tương tác trên trang ứng dụng.
2.1.4 An Toàn & Bảo Mật Dữ Liệu
2.1.4.1 Bảo Mật Dữ Liệu Cơ Bản
❖ Mục Tiêu: Hiểu về các nguyên tắc cơ bản của bảo mật dữ liệu.
➢ Bảo vệ dữ liệu nhạy cảm và quản lý rủi ro bảo mật.
2.1.4.2 Bảo Mật trong Ứng Dụng Web
❖ Mục Tiêu: Nắm vững cách bảo vệ ứng dụng web khỏi các mối đe dọa bảo mật.
➢ Chống lại tấn công SQL Injection và Cross-Site Scripting (XSS).
➢ Sử dụng HTTPS và mã hóa dữ liệu.
Phân tích công nghệ sử dụng
❖ Ngôn Ngữ Lập Trình Chính: Python là một ngôn ngữ lập trình linh hoạt, dễ đọc và dễ hiểu, thích hợp cho phát triển ứng dụng và xử lý dữ liệu.
➢ Sử dụng Python làm ngôn ngữ chính cho việc phát triển ứng dụng.
➢ Tận dụng tính linh hoạt và đa nhiệm của Python để xử lý nhiều nhiệm vụ khác nhau trong dự án.
❖ Thư Viện Toán Học: NumPy cung cấp một loạt các hàm và công cụ mạnh mẽ để thực hiện các phép toán toán học và thống kê trên mảng số học.
➢ Sử dụng NumPy để thực hiện các phép toán toán học và thống kê trên dữ liệu số học.
➢ Tích hợp NumPy vào các phần xử lý dữ liệu và tính toán trong ứng dụng.
❖ Thư Viện Xử Lý Dữ Liệu: Pandas là một thư viện Python mạnh mẽ cho xử lý và phân tích dữ liệu, thích hợp cho việc làm sạch và chuẩn hóa dữ liệu.
➢ Sử dụng Pandas để làm sạch, chuẩn hóa và phân tích dữ liệu từ nguồn đầu vào của đồ án.
➢ Tận dụng tính năng của Pandas để thao tác dữ liệu dễ dàng và hiệu quả.
❖ Tự Động Hóa Quy Trình Phát Triển: GitHub Actions là một công cụ giúp tự động hóa các bước trong quy trình phát triển, kiểm thử và triển khai.
➢ Thiết lập các GitHub Actions để tự động hóa quy trình phát triển, kiểm thử và triển khai.
➢ Sử dụng GitHub Actions để kiểm soát phiên bản và đảm bảo rằng ứng dụng luôn ổn định và có hiệu suất tốt.
❖ Django là một framework phát triển web được viết bằng ngôn ngữ lập trình Python: Django được thiết kế để giúp những nhà phát triển xây dựng các ứng dụng web nhanh chóng và dễ bảo trì Django tập trung vào việc giảm thiểu lượng công việc lặp lại trong quá trình phát triển web bằng cách cung cấp các thành phần sẵn có để xử lý các nhiệm vụ chung như quản lý cơ sở dữ liệu, xử lý biểu mẫu, và xử lý URL.
➢ Kết hợp với Chart.js để tạo biểu đồ và đồ thị trên phía client.
➢ Vì Django tích hợp được với MongoDB nên có thể kết hợp cùng rất phù hợp với yêu cầu phân tích dữ liệu.
➢ Sử dụng filters để cho phép người dùng lọc và tìm kiếm dữ liệu một cách dễ dàng.
❖ Chart.js là một thư viện JavaScript mã nguồn mở được sử dụng để tạo các biểu đồ và đồ thị tương tác trên trang web: Thư viện này cung cấp một cách đơn giản và linh hoạt để hiển thị dữ liệu số liệu trong các biểu đồ dễ đọc và trực quan.
➢ Chủ yếu sử dụng để tạo ra các biểu đồ trên phía người dùng (client-side).
➢ Dùng Chart.js để tạo nhiều loại biểu đồ như biểu đồ đường, biểu đồ cột, biểu đồ hình tròn cho ứng dụng.
➢ Tận dụng khả năng tương tác, cho phép người dùng tương tác với dữ liệu bằng cách di chuyển chuột hoặc chạm trên các thiết bị cảm ứng của Chart.js.
❖ MongoDB là một hệ quản trị cơ sở dữ liệu (DBMS) phi quan hệ và hướng tài liệu: Nó lưu trữ dữ liệu dưới dạng tài liệu JSON-like, được gọi là BSON (Binary JSON) MongoDB được phát triển bởi MongoDB, Inc., và nó là một hệ quản trị cơ sở dữ liệu mã nguồn mở được sử dụng rộng rãi cho các ứng dụng web và các hệ thống có yêu cầu linh hoạt về cấu trúc dữ liệu.
➢ Sử dụng MongoDB làm cơ sở dữ liệu, lập chỉ mục trên các trường quan trọng trong dữ liệu của ứng dụng
➢ Phân tán xử lý dữ liệu qua nhiều node, giúp tối ưu hóa hiệu suất.
➢ Đảm bảo sự an toàn và sẵn sàng của dữ liệu, cũng như mở rộng hệ thống.
❖ OpenAI cung cấp một API cho dịch vụ của mình API này được thiết kế để kết nối ứng dụng và dịch vụ với mô hình ngôn ngữ mạnh mẽ của OpenAI thông qua các cuộc gọi HTTP Quy trình sử dụng API này không phải là RESTful API truyền thống Để sử dụng OpenAI API, cần thực hiện các cuộc gọi HTTP POST đặc biệt đến endpoint của OpenAI.
❖ Thông tin cơ bản về API OpenAI bao gồm:
■ Endpoint chính: https://api.openai.com/v1/
■ Cần cung cấp khóa API để xác thực mỗi cuộc gọi API Khóa API này được cung cấp khi bạn đăng ký và có tài khoản OpenAI.
■ Endpoint cụ thể tùy thuộc vào loại dịch vụ sử dụng, chẳng hạn như completions cho mô hình GPT-3.
➢ Dữ Liệu Đầu Vào và Đầu Ra:
■ Dữ liệu đầu vào thường được truyền qua các tham số như prompt, temperature, max_tokens, vv.
■ Dữ liệu đầu ra được trả về dưới dạng JSON, và bạn có thể trích xuất thông tin cần thiết từ phản hồi.
➢ Sử dụng các giao thức HTTP là chủ yếu.
Thiết kế hệ thống
Use case
1 User Người sử dụng chính của app.
Bảng 3.1 Bảng danh sách các actors
3.1.3 Danh sách các Use case
Usecase chính Phân rã Use-case Ý nghĩa/Ghi chú
Phân tích xếp hạng trò chơi miễn phí với trò chơi tính phí
Hiển thị theo Biểu đồ tròn
Phân tích tổng số trò chơi miễn phí và tính phí trên Steam
Filters Cập nhật theo Filters
Update data Làm mới mỗi 1 giờ
Phân tích xếp hạng chức năng của trò chơi
Xếp hạng 5 chức năng trò chơi
Cập nhật dữ liệu và hiển thị liên tục về 5 chức năng của các trò chơi thịnh hành nhất
Filters Cập nhật theo Filters
Update data Làm mới mỗi 1 giờ
Phân tích xếp hạng trò chơi thịnh hành
Hiển thị theo Biểu đồ ô vuông
Xếp hạng 10 trò chơi theo số lượng người chơi từ cao đến thấp
Filters Cập nhật theo Filters
Update data Làm mới mỗi 1 giờ
Phân tích xếp hạng số lượng trò chơi của mỗi thể loại
Hiển thị theo Biểu đồ cột ngang
Xếp hạng 10 thể loại trò chơi có số lượng trò chơi từ cao đến thấp
Filters Cập nhật theo Filters
Update data Làm mới mỗi 1 giờ
Phân tích số lượng người chơi theo thời gian
Hiển thị theo Biểu đồ cột đứng
Xếp hạng số lượng người chơi của Steam theo thời gian từng giờ
Filters Cập nhật theo Filters
Update data Làm mới mỗi 1 giờ
Filters theo thời gian Hiển thị phân tích theo thời gian
Filters theo thể loại Free or Paid or Both
Hiển thị phân tích theo Free or Paid or
Filters theo thể loại game
Hiển thị phân tích theo từng thể loại trò chơi hoặc tất cả
Bảng 3.2 Danh sách các use case
3.1.4.1 Đặc tả Use case Phân tích xếp hạng trò chơi miễn phí với trò chơi tính phí a Đặc tả Use case Hiển thị theo Biểu đồ tròn
Use case: Hiển thị theo Biểu đồ tròn
− Xem độ chênh lệch giữa trò chơi tính phí và miễn phí. Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
− Hiển thị biểu đồ tròn thể hiện dữ liệu được cập nhật.
− Cập nhật dữ liệu mỗi một giờ.
− Thay đổi theo Filters b Đặc tả Use case Filters
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm vào các lựa chọn Filters Điều kiện thực hiện: Không có
− Sau khi bấm vào các nút filters hiện ra các lựa chọn.
− Bấm chọn. c Đặc tả Use case Update data
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Mỗi một giờ Github Actions thực hiện CI/CD. Điều kiện thực hiện: Không có
− Hệ thống tự thực hiện CI/CD mỗi giờ.
− Dữ liệu mới được cập nhật.
3.1.4.2 Đặc tả Use case Phân tích xếp hạng chức năng trong trò chơi a Đặc tả Use case Xếp hạng 5 chức năng trò chơi phổ biến nhất
Use case: Hiển thị danh sách 5 thể loại trò chơi phổ biến nhất
− Xem danh sách 5 thể loại trò chơi phổ biến nhất Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
− Hiển thị dữ liệu được cập nhật.
− Cập nhật dữ liệu mỗi một giờ.
− Thay đổi theo Filters b Đặc tả Use case Filters
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm vào các lựa chọn Filters Điều kiện thực hiện: Không có
− Sau khi bấm vào các nút filters hiện ra các lựa chọn.
− Bấm chọn. c Đặc tả Use case Update data
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Mỗi một giờ Github Actions thực hiện CI/CD. Điều kiện thực hiện: Không có
− Hệ thống tự thực hiện CI/CD mỗi giờ.
− Dữ liệu mới được cập nhật.
3.1.4.3 Đặc tả Use case Phân tích xếp hạng trò chơi thịnh hành a Đặc tả Use case Hiển thị theo Biểu đồ ô vuông
Use case: Hiển thị theo Biểu đồ ô vuông
− Xem danh sách top 10 trò chơi thịnh hành theo lượt chơi từ cao đến thấp Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
− Hiển thị dữ liệu được cập nhật.
− Cập nhật dữ liệu mỗi một giờ.
− Thay đổi theo Filters b Đặc tả Use case Filters
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm vào các lựa chọn Filters Điều kiện thực hiện: Không có
− Sau khi bấm vào các nút filters hiện ra các lựa chọn.
− Bấm chọn. c Đặc tả Use case Update data
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Mỗi một giờ Github Actions thực hiện CI/CD. Điều kiện thực hiện: Không có
− Hệ thống tự thực hiện CI/CD mỗi giờ.
− Dữ liệu mới được cập nhật.
3.1.4.4 Đặc tả Use case Phân tích xếp hạng số lượng trò chơi của mỗi thể loại a Đặc tả Use case Hiển thị theo Biểu đồ cột ngang
Use case: Hiển thị theo Biểu đồ cột ngang
− Xem danh sách top 5 thể loại trò chơi có tổng số lượng trò chơi cao đến thấp Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
− Hiển thị dữ liệu được cập nhật.
− Cập nhật dữ liệu mỗi một giờ.
− Thay đổi theo Filters b Đặc tả Use case Filters
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm vào các lựa chọn Filters Điều kiện thực hiện: Không có
− Sau khi bấm vào các nút filters hiện ra các lựa chọn.
− Bấm chọn. c Đặc tả Use case Update data
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Mỗi một giờ Github Actions thực hiện CI/CD. Điều kiện thực hiện: Không có
− Hệ thống tự thực hiện CI/CD mỗi giờ.
− Dữ liệu mới được cập nhật.
3.1.4.5 Đặc tả Use case Phân tích số lượng người chơi theo thời gian a Đặc tả Use case Hiển thị theo Biểu đồ cột đứng
Use case: Hiển thị theo Biểu đồ cột đứng
− Xem biến động số lượng người chơi của nền tảng biến động theo thời gian Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
− Hiển thị dữ liệu được cập nhật.
− Cập nhật dữ liệu mỗi một giờ.
− Thay đổi theo Filters b Đặc tả Use case Filters
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm vào các lựa chọn Filters Điều kiện thực hiện: Không có
− Sau khi bấm vào các nút filters hiện ra các lựa chọn.
− Bấm chọn. c Đặc tả Use case Update data
− Thay đổi chế độ hiển thị theo Filters Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Mỗi một giờ Github Actions thực hiện CI/CD. Điều kiện thực hiện: Không có
− Hệ thống tự thực hiện CI/CD mỗi giờ.
− Dữ liệu mới được cập nhật.
3.1.4.6 Đặc tả Use case Xem theo Filters a Đặc tả Use case Filters theo thời gian
Use case: Filters theo thời gian
− Xem biến động toàn bộ dữ liệu phân tích được theo thời gian chọn Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm chọn “Day” sau đó thực hiện chọn thời gian Điều kiện thực hiện: Không có
− Sau khi bấm vào nút filters “Day” hiện ra các lựa chọn.
− Thay đổi dữ liệu hiển thị theo lựa chọn. b Đặc tả Use case Filters theo thể loại Free or Paid or Both
Use case: Filters theo thể loại Free or Paid or Both
− Xem biến động toàn bộ dữ liệu phân tích được theo thể loại tính phí được chọn Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm chọn “Both” sau đó thực hiện chọn thời gian Điều kiện thực hiện: Không có
− Sau khi bấm vào nút filters “Both” hiện ra các lựa chọn.
− Thay đổi dữ liệu hiển thị theo lựa chọn. c Đặc tả Use case Filters theo thể loại game
Use case: Filters theo thể loại game
− Xem biến động toàn bộ dữ liệu phân tích được theo thể loại trò chơi được chọn Điều kiện tiên quyết:
− Hệ thống đang ở trạng thái hoạt động.
Sự kiện kích hoạt: Bấm chọn “All” sau đó thực hiện chọn một thể loại trò chơi Điều kiện thực hiện: Không có
− Sau khi bấm vào nút filters “All” hiện ra các lựa chọn.
− Thay đổi dữ liệu hiển thị theo lựa chọn.
Thiết kế cơ sở dữ liệu
Mô tả chi tiết
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 rank int Đại diện cho xếp hạng của game trong bảng xếp hạng
2 name string PK Tên game
Giá trị không âm, có thể có số thập phân
Lưu trữ giá của game
4 current_player int Giá trị không âm Đại diện cho số lượng người chơi hiện tại đang tham gia game.
5 peak_player int Giá trị không âm Đại diện cho số lượng người chơi đỉnh điểm trong game.
6 Link int Lưu trữ đường dẫn URL của game.
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 name string PK/FK Đại diện cho xếp hạng của game trong bảng xếp hạng
2 genre string Lưu trữ thể loại của game
3 description string Lưu trữ mô tả chi tiết về game
4 feature_list string Lưu trữ danh sách tính năng của game
5 supported_langu ages string Lưu trữ danh sách ngôn ngữ mà game hỗ trợ
6 release_date date Lưu trữ ngày phát hành của game.
7 developer string Lưu trữ thông tin về người phát triển game
8 publisher string Lưu trữ thông tin về người phát hành game
9 num_curators int Giá trị không âm Đại diện cho số lượng người phụ trách game.
10 num_reviews int Giá trị không âm Đại diện cho số lượng người nhận xét về game.
11 requirements string Lưu trữ yêu cầu chức năng của game.
Thiết kế giao diện
Screen Flow
❖ Ứng dụng chỉ sử dụng một màn hình giao diện chính là Dashboard để theo dõi tất cả các phân tích và các thông tin sẽ hiển thị dưới dạng biểu đồ trong các Frame được chia sẵn của ứng dụng
❖ Màn hình chính sẽ thay đổi giao diện theo các Filters.
Danh sách màn hình
Tên màn hình Chức năng
1 Màn hình Dashboard Hiển thị tất cả các biểu đồ phân tích hiện tại theo thời gian mới nhất
2 Màn hình chọn Filter Free Hiển thị phân tích theo trò chơi miễn phí
3 Màn hình chọn Filter Charged Hiển thị phân tích theo trò chơi tính phí
4 Màn hình chọn Filter thể loại Action Hiển thị phân tích theo thể loại
5 Màn hình chọn Filter theo thời gian Hiển thị phân tích theo thời gian
6 Màn hình mô tả game bằng
Hiển thị mô tả game
Mô tả chi tiết màn hình
5.3.1.1 Component UI tỷ lệ giữa trò chơi tính phí và miễn phí
5.3.1.2 Component UI bảng xếp hạng chức năng trò chơi
5.3.1.3 Component UI bảng xếp hạng trò chơi thịnh hành
5.3.1.4 Component UI bảng xếp hạng thể loại trò chơi
5.3.1.5 Component UI Biểu đồ cột thể hiện tổng người chơi của hệ thống
5.3.2 Màn hình chọn Filter Free
5.3.3 Màn hình chọn Filter Charged
5.3.4 Màn hình chọn Filter thể loại Action
5.3.5 Màn hình chọn Filter theo thời gian
5.3.6 Màn hình mô tả game bằng API của open AI