POLITECNICO DI BARI DIPARTIMENTO DI INGEGNERIA ELETTRICA E DELL INFORMAZIONE LAUREA IN INGEGNERIA INFORMATICA E DELL AUTOMAZIONE.

Documenti analoghi
Il PROCESSO UNIFICATO

UNIVERSITA CA FOSCARI VENEZIA - CT0090 INGEGNERIA DEL SOFTWARE 2016/2017 ARRIFORNISCETE. Documento di Analisi e Specifica 1.

REGISTRI DIDATTICI CORSI DI LAUREA E LAUREA MAGISTRALI

Documento di Analisi e Specifica

Guida per INSERIMENTO o MODIFICA dei DATI OPERATORE per le informazioni visualizzate nella procedura di Gestione Accreditamento Operatori FP

Il PROCESSO UNIFICATO

PerElmec Mobile App. Guida sull utilizzo della App mobile del PerElmec. Autore: Uff. Sviluppo Web Rev. Dicembre Sviluppo Web e Mobile

SISTEMA GESTIONE TOMBINI

Registro Lezioni e Diario Docenti

SIFORM Manuale per la presentazione delle BORSE

Guida per il diario del docente tramite applicativo ESSE3

Portale IDeA FIMIT Procurement: Qualifica Fornitori Istruzioni Operative

SECONDA FASE: Compilazione della candidatura telematica

Ing. Vincenzo Falanga

Servizio di realizzazione del nuovo sistema di Gestione Fondi

MANUALE UTENTE. Portale Web Scambio sul posto GSE IMPRESE DI VENDITA. stato documento draft approvato consegnato

U88 Automatico. Versione 3.0

E.C.M. Educazione Continua in Medicina RELAZIONE ANNUALE. Manuale utente

ALBO PRESTATORI DI BENI E SERVIZI MANUALE D USO

MANUALE OPERATORE MODULO EMMAWEB TRASPORTI PROGRAMMATI. Commessa: EMMAWEB Progetto: EMMA_Emergency Management Versione modulo: 4.63.

Contest grafico Applicazione mobile Area Clienti3

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

PSC Doc Manuale d uso

MANUALE ESSE3 Gestione Registro delle lezioni

Manuale Operativo. Richieste di Ritiro Sottoscrittore. Versione: 1.3 Sottoscrittore

Il PROCESSO UNIFICATO

RICHIESTA CERTIFICATO DI AGIBILITÀ IMPRESE CHE OCCUPANO LAVORATORI DEL SETTORE DELLO SPETTACOLO

Mutui Prima Casa NONO BANDO per l'erogazione dei contributi per l'agevolare l'accesso alla proprietà della prima casa di abitazione per l'anno 2009

INTRODUZIONE INTERFACCIA UTENTE SCENARIO D INTEGRAZIONE CON L ANAGRAFE REGIONALE FILTRI DI RICERCA MINIMI RICHIESTI...

Guida alla registrazione al Sistema di Gestione dell Albo Fornitori di REALE GROUP

ARCHITETTURA FISICA DEL SISTEMA

Guida Quiz Patenti Nautiche

Ski Ways Documento di Progettazione. Ingegneria del Software, A.A. 2016/2017 Andrea Boscaro, Michele Dal Ben, Alberto Carraro, Davide Niero

1. Unico Uniemens per un azienda con una sola sede (unica matricola INPS)

2. Modellazione dei casi d uso

Manuale Utente. Gestione Graduatoria Versione 1.0. Versione documento 1.0 Versione template 1.0. Data ultimo aggiornamento

Approvazione Web Piani di studio

ESEMPIO GUIDATO 6. Verifica di una copertura in legno

Microsoft Visio 2002 UML Sergio Colosio

CREAZIONE PERCORSI TEMATICI E INSERIMENTO COMMENTI

ARCHITETTURA FISICA DEL SISTEMA

WebDisk. TeamPortal - WebDisk

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

SIFORM BORSE. 1 Informazioni generali

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver /12/2014

PROGETTO TESSERA SANITARIA MANUALE D USO FUNZIONALITA DI INTERROGAZIONE DELLE RICETTE DEMATERIALIZZATE (DM 2 NOV 2011) PER GLI UTENTI DELLE ASL

La Back Office Console consente di costruire lo scheletro degli schema.

MS Access: Tutorial Tabelle, Relazioni

Area. Redatto da. Area Tecnica Sviluppo Siti e Applicativi. CSI ESOL GUIDA STUDENTE pag. 1

Bcom Calendar. Guida alla configurazione e all uso

Tutorial CLASSIFICAZIONE del RISCHIO SISMICO. Applicazioni Pratiche

Access 2007 Colonna di ricerca

ARCHITETTURA FISICA DEL SISTEMA

FASI DA ESEGUIRE ON-LINE

Plugin di integrazione con il CMS Joomla

SendMed Client v Manuale d uso-

ALBO PRETORIO WEB MANUALE DI GESTIONE

SEDE OPERATIVA Via A. De Gasperi, 127/A Merate (LC) TEL. 039/ Manuale

GECOS + Rendicontazione ore

Metodologie e modelli di progetto

Università degli Studi di Ferrara

FASI DA ESEGUIRE ON-LINE

Jamio openwork data source connector for QlikView

REMARE A SCUOLA 2016 CAMPIONATI STUDENTESCHI CAMPIONATO INTERSCOLASTICO INDOOR

Manuale Utente Guglielmo SmartClient

SITI4farmer. Attività di spargimento fertilizzanti TRAINING TUTORIAL. Versione 2 ABACO ACADEMY-4F-TT-ATTIVITÀ DI SPARGIMENTO FERTILIZZANTI-IT

FASI DA ESEGUIRE ON-LINE

Alternanza Scuola Lavoro

Manuale Utente Versione 0.1. Qualità e immagine. Pubblicazione: 17/09/2007 Pagine: 1/14

Domanda di Ristrutturazione ai sensi della Circolare Agea n.20 ZUCCHERO

MANUALE RICHIESTE VISITE FISCALI

Procedura operativa per la gestione della funzione di formazione classi prime

Utilizzo delle Maschere in Microsoft Access

Regione Campania Direzione Generale per l Università, la Ricerca e l Innovazione GUIDA COMPILAZIONE RICHIESTA DI ACCESSO CAMPANIA START-UP INNOVATIVA

9.3 Funzionalità utente RL Sblocco di un piano in attesa di validazione Funzionalità utente Guest Funzionalità utente Comunale

Manuale Formazione. Procedure per gli Enti di Formazione per l inserimento e la gestione dei corsi di formazione

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Modalità di utilizzo di CardioGest

Dipartimento per le Attività Sanitarie e Osservatorio Epidemiologico. Azienda Ospedaliero Universitaria Policlinico Vittorio Emanuele Catania

INTERVENTI DI RIDUZIONE DEL RISCHIO SISMICO. DISCIPLINATI DAL PROGRAMMA O.C.D.P.C. n. 52 del 20/02/2013

SISTEMI INFORMATIVI E DATABASE

Ripartizione Politiche Educative Giovanili e del Lavoro

Attiva la tua Smart Living in 3 semplici passaggi

Gestione documenti sistema qualità

Manuale registro elettronico per docenti

Manuale versione Mobile (Smartphone Tablet)

U-GOV - RU Simulazione contratto. Versione 0.1 Manuale operativo

inserire un proprio indirizzo , oppure se si possiede una di Google si può accedere direttamente con essa.

HUB Scuola. PARTE 2 Classi vitruali, Lesson Plan e Blog

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Tesi di Laurea Triennale in Ingegneria Informatica REALIZZAZIONE DI UN APPLICATIVO PER LA GESTIONE DI FOGLI DI LAVORO INTEGRATO IN OUTLOOK 2010

GUIDA ALLA COMPILAZIONE DELL OFFERTA

Certificazione e.toscana Compliance. Applicativi di Sistemi Informativi degli Enti Locali (SIL)

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

GUIDA RAPIDA PRODUTTORI

1. Introduzione. 2. Installazione di WinEMTFree. 3. Descrizione generale del programma

Il back end di doclife network è utilizzato dalla sede centrale e dagli amministratori dell azienda che adotta il sistema.

Servizio Conservazione No Problem

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

NPA Nuovo Portale Anagrafiche

Transcript:

POLITECNICO DI BARI DIPARTIMENTO DI INGEGNERIA ELETTRICA E DELL INFORMAZIONE LAUREA IN INGEGNERIA INFORMATICA E DELL AUTOMAZIONE Tema d anno di INGEGNERIA DEL SOFTWARE Modellazione ed Implementazione di app per la gestione informatizzata di ricette LIBRO DI RICETTE Docente: Prof.ssa Marina MONGIELLO Dott. Francesco NOCERA Studenti (Gruppo n. 01): Massimo TUMOLO Claudio GIANFRATE ANNO ACCADEMICO 2015 2016

FASE DI IDEAZIONE VISIONE Cronologia revisioni Versione Data Descrizione Bozza ideazione 24/10/2015 Prima bozza. Raffinamento previsto in elaborazione Introduzione Si vuole realizzare una Applicazione Android, denominata Libro di Ricette, in grado di memorizzare ricette. L applicazione grazie alla sua interfaccia intuitiva deve permettere anche ad utenti poco esperti di registrare e categorizzare le proprie ricette implementando un meccanismo di ricerca adeguato. Requisiti funzionali R1) Il Sistema deve consentire di inserire ricette specificandone durante la creazione il nome, gli ingredienti, il procedimento, la categoria a cui appartengono e un eventuale valutazione. R2) Il Sistema deve consentire all utente la gestione delle ricette, con rimozione e modifica. R3) Il Sistema deve consentire all utente la gestione delle categorie, con inserimento, rimozione e modifica di quelle preesistenti. R4) Il Sistema deve consentire la ricerca per nome di una particolare ricetta. R5) Il Sistema deve consentire la visualizzazione dell elenco delle ricette memorizzate. R6) Il Sistema deve consentire la visualizzazione per categoria. R7) Il Sistema deve consentire la visualizzazione per valutazione.

SPECIFICHE SUPPLEMENTARI Cronologia revisioni Versione Data Descrizione Bozza ideazione 24/10/2015 Prima bozza. Raffinamento previsto in elaborazione Introduzione Questo documento raccoglie tutti gli attributi di qualità e i requisiti URPS+ ed eventuali vincoli dell Applicazione Libro di Ricette. Sicurezza Non essendo presenti dati sensibili da trattare non è necessario adottare particolari misure di protezione. Non sono necessari meccanismi per la gestione della concorrenza per l accesso alle risorse in quanto si tratta di un applicazione monoutente. Usabilità L applicazione si propone di essere quanto più user-friendly possibile, pertanto si adotteranno interfacce semplici. L utente deve poter accedere a ciascuna funzionalità con al più tre tap. Hardware e Interfacce Significative L applicazione è destinata a smartphone con sistema operativo Android versione minima 3.0. Non è richiesta connessione a internet o interazioni con altri servizi offerti dal sistema.

STIMA DEI COSTI E DELLA TEMPISTICA Cronologia revisioni Versione Data Descrizione Bozza ideazione 25/10/2015 Prima bozza. Raffinamento previsto in elaborazione Introduzione Per il calcolo della tempistica ci riconduciamo al modello COCOMO II. Per stimare l effort utilizziamo la formula: Size Calcoliamo gli UFP. Effort = 2,94 * Size B * M Input utente Requisiti Complessità Peso R1 Alta 6 R2 Media 4 R3 Bassa 3 Totale UFP: 13 Output utente Requisiti Complessità Peso R5 Media 5 R6 Media 5 R7 Media 5 Totale UFP: 15 Interrogazioni utente Requisiti Complessità Peso R4 Media 4 Totale UFP: 4 Archivi Requisiti Complessità Peso Basi di Dati Alta 15 Totale UFP: 15

Interfaccia utente Requisiti Complessità Peso Interfaccia Alta 10 Totale UFP: 10 Numero totale di UFP = 57 Calcoliamo ora il VAF VAF Caratteristiche generali del sistema Risposta Comunicazione dei dati 0 Processi con dati distribuiti 1 Performance 1 Pesantezza della configurazione utilizzata 1 Grado di transazione 0 Input Interattivo 5 Efficienza lato utente 2 Aggiornamento interattivo 3 Complessità dei processi 0 Riusabilità 1 Facilità di installazione 0 Facilità di operazione 2 Siti multipli 0 Complessità delle interrogazioni 1 Totale VAF: 17 Calcoliamo i punti funzione FP= UFP * [0,65 +( 0,01 * VAF)] = 47 Il progetto sarà programmato in Java per Android all 80% integrando un DBMS SQLite per il 10%. L interfaccia sarà gestita attraverso XML. Size = 41 * [(27 * 0,80) + (13 * 0,10)] / 1000 = 1,08 B Per calcolare B utilizziamo la formula B=0,91 + 0,01 Σ Wi

Wi Fattori Lavori precedenti Flessibilità di sviluppo Risoluzioni di Architettura/rischi Coesione del Team Maturità del Processo Totale B: 1,0997 M Per calcolare M utilizziamo la formula M= PERS x RCPX x RUSE x PDIF x PREX x FCIL x SCED Coefficenti Codice Descrizione Valore assegnato RCPX Affidabilità e complessità del prodotto 0.8 RUSE Riusabiltà richiesta n/a PDIF Difficoltà della piattaforma 1 PERS Capacità del personale 1 PREX Esperienza del personale 1 FCIL Destrezza 1 SCED Tempi di scadenza del progetto 1 Totale M: 0.8 Per cui Effort = 2,94 * Size B * M = 2,6 In base alle stime effettuate si richiede un tempo di realizzazione pari a 2 mesi e mezzo.

PIANO DELLE FASI Cronologia revisioni Versione Data Descrizione Bozza ideazione 25/10/2015 Prima bozza. Raffinamento previsto in elaborazione FASE O ATTIVITÀ 1. IDEAZIONE Introduzione al dominio di interesse Analisi dei requisiti Analisi dei tempi di sviluppo del progetto Documento di visione Analisi delle specifiche Analisi dei costi Modello dei casi d uso TOTALE FASE DI IDEAZIONE 4 2. ELABORAZIONE 2.1. Requisiti 1 Riformulazione delle specifiche Aggiornamento del documento di Visione Aggiornamento piano del progetto 2.2. Analisi (opzionali) Raffinamento e specifica dei casi d uso Diagramma delle classi Diagramma dei package Diagrammi di sequenza Diagrammi di collaborazione Diagrammi di attività 2.3. Progettazione Rifinitura dei Diagrammi realizzati nelle attività precedenti Diagrammi di stato 2.4. Implementazione Sviluppo del prototipo funzionale TOTALE FASE ELABORAZIONE 8 3. COSTRUZIONE 3.1. Analisi 1 Conclusione del modello di analisi Analisi dei requisiti non funzionali 3.2. Progettazione 2 4 1 2 GIORNI

Scelta della piattaforma implementativa Sviluppo dell interfaccia Stesura dei manuali 3.3. Implementazioni 3.4. Test Scrittura del codice I primi test delle funzionalità TOTALE FASE COSTRUZIONE 10 4. TRANSIZIONE 4.1. Design Modifiche sui modelli nel caso di problemi nel testing Completamento dei manuali 4.2. Test 2 Testing Acceptance Testing TOTALE FASE TRANSIZIONE 6 TOTALE PROGETTO 32 6 1 4

MODELLO DEI CASI D USO Cronologia revisioni Versione Data Descrizione Bozza ideazione 31/10/2015 Prima bozza. Raffinamento previsto in elaborazione Individuazione dei casi d uso Casi d uso riconducibili all utente: UC1) Inserisci ricetta UC2) Visualizza e gestisci ricetta UC3) Visualizza e filtra elenco ricette UC4) Gestisci categorie UC5) Ricerca ricette Casi d uso riconducibili al sistema operativo: UC6) Avvio sistema Descrizione dei Casi D uso UC1) Inserisci ricetta L utente inserisce nel database una nuova ricetta specificando. L utente deve necessariamente inserire il nome, gli ingredienti e il procedimento per la preparazione della ricetta. All utente è offerta inoltre la possibilità di valutare la ricetta e inserirla all interno di una categoria. UC2) Visualizza e gestisci ricetta L utente può cliccare su una singola ricetta per visualizzarla ed eventualmente modificarla o rimuoverla. È lasciato all utente il compito di salvare le modifiche. UC3) Visualizza e filtra elenco ricette L utente può selezionare quali ricette visualizzare scegliendo se applicare un filtro in base alla categoria richiesta o al voto assegnato. UC4) Gestisci categorie L utente può inserire nel database una nuova categoria o eliminare/modificare le categorie già presenti. UC5) Ricerca ricette L utente può cercare una particolare ricetta fra tutte quelle presenti nel database attraverso un meccanismo di ricerca per nome.

UC6) Avvio sistema Il sistema operativo avvia all avvio dell applicazione apre il database SQLite e carica l elenco delle ricette. UC1) Inserisci ricetta Descrizione Inserimento della ricetta con specifica dei singoli campi Precondizioni Applicazione avviata Post-Condizioni per successo Ritorno al menù Post-Condizione per fallimento Pop-up di errore Evento innescante Pressione sul pulsante Inserisci ricetta Attore Primario Utente Scenario di base Step Azioni 1 Compilazione dei campi obbligatori 1.1 Compilazione del campo Nome Ricetta 1.2 Compilazione del campo Ingredienti 1.3 Compilazione del campo Procedimento 2 Compilazione dei campi opzionali 2.1 Assegnazione della categoria 2.2 Valutazione della ricetta Scenario alternativo A Evento innescante Pressione pulsante Salva 3.A Ricetta inserita nel database Scenario alternativo B Evento innescante Pressione del tasto back dello smartphone 3.B Inserimento annullato

UC2) Visualizza e filtra elenco ricette Descrizione Visualizzazione delle ricette in base al filtro Precondizioni Applicazione avviata Post-Condizioni per successo Visualizzazione elenco delle ricette che rispettano il filtro imposto Evento innescante Pressione sul pulsante Filtro Attore Primario Utente Scenario di base Step Azioni 1 Selezione del filtro opportuno Scenario alternativo A Evento innescante Viene selezionato il filtro per categoria 2.A Selezione della categoria con cui applicare il filtro Scenario alternativo B Evento innescante Viene selezionato il filtro per valutazione 2.B Selezionare la valutazione con cui applicare il filtro 2.1 Assegnazione della categoria 2.2 Valutazione della ricetta Scenario alternativo A Evento innescante Pressione pulsante Salva 3.A Ricetta inserita nel database Scenario alternativo B Evento innescante Pressione del tasto back dello smartphone 3.B Inserimento annullato, ritorno al menù Diagramma UML dei casi d uso Avvio sistema Inserisci ricetta Visualizza e gestisci ricetta Gestisci categorie Ricerca ricette Visualizza e filtra elenco ricette

DIAGRAMMA DELLE CLASSI Cronologia revisioni Versione Data Descrizione Bozza ideazione 31/10/2015 Diagramma concettuale. Raffinamento previsto in elaborazione Modellazione Sono state modellate solamente le classi strettamente necessarie all adempimento, rimandando in fase di elaborazione la strutturazione delle classi ausiliarie quali quelle di interfaccia. Ricetta -id : int -titolo : String -ingredienti : String -procedimento : String -valutazione : short -categoria : Categoria 0..n 0..1 Appartiene Contiene Categoria -id : int -nome : String

FASE DI ELABORAZIONE RAFFINAMENTO VISIONE Cronologia revisioni Versione Data Descrizione Definitiva 27/11/2015 Raffinamento Introduzione Si vuole realizzare una Applicazione Android, chiamata Libro di Ricette, che sia un sistema informativo in grado di memorizzare ricette. L applicazione grazie alla sua interfaccia intuitiva deve permettere anche ad utenti poco esperti di registrare e categorizzare le proprie ricette implementando un meccanismo di ricerca adeguato. Requisiti funzionali R8) Il Sistema deve consentire di registrare un nuovo profilo. R9) Il Sistema deve consentire di selezionare il proprio profilo. R10) Il Sistema deve consentire di inserire ricette specificandone durante la creazione il nome, gli ingredienti, il procedimento, la categoria a cui appartengono e un eventuale valutazione. R11) Il Sistema deve consentire all utente la gestione delle ricette, con rimozione e modifica. R12) Il Sistema deve consentire all utente la gestione delle categorie del profilo selezionato, con inserimento, rimozione e modifica di quelle preesistenti. R13) Il Sistema deve consentire la ricerca per nome di una particolare ricetta. R14) Il Sistema deve consentire la visualizzazione dell elenco delle ricette memorizzate sul proprio profilo. R15) Il Sistema deve consentire la visualizzazione per categoria. R16) Il Sistema deve consentire la visualizzazione per valutazione.

MODELLO DEI CASI D USO Cronologia revisioni Versione Data Descrizione Definitiva 28/11/2015 Raffinamento Individuazione dei casi d uso Casi d uso riconducibili all utente: UC7) Inserisci ricetta UC8) Visualizza e gestisci ricetta UC9) Visualizza e filtra elenco ricette UC10) Gestisci categorie UC11) Ricerca ricette UC12) Registrazione UC13) Accesso Casi d uso riconducibili al sistema operativo: UC14) Avvio sistema Descrizione dei Casi D uso UC7) Inserisci ricetta L utente inserisce nel database una nuova ricetta specificando. L utente deve necessariamente inserire il nome, gli ingredienti e il procedimento per la preparazione della ricetta. All utente è offerta inoltre la possibilità di valutare la ricetta e inserirla all interno di una categoria. UC8) Visualizza e gestisci ricetta L utente può cliccare su una singola ricetta per visualizzarla ed eventualmente modificarla o rimuoverla. È lasciato all utente il compito di salvare le modifiche. UC9) Visualizza e filtra elenco ricette L utente può selezionare quali ricette visualizzare scegliendo se applicare un filtro in base alla categoria richiesta o al voto assegnato. UC10) Gestisci categorie L utente può inserire nel database una nuova categoria o eliminare/modificare le categorie già presenti. UC11) Ricerca ricette L utente può cercare una particolare ricetta fra tutte quelle presenti nel database attraverso un meccanismo di ricerca per nome.

UC12) Registrazione L utente deve registrare il proprio profilo inserendo un nome. UC13) Accesso All avvio del sistema l utente deve scegliere il profilo da utilizzare. UC14) Avvio sistema Il sistema operativo avvia all avvio dell applicazione apre il database SQLite e carica l elenco delle ricette. UC1) Inserisci ricetta Descrizione Inserimento della ricetta con specifica dei singoli campi Precondizioni Accesso eseguito Post-Condizioni per successo Ritorno al menù Post-Condizione per fallimento Pop-up di errore Evento innescante Pressione sul pulsante Inserisci ricetta Attore Primario Utente Scenario di base Step Azioni 1 Compilazione dei campi obbligatori 1.1 Compilazione del campo Nome Ricetta 1.2 Compilazione del campo Ingredienti 1.3 Compilazione del campo Procedimento 2 Compilazione dei campi opzionali 2.1 Assegnazione della categoria 2.2 Valutazione della ricetta Scenario alternativo A Evento innescante Pressione pulsante Salva 3.A Ricetta inserita nel database Scenario alternativo B Evento innescante Pressione del tasto back dello smartphone 3.B Inserimento annullato

UC2) Visualizza e gestisci ricetta Descrizione Visualizzazione ricetta con possibilità di modifica e cancellazione Precondizioni Accesso eseguito Post-Condizioni per successo Ritorno al menù Post-Condizione per fallimento Pop-up di errore Evento innescante Pressione sul nome della ricetta Attore Primario Utente Scenario di base Step Azioni 1 Visualizzazione dei campi con possibilità di modifica Scenario alternativo A Evento innescante Pressione pulsante Salva 2.A Ricetta inserita nel database Scenario alternativo B Evento innescante Pressione pulsante Cancella 2.B Ricetta eliminata dal database Scenario alternativo C Evento innescante Pressione del tasto back dello smartphone 2.C Inserimento annullato, ritorno al menù UC3) Visualizza e filtra elenco ricette Descrizione Visualizzazione delle ricette in base al filtro Precondizioni Accesso eseguito Post-Condizioni per successo Visualizzazione elenco delle ricette che rispettano il filtro imposto Evento innescante Pressione sul pulsante Filtro Attore Primario Utente Scenario di base Step Azioni 1 Selezione del filtro opportuno Scenario alternativo A Evento innescante Viene selezionato il filtro per categoria 2.A Selezione della categoria con cui applicare il filtro Scenario alternativo B Evento innescante Viene selezionato il filtro per valutazione 2.B Selezionare la valutazione con cui applicare il filtro

Diagramma UML dei casi d uso

DIAGRAMMA DELLE CLASSI Cronologia revisioni Introduzione Versione Data Descrizione Definitiva 17/11/2015 Diagramma delle classi di 28/11/2015 progetto di dettaglio Le classi rilevate nella fase di elaborazione sono le seguenti Classi relative alla gestione del database SQLite o DBhelper: Classe deputata alla creazione e all aggiornamento del database al suo avvio o DBmanager: Classe deputata alla gestione dell input/output sul database Classi relative all UI o MainActivity: Classe deputata alla selezione del profilo e alla registrazione o ShowList: Classe principale, si occupa di istanziare i principali partecipanti all applicazione o ShowRecipe: Classe deputata alla gestione delle singole ricette o ShowCategories: Classe deputata alla gestione delle categorie Classi funzionali o Recipe: Classe adibita a contenere i parametri della ricetta e a comunicarli al DBmanager o Categories: Classe adibita a contenere i parametri della categoria e a comunicarli al DBmanager o DButilities: Interfaccia di comunicazione tra le classi funzionali e il DBmanager o Utente: Classe adibita alla profilazione

Diagramma

MODELLO DI PROGETTO Cronologia revisioni Versione Data Descrizione Definitiva 29/11/2015 Diagramma delle classi di progetto di dettaglio Introduzione Sono necessari per il progetto 3 package: com.librodiricette.ui è il package che contiene tutte le classi relative all interfaccia com.librodiricette.funcclass è il package che contiene tutte le classi funzionali com.librodiricette.database è il package che contiene tutte le classi di interrogazione al database Diagramma dei Package

Diagramma di sequenza

SCHEMA E-R Cronologia revisioni Versione Data Descrizione Schema concettuale 16/11/2015 Schema E-R concettuale della 29/11/2015 base di dati. Entità Le entità rilevate in fase di progettazione concettuale sono Ricetta, Categoria e Utente. 1. Ricetta Tiene traccia delle ricette salvate dall utente, con titolo, ingredienti, preparazione ed eventualmente valutazione e categoria 1.1. Attributi: Id, Titolo, Ingredienti, Preparazione, Valutazione, Categoria, Utente 1.2. Identificatore: Id 2. Categoria Tiene traccia dei gruppi attraverso i quali l utente decide di organizzare le ricette, caratterizzate da un nome e da un codice identificativo. 2.1. Attributi: Id, Nome, Utente 2.2. Identificatore: Id 3. Utente Tiene traccia del profilo che a cui appartiene la ricetta o la categoria, in modo da consentire la gestione indipendente dei propri dati in base all utilizzatore del dispositivo. 3.1. Attributi: Id, Nome 3.2. Identificatore: Nome E presente un vincolo referenziale tra Ricetta e Categoria.

Schema Logico E-R Titolo Ingredienti Preparazione Nome Ricetta (0,1) (1,N) Appartenenza Categoria Categoria Id Id Valutazione (1,1) Id (1,1) Nome Proprietà Possessione (1,N) Utente (1,N)

Dettaglio Attributi Entità Attributo Tipo Descrizione Ricetta Titolo Stringa Nome con il quale verrà identificata la ricetta. Ingredienti Stringa Elenco che identifica gli ingredienti Preparazione Stringa Descrizione della procedura di preparazione Categoria Intero Numero identificativo della categoria di appartenenza. Facoltativo. Valutazione Intero Numero da 1 a 5 sulla qualità della ricetta. Facoltativo. Id Intero Numero identificativo assegnato automaticamente alla ricetta. Univoco per ciascun utente. Proprietario Stringa Nome del creatore della ricetta. Categoria Nome Stringa Nome con il quale verrà identificata una categoria. Id Intero Numero identificativo assegnato automaticamente alla categoria. Proprietario Stringa Nome del creatore della categoria. Utente Nome Stringa Nome del profilo. Id Intero Numero identificativo assegnato automaticamente al profilo.

FASE DI COSTRUZIONE DIAGRAMMA DELLE CLASSI Cronologia revisioni Versione Data Descrizione Definitiva 22/12/2015 Diagramma delle classi di progetto di dettaglio Introduzione Il diagramma delle classi definitivo, rilevato in seguito all implementazione, è il seguente Classi relative alla gestione del database SQLite o DBhelper: Classe deputata alla creazione e all aggiornamento del database al suo avvio o DBmanager: Classe deputata alla gestione dell input/output sul database Classi relative all UI o MainActivity: Classe deputata alla selezione del profilo e alla registrazione o ShowList: Classe principale, si occupa di istanziare i principali partecipanti all applicazione o ShowRecipe: Classe deputata alla visualizzazione e alla modifica delle singole ricette o ShowCategories: Classe deputata alla gestione delle categorie o NewRecipe: Classe deputata alla creazione di una nuova ricetta o FilterRecipe: Classe deputata alla visualizzazione delle ricetto dopo aver usato un filtro Classi funzionali o Recipe: Classe adibita a contenere i parametri della ricetta e a comunicarli al DBmanager o Categories: Classe adibita a contenere i parametri della categoria e a comunicarli al DBmanager o DButilities: Interfaccia di comunicazione tra le classi funzionali e il DBmanager o Utente: Classe adibita alla profilazione