HỌ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 Nhóm 13 Báo cáo bài tập lớn Đề tài 10 Hệ thống quản lí lịch thi đấu và kết quả giải đua xe Công 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
Nhóm 13 Báo cáo bài tập lớn
Đề tài: 10
Hệ thống quản lí lịch thi đấu và kết quả giải đua xe Công thức 1
Giảng viên: Nguyễn Mạnh Hùng
Các thành viên:
Hà Nội, ngày 6 tháng 3 năm 2022
Đỗ Quang Khánh – B17DCCN727 Nguyễn Công Huân – B19DCCN288 Dương Ngọc Hải – D16DCPT040 Nguyễn Trung Hiếu – D17DCAT072
Trang 2Phần I Brainstorming – Họp bàn tròn và thu thập ý kiến
Yếu tố con người Yếu tố hành động Yếu tố vật thể/đối tượng
- Tay đua
- Đội đua
- Ban điều hành chung
- Tổ điều hành
- Nhân viên quản lí
- Đăng nhập
- Đăng xuất
- Đổi mật khẩu
- Thêm điểm
- Xóa điểm
- Ghi thời gian đua
- Ghi thời gian phạt
- Ghi số điểm phạt
- Đăng kí tay đua
- Đăng kí tay đua thi đấu
- Chỉnh sửa thông tin cá nhân tay đua
- Xóa tay đua
- Đăng kí đội đua
- Đăng kí đội đua thi đấu
- Chỉnh sửa thông tin đội đua thi đấu
- Xóa đội đua
- Thêm chặng đua
- Xóa chặng đua
- Cập nhật kết quả chặng đua
- Cập nhật bảng xếp hạng tay đua
- Cập nhật bảng xếp hạng đội đua
- Ghi chú thêm
- Mã chặng đua
- Tên chặng đua
- Tên trường đua
- Địa điểm đăng cai chặng đua
- Số vòng đua
- Thời gian bắt đầu
- Mã đội đua
- Tên đội đua
- Mô tả tay đua
- Tiểu sử
- Mô tả chặng đua
- Ngày sinh (tay đua)
- Thời gian thành lập (đội đua)
- Quốc tịch (tay đua)
- Nơi thành lập (đội đua)
- Nhà sản xuất động cơ
- Điểm số
- Thời gian đua
- Thời gian phạt
- Số điểm phạt
- Số lần vào pit
- Mùa giải
- Phần thưởng
Trang 3*) Tạo danh sách giải thuật (Glossary list)
Nhóm giải thuật về người
1 Tay đua Driver Người đại diện chính của đội đua,người sử dụng xe đua của đội tham
gia các chặng đua
Một nhóm người đảm nhận nhiều nhiệm vụ khác nhau xung quanh chế tạo, bảo trì, nâng cấp xe đua; tập luyện tay đua;… nhằm mục đích mang lại kết quả cao nhất có thể cho toàn đội Một đội đua có 2 tay đua chính và các tay đua phụ
3 Ban điều hànhchính Officials
Ban tổ chức giải đấu, có nhiệm vụ điều hành và quản lí giải đấu nói chung và các tay đua nói riêng Xử
lí các quyết định có ảnh hưởng đến kết quả chặng đua và cả mùa giải
4 Tổ điều hành Stewards
Nhóm gồm 3 thành viên cấp cao từ ban điều hành, quản lí từng chặng đua Xử lí các quyết định ngay trong chặng đua, nhanh nhất có thể
5 Nhân viên quản lí Race marshal
Người thuộc 1 nhóm quản lí, với nhiệm vụ xử lí sự cố diễn ra dưới đường đua theo quyết định của tổ điều hành Thường là công việc tự nguyện, không lương Nhiệm vụ bao gồm đảm bảo an toàn cho khan giả,
Giải thuật yếu tố hành động
6 Đăng nhập Login Sử dụng tài khoản đã đăng kí đểtruy cập một hệ thống với tên và
mật khẩu
7 Đăng xuất Logout Ngừng truy cập một hệ thống vàđảm bảo người khác không thể sử
dụng thông tin tài khoản của mình
8 Đổi mật khẩu Change password Thay đổi mã bảo vệ tài khoản cánhân vì lí do bảo mật
9 Thêm điểm Adding points Ghi nhận số điểm tay đua ghi đượctrong chặng đua và ghi vào hệ
thống
10 Xóa điểm Deleting points Xóa một lượng điểm (có thể là tấtcả) của một tay đua
Trang 411 Ghi thời gian đua Race time Ghi thời gian một tay đua hoànthành chặng đua.
12 Ghi thời gian phạt Time penalty
Thêm thời gian vào thời gian tổng của một tay đua do phạm luật Thường thông báo cho người xem chứ không viết riêng vào dữ liệu
13 Ghi số điểm phạt Penalty points
Ghi số điểm phạt cho mỗi tay đua
12 điểm phạt đổng nghĩa với việc tay đua bị cấm thi đấu chặng đua/phần còn lại của cuộc đua Cũng là dữ liệu chìm
14 Đăng kí tay đua Adding driver Thêm các tay đua vào dữ liệu.Thường là dữ liệu chìm và có thể
thêm cả các tay đua phụ
15 Đăng kí tay đua thiđấu Adding race driver
Thêm 2 tay đua từ mỗi đội vào danh sách đăng kí thi đấu mỗi chặng đua Thường thêm 2 tay đua chính trừ các sự cố như sức khỏe
16 Chỉnh sửa thông tincá nhân tay đua Change driverinformation Thay đổi/cập nhật thông tin tayđua về đội đua, quốc tịch,
17 Xóa tay đua Remove driver Bỏ dữ liệu tay đua khỏi khối dữliệu lớn vì các lí do khác nhau.
18 Đăng kí đội đua Adding team Thêm các đội đua vào dữ liệu
19 Đăng kí đội đua thiđấu Adding race team Thêm các đội đua tham gia chặngđua.
20 Xóa đội đua Remove team Bỏ dữ liệu đội đua khỏi khối dữliệu lớn.
21 Thêm chặng đua Adding race Ghi thông tin chặng đua vào lịchthi đấu/khối dữ liệu,
22 Xóa chặng đua Remove race Bỏ thông tin chặng đua khỏi lịchthi đấu.
23 Cập nhật kết quảchằng đua Updateresults race Thêm thông tin kết quả của từngtay đua (thời gian đua, thứ hạng)
vào bảng xếp hạng
24 Cập nhật bảng xếphạng tay đua Update driverstandings Từ kết quả chặng đua mới nhất,cập nhật thứ hạng tổng của các tay
đua
25 Cập nhật bảng xếphạng đội đua Updateconstructor
standings
Từ kết quả chặng đua mới nhất, cập nhật thứ hạng tổng của các đội đua Kết quả chặng đua của 1 đội đua tính bằng tổng số điểm 2 tay đua của đội giành được
26 Ghi chú thêm Other notes Các thông tin ngoài cần ghi, làm rõvấn đề cho người sử dụng. Giải thuật yếu tố vật thể/đối tượng
Trang 527 Mã chặng đua Race code Tên viết ngắn cho từng chặng đua.
28 Tên chặng đua Race Tên riêng của từng chặng đua
29 Trường đua Circuit Tên đường đua nơi diễn ra chặngđua.
30 Địa điểm đăng caichặng đua Race location Nơi diễn ra chặng đua Thường ởdạng tên thành phố - quốc gia.
31 Số vòng đua Laps Số vòng đua tối đa các tay đua cầnhoàn thành Thường được tính =
305km / độ dài 1 vòng đua
32 Thời gian bắt đầu Starting time Thời gian bắt đầu chặng đua Códạng giờ + múi giờ.
33 Mã đội đua Team abbreviation Tên viết tắt của đội đua
34 Tên đội đua Team name Tên đầy đủ của đội đua
35 Mô tả tay đua Biography Bản tóm tắt thông tin của từng tayđua.
36 Mô tả chặng đua Track description Bảm tóm tắt thông tin từng chặngđua Có thể bao gôm số vòng đua
và bản đồ
37 Tiểu sử Information Bản tóm tắt thông tin của từng độiđua.
38 Ngày sinh tay đua Driver’s date ofbirth Dạng ngày/tháng/năm, một thôngtin trong tiểu sử dành cho tay đua.
39 Ngày thành lập độiđua Establish date Dạng ngày/tháng/năm, một thôngtin trong tiểu sử dành cho đội đua.
40 Quốc tịch (tay đua) Driver’s country Quốc gia tay đua đại diện Có thểkhông trùng với quốc gia tay đua
được sinh ra
41 Nơi thành lập (độiđua) Team’sestablished
country
Quốc gia mà đội đua được thành lập
42 Thời gian thành lậpđội đua Team’sestablished time Dạng năm hoặc ngày/tháng/năm
43 Nhà sản xuất độngcơ Enginemanufacturer
Tên động cơ được dùng trong xe của các đội đua Thường được ghi cùng với tên đội vd: Red Bull Honda Racing Team
Đơn vị xác định thứ hạng của tay đua Tay đua về đích một chặng đua với thứ hạng càng cao (về đích càng sớm) càng đạt nhiều điểm
45 Thời gian đua Race time Thời gian tính từ lúc một tay đuabắt đầu chặng đua tới lúc hoàn
thành chặng đua
46 Thời gian phạt Time penalty Thời gian tính thêm cho một tay
Trang 6đua do phạm luật Tính thẳng vào thời gian đua
47 Số điểm phạt Penalty points
Số điểm phạt cho tay đua khi phạm luật nghiêm trọng Nếu đủ 12 điểm phạt, tay đua sẽ bị cấm thi đấu trong chặng đua kế tiếp/phần còn lại của tuần đua nếu chặng đua chính thức chưa bắt đầu
48 Số lần vào pit Pit counter Số lần tay đua vào đường pit đểsửa chữa xe/thay lốp.
49 Mùa giải Season Dạng năm Một mùa giải bao gồmnhiều chặng đua, với lịch thi đấu
cụ thể
50 Phần thưởng Prize
Tiền thưởng cho mỗi đội đua Ngoài ra cũng có cúp vô địch cho tay đua và đội đua có thứ hạng cao nhất, cùng các phần thưởng mang tinh thần khác
Một số giải thuật khác
Tùy thuộc vào mức độ nghiêm trọng của lỗi gặp phải mà hình phạt
có thể là phạt tiền, phạt vị trí xuất phát, tước quyền tham gia chặng đua,…
52 Liên đoàn Ô tôQuốc tế FIA (FédérationInternationale de
l'Automobile)
Hiệp hội đại diện cho lợi ích người
sở hữu ô tô và các tổ chức ô tô Cơ quan chủ quản cho nhiều sự kiện đua xe, trong đó có F1
53 Cấp đường đua FIA Grade
Xếp hạng một trường đua dựa vào các tiêu chí khác nhau Một trường đua phải đạt chuẩn 1 FIA mới được xem xét đăng kí làm trường đua F1
54 Vòngđộng/sắp xếp độikhởi
Một chặng đua không bắt đầu ngay lập tức, mà cần một vòng khởi động (nhiều vòng nếu thời tiết không ổn định) để làm nóng động
cơ xe
55 Khu vực pit Pit area
Một khu vực đường của chặng đua, tách biệt khỏi vạch xuất phát/đích bởi một bức tường nhỏ, khi tay đua đưa xe của mình vào với mục đích thay lốp và/hoặc sửa chữa xe Mỗi đội có 1 khu vực pit riêng
56 Luyện tập tự do Free practice Khoảng thời gian thứ sáu và sáng
thử bảy khi các tay đua lái xe trong khi các đội đua làm việc với dữ
Trang 7liệu từ tay đua, nhằm tối ưu hóa việc xây dựng xe cho chặng đua
57 Đua phân hạng Qualifying
Chặng đua ngắn vào thứ bảy các tay đua cố gắng chạy nhanh nhất trong 1 vòng, quyết định thứ tự xuất phát cho chặng đua chính vào ngày chủ nhật Hình thức đua tính giờ
Một chặng đua phân hạng gồm 3 tiến trình: Tiến trình 1 và tiến trình
2, mỗi tiến trình loại đi 5/6 tay đua chậm nhất, tiến trình 3 cho 10 tay đua còn lại tranh thời gian nhanh nhất
58 Xe/tay đua bị loại Retirement
Một xe/tay đua kết thúc chặng đua khi chưa hoàn thành đủ số vòng quy định vì tai nạn hoặc vấn đề máy móc dẫn đến không thể tiếp tục chặng đua
Phần II Tạo lập mô hình kinh doanh (business model)
1 Mục tiêu và phạm vi sử dụng
a) Mục tiêu:
Xây dựng phần mềm bảng xêp hạng mùa giải Công thức 1 cho các tay đua và các đội đua
Ứng dụng chạy trên máy tính cá nhân của ban tổ chức, ban điều hành
Có khả năng chiếu kết quả cho người xem
Có khả năng “tái chế” (sử dụng lâu dài trong nhiều mùa giải)
Các chức năng chính:
Thêm, sửa, xóa tay đua, đội đua và các thông tin liên quan
Quản lí điểm số các tay đua, đội đua
Cập nhật điểm số các tay đua, đội đua
Trang 8Các chức năng khác, không thuộc phạm trù phần mềm:
Quản lí nhân sự
Quản lí số lượng khán giả
Quản lí cơ sở vật chất trường đua
Đội đua quản lí nhân viên và các tay đua
b) Phạm vi sử dụng
Chỉ sử dụng 1 cơ sở dữ liệu chung cho toàn bộ máy tính của ban điều hành và ban tổ chức
=> Đồng nghĩa máy tính sử dụng là dùng riêng cho ban tổ chức và ban điều hành (non-public)
Chỉ ban điều hành và ban tổ chức có quyền truy cập vào cơ sở dữ liệu và chỉnh sửa dữ liệu Các thành phần còn lại chỉ được xem kết quả (như hình dưới)
2 Những thành phần người dùng có thể tương tác vào phần mềm và mục đích của họ
Ban tổ chức:
- Đăng kí tay đua (trước mùa giải và trước từng chặng đua)
Trang 9- Đăng kí đội đua (trước mùa giải và trước từng chặng đua)
- Quản lí thông tin tay đua (thêm, xóa, chỉnh sửa)
- Quản lí thông tin đội đua (thêm, xóa, chỉnh sửa)
- Thống kê:
+ Tay đua: Chặng đua – Thứ hạng – Số điểm – Thời gian + Đội đua: Chặng đua – Tổng điểm – Tổng thời gian Ban điều hành (những người trực tiếp điều hành chặng đua):
- Ghi thời gian đua của tay đua (sau khi đã cộng thêm thời gian phạt nếu có)
- Thêm điểm tay đua và xếp hạng
- Thêm điểm đội đua và xếp hạng
- Xây dựng thống kê cho từng chặng đua:
+ Tay đua: Chặng đua – Thứ hạng – Số điểm – Thời gian + Đội đua: Chặng đua – Tổng điểm – Tổng thời gian
3 Cách thức hoạt động của từng chức năng
3.1 Đăng kí đội đua
a) Đăng kí mới trước mùa giải
Liên đoàn FIA mở đơn đăng kí với các điều kiện cho trước + phí cần trả:
- Xác nhận của đơn đăng kí chấp hành điều luật giải
- Tên đội (vd Red Bull Racing)
- Tên xe (vd RB16)
- Tên nhà sản xuất động cơ (vd Honda)
- Các tay đua (vd Max Verstappen – Sergio Perez)
- Cam kết tham dự giải với số xe và tay đua đã đăng kí
Trang 10=> Rà soát dựa trên nhiều tiêu chí (cơ sở vật chất, tài chính, nhân lực, kinh nghiệm,…)
==> Nếu có đơn thỏa mãn ===> Cấp quyền tham gia F1
===> Các đội tham gia chuẩn bị xe đua thỏa mãn luật
===> Tham gia các chặng đua ==> Nếu không có đơn thỏa mãn ===> Kết thúc b) Đăng kí cho từng chặng đua
Đến tuần diễn ra chặng đua mới
=> Ban tổ chức đăng kí toàn bộ đội đua cho chặng đua
3.2 Đăng kí tay đua
a) Đăng kí trước mùa giải
Các đội đua mới: Quá trình đăng kí tay đua có sẵn trong đơn đăng kí
Các đội đua sẵn có: 2 lựa chọn
- Đăng kí luôn các tay đua từ mùa trước, miễn là họ còn hợp đồng
- Đăng kí tay đua mới
b) Đăng kí cho từng chặng đua
Đăng kí 2 tay đua cho mỗi chặng đua
=> Theo dõi tay đua trong luyện tập và đua phân hạng
==> Nếu có sự cố xảy ra khiến tay đua không hoàn thành chặng đua phân hạng
===> Nếu quá chậm trong cả tuần đua (chậm hơn luật quy định)
====> Loại tay đua để đảm bảo an toàn
===> Nếu tay đua chứng minh đủ nhanh
Trang 11====> Cho phép đua, gán hạng xuất phát từ dưới lên tùy vào tiến trình chặng đua phân hạng
3.3 Quản lí thông tin tay đua/đội đua trong mùa giải
a) Đội đua
*) Khả năng tham gia Các đội đua thường có đủ khả năng tham gia toàn bộ giải đấu Sẽ không có thêm đội và thường cũng không có đội nào bị loại khỏi bảng xếp hạng tổng trừ những trường hợp vi phạm nghiêm trọng điều luật giải đấu
Nếu vì lí do nào đó mà trường hợp trên xảy ra, ban tổ chức và ban điều hành có quyền:
- Tước quyền tham dự các chặng đua trong tương lai của đội đua
- Hủy bỏ mọi kết quả đạt được trước đó của đội đua
- Xóa toàn bộ dữ liệu đội đua khỏi bảng xếp hạng tổng
*) Thông tin đội đua Thường trong quá trình trước mùa giải mới, một đội đua có thể có tên đội mới, tên nhà sản xuất động cơ mới
=> Áp dụng luật đăng kí đội đua mới như trên, với các điều chỉnh cần thiết
==> Ban tổ chức và ban điều hành cập nhật dữ liệu thông tin đội đua
b) Tay đua
*) Khả năng tham gia Các tay đua có đủ khă năng tham gia toàn bộ mùa giải
Nếu tay đua chính không thể tham gia một chặng đua vì nhiều lí do, đội đua có thể sử dụng các tay đua phụ
Trang 12=> Đội đua thông báo cho ban tổ chức về việc thay thế tay đua tạm thời cùng lí do
==> Ban tổ chức ra thông báo chung và thay thế tay đua không thể tham gia bằng tay đua thay thế
==> Tiến hành thay thế lại khi tay đua chính đủ khả năng tham gia mùa giải
*) Giai đoạn nghỉ giữa mùa giải Đây là giai đoạn giữa mùa giải duy nhất các đội đua có thể thay thế tay đua
=> Đội đua thông báo cho ban tổ chức về quyết định thay thế tay đua giữa mùa giải
==> Ban tổ chức và ban điều hành ra thông báo chung, xóa dữ liệu tay đua cũ và thêm dữ liệu tay đua mới vào đội đua
Trong một số trường hợp các dội đua tiến hành thay thế và đăng kí các tay đua
đã có sẵn trong danh sách tham dự
=> Ban tổ chức chỉ thay thế thông tin tay đua và gán vào đội đua phù hợp, không tiến hành xóa
3.4 Ghi nhận thời gian đua
Ban điều hành tính đồng hồ từ lúc chặng đua bắt đầu
=> Tay đua dẫn đầu cán đích, hoàn thành chặng đua
==> Ban điều hành tính thời gian đua chính xác Dạng giờ : phút : giây tích tắc (tính đến 3 chữ số)
Vd 1:32:49.156
===> Với các tay đua cán đích còn lại ban điều hành tính đồng hồ
từ lúc tay đua dẫn đầu cán đích Dạng +thời gian (vd +1.253)
Trang 13Nếu có tay đua chưa hoàn thành đủ số vòng đua yêu cầu thì ban điều hành tính theo số vòng còn thiếu
vd + 2 vòng
3.5 Ghi nhận điểm cho tay đua/đội đua và xếp hạng
a) Tay đua
Từ thời gian đua của từng tay đua
=> Ban điều hành xếp hạng tay đua về đích đầu tiên hạng 1, tay đua sau đó xếp hạng 2… cứ như vậy cho đến hạng cuối cùng
==> Ghi nhận điểm cho từng tay đua
Với điều kiện tay đua phải hoàn thành 90% quãng đường đua của người dẫn đầu:
Tay đua trong top 10 ghi nhận vòng đua đơn nhanh nhất trong chặng đua được cộng thêm 1 điểm Tay đua ghi nhận vòng đua nhanh nhất nhưng nằm ngoài top 10 không được điểm
Trong trường hợp chặng đua phải kết thúc khi chưa hoàn thành đủ 75% quãng đường đua nhưng đã có ít nhất 2 vòng đua được hoàn thành, các tay đua trong top 10 được cộng thêm nửa số điểm được trình bày ở bảng trên
Không thỏa mãn trường hợp trên, không có tay đua nào được điểm cho chặng đua
b) Đội đua
Điểm số của đội đua trong chặng đua bằng tổng điểm số của 2 tay đua của đội tham gia chặng đua đó
Từ điểm số của các đội đua, xếp hạng các đội từ trên xuống