Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gruppo 18
Giuseppe Serrao
Matteo Brunetti
Simone Lucà
Cristian Scaramella
Prof. F. Ricca
Esercitatore:
M. A. Borroto S.
11
Tabella Di Contenuto
i. Introduzione .................................................................................................................................... 3
ii. Requisiti utente ............................................................................................................................... 3
iii. Diagramma dei casi d’uso.................................................................................................................. 4
iv. Schema dei casi d’uso ..................................................................................................................... 4
v. Modello di dominio ............................................................................................................................. 9
vi. Diagrammi Sequenza di Sistema ...................................................................................................... 10
vii. Contratti Operazioni ........................................................................................................................ 14
viii. Architettura ............................................................................................................................... 15
12
i. Introduzione
SpritesRiver vuole offrire un servizio di animazione automatica di immagini sprite.
L'applicativo web permette la ricerca e la visualizzazione di animazioni in pixel art, gli utenti possono
contribuire alla collezione presente sul sito aggiungendo nuove animazioni, grazie a un facile sistema
di animazione di immagini sprite, e commentando e votando animazioni pre-esistenti.
13
iii. Diagramma dei casi d’uso
14
Vuole avere la possibilità di visualizzare e scaricare animazioni. Vuole avere la possibilità di
commentarle. Vuole avere la possibilità di aggiungerle ai preferiti.
Pre-condizioni: Nessuno.
Post-Condizioni: Il nome utente e password vengono salvati dal sito.
Flusso di base:
1. Il Sistema mostra un pulsante “Crea nuovo account”
2. L’utente seleziona l’opzione medesima
3. Il sistema mostra la pagina di creazione di un account in cui chiede all’utente di inserire i dati
nei campi “email”, “username”, “password”, e “ripeti password”
4. L’utente inserisce i dati nelle caselle apposite
5. L’utente seleziona il pulsante “registrati”
6. Il sistema verifica l’ammissibilità dei dati
7. Il sistema reindirizza l’utente alla pagina principale
Flussi alternativi:
*6a. L’utente inserisce un “email” già esistente
1. Il sistema visualizza un messaggio di errore dichiarando che l’email è già stato usato
2. Torna al punto 3
*6b. L’utente inserisce un “username” già esistente
1. Il sistema visualizza un messaggio di errore dichiarando che il username è già stato usato
2. Torna al punto 3
*6c. Stringhe nei campi “password” e “ripeti password” sono diverse
1. Il sistema visualizza un messaggio di errore dichiarando che i campi password non
combaciano
2. Torna al punto 3
15
Post-condizioni: l’utente si trova sulla pagina selezionata
Flusso di base:
1. Il sistema visualizza una barra di ricerca in alto a destra
2. L’utente attua una ricerca
3. Il sistema controlla se la stringa inserita corrisponde ad un gioco già presente
4. L’utente seleziona il gioco a cui è interessato (se esistente)
5. Il sistema reindirizza l’utente alla pagina del gioco selezionato
6. L’utente seleziona il personaggio del gioco a cui è interessato
7. Il sistema reindirizza l’utente alla pagina del personaggio selezionato
8. L’utente seleziona l’animazione del personaggio di interesse
9. Il sistema visualizza l’animazione
Flusso alternativo:
*1a. L’utente visualizza i giochi da una lista nella homepage
1. Torna al passo 4.
*3a. Il gioco non è presente nella lista di giochi del sito
1. Il sistema visualizza un messaggio indicando che il gioco non è presente nella lista
Flusso di base:
1. Il Sistema mostra all’utente un testo che guida l’utente al download della gif/sprite
2. L’utente attua la procedura per il download
3. Il sistema chiede all’utente la destinazione del file da scaricare
4. L’utente sceglie la destinazione e scarica il file a cui è interessato
16
Attore primario: Utente registrato, Moderatore
Parte interessate e interessi:
Vuole aggiungere un’immagine sprite e animarla
Pre-condizioni:
L'utente è identificato e autenticato nel sistema.
Post-condizioni:
L’archivio è stato aggiornato con le nuove animazioni.
Flusso di base:
1. Il sistema visualizza il pulsante “nuova animazione”
2. L’utente seleziona il pulsante
3. Il sistema chiede il caricamento di un’immagine.
4. L'utente seleziona dal suo pc l’immagine da caricare
5. Il sistema verifica la validità del file in input e mostra all’utente lo strumento di modifica per
la suddivisione dell’immagine in fotogrammi multipli.
6. L'utente usa lo strumento di selezione per dividere i fotogrammi, scrivendo nelle apposite
caselle, l’altezza e la larghezza dei fotogrammi, i fotogrammi da non includere nella gif, il
colore dello sfondo da voler eliminare (in caso il background non fosse trasparente).
7. Il sistema mostra i fotogrammi selezionati dall’utente insieme ad un pulsate “converti a GIF”.
8. L'utente seleziona il pulsante sopracitato.
9. Il sistema richiede i dati per l’archiviazione dell’animazione, cioè nome dell’azione, nome
del personaggio che la compie, gioco di appartenenza, visualizza inoltre il pulsante "nuovo
gioco”, da cliccare nel caso nel’archivio non sia già presente il gioco in questione.
10. L'utente immette i dati dell’animazione, e il gioco a cui appartiene.
11. Il sistema aggiunge l’animazione alla collezione sul sito.
Flussi alternativi
*10a Il gioco non è presente nell’archivio
1. Il sistema visualizza un pulsante “nuovo gioco”
2. L’utente clicca il pulsante indicato
3. Il sistema visualizza un form che richiede: Nome gioco, data di pubblicazione, piattaforma,
descrizione, un API inserirà una descrizione standard modificabile
4. L'utente compila il form e clicca conferma
5. Il sistema indicizza il nuovo gioco.
17
Pre-condizioni:
L’utente deve essere loggato nel sistema
Post-condizioni:
L'archivio e la pagina sono stati aggiornati con l’ultima modifica.
Flusso di base (Animazioni):
1. Selezionando un’animazione, il sistema visualizzerà il pulsante “Rimuovi” nella sezione
“azioni”
2. L’utente seleziona il pulsante
3. Il sistema, dopo aver verificato l’intenzionalità dell’azione, cancella l’animazione
dall’archivio
Flusso di base (Commenti):
1. Selezionando un’animazione, il sistema visualizzerà anche la sezione “commenti”
2. Il sistema visualizzerà una “X” in prossimità di ogni commento relativo all’animazione
visualizzata
3. L’utente seleziona il pulsante
4. Il sistema, dopo aver verificato l’intenzionalità dell’azione, cancellerà il commento
18
v. Modello di dominio
19
vi. Diagrammi Sequenza di Sistema
Consulta Archivio
110
Crea Account
111
Modera Archivio
112
Aggiungi Sprite
113
Commenta e Valuta
Contratto Co1
Operazione: Cerca (string testo)
Riferimenti: Consulta archivio, Modera archivio, Commenta e valuta
Pre-condizioni: nessuna
Post-condizioni: Sono visualizzati i risultati dell’interrogazione del database
Contratto Co2
Operazione: NewAccount (id: String email, string username, string password)
Riferimenti: Modera archivio, aggiungi sprite
Pre-condizioni: nessuna
Post-condizioni: il database è stato aggiornato con i dati del nuovo account
Contratto Co3
Operazione: Login (string email, string password)
Riferimenti: Modera archivio, Commenta e valuta
Pre-condizioni: l'utente possiede un email e password validi
Post-condizioni: la pagina visualizza le funzioni esclusive per gli utenti loggati
114
Contratto Co4
Operazione: FrameAdded(img)
Riferimenti: Aggiungi Sprite
Pre-condizioni: l’utente ha un’immagine valida da caricare nel sistema
Post-condizioni: il sistema ha aggiunto il fotogramma selezionato dall’utente al vettore dei
fotogrammi
Contratto Co5
Operazione: InviaCommento(id: game, string commento)
Riferimenti: Commenta e valuta
Pre-condizioni: l'utente possiede un email e password validi
Post-condizioni: La pagina e il database sono stati aggiornati con il nuovo commento
viii. Architettura
115