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 ...
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