Il progetto proposto dall’azienda riprende un’idea già sviluppata alcuni anni fa, che riscontrò molto successo in Italia (più di 10 milioni di utilizzi). Consiste nel realizzare un applicativo web, all’interno del quale l’utente si sottopone alla compilazione di alcu-ne liste di elementi, dalle quali può scegliere gli elementi di proprio interesse (secondo il tema per cui è stata creata la stessa lista).
Ad esempio potrà esserci una lista di sport dalla quale l’utente potrà scegliere quali ha praticato, oppure una lista di libri dove selezionare quelli letti e l’applicazione darà la possibilità di condividere il risultato con gli amici. L’idea è dunque quella di un mini gioco sociale all’interno del quale gli utenti condividono aspetti della loro vita
1
semplicemente selezionando elementi da liste pre-create da altri utenti, rendendo così minimo lo sforzo da parte del giocatore.
L’applicazione è integrata con il social network Facebook, sfruttando il sistema Canvas Frame.
All’utente, dopo la compilazione di una lista viene presentato un risultato aggregato contenente solo il numero di elementi selezionati come ad esempio: "Hai selezionato 15 sport su 63". Il risultato ottenuto potrà essere condiviso su Facebook invogliando così gli amici dell’utente a vedere nel dettaglio quanto selezionato dall’utente e l’amico stesso verrà invitato ad effettuare il questionario.
La Web App prevede sia la funzionalità di compilazione delle liste, sia la possibilità, da parte di qualsiasi utente, di crearne; questo rende meno gravoso il popolamento della piattaforma agli sviluppatori della stessa. Infine dalla pagina di gestione del-le liste create, l’utente può controllare quante volte è stata compilata ciascuna lista, indicandone il livello di popolarità. Lo scopo principale era quello di sviluppare nuo-vamente questo applicativo, sfruttando le nuove tecnologie disponibili, da immettere sul mercato indiano, nel quale l’azienda è molto presente.
L’applicazione è sviluppata in lingua inglese poiché una delle lingua ufficiali dell’in-dia.
Capitolo 2
Pianificazione
Prima dell’inizio dello stage è stato redatto un piano di lavoro, proposto dall’azianda, a cadenza settimanale che è stato ampiamente rispettato.
• Prima settimana: Fase di studio delle tecnologie coinvolte: API di Facebook, Laravel, PHP, HTML, CSS, Javascript, MySQL;
• Seconda settimana: Fase di studio parziale, inizio della fase di analisi, colle-zione dei requisiti ed inizio della stesura di un documento di analisi dei requisiti;
• Terza Settimana: Fine della fase di analisi ed inizio della fase di realizzazione della specifica tecnica;
• Quarta Settimana: Sviluppo del prodotto;
• Quinta Settimana: Sviluppo del prodotto, fino al rilascio di una versione alpha;
• Sesta Settimana: Fine dello sviluppo ed inizio della fase di test funzionali, rilascio di una versione beta;
• Settima Settimana: Validazione ulteriore parte dell’azienda con relative corre-zioni, e messa online del progetto. (circa una versione di RC);
• Ottava Settimana: Correzioni a seguito di bug presentati dagli utilizzatori, monitoraggio dell’utilizzo, miglioramenti a seguito della messa online, ulteriori potenziali sviluppi.
3
Capitolo 3
Analisi dei Requisiti
In questo capitolo viene documentata l’attività di analisi dei requisiti del progetto proposto.
3.1 Casi d’uso
Per favorire l’attività di estrazione dei requisiti, a seguito di una riunione con il tutor interno, sono stati redatti dei casi d’uso, dai quali è stato possibile estrarre un numero consistente di requisiti. Per ogni caso d’uso è stato redatto il rispettivo diagramma seguendo le specifiche UML 2.0, accompagnato con una descrizione testuale, secondo lo schema seguente:
UC: Il nome del caso d’uso con un codice identificativo gerarchico;
• Attori Principali: Gli attori coinvolti;
• Precondizioni: La precondizione del caso d’uso;
• Descrizione: La descrizione del caso d’uso;
• Post-condizioni: La Post-condizione del caso d’uso;
• Scenario Alternativo: L’eventuale caso d’uso alternativo.
Caso d’uso UC 1: Visione ad alto livello
• Attori: utente, nuovo utente;
• Precondizione: l’utente è autenticato su Facebook;
• Descrizione: Al momento dell’apertura dell’app l’utente di Facebook ha la pos-sibilità, in stile gioco, di compilare delle liste tra quelle proposte e di gestire la creazione di nuove liste da sottoporre ad altri utenti. Inoltre nel caso l’utente provenga da un link della bacheca di Facebook ha la possibilità di visualizzare i risultati della persona che ha condiviso il risultato. Infine se l’utente ha già utilizzato l’app e dunque ha già compilato almeno una lista, potrà visualizzarne i risultati ottenuti;
5
Figura 3.1: Caso d’uso UC1: Visione ad alto livello
• Post-condizione: l’utente ha selezionato l’operazione da eseguire;
• Scenario alternativo: se l’utente richiede la visualizzazione dei risultati di un amico riguardo una lista che lui stesso non ha ancora compilato, viene esortato a sottoporsi ad essa tramite un messaggio di notifica.
3.1. CASI D’USO 7
3.1.1 Caso d’uso UC 1.3: Gestione liste
Figura 3.2: Caso d’uso UC 1.3: Gestione liste
• Attori: utente, nuovo utente;
• Precondizione: l’utente è autenticato su Facebook;
• Descrizione: Il nuovo utente può solamente iniziare la procedura per crearne una nuova; mentre un utente che ha già utilizzato l’app potrà, se presente, modificare una lista già creata;
• Post-condizione: l’utente procede con la compilazione, modifica o ripresa della creazione di una lista;
• Scenario alternativo: se l’utente aveva lasciato in sospeso la creazione di una lista, avrà la possibilità di riprenderla.
3.1.2 Caso d’uso UC 1.3.1: Creazione nuova lista
Figura 3.3: Caso d’uso UC 1.3.1: Creazione nuova lista
• Attori: utente;
• Precondizione: l’utente sta creando una nuova lista da poter sottoporre ad altri utenti di Facebook;
• Descrizione: l’utente durante la procedura di creazione di una nuova lista ha la possibilità di inserire ordinatamente un titolo, un’immagine, una descrizione e infine gli elementi testuali che dovrà contenere;
• Post-condizione: la lista è stata creata correttamente.
3.1. CASI D’USO 9
3.1.3 Caso d’uso UC 1.5: Compilazione nuova lista
Figura 3.4: Caso d’uso UC 1.5: Compilazione nuova lista
• Attori: utente;
• Precondizione: l’utente vuole sottoporsi alla compilazione di una lista;
• Descrizione: l’utente procede con la compilazione della lista selezionando gli elementi che ritiene di suo interesse (secondo il titolo e la descrizione della lista) e può sosparsi tra gruppi di elementi per favorirne la leggibilità. Infine l’utente può concludere la compilazione e vedrà visualizzato un risultato riassuntivo che potrà condividere nella bacheca di Facebook;
• Postcondizione: l’utente ha compilato la lista desiderata.
3.1.4 Caso d’uso UC 1.5.4: Visualizzazione risultato sintetico
Figura 3.5: Caso d’uso UC 1.5.4: Visualizzazione risultato sintetico
• Attori: utente;
• Precondizione: l’utente ha concluso la compilazione di una lista;
• Descrizione: viene data la possibilità all’utente di rivedere gli elementi che ha selezionato nella lista appena compilata, di sceglierne un’altra tra quelle proposte dall’applicazione a quale sottoporsi o di visualizzare i risultati che hanno ottenuto i suoi amici che si sono sottoposti alla medesima lista. Infine è possibile pubblicare i risultati ottenuti sulla propria bacheca di Facebook;
• Postcondizione: l’utente ha selezionato l’operazione da eseguire.