Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

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

KHOA CÔNG NGHỆ THÔNG TIN 1


----------

BÀI TẬP 01 - THU THẬP YÊU CẦU


PHÂN TÍCH THIẾT KỆ HỆ THỐNG THÔNG TIN

Giảng viên HD : Nguyễn Mạnh Hùng


Nhóm lớp học phần : 03
Nhóm bài tập lớn : 20
Tên và mã đề tài BTL : 9. Hệ thống quản lý giải cờ vua
Danh sách thành viên : Nguyễn Thị Quyên – B19DCCN542
nhóm Trịnh Trung Văn – B19DCCN710
Trần Phú Quý – B19DCCN539

- Quản lý thông tin kì thủ

Modulo cá nhân - Lên lịch thi đấu từng vòng đấu


- Xem thống kê thay đổi Elo các
kì thủ
Hà Nội, 8/2022

I. Concept exploration.
- Glossary list
TT Tên khái niệm Tên tiếng anh Giải nghĩa
Các khái niệm liên quan đến người
1 Trọng tài Referee Người giám sát trận đấu, đảm bảo
công bằng trận đấu
2 Kỳ thủ Chess player Người tham gia giải đấu
3 Ban tổ chức Organizing Người tạo ra giải đấu
(BTC) Committee
4 Quản lí (QL) Manager Người quản lí các thông tin của giải
đấu
5 Nhà tài trợ Donors Đơn vị tài trợ kính phí giải thưởng
của giải đấu
6 Phóng viên Reporter Đơn vị tường thuật diễn biến giải
đấu
7 Huấn luyện Coach Người huấn luyện kỳ thủ
viên
8 Người xem Viewer Là người xem và cập nhật kết quả
giải đấu
Các khái niệm liên quan đến đồ vật
9 Giải thưởng Prize Là phần thưởng mà người tham gia
giải đấu thắng cuộc nhận được
10 Đồng hồ The chess clock Đồng hồ cờ vua là đồng hồ có hai
màn hình hiển thị thời gian riêng
biệt, trong đó chỉ có một màn hình
hiển thị chạy tại một thời điểm. Màn
hình đồng hồ của người chơi có quân
đen sẽ tính giờ và ngược lại.
11 Bàn cờ Chessboard Là một bàn cờ gồm 64 ô vuông, 8
hàng x 8 cột, có 2 màu đen trắng xen
kẽ nhau, trên đó đặt những quân cờ.
12 Quân cờ Chessman (or Các quân cờ được chia thành 2 bộ
Chess pieces) màu khác nhau là trắng và đen. Mỗi
bộ gồm 16 quân: 1 Vua, 1 Hậu, 2
Xe, 2 Mã, 2 Tượng và 8 con Tốt.
13 Đồng xu Coin Đồng xu có thể được trọng tài sử
dụng để quyết định chia quân trắng
đen.
14 Bàn Table
15 Ghế Chair
Các khái niệm liên quan đến luật cờ vua
16 Chiến thắng Win Các trường hợp chiến thắng trong 1
ván cờ khi:
+ Chiếu hết đối phương.
+ Đối phương xin thua.
+ Đối phương hết thời gian.
17 Thua cuộc Lose Các trường hợp bị xử thua cuộc
trong 1 ván cờ khi:
+ Bị đối phương chiếu hết.
+ Xin thua.
+ Hết thời gian.
18 Hoà Draw (or Các trường hợp xử hoà trong 1 ván
Stalemate) cờ khi:
+ Hai bên thoả thuận hoà.
+ Khi các quân trên bàn cờ bị bắt hết
(Trừ quân Vua).
+ Hai bên không đủ quân để có thể
chiếu hết đối phương.
19 Lượt đi Turn Kì thủ di chuyển quân cờ của mình
từ vị trí này đến vị trí khác.
20 Chiếu vua Checkmate Khi quân Vua nằm trong ô nguy
hiểm, có thể bị bắt bởi những quân
khác của đối phương.
21 Phong cấp Promotion Là việc thay đổi quân Tốt thành 1
trong số các quân: Hậu, Xe, Mã,
Tượng. Trường hợp này xảy ra khi
quân tốt đi đến hang cuối cùng thuộc
bàn cờ của đối phương.
22 Nhập thành Castling Là nước đi đặc biệt có thể di chuyển
quân Vua và quân Xe cùng một lượt.
Các khái niệm liên quan đến thông tin
23 Điểm Elo Elo Score Người chơi được cộng 1 điểm cho
chiến thắng, 0,5 điểm cho hoà và
không có điểm nếu thua.
Các khái niệm liên quan đến hoạt động
24 Đăng ký thi Register to Các tuyển thủ đăng ký tham gia giải
đấu compete đấu
25 Xếp cặp thi đấu Competition Chia cặp các tuyển thủ thi đấu
ranking
26 Thể lệ giải đấu Tournament Các điều luật và nội dung thi đấu
Rules
27 Bảng xếp hạng Player ranking Bảng đánh giá thứ hạng các tuyển
tuyển thủ thủ trong giải đấu
28 Cập nhật kết Update Cập nhật số liệu thắng thua
quả giải đấu tournament
results
29 Thống kê thay Elo stats change Thống kê điểm elo của các tuyển thủ
đổi elo qua từng vòng đấu

II. Business model by natural language


1. Mục đích
Một trang web quản lí thông tin kì thủ, lên lịch thi đấu từng vòng đấu, xem
thống kê thay đổi Elo các kì thủ, quản lí thông tin giải đấu, cập nhật kết
quả từng vòng đấu, xem BXH kì thủ sau vòng đấu, quản lí thông tin nhà
tài trợ, kí hợp đồng tài trợ, trả thưởng cho các kì thủ của giải đấu cờ vua vô
địch thế giới.
2. Phạm vi
- Thành viên hệ thống:
• Đăng nhập
• Đăng xuất
• Thay đổi mật khẩu/thông tin cá nhân
- Quản lí (QL):
• Được thực hiện các chức năng như thành viên
• Quản lí thông tin kì thủ
• Quản lí thông tin giải đấu
• Quản lí thông tin nhà tài trợ
- Ban tổ chức (BTC):
• Được thực hiện các chức năng như thành viên
• Lên lịch thi đấu từng vòng đấu
• Cập nhật kết quả từng vòng đấu
• Xem BXH kì thủ sau vòng đấu
• Xem thống kê thay đổi Elo các kì thủ
• Kí hợp đồng tài trợ
• Trao thưởng cho các kì thủ trong giải
- Kì thủ:
• Được thực hiện các chức năng như thành viên

3. Hoạt động chi tiết các chức năng


• Modul “Quản lí thông tin kì thủ”:
- Quản lí đăng nhập vào hệ thống → Trang chủ hiện ra
- Quản lí chọn chức năng quản lí thông tin kì thủ → Giao diện
quản lí hiện ra gồm các chức năng: Thêm kì thủ, Sửa thông
tin kì thủ, Xoá kì thủ
▪ Nếu quản lí chọn chức năng Thêm kì thủ → Giao diện
hiện ra gồm các ô nhập thông tin kì thủ và nút Lưu →
Quản lí nhập đầy đủ thông tin kì thủ và nhấn Lưu →
Giao diện xác nhận hiện ra → Quản lí nhấn xác nhận
→ Quay lại giao diện quản lí chính.
▪ Nếu quản lí chọn chức năng Sửa thông tin kì thủ →
Giao diện tìm kiếm kì thủ theo tên hiện ra gồm ô nhập
tên và nút tìm kiếm → Quản lí nhập tên kì thủ và nhấn
nút tìm → Danh sách các kì thủ có tên chứa từ khoá
hiện ra → Quản lí click vào một kì thủ → Giao diện
hiện ra gồm các thông tin của kì thủ mà quản lí đã chọn
và nút Cập nhật→ Quản lí sửa những thông tin cần thay
đổi và nhấn nút Cập nhật → Giao diện xác nhận hiện ra
→ Quản lí nhấn xác nhận → Quay lại giao diện quản lí
chính.
▪ Nếu quản lí chọn chức năng Xoá kì thủ → Giao diện
tìm kiếm kì thủ theo tên hiện ra gồm ô nhập tên và nút
tìm kiếm → Quản lí nhập tên kì thủ và nhấn nút tìm →
Giao diện hiện ra gồm các thông tin của kì thủ mà quản
lí đã chọn và nút Xoá → Quản lí nhấn nút Xoá → Giao
diện xác nhận hiện ra → Quản lí nhấn xác nhận →
Quay lại giao diện quản lí chính.
• Modul “Lên lịch thi đấu từng vòng đấu”:
- BTC đăng nhập vào hệ thống → Giao diện trang chủ hiện ra
→ Chọn chức năng lên lịch thi đấu từng vòng đấu → Giao
diện xếp cặp thi đấu hiện ra → Hệ thống hiện bảng xếp hạng
hiện tại + nút Xếp lịch → BTC click nút Xếp lịch → Hệ
thống tự động xếp cặp cho các cờ thủ theo luật mô tả ở dưới,
và hiện danh sách các trận đấu theo đúng thứ tự các cặp đấu
→ BTC click Lưu → Hệ thống lưu lịch thi đấu của vòng mới
vào CSDL → Quay trở lại giao diện chính.

*Luật xếp cặp cờ vua: Bắt đầu từ vòng thứ 2, bảng xếp hạng
tạm thời sau vòng đấu trước đó được xếp theo thứ tự các tiêu
chí: tổng điểm (giảm dần), tổng điểm của các đối thủ đã gặp
(giảm dần), hệ số Elo (giảm dần). Và cặp đấu được xác định
như sau, đi từ đầu đến cuối bảng xếp hạng tạm thời, với mỗi
cờ thủ chưa có cặp, đối thủ cả cờ thủ đó là cờ thủ đầu tiên gặp
phải và thỏa mãn: chưa có cặp, và chưa gặp cờ thủ đang xem
xét.
• Modul “Xem thống kê thay đổi Elo của các kì thủ”:
- BTC đăng nhập vào hệ thống → Giao diện trang chủ hiện ra
→ Chọn chức năng thống kê thay đổi Elo của các cờ thủ →
Kết quả hiện ra danh sách thông tin các kì thủ với đầy đủ các
thông tin như: mã, tên, năm sinh, quốc tịch, hệ số Elo cũ, hệ
số Elo mới, hệ số Elo đã tăng/giảm được sắp xếp theo thứ tự
giảm dần của hệ số Elo mới → BTC click vào một kì thủ →
Hệ thống hiện lên danh sách chi tiết các trận đã đấu, mỗi trận
trên một dòng gồm các thông tin: mã, tên đối thủ, mức tăng
giảm Elo.

4. Thông tin các đối tượng liên quan cần xử lí/quản lí


• Thành viên: mã, tên đăng nhập, mật khẩu, họ tên, địa chỉ, ngày sinh,
giới tính, email, số điện thoại, quốc tịch.
• BTC: giống thành viên, có thêm chức vụ.
• Quản lí: giống ban tổ chức.
• Kì thủ: giống thành viên, có thêm hệ số Elo, mô tả.
• Vòng đấu: mã, mô tả.
• Trận đấu: mã, người chiến thắng, đối thủ, thời gian, vòng đấu nào.
5. Quan hệ giữa các thực thể liên quan
• Một kì thủ có thể tham gia thi đấu nhiều vòng, 1 vòng có nhiều kì
thủ tham gia thi đấu, nhưng tại thời điểm nhất định 1 kì thủ chỉ tham
gia 1 vòng đấu.
• Một kì thủ có thể tham gia thi đấu nhiều trận đấu, nhưng tại thời
điểm nhất định 1 kì thủ chỉ tham gia 1 trận đấu, 1 trận đấu chỉ có 2
kì thủ tham gia thi đấu.
• Một vòng đấu có nhiều trận đấu.
• Một kì thủ có nhiều hệ số Elo thay đổi qua các vòng đấu.
III. BM by technical language UML
1. Usecase tổng quan
Ta có thể đề xuất các actor của hệ thống: BTC, Quản lí, Kì thủ, Nhà tài trợ.
Tất cả đều có chức năng giống Thành viên nên kế thừa từ thành viên.
Các chức năng tương ứng với từng actor:
• Thành viên:
- Đăng nhập
- Thay đổi mật khẩu/thông tin cá nhân
• BTC:
- Lên lịch thi đấu từng vòng đấu
- Cập nhật kết quả từng vòng đấu
- Xem BXH kì thủ sau vòng đấu
- Xem thống kê thay đổi Elo các kì thủ
- Kí hợp đồng tài trợ
- Trao thưởng cho các kì thủ
• Quản lí:
- Quản lí thông tin kì thủ
- Quản lí thông tin giải đấu
- Quản lí thông tin nhà tài trợ
• Kì thủ:
- Tham gia gián tiếp vào chức năng quản lí thông tin kì thủ
• Nhà tài trợ:
- Tham gia gián tiếp vào chức năng quản lí thông tin nhà tài trợ

Biểu đồ usecase tổng quan của hệ thống được trình bày như hình trên với mô tả
như sau:
• Quản lý thông tin kì thủ: UC này cho phép QL vào hệ thống thêm, sửa,
xóa thông tin kì thủ theo yêu cầu của kì thủ tương ứng.
• Quản lý thông tin giải đấu: UC này cho phép QL vào hệ thống thêm,
sửa, xóa thông tin giải đấu.
• Quản lý thông tin nhà tài trợ: UC này cho phép QL vào hệ thống thêm,
sửa, xóa thông tin nhà tài trợ theo yêu cầu của nhà tài trợ tương ứng.
• Lên lịch thi đấu từng vòng đấu: UC này cho phép BTC vào hệ thống
lên lịch thi đấu từng vòng đấu
• Cập nhật kết quả từng vòng đấu: UC này cho phép BTC vào hệ thống
cập nhật kết quả từng trận đấu
• Xem BXH kì thủ sau vòng đấu: UC này cho phép BTC vào hệ thống
xem BXH sau các vòng đấu
• Xem thống kê thay đổi Elo các kì thủ: UC này cho phép BTC vào hệ
thống xem thống kê thay đổi Elo các kì thủ
• Kí hợp đồng tài trợ: UC này cho phép BTC vào hệ thống để kí hợp
đồng với nhà tài trợ
• Trả thưởng cho các kì thủ trong giải: UC này cho phép BTC vào hệ
thống trả thưởng cho các kì thủ

2. Usecase chi tiết


• Quản lí thông tin kì thủ:
- Đăng nhập → Đề xuất usecase Đăng nhập
- Đăng xuất → Đề xuất usecase Đăng xuất
- Thay đổi mật khẩu/thông tin cá nhân → Đề xuất usecase Thay
đổi mật khẩu/thông tin cá nhân
- Thêm kì thủ → Đề xuất usecase Thêm kì thủ
- Sửa thông tin kì thủ → Đề xuất usecase Sửa thông tin kì thủ
- Xoá kì thủ → Đề xuất usecase Xoá kì thủ
- Nhập thông tin kì thủ → Đề xuất usecase Nhập thông tin kì
thủ
- Click thêm kì thủ → Đề xuất usecase Click thêm kì thủ
- Thay đổi những thông tin cần thiết của kì thủ → Đề xuất
usecase Thay đổi những thông tin cần thiết của kì thủ
- Click cập nhật → Đề xuất usecase Click cập nhật
- Tìm và chọn kì thủ → Đề xuất usecase Tìm và chọn kì thủ
- Click xoá kì thủ → Đề xuất usecase Click xoá kì thủ
- Đăng nhập là bắt buộc mới có thể chọn được Quản lí thông
tin kì thủ
- Nếu chọn Thêm kì thủ thì bắt buộc phải nhập đầy đủ thông tin
của kì thủ và click vào xác nhận thì mới hoàn thành được việc
Thêm kì thủ.
- Nếu chọn Sửa thông tin kì thủ thì bắt buộc phải tìm kiếm và
chọn kì thủ, nhập một số thông tin mới của kì thủ và click vào
cập nhật thì mới hoàn thành được việc Sửa thông tin kì thủ
- Nếu chọn Xoá kì thủ thì bắt buộc phải tìm kiếm và chọn kì
thủ và click vào xóa kì thủ thì mới hoàn thành được việc Xoá
kì thủ
Các UC được mô tả như sau:

- Thêm kì thủ: cho phép QL thêm 1 kì thủ


- Nhập thông tin kì thủ: cho phép QL nhập thông tin của 1 kì thủ
- Sửa thông tin kì thủ: cho phép QL sửa thông tin kì thủ
- Xoá kì thủ: cho phép QL xoá thông tin kì thủ
- Tìm và chọn kì thủ: cho phép QL tìm kiếm kì thủ theo tên và
chọn kì thủ.

• Lên lịch thi đấu từng vòng đấu


- Đăng nhập → Đề xuất usecase Đăng nhập
- Đăng xuất → Đề xuất usecase Đăng xuất
- Xem BXH các kì thủ hiện tại và click xếp lịch → Đề xuất
usecase Xem BXH và click Xếp lịch
- Click lưu → Đề xuất usecase Click Lưu.
- Đăng nhập là bắt buộc mới có thể chọn được Lên lịch thi đấu
cho từng vòng đấu
Các UC được mô tả như sau:
- Xem BXH và click Xếp lịch: cho phép BTC lên lịch thi đấu
cho từng vòng đấu theo luật của BTC
- Click Lưu: Lưu thông tin vào Database

• Xem thống kê thay đổi Elo các kì thủ


- Đăng nhập → Đề xuất usecase Đăng nhập.
- Đăng xuất → Đề xuất usecase Đăng xuất.
- Hiển thị danh sách các kì thủ và chọn 1 kì thủ → Đề xuất
usecase Hiển thị danh sách các kì thủ và chọn 1 kì thủ
- Đăng nhập là bắt buộc mới có thể chọn được Xem thống kê
thay đổi Elo các kì thủ
Các UC được mô tả như sau:
- Hiển thị danh sách các kì thủ và chọn 1 kì thủ: Cho phép BTC
xem danh sách thông tin các kì thủ với đầy đủ các thông tin
như: mã, tên, năm sinh, quốc tịch, hệ số Elo cũ, hệ số Elo
mới, hệ số Elo đã tăng/giảm được sắp xếp theo thứ tự giảm
dần của hệ số Elo mới và click vào một kì thủ
- Hiển thị các trận đã đấu và sự thay đôi hệ số Elo của kì thủ đã
chọn: Cho phép BTC xem chi tiết các trận đã đấu, mỗi trận
trên một dòng gồm các thông tin: mã, tên đối thủ, mức tăng
giảm Elo của kì thủ đã chọn

You might also like