Bài tập lớn: Phân tích và thiết kế hệ thống quản lý giải đua xe F1 - PTIT

Phân tích thiết kế hệ thống quản lý giải đua xe F1 chi tiết. Tìm hiểu kiến trúc, chức năng và giải pháp công nghệ tối ưu cho dự án.

Người đăng

Ẩn danh

Thể loại

Bài Tập Lớn

2020

47
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Hướng dẫn toàn diện phân tích thiết kế hệ thống giải đua F1

Việc phân tích thiết kế hệ thống quản lý giải đua xe F1 là một quy trình phức tạp, đòi hỏi sự chính xác và cấu trúc chặt chẽ. Một hệ thống hiệu quả không chỉ lưu trữ dữ liệu mà còn phải xử lý các quy trình nghiệp vụ đặc thù như quản lý chặng đua, cập nhật kết quả theo thời gian thực và hiển thị bảng xếp hạng. Nghiên cứu này tập trung vào việc áp dụng các phương pháp phân tích và thiết kế hệ thống hiện đại để xây dựng một nền tảng quản lý toàn diện. Mục tiêu là tạo ra một hệ thống với các vai trò người dùng rõ ràng, luồng dữ liệu minh bạch và giao diện thân thiện. Tài liệu gốc từ Học viện Công nghệ Bưu chính Viễn thông cung cấp một khuôn khổ chi tiết, từ giai đoạn lấy yêu cầu ban đầu cho đến thiết kế cơ sở dữ liệu và giao diện người dùng. Quá trình này đảm bảo rằng tất cả các bên liên quan, từ Ban tổ chức đến Quản lý và người dùng cuối, đều có thể tương tác với hệ thống một cách hiệu quả. Sự thành công của dự án phụ thuộc vào việc mô hình hóa chính xác các thực thể như Chặng đua (Race), Đội đua (Team), và Kết quả (TeamResult).

1.1. Tầm quan trọng của hệ thống quản lý giải đua chuyên nghiệp

Một giải đua xe F1 tạo ra một lượng dữ liệu khổng lồ, bao gồm thông tin về các chặng đua, đội đua, tay đua, và kết quả thi đấu. Việc quản lý thủ công các thông tin này không chỉ tốn thời gian mà còn dễ gây ra sai sót, ảnh hưởng đến tính minh bạch của giải đấu. Do đó, xây dựng một hệ thống quản lý giải đua xe F1 chuyên nghiệp là yêu cầu cấp thiết. Hệ thống này giúp tự động hóa các quy trình, từ việc thêm mới một chặng đua với các thông tin chi tiết như tên chặng, số vòng, địa điểm tổ chức, đến việc cập nhật kết quả thi đấu một cách nhanh chóng. Theo tài liệu phân tích, một hệ thống tốt phải đảm bảo tính toàn vẹn dữ liệu, phân quyền truy cập hợp lý cho từng đối tượng người dùng như Quản lý hay Ban tổ chức, và cung cấp thông tin tức thì cho người hâm mộ. Điều này không chỉ nâng cao hiệu quả vận hành mà còn tăng cường uy tín và sự hấp dẫn của giải đấu.

1.2. Mục tiêu cốt lõi của đề tài quản lý giải đua xe công thức 1

Đề tài tập trung vào ba mục tiêu chính, tương ứng với ba chức năng cốt lõi của hệ thống. Thứ nhất, xây dựng chức năng quản lý thông tin chặng đua, cho phép người có vai trò Quản lý thực hiện các thao tác thêm, sửa, xóa và tìm kiếm thông tin chi tiết về từng chặng đua. Thứ hai, phát triển chức năng cập nhật kết quả chặng đua, dành riêng cho Ban tổ chức để nhập liệu điểm số và thời gian về đích của các đội. Thứ ba, thiết kế chức năng xem bảng xếp hạng đội đua, cho phép mọi người dùng có thể theo dõi thứ hạng các đội dựa trên tổng điểm và tổng thời gian. Việc phân chia rõ ràng các chức năng này là nền tảng cho việc phân tích thiết kế hệ thống một cách bài bản, đảm bảo mỗi module hoạt động độc lập nhưng vẫn có sự liên kết chặt chẽ về mặt dữ liệu, tạo nên một hệ thống quản lý toàn diện và hiệu quả.

II. Các thách thức chính trong việc quản lý dữ liệu giải đua F1

Quản lý dữ liệu trong một giải đấu tốc độ cao như F1 đặt ra nhiều thách thức đặc thù. Vấn đề không chỉ nằm ở khối lượng thông tin mà còn ở tính phức tạp của các mối quan hệ dữ liệu và yêu cầu về bảo mật. Một trong những khó khăn lớn nhất là việc đảm bảo tính nhất quán và chính xác của kết quả thi đấu khi được cập nhật từ Ban tổ chức. Bất kỳ sai sót nào cũng có thể dẫn đến tranh cãi và ảnh hưởng đến kết quả chung cuộc. Bên cạnh đó, việc phân tích thiết kế hệ thống quản lý giải đua xe F1 phải giải quyết bài toán phân quyền truy cập. Hệ thống cần định nghĩa rõ ràng vai trò của từng người dùng: ai có quyền tạo và sửa thông tin chặng đua, ai được phép cập nhật kết quả, và ai chỉ có quyền xem. Tài liệu nghiên cứu nhấn mạnh việc cần có một cơ chế xác thực mạnh mẽ để ngăn chặn truy cập trái phép. Thêm vào đó, hệ thống phải có khả năng mở rộng để xử lý dữ liệu của nhiều mùa giải khác nhau mà không làm giảm hiệu suất.

2.1. Vấn đề phân quyền truy cập cho các vai trò người dùng

Một hệ thống quản lý giải đua phải phục vụ nhiều nhóm người dùng với các nhu cầu khác nhau. Tài liệu gốc xác định rõ các lớp người dùng chính: User (người dùng thông thường), Manager (Quản lý), và Organizer (Ban tổ chức). Thách thức ở đây là thiết kế một cơ chế phân quyền linh hoạt nhưng chặt chẽ. Ví dụ, chỉ Manager mới có quyền truy cập chức năng “Quản lý thông tin chặng đua” để thêm, sửa, hoặc xóa một Race. Trong khi đó, chức năng “Cập nhật kết quả chặng đua” là đặc quyền của Organizer. Người dùng thông thường chỉ có thể xem thông tin như bảng xếp hạng đội đua. Việc triển khai sai cơ chế phân quyền có thể dẫn đến rủi ro an ninh, như một người dùng không có thẩm quyền thay đổi kết quả thi đấu. Do đó, pha phân tích phải định nghĩa rõ các biểu đồ usecase cho từng vai trò để làm cơ sở cho việc thiết kế và lập trình sau này.

2.2. Yêu cầu về tính toàn vẹn và nhất quán của dữ liệu

Tính toàn vẹn dữ liệu là yếu tố sống còn của một hệ thống quản lý giải đua. Dữ liệu về kết quả, điểm số, và thời gian hoàn thành phải tuyệt đối chính xác. Thách thức là làm thế nào để duy trì sự nhất quán khi có nhiều thao tác cập nhật diễn ra. Ví dụ, khi Ban tổ chức cập nhật TeamResult cho một chặng đua, hệ thống phải tự động tính toán lại tổng điểm trong TeamRanking. Nếu các quá trình này không được xử lý đồng bộ, bảng xếp hạng các đội đua sẽ hiển thị sai. Để giải quyết vấn đề này, việc thiết kế CSDL phải sử dụng các ràng buộc khóa ngoại (Foreign Key) chặt chẽ để liên kết các bảng như Race, Team, và TeamResult. Tài liệu nghiên cứu đề xuất: "bảng TeamResult có quan hệ n…1 với bảng Team, đặt thuộc tính TeamID làm Foreign Key tham chiếu đến bảng Team", điều này đảm bảo rằng mỗi kết quả phải thuộc về một đội đua và một chặng đua hợp lệ.

III. Phương pháp phân tích yêu cầu hệ thống quản lý giải đua F1

Giai đoạn phân tích yêu cầu là nền tảng quyết định sự thành công của toàn bộ dự án phân tích thiết kế hệ thống quản lý giải đua xe F1. Mục tiêu của giai đoạn này là hiểu rõ các nghiệp vụ và xác định chính xác những gì hệ thống cần làm. Phương pháp tiếp cận được áp dụng trong tài liệu là sử dụng các công cụ mô hình hóa trực quan như biểu đồ Usecase và biểu đồ lớp. Cách làm này giúp chuyển hóa các mô tả bằng ngôn ngữ tự nhiên thành các mô hình kỹ thuật chính xác, giảm thiểu sự mơ hồ và hiểu lầm giữa đội phát triển và các bên liên quan. Việc xác định các tác nhân (Actors) như Quản lý, Ban tổ chức, Người dùng và các trường hợp sử dụng (Use Cases) tương ứng giúp định hình phạm vi của hệ thống. Từ đó, các nhà phân tích có thể tiến hành xác định các lớp thực thể (Entity Classes) quan trọng, là cơ sở cho việc xây dựng kiến trúc và cơ sở dữ liệu sau này. Quy trình này đảm bảo một cái nhìn hệ thống và có cấu trúc ngay từ đầu.

3.1. Xây dựng biểu đồ Usecase cho các chức năng cốt lõi

Biểu đồ Usecase là công cụ mạnh mẽ để mô tả tương tác giữa người dùng và hệ thống. Đối với hệ thống quản lý giải đua F1, tài liệu đã xây dựng các Usecase chi tiết cho từng chức năng chính. Chẳng hạn, với chức năng “Quản lý thông tin chặng đua”, các use case bao gồm: Thêm chặng đua, Sửa chặng đua, Xóa chặng đua, và Tìm kiếm chặng đua. Tất cả các use case này đều do tác nhân Quản lý thực hiện. Tương tự, chức năng “Cập nhật kết quả chặng đua” có các use case như Chọn chặng đuaCập nhật kết quả đội đua, được thực hiện bởi Ban tổ chức. Việc trực quan hóa các tương tác này giúp xác định rõ các luồng sự kiện chính và các ngoại lệ có thể xảy ra, ví dụ như trường hợp đăng nhập sai hoặc không tìm thấy dữ liệu. Đây là bước đầu vào quan trọng cho pha thiết kế chi tiết.

3.2. Mô hình hóa thực thể qua biểu đồ lớp trong pha phân tích

Sau khi xác định các chức năng qua biểu đồ usecase, bước tiếp theo là xác định các đối tượng dữ liệu cốt lõi của hệ thống thông qua biểu đồ lớp thực thể. Dựa trên mô tả nghiệp vụ, tài liệu đã trích xuất các danh từ quan trọng để hình thành các lớp. Các lớp thực thể chính được xác định bao gồm: User (Người dùng), Race (Chặng đua), Team (Đội đua), TeamResult (Kết quả của đội), và TeamRanking (Bảng xếp hạng đội đua). Mỗi lớp được định nghĩa với các thuộc tính cơ bản, ví dụ lớp Race có các thuộc tính như name, location, laps. Việc mô hình hóa này không chỉ giúp làm rõ cấu trúc dữ liệu mà còn xác định các mối quan hệ giữa chúng, chẳng hạn một TeamResult sẽ liên quan đến một Team và một Race. Đây là bản thiết kế sơ bộ cho cơ sở dữ liệu của hệ thống.

IV. Bí quyết thiết kế CSDL và giao diện cho hệ thống quản lý F1

Pha thiết kế là giai đoạn chuyển các mô hình phân tích thành một bản thiết kế kỹ thuật chi tiết, sẵn sàng cho việc lập trình. Trong khuôn khổ phân tích thiết kế hệ thống quản lý giải đua xe F1, giai đoạn này tập trung vào hai khía cạnh chính: thiết kế cơ sở dữ liệu (CSDL) và thiết kế giao diện người dùng (UI). Một CSDL được thiết kế tốt sẽ đảm bảo hiệu suất, khả năng mở rộng và tính toàn vẹn dữ liệu. Trong khi đó, một giao diện người dùng trực quan, dễ sử dụng sẽ nâng cao trải nghiệm người dùng và giảm thiểu lỗi thao tác. Tài liệu nghiên cứu đã đề xuất một quy trình thiết kế bài bản, bắt đầu từ việc chuyển đổi các lớp thực thể thành các bảng trong CSDL, xác định khóa chính, khóa ngoại, cho đến việc phác thảo các màn hình giao diện cho từng chức năng. Sự kết hợp hài hòa giữa thiết kế back-end (CSDL) và front-end (UI) là chìa khóa để xây dựng một hệ thống quản lý giải đua hoàn chỉnh và mạnh mẽ.

4.1. Quy trình thiết kế cơ sở dữ liệu CSDL cho giải đua

Quá trình thiết kế CSDL bắt đầu bằng việc ánh xạ mỗi lớp thực thể đã xác định ở pha phân tích thành một bảng tương ứng. Cụ thể, các lớp Race, Team, User, TeamResult, TeamRanking trở thành các bảng trong cơ sở dữ liệu. Các thuộc tính của lớp được chuyển thành các cột của bảng với kiểu dữ liệu phù hợp. Một bước quan trọng là xác định các mối quan hệ và thiết lập khóa. Mỗi bảng đều có một khóa chính (Primary Key), thường là cột ID, để định danh duy nhất mỗi bản ghi. Các mối quan hệ được thể hiện qua khóa ngoại (Foreign Key). Ví dụ, tài liệu chỉ rõ: "bảng TeamResult có quan hệ n…1 với bảng Race, đặt thuộc tính RaceID làm Foreign Key tham chiếu đến bảng Race". Tương tự, quan hệ nhiều-nhiều giữa UserRole (vai trò) được giải quyết bằng cách tạo một bảng trung gian là RoleUser. Cách thiết kế này giúp chuẩn hóa dữ liệu, tránh trùng lặp và đảm bảo tính nhất quán trên toàn hệ thống.

4.2. Nguyên tắc thiết kế giao diện người dùng UI tối ưu

Giao diện người dùng là bộ mặt của hệ thống. Việc thiết kế giao diện được thực hiện dựa trên các kịch bản sử dụng (scenarios) và vai trò người dùng đã được phân tích. Nguyên tắc chính là sự đơn giản, rõ ràng và nhất quán. Mỗi giao diện được thiết kế để phục vụ một mục đích cụ thể. Ví dụ, “Giao diện quản lý danh sách chặng đua” cung cấp đầy đủ các nút chức năng như Thêm, Sửa, Xóa và một ô tìm kiếm tiện lợi. Trong khi đó, “Giao diện xem bảng xếp hạng đội đua” trình bày thông tin dưới dạng bảng, sắp xếp theo thứ hạng, giúp người dùng dễ dàng nắm bắt. Tài liệu mô tả chi tiết từng thành phần trên giao diện, từ các ô nhập liệu (input), nút bấm (button) đến các bảng hiển thị dữ liệu (table). Thiết kế này đảm bảo rằng người dùng, dù là Quản lý hay người hâm mộ, đều có thể tương tác với hệ thống quản lý giải đua một cách thuận lợi và hiệu quả nhất.

V. Cách triển khai luồng chức năng quản lý giải đua F1 thực tiễn

Việc hiện thực hóa các chức năng là bước kiểm chứng hiệu quả của quá trình phân tích thiết kế hệ thống quản lý giải đua xe F1. Mỗi chức năng phải tuân thủ theo một luồng xử lý chặt chẽ, được mô tả chi tiết qua các biểu đồ hoạt động và biểu đồ tuần tự. Những biểu đồ này trực quan hóa từng bước mà hệ thống và người dùng thực hiện, từ khi bắt đầu một yêu cầu cho đến khi nhận được kết quả. Ví dụ, luồng cập nhật kết quả chặng đua bao gồm các bước: Ban tổ chức đăng nhập, chọn chặng đua, chọn đội đua, nhập kết quả và lưu lại. Việc mô tả chi tiết các luồng này không chỉ giúp lập trình viên viết mã chính xác mà còn giúp kiểm thử viên xây dựng các kịch bản kiểm thử hiệu quả. Tài liệu gốc đã trình bày rõ ràng kiến trúc 3 tầng (giao diện, xử lý nghiệp vụ, truy cập dữ liệu) trong việc triển khai các chức năng, đảm bảo hệ thống có cấu trúc module hóa, dễ bảo trì và mở rộng.

5.1. Luồng hoạt động chi tiết chức năng quản lý thông tin chặng đua

Chức năng quản lý thông tin chặng đua được kích hoạt khi người dùng có vai trò Quản lý đăng nhập thành công. Biểu đồ hoạt động cho thấy luồng đi như sau: từ giao diện chính, Quản lý chọn chức năng, hệ thống hiển thị danh sách các chặng đua hiện có. Tại đây, Quản lý có thể thực hiện tìm kiếm, hoặc chọn một chặng đua cụ thể để sửa hoặc xóa. Nếu chọn sửa, một giao diện modal sẽ hiện lên với thông tin của chặng đua đó. Sau khi thay đổi và nhấn "Lưu", hệ thống sẽ gọi phương thức updateRaceInfo() để cập nhật dữ liệu vào cơ sở dữ liệu và quay trở lại màn hình danh sách. Tài liệu mô tả rõ: "Lớp RaceDAO gọi method getAllRace()" để lấy dữ liệu và hiển thị lên giao diện. Luồng xử lý này đảm bảo các thao tác được thực hiện một cách tuần tự và có xác nhận, giảm thiểu rủi ro mất dữ liệu.

5.2. Biểu đồ tuần tự cho chức năng cập nhật kết quả chặng đua

Chức năng cập nhật kết quả chặng đua có sự tương tác phức tạp hơn giữa các lớp đối tượng. Biểu đồ tuần tự mô tả rõ quá trình này. Khi Ban tổ chức chọn một chặng đua, ListRaceView sẽ gọi đến ListTeamResultView. Lớp này tiếp tục gọi đến TeamResult (lớp thực thể) để lấy danh sách kết quả của các đội trong chặng đua đó thông qua phương thức getAllTeamResult(IDRace). Khi Ban tổ chức chọn cập nhật cho một đội, UpdateTeamResultView được kích hoạt. Sau khi người dùng nhập dữ liệu và nhấn Lưu, UpdateTeamResultView sẽ gọi phương thức UpdateTeamResult() của lớp TeamResult để ghi nhận thay đổi vào CSDL. Biểu đồ tuần tự cho thấy rõ sự giao tiếp và thứ tự gọi hàm giữa các đối tượng, từ tầng giao diện (View) đến tầng truy cập dữ liệu (DAO) và tầng thực thể (Entity), minh họa cho một kiến trúc được phân tích thiết kế tốt.

5.3. Hiển thị bảng xếp hạng đội đua Từ yêu cầu đến giao diện

Chức năng xem bảng xếp hạng đội đua là một trong những tính năng quan trọng nhất đối với người dùng cuối. Luồng hoạt động bắt đầu khi người dùng chọn mục xem bảng xếp hạng từ trang chủ. Hệ thống sẽ gọi đến TeamRankingView. Theo biểu đồ hoạt động, TeamRankingView sẽ yêu cầu TeamRankingViewDAO lấy dữ liệu. Lớp DAO này thực thi phương thức getAllTeamRanking(), truy vấn CSDL để lấy danh sách xếp hạng các đội, được sắp xếp theo tổng điểm và tổng thời gian. Dữ liệu này sau đó được đóng gói vào các đối tượng TeamRanking và trả về cho tầng giao diện để hiển thị dưới dạng bảng. Nếu người dùng click vào một đội đua, hệ thống sẽ tiếp tục gọi đến RaceView để hiển thị chi tiết các chặng đua mà đội đó đã tham gia. Quy trình này thể hiện sự liên kết chặt chẽ giữa các module trong hệ thống quản lý giải đua.

11/09/2025

Trích đoạn nội dung tài liệu

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: PHÂN TÍCH THIẾT KẾ HỆ THỐNG Đề tài: Quản lý giải đua xe F1 Bài tập: Analysis - Module 2 Quản lý thông tin chặng đua Cập nhật kết quả chặng đua Xem bảng xếp hạng các đội đua Nhóp lớp học phần : 04 Nhóm bài tập lớn : 05 1. Trần Minh Tân – B20DCCN757 2. Phạm Quốc Bảo – B20DCCN088 3. Nguyễn Xuân Long – B20DCCN408 Mục lục 1.

Pha lấy yêu cầu. Biểu đồ usecase tổng quan cho module. Chức năng quản lý thông tin chặng đua. Mô tả chức năng bằng ngôn ngữ tự nhiên.

Chức năng cập nhật kết quả chặng đua. Mô tả chức năng bằng ngôn ngữ tự nhiên. Chức năng xem bảng xếp hạng đội đua. Mô tả chức năng bằng ngôn ngữ tự nhiên.

Pha phân tích. Biểu đồ lớp thực thể cho module. Chức năng quản lý thông tin chặng đua. Biểu đồ trạng thái.

Biểu đồ lớp phân tích. Chức năng cập nhật kết quả chặng đua. Biểu đồ trạng thái. Biểu đồ lớp phân tích.

Chức năng xem bảng xếp hạng đội đua. Biểu đồ trạng thái. Biểu đồ lớp phân tích. Pha thiết kế.

Thiết kế lớp thực thể. Thiết kế CSDL. Thiết kế giao diện. Đăng nhập hệ thống.

Giao diện người dùng. Giao diện quản lý. Giao diện ban tổ chức. Giao diện quản lý danh sách chặng đua.

Giao diện quản lý thông tin chặng đua. Giao diện danh sách chặng đua. Giao diện danh sách kết quả đội đua. Giao diện cập nhật kết quả đội đua.

Giao diện xem bảng xếp hạng đội đua. Giao diện chi tiết đội đua. Chức năng quản lý thông tin chặng đua. Biểu lớp chi tiết.

Biểu đồ hoạt động. Biểu đồ tuần tự. Chức năng cập nhật kết quả chặng đua. Biểu lớp chi tiết.

Biểu đồ hoạt động. Biểu đồ tuần tự. Chức năng xem bảng xếp hạng đội đua. Biểu đồ lớp chi tiết.

Biểu đồ hoạt động. Biểu đồ tuần tự. Pha lấy yêu cầu 1. Biểu đồ usecase tổng quan cho module 1.

Chức năng quản lý thông tin chặng đua 1. Mô tả chức năng bằng ngôn ngữ tự nhiên - Người dùng vào hệ thống → Giao diệp đăng nhập: username, password, nút đăng nhập. - Người dùng nhập username, password và click vào nút đăng nhập: o Nếu đăng nhập sai → Hiện lên một dialog báo lỗi sai username hoặc passwork có kèm thêm một nút OK → Click vào nút OK → Quay về giao diện đăng nhập và chứa thông tin cũ. o Nếu đăng nhập đúng và hệ thống kiểm tra đúng là thành viên nhưng không phải Ban tổ chức → Hiện giao diện của tành viên o Nếu đăng nhập đúng và hệ thông kiểm tra là quản lý → Giao diện của quản lý xuất hiện → Hiển thị link/menu/button để chọn quản lý thông tin chặng đua - Người dùng chọn quản lý thông tin chặng đua: o Giao diện chính của quản lý thông tin chặng đua: ▪ Số TT ▪ Tên chặng ▪ Số vòng ▪ Thời gian tổ chức ▪ Địa điểm tổ chức ▪ Mô tả ▪ Button để thêm, sửa và xóa ▪ Input để tìm kiếm chặng đua theo tên/địa điểm tổ chức - Nếu người dùng chọn thêm chặng đua → Xuất hiện giao diện modal tạo mới chặng đua: o Giao diện gồm : ▪ Tên chặng ▪ Số vòng ▪ Thời gian tổ chức ▪ Địa điểm tổ chức ▪ Mô tả ▪ Button để lưu hoặc hủy o Nếu người dùng chọn hủy → Hệ thông không thay đổi gì và quay lại giao diện quản lý.

o Nếu người dùng chọn lưu → Hệ thông tạo mới thêm một chặng đua và quay về giao diện quản lý. - Nếu người dùng chọn click sửa một chặng đua → Xuất hiện lên giao diện modal hiển thị các trường như tạo mới chứa thông tin chặng đua được chọn (có thể sửa được) → Sau khi thay đổi các trường chứa thông tin chặng đua thì người dùng có thể chọn một trong hai buuton hủy hoặc lưu thông tin: o Nếu chọn button Hủy → Tất cả thông tin bị mất và modal cựng bị ẩn đi. Thông tin chặng đua không thay đổi → Hệ thông không thay đổi gì và quay về giao diện quản lý. o Nếu chọn button Lưu → Thông tin của chặng đua sẽ được cập nhật theo thông tin mà người dùng nhập và modal sẽ bị ẩn đi → Hệ thông quay về giao diện quản lý với thông tin chặng đua được chọn thay đổi - Nếu người dùng chọn click xóa một chặng đua → Hiện lên dialog xác nhận có muốn xóa chặng đua không: o Giao diện dialog xác nhận: ▪ Message xác nhận ▪ Button xác nhận và hủy o Nếu người dùng chọn hủy → Hệ thông không thay đổi gì và quay lại giao diện quản lý.

o Nếu người dùng chọn xác nhận → Hệ thống xóa một chặng đua và quay về giao diện quản lý. - Người dùng nhập vào ô tìm kiếm → Hệ thống tìm kiếm theo tên hoặc địa điểm tổ chức chặng đua → Hiển thị lên giao diện trùng khớp với kết quả tìm kiếm 1. Biểu đồ usecase - Đăng nhập: Use case cho phép người dùng đăng nhập vào hệ thống - Quản lý chặng đua: Use case cho phép người quản lý thêm, sửa, xóa và tìm kiếm chặng đua - Thêm chặng đua: Use case cho phép người quản lý thêm mới chặng đua - Sửa chặng đua: Use case cho phép người quản lý thay đổi thông tin chặng đua - Xóa chặng đua: Use case cho phép người quản lý xóa chặng đua tồn tại trong danh sách. - Tìm kiếm chặng đua: Use case cho phép người quản lý tìm kiếm chặng đua theo tên hoặc địa điểm.

Chức năng cập nhật kết quả chặng đua 1. Mô tả chức năng bằng ngôn ngữ tự nhiên - Người dùng vào hệ thống → Giao diệp đăng nhập: username, password, nút đăng nhập. - Người dùng nhập username, password và click vào nút đăng nhập: o Nếu đăng nhập sai → Hiện lên một dialog báo lỗi sai username hoặc passwork có kèm thêm một nút OK → Click vào nút OK → Quay về giao diện đăng nhập và chứa thông tin cũ. o Nếu đăng nhập đúng và hệ thống kiểm tra đúng là thành viên nhưng không phải Ban tổ chức → Hiện giao diện của tành viên o Nếu đăng nhập đúng và hệ thông kiểm tra là ban tổ chức → Giao diện của ban tổ chức xuất hiện → Hiển thị link/menu/button để chọn cập nhật kết quả chặng đua - Giao diện danh sách các chặng đua hiện ra → người dùng chọn một chặng đua từ trng bảng danh sách các chặng đua.

- Người dùng chọn cập nhật kết quả chặng đua o Giao diện nhập kết quả hiện ra: ▪ Ô chọn danh sách chặng đua ▪ Danh sách tay đua thi đấu của chặng đua ▪ Mỗi dòng chứa tên các tay đua gồm thời gian về đích, số vòng đua hoàn thành. ▪ Button hủy và lưu - Người dùng nhập hết kết quả chặng đua: o Nếu người dùng chọn hủy → Quay về giao diện chọn chặng đua cập nhật và hệ thống không thay đổi gì. o Nếu người dùng chọn lưu → Hệ thống cập nhật kết quả chặng đua và quay về giao diện chọn cập nhật chặng đua 1. Biểu đồ usecase - Đăng nhập: Use case cho phép người dùng đăng nhập vào hệ thống - Cập nhật kết quả chặng đua: Use case này cho phép ban tổ chức chọn chặng đua, đội đua nhập thời gian về đích của đội đua - Chọn chặng đua: Use case này cho phép ban tổ chức chọn chặng đua thi đấu.

- Ban tổ chức cập nhật kết quả đội đua: Use case này cho phép ban tổ chức cập nhật kết quả thi đấu của đội đua. Chức năng xem bảng xếp hạng đội đua 1. Mô tả chức năng bằng ngôn ngữ tự nhiên - Chọn chức năng xem danh sách xếp hạng đội đua: o Giao diện bao gồm một danh sách dạng bản, mỗi cột gồm các thông tin: ▪ Thứ hạng ▪ Tên đội đua ▪ Tổng điểm ▪ Tổng thời gian o Kết quả được hiện thứ tự sắp xếp theo tổng điểm rồi đến tổng thời gian o Nếu người dùng click vào một dòng → Hệ thống chuyển hướng sang kết quả từng chặng của đội đua đó, mỗi chặng trên một dòng gồm: số TT, tên chặng đua, điểm, thời gian đua. Biểu đồ usecase - Đăng nhập: Use case cho phép người dùng đăng nhập vào hệ thống - Xem bảng xếp hạng đội đua: Use case này cho phép ban tổ chức xem thứ tự xếp hạng đội đua theo thứ tự tổng điểm và tổng thơi gian giảm dần.

- Xem danh sách các chặng đua của đội đua: Use case này cho phép ban tổ chức xem danh sách các chặng đua của đội đua 2. Pha phân tích 2. Biểu đồ lớp thực thể cho module Bước 1: Mô tả 3 chức năng ( Quản lý chặng đua, Cập nhật kết quả chặng đua và Xem bảng xếp hạng đội đua) bằng một đoạn văn. Hệ thống là một trang web quản lí giải đua xe công thức F1.

Các thành viên của hệ thống sẽ được thực hiện các chức năng tương ứng. Trong đó Quản lý chặng đua được thêm, sửa, xóa các chặng đua với các thông tin như tên chặng, số vòng đua, địa điểm, thời gian bắt đầu và mô tả của chặng đua. Sau khi các đội đua đua xong chặng đua thì ban tổ chức sẽ cập nhật kết quả thi đấu cho từng đội đua. Và bảng xếp hạng các đội đua sẽ được cập nhật và người dùng hệ thống sẽ có thể xem trên giao diện web, và khi nhấn vào một đội đua thì sẽ hiện ra danh sách các chặng đua của đội đua.

Bước 2 + 3: Trích các danh từ xuất hiện trong văn bẩn và lựa chọn các danh từ phù hợp làm lớp thực thể và thuộc tính. Loại bỏ các danh từ trừu tượng: trang web, hệ thống, địa điểm, thời gian. Danh từ liên quan đến người: - Người dùng → lớp User(trừu tượng): Tên, username, password, emai, description. - Nhân viên → lớp Employee: kế thừa lớp User - Quản lý → lớp Manager: kế thừa lớp Employee với role là quản lý - Ban tổ chức → lớp Orgainzer : kế thừa lớp Employee với role là BTC Danh từ liên quan thông tin: - Chặng đua → lớp Race: name, location, laps, description - Đội đua → lớp Team: teamCode, teamName, races, description - Bảng xếp hạng đội đua → lớp TeamRanking: ranking, team, score, totalFinishTime - Kết quả của đội → lớp TeamResult: score, finishTime, team, race.

Chức năng quản lý thông tin chặng đua 2.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ