Xem các thông tin cá nhân của cờ thủ − Nhân viên quản lí cờ thủ đăng nhập username, password → Giao điện của nhân viên cờ thủ giải đấu có các lưạ chọn: + Xem thông tin về giải đấu + Thố
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Môn Học: Nhập Môn Công Nghệ Phần Mềm
Trang 2I Glossary List Error! Bookmark not defined
II Business Model 5
1 Mục đích và phạm vi 5
2 Ai làm được gì cho hệ thống 5
3 Các chức năng hoạt động như thế nào 6
4 Hệ thống xử lý các thông tin gì về đối tượng? 12
5 Mối quan hệ giữa các thông tin cần sử lí 13
III Use case……….14
1 Use case tổng quát……… 14
2 Use case chi tiết cho modul “Xem bảng xếp hạng”……… 15
IV Phân tích………17
1 Scenario……… 17
2 Trích lớp thực thể và vẽ biểu đồ……….18
3 Trích lớp biên và xây dựng lớp biểu đồ của modul………20
4 Kịch bản V.2 và biểu đồ tuần tự của modul……… 22
Trang 3I Glossary list
Các khái niệm liên quan đến người
1 Cờ thủ Player Người tham gia giải đấu với vai trò thi đấu
2 Nhà vô địch Champion Cờ thủ đứng đầu bảng xếp hạng sau 11 vòng đấu
3 Ban tổ chức Organizing Committee Người thuộc ban tổ chức giải đấu
4 Nhân viên quản trị hệ thống Admin Người quản lí, điều hành các hoạt động xung quanh hệ thống
5 Đối thủ Opponent Người mà cờ thủ sẽ đối đầu
6 Nhân viên quản lí cờ thủ Player Manger Người quản lý các thông tin cá nhân của cờ thủ
7 Nhân viên quản lí giải đấu Tournament management Người quản lý các vấn đề liên quan đến giải đấu bao gồm: xếp lịch thi đấu, cập
nhật bảng xếp hạng
8 Nhân viên lễ tân Receptionist Người cung cấp các thông tin cần thiết về giải đấu, cờ thủ
Các khái niệm liên quan đến vật
9 Mã giải đấu Tournament code Mã của giải đấu
10 Địa điểm của giải
đấu Location Địa điểm tổ chức giải đấu
11 Năm tổ chức giải đấu Date Năm giải đấu được tổ chức
12 Lần tổ chức giải đấu Occurrences Lần tổ chức thứ bao nhiêu của giải đấu
13 Tổng điểm Total score Tổng điểm cờ thủ kiếm được
14 Hệ số Elo Elo rating Điểm được sử dụng để do lường khả năng chơi cờ của các cờ thủ
15 Bảng xếp hạng Leaderboard Bảng xếp hạng các cờ thủ dựa theo tổng
điểm
16 Mức tăng giảm Elo Elo rating change Mức tăng giảm elo trước và sau giải đấu
19 Quốc tịch Country Quốc tịch của cờ thủ
20 Năm sinh Birthdate Năm sinh của cờ thủ
21 Danh sách cờ thủ Player list Danh sách các cờ thủ tham gia thi đấu
Trang 423 Họ và tên Name Tên của cờ thủ
24 Số điện thoại Phone number Số điện thoại của cờ thủ
25 Danh sách các bàn đấu Match schedule Danh sách các trận cờ thủ đã đấu
Các khái niệm liên quan đến hoạt động
26 Sắp xếp lịch thi đấu Arrange Match
Schedule Đặt lịch các trận đấu của giải đấu theo thời gian và ngày thi đấu
27 Xem lịch thi đấu View Tournament
Schedule
Đây là tính năng cho phép người dùng xem và kiểm tra thông tin về các trận đấu đã được lên lịch, bao gồm thông tin
về vòng đấu, thời gian, địa điểm, và cặp đấu cụ thể giữa các cờ thủ
28 Tìm thông tin cờ thủ Search Player
Information
Ban tổ chức tìm thông tin của cờ thủ bằng id
29 Sửa thông tin của cờ
thủ Edit player infomation Quản lí thực hiện sửa thông tin của cờ thủ
30 Hiện danh sách các
cờ thủ
Display player list Hiện danh sách các cờ thủ tham gia giải
đấu
31 Xếp hạng cờ thủ Ranking player Sắp xếp các cờ thủ theo điểm số hoặc
elo để xác định thứ hạng của họ trong giải đấu
32 Xem kết quả View Results Hiển thị kết quả của các trận đấu đã
diễn ra trong giải đấu
33 Xếp cặp thi đấu Pairing Matches Thực hiện quy trình xếp cặp giữa các
đối thủ trong một vòng đấu của giải đấu
34 Lưu kết quả Save results Ghi lại và lưu trữ kết quả của các trận
đấu trong hệ thống
35 Cập nhật kết quả Update match result Thực hiện việc nhập và lưu trữ kết quả
của các trận đấu trong hệ thống
36 Quản lí thông tin cờ
thủ
Manage information player
Theo dõi và quản lí thông tin cá nhân của các cờ thủ, bao gồm tên, thông tin liên lạc, và các thành tích trong cờ vua
Các khái niệm liên quan đến luật
38 Công thức FIDE FIDE Formula Là cách tính điểm và xếp hạng cầu thủ
cờ vua dựa trên kết quả các trận đấu và sức mạnh của đối thủ
39 Thể thức Thụy Sĩ Swiss System Là phương pháp tổ chức giải đấu cờ vua
trong đó các cầu thủ được xếp vào các nhóm dựa trên điểm số và thi đấu với những đối thủ có điểm số tương tự
Trang 540 Luật xếp cặp cờ vua Chess Pairing
Regulations
Luật xếp đối thủ cho cờ thủ
II Business Model
Mô tả hệ thống bằng ngôn ngữ tự nhiên
1 Mục đích và phạm vi
− Hệ thống là một ứng dụng được sử dụng trên máy bàn của ban tổ chức giải cờ vua thế giới, cho phép quản lý thông tin các cờ thủ, lên lịch các vòng đấu, cung cấp thông tin cho cờ thủ và quản lý kết quả trong giải đấu
− Là ứng dụng chạy trong nội bộ của tổ chức, gồm nhiều máy tính của tổ chức, máy của nhân viên dùng chung dữ liệu của tổ chức
− Chỉ ban tổ chức và nhân viên quản trị hệ thống mới được sử dụng trực tiếp:
+ Nhân viên quản trị hệ thống
+ Nhân viên quản lí giải đấu
+ Nhân viên quản lí cờ thủ
+ Nhân viên lễ tân
− Hệ thống quản lý giải cờ vua thế giới không bao gồm:
+ Mô phỏng lại trận đấu
2 Ai làm được gì cho hệ thống
− Nhân viên quản lí giải đấu:
+ Xem các thông tin về giải đấu:
▪ Các cờ thủ:
o Thông tin cá nhân
o Các trận đấu của các cờ thủ
▪ Các vòng đấu + Thống kê:
▪ Xem bảng xếp hạng sau từng vòng đấu
▪ Thống kê thay đổi Elo của các cờ thủ sau mỗi vòng + Xếp cặp thi đấu cho các cờ thủ trong mỗi vòng
+ Cập nhập kết quả:
▪ Kết quả của từng trận đấu
▪ Hệ số Elo cho mỗi cờ thủ
− Nhân viên quản lí cờ thủ:
+ Quản lý thông tin của các cờ thủ: thêm, sửa, xóa, tìm kiếm
Trang 6− Nhân viên quản trị hệ thống:
+ Quản lý tài khoản người dùng: thêm, sửa, xóa, tìm kiếm
− Ban tổ chức:
+ Quản lí thông tin về các nhà tài trợ, phần thưởng và các thức trao giải thưởng
− Nhân viên lễ tân:
+ Xem các thông tin liên quan đến cờ thủ: bảng xếp hạng, thông tin cá nhân, các trận đấu của cờ thủ
3 Các chức năng hoạt động như thế nào
3.1 Xem các thông tin cá nhân của cờ thủ
− Nhân viên quản lí cờ thủ đăng nhập (username, password)
→ Giao điện của nhân viên cờ thủ giải đấu có các lưạ chọn:
+ Xem thông tin về giải đấu
+ Thống kê
+ Xếp cặp thi đấu
+ Cập nhập kết quả
− Nhân viên quản lí cờ thủ chọn menu Xem các thông tin về giải đấu
→ Giao diện Xem các thông tin về giải đấu hiện ra bao gồm:
+ Các cờ thủ
+ Các vòng đấu
− Nhân viên quản lí cờ thủ chọn menu Các cờ thủ
→ Giao điện Các cờ thủ hiện ra bao gồm:
+ Thông tin cá nhân
+ Lịch thi đấu của cờ thủ
− Nhân viên quản lí cờ thủ chọn menu Thông tin cá nhân
→ Giao diện Thông tin cá nhân hiện ra bao gồm:
+ Nút tìm kiếm (ở đầu giao diện)
+ Danh sách thông tin cá nhân của tất cả các cờ thủ
− Nếu nhân viên quản lí giải đấu nhấn vào một cờ thủ bất kỳ
→ Hệ thống hiện ra Giao diện thông tin cá nhân của cờ thủ đó bao gồm:
+ Mã cờ thủ
+ Tên cở thủ
+ Năm sinh
Trang 7+ Quốc tịch
+ Hệ số Elo
+ Ghi chú
− Nếu nhân viên quản lí giải đấu nhập thông tin cần tìm kiếm theo tên cờ thủ
+ Nếu tồn tại thì đưa ra danh sách các cờ thủ có liên quan và Nhân viên quản lý giải đấu có thể chọn 1 cờ thủ bất kỳ để xem thông tin cá nhân của mỗi cờ thủ
3.2 Xem các thông tin về các trận đấu của cờ thủ
− Nhân viên quản lý giải đấu đăng nhập
− Nhân viên quản lý giải đấu chọn menu Xem các thông tin về giải đấu
→ Giao diện Xem các thông tin về giải đấu hiện ra bao gồm:
+ Các cờ thủ
+ Các vòng đấu
− Nhân viên quản lý giải đấu chọn menu Các cờ thủ
→ Giao điện Các cờ thủ hiện ra bao gồm:
+ Thông tin cá nhân
+ Các trận đấu của cờ thủ
− Nhân viên quản lý giải đấu chọn menu Các trận đấu của cờ thủ
→ Giao diện Các trận đấu của cờ thủ hiện ra bao gồm:
+ Nút tìm kiếm (ở đầu giao diện)
+ Danh sách các trận đấu của tất cả các cờ thủ
− Nếu Nhân viên quản lý giải đấu nhấn vào một trận đấu bất kỳ
→ Hệ thống hiện ra giao diện Danh sách các trận đấu của cờ thủ đó bao gồm:
+ STT
+ Mã cờ thủ
+ Tên cở thủ
Trang 8− Nếu Nhân viên quản lý giải đấu nhập thông tin cần tìm kiếm theo tên cờ thủ
+ Nếu tồn tại thì đưa ra danh sách các cờ thủ có liên quan và Nhân viên quản lý giải đấu có thể chọn 1 cờ thủ bất cờ để xem thông tin về các trận đấu của cờ thủ
3.3 Xem thông tin về các vòng đấu
− Nhân viên quản lý giải đấu đăng nhập
− Nhân viên quản lý giải đấu chọn menu Xem các thông tin về giải đấu
→ Giao diện Xem các thông tin về giải đấu hiện ra bao gồm:
+ Các cờ thủ
+ Các vòng đấu
− Nhân viên quản lý giải đấu chọn menu Các vòng đấu
→ Giao điện Các vòng đấu hiện ra bao gồm:
+ Vòng 1
+ Vòng 2
+ …
− Nhân viên quản lý giải đấu chọn menu Vòng 1 (hoặc 1 vòng bất kỳ khác)
→ Giao diện Các trận đấu của vòng 1 hiện ra bao gồm:
+ Nút tìm kiếm (ở đầu giao diện)
+ Danh sách tất cả các trận đấu của vòng 1
− Nếu Nhân viên quản lý giải đấu nhấn vào một trận đấu bất kỳ
→ Hệ thống hiện ra giao diện Kết quả thi đấu của trận đấu đó
Trang 9+ Nếu trận đấu đó chưa diễn ra thì hệ thống đưa thông báo “Trận đấu chưa diễn ra”
+ Nếu trận đấu đã diễn ra thì hiện ra Giao điện kết quả trận đấu bao gồm:
− Nếu Nhân viên quản lý giải đấu nhập thông tin cần tìm kiếm theo tên cờ thủ
+ Nếu tồn tại thì đưa ra danh sách các trận đấu có liên quan và Nhân viên quản lý giải đấu có thể chọn 1 trận đấu bất kỳ để xem thông tin về các trận đấu đó + Nếu không thì đưa ra thông báo “Trận đấu này không tồn tại trong hệ thống” + Trong giao điện kết quả tìm kiếm này sẽ có nút là: Quay trở lại màn hình chính
3.4 Xem bảng xếp hạng sau từng vòng đấu
− Nhân viên quản lý giải đấu đăng nhập (username, password)
− Nhân viên quản lý giải đấu chọn menu thống kê → Chọn chức năng xem bảng xếp hạng sau từng vòng đấu → Chọn vòng đấu từ danh sách sổ ra
− Kết quả hiện ra danh sách các cờ thủ với các thông tin: id, tên, năm sinh, quốc tịch, tổng điểm, tổng điểm các đối thủ đã gặp, hệ số elo tức thời,
+ Bảng xếp hạng được sắp xếp theo 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)
− Nhân viên quản lý giải đấu click vào bất cờ 1 dòng cờ thủ nào → Hệ thống hiện lên danh sách chi tiết các trận cờ thủ đã đấu, mỗi trận trên 1 dòng, bao gồm: id đối thủ, tên đối thủ
3.5 Thống kê thay đổi elo của các cờ thủ sau từng vòng đấu
Trang 10− Nhân viên quản lý giải đấu đăng nhập (username, password)
− Nhân viên quản lý giải đấu chọn menu Thống kê → Chọn chức năng xem thống kê
thay đổi elo → Chọn vòng đấu từ danh sách đã sổ ra
− Hệ thống hiện ra danh sách đã sắp xếp theo tiêu chí với các thông tin: id, 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
+ Danh sách được sắp xếp theo mức tăng hệ số Elo, sau đó là hệ số Elo mới (giảm dần)
− Nhân viên quản lý giải đấu click vào bất cờ 1 dòng cờ thủ nào → Hệ thống hiện lên danh sách chi tiết các trận cờ thủ đã đấu, mỗi trận trên 1 dòng, bao gồm: id đối thủ, tên đối thủ, mức tăng giảm elo
3.6 Xếp cặp thi đấu
− Nhân viên quản lý giải đấu đăng nhập (username, password)
→ Giao điện của Nhân viên quản lý giải đấu có các lưạ chọn:
+ Xem thông tin về giải đấu
+ Thống kê
+ Xếp cặp thi đấu
+ Cập nhập kết quả
− Nhân viên quản lý giải đấu chọn menu xếp cặp thi đấu
→ Giao diện Xếp cặp thi đấu hiện ra bao gồm:
+ Vòng 1
+ Vòng 2
+ Vòng 3
+ …
− Nhân viên quản lý giải đấu chọn vòng đấu cần xếp cặp trong danh sách sổ xuống →
hệ thống hiện bảng xếp hạng hiện tại + nút Xếp lịch
− Nhân viên quản lý giải đấu click nút Xếp lịch → Hệ thống tự động xếp cặp cho các cờ thủ theo luật và hiện danh sách các bàn đấu theo đúng thứ tự các cặp đấu
− Nhân viên quản lý giải đấu click Lưu → Hệ thống lưu lịch thi đấu của vòng mới vào CSDL
→ Hệ thống thông báo thành công và quay trở lại giao diện chính của Nhân viên quản
lý giải đấu
3.7 Cập nhật kết quả trận đấu
Trang 11− Nhân viên quản lý giải đấu đăng nhập (username, password)
− Nhân viên quản lý giải đấu chọn menu cập nhật kết quả → Trang cập nhật gồm danh sách các vòng đấu sẽ hiện ra
− Nhân viên quản lý giải đấu chọn vòng đấu từ danh sách → Giao diện chọn cặp đấu sẽ được hiện ra bao gồm: danh sách các cặp đấu và ô tìm kiếm
− Nhân viên quản lý giải đấu chọn cặp đấu muốn cập nhật:
+ Nhân viên quản lý giải đấu tìm kiếm cờ thủ thông qua tên tại ô tìm kiếm → Kết quả là danh sách các cặp đấu có tên cờ thủ hợp lệ
− Giao diện cập nhật hiện lên với thông tin 2 cờ thủ, mỗi cờ thủ có 2 ô nhập tương ứng với điểm và elo
− Nhân viên quản lý giải đấu nhập số điểm và elo của 2 cờ thủ → Nhấn nút cập nhật → Một thông báo xác nhận cập nhật điểm số hiện ra
− Nếu điểm số cập nhật đúng Nhân viên quản lý giải đấu nhấn xác nhận, nếu nhập điểm
số sai thì nhấn nút quay lại
− Hệ thống thông báo cập nhật thành công sau đó quay trở lại giao diện chọn cặp cặp đấu
3.8 Quản lý thông tin cờ thủ
− Nhân viên quản lý cờ thủ chọn menu quản lý thông tin cờ thủ → trang quản lý hiện ra
− Nhân viên quản lý cờ thủ chọn chức năng sửa thông tin cờ thủ → giao diện tìm tuyển thủ theo tên hiện ra
− Nhân viên quản lý cờ thủ nhập tên tuyển thủ và click tìm kiếm → danh sách các tuyển thủ có tên chứa từ khóa hiện ra
− Nhân viên quản lý cờ thủ chọn sửa một cờ thủ → giao diện sửa cờ thủ hiện ra với các thông tin của cờ thủ đã chọn
− Nhân viên quản lý cờ thủ nhập một số thông tin thay đổi và click cập nhập → hệ thống lưu thông tin vào CSDL và thông báo thành công
3.9 Quản lý thông tin tài khoản người dùng
Trang 12− Nhân viên quản trị hệ thống chọn menu Quản lý nhân viên quản trị hệ thống → trang quản lý hiện ra
− Nhân viên quản trị hệ thống chọn chức năng sửa thông tin người dùng→ giao diện tìm người dùng theo tên hiện ra
− Nhân viên quản trị hệ thống nhập tên tuyển thủ và click tìm kiếm → danh sách người dùng có tên chứa từ khóa hiện ra
− Nhân viên quản trị hệ thống chọn sửa một cờ thủ → giao diện sửa người dùng hiện ra với các thông tin của người dùng đã chọn
− Nhân viên quản trị hệ thống nhập một số thông tin thay đổi và click cập nhập → hệ thống lưu thông tin vào CSDL và thông báo thành công
3.10 Xem các thông tin có liên quan đến cờ thủ
− Cờ thủ yêu cầu thông tin về lịch thi đấu, bảng xếp hạng hoặc thông tin cá nhân
− Lễ tân đăng nhập vào hệ thống (username, password) → Giao diện hệ thống hiện ra danh sách các vòng đấu
− Lễ tân chọn vòng đấu theo yêu cầu của cờ thủ → Nhập tên của cờ thủ vào ô tìm kiếm
đã hiện ra → Hệ thống hiện lên danh sách các cờ thủ có tên hợp trùng với yêu cầu
− Lễ tân chọn tên cờ thủ → Giao diện hiện ra bao gồm: thông tin cá nhân, bảng xếp hạng, các trận đấu của cờ thủ đó (đã diễn ra và sắp tới)
− Lễ tân chọn thông tin mà cờ thủ đó muốn biết → Hệ thống trả về kết quả cần tìm
4 Hệ thống xử lý các thông tin gì về đối tượng?
− Giải đấu:
+ Mã giải đấu: Varchar(10)
+ Tên giải đấu: Varchar(255)
Trang 13+ Năm sinh: Date
+ Thời gian: Date
+ Địa điểm: Varchar (100)
+ Ghi chú: Varchar (255) null
− Vòng đấu:
+ Mã vòng đấu: Varchar (255)
+ Tên vòng đấu: Varchar (255)
+ Số trận đấu: int
+ Thời gian: Date
+ Ghi chú: Varchar (255) null
− Chi tiết thay đổi hệ số Elo:
+ Hệ số Elo đã tăng/giảm: int (null)
5 Mối quan hệ giữa các thông tin cần sử lí
− Giải đấu – Vòng đấu:
+ Một giải đấu có nhiều vòng đấu
Trang 14− Vòng đấu – Trận đấu:
+ Một vòng dấu có thể có nhiều trận đấu
− Cờ thủ - Chi tiết thay đổi hệ số Elo
+ Tại một thời điểm, một cờ thủ chỉ có một hệ số Elo
+ Mỗi một chi tiết thay đổi hệ sô Elo tương ứng với một cờ thủ
− Cờ thủ - Trận đấu:
+ Một trận đấu chỉ có thể diễn ra với 2 cở thủ
+ Một cờ thủ chỉ có thể tham gia nhiều trận đấu
III Use case
1 Use case tổng quát
- Diễn giải
+ Các Actor:
• Có 1 actor trừu tượng là Ban tổ chức
• Gồm 4 người dùng: Nhân viên quản lý giải đấu, nhân viên quản lý cờ thủ, nhân viên quản trị hệ thống, nhân viên lễ tân → Sẽ có 4 actor chính kế thừa từ actor trừu tượng Ban tổ chức
• Có 1 actor ẩn là Cờ thủ
+ Các Use case chính của hệ thống gồm:
• Xem thông tin về các vòng đấu