02.06.2013 Views

Corso di Laboratorio di Basi di Dati Progetto d'esame: “gestione ...

Corso di Laboratorio di Basi di Dati Progetto d'esame: “gestione ...

Corso di Laboratorio di Basi di Dati Progetto d'esame: “gestione ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong>, A.A. 2007-2008 <strong>Progetto</strong> <strong>“gestione</strong> trasferte”<br />

Premessa<br />

<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong><br />

<strong>Progetto</strong> d’esame: <strong>“gestione</strong> trasferte”<br />

Prof. Pierluigi Pierini<br />

Anno accademico 2007-2008<br />

La specifica del problema, data nei paragrafi seguenti, è necessariamente (come in ogni<br />

caso reale) incompleta e presumibilmente in alcuni punti ambigua o contrad<strong>di</strong>ttoria. Lo<br />

studente deve immaginare <strong>di</strong> raffinare e <strong>di</strong>sambiguare la specifica me<strong>di</strong>ante l’interazione<br />

con il committente. In effetti, dovrà fare uno sforzo <strong>di</strong> valutazione delle possibili<br />

alternative, per poi scegliere in maniera motivata. Le motivazioni delle scelte fatte vanno<br />

chiaramente documentate nel progetto e verranno <strong>di</strong>scusse in sede <strong>di</strong> revisione.<br />

Specifiche <strong>di</strong> progetto<br />

Si vuole realizzare una base <strong>di</strong> dati per l’informatizzazione <strong>di</strong> un sistema <strong>di</strong> gestione<br />

delle trasferte aziendali.<br />

L’attuale gestione è realizzata su supporto cartaceo con la modulistica riportata <strong>di</strong><br />

seguito<br />

L’obiettivo è quello <strong>di</strong> automatizzare la procedura <strong>di</strong> richiesta e <strong>di</strong> riepilogo della trasferta<br />

da parte dei <strong>di</strong>pendenti, le modalità <strong>di</strong> autorizzazione da parte <strong>di</strong> capi reparto e capi<br />

progetto, le modalità <strong>di</strong> prenotazione e calcolo dei rimborsi da parte dell’ufficio del<br />

personale.<br />

Le operazioni sul database devono permettere <strong>di</strong>:<br />

∗ al <strong>di</strong>pendente:<br />

o creare una richiesta <strong>di</strong> trasferta<br />

o mo<strong>di</strong>ficare i dati <strong>di</strong> una richiesta finché non decide <strong>di</strong> inviarla all’ufficio del<br />

personale<br />

o creare un modulo <strong>di</strong> riepilogo con le note spese e i dettagli delle ore<br />

viaggio. NOTA: il modulo <strong>di</strong> riepilogo deve far riferimento ad una trasferta<br />

autorizzata ed effettuata.<br />

o mo<strong>di</strong>ficare i dati <strong>di</strong> riepilogo finché non decide <strong>di</strong> inviarli all’ufficio del<br />

personale<br />

o listare tutte le richieste <strong>di</strong> trasferta in attesa <strong>di</strong> autorizzazione<br />

o ottenere informazioni <strong>di</strong> dettaglio sui viaggi e soggiorni relativamente alle<br />

trasferte autorizzate (numero del volo o del treno, nome e in<strong>di</strong>rizzo<br />

dell’albergo, ecc)<br />

o riepilogare i rimborsi o le trattenute relativamente alle trasferte riepilogate<br />

e in pagamento<br />

∗ all’ufficio del personale<br />

o prenotare i viaggi e i servizi richiesti completando le informazioni<br />

organizzative ed economiche della trasferta<br />

o inviare la richiesta <strong>di</strong> trasferta e l’eventuale richiesta <strong>di</strong> anticipo liquido alle<br />

funzioni superiori per l’autorizzazione<br />

14/11/2007 Pagina 1


<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong>, A.A. 2007-2008 <strong>Progetto</strong> <strong>“gestione</strong> trasferte”<br />

o riprendere in carico una trasferta autorizzata per confermare le<br />

prenotazioni, comunicare al <strong>di</strong>pendente le modalità <strong>di</strong> trasferta,<br />

consegnargli l’eventuale anticipo<br />

o prendere in carico una nota spese, verificarne la congruenza con la<br />

relativa richiesta, controllare i calcoli del <strong>di</strong>pendente e validarla per la<br />

successiva autorizzazione<br />

o ricalcolare le ore <strong>di</strong> viaggio e le indennità relative<br />

o marcare una trasferta come “saldata” e, quin<strong>di</strong>, archiviarla, quando gli<br />

importi sono stati rimborsati o trattenuti in busta paga al <strong>di</strong>pendente<br />

o ottenere una lista <strong>di</strong> tutte le trasferte “aperte” raggruppate in funzione del<br />

loro avanzamento (richieste, autorizzate, in corso, riepilogate, in<br />

pagamento, saldate)<br />

∗ ai capi reparto e capi progetto<br />

o listare tutte le trasferte che devono essere autorizzate<br />

o riepilogare i costi a preventivo <strong>di</strong> tutte le trasferte richieste<br />

o riepilogare i costi a consuntivo delle trasferte saldata e in pagamento<br />

o elencare tutti i <strong>di</strong>pendenti presenti e in trasferta in un dato giorno<br />

o autorizzare le richieste, i rimborsi o le trattenute. NOTA i capi progetto<br />

hanno a <strong>di</strong>sposizione un budget annuale <strong>di</strong> trasferte che non puo’ essere<br />

superato, quin<strong>di</strong> non possono autorizzare trasferte in eccesso a quelle<br />

‘coperte’ da tale budget.<br />

Moduli<br />

richiesta servizi <strong>di</strong> trasferta:<br />

Richiesta documentazione <strong>di</strong> viaggio e altri servizi <strong>di</strong> trasferta N: 1372<br />

Nominativo : N. matr. : Qualif./ liv. : Tel.:<br />

Funzione : Centro <strong>di</strong> costo : Durata trasferta: dal al Destinazione:<br />

Obiettivo della missione<br />

MEZZI DI<br />

TRASPORTO<br />

Data :<br />

SERVIZIO<br />

PERCORSO<br />

DA A<br />

BIGLIETTI DI VIAGGIO<br />

DATA<br />

ORA CLASSE P.P. S.R. WL/C COSTO ADDEBITATO<br />

FORNITORE<br />

FIRME<br />

DATA<br />

INIZIO FINE<br />

Richiedente Autorizzazione Benestare livello superiore<br />

Direzione Generale<br />

I dati del modulo sono:<br />

SISTEMAZIONI ALBERGHIERE ED ALTRI SERVIZI<br />

LOCALITA'<br />

PARTENZA ARRIVO<br />

GIORNI<br />

14/11/2007 Pagina 2<br />

Tot.<br />

COSTO ADDEBITATO<br />

Tot.


<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong>, A.A. 2007-2008 <strong>Progetto</strong> <strong>“gestione</strong> trasferte”<br />

∗ titolo e identificatore del foglio<br />

∗ identificazione del <strong>di</strong>pendente che richiede la trasferta<br />

∗ identificazione del reparto <strong>di</strong> appartenenza (Funzione)<br />

∗ identificazione del progetto sul quale la trasferta sarà caricata (Centro <strong>di</strong> costo)<br />

∗ dati della missione (data <strong>di</strong> partenza e rientro, destinazione e obiettivo)<br />

∗ dettagli sui viaggi <strong>di</strong> andata e ritorno sulla sistemazione alberghiera.<br />

∗ La segreteria del personale si preoccupa <strong>di</strong> elaborare queste sezioni prenotando<br />

biglietti e alberghi, e compilando i costi addebitati dall’agenzia <strong>di</strong> viaggi.<br />

∗ Le autorizzazioni da parte del responsabile del reparto e del progetto (trascurare<br />

il campo Direzione Generale)<br />

Nota spese <strong>di</strong> trasferta:<br />

Nota Spese Trasferta N 1354<br />

Nominativo : N. matr. : Qualif./ liv. : Tel.:<br />

Funzione : Centro <strong>di</strong> costo : N. Commessa :<br />

Obiettivo della missione<br />

Partenza da : il ora Rientro a : il ora<br />

Tipo spesa<br />

IMPORTI SPESE SOSTENUTE<br />

Modalita <strong>di</strong> pagamento<br />

Auto propria<br />

Locomozione<br />

Pasti<br />

Pernottamento<br />

Spese telefoniche<br />

Spese <strong>di</strong> rappresentanza<br />

Altre spese<br />

Totali<br />

Agenzia Viaggi Carta <strong>di</strong> cre<strong>di</strong>to<br />

aziendale<br />

Contanti Rimborso<br />

Forfettario<br />

n.ro<br />

n.ro<br />

moduli<br />

ricevute<br />

Anticipi XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX<br />

XXXXXXXXXXXX XXXXXXXXXXXX<br />

XXXXXXXXXXXX<br />

Resi XXXXXXXXXXXX XXXXXXXXXXXX<br />

XXXXXXXXXXXX<br />

SALDO<br />

XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX<br />

XXXXXXXXXXXX XXXXXXXXXXXX<br />

Ore viaggio N. :<br />

Indennita' estero N. gg. :<br />

RISERVATO ALLA FUNZIONE AMMINISTRATIVA DEL PERSONALE<br />

FIRME<br />

Ore viaggio riconosciute N. :<br />

TIMBRO - DATA - VISTO<br />

Richiedente Autorizzazione<br />

Importo indennita' estero :<br />

Data :<br />

Il modulo <strong>di</strong> nota spese contiene i seguenti campi:<br />

∗ titolo e identificatore del foglio;<br />

∗ identificazione del <strong>di</strong>pendente, del reparto, del progetto e della trasferta come da<br />

mod. precedente (trascurare N.Commessa)<br />

∗ dati <strong>di</strong> dettaglio delle cifre spese per voce <strong>di</strong> costo e per tipologia <strong>di</strong> pagamento<br />

∗ i pagamenti <strong>di</strong>versi da rimborso forfettario, devono essere giustificati allegando le<br />

relative ricevute (scontrini, biglietti <strong>di</strong> viaggio, vaucher alberghieri, ecc) o<br />

eventuali moduli (e.g. ore viaggio). Il <strong>di</strong>pendente numera progressivamente i<br />

documenti allegati e riporta nei campi della nota spese tale riferimento.<br />

∗ Gli anticipi riportano le cifre che il <strong>di</strong>pendente ha ricevuto dall’azienda prima della<br />

trasferta e richiesti con altre modalità all’ufficio del personale. La base dati deve<br />

prevedere le modalità per completare la procedura <strong>di</strong> “richiesta servizi <strong>di</strong><br />

trasferta” anche con la richiesta <strong>di</strong> anticipi liqui<strong>di</strong>.<br />

∗ I resi riportano le eventuali cifre in eccesso restituite dal <strong>di</strong>pendente all’azenda al<br />

rientro dalla trasferta (e.g. biglietti <strong>di</strong> viaggio non utilizzati, ecc..)<br />

14/11/2007 Pagina 3


<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong>, A.A. 2007-2008 <strong>Progetto</strong> <strong>“gestione</strong> trasferte”<br />

∗ I dati relativi alle ore <strong>di</strong> viaggio sono desumibili dal modulo successivo. L’ufficio<br />

del personale può rivalutare i dati immessi dal <strong>di</strong>pendente e riportare nell’area<br />

appositamente riservata i propri risultati<br />

In definitiva, dai dati <strong>di</strong> questo modulo deve risultare quanto, relativamente alla trasferta<br />

effettuata, deve essere rimborsato o trattenuto in busta paga al <strong>di</strong>pendente.<br />

Ore viaggio:<br />

Ore Viaggio<br />

Allegato al mod. (1) N.foglio (2)<br />

Nominativo (3)<br />

Riferimento viaggio Data Partenza (6) Arrivo (7)<br />

N.ore<br />

(4) (5) Localita' Ora Localita' Ora (8)<br />

DATA<br />

FIRMA RICHIEDENTE (10)<br />

RISERVATO ALLA FUNZIONE AMMINISTRATIVA DEL PERSONALE (11)<br />

Ore viaggio riconosciute (………………………………………..)<br />

DATA BENESTARE A.P.<br />

TOTALE ORE (8):<br />

Il modulo “ore viaggio” permette al <strong>di</strong>pendente <strong>di</strong> riepilogare i tempi strettamente relative<br />

agli spostamenti effettuati che saranno rimborsati dall’azienda secondo una specifica<br />

normativa (e.g. viaggio nazionale € 15/ora, indennità estero € 25/ora)<br />

Il campo “allegato al mod.” Riporta il riferimento all’identificativo della nota spese.<br />

Si sottolinea che le ore viaggio effettivamente riconosciute sono solo quelle che risultano<br />

esterne alla fascia oraria lavorativa (8:00-17:00)<br />

Note<br />

E’ possibile inserire procedure <strong>di</strong> gestione ad<strong>di</strong>zionali che si ritengano utili. Ci sono<br />

indubbiamente molti vincoli che possono essere applicati ai contenuti <strong>di</strong> questa base <strong>di</strong><br />

dati: alcuni sono chiaramente deducibili dalle specifiche date.<br />

L’in<strong>di</strong>viduazione dei vincoli e la loro implementazione costituiscono un requisito<br />

fondamentale per lo sviluppo <strong>di</strong> un progetto realistico, e ne verrà tenuto conto durante la<br />

valutazione finale.<br />

Alcune delle funzionalità richieste potrebbero non essere realizzabili con singole query<br />

ma coor<strong>di</strong>nando più query tra loro. Ciò potrebbe essere risolto con l’uso <strong>di</strong> strumenti più<br />

avanzati come le procedure messe a <strong>di</strong>sposizione dal DBMS, o co<strong>di</strong>ce in linguaggio <strong>di</strong><br />

programmazione (C, Java, PHP, ecc…) integrato col DBMS.<br />

14/11/2007 Pagina 4


<strong>Corso</strong> <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> <strong>Basi</strong> <strong>di</strong> <strong>Dati</strong>, A.A. 2007-2008 <strong>Progetto</strong> <strong>“gestione</strong> trasferte”<br />

Non c’è l’obbligo <strong>di</strong> usare tali strumenti avanzati, che, peraltro, aumenterebbe il valore<br />

del progetto. Nel caso si decida <strong>di</strong> non utilizzare tali strumenti, è necessario comunque<br />

presentare le procedure sotto forma <strong>di</strong> pseudoco<strong>di</strong>ce, e realizzare le query che si<br />

utilizzerebbero al loro interno.<br />

Svolgimento del <strong>Progetto</strong><br />

Comprende i seguenti punti:<br />

1. Definizione formale, Analisi e Strutturazione dei requisiti.<br />

2. Progettazione concettuale utilizzando il modello Entità-Relazione.<br />

3. Formalizzazione dei vincoli <strong>di</strong> integrità.<br />

4. Ristrutturazione ed ottimizzazione dello schema ER.<br />

5. Traduzione nel modello relazionale.<br />

6. Implementazione del progetto.<br />

Tutte le fasi del progetto dovranno essere corredate da adeguata documentazione che<br />

illustri quanto viene realizzato e le scelte intraprese. In particolare, dovranno essere<br />

necessariamente inclusi nella documentazione gli schemi ER risultanti dai passi (2) e<br />

(4), debitamente commentati, il modello relazionale della base <strong>di</strong> dati ottenuto al passo<br />

(5), in cui siano messe in evidenza le chiavi delle varie tabelle e le relazioni tra queste<br />

ultime, e tutto il co<strong>di</strong>ce SQL usato nell’implementazione, comprendente gli statement<br />

necessari alla creazione della base <strong>di</strong> dati, alcuni statement che mostrino esempi <strong>di</strong><br />

inserimento dati nel DB, e il co<strong>di</strong>ce <strong>di</strong> tutte le query/operazioni richieste.<br />

Per l’implementazione del progetto si suggeriscono i seguenti DBMS open source:<br />

∗ Postgresql [Unix, gratuito]<br />

∗ Interbase [Windows, la versione 6 è gratuita]<br />

∗ Firebird [Windows e Linux, gratuito, basato sulla versione 6 <strong>di</strong> Interbase]<br />

∗ MySQL [Windows e Linux, gratuito]<br />

L’uso <strong>di</strong> altri DBMS dovrà essere preventivamente concordato con il docente.<br />

Nota : Access è fortemente sconsigliato.<br />

Opzionalmente, il DB realizzato può essere dotato <strong>di</strong> un’interfaccia scritta con un<br />

linguaggio <strong>di</strong> programmazione a scelta (ad es. Java, C++, PHP). Tuttavia, non è<br />

richiesto <strong>di</strong> curare i dettagli grafici <strong>di</strong> tale interfaccia.<br />

Ulteriori Informazioni<br />

Questa specifica è <strong>di</strong>sponibile in formato PDF sulla pagina web del corso <strong>di</strong> <strong>Laboratorio</strong><br />

<strong>Basi</strong> <strong>di</strong> <strong>Dati</strong> 2007-2008, all’in<strong>di</strong>rizzo http://www.univaq.it/~luigi.vetrano/labDB. Ulteriori<br />

informazioni e chiarimenti sulle specifiche possono essere richiesti <strong>di</strong>rettamente via<br />

email all’in<strong>di</strong>rizzo pierluigi.pierini@technolabs.it.<br />

Si ricorda che tutti i gruppi <strong>di</strong> lavoro che intendono sostenere l’esame del corso devono<br />

registrarsi inviando il nominativo dei componenti il gruppo, il progetto scelto, il DBMS, il<br />

sistema operativo e, eventualmente, il linguaggio <strong>di</strong> programmazione, che si intendono<br />

utilizzare, all’in<strong>di</strong>rizzo email pierluigi.pierini@technolabs.it.<br />

14/11/2007 Pagina 5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!