Università degli Studi di Padova FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica Tesi di laurea triennale Sviluppo di un’applicazione di Time Management per tablet Android Relatore: Candidato: Dott.ssa Francesca Rossi Nicola Gonzo (594890) .................................... .................................... Anno Accademico 2010-2011 1 di 91 2 di 91 Ai miei genitori per avermi sostenuto durante questi 3 anni 3 di 91 Sommario Il presente documento si prefigge come scopo la discussione del lavoro svolto durante lo stage realizzato dal candidato. Verranno presentati gli strumenti utilizzati, le fasi di analisi, progettazione, codifica e verifica che hanno permesso la realizzazione del progetto. I termini presenti nel Glossario, reperibile nelle appendici, sono riportati in italico alla loro prima occorrenza. 4 di 91 Indice 1 Introduzione9 1.1 Descrizione obbiettivo di stage ........................ 9 1.2 Descrizione dell’azienda ............................ 10 2 Time/system 13 2.1 Analisi di Time/system ............................ 13 2.1.1 Vista giornaliera ............................ 14 2.1.2 Progetti................................. 15 2.1.3 Note................................... 15 2.1.4 Contatti................................. 16 2.2 Limiti di Time/system............................. 16 3 Analisi dei Requisiti 19 3.1 Use cases .................................... 19 3.1.1 UC1: use case generale......................... 19 3.1.2 UC1.1: apertura programma ..................... 20 3.1.3 UC1.2: selezione tipo visualizzazione................. 21 3.1.4 UC1.3: sincronizzazione con il calendario di Google......... 21 3.2 Requisiti..................................... 22 3.2.1 Requisiti funzionali........................... 23 3.2.2 Requisiti di Vincolo .......................... 25 3.2.3 Requisiti Prestazionali......................... 25 3.3 Analisi competitors............................... 25 4 Strumenti Utilizzati 29 4.1 Android..................................... 29 4.2 Strumenti per lo sviluppo ........................... 31 4.2.1 Repository ............................... 31 4.2.2 ADT................................... 32 4.2.3 Eclipse.................................. 32 4.3 Strumenti per la documentazione....................... 34 4.3.1 Latex .................................. 34 4.3.2 Texmaker................................ 35 4.3.3 Bouml.................................. 35 4.3.4 Dia.................................... 35 5 Progettazione 37 5.1 Progettazione del database .......................... 37 5.2 Progettazione dei packages e delle classi................... 40 5.2.1 package agenda. ............................ 41 5.2.2 package agenda.model e agenda.controller . 43 5.2.3 package agenda.view.create ...................... 43 5 INDICE 5.2.4 package agenda.view.leftFramgent . 46 5.2.5 package agenda.view.rightFragment . 47 5.2.6 pacakge agenda.sync .......................... 48 6 Realizzazione 51 6.1 Norme utilizzate ................................ 51 6.2 Definizione di prodotto............................. 52 6.2.1 Realizzazione del package agenda ................... 52 6.2.2 Realizzazione del package agenda.view.create . 55 6.2.3 Realizzazione del package agenda.view.leftFragment . 59 6.2.4 Realizzazione del package agenda.view.rightFragment . 62 6.2.5 Realizzazione del package agenda.sync . 63 6.2.6 Realizzazione del package agenda.sync.model . 64 6.2.7 Realizzazione dei package agenda.model e agenda.controller . 65 6.3 Realizzazione della sincronizzazione...................... 65 6.4 Verifica ..................................... 66 6.4.1 Tracciamento requisiti-componenti.................. 68 7 Consuntivo 71 8 Conclusioni 75 A Manuale Utente 77 A.1 Introduzione................................... 77 A.2 Descrizione del prodotto............................ 77 A.3 Istruzioni per l’uso............................... 78 B Glossario 85 C Bibliografia 91 6 di 91 Elenco delle figure 2.1 Vista giornaliera del sistema Time/system. ................. 14 2.2 Vista di un singolo progetto........................... 15 3.1 UC1: che mostra le diverse funzioni offerte dal sistema all’utente. 19 3.2 UC1.1: mostra le diverse operazioni che l’utente può intraprendere quando apre l’applicazione ............................... 20 3.3 UC1.2: in questo use case si mostrano i diversi tipi di visualizzazione offerti dal sistema................................ 21 3.4 UC1.3: mostra le azioni che vengono eseguite quando l’utente decide di sincronizzare l’applicazione .......................... 22 4.1 Strati che costituiscono l’architettura di Android............... 31 4.2 Editor Xml incluso nel plugin ADT. ..................... 33 5.1 Diagramma relazionale del database realizzato................ 38 5.2 Diagramma dei packages sviluppati. ..................... 41 5.3 Diagramma delle classi del package com.ceremit.agenda........... 42 5.4 Diagramma delle classi del package com.ceremit.agenda.view.create. 44 5.5 Diagramma delle classi del package com.ceremit.agenda.view.leftFragment. 46 5.6 Diagramma delle classi del package com.ceremit.agenda.view.rightFragment. 47 5.7 Diagramma delle classi del package com.ceremit.agenda.sync. 50 6.1 Diagramma di sequenza che mostra come funziona il processo di sincroniz- zazione. ..................................... 67 7.1 Raffronto tra le ore preventivate e quelle a consuntivo............ 73 A.1 Attività mostrata all’apertura dell’applicazione................ 78 A.2 Attività che mostra il riassunto di una giornata. .............. 80 A.3 Figura che mostra come visualizzare il menu contestuale di un appuntamento. 80 A.4 Figura che mostra come creare un nuovo appuntamento........... 81 A.5 Figura che mostra come creare una nuova nota................ 82 A.6 Figura che mostra come selezionare un progetto. .............. 82 7 Elenco delle tabelle 3.1 Tabella che illustra i diversi tipi di requisiti.................. 23 3.2 Tabella che illustra la diversa importanza tra i requisiti........... 23 3.3 Tabella con tutti i requisiti funzionali..................... 24 3.4 Tabella che illustra i requisiti di vincolo individuati. ............ 25 3.5 Tabella che illustra i requisiti prestazionali individuati............ 25 6.1 Tabella dove ogni requisito viene associato alle classi che lo realizzano . 69 7.1 Ore consuntivate per le varie sotto-attività.................. 72 8 Capitolo 1 Introduzione 1.1 Descrizione obbiettivo di stage L’attività di stage è stata svolta presso l’azienda Ceremit srl da metà aprile a metà giugno. Sono state impiegate 320 ore di tempo equivalenti a 8 settimane lavorative per completare il progetto. L’applicativo realizzato lavora su tablet che sfruttano il sistema operativo Android nella versione 3.0 Honeycomb o superiore. Sono stati scelti questi dispositivi in quanto offrono una grande comodità derivante dalle loro dimensioni compatte e da una notevole durata della batteria. Importante è anche la loro facilità d’uso che li ha resi sempre più popolari offrendo quindi un mercato di potenziali clienti molto vasto. L’applicazione consiste in un’agenda attraverso la quale l’utente può organizzare il suo tempo. Essa non si limita a gestire semplicemente gli appuntamenti che hanno un’ora d’inizio e di fine ben precisa, bensì vengono gestite anche le seguenti attività: eventi, contact task e standard task. I primi occupano l’intera giornata e di conse- guenza non hanno un particolare orario. I contact task rappresentano invece delle comunicazioni che devono essere effettuate durante il giorno. Esse sono costituite da una persona che deve essere chiamata e da una durata. È possibile specificare con quale mezzo contattare la persona: email, telefono, chat, skype. Gli standard task sono invece delle attività da svolgere durante la giornata senza un’ora precisa, ma con una durata definita. Essi non sono quindi né appuntamenti (che hanno un preciso orario) né eventi (che invece sono all day long). Lo scopo degli standard task è dunque quello di creare delle attività come ‘‘preparare l’esame di Ingegneria del software’’ che richieda 325 ore in totale da dividere in 4 ore di studio al giorno per i prossimi mesi. In questo modo l’applicazione indicherà che ogni giorno l’utente ha 4 ore di studio a cui adempiere. Per migliorare la gestione degli appuntamenti è stata inserita anche la gestione del trasporto: è possibile inserire per quanto tempo è necessario spostarsi prima e/o dopo l’appuntamento. È presente un’apposita vista nella quale si può vedere il riassunto di tutto ciò che deve essere svolto in un giorno, nonché inserire, modificare e cancellare le attività da svolgere. Per facilitare la creazione di appuntamenti ed eventi è possibile inserire delle ripetizioni ad esempio ripetere l’appuntamento ‘‘lezione di Sistemi Operativi’’ dalle 10.00 alle 12.00 ogni giorno esclusi i weekend fino ad una certa data. L’applicativo non si limita però ad una semplice agenda: vengono gestiti anche i progetti. Essi vengono inseriti mediante un’apposita finestra nella quale è possibile specificare un responsabile, una data d’inizio ed una deadline entro cui devono essere finiti i lavori. È possibile associare un progetto a tutte le attività definite preceden- temente. In questo modo nella sua finestra di riassunto è possibile visualizzare tutti gli appuntamenti, gli eventi, i contact task e gli standard task che sono stati fatti 9 CAPITOLO 1. INTRODUZIONE durante il progetto. È inoltre possibile definire dei figli per un progetto così da creare una gerarchia. Ad esempio
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages91 Page
-
File Size-