Mô tả các luồng dữ liệu: - D1: Thông tin về giải đấu: Tên giải đấu, Đơn vị tổ chức, Email liên hệ, Số lượng đội bóng tham gia, Số vòng đấu, Hình thức thi đấu, Nội quy giải đấu, Bảng xếp
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
-oOo-BÀI TẬP QUÁ TRÌNH MÔN: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM (SE104.O29)
Đề tài: QUẢN LÝ GIẢI VÔ ĐỊCH BÓNG ĐÁ QUỐC GIA
Nhóm viên thực hiện:
Võ Đại Lượng 22520834
Hoàng Phạm Bảo Long 22520808
Trần Tiến Minh 22520891
Trần Xuân Lương 22520833
TP Hồ Chí Minh, ngày 31 tháng 03 năm 2024
Trang 2Mục lục:
LƯỢC ĐỒ DFD QUẢN LÝ GIẢI VÔ ĐỊCH BÓNG ĐÁ QUỐC GIA
1 DFD xử lý tạo giải đấu
2 DFD tạo hồ sơ đội bóng
3 DFD lập lịch thi đấu
4 DFD ghi kết quả trận đấu
5 DFD tra cứu đội bóng
6 DFD tra cứu cầu thủ
7 DFD tra cứu trận đấu
8 DFD tra cứu thông tin giải đấu
9 DFD tra cứu chi tiết giải đấu
10 DFD cập nhật kết quả giải đấu
11 DFD thay đổi quy định
Trang 3LƯỢC ĐỒ DFD QUẢN LÝ GIẢI VÔ ĐỊCH BÓNG
ĐÁ QUỐC GIA
1 DFD xử lý tạo giải đấu.
Mô tả các luồng dữ liệu:
- D1: Thông tin về giải đấu: Tên giải đấu, Đơn vị tổ chức, Email liên hệ,
Số lượng đội bóng tham gia, Số vòng đấu, Hình thức thi đấu, Nội quy giải đấu, Bảng xếp hạng thành tích, Ngày tiếp nhận
- D2: Không có
- D3: Số lượng đội bóng tối thiểu, số lượng đội bóng tối đa, hình thức thi đấu tính điểm
- D4: D1
- D5: D4
- D6: Không có
Thuật toán:
- Bước 1: Nhận D1 từ người dùng
- Bước 2: Kết nối dữ liệu
- Bước 3: Đọc D3 từ bộ nhớ phụ
- Bước 4: Kiểm tra “Email liên hệ” (D1) có tồn tại duy nhất hay không?
- Bước 5: Tính số lượng đội bóng
- Bước 6: Kiểm tra quy định “Số lượng đội bóng tối thiểu” (D3)
- Bước 7: Kiểm tra quy định “Số lượng đội bóng tối đa” (D3)
- Bước 8: Kiểm tra “Hình thức thi đấu” (D1) có phải là “Thắng 3, Hòa 1, Thua 0” (D3) hay không?
Trang 4- Bước 9: Nếu không thỏa tất cả các qui định trên thì tới bước 13
- Bước 10: Tính điểm của đội sau các vòng đấu
- Bước 11: Lưu D4 xuống bộ nhớ phụ
- Bước 12: Xuất D5 ra máy in
- Bước 13: Đóng kết nối cơ sở dữ liệu
- Bước 14 : Kết thúc
2 DFD tạo hồ sơ đội bóng.
Mô tả các luồng dữ liệu:
- D1: Thông tin về đội bóng: Tên đội bóng, Tên HLV Trưởng, Tên đội trưởng, Email liên hệ, Số lượng cầu thủ, Tên cầu thủ, Ngày sinh, Số áo đấu, Quốc tịch, Tên sân đấu, Ngày tiếp nhận
- D2: Không có
- D3: số lượng cầu thủ tối đa
- D4: D1
- D5: D4
- D6: Không có
Thuật toán:
- Bước 1: Nhận D1 từ người dùng
- Bước 2: Kết nối dữ liệu
- Bước 3: Đọc D3 từ bộ nhớ phụ
- Bước 4: Kiểm tra “HLV trưởng” (D1) có tồn tại duy nhất hay không?
- Bước 5: Kiểm tra “Email liên hệ” (D1) có tồn tại duy nhất hay không?
- Bước 6: Kiểm tra “Đội trưởng” (D1) có tồn tại duy nhất hay không?
- Bước 7: Kiểm tra “Sân đấu” (D1) có tồn tại duy nhất hay không?
Trang 5- Bước 8: Kiểm tra “Số áo” (D1) của mỗi cầu thủ là duy nhất?
- Bước 9: Tính số lượng cầu thủ
- Bước 10: Kiểm tra quy định “Số lượng cầu thủ tối đa” (D3)
- Bước 11: Nếu không thỏa tất cả các quy định trên thì tới bước 14
- Bước 12: Lưu D4 xuống bộ nhớ phụ
- Bước 13: Xuất D5 ra máy in
- Bước 14: Đóng kết nối cơ sở dữ liệu
- Bước 15 : Kết thúc
3 DFD lập lịch thi đấu.
Mô tả các luồng dữ liệu:
- D1: Thông tin về lịch thi đấu: Tên Đội 1, Tên Đội 2, Địa điểm thi đấu, Ngày thi đấu, Giờ thi đấu
- D2: Không có
- D3: Danh sách đội, sân nhà, lượt
- D4: D1
- D5: D4
- D6: Không có
Thuật toán:
- Bước 1: Nhận D1 từ người dùng
- Bước 2: Kết nối dữ liệu
- Bước 3: Đọc D3 từ bộ nhớ phụ
- Bước 4: Tính số đội
Trang 6- Bước 5: Kiểm tra “Vòng đấu” (D1) có nhỏ hơn hoặc bằng 2 x (Số đội bóng tham gia - 1) hay không?
- Bước 6: Kiểm tra “Đội 1” (D1) có phải là đội ở “Sân nhà” (D3) hay không?
- Bước 7: Kiểm tra “Sân đấu” (D1) có phải là “Sân nhà” (D3) hay không?
- Bước 8: Tính lượt
- Bước 9: Kiểm tra xem trận đấu là lượt 1 hay lượt 2 (D3)
- Bước 10: Nếu không thỏa tất cả các qui định trên thì tới bước 13
- Bước 11: Lưu D4 xuống bộ nhớ phụ
- Bước 12: Xuất D5 ra máy in
- Bước 13: Đóng kết nối cơ sở dữ liệu
- Bước 14 : Kết thúc
4 DFD ghi kết quả trận đấu.
Mô tả các luồng dữ liệu:
- D1: Tên giải đấu, đội chủ nhà, đội khách, sân thi đấu, tỉ số, ngày thi đấu, kết quả, danh sách cầu thủ ghi bàn, kiến tạo, danh sách cầu thủ nhận thẻ phạt và loại thẻ, tình trạng chấn thương, vị trí thi đấu của các cầu thủ
- D2: Không có
- D3: danh sách sân chủ nhà của đội chủ nhà, quy định số thẻ phạt của cầu thủ
- D4: D1
- D5: D4
Trang 7- D6: Không có.
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Kiểm tra sân chủ nhà (D1) có sân chủ nhà (D3) mà đội chủ nhà đã đăng ký hay không
- B5: Kiểm tra số lượng thẻ phạt và loại thẻ phạt của cầu thủ (D1)
- B6: Nếu không thỏa tất cả quy định trên thì tới bước 9
- B7: Lưu D4 xuống bộ nhớ phụ
- B8: Xuất D5 ra máy in
- B9: Đóng kết nối cơ sở dữ liệu
- B10: Kết thúc
5 DFD tra cứu đội bóng.
Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Tên đội bóng)
- D2: Không có
- D3: Danh sách đội bóng (tên đội bóng, sân chủ nhà, danh sách cầu thủ, số trận đã thi đấu, số trận thắng, thua và hòa, thứ hạng, tên giải đấu đang tham gia, lịch thi đấu, huấn luyện viên trưởng, số cầu thủ, danh sách cầu thủ)
- D4: không có
Trang 8- D5: Thông tin đội bóng (tên đội bóng, sân chủ nhà, danh sách cầu thủ, số trận đã thi đấu, số trận thắng, thua và hòa, thứ hạng, tên giải đấu đang tham gia, lịch thi đấu, huấn luyện viên trưởng, số cầu thủ, danh sách cầu thủ) thỏa tiêu chuẩn tra cứu D1
- D6: D5
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm đội bóng có tên thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 8
- B6: Xuất D5 ra máy in
- B7: Xuất D6 ra máy người dùng
- B8: Đóng kết nối cơ sở dữ liệu
- B9: Kết thúc
6 DFD tra cứu cầu thủ.
Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Tên cầu thủ, đội thi đấu)
- D2: Không có
- D3: Danh sách cầu thủ (tên cầu thủ, tuổi, giới tính, quê quán, chiều cao và cân nặng, tên đội bóng thi đấu, số trận ra sân, số bàn thắng, kiến tạo, điểm trung bình)
- D4: không có
Trang 9- D5: Thông tin cầu thủ (tên đội bóng, sân chủ nhà, danh sách cầu thủ, số trận đã thi đấu, số trận thắng, thua và hòa, thứ hạng, tên giải đấu đang tham gia, lịch thi đấu) thỏa tiêu chuẩn tra cứu D1
- D6: D5
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm cầu thủ có tên thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Tìm kiếm cầu thủ có tên đội bóng thi đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B6: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 8
- B7: Xuất D5 ra máy in
- B8: Xuất D6 ra máy người dùng
- B9: Đóng kết nối cơ sở dữ liệu
- B10: Kết thúc
7 DFD tra cứu trận đấu.
7.1.
Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Giải đấu, Vòng đấu hiện tại, Đội)
- D2: Không có
- D3: Danh sách thông tin về trận đấu
- D4: không có
- D5: Thông tin về trận đấu thỏa tiêu chuẩn tra cứu D1
Trang 10- D6: D5.
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm giải đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Tìm kiếm vòng đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B6: Tìm kiếm đội thỏa tiêu chuẩn tìm kiếm (D1)
- B7: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 9
- B8: Xuất D5 ra máy in
- B9: Xuất D6 ra máy người dùng
- B10: Đóng kết nối cơ sở dữ liệu
- B11: Kết thúc
7.2.
Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Giải đấu, Vòng đấu hiện tại, Tên cầu thủ, Đội)
- D2: Không có
- D3: Danh sách thông tin về trận đấu
- D4: không có
- D5: Thông tin về trận đấu thỏa tiêu chuẩn tra cứu D1
- D6: D5
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm giải đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Tìm kiếm vòng đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B6: Tìm kiếm cầu thủ thỏa tiêu chuẩn tìm kiếm (D1)
- B7: Tìm kiếm đội thỏa tiêu chuẩn tìm kiếm (D1)
- B8: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 10
- B9: Xuất D5 ra máy in
- B10: Xuất D6 ra máy người dùng
- B11: Đóng kết nối cơ sở dữ liệu
- B12: Kết thúc
Trang 118 DFD tra cứu thông tin giải đấu.
Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Tên giải đấu, Vòng đấu hiện tại, Đội)
- D2: Không có
- D3: Danh sách thông tin về giải đấu
- D4: không có
- D5: Thông tin về giải đấu thỏa tiêu chuẩn tra cứu D1
- D6: D5
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm giải đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Tìm kiếm vòng đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B6: Tìm kiếm đội thỏa tiêu chuẩn tìm kiếm (D1)
- B7: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 9
- B8: Xuất D5 ra máy in
- B9: Xuất D6 ra máy người dùng
- B10: Đóng kết nối cơ sở dữ liệu
- B11: Kết thúc
9 DFD tra cứu chi tiết giải đấu.
Trang 12Mô tả các luồng dữ liệu:
- D1: Tiêu chuẩn tra cứu (Giải đấu, Vòng đấu hiện tại, Tên cầu thủ, Đội)
- D2: Không có
- D3: Danh sách thông tin chi tiết về giải đấu
- D4: không có
- D5: Thông tin chi tiết về giải đấu thỏa tiêu chuẩn tra cứu D1
- D6: D5
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm giải đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B5: Tìm kiếm vòng đấu thỏa tiêu chuẩn tìm kiếm (D1)
- B6: Tìm kiếm cầu thủ thỏa tiêu chuẩn tìm kiếm (D1)
- B7: Tìm kiếm đội thỏa tiêu chuẩn tìm kiếm (D1)
- B8: Nếu không thỏa ít nhất một trong cách quy định trên thì tới bước 10
- B9: Xuất D5 ra máy in
- B10: Xuất D6 ra máy người dùng
- B11: Đóng kết nối cơ sở dữ liệu
- B12: Kết thúc
10 DFD cập nhật kết quả giải đấu.
Trang 13Mô tả các luồng dữ liệu:
- D1: Không có
- D2: Tên đội bóng, số trận thắng, hòa, thua, số bàn thắng, bàn thua, hiệu
số, điểm số, tên cầu thủ, số bàn thắng, số kiến tạo của cầu thủ đó
- D3: Bảng xếp hạng, danh sách cầu thủ ghi bàn, kiến tạo
- D4: D1
- D5: D4
- D6: Không có
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Tìm kiếm tên đội bóng, cầu thủ (D1)
- B5: Cập nhật thông tin tương ứng với đội bóng, cầu thủ (D1)
- B6: Lưu D4 xuống bộ nhớ phụ
- B7: Xuất D5 ra máy in
- B8: Đóng kết nối cơ sở dữ liệu
- B9: Kết thúc
Trang 1411 DFD thay đổi quy định.
Mô tả các luồng dữ liệu:
- D1: Quy định muốn thay đổi
- D2: Không có
- D3: Danh sách quy định, nội quy của giải đấu
- D4: D1
- D5: D4
- D6: Không có
Thuật toán:
- B1: Nhận D1 từ người dùng
- B2: Kết nối cơ sở dữ liệu
- B3: Đọc D3 từ bộ nhớ phụ
- B4: Kiểm tra quy định muốn thay đổi có được cho phép hay không
- B5: Nếu không thỏa quy định thì xuống bước 8
- B6: Xuất D5 ra máy in
- B7: Xuất D6 ra máy người dùng
- B8: Đóng kết nối cơ sở dữ liệu
- B9: Kết thúc