Info

La World Surf League (WSL) organizza ogni anno un tour composto da un certo numero di eventi. Ogni evento ha un nome, si svolge in un luogo specifico e dura alcuni giorni. La partecipazione non è aperta: solo i primi 32 atleti nella classifica WSL possono competere. Dopo ogni evento, la classifica deve essere aggiornata. Il vincitore ottiene 1000 punti, il secondo meno e così via.

All’inizio dell’anno, il manager della WSL definisce gli eventi per l’anno.

A questo punto, gli atleti possono registrarsi per un determinato evento. La registrazione si chiude a un certo momento prima dell’evento.

Successivamente, per ogni evento accade quanto segue: il manager della WSL nomina un giudice principale per l’evento. Il giudice principale definisce la griglia dell’evento. Una griglia è composta da un certo numero di turni (round dei 32, round dei 16, quarti di finale, semifinale, finale). Ogni turno è suddiviso in batterie (heats), ciascuna delle quali è una competizione tra 4 atleti. Una batteria ha una durata specifica, ad esempio 30 minuti) e deve essere programmata dal giudice principale in un orario preciso, in cui può svolgersi solo una batteria alla volta. L’assegnazione degli atleti alle batterie (soprattutto per il round dei 32) avviene tramite un algoritmo che evita di mettere i migliori atleti della classifica nella stessa batteria.

Il giudice principale nomina i giudici per l’evento (3 o 5). Durante ogni batteria, ciascun giudice assegna un punteggio a ogni atleta partecipante. I punteggi vengono poi sommati e i primi due passano al turno successivo (o determinano il vincitore nel caso della batteria finale).

Tutte le informazioni vengono pubblicate il prima possibile su un sito web per il pubblico generale.

Nel seguito si consideri un’applicazione che supporta il tour della WSL.

Esercizio 1

<aside> ℹ️

Definire il glossario (concetti principali e loro relazioni utilizzando il class diagram UML) per l’applicazione web descritta utilizzando la webapp disponibile all’indirizzo https://assistants.polito.it/uml-modeler.

user: XXXXXXlab2a (tutto minuscolo senza spazi)

pass: XXXXXX

XXXXX è la vostra matricola.

</aside>

Analisi del testo → individuazione dei concetti

Glossario dei concetti principali

Concetto Descrizione sintetica Relazioni principali
Tour Stagione agonistica WSL (es. 2025) che contiene tutti gli Eventi e mantiene la Classifica. 1 - 1 .. * Evento, 1 - 1 Classifica
Evento Competizione singola (nome, date, deadline iscrizione) svolta in una Località. 1 - 1 Località, 1 - 1 Giudice Principale, 1 - 3 .. 5 Giudice, 1 .. *- 1 .. * Round, 1 - * Iscrizione
Località Luogo fisico dove si tiene l’Evento. ospita 0 .. * Eventi
Atleta Surfer professionista con punti in Classifica. 0 .. * - * Iscrizione, 0 .. * - 4 Batteria, 0 .. * Punteggio, 1 - 1 Classifica
Iscrizione Record della richiesta di partecipazione di un Atleta a un Evento. * - 1 Atleta, * - 1 Evento
Round Fase dell’Evento (R32, R16, QF, SF, Finali) 1 - 1 Evento, 1 - 1 .. * Batteria
Batteria (Heat) Gara fra 4 Atleti; ha durata e orario prefissati. 4 Atleta, 3 .. 5 Giudice, 1 - * Punteggio
Giudice Ufficiale che valuta le performance. 3 .. 5 - 1 Evento, * Punteggio
Giudice Principale Giudice responsabile di griglia e nomine; specializzazione di Giudice. 1 - 1 Evento
Punteggio Voto numerico assegnato da un Giudice a un Atleta in una Batteria. * - 1 Giudice, * - 1 Atleta, * - 1 Batteria
VoceClassifica Coppia (Atleta, punti correnti). 1 - 1 Atleta, * - 1 Classifica

Diagramma delle classi UML

UML Class Diagram.svg