Università Ca Foscari di Venezia Dipartimento di Scienze Ambientali, Informatica e Statistica Corso di Ingegneria del Software A.A. 2016-2017 Docente: Prof. Agostino Cortesi DOCUMENTO DI PROGETTAZIONE Data di consegna: 15/03/17 Versione 1.1
1 MASSIVE DYNAMICS Paolo Vedorin Via San Pelajo 139 31100 Treviso Mariagiovanna Czarnecki Via per Cavriè 34 31030 Breda di Piave Dora Pavan Strada delle Acquette 19 31100 Treviso 345.8052880 849942@stud.unive.it 346.0262298 854098@stud.unive.it 347.0358079 860980@stud.unive.it
2 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO... 3 1.2 STRUTTURA DEL DOCUMENTO... 3 2 GLOSSARIO... 4 3. STRUTTURA DEL SISTEMA... 5 4. MODELLO DI CONTROLLO... 6 5. DIAGRAMMA DELLE CLASSI... 7 5.1 UTENTI... 8 5.2 PUNTI DI INTERESSE... 8 5.3 RICERCA... 8 6. DIAGRAMMA DELLE ATTIVITÀ... 9 6.1 LOGIN... 9 6.2 RICERCA PUNTI DI INTERESSE IN UN AREA SPECIFICA... 10 6.3 INSERIMENTO VALUTAZIONE PUNTO DI INTERESSE... 11... 11 6.4 AGGIUNTA LUOGHI PREFERITI/VISITATI... 12 6.5 RIMOZIONE LUOGHI PREFERITI/VISITATI... 13 7. DIAGRAMMA DI SEQUENZA... 14 7.1 LOGIN... 14 7.2 RICERCA PUNTI DI INTERESSE IN UN AREA SPECIFICA... 15 7.3 INSERIMENTO VALUTAZIONE PUNTO DI INTERESSE... 16 7.4 AGGIUNTA DI UN LUOGO AI PREFERITI/VISITATI... 17 7.5 RIMOZIONE DI UN LUOGO DAI PREFERITI/VISITATI... 18 8. INTERFACCIA GRAFICA... 19 8.1 PRIMO AVVIO... 19 8.2 SECONDO ACCESSO... 20 8.3 APERTURA MENÙ LATERALE... 21 8.4 APERTURA VOCI MENÙ LATERALE... 22 8.5 MENÙ PUNTO DI INTERESSE + ESTENSIONE... 24 8.6 SISTEMA DI NAVIGAZIONE... 27 8.7 GUIDA ALL APPLICAZIONE... 28 8.8 INFORMAZIONI GENERALI... 29
3 1 INTRODUZIONE 1.1 SCOPO DEL DOCUMENTO Lo scopo di questo documento è l illustrazione degli aspetti che hanno a che fare con l implementazione della nostra app Android Picnic-ly, mostrando in modo approfondito i dettagli necessari alla corretta strutturazione del sistema. 1.2 STRUTTURA DEL DOCUMENTO Il documento presente è suddiviso nelle seguenti parti: Glossario: si tratta di un elenco dettagliato di termini di uso tecnico utilizzati nel documento, utile a garantire la comprensione del testo da parte di qualsiasi tipo di utente. Struttura del sistema: in questa sezione mostreremo in che modo è strutturato il sistema, evidenziando la suddivisione in sottosistemi e facendo vedere come essi comunicano fra loro. Modello di controllo: lo scopo di questo paragrafo è l illustrazione del modello di controllo scelto per stabilire le relazioni che intercorrono tra i sottosistemi individuati. Diagramma delle classi: si tratta di una sezione finalizzata a descrivere le entità che costituiscono il sistema e le loro relazioni, mostrando altresì le varie operazioni effettuabili. Diagramma delle attività: in questo punto verranno definite le attività che è necessario compiere in modo da poter mettere in atto le funzionalità offerte dall applicazione. Diagramma di sequenza: qui verranno mostrate, in relazione alle varie attività descritte, le chiamate a funzione. Interfaccia grafica: questa sezione illustrerà i prototipi dell interfaccia grafica destinata, mostrandone gli schemi più importanti.
4 2 GLOSSARIO Android: è un sistema operativo per dispositivi mobili sviluppato da Google Inc. e basato sul kernel Linux. Non è da considerarsi, tuttavia, propriamente un sistema unix-like o una distribuzione GNU/Linux, dal momento che la quasi totalità delle utilità GNU è sostituita da software in Java. App: dicitura abbreviata per indicare un'applicazione software, sia ludica che di utilità, per dispositivi mobili quali smartphone, palmari e tablet. Client: Programma o parte di un programma che permette di scambiare dati con un server. Database: collezione di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. I dati sono strutturati in modo tale da consentire la loro gestione in termini di inserimento, aggiornamento, ricerca e cancellazione delle informazioni. Query: interrogazione di un database per estrarre o aggiornare i dati che soddisfano un certo criterio di ricerca. Utente: è la persona fisica che fa uso dell applicazione.
5 3. STRUTTURA DEL SISTEMA L applicazione Picnic-ly sarà strutturata secondo il modello Client-Server. Essa, infatti, sarà provvista di un database, necessario alla raccolta e al trattamento di tutti i dati che caratterizzeranno i punti d interesse considerati. In questa configurazione di sistema, il processo client ha il compito di richiedere al server i dati per mezzo di query determinate. Il sottosistema client, inoltre, sarà suddiviso in tre sottoclassi: la prima sarà dedicata alla visualizzazione dei dati in maniera ordinata, la seconda servirà ad inviare richieste specifiche di dati al server, mentre l ultima avrà lo scopo di ricevere i pacchetti di dati da parte del server.
6 4. MODELLO DI CONTROLLO Il modello di controllo che abbiamo deciso di utilizzare è il call-return model a struttura centralizzata, ovvero caratterizzato dall esistenza di un sottosistema avente controllo globale sugli altri sottosistemi. Si tratta di un modello gerarchico gestito secondo una struttura top-down. Tale scelta è dovuta al fatto che la nostra applicazione sarà sviluppata in maniera sequenziale.
7 5. DIAGRAMMA DELLE CLASSI Le funzionalità qui descritte, che verranno ulteriormente analizzate nei punti seguenti, sono riferite ad un utenza registrata.
8 5.1 UTENTI Questa classe ha la funzione di raccogliere i dati relativi agli utenti che effettuano l accesso all applicazione tramite un account Facebook o Google. C è, inoltre, la possibilità di vedere tutti i luoghi che l utente ha aggiunto alle liste LuoghiVisitati, LuoghiPreferiti e Votati. I luoghi votati presenti in ciascun utente servono per poter gestire il sistema di valutazione presente all interno dell app. 5.2 PUNTI DI INTERESSE Si tratta della classe contenente le informazioni relative ai punti di interesse, divisi in base alla loro categoria, a cui l utente accede tramite il sistema di ricerca. Questa classe, inoltre, comprende le operazioni effettuabili sui luoghi cercati, per quanto riguarda la visualizzazione dei voti e indicazioni stradali. 5.3 RICERCA Questa classe permette all utente di effettuare la ricerca di luoghi nella mappa in base alla località desiderata, grazie al metodo RicercaLuoghi.
9 6. DIAGRAMMA DELLE ATTIVITÀ In questa sezione vengono mostrati i diagrammi di attività relativi alla nostra applicazione. 6.1 LOGIN
10 6.2 RICERCA PUNTI DI INTERESSE IN UN AREA SPECIFICA
11 6.3 INSERIMENTO VALUTAZIONE PUNTO DI INTERESSE
12 6.4 AGGIUNTA LUOGHI PREFERITI/VISITATI
13 6.5 RIMOZIONE LUOGHI PREFERITI/VISITATI Alla fine di ogni attività è presente uno stato finale che sta ad indicare che l attività è andata a buon fine, e si può continuare con l esecuzione dell applicazione.
14 7. DIAGRAMMA DI SEQUENZA 7.1 LOGIN
15 7.2 RICERCA PUNTI DI INTERESSE IN UN AREA SPECIFICA
16 7.3 INSERIMENTO VALUTAZIONE PUNTO DI INTERESSE
17 7.4 AGGIUNTA DI UN LUOGO AI PREFERITI/VISITATI
18 7.5 RIMOZIONE DI UN LUOGO DAI PREFERITI/VISITATI
19 8. INTERFACCIA GRAFICA 8.1 PRIMO AVVIO L immagine che segue corrisponde al primo avvio, subito dopo l installazione. Verrà concessa la possibilità di loggarsi con Facebook o Google+ oppure di posticipare l accesso tramite account e dare uno sguardo veloce all applicazione. Figura 1 Accesso all app con o senza log in
20 8.2 SECONDO ACCESSO Al secondo accesso, l applicazione presenta la seguente immagine, con o senza l accesso. Abbiamo lasciato a disposizione la possibilità di loggarsi in qualsiasi momento tramite il menù laterale, premendo la voce Log In. Figura 2 Interfaccia di attesa Qui viene data la possibilità di ricercare il punto di interesse desiderato, tramite ricerca vocale, aprire il menù laterale, geolocalizzarsi e accedere al menù delle indicazioni stradali. Figura 3 Visuale mappa
21 8.3 APERTURA MENÙ LATERALE Qui di seguito viene rappresentato il menù laterale, che si diversificherà in base all autenticazione da parte dell utente all apertura dell app: quello che viene rappresentato qui di fianco è quella che viene fornita alle persone loggate coi loro profili social. Figura 4 Menù laterale con registrazione Questa schermata invece è riferita alla situazione in cui non sia stato effettuato l accesso tramite alcun profilo. Figura 5 Menù laterale offerta ai visitatori non loggati
22 8.4 APERTURA VOCI MENÙ LATERALE Quello rappresentato qui a fianco è il menù Preferiti. Questo si estende man mano che l utente visita i luoghi e li aggiunge tra i preferiti tramite la schermata della Figura 11. Figura 6 Menù preferiti Quella a fianco è la schermata in cui, a seguito di una pressione, viene mostrato un menù in cui è possibile andare al punto di interesse in questione o rimuoverlo dai preferiti Figura 7 Menù preferiti (rimozione)
23 Qui, invece viene mostrato il menù dei Visitati in cui possono essere aggiunte nuove voci tramite la schermata della Figura 11 come il precedente Preferiti. Figura 8 Menù Visitati Quella a fianco è la schermata in cui, a seguito di una pressione, viene mostrato un menù in cui è possibile andare al punto di interesse in questione o rimuoverlo dai preferiti. Figura 9 Menù Visitati (rimozione)
24 8.5 MENÙ PUNTO DI INTERESSE + ESTENSIONE Qui viene rappresentata la schermata in cui si seleziona il punto di interesse. Viene data la possibilità di geolocalizzarsi e di ottenere informazioni stradali. Figura 10 Menù punto di interesse Qui viene rappresentata la schermata del menù del punto di interesse quando viene esteso per ottenere maggiori informazioni, aggiungerlo come visitato e preferito e condividerlo. segnalazione di problemi, poter vedere il punteggio, aggiungere foto, misurare la distanza dal luogo in cui ti trovi Figura 11 Estensione menù punto di interesse
25 In questa schermata viene mostrato cosa accade quando un luogo viene aggiunto nell elenco di Visitati e Preferiti di cui discusso precedentemente. È possibile comunque compiere le stesse azioni descritte alla figura 11. Figura 12 Aggiunta nell elenco Visitati e Preferiti Qui è possibile aggiungere un voto e lasciare un commento. Figura 13.1 Voto e commento
26 Qui è possibile aggiungere un voto e lasciare un commento. Figura 13.2 Voto e commento
27 8.6 SISTEMA DI NAVIGAZIONE Qui viene mostrata la visuale di navigazione presente all interno della nostra app, con la possibilità di scegliere il luogo di partenza e di arrivo, il mezzo con cui si desidera arrivare, la durata del viaggio e la distanza da coprire. Figura 14 Menù di navigazione Qui viene mostrato un momento della navigazione. Figura 15 Navigazione
28 8.7 GUIDA ALL APPLICAZIONE Sarà presente una guida all applicazione, raggiungibile tramite il menù laterale in cui verranno date le più importanti informazioni riguardo l applicazione e i contatti messi a disposizione per scriverci. La sezione Credits contiene altri ringraziamenti. Figura 16 Guida
29 8.8 INFORMAZIONI GENERALI Qui vengono date brevemente informazioni sulla versione dell applicativo e un indirizzo attraverso cui contattarci per qualsiasi informazione o segnalazione. È accessibile tramite il menù laterale e Informazioni. Figura 17 Informazioni