Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN


 
 

   
BÁO CÁO BÀI TẬP LỚN
                                  
MÔN HỌC : LẬP TRÌNH MẠNG

                 Chủ đề : Game cờ vua thi đấu đối kháng online

Giảng viên : Thầy Nguyễn Hoàng Anh


Nhóm môn học: 5 Nhóm bài tập lớn: 10

Sinh viên thực hiện:

Nguyễn Tuấn Thành B17DCAT168


Vũ Ngọc Hiển B17DCAT067
Trần Việt Huy B17DCCN326
Đinh Quang Linh B17DCCN371
 
 
 
 
 
Hà Nội  2020

1
DANH MỤ C
PHÂN CÔNG CÔNG VIỆC..............................................................................................................................2
TỪ VIẾT TẮT.................................................................................................................................................3
DANH SÁCH HÌNH VẼ...................................................................................................................................3
1. GIỚI THIỆU GAME: Game cờ vua thi đấu đối kháng online.................................................................5
I. PHÂN TÍCH YÊU CẦU ĐỀ BÀI.......................................................................................................6
1. Mô tả bài toán:.................................................................................................................................6
2. Phía Client:......................................................................................................................................6
3. Phía Server:.....................................................................................................................................6
4. Phạm vi phần mềm:.........................................................................................................................6
II. PHÂN TÍCH THIẾT KẾ TỔNG QUAN HỆ THỐNG........................................................................6
1. Các tác nhân (actor) tác động vào hệ thống.....................................................................................7
2. Các chức năng (use case).................................................................................................................7
III. PHÂN TÍCH THIẾT KẾ CHI TIẾT HỆ THỐNG...........................................................................7
A. Sơ đồ khối các chức năng của Client và Server...............................................................................7
B. Biểu đồ Use case..............................................................................................................................8
C. Use case chi tiết...............................................................................................................................8
1. Đăng nhập....................................................................................................................................8
2. Đăng ký.......................................................................................................................................9
3. Xem đanh sách online................................................................................................................10
4. Thách đấu..................................................................................................................................11
5. Chơi game..................................................................................................................................12
6. Xem bảng xếp hạng.......................................................................................................................13
D. Biểu đồ class..................................................................................................................................14
1. Phía Client.................................................................................................................................14
2. Phía Server.................................................................................................................................14
E. Biểu đồ tuần tự..............................................................................................................................15
Kết nối socket....................................................................................................................................15
Đăng ký.............................................................................................................................................15
Đăng nhập..........................................................................................................................................16
Xem danh sách online........................................................................................................................16
Gửi yêu cầu thách đấu.......................................................................................................................17
Chơi game.........................................................................................................................................17

2
Xem rank...........................................................................................................................................18
F. Sơ đồ quan hệ thực thể (ER)..........................................................................................................18
IV. KẾT QUẢ ỨNG DỤNG................................................................................................................19
V. CẤU TRÚC THƯ MỤC.........................................................................................................................20

3
PHÂN CÔNG CÔNG VIỆC

Nhiệm vụ
Họ và tên

-Phụ trách chức năng đăng nhập


- hỗ trợ làm báo cáo
Vũ Ngoc Hiển
-Vẽ biểu đồ tuần tự

- Code chính và phụ trách chức năng thách đấu và


Trần Việt Huy chơi game
- code các hàm liên quan đến client và server

- làm usecase
-Phân tích hệ thống
Nguyễn Tuấn Thành
- Làm báo cáo

- vẽ biểu đồ lớp
Đinh Quang Linh
-vẽ biểu đồ thực thể ER

TỪ VIẾT TẮT

4
TCP Transmission Control Protocol

MVC Model,View,Control

DANH SÁCH HÌNH VẼ

STT Hình vẽ Ý nghĩa, nhiệm vụ

Tác nhân(actor):là người dùng của hệ thống, một


tác nhân có thể là một người dùng thực hoặc các
1
hệ thống máy tính khác có vai trò nào đó trong
hoạt động của hệ thống.

Các use case: Đây là thành phần cơ bản của biểu


2 đồ use case. Tên các use case thể hiện một chức
năng xác định của hệ thống.

Association: thường được dùng để mô tả mối


quan hệ giữa Actor và Use Case và giữa các Use
3 Case với nhau

5
Include: là quan hệ giữa các Use Case với nhau,
nó mô tả việc một Use Case lớn được chia ra
4 thành các Use Case nhỏ để dễ cài đặt (module
hóa) hoặc thể hiện sự dùng lại.

Extent: Extend dùng để mô tả quan hệ giữa 2


Use Case. Quan hệ Extend được sử dụng khi có
một Use Case được tạo ra để bổ sung chức năng
5 cho một Use Case có sẵn và được sử dụng trong
một điều kiện nhất định nào đó.

Generalization: được sử dụng để thể hiện quan


hệ thừa kế giữa các Actor hoặc giữa các Use
6 Case với nhau.

1. GIỚI THIỆU GAME: Game cờ vua thi đấu đối kháng


online
1. Hệ thống có một server và nhiều client. Server lưu toàn bộ thông tin và dữ
liệu.

6
2. Để chơi, người chơi phải login vào tài khoản của mình từ một máy client.
Sau khi login thành công, giao diện hiện lên một danh sách các người chơi
đang online, mỗi người chơi có các thông tin: tên, tổng số điểm hiện có của
người chơi, trạng thái (hoặc đang bận nếu đang chơi với người khác, hoặc
đang rỗi nếu không chơi với ai).

3. Muốn mời (thách đấu) ai thì người chơi click vào tên của đối thủ đó trong
danh sách online.

4. Khi bị thách đấu, người chơi có thể chấp nhận (OK), hoặc từ chối (Reject).

5. Khi chấp nhận, 2 người chơi sẽ vào chơi với nhau, và server sẽ làm trọng tài.
Giao diện chơi gồm bàn cờ và nút thoát.

6. Người thách đấu sẽ nhận quân đen và đi sau, người bị thách đấu sẽ nhận
quân trắng và đi trước. Sau mỗi ván, thứ tự đi sẽ đổi ngược lại. Mỗi nước đi
mỗi người có 30s để đi.

7. Sau mỗi nước đi, server sẽ kiểm tra xem ai thắng và gửi kết quả về cho cả 2
đối thủ: thắng 1 điểm, hòa 0.5 điểm, thua 0 điểm. Nếu chưa có ai thắng thì
để cho 2 đối thủ chơi tiếp.

8. Sau mỗi ván, đều có dialog hỏi mỗi người chơi có muốn tiếp tục không. Nếu
cả hai tiếp tục thì chơi tiếp, nếu một trong hai đối thủ dừng chơi thì thoát ra
và server báo cho người chơi còn lại.

9. Kết quả các trận đấu được lưu vào server. Mỗi người chơi đều có thể vào
xem bảng xếp hạng các người chơi trong toàn bộ hệ thống, theo lần lượt các
tiêu chí: tổng số điểm (giảm dần), trung bình điểm của các đối thủ đã gặp
(giảm dần), trung bình số nước đi trong các trận thắng (tăng dần), trung bình
số nước đi trong các trận thua (giảm dần).

I. PHÂN TÍCH YÊU CẦU ĐỀ BÀI


1. Mô tả bài toán:

7
Hệ thống có 1 Server và nhiều Client. Server sẽ lưu toàn bộ thông tin
và tài liệu.

2. Phía Client:
 Để chơi được thì người chơi phải login vào tài khoản của mình
từ một máy Client. Sau khi login thành công thì giao diện hiện
lên những người chơi đang online.
 Để thách đấu người chơi khác thì double click vào tên người đó
trong danh sách người chơi online.
 Khi đươc thách đấu thì người chơi có thể chấp nhận hoặc từ
chối.
 Khi chấp nhận hai đối thủ sẽ chơi với nhau và server làm trọng
tài. Giao diện bàn cờ vua được show ra cho 2 máy Client đánh
cờ với nhau.
 Người chơi có thể xem bảng xếp hạng theo tổng số điểm.

3. Phía Server:
 Server sẽ gửi đến cho 2 đối thủ một bàn cờ để 2 người đánh cờ
với nhau. Mỗi người chơi đánh theo lượt chơi của mình.
 Sau mỗi lượt đánh server sẽ kiểm tra xem họ đánh có đúng luật
không.
 Sau mỗi trận server sẽ kiểm tra ai thắng và gửi kết quả cho
người chơi và cập nhật lại điểm trên bảng rank .
 Nếu một trong 2 đối thủ mà dừng chơi thoát ra thì server sẽ
thông báo chiến thắng cho người còn lại.
 Kết quả mỗi trận đấu được lưu vào server.

4. Phạm vi phần mềm:


 Game cho phép những người chơi trong cùng mạng LAN có thể
thi đấu được với nhau.
II. PHÂN TÍCH THIẾT KẾ TỔNG QUAN HỆ THỐNG
1. Các tác nhân (actor) tác động vào hệ thống.
- Người chơi (player).
2. Các chức năng (use case).
U1-Đăng ký: Người chơi đăng ký tài khoản để có thể đăng nhập được
vào hệ thống.

8
U2-Đăng nhập: Người chơi đăng nhập vào hệ thống.
U3-Thoát: Người chơi không muốn sử dụng hệ thống có thể thoát
khỏi hệ thống.
U4-Chọn đối thủ: Người chơi chọn đối thủ để thách đấu.
U5-Thách đấu: Người chơi sau khi chọn được đối thủ thì sẽ tiến hành
thách đấu.
U6- Từ chối: Khi nhận được lời mời thách đầu, người chơi có thể
dừng chơi.
U7-Chấp nhận: Khi nhận được lời mời thách đấu thì người chơi chấp
nhận để chơi.
U8- Dừng chơi: Trong quá trình chơi game, người chơi có thể dừng
chơi.
U9-Xem bảng xếp hạng: Người chơi sau khi đăng nhập có thể xem
bảng xếp hạng người chơi.

III. PHÂN TÍCH THIẾT KẾ CHI TIẾT HỆ THỐNG


A. Sơ đồ khối các chức năng của Client và Server
1. Phía Client

2. Phía Server

9
B. Biểu đồ Use case

C. Use case chi tiết


1. Đăng nhập

10
Use case Nội dung
Đăng nhập
Tên use case

Cho phép người dùng đăng nhập vào để tham


Mô tả gia chơi game.

Người chơi
Actor

Người chơi chưa đăng nhập và nhấn nút đăng


Điều kiện kích hoạt nhập trên ứng dụng game

Tiền điều kiện Người dùng đã đăng ký thành công tài khoản
Hậu điều kiện Người dùng đăng nhập thành công

1. Hệ thống hiển thị form đăng nhập.


2. Người dùng nhập thông tin tài khoản (Bao
gồm tên tài khoản và mật khẩu).
3. Nhấn nút đăng nhập.
4. Hệ thống kiểm tra thông tin người dùng đã
Luống sự kiện chính nhập trên cơ sở dữ liệu.
5. Nếu thông tin chính xác và tồn tại trên hệ
thống sẽ hiển thị thông báo đăng nhập thành
công.
6. Tạo session cho phiên đăng nhập.
7. Đưa người dùng vào giao diện chính.

Luồng 1: Tài khoản hoặc mật khẩu không


chính xác: Khi người dùng nhập thông tin tài
khoản không tồn tại trong hệ thống :
Luồng sự kiện phụ
1.Hiển thị thông báo về lỗi đăng nhập (Sai tên
tài khoản hoặc mật khẩu)
2.Quay lại bước 2 trong luồng sự kiện chính.

11
2. Đăng ký

Use case Nội dung


Đăng ký
Tên use case

Cho phép người dùng đăng ký tạo tài khoản


Mô tả

Người chơi
Actor

Người chơi chưa có tài khoản và muốn đăng ký


Điều kiện kích hoạt tài khoản để chơi cờ

Tiền điều kiện Người dùng chưa có tài khoản


Hậu điều kiện Người dùng đăng ký thành công

1. Hệ thống hiển thị form đăng ký.


2. Người dùng nhập thông tin tài khoản (Bao
gồm tên tài khoản và mật khẩu).
3. Nhấn nút đăng ký.
4. Hệ thống kiểm tra thông tin người dùng đã
Luống sự kiện chính
nhập.
5. Nếu thông tin chưa có trên hệ thống sẽ hiển
thị thông báo đăng ký thành công.
6. Tạo session cho phiên đăng ký.
7. Đưa người dùng vào giao diện đăng ký.

Luồng sự kiện phụ Luồng 1: Tài khoản hoặc mật khẩu đã tồn tại:
Khi người dùng nhập thông tin tài khoản đã
tồn tại trong hệ thống :
1.Hiển thị thông báo về lỗi đăng ký ( tên tài
khoản hoặc mật khẩu đã tồn tại)

12
2.Quay lại bước 2 trong luồng sự kiện chính.

3. Xem đanh sách online


Use case Nội dung
Tên use case Xem dach sách online
Mô tả Cho phép người chơi xem danh sách những
người chơi đang online trong hệ thống
Actor Người chơi.
Điều kiện kích hoạt Người chơi chọn xem danh sách những người
online
Người chơi đã đăng nhập thành công vào hệ
Tiền điều kiện
thống
Người dùng xem được danh sách những
Hậu điều kiện
người đang online trong hệ thống
    1. Người chơi click vào button hiển thị danh
sách những người online trên giao diện hệ
thống.

    2. Màn hình hiển thị bảng danh sách những


Luống sự kiện chính người chơi đang online trên hệ thống.

Luồng sự kiện phụ Không có.

4. Thách đấu
Use case Nội dung
Tên use case Thách đấu

13
Mô tả Cho phép người chơi thách đấu hoặc nhận lời
mời
Actor Người chơi.
Điều kiện kích hoạt Người chơi xem được danh sách những
người chơi đang online
Người chơi đã đăng nhập thành công vào hệ
thống và trong danh sách người chơi đang
Tiền điều kiện
online có 1 người đang trống chưa bắt cặp với
ai
Người chơi thách đấu hoặc nhận lời thách đấu
Hậu điều kiện
thành công đến từ một người chơi đang online
    1.Người chơi ấn chon vào một đối thủ trên
bảng danh sách những người chơi đang online
hiển thị trên bảng dánh sách.

    2. Hệ thống lắng nghe và chuyển lời thách đấu


Luống sự kiện chính đến đối thủ được chọn.

3.Nếu đối thủ đồng ý hệ thống sẽ thông báo


thành công.

Luồng sự kiện phụ

5. Chơi game.
Use case Nội dung
Tên use case Chơi game
Mô tả Cho phép người chơi đánh cờ với đối thủ
Actor Người chơi.
Điều kiện kích hoạt Người chơi thách đấu thành công được với
đối thủ.
Tiền điều kiện Người chơi đã đăng nhập thành công vào hệ
14
thống và trong danh sách người chơi đang
online có 1 người đang trống chưa bắt cặp với
ai
Người chơi thách đấu hoặc nhận lời thách đấu
Hậu điều kiện
thành công đến từ một người chơi đang online
    1.Người chơi ấn chọn vào một đối thủ trên
bảng danh sách những người chơi đang online
hiển thị trên bảng dánh sách.

    2. Hệ thống lắng nghe và chuyển lời thách đấu


Luống sự kiện chính đến đối thủ được chọn.

3.Nếu đối thủ đồng ý hệ thống sẽ thông báo


thành công.

Luồng sự kiện phụ

6. Xem bảng xếp hạng


Use case Nội dung
Tên use case Xem bảng xếp hạng
Cho phép người chơi xem được thứ hạng của
Mô tả mình trong danh sách những người chơi
tham gia
Actor Người chơi.
Điều kiện kích hoạt Người chơi chọn xem danh sách những người
online
Người chơi đã đăng nhập thành công vào hệ
Tiền điều kiện
thống
Hậu điều kiện Màn hình hiển thị bảng xếp hạng người chơi

15
    1. Người chơi click vào button hiển thị bảng
xếp hạng.

    2. Màn hình hiển thị bảng rank.

Luống sự kiện chính

Luồng sự kiện phụ Không có.

D. Biểu đồ class
1. Phía Client

2. Phía Server

16
E. Biểu đồ tuần tự

Kết nối socket

Đăng ký

17
Đăng nhập

Xem danh sách online

18
Gửi yêu cầu thách đấu

Chơi game

19
Xem rank

F. Sơ đồ quan hệ thực thể (ER)

20
IV. KẾT QUẢ ỨNG DỤNG

21
V. CẤU TRÚC THƯ MỤC

22
23

You might also like