You are on page 1of 9

ĐỀ TÀI: QUẢN LÍ NỀN TẢNG TẢI GAME TRỰC TUYẾN

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


Trong thời đại công nghệ số ngày nay, cùng với sự phát triển của ngành công nghiệp trò

chơi, nhu cầu giải trí và thư giãn của người dùng ngày càng tăng cao. Tuy nhiên, để xây dựng và

quản lý một nền tảng tải game trực tuyến hiệu quả không chỉ đơn giản là cung cấp các trò chơi mà

còn đặt ra nhiều thách thức và yêu cầu.

Trong bối cảnh này, đồ án "Ứng dụng tải game trực tuyến" được đặt ra nhằm tìm hiểu và

phát triển một hệ thống hoàn chỉnh cho việc tải và trải nghiệm các trò chơi trực tuyến. Đồ án nhằm

mục tiêu tạo ra một môi trường trò chơi an toàn, đáng tin cậy và phong phú cho người dùng, đồng

thời cung cấp cho nhà phát triển cơ hội để phát triển và phân phối các sản phẩm của mình.

Tuy nhiên, để thực hiện điều này, đồ án đặt ra một số thách thức cần được giải quyết:

 Thiết kế một giao diện người dùng thân thiện và dễ sử dụng, giúp người dùng dễ dàng
 tìm kiếm, tải và chơi các trò chơi.
 Xây dựng hệ thống quản lý người dùng hiệu quả, bao gồm chức năng đăng ký, đăng
 nhập, quản lý tài khoản và bảo mật thông tin cá nhân.
 Phát triển một cơ sở dữ liệu lớn để lưu trữ thông tin về các trò chơi, người dùng, giao
 dịch và nhiều hơn nữa.
 Xây dựng một hệ thống thanh toán an toàn và linh hoạt cho việc mua và nạp game.
 Thiết kế quy trình kiểm duyệt chặt chẽ để đảm bảo chất lượng và an toàn của các trò
 chơi trên nền tảng.
 Phát triển các tính năng cộng đồng như xếp hạng thành viên, đánh giá và bình luận
 game để tạo ra một cộng đồng trò chơi sôi động và tích cực.

Với những thách thức và yêu cầu được đặt ra, đồ án "Ứng dụng tải game trực tuyến" hứa

hẹn mang lại những giải pháp sáng tạo và hiệu quả để xây dựng một nền tảng trò chơi trực tuyến

đáng tin cậy và phong phú, đồng thời mang lại trải nghiệm giải trí tuyệt vời cho người dùng.

CHƯƠNG 2: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ


I. Phát biểu bài toán
• Hệ thống mới cho phép người chơi tải và quản lí các trò chơi điện tử từ một ứng dụng trên máy

tính.

• Hệ thống sẽ lưu trữ cơ sở dữ liệu về danh sách các trò chơi có sẵn, bao gồm thông tin chi tiết
như tên trò chơi, nhà phát triển, thể loại, và đánh giá từ người dùng.

• Người dùng có thể duyệt qua danh sách các trò chơi có sẵn, xem thông tin chi tiết về từng trò
chơi, bao gồm cả mô tả, hình ảnh và video minh họa.
• Người dùng có thể tìm kiếm trò chơi theo các tiêu chí như thể loại, đánh giá, hoặc tên trò chơi.

• Người chơi có thể tải các trò chơi mà họ muốn chơi xuống thiết bị của mình thông qua cửa
hàng hệ thống. Hệ thống sẽ cung cấp quy trình thanh toán để mua trò chơi nếu cần.

• Sau khi tải xuống, người chơi có thể chơi trò chơi mà họ đã mua trực tiếp từ ứng dụng.

• Hệ thống phải bảo đảm tính bảo mật của thông tin tài khoản và giao dịch thanh toán của người
dùng thông qua các biện pháp bảo mật hiện đại.

•Nhà phát triển có thể đăng tải trò chơi lên nền tảng sau khi thông qua khâu kiểm duyệt của hệ
thống.

• Nhà phát triển trò chơi có thể tham gia vào hệ thống để đăng ký và quản lí trò chơi của mình,
bao gồm việc cập nhật, phát hành bản mới, và theo dõi số lượng người chơi.

• Hệ thống cũng cần cung cấp cơ chế hỗ trợ cho việc giải quyết các vấn đề kỹ thuật hoặc hỗ trợ
khách hàng khi người dùng gặp sự cố trong quá trình tải xuống hoặc chơi trò chơi.

•Hệ thống cung cấp các công cụ giúp người dùng có thể theo dõi được các số liệu thực tế như là
doanh số, số lượt tải game, tổng hợp đánh giá từ người dùng

II. Bảng chú giải


1. Admin(Quản trị viên): Người quản lý toàn bộ hệ thống, có quyền truy cập và kiểm soát tất
2. cả các chức năng.
3. Member(Thành viên): Người dùng thông thường có thể tải game, bình luận, đánh giá và
4. thực hiện các hoạt động khác trên nền tảng.
5. Developer(Nhà phát triển): Các cá nhân hoặc tổ chức phát triển và phát hành game trên
6. nền tảng.
7. Login (Đăng nhập): Quy trình xác thực người dùng để truy cập vào hệ thống.
8. Game (Trò chơi): Các ứng dụng giải trí có thể được tải và chơi trong ứng dụng.
9. Rating (Đánh giá): Hành động đánh giá trò chơi hoặc thành viên dựa trên trải nghiệm cá
10. nhân.
11. Comment (Bình luận): Ý kiến hoặc đánh giá về trò chơi.
12. Public Game(Phát hành trò chơi): Nhà phát triển có thể phát hành trò chơi của mình lên nền tảng
13. Submit Game: Đăng tải trò chơi lên hệ thống để thực hiện khâu kiểm duyệt trò chơi
14. Kiểm duyệt game: Quy trình đánh giá và phê duyệt các trò chơi mới trước khi chúng được phát
hành hoặc công bố trong ứng dụng.
15. Balance (Số dư tài khoản): Đơn vị tiền tệ được sử dụng để mua hoặc trao đổi các sản phẩm
hoặc dịch vụ trong ứng dụng.
16. Hệ thống nạp thẻ: Cơ chế cho phép người dùng nạp tiền vào tài khoản của họ thông qua việc
nhập mã thẻ hoặc thông qua các phương tiện thanh toán điện tử.
17. Xếp hạng thành viên: Bảng xếp hạng hoặc hạng cao thấp của các thành viên dựa trên hoạt động
hoặc đóng góp trong cộng đồng hoặc trong ứng dụng.

III Mô tả dữ liệu hệ thống


III.1 Mô hình dữ liệu quan hệ hệ thống quản lý nền tảng mua game trực tuyến

III.2 Mô hình dữ liệu mức vật lý hệ thống quản lý nền tảng mua game trực tuyến

1.1 Mô tả dữ liệu quan hệ


1. Users(user_id,username,last_name,first_name,date_of_birth,password,role,status,last_login,ema
il,balance)
2. Developers(developer_id,user_id,developer_name,email,phone_number,note,
revenue_accumulated)
3. Games(game_id,game_name,dev_id,description,rating,release_day,age_limit,downloaded,game
_size ,price)
4. Payment(payment_id,user_id,date_create,sub_total,discounted_total,grand_total)
5. Code_game(code_id,code_number,expire_date,date_create,value,status)
6. Game_review(review_id,game_id,user_id,rating,comment_text,date_create,
game_revenue)
7. Approval_process(submit_id,game_id,developer_id,aproval_status,
submission_date,approval_date)
8. Genres(genre_id,genre_name)
9. Discount(discount_id,game_id,discount_rate, start_date, end_date,description)
10. Coupon(coupon_id,coupon_number,value,date_create,status)
11. Payment_detail(payment_id,game_id,total)
12. Library(user_id,game_id,date_modified)
13. Game_category(game_id,genre_id)

1.2 Các ràng buộc của hệ thống


1. R1 : " password phải có ít nhất 8 kí tự "

RBTV miền giá trị


Bối cảnh : Users
 u  Users : LENGTH( u.password) >= 8

R1 Thêm Xóa Sửa


Users + - +(password)

2. R2: “ 2 Users không thể có cùng usename ”

RBTV miền giá trị


Bối cảnh : Users
 u1,u2  Users : u1.username  u2.username

R2 Thêm Xóa Sửa


Users + - +(usename)

3. R3 : “ Giá sau khi giảm phải thấp hơn giá gốc”

RBTV miền giá trị

Bối cảnh : Payment

 p  Payment : p.discounted_total < p. sub_total

R3 Thêm Xóa Sửa


Developers + - +( discount/subtotal)

4. R4 : “ User có status là inactive thì không thể mua hàng ”

RBTV chu trình

Bối cảnh : User,payment

∀ p ∈ Payment ∃ u ∈ User (p.user_id = u.id ∧ u.status != 'inactive')


R4 Thêm Xóa Sửa
user - - +( status)
payment + - +(user_id)

5. R5 : “ User có tuổi nhỏ hơn giới hạn độ tuổi của game thì không được phép mua game”

RBTV chu trình

Bối cảnh : User,payment_detail_game

∀ pd ∈ Payment_detail ∃ u ∈ User ∃ g ∈ Game (pd.game_id = g.game_id ∧ u.user_id =


pd.user_id ∧ YEAR(TODAY()) - YEAR(u.date_of_birth) < g.age_rating)

R5 Thêm Xóa Sửa


user - - +(date_of_birth)
Payment_detail + - +(user_id)
game - - +(age_rating)

6. R6 : “ 1 bình luận không thể quá 500 kí tự ”

RBTV miền giá trị

Bối cảnh : review

 r  Game_review : LENGTH(r. comment) >= 500

R6 Thêm Xóa Sửa


Game_review + - +( comment)
7. R7:”1 Coupon chỉ được sử dụng một lần”

RBTV chu trình

Bối cảnh: coupon,payment

∀ c ∈ Coupon (c.status = 'used' ⇒ ∀ p ∈ Payment (p.coupon_id ≠ c.coupon_id))

R7 Thêm Xóa Sửa


Coupon - - +(status)
Payment + - +(coupon_id)
8.R8: “Các mã coupon không được trùng nhau”

RBTV miền giá trị

Bối cảnh: coupon

 cp1,cp2  Coupon : cp1.coupon_number  cp2.coupon_number

R8 Thêm Xóa Sửa


Coupon + - +(coupon_number)
9.R9: “Các mã thẻ cào không được trùng nhau”

RBTV miền giá trị

Bối cảnh: code_game


 c1,c2  Code_game : c1.code_number  c2.code_number

R9 Thêm Xóa Sửa


Code_game + - +(code_number)

10.R10 “Giá trị đơn hàng phải bằng tổng giá trị các chi tiết đơn hàng”

RBTV liên bộ

Bối cảnh: payment, payment_detail

∀ p ∈ Payment ∃ T ⊆ Payment_detail (p.payment_id = T.payment_id ∧ Σ(T.total) = p.subtotal)

R10 Thêm Xóa Sửa


payment - - +(subtotal)
Payment_detail + + +(total)

11.R11 “Ngày bắt đầu hoặc kết thúc của sự kiện giảm giá phải từ ngày hôm nay hoặc tương lai và ngày
bắt đầu phải nhỏ hơn ngày kết thúc”

RBTV liên thuộc tính

Bối cảnh: Discount

∀ d ∈ Discount (d.start_date >= CURRENT_DATE ∧ d.end_date >= CURRENT_DATE ∧


d.end_date > d.start_date)

R11 Thêm Xóa Sửa


Discount + - +(start_date,end_date)

12.R12 “Giá trị đơn hàng phải bằng tổng giá trị các chi tiết đơn hàng”

RBTV liên bộ

Bối cảnh: Game,Developer

∀ d ∈ Developer ∃ g ⊆ Games (d.developer_id = g.developer_id ∧ Σ(g.revenue) =


d.revenue_accumulated)

R12 Thêm Xóa Sửa


Game - - +(revenue)
developer - + +(revenue_accumulated)
1.3 Stored procedure
Các procedure trong hệ thống
STT Tên Tham số đầu vào Tham Ý nghĩa Ghi chú
số
đầu
ra
1 Code_generate par_Quantity number, Tự động tạo các code
code_value, game trong hệ thống
2 ACC_STATUS_EDIT_REC Par_user_id varchar2 Cập nhật lại trạng thái tài
ORD khoản
3 ACC_INSERT_RECORD Par_user_name varchar2 Tạo mới tài khoản người
Par_user_id varchar2 dùng
Par _password varchar2
Par_role varchar2
Par_last_name varchar2
Par_first_name
Par_date_of_birth
4 ACC_UPDATE_PASSWOR Par_user_id Đặt lại mật khẩu
D Par_oldPassword
Par_newPassword
5 ACC_ROLE_UPDATE_RE Par_user_id Cập nhật thông tin người
CORD Par_role dùng
6 DEV_INSERT_RECORD Par_developer_id Tạo mới tài khoản nhà
Par_developer_name phát triển
Par_email
Par_phone_number
7 COUPON_GENERATE Par_quantity_number Tự động tạo mã coupon
8 GAME_SUBMIT Par_developer_id Tạo mới thông tin đăng
Par_game_id ký kiểm duyệt game
Submission_date
9 GAME_PUBLIC Developer_id Tạo mới thông tin đăng
Game_id tải game lên hệ thống
10 GAME_INSERT_RECORD Par_game_id varchar2, Tạo mới thông tin game
Par game_game_name
varchar2,
Par_description
varchar2,
Par_dev_id varchar2,
Age_limit int,
Game_size,
price
11 CODE_GAME_ code_id varchar2, Tạo mới thông tin sử
TRANSACTION user_id varchar2, dụng code game

12 COUPON_USE_UPDATE Coupon_id Cập nhật thông tin


coupon đã được sử dụng
13 PAYMENT_INSERT_RECO User_id, Tạo mới thông tin hóa
RD Subtotal đơn
14 PAYMENT_DETAIL_ Payment_id, Tạo mới thông tin chi tiết
INSERT_ Game_id hóa đơn
RECORD
15 PAYMENT_UPDATE_REC PAYMENT_ID varchar2, Cập nhật thông tin hóa
ORD Subtotal, đơn
Coupon_id
16 REVIEW_INSERT_RECOR Review_id varchar2, Tạo mới đánh giá
D User_id varchar2,
Game_id varchar2,
Comment_text text,
Date_create date_time,
Rating int
17 REVIEW_UPDATE_RECO Review_id varchar2, Cập nhật đánh giá
RD Comment_text text
Rating int,
18 REVIEW_DELETE_RECO Review_id varchar2 Xóa đánh giá
RD
19 GENRE_INSERT_RECOR Genre_id varchar 2 Tạo mới thể loại game
D ,genre_name varchar 2
20 GENRE_UPDATE_RECOR Genre_id varchar2, Cập nhật thể loại game
D Genre_name varchar 2
21 GENRE_DELETE_RECOR Genre_id varchar 2 Xóa thể loại game
D
22 DISCOUNT_INSERT_REC Discount_id varchar2, Tạo mới chương trình
ORD Game_id varchar2, giảm giá
Discount_rate float,
Start_date date_time,
End_date datetime
23 DISCOUNT_UPDATE_REC Discount_id varchar2, Cập nhật chương trình
ORD Game_id varchar2, giảm giá
Discount_rate float,
Start_date date_time,
End_date datetime
24 DISCOUNT_DELETE_REC Discount_id varchar2 Xóa chương trình giảm
ORD giá
25 LAST_LOGIN_UPDATE User_id varchar 2, Cập nhật lần đăng nhập
Last_login date_time gần nhất của người dùng
26 LIBRARY_INSERT_RECO User_id varchar 2, Tạo mới thư viện người
RD dùng
27 LIBRARY_UPDATE_RECO User_id varchar 2, Cập nhật thư viện người
RD dùng
28 LIBRARY_INSERT_GAME User_id varchar 2, Thêm game vào thư viện
Game_id varchar 2, người dùng
Date_create date_time
29 GAME_CATEGORY_ADD_ Game_id varchar 2, Cập nhật thêm thể loại
RECORD Genre_id varchar2 cho game

30 GAME_CATEGORY_ Game_id varchar 2, Cập nhật xóa thể loại cho


REMOVE_RECORD Genre_id varchar2 game

31 STAT_USER_GAME_DOW User_id varchar2 Thống kê số game đã tải


NLOAD
32 STAT_USER_SPEND User_id varchar2 Thống kê số tiền đã sử
dụng
33 STAT_GAME_REVENUE Game_id varchar2 Thống kê doanh thu bán
game
34 STAT_GAME_RATING Game_id varchar2 Thống kê đánh giá game
35 STAT_GAME_DOWNLOAD Game_id varchar2 Thống kê lượt tải game
ED
36 STAT_DEVELOPER_GAM Develop_id varchar2 Thống kê doanh thu của
ES_REVENUE nhà phát triển
37 STAT_GAME_REVENUE_ Genre_id varchar2 Thống kê doanh thu
GENRE game theo thể loại
38 STAT_USER_SPEND User_id varchar2 Thống kê số tiền người
dùng đã nạp vào hệ
thống
39 STAT_GAME_QUARTERLY Game_id varchar2, Thống kê doanh thu của
_REVENUE Quarter int game theo quý
40 STAT_DEV_QUARTERLY_ Dev_id varchar2, Thống kê doanh thu của
REVENUE Quarter int nhà phát triển theo quý

You might also like