🏋🏻♀️Gestione Centro Sportivo
applicazione dei Diagrammi delle Classi e dei Casi d'Uso
applicazione dei Diagrammi delle Classi e dei Casi d'Uso
Un centro sportivo ha bisogno di un software per gestire le iscrizioni, i corsi e la programmazione delle schede di allenamento.
Utenti e Ruoli: Nel sistema sono presenti sia Clienti che Istruttori (entrambi sono utenti della piattaforma con nome, email e credenziali).
Corsi e Sale: Il centro organizza diversi Corsi (es. Yoga, Crossfit). Ogni corso è tenuto da un Istruttore ed è assegnato a una specifica Sala. Se la sala viene temporaneamente riorganizzata o chiusa, il corso esiste comunque nel catalogo.
Schede di Allenamento: Gli istruttori creano Schede di Allenamento personalizzate per i clienti. Ogni scheda è composta da una serie di Voci di Esercizio (es. Panca piana: 3 serie x 10 rep).
Se la scheda viene eliminata dal sistema, le singole voci associate a quella specifica scheda perdono di significato e vengono eliminate a loro volta.
Iscrizioni: Un cliente può iscriversi a uno o più corsi.
Si vogliono realizzare i diagrammi UML utili per analizzare e progettare il sistema software.
Il Diagramma delle Classi rappresenta l'architettura statica del sistema, definendo le entità principali del dominio, i loro attributi, le operazioni disponibili e le relazioni strutturali che le legano.
Per questo case study, il modello è stato progettato per evidenziare i quattro pilastri della modellazione UML:
Generalizzazione (Ereditarietà): Le classi Cliente e Istruttore estendono la classe base Utente. Ereditano così i campi comuni (come id, nome, email) e il metodo di login(), specializzando al contempo le proprie funzionalità e attributi distintivi.
Aggregazione (Relazione debole): La classe Corso congrega un Istruttore e una Sala. Si tratta di un'aggregazione perché la vita dei componenti è indipendente da quella del corso: se un corso viene cancellato, l'istruttore e la sala continuano a esistere nel sistema.
Composizione (Relazione forte): La SchedaAllenamento è legata a una o più VoceEsercizio da un vincolo di composizione. Le singole voci di esercizio non hanno senso d'esistere senza la scheda a cui appartengono: l'eliminazione della scheda comporta la distruzione automatica delle sue voci.
Associazione (Collegamento diretto): Rappresenta le relazioni operative principali, come l'iscrizione del Cliente a uno o più Corso o l'assegnazione di una SchedaAllenamento al profilo del cliente.
Il diagramma dei casi d'uso evidenzia i confini del sistema e come gli attori interagiscono con le funzionalità principali.
Il Diagramma dei Casi d'Uso (Use Case Diagram) descrive il comportamento dinamico del sistema dal punto di vista degli utenti esterni.
Definendo i confini della piattaforma, il diagramma mette in evidenza chi interagisce con il software e quali funzionalità ha a disposizione.
In questo modello sono rappresentati i concetti chiave della modellazione funzionale UML:
Attori (Actors): Le entità esterne che interagiscono con il sistema. Troviamo il Cliente (che fruisce dei servizi), l'Istruttore (che gestisce schede ed esercizi) e lo Staff Amministrativo (che organizza la logistica del centro).
Casi d'Uso (Use Cases): Le singole funzionalità offerte dal sistema per raggiungere un obiettivo di valore per l'attore (es. Iscrizione a un Corso, Creazione Scheda Allenamento).
Confine del Sistema (System Boundary): Il riquadro che racchiude i casi d'uso, demarcando chiaramente ciò che fa parte del software di gestione da ciò che è esterno ad esso (gli attori).
Relazione «include»: Rappresenta una dipendenza d'obbligo.
Nel nostro caso, per poter eseguire le azioni riservate come l'Iscrizione a un Corso o la Creazione Scheda Allenamento, l'esecuzione del caso d'uso Autenticazione / Login è sempre richiesta e integrata automaticamente.
La combinazione del Diagramma delle Classi e del Diagramma dei Casi d'Uso offre ora una panoramica completa: il primo definisce com'è fatto il sistema, il secondo cosa fa.