Professional Documents
Culture Documents
B21DCCN722-Dương Minh Trí-Pha Phân Tích
B21DCCN722-Dương Minh Trí-Pha Phân Tích
B21DCCN722-Dương Minh Trí-Pha Phân Tích
Hà Nội, 2/2024
Mục Lục
I. 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
− 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
+ Quản lý thông tin của các cờ thủ: thêm, sửa, xóa, tìm kiếm.
− 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ủ
− 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
− 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
+ 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ủ
đó.
+ Nếu không thì đưa ra thông báo “Cờ thủ 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
và Tìm kiếm tiếp.
Nhân viên quản lý giải đấu chọn Quay lại màn hình chính → Hệ thống sẽ quay
về màn hình chính.
Nhân viên quản lý giải đấu chọn Tìm kiếm tiếp → Hệ thống sẽ quay về giao
diện Thông tin cá nhân.
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
− 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ủ
+ Tên đối thủ
+ Kết quả
+ Thời gian
+ Địa điểm
+ 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 cờ để xem thông tin về các trận đấu của cờ thủ
đó.
+ 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
và Tìm kiếm tiếp.
Nhân viên quản lý giải đấu chọn Quay lại màn hình chính → Hệ thống sẽ quay
về màn hình chính.
Nhân viên quản lý giải đấu chọn Tìm kiếm tiếp → Hệ thống sẽ quay về giao
diện Thông tin cá nhân.
− 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 đó
+ 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:
▪ Tên cờ thủ
▪ Tên đối thủ
▪ Kết quả
▪ Thời gian
▪ Địa điểm
▪ 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 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
và Tìm kiếm tiếp.
Nhân viên quản lý giải đấu chọn Quay lại màn hình chính → Hệ thống sẽ quay
về màn hình chính.
Nhân viên quản lý giải đấu chọn Tìm kiếm tiếp → Hệ thống sẽ quay về giao
diện Thông tin cá nhân.
− 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
− 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
− 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
− 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.
− 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.
− 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.
− Giải đấu:
+ Mã giải đấu: Varchar(10)
+ Tên giải đấu: Varchar(255)
+ Năm tổ chức: Year
+ Địa điểm: Varchar(100)
+ Mô tả: Varchar (255)
− Cờ thủ:
+ Mã cờ thủ: Varchar (30)
+ Tên cở thủ: Varchar (30)
+ Năm sinh: Date
+ Quốc tịch: Varchar (30)
+ Hệ số Elo: int
+ Số trận đã tham gia
+ Tổng điểm các trận đấu đã tham gia
+ Tổng điểm của đối thủ đã gặp
+ Ghi chú: Varchar (255) null
− Trận đấu:
+ Mã trận đấu: Varchar (15)
+ Tên Kỳ thủ A: Varchar (30)
+ Tên Kỳ thủ B: Varchar (30)
+ Kết quả: Varchar (30)
+ 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:
+ Mã cờ thủ: Varchar (30)
+ Tên cờ thủ: Varchar (30)
+ Mã vòng đấu: Varchar (30)
+ Hệ số Elo tức thời: int
+ Hệ số Elo cũ: int
+ Hệ số Elo đã tăng/giảm: int (null)
- 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
• Xem thông tin về các trận đấu của cờ thủ
• Cập nhập kết quả trận đấu
• Xem các loại báo cáo thống kê
• Xếp cặp thi đấu
• Xem bảng xếp hạng sau từng vòng đấu
• Quản lý thông tin của cờ thủ
• Xem các thông tin có liên quan đến cờ thủ
• Quản lý thông tin người dùng
− Mô tả Use case:
+ Use case xem thông tin về vòng đấu cho phép nhân viên quản lý giải đấu xem
các thông tin về các vòng đấu trong giải đấu.
+ Use case xem thông tin về các trận đấu của cờ thủ cho phép nhân viên quản lý
giải đấu xem các thông tin về các trận đấu của cờ thủ.
+ Use case cập nhập kết quả trận đấu cho phép nhân viên quản lý giải đấu cập kết
quả của từng trận đấu, hệ số Elo cho mỗi cờ thủ.
+ Use case xem các loại báo cáo thống kê cho phép nhân viên quản lý giải đấu
xem các loại báo cáo thống kê bao gồm: thống kê thay đổi điểm Elo sau giải,
thống kê thay đổi Elo sau từng vòng.
+ Use case xếp cặp thi đấu cho phép nhân viên quản lý giải đấu xếp cặp thi đấu
cho các cờ thu sau mỗi vòng đấu.
+ Use case xem bảng xếp hạng sau từng vòng đấu cho phép nhân viên quản lý
trận đấu xem bảng xếp hạng các cờ thủ sau từng vòng đấu.
+ Use case quản lý thông tin cờ thủ cho phép nhân viên quản lý cờ thủ quản lý
thông tin của cờ thủ bao gồm các việc: thêm, sửa, xóa, tìm kiếm thông tin cờ
thủ.
+ Use case xem các thông tin có liên quan đến cờ thủ cho phép nhân viên lễ tân
xem các thông tin như: bảng xếp hạng của từng vòng đấu, thông tin cá nhân,
các trận đấu của cờ thủ (đã diễn ra và sắp diễn ra).
+ Use case quản lý thông tin người dùng cho phép nhân viên quản trị hệ thống
quản lý các thông tin của người dùng bao gồm các việc thêm, sửa, xóa, tìm kiếm
thông tin người dùng.
2. Use Case chi tiết cho modul “Xem bảng xếp hạng”
- Mô tả chi tiết
+ Nhân viên quản lí giải đấu chọn menu Thống kê
+ Nhân viên quản lí giải đấu chọn nút Xem bảng xếp hạng -> Giao diện bảng xếp
hạng chung hiện ra
+ Nhân viên quản lí giải đấu chọn chức năng Xem bảng xếp hạng theo từng vòng đấu
-> kết quả hiện ra danh sách các cờ thủ, mỗi người có đầy đủ thông tin: mã cờ thủ,
tên, năm sinh, quốc tịch, tổng điểm, tổng điểm đối thủ đã gặp, hệ số Elo tức thời
+ Nhân viên quản lí giải đấu chọn 1 cờ thủ để xem chi tiết -> Giao diện hiện dang
sách thông tin các đối thủ mà cờ thủ này đã từ thi đấu
- Mô tả các Use Case con
+ Use Case Xem bảng xếp hạng theo từ vòng đấu cho phép Nhân viên quản lí giải đấu
xem thay đổi thứ tự BXH theo từng vòng
+ Use Case Xem lịch sử thi đấu của cờ thủ cho phép Nhân viên quản lí giải đấu xem
lịch sử, kết quả thi đấu, đối thủ của cờ thủ này qua từng vòng
IV. Phân tích
1. Scenario
Scenario Xem bảng xếp hạng theo từng vòng đấu và chi tiết lịch sử thi đấu của cờ thủ
Actor Nhân viên quản lí giải đấu
Pre- Nhân viên quản lí giải đấu có tài khoản của nhân viên quản lí giải đấu
condition
Post- Nhân viên quản lí giải đấu đăng nhập được, xem được BXH và chi tiết lịch sử
condition thi đấu của kì thủ
Main Event 1. Nhân viên quản lí giải đấu đăng nhập (username: manager,
password=abc1234)
2. Giao diện hiện lên với các chức năng:
- Thống kê giải đấu
- Bảng xếp hạng
- Xếp cặp thi đấu
- Cập nhật kết quả
3. Nhân viên quản lí giải đấu A chọn chức năng Xem Bảng xếp hạng từ chính
của giao diện chính dành cho nhân viên quản lí giải đấu
4. Giao diện Bảng xếp hạng hiện lên với gồm:
- Bảng xếp hạng,
- Nút chức năng Xem bảng xếp hạng theo từ vòng đấu hiện ra
5. Nhân viên quản lí giải đấu chọn vào nút Xem bảng xếp hạng từng vòng đấu
6. Giao diện chọn vòng đấu hiện lên với một ô để nhập vòng đấu cần tìm->
Nhân viên điền số 4
7. Hệ thống hiện ra danh sách sách các cờ thủ với các thông tin kèm theo vào
được sắp xếp theo thứ tự giảm dần tổng điểm:
ID Tên Năm sinh Quốc tịch Tổng Hệ số
điểm Elo
P001 Dương Minh Trí 2003 Vietnam 1200 2400
P002 Nguyễn Văn Quý 2003 Vietnam 1190 2334
P003 Ronaldo 2001 Portugal 1150 2290
P004 Messi 2000 Argentina 1140 2300
8. Nhân viên quản trị giải đấu click vào tên = Nguyễn Văn Quý để xem chi tiết
về lịch sử đấu của cờ thủ qua các vòng
9. Hệ thống hiện ra giao diện là một bảng mô tả các thông tin chi tiết các trận
mà cờ thủ đã đấu
ID Tên đối thủ Vòng Thời gian thi đấu Mức tăng
giảm Elo
P012 Ivan Aika 1 15 phút +25
P008 Nguyễn Quang 2 23 phút -15
Toản
P004 Messi 3 18 phút -19
P006 Dương Trần Đức 4 17 phút +23
10. Sau khi xem xong thì nhân viên click lại vào ô Trang chủ để quay lại giao
diện chính dành cho nhân viên quản lí giải đấu
Exceptions 1. Hệ thống báo đăng nhập sao
1.1 Nhân viên click vào OK
1.2 Hệ thống quay về giao diện đăng nhập (Username, password)
1.3 Nhân viên sửa lại (Password=abc@123) và ấn Login
1.4 Hệ thông hiện giao diện chính của Nhân viên quản lí giải đấu như ở
bước 2
6. Hệ thống báo “Vòng đấu này hiện tại chưa diễn ra”
6.1 Nhân viên click vào OK
6.2 Nhân viên nhập lại số vòng đấu hợp lệ
6.3 Hệ thống hiện ra danh sách như ở bước 7
• Danh sách các kì thủ theo thứ hạng hiện tại -> thuộc tính output –
outRankBoard
• Tên vòng đấu -> thuộc tính input – inRound
• Nút tìm -> thuộc tính submit – subSearch
• Nút quay lại -> thuộc tính điều khiển chức năng – subBack
+ Nhập vào tên một vòng đấu và ấn nút tìm, giao diện Bảng xếp hạng theo vòng
đấu đã tìm hiện ra -> đề xuất lớp RankOfRoundView gồm có:
• Danh sách các kì thủ theo thứ tự điểm giảm dần -> thuộc tính output –
outCurentRankBoard
+ Chọn một kì thủ từ danh sách để xem lịch sử thi đấu, giao diện lịch sử đấu của kì
thủ đó hiện ra -> đề xuất lớp MatchHistoryView
• Danh sách các trận đấu của cờ thủ này trước khi vòng đấu diễn ra -> thuộc
tính output – outMatchHistory
• Nút quay lại -> thuộc tính điều khiển chức năng – subBack
- Xác định phần xử lí ngầm
+ Để kiểm tra đăng nhập thành công, cần phải xử lí:
• Tên phương thức: isLogin()
• Input: username, password
• Output: boolean
• Lớp chủ thể: User
+ Để kiểm tra xem đã nhập tên vòng đấu hợp lệ, cần xử lý: