Relazione Progetto Database ORLUDB

Documenti analoghi
SQL per le applicazioni D B M G

2011 Politecnico di Torino 1

SQL per le applicazioni D B M G

2011 Politecnico di Torino 1

Come ottenere una videata unica con i voti scritti e orali e la media tra tutti i voti

Laboratorio di Progettazione Web

Indice generale. Introduzione...xiii. Uno sguardo più da vicino a JavaScript...17

APPUNTI DELLA LEZIONE DI DATABASE DEL 20/10/2016 (POMERIGGIO)

INGEGNERIA DEL SOFTWARE

Uso dei cookie. Informativa estesa sull uso dei cookie

DOCUMENTO SUPPORTO PER AVVIO OIL SCUOLE CON SISTEMA SIDI

Tecnologie e applicazioni web JSON Web Token (JWT)

TimeTimer Online. Visual Timer Online. Autore: Simone Raimondi Cominesi Matricola: Progetto: Programmazione web e mobile Maggio 2017

MANUALE D UTILIZZO SOFTWARE MYBUS FAMILY CONTATTI. Indirizzo. Telefono & Fax. Online. WPS S.r.l. Via S. Marco, Monopoli (BA) Italia

Presentazione Domande di Disoccupazione Agricoli e/o A.N.F. Internet Versione 1.0

MANUALE D UTILIZZO SOFTWARE MYBUS FAMILY CONTATTI. Indirizzo. Telefono & Fax. Online. WPS S.r.l. Via S. Marco, Monopoli (BA) Italia

Laboratorio Progettazione Web Modello di applicazione Web

Area: InvoiceComm. Punto di menù: Gestione e distinte

Manuale per il Farmacista

Connessione con MySQL

Manuale Sito Videotrend

Manuale versione Mobile (Smartphone Tablet)

2011 Politecnico di Torino 1

INSERIRE I DATI NEL DATABASE

7. Sezione Contatti WebMail PEC Aruba: Creazione Contatti e Gruppi di Persone

Magazzino: software di gestione di un database di strumenti musicali

Guida all utilizzo dell APP CVM

Installazione di EasyPhp. Avviare EasyPhp. La finestra di amministrazione di EasyPhp

Laboratorio Progettazione Web Modello di applicazione Web

Corso di PHP. Prerequisiti. 8.1 PHP e MySQL. Conoscenza MySQL Tecnica della programmazione

Cliens Redigo Versione Aggiornamento al manuale.

Laboratorio di Basi di Dati

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

toponomastica Manuale utente Technical Design S.r.l. Copyright Tutti i diritti riservati.

GESTIONE DEL SISTEMA

PROGETTO SITO FACILE NELLE SCUOLE. Gestione Albo Scolastico

Lato client: vuol dire che le operazioni programmate vengono svolte e visualizzate direttamente sul computer dell'utente collegato

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

FORONET-STORYBOARD Storyboard Foronet Ediz. def. StoryBoard Foronet. Codice: FORONET - STORYBOARD. 25/02/ /02/2010 Giovanni Botta

Procedura di login e sessione


Plugin di integrazione con Drupal 7.x

1.ACCEDERE AL PANNELLO DI GESTIONE

COPIA COMMISSIONE. Funzionalità Agenti di Vendita

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Servizi e-business ACQUISTI IMPRESE MANUALE FORNITORE

SendMed Client v Manuale d uso-

APPLICATION SERVER. Sommario. LYBERA Guide utilizzo. Application Server

RICHIESTA MUTUI IPOTECARI AREA RISERVATA ISCRITTI ENPAM

PORTALE WEB DIOCESI FORLI -BERTINORO. Sezione SACRAMENTI. Duplicati degli atti di battesimo, cresima e matrimonio

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

INTRODUZIONE. I contenuti presenti vengono scaricati automaticamente da un server centrale ad ogni avvio dell app.

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

Gestione delle richieste dell assegno di ricollocazione, ai sensi dell articolo 24bis del d.lgs. 148/2015 (cd. AdR CIGS)

PROWEDO V.2.0 Manuale per la gestione delle segnalazioni

PROCEDURA ONLINE PER LA SOMMINISTRAZIONE AGLI STUDENTI DEL QUESTIONARIO A RISPOSTE APERTE TRAMITE GOOGLE DRIVE*

Informativa estesa uso dei Cookie

FATTURAZIONE ELETTRONICA J-BRIDGE

Manuale per la presentazione, gestione e rendicontazione dei Voucher Aggiornato al 03 maggio 2013

Guida IBM Watson IoT

MANUALE UTENTE INTERNO

GIOVANI APP. Manuale utente

MANUALE DI UTILIZZO DI POCKET YUSSFONE

Cookie Policy. Functionality Cookie

MANUALE D UTILIZZO SOFTWARE MYBUS CONTROLLER CONTATTI. Indirizzo. Telefono & Fax. Online. WPS S.r.l. Via S. Marco, Monopoli (BA) Italia

Cookie di analisi di servizi di terze parti

Servizi Sanitari online

CH-6616 Losone +41 (0) , BSystem Sagl. 1.1 Meridiana per Android ii

GUIDA UTENTE PRIMA NOTA SEMPLICE

Data creazione: 18/05/2011 Tipo di documento: ISTRUZIONI OPERATIVE Revisione n. del 09/06/2014

Gestione posta del Distretto 2060

Sommario. Introduzione 3 Registrazione ed Accesso 4. Area riservata 9. Generale 4 Registrazione 5. Ripristino Password 8

MANUALE D UTILIZZO SOFTWARE MYBUS CONTROLLER CONTATTI. Indirizzo. Telefono & Fax. Online. WPS S.r.l. Via S. Marco, Monopoli (BA) Italia

e-servitel Il nostro business in Internet Divisione Elettronica Professionale

MANUALE UTENTE UPLOADER JAVA

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

Istruzioni per accedere alle istanze on-line

Via Sandano 47bis/ Correzzola Loc. Villa del Bosco (PD)

Manuale utente. Indice. 1. Procedura Selezioni on-line Home HelpDesk F.A.Q Contatti 5. 1.

Sviluppo Applicativi Personalizzati per l Automazione delle Analisi SPC

InfoView per la Regione Emilia-Romagna

Piattaforma gestione Opendays

GUIDA STUDENTE PIATTAFORMA ELEARNING MOODLE

GUIDA ALLA REGISTRAZIONE AGLI ELENCHI OPERATORI ECONOMICI. (Versione 1.0 Ottobre 2018)

Padova Partecipa Manuale Utente

I L T U O P A R T N E R P E R L E F O R N I T U R E S A N I T A R I E MANUALE D'USO WEBMAG IL TUO SOFTWARE PER LA GESTIONE DEL MAGAZZINO

definizione o Asynchronous JavaScript and XML (AJAX)

Poste Italiane. Manuale Utente Amministratore BPIOL. Manuale Utente Sito Amministratore. Poste Italiane BPIOL. Pag.1/13

Piattaforma Altaformazione Provincia Autonoma di Trento.

APP PER I DISPOSITIVI ANDROID

NWFM Nazca Work Force Management per DAIKIN

FlexCMP La piattaforma accessibile per il web 2.0

Microsoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti

GUIDA PRATICA ESSE3PA

Guida. CYS Gestioni. Sviluppato da Matteo Tucceri con la collaborazione di Paola Tucceri.

Integrazione Mitico John Deere. Invio Ordini Acquisto. JDSubmitOrder

Bridgemate App. Informazioni per i giocatori. Bridge Systems BV

Transcript:

Relazione Progetto Database ORLUDB LUCA STECCANELLA e ORAZIO CONTARINO 9 CFU 05/08/2015

1 OBBIETTIVO DEL PROGETTO Si vuole realizzare un interfaccia per software gestionali nel settore del Vending consentendo l utilizzo di sistemi più recenti, più semplici, più economici e più funzionali fornendo una valida alternativa agli ormai datati ed estremamente costosi palmari ancora in uso. Viene previsto l utilizzo di un database centralizzato e due principali interfacce, Web ed App. Grazie alla loro forte integrazione si ottiene un servizio completo. Interfaccia web Accessibile dal sito web orludb.altervista.org è interamente dedicata al titolare dell azienda (o di chi ne fa le veci). Effettuando l accesso viene reso disponibile il pannello utente, mediante il quale sarà possibile effettuare le principali operazioni. Le operazioni sono suddivise in due aree, una riservata alla stampa dei dati, grazie alla quale è anche possibile modificare e / o rimuovere un determinato dato, l altra riservata all aggiunta di nuovi dati. Mediante l utilizzo degli appositi moduli il titolare potrà quindi effettuare qualsiasi tipo di operazione riguardante la gestione delle merci, dei distributori, dei dispositivi, degli operatori e dei furgoni. Inoltre viene fornita la possibilità di tracciare i dispositivi e i movimenti della merce nei vari distributori. In qualunque momento grazie ad un semplice click le posizioni di tutti gli operatori con i rispettivi dispositivi vengono tracciate e riportate nell apposita mappa. Interfaccia App Android L app per Android è dedicata all operatore, è compatibile con gli smartphone Android 4.4 in su. Effettuando il login l operatore avrà a disposizione le varie aree dell app che gli consentiranno di effettuare le varie operazioni. Ci sono 3 attività principali, una permette di selezionare i distributori con cui si desidera lavorare; un'altra permette di gestire il furgone (carico/scarico merci sia del furgone che dei distributori); infine c è l attività che integra Google Maps che permette di individuare i distributori e che invia la posizione dell operatore al database. Tutte le operazione vengono effettuate sul database, in questo modo il titolare è sempre al corrente di qualunque cosa succeda grazie all interfaccia web.

2 GUI WEB Dopo aver effettuato il login cliccando l apposito bottone, viene automaticamente abilitata l area che consente l accesso al pannello. Il Pannello presenta una prima area contenente un riepilogo delle informazioni del titolare d azienda. Esattamente sotto alla prima area è presente l area funzionale dell interfaccia web la quale è suddivisa in due sotto-aree, Stampa/modifica e Aggiungi. Stampa/modifica: Elenco dipendenti: Visualizza tutti i dipendenti registrati dal titolare; Elenco distributori: Visualizza tutti i distributori registrati dal titolare; Elenco furgoni: Visualizza tutti i furgoni registrati dal titolare; Elenco dispositivi: Visualizza tutti i dispositivi registrati dal titolare; Elenco merce: Visualizza tutta la merce registrata dal titolare; Elenco Movimenti: Visualizza tutti i movimenti (carico e scarico dei distributori) effettuati dagli operatori; Google maps tracking: Visualizza la posizione più recente di tutti gli smartphones; I dati, caricati nelle tabelle per la visualizzazione possono poi essere modificati e/o cancellati tramite click sugli appositi bottoni. Un messaggio di successo/errore viene visualizzato nella zona superiore dell area di visualizzazione. Aggiungi: Aggiungi dipendenti: Consente di aggiungere un nuovo dipendente; Aggiungi distributori: Consente di aggiungere un nuovo distributore; Aggiungi furgoni: Consente di aggiungere un nuovo furgone; Aggiungi dispositivi: Consente di aggiungere un nuovo dispositivo; Aggiungi Merce: Consente di aggiungere una nuova merce. APP L interfaccia dell app Android è stata realizzata in Material Design, ci sono 5 schermate principali

3 Login: In questa schermata si dovranno inserire username e PIN dell operatore per accedere. Menu: In questa schermata si può scegliere cosa fare.

4 Selezione distributori: In questa schermata si possono scegliere i distributori con cui lavorare. Gestione Furgone: In questa schermata si possono effettuare tutte le attività con le merci, furgoni e distributori tramite l apposita interfaccia.

5 Maps: Qui si trova la mappa che segnala la posizione propria e dei distributori. BACKEND Il backend è stato realizzato mediante l utilizzo di HTML, CSS, Javascript ( jquery ), Ajax, PHP con database relazionale MySql su server linux (dominio free altervista). Tutti i form, al fine di garantire una migliore presentazione all utente, sono stati gestiti con chiamate Ajax, ricaricando il contenuto delle apposite aree con i dati aggiornati tramite apposite funzioni jquery, evitando il refresh delle pagine. La sessione è gestita tramite cookie. L app comunica con il database tramite richieste http di tipo GET appositamente impostate, la pagina web tramite POST ). La connessione al database è invece effettuata tramite la funzione mysqli_connect. La gestione delle richieste (query) viene effettuata tramite le funzioni mysqli_query mysqli_fetch_array. I risultati delle richieste (query) vengono gestiti tramite jsonarray e le funzioni json_encode (PHP) e parsejson (jquery). *mysqli è stata scelta essendo mysql ormai deprecata. **GET, utilizzato dall app, i dati non sono visibili nella barra dell indirizzo in quanto la pagina non è effettivamente visibile, viene mandata solo la richiesta. **POST, utilizzato dall interfaccia web, evita di mostrare i dati nella barra dell indirizzo. NB: i dati viaggiano comunque in chiaro nell header http!

6 Struttura generale La connessione viene implementata ove richiesto mediante l inclusione del file conn.php. Questo contiene le variabili relative ai dati di connessione al database e lo stesso link di connessione. La struttura utilizzata è la seguente: <?php //Struttura select Include /conn.php ; //dati connessione, variabile $conn $query= SELECT query sql ; //stringa query sql $result=mysqli_query($conn, $query); //esecuzione query while($row=mysqli_fetch_array($result)){ //gestione risultato query } $array[] = array( ); If(count($array)==0) $array[] = array( ); "nomecolonna1" => $row["nomecolonna1"], "nomecolonna2" => $row["nomecolonna2"], "nomecolonna1" => errore, "nomecolonna2" => errore echo json_encode($array); //json encoding per sito web e/o app?> <?php //Struttura insert/delete/update Include /conn.php ; //dati connessione, variabile $conn $query= query sql ; $result=mysqli_query($conn, $query); if($result)

7 echo ok ; else echo errore ;?> I dati provenienti da una chiamata ajax vengono inviati tramite POST e quindi utilizzabili tramite l array $_POST[ idvariabileajax ]. I dati provenienti da una chiamata dall app vengono inviati tramite GET e quindi utilizzabili tramite l array $_GET[ idvariabileinviata ]. Il file conn prevede una chiamata ad una funzione. $conn=mysqli_connect($servername, $username, $password, $dbname)or die("errore Connessione"); Or die scritto dopo mysqli_connect o mysqli_query consente di bloccare la richiesta php e mandare in output la stringa passata per parametro nel caso in cui si verifichi un errore dovuto alla sintassi della query e/o alla richiesta di connessione. APP L applicazione è stata sviluppata in codice Java nativo Android sfruttando l IDE Android Studio. L API minima è la v19. L interfaccia grafica è stata realizzata in Material Design con l uso della libreria AppCompat. Ovviamente è stato usato un paradigma di sviluppo ad oggetti, per la realizzazione dell app sono stati usati alcuni design patterns come il singleton. Nel codice Java viene gestita la parte logica dell app, nei file XML vengono invece creati gli elementi dell interfaccia grafica. Sono presenti 5 attività più altre classi, per comunicare con il database viene stabilita una connessione http che consente di scegliere una qualunque query contenuta nel file androidfunctions.php presente nel server. Se si tratta di una select per manipolare e ricevere i dati viene utilizzato un array JSON. Se si tratta di Insert o Update, viene restituita una stringa che indica l esito dell operazione. Di seguito la rassegna di attività e classi: Classe Connect: Questa classe contiene il metodo che permette di inviare query al database: Classe DBData: Questa classe è un singleton, permette di salvare alcuni dati prelevati dal database. Classe LoginActivity: Questa classe rappresenta l attività di login, essa è l attività che parte una volta avviata l app. Se il logi ha seuccesso istanzia l attività menu. Classe menu: Rappresenta l attività del menù utente, che permette di avviare le altre attività.

8 Classe DistrSelector: Rappresenta l attività che permette di scegliere i distributori su cui si vuole lavorare. Classe MapsActivity: Rappresenta l attività che usa le API di Google Maps per indicare la posizione dei distributori. Classe GPSTracker: Istanziata in MapsActivity, permette di tracciare la posizione dell operatore e inviarla al database. Classe VanManager: Rappresenta l attività di gestione del furgone che contiene tutti metodi per spostare la merce.

9 SVILUPPO E PROGETTAZIONE È stata sviluppata una strategia di sviluppo mista, che unisce i vantaggi della strategia Top-Down e Down-Top. Infatti nel mentre che i requisiti sono stati suddivisi in comparti e si evolvevano è stato comunque creato uno schema scheletro. Per poi unire i pezzi fra loro. Per lo sviluppo dell app è stato un modello di sviluppo agile. Modelli E-R Scheletro (Vedi PDF)

10 Completo (Vedi PDF)

11 Dettaglio Entità Nome Scopo Struttura Relazioni Distributore Definisce il distributore, specificandone proprietario e i vari ID, idproprietario, idoperatore, idarea, contatorebattute, haccp, Operatore, Area, Proprietario, MerceMagazzino, Rifornimento parametri. contatorevendite, codsaccaincasso. Merce Rappresenta tutte le Id, descrizione. MerceMagazzino MerceMagazzino Furgne Rifornimento Area Proprietario Dispositivo Operatore merci esistenti. Rappresenta tutte le merci disponibili nel magazzino di un proprietario. Rappresenta i furgoni di un determinato proprietario, indicandone la disponibilità. Rappresenta i rifornimenti. Rappresenta la zona in cui si trova un distributore. Rappresenta un cliente. Rappresenta uno smartphone Rappresenta un dipendente ID, idproprietario, Quantità. Id, idproprietario, disponibilità. Id, idfurgone, iddistributore, esito, saccaincasso ID, nome, x, y codicefiscale, Nome, Cognome. Id, idproprietario, idoperatore, Descrizione CodiceFiscale, Nome, Cognome. Proprietario, Distributore, Furgone Proprietario, MerceMagazzino Distributore, Furgone Distributore MerceMagazzino, Dispositivo, Distributore, Furgone Proprietario, Opertore Dispositivo, Distributore.

12 Dettaglio Relazioni Nome Scopo Entità coinvolte Attributi Possiede Mette in relazione il Furgone, Proprietario Proprietario e il furgone. Carico Mette in relazione il carico di un furgone rispetto alla merce presente in magazzino. Furgone, MerceMagazzino Contiene Possiede Possiede Posizione Usa Assegnato Si Trova MerceDistributore Movimento Mette in relazione il magazzino con la merce che contiene. Mette in relazione il Proprietario con il suo magazzino merci. Mette in relazione il proprietario con i dispositivi che possiede. Mette in relazione un dispositivo con l operatore che lo usa segnalandone la posizione. Mette in relazione l operatore con il dispositivo che usa. Mette in relazione l operatore con i distributori a lui assegnati. Mette in relazione un distributore con la sua posizione. Mette in relazione un distributore con la merce che contiene. Mette in relazione i rifornimenti con la merce. MerceMagazzino, Merce Proprietario, MerceMagazzino Proprietario, Dispositivo Operatore, Dispositivo Operatore, Dispositivo Operatore, Distributore Distributore, Area Distributore, MerceMagazzino MerceMagazzino, Rifornimento idfurgone, idmerce, quantità iddispositivo, idoperatore, x, y, timestamp idmerce, iddistributore, Quantità, Prezzo IdMerce, idrifornimento, Quantità, data

13 Usato Per Effettuato nel Mette in relazione il rifornimento e il furgone usato per farlo Mette in relazione il rifornimento e il distributore in cui viene effettuato Rifornimento, Furgone Rifornimento, Distrivutore