TorpedoBlu
07-01-2005, 18:36
Dunque, per l'esame di basi di Dati devo scegliere tra 2 progetti:
http://islab.dico.unimi.it/basi/progetto.php
1 Introduzione
Una societ`a specializzata nello sviluppo di giochi on-line intende offrire alla propria clientela
un’applicazione che permetta ad ogni utente registrato di creare e gestire la propria squadra di
fantacalcio per partecipare ad un ipotetico campionato virtuale.
2 Descrizione del dominio
Il gioco del fantacalcio consiste in un insieme di concorrenti che si improvvisano manager e
allenatori di una squadra di calcio costruendo una rosa di giocatori con la quale partecipare ad
un campionato virtuale. Il gioco prevede che ogni concorrente abbia a disposizione un budget
iniziale con il quale costruire la rosa di giocatori (squadra) con cui parteciper`a al gioco. La rosa
`e composta da un numero prefissato di portieri, difensori, centrocampisti e attaccanti selezionati
da un elenco predefinito. Ogni giocatore `e caratterizzato da un ruolo (i.e., portiere, difensore,
centrocampista, attaccante) e da una quotazione. L’acquisto di un giocatore comporta la spesa
della quotazione a lui associata; la spesa per l’acquisto dell’intera rosa non deve superare il
budget a disposizione del concorrente.
2.1 Campionato
Una volta composta la rosa di giocatori, ogni concorrente partecipa al campionato virtuale.
Sono previste un numero fissato di giornate di gioco, per ognuna delle quali il concorrente dovr`a
schierare una formazione di giocatori selezionati dalla propria rosa . Al termine di ogni giornata
i giocatori ricevono una valutazione; la somma delle valutazioni dei giocatori titolari schierati
in formazione costituisce il punteggio di ogni concorrente. I concorrenti vengono classificati
sulla base del punteggio che hanno realizzato; dopo ogni giornata di gioco la classifica viene
aggiornata sommando i punteggi realizzati da ogni concorrente. Il concorrente che alla fine di
tutte le giornate di gioco ha realizzato il punteggio pi`u alto vince il campionato.
2.2 Formazione
Ogni formazione deve rispettare un modulo di gioco. Prima di ogni giornata di gioco, tale modulo
viene selezionato da ciascun concorrente da un insieme di moduli di gioco ammissibili.
E’ possibile che al termine di una giornata di gioco non tutti i giocatori abbiamo ricevuto una
valutazione. Nel caso in cui un giocatore titolare non abbia ricevuto la valutazione, questo
verr`a automaticamente sostituito dal primo giocatore di pari ruolo disponibile in panchina. Nel
caso in cui nessun giocatore di pari ruolo in panchina abbia ricevuto valutazione, oppure non
ci siano abbastanza giocatori in panchina per sostituire tutti i giocatori titolari privi di valutazione,
ciascun giocatore titolare privo di valutazione viene escluso dal conteggio del punteggio
finale del concorrente. In questo caso per ogni giocatore titolare privo di valutazione che non `e
stato possibile sostituire, la formazione beneficia di un bonus pari al voto del giocatore con la
valutazione pi`u bassa decrementata di 1.
I giocatori titolari che hanno ricevuto una valutazione non possono essere sostituiti.
2.3 Vincoli
La societ`a di giochi on-line prevede inoltre che i seguenti vincoli vengano rispettati:
• Non `e prevista nessuna forma di contrattazione e di asta fra concorrenti per la creazione
della rosa di giocatori.
• Un giocatore pu`o appartenere a diverse squadre: il fatto che un concorrente selezioni un
giocatore per la sua rosa non impedisce che altri concorrenti possano includere lo stesso
giocatore nella propria rosa.
• La rosa di giocatori di ogni concorrente deve essere cos`ı composta: 3 portieri, 8 difensori,
8 centrocampisti, 6 attaccanti per un totale di 25 giocatori.
• La formazione schierata da ogni concorrente prevede 11 giocatori titolari e 7 giocatori in
panchina. La composizione dei titolari dipende dal modulo di gioco adottato dal concorrente,
mentre la panchina `e composta da 1 portiere, 2 difensori, 2 centrocampisti, 2
attaccanti.
• Non esiste un numero massimo di sostituzioni: se necessario, tutti i giocatori in panchina
possono sostituire dei titolari che non hanno ricevuto valutazione a condizione che la
sostituzione avvenga fra giocatori di pari ruolo.
• Il budget iniziale di ogni concorrente `e fissato in 300 fantamiliardi.
2.4 Categorie di utenza
Sono previste due categorie di utenza:
• Concorrente. Registrandosi all’applicazione partecipa al gioco del fantacalcio. In particolare,
ogni concorrente compone la propria rosa di giocatori a cui assegna un nome e, per
ogni giornata di gioco, seleziona un modulo di gioco fra quelli possibili e schiera la propria
formazione.
• Amministratore. Amministra le parti organizzative del gioco. In particolare le seguenti
attivit`a sono di sua esclusiva competenza:
– Gestione dell’elenco predefinito di giocatori. L’amministratore mantiene la
lista completa dei giocatori con i rispettivi ruoli e quotazioni. La cancellazione di un
giocatore o la modifica del ruolo e della quotazione di un giocatore `e possibile solo
se il giocatore non `e incluso nella rosa di nessun concorrente. L’amministratore pu`o
inoltre aggiungere nuovi giocatori in qualsiasi momento.
– Definizione di periodi di aggiornamento. L’amministratore fissa dei periodi nei
quali ogni concorrente pu`o intervenire sulla propria rosa e modificarla eliminando
dei giocatori e sostituendoli con altri. In caso di eliminazione di un giocatore dalla
rosa, la corrispondente quotazione viene reintegrata nel budget a disposizione. In
ogni caso la rosa deve essere sempre composta da 25 giocatori (3 portieri, 8 difensori,
8 centrocampisti, 6 attaccanti) e non possono essere selezionati giocatori con una
quotazione superiore al budget a disposizione.
– Assegnazione di premi e penalit`a. A suo insindacabile giudizio, l’amministratore
pu`o penalizzare o premiare un concorrente. Premi e penalit`a vanno ad incidere sul
budget a disposizione del concorrente. Se a seguito di una penalizzazione, un concorrente
si trova con un budget negativo, l’amministratore ne modifica la rosa sostituendo
uno o pi`u giocatori con altrettanti elementi di pari ruolo ma con quotazione inferiore,
fino a colmare il deficit.
– Definizione del calendario. L’amministratore definisce il numero e la data delle
giornate di gioco, nonch´e, per ogni giornata, il termine entro il quale la formazione
deve essere presentata. Se un concorrente non inserisce la formazione entro i termini
previsti dalla giornata di gioco, si considera automaticamente confermata la
formazione della giornata precedente.
– Gestione delle valutazioni. A seguito di ogni giornata di gioco, l’amministratore
inserisce le valutazioni dei giocatori, calcola i punteggi di ogni concorrente e aggiorna
la classifica.
– Definizione dei moduli di gioco ammissibili. L’amministratore definisce l’insieme
dei moduli di gioco ammissibili sulla base dei quali i concorrenti compongono
le formazioni.
3 Requisiti dell’applicazione
Obiettivo del progetto `e realizzare un’applicazione di basi di dati con interfaccia WEB
che gestisca le problematiche legate al dominio applicativo esposto in Sezione 2. La presenza
di diverse categorie di utenza impone che il progettista preveda un meccanismo di account
management in grado di offrire ai diversi utenti le funzionalit`a specifiche di cui necessitano.
In particolare vediamo, per ogni categoria di utenza, quali funzionalit`a dovranno essere rese
disponibili.
3.1 Concorrente
Ogni concorrente `e caratterizzato da generiche informazioni anagrafiche (e.g., nome, cognome,
indirizzo) e tecniche (e.g., codice identificativo, username, password). Egli dovr`a essere in grado
di autenticarsi presso il sito WEB ed usufruire delle seguenti funzionalit`a minime:
• Creare la propria rosa di giocatori a partire da un elenco predefinito. Tale selezione deve
rispettare i vincoli di composizione della rosa definiti in Sezione 2.
• Modificare la propria rosa di giocatori. Tale funzionalit`a `e accessibile solo nei periodi di
aggiornamento previsti dall’amministratore.
• Inserire la formazione in corrispondenza di ogni giornata di gioco. La formazione dovr`a
essere conforme al modulo di gioco scelto; l’applicazione dovr`a verificare questa condizione.
• Visualizzare informazioni generali sul gioco: calendario di tutte le giornate di gioco, punteggi
realizzati da tutti i concorrenti per ogni giornata, statistiche relative a ciascun giocatore
appartenente all’elenco predefinito (i.e., media valutazioni, storico valutazioni, media
ultime 5 giornate).
• Visualizzare informazioni specifiche sulla propria rosa (i.e., storico valutazioni, media
valutazioni, i giocatori migliori per ruolo, la migliore formazione possibile).
• Visualizzare informazioni specifiche sulle proprie formazioni schierate e sulle corrispondenti
valutazioni per ogni giornata di gioco.
http://islab.dico.unimi.it/basi/progetto.php
1 Introduzione
Una societ`a specializzata nello sviluppo di giochi on-line intende offrire alla propria clientela
un’applicazione che permetta ad ogni utente registrato di creare e gestire la propria squadra di
fantacalcio per partecipare ad un ipotetico campionato virtuale.
2 Descrizione del dominio
Il gioco del fantacalcio consiste in un insieme di concorrenti che si improvvisano manager e
allenatori di una squadra di calcio costruendo una rosa di giocatori con la quale partecipare ad
un campionato virtuale. Il gioco prevede che ogni concorrente abbia a disposizione un budget
iniziale con il quale costruire la rosa di giocatori (squadra) con cui parteciper`a al gioco. La rosa
`e composta da un numero prefissato di portieri, difensori, centrocampisti e attaccanti selezionati
da un elenco predefinito. Ogni giocatore `e caratterizzato da un ruolo (i.e., portiere, difensore,
centrocampista, attaccante) e da una quotazione. L’acquisto di un giocatore comporta la spesa
della quotazione a lui associata; la spesa per l’acquisto dell’intera rosa non deve superare il
budget a disposizione del concorrente.
2.1 Campionato
Una volta composta la rosa di giocatori, ogni concorrente partecipa al campionato virtuale.
Sono previste un numero fissato di giornate di gioco, per ognuna delle quali il concorrente dovr`a
schierare una formazione di giocatori selezionati dalla propria rosa . Al termine di ogni giornata
i giocatori ricevono una valutazione; la somma delle valutazioni dei giocatori titolari schierati
in formazione costituisce il punteggio di ogni concorrente. I concorrenti vengono classificati
sulla base del punteggio che hanno realizzato; dopo ogni giornata di gioco la classifica viene
aggiornata sommando i punteggi realizzati da ogni concorrente. Il concorrente che alla fine di
tutte le giornate di gioco ha realizzato il punteggio pi`u alto vince il campionato.
2.2 Formazione
Ogni formazione deve rispettare un modulo di gioco. Prima di ogni giornata di gioco, tale modulo
viene selezionato da ciascun concorrente da un insieme di moduli di gioco ammissibili.
E’ possibile che al termine di una giornata di gioco non tutti i giocatori abbiamo ricevuto una
valutazione. Nel caso in cui un giocatore titolare non abbia ricevuto la valutazione, questo
verr`a automaticamente sostituito dal primo giocatore di pari ruolo disponibile in panchina. Nel
caso in cui nessun giocatore di pari ruolo in panchina abbia ricevuto valutazione, oppure non
ci siano abbastanza giocatori in panchina per sostituire tutti i giocatori titolari privi di valutazione,
ciascun giocatore titolare privo di valutazione viene escluso dal conteggio del punteggio
finale del concorrente. In questo caso per ogni giocatore titolare privo di valutazione che non `e
stato possibile sostituire, la formazione beneficia di un bonus pari al voto del giocatore con la
valutazione pi`u bassa decrementata di 1.
I giocatori titolari che hanno ricevuto una valutazione non possono essere sostituiti.
2.3 Vincoli
La societ`a di giochi on-line prevede inoltre che i seguenti vincoli vengano rispettati:
• Non `e prevista nessuna forma di contrattazione e di asta fra concorrenti per la creazione
della rosa di giocatori.
• Un giocatore pu`o appartenere a diverse squadre: il fatto che un concorrente selezioni un
giocatore per la sua rosa non impedisce che altri concorrenti possano includere lo stesso
giocatore nella propria rosa.
• La rosa di giocatori di ogni concorrente deve essere cos`ı composta: 3 portieri, 8 difensori,
8 centrocampisti, 6 attaccanti per un totale di 25 giocatori.
• La formazione schierata da ogni concorrente prevede 11 giocatori titolari e 7 giocatori in
panchina. La composizione dei titolari dipende dal modulo di gioco adottato dal concorrente,
mentre la panchina `e composta da 1 portiere, 2 difensori, 2 centrocampisti, 2
attaccanti.
• Non esiste un numero massimo di sostituzioni: se necessario, tutti i giocatori in panchina
possono sostituire dei titolari che non hanno ricevuto valutazione a condizione che la
sostituzione avvenga fra giocatori di pari ruolo.
• Il budget iniziale di ogni concorrente `e fissato in 300 fantamiliardi.
2.4 Categorie di utenza
Sono previste due categorie di utenza:
• Concorrente. Registrandosi all’applicazione partecipa al gioco del fantacalcio. In particolare,
ogni concorrente compone la propria rosa di giocatori a cui assegna un nome e, per
ogni giornata di gioco, seleziona un modulo di gioco fra quelli possibili e schiera la propria
formazione.
• Amministratore. Amministra le parti organizzative del gioco. In particolare le seguenti
attivit`a sono di sua esclusiva competenza:
– Gestione dell’elenco predefinito di giocatori. L’amministratore mantiene la
lista completa dei giocatori con i rispettivi ruoli e quotazioni. La cancellazione di un
giocatore o la modifica del ruolo e della quotazione di un giocatore `e possibile solo
se il giocatore non `e incluso nella rosa di nessun concorrente. L’amministratore pu`o
inoltre aggiungere nuovi giocatori in qualsiasi momento.
– Definizione di periodi di aggiornamento. L’amministratore fissa dei periodi nei
quali ogni concorrente pu`o intervenire sulla propria rosa e modificarla eliminando
dei giocatori e sostituendoli con altri. In caso di eliminazione di un giocatore dalla
rosa, la corrispondente quotazione viene reintegrata nel budget a disposizione. In
ogni caso la rosa deve essere sempre composta da 25 giocatori (3 portieri, 8 difensori,
8 centrocampisti, 6 attaccanti) e non possono essere selezionati giocatori con una
quotazione superiore al budget a disposizione.
– Assegnazione di premi e penalit`a. A suo insindacabile giudizio, l’amministratore
pu`o penalizzare o premiare un concorrente. Premi e penalit`a vanno ad incidere sul
budget a disposizione del concorrente. Se a seguito di una penalizzazione, un concorrente
si trova con un budget negativo, l’amministratore ne modifica la rosa sostituendo
uno o pi`u giocatori con altrettanti elementi di pari ruolo ma con quotazione inferiore,
fino a colmare il deficit.
– Definizione del calendario. L’amministratore definisce il numero e la data delle
giornate di gioco, nonch´e, per ogni giornata, il termine entro il quale la formazione
deve essere presentata. Se un concorrente non inserisce la formazione entro i termini
previsti dalla giornata di gioco, si considera automaticamente confermata la
formazione della giornata precedente.
– Gestione delle valutazioni. A seguito di ogni giornata di gioco, l’amministratore
inserisce le valutazioni dei giocatori, calcola i punteggi di ogni concorrente e aggiorna
la classifica.
– Definizione dei moduli di gioco ammissibili. L’amministratore definisce l’insieme
dei moduli di gioco ammissibili sulla base dei quali i concorrenti compongono
le formazioni.
3 Requisiti dell’applicazione
Obiettivo del progetto `e realizzare un’applicazione di basi di dati con interfaccia WEB
che gestisca le problematiche legate al dominio applicativo esposto in Sezione 2. La presenza
di diverse categorie di utenza impone che il progettista preveda un meccanismo di account
management in grado di offrire ai diversi utenti le funzionalit`a specifiche di cui necessitano.
In particolare vediamo, per ogni categoria di utenza, quali funzionalit`a dovranno essere rese
disponibili.
3.1 Concorrente
Ogni concorrente `e caratterizzato da generiche informazioni anagrafiche (e.g., nome, cognome,
indirizzo) e tecniche (e.g., codice identificativo, username, password). Egli dovr`a essere in grado
di autenticarsi presso il sito WEB ed usufruire delle seguenti funzionalit`a minime:
• Creare la propria rosa di giocatori a partire da un elenco predefinito. Tale selezione deve
rispettare i vincoli di composizione della rosa definiti in Sezione 2.
• Modificare la propria rosa di giocatori. Tale funzionalit`a `e accessibile solo nei periodi di
aggiornamento previsti dall’amministratore.
• Inserire la formazione in corrispondenza di ogni giornata di gioco. La formazione dovr`a
essere conforme al modulo di gioco scelto; l’applicazione dovr`a verificare questa condizione.
• Visualizzare informazioni generali sul gioco: calendario di tutte le giornate di gioco, punteggi
realizzati da tutti i concorrenti per ogni giornata, statistiche relative a ciascun giocatore
appartenente all’elenco predefinito (i.e., media valutazioni, storico valutazioni, media
ultime 5 giornate).
• Visualizzare informazioni specifiche sulla propria rosa (i.e., storico valutazioni, media
valutazioni, i giocatori migliori per ruolo, la migliore formazione possibile).
• Visualizzare informazioni specifiche sulle proprie formazioni schierate e sulle corrispondenti
valutazioni per ogni giornata di gioco.