1. Trang chủ
  2. » Luận Văn - Báo Cáo

Subject analysis and design of information systems

58 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Và Thiết Kế Hệ Thống Thông Tin
Tác giả Lê Quang Minh, Hoàng Sỹ Hào, Trương Anh Đạt
Trường học Bưu Chính Viễn Thông
Chuyên ngành Phân Tích Và Thiết Kế Hệ Thống Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 58
Dung lượng 4,91 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • 1. Biểu đồ Use Case và mô tả (4)
  • 2. Kịch bản chuẩn (5)
  • 3) Biểu đồ lớp thực thể cho pha phân tích (6)
  • 4) Biểu đồ lớp đầy đủ cho pha phân tích (8)
  • 5) Biểu đồ giao tiếp (9)
  • 6) Biểu đồ lớp thực thể cho pha thiết kế (10)
  • 7) Biểu đồ CSDL (11)
  • 8) Thiết kế giao diện và biểu đồ lớp đầy đủ cho pha thiết kế (13)
  • 9) Biểu đồ hoạt động (15)
  • 10) Biểu đồ tuần tự cho pha phân tích (16)
  • 11) Biểu đồ đóng gói (19)

Nội dung

Biểu đồ Use Case và mô tả Chức năng Quản lý thông tin cầu thủ có các giao diện tương tác với quản lý:  Đăng nhập -> đề xuất UC đăng nhập  Danh sách cầu thủ -> đề xuất UC xem danh sách

Biểu đồ Use Case và mô tả

Chức năng Quản lý thông tin cầu thủ có các giao diện tương tác với quản lý:

 Đăng nhập -> đề xuất UC đăng nhập

 Danh sách cầu thủ -> đề xuất UC xem danh sách cầu thủ

 Tìm kiếm cầu thủ -> đề xuất UC tìm kiếm cầu thủ

 Thông tin chi tiết cầu thủ -> đề xuất UC xem thông tin chi tiết cầu thủ

 Đăng nhập, xem danh sách cầu thủ là bắt buộc mới hoàn thành được việc quản lý thông tin, do đó UC đăng kí include các UC này.

 Đề xuất các use case Thêm, sửa, xóa, tìm kiếm thông tin cầu thủ, do không bắt buộc nên nó được extend từ UC.

Trong đó, các use case

 Xem danh sách cầu thủ: UC cho phép quản lý xem toàn bộ danh sách thông tin của các cầu thủ trong giải đấu

 Thêm, sửa, xóa, tìm kiếm: Các UC cho phép quản lý thực hiện việc thêm mới, sửa, xóa, tìm kiếm thông tin 1 cầu thủ

Kịch bản chuẩn

Use case Quản lý thông tin cầu thủ

Người quản lý đã có tài khoản, trang quản lý đang mở

Người quản lý hoàn thành quá trình sửa thông tin cầu thủ

1 Quản lý A đăng nhập tài khoản admin với tên tài khoản: admin, mật khẩu 1234, chọn login button ở trang login A muốn xem, thêm, sửa hoặc xóa thông tin cầu thủ

2 Trang giao diện dành cho admin xuất hiện với chức năng quản lý thông tin cầu thủ

3 A chọn chức năng quản lý thông tin cầu thủ

4 Giao diện hiển thị danh sách cầu thủ bao gồm

- thông tin chi tiết về các cầu thủ: tên, đội bóng, vị trí, ngày tháng năm sinh, đi kèm với nút submit sửa/xóa

- danh sách tất cả các cầu thủ đã được đăng ký

STT Mã Tên CT Tên đội bóng

Vị trí Ngày tháng năm sinh

- chức năng tìm kiếm, thêm cầu thủ

5 A chọn tính năng chỉnh sửa

6 Hệ thống hiển thị giao diện chỉnh sửa cầu thủ

STT Mã Tên CT Tên đội bóng

Vị trí Ngày tháng năm sinh

7 A tiến hành chỉnh sửa thông tin cầu thủ được chọn, giao diện mới:

STT Mã Tên CT Tên đội bóng

Văn C Sài Gòn Tiền vệ 11/11/1991

9 Thông báo cập nhật thành công

11 Hệ thống trả lại giao diện hiển thị danh sách cầu thủ

Biểu đồ lớp thực thể cho pha phân tích

Biểu đồ gồm các lớp:

 ThanhVien: gồm tên đăng nhập, mật khẩu, email, họ tên, số điện thoại

 QuanLy: gồm năm bắt đầu quản lý, tên giải đấu quản lý và các thuộc tính kế thừa từ bảng ThanhVien

 HuanLuyenVien: số năm kinh nghiệm, quốc tịch, thành tích và các thuộc tính kế thừa từ bảng ThanhVien

 DoiBong: gồm tên, ngày thành lập, tên sân nhà

 CauThu: tên, ngày tháng năm sinh, vị trí

Xác định quan hệ giữa các lớp:

 QuanLy và HuanLuyenVien sẽ kế thừa từ lớp ThanhVien

Lớp HuanLuyenVienDoiBong được đề xuất nhằm tạo sự kết nối giữa huấn luyện viên và đội bóng, bởi vì một đội bóng có thể có nhiều huấn luyện viên trong suốt thời gian hoạt động, và một huấn luyện viên cũng có khả năng dẫn dắt nhiều đội bóng khác nhau.

CauThu - DoiBong là một mối quan hệ quan trọng trong bóng đá, nơi mỗi cầu thủ có thể gắn bó với nhiều đội bóng trong suốt sự nghiệp của mình Đề xuất lớp CauThuDoiBong giúp kết nối rõ ràng giữa một cầu thủ và đội bóng mà họ thi đấu, từ đó tạo điều kiện thuận lợi cho việc quản lý thông tin và theo dõi sự nghiệp của cầu thủ.

Biểu đồ lớp đầy đủ cho pha phân tích

Ban đầu, giao diện đăng nhập -> đề xuất lớp GDDangNhap, cần có:

 input: tên đăng nhập, mật khẩu

 nút kiểu submit: đăng nhập

Bước 2, giao diện trang chủ quản lý -> đề xuất GDTrangChuQuanLy, cần có:

 output: Thông tin người quản lý

 nút kiểu submit: Quản lý cầu thủ

Bước 3: giao diện trang quản lý -> đề xuất GDTrangQuanLy, cần có:

 output: Thông tin danh sách các cầu thủ

 nút kiểu submit: thêm, sửa, xóa, quay lại Để có danh sách thông tin cầu thủ, cần xử lí dưới hệ thống:

 output: danh sách các cầu thủ

 đề xuất phương thức getDanhSachCauThu(), gán cho lớp CauThu

Nếu chọn thêm cầu thủ, chuyển đến giao diện thêm cầu thủ -> đề xuất TrangThemCauThu:

 input: tên cầu thủ, tên đội bóng, vị trí, ngày tháng năm sinh

 nút kiểu submit: Thêm, quay lại

Sau khi thêm cầu thủ, cần xử lí dưới hệ thống:

 lưu cầu thủ mới đã thêm vào danh sách cầu thủ

 input: thông tin cầu thủ vừa thêm

 output: thành công hay không

 đề xuất phương thức themCauThu() gán cho lớp CauThu

Nếu chọn chỉnh sửa cầu thủ, chuyển đến giao diện chỉnh sửa cầu thủ -> đề xuất TrangChinhSuaCauThu:

 Tên cầu thủ, tên đội bóng, vị trí, ngày tháng năm sinh: vừa input vừa output

 nút kiểu submit: nút lưu, quay lại

Sau khi chỉnh sửa cầu thủ, cần xử lí dưới hệ thống:

 cập nhật thông tin cầu thủ mới thay thế thông tin cũ và thêm vào danh sách cầu thủ

 input: thông tin cầu thủ vừa thêm

 output: thành công hay không

 đề xuất phương thức chinhSuaCauThu() gán cho lớp CauThu

Biểu đồ giao tiếp

1 Quản lý đăng nhập vào GDDangNhap

2 GDDangNhap gọi đến lớp ThanhVien

3 ThanhVien xử lý hàm checkDangNhap()

4 ThanhVien xử lý hàm getThongTinNguoiDung()

5 Lớp ThanhVien trả về GDDangNhap

7 GDTrangChuQuanLy hiển thị cho quản lý

8 Quản lý chọn "Quản lý thông tin cầu thủ" trong GDTrangChuQuanLy

10.GDTrangQuanLy gọi đến lớp CauThu

11.CauThu xử lý hàm getDanhSachCauThu()

13.GDTrangQuanLy hiển thị danh sách đội bóng cho quản lý

14.Quản lý chọn thêm cầu thủ trong GDTrangQuanLy

16.GDThemCauThu hiển thị cho quản lý

17.Quản lý nhập thông tin để thêm trong GDThemCauThu

18.GDThemCauThu gọi đến lớp CauThu

19.CauThu xử lý hàm themCauThu() để thêm cầu thủ mới vào CSDL 20.CauThu trả về GDThemCauThu

22.GDTrangQuanLy hiển thị cho quản lý

23.Quản lý chọn chỉnh sửa cầu thủ trong GDTrangQuanLy

25.GDChinhSuaCauThu gọi đến lớp CauThu

26.CauThu xử lý hàm getThongTinChiTietCauThu

28.GDChinhSuaCauThu hiển thị cho quản lý

29.Quản lý nhập thông tin để sửa trong GDChinhSuaCauThu

30.GDChinhSuaCauThu gọi đến lớp CauThu

31.CauThu xử lý hàm chinhSuaCauThu() để lưu cầu thủ đã sửa vào CSDL 32.CauThu trả về GDChinhSuaCauThu

34.GDTrangQuanLy hiển thị cho quản lý

Biểu đồ lớp thực thể cho pha thiết kế

Bước 1: Bổ sung thuộc tính id(mã) cho các lớp, trừ các lớp kế thừa

Bước 2: Bổ sung kiểu dữ liệu theo ngôn ngữ lập trình đã chọn cho tất cả các thuộc tính của lớp (ở đây là theo ngôn ngữ Java)

Bước 3: Chuyển các quan hệ đối tượng

 Quan hệ HuanLuyenVien – DoiBong -> HuanLuyenVienDoiBong chuyển thành HuanLuyenVienDoiBong chứa HuanLuyenVien và DoiBong chứa HuanLuyenVienDoiBong

 Quan hệ CauThu – DoiBong -> CauThuDoiBong chuyển thành CauThuDoiBong chứa CauThu và DoiBong chứa CauThuDoiBong

Bước 4: Bổ sung các thuộc tính thành phần của quan hệ aggregation/composition

Biểu đồ CSDL

Bước 1: Với mỗi lớp thực thể, đề xuất một bảng dữ liệu tương ứng

Bước 2: Đưa thuộc tính không phải đối tượng của lớp thực thể thành thuộc tính của bảng tương ứng

 tblThanhVien có các thuộc tính: id, tenTK, matKhau, tenDayDu, email, SDT, ngaySinh

 tblQuanLy có các thuộc tính: namBatDau, tenGiaiDauQuanLy

 tblHuanLuyenVien có các thuộc tính: namKinhNghiem, quocTich, thanhTich

 tblDoiBong có các thuộc tính: id, tenDoiBong, ngayThanhLap

 tblCauThu có các thuộc tính: id, tenCauThu, ngaySinh, viTri, chieuCao, canNang

 tblHuanLuyenVienDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

 tblCauThuDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

Bước 3: Chuyến quan hệ số lượng giữa các lớp thực thể thành quan hệ số lượng giữa các bảng

Bước 4: Bổ sung các thuộc tính khóa

Khóa chính được xác định thông qua thuộc tính id của các bảng, ngoại trừ bảng tblHuanLuyenVien và tblQuanLy Hai bảng này kế thừa từ lớp ThanhVien, do đó, khóa chính của chúng sẽ là khóa chính của lớp ThanhVien.

Khóa ngoại được thiết lập cho các bảng:

 1 tblHuanLuyenVien – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblHuanLuyenVienid

 1 tblDoiBong – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblDoiBongid

 1 tblDoiBong – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblDoiBongid

 1 tblCauThu – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblCauThuid

Thiết kế giao diện và biểu đồ lớp đầy đủ cho pha thiết kế

2) Biểu đồ lớp đầy đủ cho pha phân tích

 Truy cập lần đầu: gọi đến trang DangNhap.jsp

 Sau khi đăng xuất: trở về trang DangNhap.jsp

 Đăng nhập lỗi: gọi DangNhap.jsp?error=1

 Sau khi đăng nhập thành công: chuyển đến trang TrangChuQuanLy.jsp TrangQuanLy.jsp

 Call từ TrangChuQuanLy.jsp: TrangQuanLy.jsp

 Chọn “Quay lại” từ TrangThemCauThu.jsp: TrangQuanLy.jsp?back=true

 Chọn “Quay lại” từ TrangChinhSuaCauThu.jsp: TrangQuanLy.jsp? back=true

 Chọn “Thêm” từ TrangThemCauThu.jsp: TrangQuanLy.jsp? idAddNew=true

 Chọn “Lưu” từ TrangSuaCauThu.jsp: TrangQuanLy.jsp?idEditNew=x

 Chọn “Không” sau khi chọn xóa cầu thủ: TrangQuanLy.jsp?back=true

 Chọn “Có” sau khi chọn xóa cầu thủ: TrangQuanLy.jsp?idDelete=true TrangThemCauThu.jsp

 Thêm cầu thủ thất bại: gọi TrangThemCauThu.jsp?error=1

 Chỉnh sửa cầu thủ thất bại: gọi TrangChinhSuaCauThu.jsp?error=1

Biểu đồ tuần tự cho pha phân tích

1 Quản lý truy cập trang đăng nhập Tại giao diện đăng nhập, quản lý nhập tên đăng nhập và mật khẩu, sau đó chọn đăng nhập

2 Trang DangNhap.jsp gọi trang doDangNhap.jsp

3 Trang doDangNhap.jsp gọi lớp ThanhVien

5 Lớp ThanhVien trả về Trang doDangNhap.jsp

6 Trang doDangNhap.jsp gọi lớp ThanhVienDAO để kiểm tra tính hợp lệ

7 Lớp ThanhVienDAO gọi hàm checkDangNhap

8 Lớp ThanhVienDAO gọi lớp QuanLy

10.Lớp QuanLy trả về Lớp ThanhVienDAO

11.Lớp ThanhVienDAO trả về trang doDangNhap.jsp

12.Trang doDangNhap.jsp gọi lớp TrangChuQuanLy.jsp

13.TrangChuQuanLy.jsp hiển thị cho người quản lý

14.Quản lý ấn chọn chức năng Quản lý thông tin cầu thủ

15.TrangChuQuanLy.jsp gọi đến TrangQuanLy.jsp

16.TrangQuanLy.jsp gọi đến lớp CauThuDAO

17.Hàm getDanhSachCauThu được gọi để trả về danh sách thông tin các cầu thủ

18.Lớp CauThuDAO gọi đến lớp CauThu

20.Lớp CauThu trả về lớp CauThuDAO

21.Lớp CauThuDAO trả về TrangQuanLy.jsp

22.TrangQuanLy.jsp hiển thị cho người quản lý

23.Quản lý chọn cầu thủ để chỉnh sửa

24.TrangQuanLy.jsp gọi đến TrangChinhSuaCauThu.jsp

25.TrangChinhSuaCauThu.jsp gọi đến lớp CauThuDAO

26.Hàm getThongTinCauThu được gọi để trả về thông tin chi tiết của 1 cầu thủ

27.Lớp CauThuDAO gọi lớp CauThu

29.Lớp CauThu trả về lớp CauThuDAO

30.Lớp CauThuDAO trả về TrangChinhSuaCauThu.jsp

31.TrangChinhSuaCauThu.jsp hiển thị cho quản lý

32.Quản lý chỉnh sửa thông tin cầu thủ

33.TrangChinhSuaCauThu.jsp gọi doChinhSuaCauThu.jsp

35.Lớp CauThuDAO gọi hàm chinhSuaCauThu() để kiểm tra hợp lệ và lưu vào CSDL

36.Lớp CauThuDAO gọi lớp CauThu

38.Lớp CauThu trả về lớp CauThuDAO

39.Lớp CauThuDAO trả vè doLuuChinhSua.jsp

40.doLuuChinhSua.jsp trả về TrangChinhSuaCauThu.jsp 41.TrangChinhSuaCauThu.jsp trả về TrangDanhSachTranDau.jsp

42 TrangDanhSachTranDau.jsp hiển thị cho người dùng

Biểu đồ đóng gói

II/ Chức năng Đăng ký cầu thủ thi đấu

1 Biểu đồ Use Case và mô tả

Chức năng Đăng ký cầu thủ thi đấu có các giao diện tương tác với huấn luyện viên:

 Đăng nhập -> UC đăng nhập

 Chọn vòng đấu -> đề xuất UC chọn vòng đấu

 Chọn trận đấu đăng ký -> đề xuất UC chọn trận đấu muốn đăng ký

 Đăng ký cầu thủ -> đề xuất UC đăng ký cầu thủ

 Đăng nhập, chọn vòng đấu, chọn trận đấu, đăng ký cầu thủ là bắt buộc nên nó được include

 Đề xuất use case Tìm kiếm trận đấu, vì nó không bắt buộc nên nó được extend

Use case Đăng ký cầu thủ thi đấu

Huấn luyện viên đã có tài khoản, trang huấn luyện viên đang mở

Huấn luyện viên hoàn thành quá trình đăng ký cầu thủ

1 Huấn luyện viên A đăng nhập tài khoản user với tên tài khoản:

A, mật khẩu 1234, chọn login button ở trang login A muốn đăng ký cầu thủ cho trận đấu

2 Trang giao diện dành cho HLV xuất hiện với chức năng đăng ký cầu thủ thi đấu

3 A chọn chức năng đăng ký cầu thủ thi đấu

4 Trang chọn vòng đấu hiển thị:

 thanh chọn vòng đấu (1 comboBox hiển thị danh sách các vòng đấu hợp lệ)

 nút: Danh sách trận đấu

5 A chọn 1 vòng đấu từ thanh chọn và ấn nút Danh sách trận đấu

6 Giao diện hiển thị danh sách trận đấu bao gồm

- thông tin chi tiết về trận đấu: tên đội nhà, đội khách, thời gian bắt đầu, ngày bắt đầu, sân vận động

- danh sách tất cả các trận đấu

Tên đội khách Thời gian bắt đầu Thời gian bắt đầu SVD

7 A chọn 1 trận đấu và chọn chức năng đăng ký cầu thủ

8 Danh sách các cầu thủ của đội bóng hiện ra, đi kèm với trạng thái đăng ký cầu thủ

STT Mã CT Tên CT Tên đội bóng

Vị trí Ngày tháng năm sinh Đăng ký

9 A tiến hành chọn các cầu thủ (Hoàng Văn C và Nguyễn Bình D) và ấn vào tùy chọn đăng ký, giao diện mới:

STT Mã CT Tên CT Tên đội bóng

Vị trí Ngày tháng năm sinh Đăng ký

11 Thông báo đăng ký cầu thủ thành công hiện lên

13 Hệ thống trả lại giao diện hiển thị các trận đấu

3) Biểu đồ lớp thực thể cho pha phân tích

Biểu đồ gồm các lớp:

 ThanhVien: gồm tên đăng nhập, mật khẩu, email, họ tên, số điện thoại

 QuanLy: gồm năm bắt đầu quản lý, tên giải đấu quản lý và các thuộc tính kế thừa từ bảng ThanhVien

 HuanLuyenVien: số năm kinh nghiệm, quốc tịch, thành tích và các thuộc tính kế thừa từ bảng ThanhVien

 DoiBong: gồm tên, ngày thành lập, tên sân nhà

 CauThu: tên, ngày tháng năm sinh, vị trí

 VongDau: số thứ tự vòng đấu

 TranDau: gồm tên đội nhà, tên đội khách, ngày thi đấu, nơi diễn ra Xác định quan hệ giữa các lớp:

 QuanLy và HuanLuyenVien sẽ kế thừa từ lớp ThanhVien

HuanLuyenVien - DoiBong là một lớp học kết nối giữa huấn luyện viên và đội bóng, nhằm phản ánh thực tế rằng một đội bóng có thể có nhiều huấn luyện viên theo thời gian, và một huấn luyện viên cũng có thể dẫn dắt nhiều đội bóng khác nhau.

CauThu - DoiBong là một lớp kết nối giữa cầu thủ và đội bóng, nhằm phản ánh mối quan hệ giữa nhiều cầu thủ và nhiều đội bóng Điều này cho phép mỗi cầu thủ có thể thi đấu cho nhiều đội bóng trong suốt sự nghiệp của mình.

Lớp DoiBongTranDau được đề xuất nhằm kết nối giữa một đội bóng và một trận đấu, phản ánh thực tế rằng một đội bóng có thể tham gia nhiều trận đấu, trong khi mỗi trận đấu lại có sự góp mặt của nhiều đội bóng khác nhau.

TranDau - CauThuDoiBong là một lớp đề xuất kết nối giữa cầu thủ và trận đấu Trong đó, một trận đấu có thể đăng ký nhiều cầu thủ, và một cầu thủ có thể tham gia nhiều trận khác nhau Điều này giúp quản lý thông tin cầu thủ và trận đấu một cách hiệu quả.

 VongDau - TranDau: 1-n Vì 1 vòng đấu có nhiều trận đấu

4) Biểu đồ lớp đầy đủ cho pha phân tích

Ban đầu, giao diện đăng nhập -> đề xuất lớp GDDangNhap, cần có:

 input: tên đăng nhập, mật khẩu

 nút kiểu submit: đăng nhập

Bước 2, giao diện trang chủ HLV -> đề xuất GDTrangChuHLV, cần có:

 nút kiểu submit: Đăng ký cầu thủ thi đấu

Bước 3: giao diện trang chọn vòng đấu -> đề xuất GDTrangChonVongDau, cần có:

 Thanh chọn vòng đấu: vừa input vừa output

 Nút kiểu submit: Danh sách trận đấu Để có danh sách vòng đấu, cần xử lí dưới hệ thống:

 output: danh sách vòng đấu

 đề xuất phương thức getDanhSachVongDau() gán cho lớp VongDau

Bước 4: giao diện trang danh sách trận đấu -> đề xuất

 output: Danh sách các trận đấu

 nút kiểu submit: Đăng ký cầu thủ, quay lại, tìm kiếm Để có danh sách trận đấu, cần xử lí dưới hệ thống:

 output: danh sách các trận đấu của vòng đấu

 đề xuất phương thức getDanhSachTranDau() gán cho lớp TranDau Bước 5: đăng ký cầu thủ -> đề xuất GDDangKyCauThuThiDau

 output: Danh sách các cầu thủ đội bóng

 nút kiểu submit: Lưu, quay lại Để có danh sách cầu thủ đội bóng, cần xử lí dưới hệ thống:

 output: danh sách các cầu thủ của đội

 đề xuất phương thức getDanhSachCauThuDoiBong() gán cho lớp CauThuDoiBong Để hoàn thành việc lưu cầu thủ đăng ký, cần xử lí dưới hệ thống:

 input: danh sách cầu thủ đội bóng + trạng thái đăng ký

 output: thành công hay không

 đề xuất phương thức capNhatCauThuDangKy() gán cho lớp CauThudangKyTranDau

2 GDTrangChuHLV hiển thị cho HLV

3 GDTrangChuHLV chọn "Đăng ký cầu thủ" trong GDTrangChuHLV

5 GDTrangChonVongDau hiển thị cho HLV

6 HLV chọn thanh Vòng đấu trong GDTrangChonVongDau

7 GDTrangChonVongDau gọi đến lớp VongDau

8 VongDau xử lý hàm getDanhSachVongDau()

10.GDTrangChonVongDau hiển thị danh sách vòng đấu để HLV chọn 11.HLV chọn 1 vòng đấu và ấn Danh sách trận đấu ở

14.TranDau xử lý hàm getDanhSachTranDau

16.GDDanhSachTranDau hiển thị cho HLV

17.HLV chọn 1 trận đấu và chọn Đăng ký cầu thủ thi đấu ở

20.CauThuDoiBong xử lý hàm getDanhSachCauThuDoiBong 21.CauThuDoiBong trả về GDDangKyCauThuThiDau

22.GDDangKyCauThuThiDau hiển thị cho HLV

23.HLV ấn tick chọn “Đăng ký” và ấn Lưu

25 CauThuDangKyTranDau xử lý hàm capNhatCauThuDangKy

28.GDDanhSachTranDau hiển thị cho HLV

6) Biểu đồ lớp thực thể cho pha thiết kế

Bước 1: Bổ sung thuộc tính id(mã) cho các lớp, trừ các lớp kế thừa

Các lớp được bổ sung thuộc tính id: trừ các lớp HuanLuyenVien, QuanLy

Bước 2: Bổ sung kiểu dữ liệu theo ngôn ngữ lập trình đã chọn cho tất cả các thuộc tính của lớp

Thuộc tính của các lớp được bổ sung thuộc tính theo kiểu của ngôn ngữ lập trình Java

Bước 3: Chuyển các quan hệ đối tượng

 Quan hệ HuanLuyenVien – DoiBong -> HuanLuyenVienDoiBong chuyển thành HuanLuyenVienDoiBong chứa HuanLuyenVien và DoiBong chứa HuanLuyenVienDoiBong

 Quan hệ CauThu – DoiBong -> CauThuDoiBong chuyển thành

CauThuDoiBong chứa CauThu và DoiBong chứa CauThuDoiBong

 Quan hệ TranDau – DoiBong -> DoiBongTranDau chuyển thành DoiBongTranDau chứa DoiBong và TranDau chứa DoiBongTranDau

 Quan hệ CauThuDoiBong – TranDau -> CauThuDangKyTranDau chuyển thành CauThuDangKyTranDau chứa CauThuDoiBong và TranDau chứa CauThuDangKyTranDau

Bước 4: Bổ sung các thuộc tính thành phần của quan hệ aggregation/composition

Bước 1: Với mỗi lớp thực thể, đề xuất một bảng dữ liệu tương ứng

Bước 2: Đưa thuộc tính không phải đối tượng của lớp thực thể thành thuộc tính của bảng tương ứng

 tblThanhVien có các thuộc tính: id, tenTK, matKhau, tenDayDu, email, SDT, ngaySinh

 tblQuanLy có các thuộc tính: namBatDau, tenGiaiDauQuanLy

 tblHuanLuyenVien có các thuộc tính: namKinhNghiem, quocTich, thanhTich

 tblDoiBong có các thuộc tính: id, tenDoiBong, ngayThanhLap

 tblCauThu có các thuộc tính: id, tenCauThu, ngaySinh, viTri, chieuCao, canNang

 tblHuanLuyenVienDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

 tblCauThuDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

 tblTranDau có các thuộc tính: id, tenDoiNha, tenDoiKhach, ngayThiDau, noiDienRa

 tblDoiBongTranDau có các thuộc tính: id, vaiTro

 tblCauThuDangKyTranDau có các thuộc tính: id, trangThai

Bước 3: Chuyến quan hệ số lượng giữa các lớp thực thể thành quan hệ số lượng giữa các bảng

Bước 4: Bổ sung các thuộc tính khóa

Khóa chính được xác định thông qua thuộc tính id của các bảng, ngoại trừ các bảng tblHuanLuyenVien và tblQuanLy Hai bảng này kế thừa từ lớp ThanhVien, do đó khóa chính của chúng sẽ tương ứng với khóa chính của lớp ThanhVien.

Khóa ngoại được thiết lập cho các bảng:

 1 tblHuanLuyenVien – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblHuanLuyenVienid

 1 tblDoiBong – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblDoiBongid

 1 tblDoiBong – n tblDoiBongTranDau -> bảng tblDoiBongTranDau có khóa ngoại tblDoiBongid

 1 tblDoiBong – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblDoiBongid

 1 tblCauThu – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblCauThuid

 1 tblTranDau – n tblDoiBongTranDau -> bảng tblDoiBongTranDau có khóa ngoại tblTranDauid

 1 tblVongDau – n tblTranDau -> bảng tblTranDau có khóa ngoại tblVongDauid

 1 tblCauThuDoiBong – n tblCauThuDangKyTranDau -> bảng tblCauThuDangKyTranDau có khóa ngoại tblCauThuDoiBongid

 1 tblTranDau – n tblCauThuDangKyTranDau -> bảng tblCauThuDangKyTranDau có khóa ngoại tblTranDauid

8) Thiết kế giao diện và biểu đồ lớp đầy đủ cho pha thiết kế

2) Biểu đồ lớp đầy đủ cho pha phân tích

 Sau khi đăng nhập thành công: chuyển đến trang TrangChuHLV.jsp TrangChonVongDau.jsp

 Call từ TrangChuHLV.jsp: TrangChonVongDau.jsp

 Call từ TrangChuHLV.jsp: TrangDanhSachTranDau.jsp

 Chọn “Quay lại” từ TrangDangKyCauThu.jsp:

 Chọn “Lưu” từ TrangDangKyCauThu.jsp: TrangDanhSachTranDau.jsp? idSave=x

 Call từ TrangDanhSachTranDau.jsp: TrangDangKyCauThu

Lưu đăng ký thất bại: gọi TrangDangKyCauThu.jsp?error=1

10) Biểu đồ tuần tự cho pha phân tích

1 Huấn luyện viên ấn chọn chức năng Đăng ký cầu thủ thi đấu

2 TrangChuHLV.jsp gọi đến TrangChonVongDau.jsp

3 TrangChonVongDau.jsp hiển thị cho HLV

4 HLv chọn thanh Vòng đấu ở TrangChonVongDau.jsp

5 TrangChonVongDau.jsp gọi đến lớp VongDauDAO

6 Lớp VongDauDAO gọi hàm getDanhSachVongDau

7 lớp VongDauDAO gọi lớp VongDau

9 Lớp VongDau trả về VongDauDAO

10.VongDauDAO trả về TrangChonVongDau.jsp

11.TrangChonVongDau.jsp hiển thị cho HLV

12.HLV chọn 1 vòng đấu và ấn Danh sách trận đấu

13.TrangChonVongDau.jsp gọi đến TrangDanhSachTranDau.jsp

14.TrangDanhSachTranDau.jsp gọi lớp TranDauDAO

18.Lớp TranDau trả về TranDauDAO

19.TranDauDAO trả về TrangDanhSachTranDau.jsp

20.TrangDanhSachTranDau.jsp hiển thị cho HLV

21.HLV chọn trận đấu muốn đăng ký

22.TrangDanhSachTranDau.jsp gọi TrangDangKyCauThu.jsp

27.lớp CauThuDoiBong trả về CauThuDoiBongDAO

28.CauThuDoiBongDAO trả về TrangDangKyCauThu.jsp

29.TrangDangKyCauThu.jsp hiển thị cho HLV

30.HLV chọn cầu thủ đky

31.TrangDangKyCauThu.jsp gọi doLuuDangKyCauThu.jsp

33.CauThuDangKyTranDauDAO gọi hàm capNhatCauThuDangKy để kiểm tra xem đăng ký có hợp lệ và đủ người chưa

34.CauThuDangKyTranDauDAO gọi lớp CauThuDangKyTranDau 35.lớp CauThuDangKyTranDau đóng gói

36.lớp CauThuDangKyTranDau trả về CauThuDangKyTranDauDAO 37.CauThuDangKyTranDauDAO trả về doLuuDangKy.jsp

38.doLuuDangKy.jsp trả về TrangDangKyCauThu.jsp

39.TrangDangKyCauThu.jsp trả về TrangDanhSachTranDau.jsp 40.TrangDanhSachTranDau.jsp hiển thị cho HLV

III/ Chức năng Cập nhật kết quả trận đấu

1 Biểu đồ Use Case và mô tả

Chức năng Cập nhật kết quả trận đấu có các giao diện tương tác với quản lý:

 Đăng nhập -> UC đăng nhập

 Chọn vòng đấu -> đề xuất UC chọn vòng đấu

 Chọn trận đấu cập nhật kết quả -> đề xuất UC chọn trận đấu muốn cập nhật kết quả

 Cập nhật kết quả -> đề xuất UC cập nhật kết quả

 Đăng nhập, chọn vòng đấu, chọn trận đấu, cập nhật kết quả là bắt buộc nên nó được include

 Đề xuất use case Tìm kiếm trận đấu, vì nó không bắt buộc nên nó được extend

Cập nhật kết quả trận đấu

Tiền Quản lý đã có tài khoản, trang quản lý đang mở điều kiện

Quản lý hoàn thành quá trình cập nhật kết quả trận đấu

1 Quản lý A đăng nhập tài khoản admin với tên tài khoản: Nguyễn Văn A, mật khẩu 1234, chọn nút đăng nhập ở trang đăng nhập A muốn cập nhật kết quả trận đấu

2 Trang giao diện dành cho quản lý xuất hiện với chức năng xem danh sách trận đấu

3 A chọn chức năng đăng ký cầu thủ thi đấu

4 Trang chọn vòng đấu hiển thị:

 thanh chọn vòng đấu (1 comboBox hiển thị danh sách các vòng đấu hợp lệ)

 nút: Danh sách trận đấu

5 A chọn 1 vòng đấu từ thanh chọn và ấn nút Danh sách trận đấu

6 Giao diện hiển thị danh sách trận đấu bao gồm

- thông tin chi tiết về trận đấu: tên đội nhà, đội khách, thời gian bắt đầu, ngày bắt đầu, sân vận động

- danh sách tất cả các trận đấu

Nội Đà Nẵng 17h30 27/8/2024 Hàng Đẫy

7 A chọn 1 trận đấu (có STT 002) và chọn chức năng cập nhật kết quả

8 Trang cập nhật kết quả trận đấu hiện ra

STT Số bàn đội nhà

Cầu thủ ghi bàn đội nhà

Cầu thủ ghi bàn đội khách

9 A tiến hành cập nhật kết quả

STT Số bàn đội nhà

Cầu thủ ghi bàn đội nhà

Cầu thủ ghi bàn đội khách

11 Thông báo cập nhật kết quả trận đấu thành công hiện lên

13 Hệ thống trả lại giao diện hiển thị các trận đấu

3) Biểu đồ lớp thực thể cho pha phân tích

Biểu đồ gồm các lớp:

 ThanhVien: gồm tên đăng nhập, mật khẩu, email, họ tên, số điện thoại

 QuanLy: gồm năm bắt đầu quản lý, tên giải đấu quản lý và các thuộc tính kế thừa từ bảng ThanhVien

 HuanLuyenVien: số năm kinh nghiệm, quốc tịch, thành tích và các thuộc tính kế thừa từ bảng ThanhVien

 DoiBong: gồm tên, ngày thành lập, tên sân nhà

 CauThu: tên, ngày tháng năm sinh, vị trí

 VongDau: số thứ tự vòng đấu

 TranDau: gồm tên đội nhà, tên đội khách, ngày thi đấu, nơi diễn ra

 KetQua: số bàn đội nhà, số bàn đội khahcs

 ThePhat: loại thẻ, phút nhận thẻ

Xác định quan hệ giữa các lớp:

 QuanLy và HuanLuyenVien sẽ kế thừa từ lớp ThanhVien

HuanLuyenVien - DoiBong là một mối quan hệ quan trọng trong bóng đá, khi một đội bóng có thể trải qua nhiều huấn luyện viên theo thời gian, và ngược lại, một huấn luyện viên có thể dẫn dắt nhiều đội bóng khác nhau Để tối ưu hóa sự kết nối này, đề xuất lớp HuanLuyenVienDoiBong sẽ giúp xây dựng mối liên hệ chặt chẽ giữa mỗi huấn luyện viên và đội bóng mà họ dẫn dắt.

CauThu - DoiBong là một mối quan hệ quan trọng trong bóng đá, nơi một cầu thủ có thể thi đấu cho nhiều đội bóng khác nhau trong suốt sự nghiệp của mình Để quản lý và thể hiện mối liên kết này, chúng tôi đề xuất lớp CauThuDoiBong, giúp kết nối giữa từng cầu thủ và đội bóng mà họ đại diện.

Lớp DoiBongTranDau được đề xuất nhằm kết nối giữa một đội bóng và một trận đấu, vì mỗi đội bóng có thể tham gia nhiều trận đấu khác nhau, trong khi mỗi trận đấu lại có sự góp mặt của nhiều đội bóng.

TranDau - CauThuDoiBong là một lớp được đề xuất để kết nối giữa cầu thủ và trận đấu Trong hệ thống này, một trận đấu có thể đăng ký nhiều cầu thủ, và một cầu thủ có thể được đăng ký cho nhiều trận đấu khác nhau Điều này giúp quản lý thông tin cầu thủ và trận đấu một cách hiệu quả hơn.

 VongDau - TranDau: 1-n Vì 1 vòng đấu có nhiều trận đấu

 TranDau – KetQua: 1-1 Vì 1 trận đấu chỉ có 1 kết quả

 CauThuDangKyTranDau – BanThang: 1-n Vì 1 cầu thủ thi đấu có thể ghi nhiều bàn thắng

 CauThuDangKyTranDau – ThePhat: 1-n Vì 1 cầu thủ thi đấu có thể nhận nhiều thẻ phạt

4) Biểu đồ lớp đầy đủ cho pha phân tích

Ban đầu, giao diện đăng nhập -> đề xuất lớp GDDangNhap, cần có:

 input: tên đăng nhập, mật khẩu

 nút kiểu submit: đăng nhập

Bước 2, giao diện trang chủ quản lý -> đề xuất GDTrangChuQuanLy, cần có:

 output: Thông tin quản lý

 nút kiểu submit: Cập nhật kết quả trận đấu

Bước 3: giao diện trang chọn vòng đấu -> đề xuất GDTrangChonVongDau, cần có:

 Thanh chọn vòng đấu: vừa input vừa output

 Nút kiểu submit: Danh sách trận đấu Để có danh sách vòng đấu, cần xử lí dưới hệ thống:

 output: danh sách vòng đấu

 đề xuất phương thức getDanhSachVongDau() gán cho lớp VongDau

Bước 4: giao diện trang danh sách trận đấu -> đề xuất

 output: Danh sách các trận đấu

 nút kiểu submit: Cập nhật, quay lại, tìm kiếm Để có danh sách trận đấu, cần xử lí dưới hệ thống:

 output: danh sách các trận đấu của vòng đấu

 đề xuất phương thức getDanhSachTranDau() gán cho lớp TranDau Bước 5: Cập nhật kết quả -> đề xuất GDCapNhatKetQua

 input: số bàn đội nhà, số bàn đội khách, số thẻ phạt

 Cầu thủ ghi bàn đội nhà / đội khách: vừa input vừa output Để có danh sách cầu thủ thi đấu trong trận, cần xử lí dưới hệ thống:

 output: danh sách các cầu thủ đăng ký thi đấu

 đề xuất phương thức getDanhSachCauThuDangKyThiDau() gán cho lớp CauThuDangKyThiDau Để hoàn thành việc lưu cầu thủ đăng ký, cần xử lí dưới hệ thống:

 input: kết quả trận đấu

 output: thành công hay không

 đề xuất phương thức capNhatKetQuaTranDau() gán cho lớp KetQua Sau khi cập nhật thành công, cần xử lý dưới hệ thống

 cập nhật thông tin về bàn thắng và thẻ phạt

 input: id cầu thủ đăng ký thi đấu

 output: đối tượng sau khi được cập nhật

 đề xuất phương thức capNhatBanThang() gán cho lớp BanThang và phương thức capNhatThePhat() gán cho lớp ThePhat

1 Quản lý gọi đến GDTrangChuQuanLy

2 GDTrangChuQuanLy hiển thị cho Quản lý

3 GDTrangChuQuanLy chọn "Cập nhật kết quả" trong

5 GDTrangChonVongDau hiển thị cho Quản lý

6 QuanLy chọn thanh Vòng đấu trong GDTrangChonVongDau

7 GDTrangChonVongDau gọi đến lớp VongDau

8 VongDau xử lý hàm getDanhSachVongDau()

10.GDTrangChonVongDau hiển thị danh sách vòng đấu để quản lý chọn 11.QuanLy chọn 1 vòng đấu và ấn Danh sách trận đấu ở

14.TranDau xử lý hàm getDanhSachTranDau

16.GDDanhSachTranDau hiển thị cho quản lý

17.QuanLy chọn 1 trận đấu và chọn Cập nhật kết quả

19.GDCapNhatKetQua hiển thị cho quản lý

20.Quản lý ấn vào thanh Cầu thủ ghi bàn ở GDCapNhatketQua 21.GDCapNhatKetQua gọi lớp CauThuDangKyTranDau

22.lớp CauThuDangKyTranDau xử lý hàm getDanhSachCauThudangKyTranDau

23.lớp CauThuDangKyTranDau trả về GDCapNhatKetQua

24.GDCapNhatKetQua hiển thị cho quản lý

25.Quản lý ấn tick chọn Cầu thủ ghi bàn và tiến hành Cập nhật kết quả26.GDCapNhatKetQua gọi lớp KetQua

27.Lớp KetQua xử lý hàm capNhatketQua

28.Lớp KetQua trả về GDCapnhatketQua

30.Lớp BanThang xủ lý hàm capNhatBanThang

31.Lớp BanThang trả về GDCapNhatKetQua

33.Lớp ThePhat xử lý hàm capNhatThePhat

34.Lớp ThePhat trả về GDCapNhatKetQua

36.GDDanhSachTranDau hiển thị cho Quản lý

6) Biểu đồ lớp thực thể cho pha thiết kế

Bước 1: Bổ sung thuộc tính id(mã) cho các lớp, trừ các lớp kế thừa

Bước 2: Bổ sung kiểu dữ liệu theo ngôn ngữ lập trình đã chọn cho tất cả các thuộc tính của lớp (ở đây là Java)

Bước 3: Chuyển các quan hệ đối tượng

 Quan hệ HuanLuyenVien – DoiBong -> HuanLuyenVienDoiBong chuyển thành HuanLuyenVienDoiBong chứa HuanLuyenVien và DoiBong chứa HuanLuyenVienDoiBong

 Quan hệ CauThu – DoiBong -> CauThuDoiBong chuyển thành CauThuDoiBong chứa CauThu và DoiBong chứa CauThuDoiBong

 Quan hệ TranDau – DoiBong -> DoiBongTranDau chuyển thành DoiBongTranDau chứa DoiBong và TranDau chứa DoiBongTranDau

 Quan hệ CauThuDoiBong – TranDau -> CauThuDangKyTranDau chuyển thành CauThuDangKyTranDau chứa CauThuDoiBong và TranDau chứa CauThuDangKyTranDau

Bước 4: Bổ sung các thuộc tính thành phần của quan hệ aggregation/composition

Bước 1: Với mỗi lớp thực thể, đề xuất một bảng dữ liệu tương ứng

Bước 2: Đưa thuộc tính không phải đối tượng của lớp thực thể thành thuộc tính của bảng tương ứng

 tblThanhVien có các thuộc tính: id, tenTK, matKhau, tenDayDu, email, SDT, ngaySinh

 tblQuanLy có các thuộc tính: namBatDau, tenGiaiDauQuanLy

 tblHuanLuyenVien có các thuộc tính: namKinhNghiem, quocTich, thanhTich

 tblDoiBong có các thuộc tính: id, tenDoiBong, ngayThanhLap

 tblCauThu có các thuộc tính: id, tenCauThu, ngaySinh, viTri, chieuCao, canNang

 tblHuanLuyenVienDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

 tblCauThuDoiBong có các thuộc tính: id, ngayBatDauHD, ngayKetThucHD

 tblTranDau có các thuộc tính: id, tenDoiNha, tenDoiKhach, ngayThiDau, noiDienRa

 tblDoiBongTranDau có các thuộc tính: id, vaiTro

 tblCauThuDangKyTranDau có các thuộc tính: id, trangThai

 tblBanThang có các thuộc tính: id, phutGhiban

 tblThePhat có các thuộc tính: id, loaiThe, phutNhanThe

 tblKetQua có các thuộc tính: id, soBanDoiNha, soBanDoiKhachBước 3: Chuyến quan hệ số lượng giữa các lớp thực thể thành quan hệ số lượng giữa các bảng

Bước 4: Bổ sung các thuộc tính khóa

Khóa chính được thiết lập dựa trên thuộc tính id của các bảng, ngoại trừ các bảng tblHuanLuyenVien và tblQuanLy Hai bảng này kế thừa từ lớp ThanhVien, do đó, khóa chính của chúng sẽ là khóa chính của lớp ThanhVien.

Khóa ngoại được thiết lập cho các bảng:

 1 tblHuanLuyenVien – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblHuanLuyenVienid

 1 tblDoiBong – n tblHuanLuyenVienDoiBong -> bảng tblHuanLuyenVienDoiBong có khóa ngoại tblDoiBongid

 1 tblDoiBong – n tblDoiBongTranDau -> bảng tblDoiBongTranDau có khóa ngoại tblDoiBongid

 1 tblDoiBong – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblDoiBongid

 1 tblCauThu – n tblCauThuDoiBong -> bảng tblCauThuDoiBong có khóa ngoại tblCauThuid

 1 tblTranDau – n tblDoiBongTranDau -> bảng tblDoiBongTranDau có khóa ngoại tblTranDauid

 1 tblVongDau – n tblTranDau -> bảng tblTranDau có khóa ngoại tblVongDauid

 1 tblCauThuDoiBong – n tblCauThuDangKyTranDau -> bảng tblCauThuDangKyTranDau có khóa ngoại tblCauThuDoiBongid

 1 tblTranDau – n tblCauThuDangKyTranDau -> bảng tblCauThuDangKyTranDau có khóa ngoại tblTranDauid

 1 tblCauThuDangKyTranDau – n tblBanThang -> bảng tblBanThang có khóa ngoại tblCauThuDangKyTranDauid

 1 tblCauThuDangKyTranDau – n tblThePhat -> bảng tblThePhat có khóa ngoại tblCauThuDangKyTranDauid

 1 tblTranDau – 1 tblKetQua -> bảng tblKetQua có khóa ngoại tblTranDauid

8) Thiết kế giao diện và biểu đồ lớp đầy đủ cho pha thiết kế

2) Biểu đồ lớp đầy đủ cho pha thiết kế

 Sau khi đăng nhập thành công: chuyển đến trang TrangChuQuanLy.jsp TrangChonVongDau.jsp

 Call từ TrangChuQuanLy.jsp: TrangChonVongDau.jsp

 Chuyển đến trang danh sách trận đấu thất bại: TrangChonVongDau.jsp? error=1

 Call từ TrangChuQuanLy.jsp: TrangDanhSachTranDau.jsp

 Chọn “Quay lại” từ TrangCapNhatKetQua.jsp:

 Chọn “Lưu” từ TrangCapNhatKetQua.jsp: TrangDanhSachTranDau.jsp? idSave=x

 Call từ TrangDanhSachTranDau.jsp: TrangDangKyCauThu

 Lưu cập nhật kết quả thất bại: TrangCapNhatKetQua.jsp?error=1

10) Biểu đồ tuần tự cho pha phân tích

1 Quản lý ấn chọn chức năng Cập nhật kết quả trận đấu

2 TrangChuQuanLy.jsp gọi đến TrangChonVongDau.jsp

3 TrangChonVongDau.jsp hiển thị cho Quản lý

4 Quản lý ấn chọn thanh Vòng đấu ở TrangChonVongDau.jsp

5 TrangChonVongDau.jsp gọi đến lớp lớp VongDauDAO

6 Lớp VongDauDAO gọi hàm getDanhSachVongDau

7 lớp VongDauDAO gọi lớp VongDau

9 Lớp VongDau trả về VongDauDAO

10.VongDauDAO trả về TrangDanhSachTranDau.jsp11.TrangDanhSachTranDau.jsp hiển thị cho HLV

12.HLV chọn 1 vòng đấy và ấn Danh sách trận đấu

13.TrangChonVongDau.jsp gọi TrangDanhSachTranDau.jsp

18.Lớp TranDau trả về TranDauDAO

19.TranDauDAO trả về TrangDanhSachTranDau.jsp

20.TrangDanhSachTranDau.jsp hiển thị cho quản lý

21.Quản lý chọn trận đấu muốn cập nhật kết quả

22.TrangDanhSachTranDau.jsp gọi TrangCapNhatKetQua.jsp

23.TrangCapNhatKetQua.jsp hiển thị cho quản lý

24.Quản lý chọn thanh Cầu thủ ghi bàn ở TrangCapNhatKetQua.jsp 25.TrangCapNhatKetQua.jsp gọi lớp CauThuDangKyTranDauDAO 26.CauThuDangKyTranDauDAO gọi hàm getDanhSachCauThuDangKy 27.CauThuDangKyTranDauDAO gọi lớp CauThuDangKyTranDau 28.CauThuDangKyTranDau đóng gói

29.CauThuDangKyTranDau trả về lớp CauThuDangKyTranDauDAO 30.CauThuDangKyTranDauDAO trả về TrangCapNhatKetQua.jsp 31.TrangCapNhatKetQua.jsp hiển thị cho Quản lý

32.Quản lý chọn nhập kết quả trận đấu

33.TrangCapNhapKetQua.jsp gọi doLuuKetQua.jsp

35.KetQuaDAO gọi hàm capNhatKetQua để lưu vào CSDL

38.lớp KetQua trả về KetQuaDAO

39.KetQuaDAO trả về doLuuKetQua.jsp

41.BanThangDAO gọi hàm capNhatBanThang để lưu thông tin bàn thắng vào CSDL

44.lớp BanThang trả về BanThangDAO

45.BanThangDAO trả về doLuuKetQua.jsp

46.doLuuKetQua.jsp gọi lớp ThePhatDAO

47.ThePhatDAO gọi hàm capNhatThePhat để lưu vào CSDL

50.lớp ThePhat trả về ThePhatDAO

51.ThePhatDAO trả về doLuuKetQua.jsp

52.doLuuKetQua.jsp trả về TrangCapNhatKetQua.jsp

53.TrangCapNhatKetQua.jsp trả về TrangDanhSachTranDau.jsp

54.TrangDanhSachTranDau.jsp hiển thị lại cho người Quản lý

Ngày đăng: 15/02/2025, 22:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN