• Non ci sono risultati.

Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata Corso Di Laurea In Informatica

N/A
N/A
Protected

Academic year: 2022

Condividi "Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata Corso Di Laurea In Informatica"

Copied!
64
0
0

Testo completo

(1)

Corso Di Laurea In Informatica

Ampliamento delle funzionalità del sistema interno per la pianificazione/consuntivazione delle attività

da parte dei dipendenti aziendali

Anno Accademico 2010/2011

Laureando: Mattia Rabbi

Relatore: Prof. Silvia Crafa

(2)
(3)

Struttura del presente documento

La presente relazione è strutturata come segue:

• nel capitolo “Introduzione” viene presentato lo stage, dove è stato svolto e che obiettivi sono stati fissati inizialmente;

• nel capitolo “Dominio applicativo” viene descritta l’azienda dove si è svolto lo stage e quali tecnologie utilizza;

• nel capitolo “Attività di stage” viene descritta la pianificazione dello stage ed il suo svolgimento nelle varie fasi, specificando tutte le funzionalità che sono state aggiunte;

• nel capitolo “Conclusioni” viene espressa una valutazione delle attività svolte e degli obiettivi raggiunti.

Seguono le appendici contenenti la bibliografia ed il glossario.

Convenzioni tipografiche

Al fine di rendere più leggibile e comprensibile il documento, sono state adottate le seguenti convenzioni:

• corsivo per gli acronimi, i nomi di organizzazioni ed i nomi di tecnologie;

• grassetto e corsivo per la prima ricorrenza di ogni parola riportata e spiegata nel glossario.

(4)
(5)

1 Introduzione 1

1.1 Progetto di stage . . . 1

1.2 Descrizione del progetto . . . 1

1.3 Svolgimento dello stage . . . 2

1.4 Obiettivi prefissati . . . 2

1.5 Obiettivi fissati successivamente . . . 3

1.6 Rilevanza del progetto di stage. . . 3

2 Dominio applicativo 5 2.1 Azienda ospitante . . . 5

2.2 Clientela target . . . 6

2.3 Tecnologie in uso . . . 6

2.3.1 Tutos R . . . 6

2.4 GUFO . . . 7

2.4.1 Descrizione database GUFO . . . 8

2.4.2 Descrizione interfaccia GUFO . . . 11

2.4.2.1 Pannello Business Unit. . . 12

2.4.2.2 Pannello Persone . . . 13

2.4.2.3 Pannello Progetti . . . 14

2.4.2.4 Pannello Attività . . . 15

2.4.2.5 Pannello Clienti. . . 16

2.4.2.6 Pannello Report . . . 17

3 Attività di stage 21 3.1 Piano di lavoro . . . 21

3.1.1 Formazione . . . 22

3.1.2 Analisi e progettazione . . . 22

3.1.3 Implementazione . . . 22

3.1.4 Integrazione . . . 23

3.1.5 Documentazione . . . 23

3.2 Formazione iniziale . . . 24

3.3 Tecnologie e strumenti utilizzati . . . 25

3.3.1 FileMaker Pro R . . . 25

3.4 Funzionalità aggiunte . . . 26

3.4.1 FUNZ-01 . . . 26

3.4.2 FUNZ-02 . . . 29 v

(6)

3.4.2.1 Report per progetto . . . 30

3.4.2.2 Report per persona . . . 32

3.4.3 FUNZ-03 . . . 33

3.4.4 FUNZ-04 . . . 34

3.4.5 FUNZ-05 . . . 36

3.4.6 FUNZ-06 . . . 39

3.4.7 FUNZ-07 . . . 43

3.4.8 FUNZ-08 . . . 44

3.5 Aggiornamenti effettuati . . . 46

3.5.1 AGG-01 . . . 46

3.5.2 AGG-02 . . . 47

3.5.3 AGG-03 . . . 48

3.5.4 AGG-04 . . . 49

3.5.5 AGG-05 . . . 49

3.5.6 AGG-06 . . . 49

3.5.7 AGG-07 . . . 49

4 Conclusioni 51 4.1 Problemi riscontrati. . . 51

4.1.1 Tecnologie sconosciute . . . 51

4.2 Complessità del progetto di stage . . . 51

4.3 Conseguimento degli obiettivi fissati . . . 52

4.3.1 Obiettivi aziendali . . . 52

A Glossario 55

(7)

2.1 Logo IKS S.r.l. . . 5

2.2 Logo TUTOS R . . . 7

2.3 Logo GUFO . . . 7

2.4 Database semplificato GUFO . . . 9

2.5 Database completo GUFO . . . 10

2.6 Pulsanti Nuovo record / Elimina record . . . 11

2.7 Pulsante dettaglio . . . 11

2.8 Pulsante consuntiva . . . 11

2.9 Pulsante elimina riga . . . 11

2.10 Pannello Bisiness Unit - Tab Persone . . . 12

2.11 Pannello Persone - Tab Pianificazione . . . 13

2.12 Pannello Progetti - Tab Task di progetto . . . 14

2.13 Pannello Attività . . . 15

2.14 Pannello Clienti - Tab Progetti . . . 16

2.15 Pannello Clienti - Tab Attività. . . 16

2.16 Pannello Report - Tab Report per progetto . . . 17

2.17 Pannello Report - Tab Report per persona . . . 17

2.18 Pannello Report - Tab Report scostamenti per progetto . . . 18

2.19 Pannello Report - Tab Report scostamenti per persona . . . 19

3.1 Diagramma di Gantt per la pianificazione delle attività di stage . . . 21

3.2 Logo FileMaker R . . . 25

3.3 Report presenze in TUTOS . . . 26

3.4 Progetto “Presenze” in GUFO . . . 27

3.5 Report presenze in GUFO . . . 28

3.6 Report per progetto in TUTOS . . . 29

3.7 Report per persona in TUTOS. . . 29

3.8 Script filtra_report_per_progetto . . . 30

3.9 Report per progetto in GUFO . . . 31

3.10 Report per persona in GUFO . . . 32

3.11 Report riassuntivo per ogni progetto . . . 33

3.12 Attività scadute o in scadenza assegnate ad ogni persona . . . 35

3.13 Connessione ODBC tra applicazione client e database . . . 36

3.14 Configurazione DSN di sistema (Windows) . . . 37

3.15 Output query SQL per la fatturazione . . . 38

3.16 Script imposta campo effort pianificato mese corrente . . . 40 vii

(8)

3.17 Script imposta campo effort pianificato tre mesi successivi . . . 41

3.18 Tempo pianificato mese in corso e tre mesi successivi . . . 42

3.19 Percentuale attività pianificata / consuntivata . . . 43

3.20 Report scostamenti per progetto . . . 45

3.21 Report scostamenti per persona . . . 45

3.22 Eliminazione di un progetto dal portale . . . 46

3.23 BU / Pianificazione . . . 47

3.24 Relazione tra “azioni” e “Clienti” . . . 48

(9)

Introduzione

Al giorno d’oggi, per le società di consulenza informatica come “IKS S.r.l.”, è molto importante fornire ai propri dipendenti un facile sistema per gestire la piani- ficazione delle varie attività lavorative e, di conseguenza, di come consuntivarle nel modo più adeguato ed efficiente.

Ciò diventa molto importante nel momento in cui si propone un’offerta di un prodotto ad un cliente, in modo tale che si abbia una certa precisione sulla stima economica da proporre.

Invece, a prodotto finito, l’attività consuntivata per ogni dipendente è di fondamen- tale importanza: in base al calcolo del consuntivo l’azienda richiederà l’esatto onere economico al cliente.

Inoltre, quando il numero di dipendenti aumenta, risulta necessario disporre di uno strumento di facile consultazione per monitorare tutte le attività delle varie persone assegnate ai diversi progetti.

Creando dei report di facile utilizzo, i responsabili di ogni progetto possono, ad esempio, osservare e valutare se il piano di lavoro stilato nella fase iniziale è in linea con le aspettative oppure se si sta scostando troppo dalle previsioni e quindi intervenire di conseguenza.

In questo modo è possibile valutare se sia il caso di assegnare alcuni lavoratori ad altri progetti.

1.1 Progetto di stage

Ampliamento delle funzionalità del sistema interno per la pianificazione / con- suntivazione delle attività da parte dei dipendenti impegnati nei vari progetti / attività.

1.2 Descrizione del progetto

In IKS S.r.l. è stato sviluppato un prodotto interno che permette di gestire varie attività da svolgere all’interno dell’azienda.

-1-

(10)

Il prodotto è stato rilasciato in una prima versione base, la quale è stata da me ampliata con l’inserimento di nuove funzionalità.

1.3 Svolgimento dello stage

Lo stage si è svolto presso l’azienda “IKS S.r.l.” di Padova dal 20 aprile 2011 al 17 giugno 2011, per un totale di 304 ore.

Il progetto di stage l’ho portato a termine individualmente senza l’affiancamento di un secondo stagista.

Ad ogni modo, durante il periodo di stage sono stato affiancato dalla dott.ssa Giuliana Ferro, dipendente aziendale da molti anni, la quale mi ha fornito dei consigli utili atti a migliorare l’utilizzo futuro dell’applicazione all’interno dell’azienda.

Il mio tutor aziendale dott. Andrea Scarpa ha contribuito a gestire l’insieme di attività da svolgere, stabilendo le priorità, l’ordine di svolgimento e le finalità.

1.4 Obiettivi prefissati

Prima di iniziare l’attività di stage, i requisiti fissati erano i seguenti:

• creazione di un report presenze che visualizzi permessi, ferie, malattie di ogni persona;

• creazione di report per progetto e per persona;

• creazione di un report riassuntivo per ogni progetto con - elenco delle persone coinvolte;

- effort assegnato, schedulato e consuntivato;

• visualizzazione per ogni persona delle attività in scadenza o scadute a lei assegnate;

• creazione di report per la fatturazione;

• visualizzare la percentuale di tempo pianificato nel mese in corso e nei tre mesi successivi per ogni persona;

• visualizzare l’elenco dei progetti in essere, con la percentuale di attività piani- ficata e la percentuale di attività consuntivata;

• creazione di un report scostamenti che evidenzia se ci sono differenze tra l’impegno pianificato e quello effettivamente consuntivato.

(11)

1.5 Obiettivi fissati successivamente

Durante il mio percorso di stage, i requisiti si sono leggermente ampliati facendo emergere nuove funzionalità:

• visualizzazione nel report presenze di eventuali congedi di maternità (oltre a permessi, ferie, malattie);

• visualizzazione del numero di giornate pianificate nel mese in corso e nei tre mesi successivi per ogni persona (oltre alla percentuale).

1.6 Rilevanza del progetto di stage

Il progetto di cui mi sono occupato presenta molteplici aspetti rilevanti, tra i quali vengono riportati di seguito i più salienti.

• La Web Application che ho contribuito a sviluppare andrà a sostituire com- pletamente l’utilizzo delle tecnologie tutt’oggi in uso nell’azienda.

• La nuova applicazione consente di semplificare l’insieme di operazioni neces- sarie alla pianificazione / consuntivazione delle attività svolte; infatti, mentre attualmente vengono utilizzate due tecnologie separate per tali operazioni, grazie all’implementazione di questo nuovo sistema sarà possibile gestire con un’unica applicazione le diverse operazioni sopra descritte.

• Tale applicazione renderà più semplice l’attività dei responsabili dei vari pro- getti, i quali potranno avere un’unica modalità per visualizzare i diversi report riguardanti tutti i progetti e tutte le persone coinvolte nella loro realizzazione.

(12)
(13)

Dominio applicativo

In questo capitolo viene descritta l’azienda presso la quale si è svolta l’attività di stage ed il contesto aziendale dove opera.

Successivamente verranno descritte le tecnologie utilizzate dai dipendenti azien- dali per pianificare le varie attività da svolgere e per consuntivare le attività già svolte.

In particolare verrà descritto “TUTOS”, la tecnologia attualmente in uso in IKS S.r.l., la quale verrà sostituita con “GUFO”, un database sviluppato internamente all’azienda e adattabile secondo le esigenze.

2.1 Azienda ospitante

IKS S.r.l. nasce alla fine degli anni novanta con lo scopo di agire sui principali temi dell’Information e Communication Techonology. Da sempre l’azienda lavora nei campi della sicurezza informatica, nella gestione e automazione di infrastrutture ICT e nello sviluppo di soluzioni software, spesso basate sulle tecnologie Java e J2EE.

Uno dei campi d’attuazione più importanti di IKS S.r.l. è la fornitura di servizi e soluzioni utili, ai suoi clienti, per migliorare i processi aziendali. Sono leader nel panorama nazionale sui temi legati alla governance e alla protezione dei sistemi informativi.

Figura 2.1: Logo IKS S.r.l.

-5-

(14)

Grazie alla qualità e competenza del suo personale, IKS S.r.l. viene percepita come una azienda di elevate capacità e competenze. Infatti, uno dei punti al quale l’azienda fa più attenzione, è quello riguardante la formazione del suo personale, attraverso la quale riesce a mantenere il livello di qualità raggiunto.

IKS S.r.l. annovera tra i propri clienti le principali aziende del panorama nazionale.

Nel 2003 IKS S.r.l. viene certificata con l’ISO 9001:2000 che evidenzia la qua- lità e sicurezza dei suoi prodotti e l’impegno e attenzione che l’azienda pone verso i propri clienti. Con il passare degli anni, l’azienda ha maturato esperienze reali e idee che permettono di proporsi sul mercato in modo esclusivo.

2.2 Clientela target

IKS S.r.l. ha oggi una elevato numero di clienti, tra i quali spiccano aziende di peso nel loro settore. L’azienda mette a disposizione dei suoi clienti la propria esperienza maturata in più di un decennio di progetti svolti nell’area di Audit Ma- nagement e Risk Assessment.

La sicurezza è stata sempre un campo di notevole interesse per IKS S.r.l.. Infatti offre consulenza in ambito di auditing, mirata alla verifica del sistema di controllo interno dell’azienda.

2.3 Tecnologie in uso

In questa sezione vengono descritte le tecnologie in uso da tutto il team di IKS S.r.l.. In particolare verrà descritto TUTOS, un sistema per la pianificazione / consuntivazione interno all’azienda.

2.3.1 Tutos

R

TUTOS (The Ultimate Team Organization Software) è:

• un GROUPWARE, trattasi di una tecnologia pensata per facilitare e rendere più efficace il lavoro cooperativo da parte di gruppi di persone;

• ERP (Enterprise Resource Planning, letteralmente “pianificazione delle risorse d’impresa”), un sistema di gestione che integra tutti i processi di business rilevanti di un’azienda (vendite, acquisti, gestione magazzino, contabilità, etc.);

• CRM (Customer Relationship Management), un sistema di gestione del cliente, non più rappresentato solo dal singolo individuo ma dalla società e dall’am- biente circostante;

(15)

• PLM (Product Lifecycle Management), un approccio strategico alla gestione delle informazioni, dei processi e delle risorse a supporto del ciclo di vita di prodotti e servizi, dalla loro ideazione, allo sviluppo, al lancio sul mercato, al ritiro.

Figura 2.2: Logo TUTOS R

Per compiere le sue funzioni, TUTOS mette a disposizione vari strumenti web- based collegati fortemente tra loro in modo tale da presentare un’interfaccia unica per tutte le esigenze quotidiane delle persone coinvolte.

IKS S.r.l. ha utilizzato TUTOS per gestire tutte le varie esigenze organizzative.

Ogni dipendente aziendale ha l’obbligo di consuntivare a fine giornata (oppure a fine mese) le mansioni che ha effettivamente svolto; questo è necessario per la fatturazione ai clienti.

2.4 GUFO

In questa sezione verrà presentato GUFO, la Web Application interna all’azien- da, che dovrà sostituire a pieni effetti TUTOS. In questo modo IKS S.r.l. avrà la possibilità di gestire a proprio piacimento la creazione di nuovi report ad hoc, senza dover utilizzare le soluzioni già proposte da un software fatto da terze parti.

Figura 2.3: Logo GUFO

Nelle prossime due sezioni verrà spiegato come è stata implementata l’appli- cazione. È stata rispettata la separazione tra il database e la parte grafica, la quale verrà utilizzata via web per interagire in modo semplice ed intuitivo con l’utilizzatore finale del prodotto.

(16)

2.4.1 Descrizione database GUFO

GUFO è un database composto da molte tabelle, in seguito vengono riportate le più importanti con una piccola descrizione di ognuna.

• BusinessUnit

Ogni ramo aziendale viene visto come una Business Unit (anche chiamata BU), ed ogni dipendente appartiene ad una determinata BU.

• Persone

Qui vengono memorizzati tutti i dipendenti aziendali; è una semplice tabella contenente i dati anagrafici di ciascuna persona.

• Progetti

In questa tabella vengono salvati tutti i progetti aziendali, ognuno con vari indicatori sul loro andamento.

• Azioni

In questa tabella vengono salvate tutte le azioni che ogni dipendente compie con persone interne o esterne all’azienda. Ogni azione ha un responsabile, al quale verrà assegnato il “pallino”: in caso di problemi è possibile rivolgersi a questa persona per chiedere i motivi di ciò. Può trattarsi di una richiesta interna, di una richiesta ad un cliente oppure di un’indagine.

• Clienti

In questa tabella vengono memorizzati tutti i clienti dell’azienda.

• Task

Ogni progetto è suddiviso in più task, visti come sottoattività da svolgere per completare l’intero progetto aziendale.

• RuoliTask

Qui vengono memorizzati i vari ruoli che una persona può avere in quel mo- mento, come per esempio “Project Manager” oppure “Consultant”.

• Assegnazioni

In questa tabella sono salvate tutte le attività che sono state assegnate ad una determinata persona su un particolare progetto.

• Schedulazioni

Qui vengono segnate le ore che ogni persona pianifica di svolgere su un progetto al quale è stata precedentemente assegnata. Ogni schedulazione ha un flag che indica se è stata già consuntivata.

• Consuntivazioni

Questa è una tabella parallela alla tabella “Schedulazioni”, ma totalmente se- parata. Infatti qui vengono salvate le ore che ogni persona ha consuntivato per un progetto; queste sono le ore che verranno effettivamente fatturate ai clienti dell’azienda.

(17)

Riassumendo tutto ciò in un diagramma relazionale semplificato, abbiamo le seguenti tabelle.

Figura 2.4: Database semplificato GUFO

Come si può notare dalla Figura 2.4, collegando la tabella Assegnazioni alla tabella Persone si creerebbe una relazione circolare: questo tipo di collegamento non è possibile con FileMaker Pro. Verrà quindi creata una nuova istanza della tabella Persone, chiamata in modo automatico Persone 2.

Per lo stesso principio, collegando la tabella Clienti alla tabella Progetti e suc- cessivamente alla tabella Azioni, si creerebbe una relazione circolare. Verrà quindi creata una nuova istanza della tabella Clienti, chiamata Clienti 2.

Per completezza riporto anche la Figura 2.5, la quale mostra la complessità del database GUFO. In particolare possiamo notare le tabelle non specificate sopra e le varie istanze che è stato necessario creare per evitare relazioni circolari.

(18)

usrnm pwdNew pwdNew2 old_pwd Chg_Pwd

username fk_Sedi fk_bu id nome cognome sigla eMail telefonoFisso cellulare inForza Etichetta fitt_da fitt_a fitt_mese id Totale id Conteggio tipo_account id Totale Progressivo tot_pallini tot_pallini_chiusi tot_pallini_sospesi tot_pallini_aperti tot_pallini_scaduti tot_pallini_in_scadenza tot_pallini_non_in_scadenza effort_pianificato effort_consuntivato differenza_effort effort_pianificato_mese_corrente perc_pianificato_mese_corrente effort_pianificato_tre_mesi_successivi perc_pianificato_tre_mesi_successivi Persone

da a responsabile id fk_Persone fk_BusinessUnit ASSOCIATO fk_BusinessUnit Cont…

fk_BusinessUnit Cont…

N

fk_BusinessUnit Total…

PersoneBU

id nome descrizione Divisioni

fk_bu schedulazione viewer VistaSchedulazione_…

fk_Divisioni id nome

descrizione giorni BusinessUnit

fk_TipologieProgetto fk_BusinessUnit fk_clienti id fk_StatiProgetto billable nome colore dataFine dataInizio descrizione dirDocumenti effortAssegnato effortConsuntivato effortPianificato effortPrevisto

idCommessa indicatoreAssegnato indicatorePianificato indicatoreConsuntivato perc_Assegnato_Consuntiv…

perc_Assegnato_Pianificato perc_Consuntivato_Pianific…

differenza_Effort Progetti

fk_Progetti id fk_StatiTask nome descrizione dataInizio dataFine

colore effortPrevisto effortAssegnato effortPianificato effortConsuntivato indicatoreAssegnato indicatorePianificato indicatoreConsuntivato Task

id nome descrizione StatiTask

username viewer data progetto ore id_Assegnazioni id_schedulazione task ruolo giorno consuntivata VistaSchedulazione

fk_Persone fk_RuoliTask id

CONTEGGIO composto attiva effortAssegnato effortPianificato effortConsuntivato nomeProgetto nomeTask nomeRuolo nomePersona Assegnazioni

id nome descrizione Figure

fk_Task fk_Figure id effortPrevisto note

effortAssegnato effortPianificato effortConsuntivato RuoliTask

id fk_RuoliTask fk_Persone CONTEGGIO nomeProgetto effortAssegnato effortPianificato effortConsuntivato attiva composto nomeTask nomeRuolo nomePersona data_inizio numero_giorni note ore Assegnazioni_Filtrate

fk_Assegnazioni fk_FasceOrarie oraInizio oraFine data ore note id

data_max progetto task ruolo id Totale id Totale progressivo id Conteggio persona_id sintesi descrittiva username Consuntivazioni

id FasceOrarie 2

fk_Assegnazioni fk_FasceOrarie persona_id oraInizio oraFine data ore note id

data_max progetto task ruolo id Totale id Totale progressivo id Conteggio sintesi descrittiva username consuntivata Schedulazioni

id BusinessUnit 2 username

id fk_bu Persone 2

fk_pallino_persona azioni 3 fk_owner_persona azioni 2 fk_Progetti

data note id Check

fk_Progetti nome descrizione id FasceOrarie

username viewer data progetto ore id_Assegnazioni id_consuntivazione task ruolo giorno VistaConsuntivazioni id

nome Clienti id

nome descrizione TipologieProgetto

fk_business unit fk_owner_persona fk_pallino_persona fk_richiedente_per…

fk_clienti nome opportunità richiedente tipo richiesta data richiesta Business Unit tema owner stato pallino prossimo passo data prossimo passo descrizione storia data ultimo aggiorna…

data pros pas test pallino_scaduto pallino_in_scadenza azioni

id Clienti 2

id Persone 5 id Persone 4 id Persone 3 id

nome Aziende id

fk_Aziende indirizzo

città provincia Sedi

id FasceOrarie 3 id nome descrizione StatiProgetto

Figura 2.5: Database completo GUFO

(19)

2.4.2 Descrizione interfaccia GUFO

In questa sezione troviamo una piccola descrizione degli aspetti più significativi dell’interfaccia grafica del database GUFO. Questa parte è totalmente personalizza- bile dell’utente che la implementa.

Per aggiungere un nuovo record nel database utilizzando l’interfaccia grafica è necessario utilizzare il pulsante “Nuovo record” (vedi Figura 2.6).

Per eliminare un record già esistente nel database è necessario utilizzare il pulsante

“Elimina record” (vedi Figura2.6).

Figura 2.6: Pulsanti Nuovo record / Elimina record

Per andare nel dettaglio in una particolare scheda è necessario utilizzare il pul- sante riportato in Figura 2.7.

Figura 2.7: Pulsante dettaglio

Per consuntivare un lavoro già pianificato è necessario utilizzare il pulsante riportato in Figura2.8.

Figura 2.8: Pulsante consuntiva

Per eliminare una riga in un portale è necessario utilizzare il pulsante riportato in Figura 2.9.

Figura 2.9: Pulsante elimina riga

(20)

2.4.2.1 Pannello Business Unit

In questo pannello l’utente può visualizzare tutte le Business Unit inserite all’in- terno del database GUFO.

Viene chiesto solamente di inserire il nome della BU.

Ad ogni Business Unit sono associate più schede, qui riportate di seguito.

• Tab Persone

Qui possiamo visualizzare tutte le persone appartenenti alla BU selezionata.

• Tab Progetti

Qui possiamo visualizzare tutti i progetti appartenenti alla BU selezionata.

• Tab Prevendita

Qui possiamo visualizzare tutte le azioni (attività) appartenenti alla BU sele- zionata; vengono mostrate solo quelle non chiuse e la tipologia della richiesta deve essere “cliente”.

• Tab Indagine

Qui possiamo visualizzare tutte le azioni (attività) appartenenti alla BU sele- zionata; vengono mostrate solo quelle non chiuse e la tipologia della richiesta deve essere “indagine”.

• Tab Ric.Int.

Qui possiamo visualizzare tutte le azioni (attività) appartenenti alla BU sele- zionata; vengono mostrate solo quelle non chiuse e la tipologia della richiesta deve essere “interna”.

• Tab Pianificazione

Qui possiamo visualizzare tutta la pianificazione mensile di tutte le persone appartenenti alla BU selezionata. Possiamo scorrere ai mesi precedenti ed ai mesi successivi per visualizzare le relative pianificazioni.

In Figura 2.10 viene riportato il “Pannello Business Unit - Tab Persone”.

Figura 2.10: Pannello Bisiness Unit - Tab Persone

(21)

2.4.2.2 Pannello Persone

In questo pannello l’utente può inserire una nuova persona all’interno del database GUFO.

Viene chiesto di inserire i dati anagrafici principali e la Business Unit di apparte- nenza. I campi “sigla”, “email” ed “username” vengono generati automaticamente secondo regole stabilite.

Ad ogni persona sono associate più schede, qui riportate di seguito.

• Tab Pianificazione

Qui possiamo visualizzare tutto ciò che la persona selezionata ha pianificato nel mese corrente. In questa scheda l’utente dovrà provvedere a pianificare quello che gli è stato assegnato. È possibile visualizzare i mesi precedenti e successivi tramite gli appositi pulsanti.

• Tab Consuntivazione

Qui possiamo visualizzare tutto ciò che la persona selezionata ha consuntivato nel mese corrente. In questa scheda l’utente dovrà provvedere a consuntivare il lavoro che ha già svolto. È possibile visualizzare i mesi precedenti e successivi tramite gli appositi pulsanti.

• Tab Progetti

Qui possiamo visualizzare i progetti (in esecuzione) ai quali la persona è collegata; non vengono visualizzati i progetti chiusi ed in attesa.

• Tab Ownership

Qui possiamo visualizzare le attività (aperte), per le quali la persona selezio- nata è l’owner; non vengono visualizzate le attività chiuse e sospese.

• Tab Pallini

Qui possiamo visualizzare le attività (aperte), per le quali la persona selezio- nata ha il “pallino”; non vengono visualizzate le attività chiuse e sospese.

In Figura 2.11 viene riportato il “Pannello Persone - Tab Pianificazione”.

Figura 2.11: Pannello Persone - Tab Pianificazione

(22)

2.4.2.3 Pannello Progetti

In questo pannello l’utente può inserire un nuovo progetto.

Viene chiesto di inserire il nome del progetto, la Business Unit di riferimento, lo stato, la tipologia, le date di inizio / fine progetto ed una piccola descrizione.

I campi “effortPrevisto” ed “effortAssegnato” vengono generati automaticamente:

la colorazione in grigio indica che tali campi non sono inseribili direttamente dall’u- tente.

Ad ogni progetto sono associate più schede, qui riportate di seguito.

• Tab Task di progetto

Qui possiamo visualizzare tutti i task relativi al progetto selezionato; andan- do nel dettaglio possiamo visualizzare tutti i ruoli di progetto che sono stati assegnati alle varie persone. Infine andando ancora più nel dettaglio possiamo visualizzare tutte le persone che sono state assegnate ai vari ruoli di progetto.

Per ogni ruolo dobbiamo inserire l’effort previsto; per ogni persona dobbiamo inserire l’effort assegnato.

• Tab Note

Qui possiamo visualizzare eventuali note relative al progetto selezionato.

• Tab Persone

Qui possiamo visualizzare tutte le persone collegate al progetto selezionato.

In Figura 2.12 viene riportato il “Pannello Progetti - Tab Task di progetto”.

Figura 2.12: Pannello Progetti - Tab Task di progetto

(23)

2.4.2.4 Pannello Attività

In questo pannello l’utente può inserire una nuova attività.

Viene chiesto di inserire il nome dell’attività, il nome del cliente per il quale si svolgerà l’attività, lo stato dell’attività (aperto, chiuso, sospeso) e la “data prossi- mo passo”, cioè il giorno in cui verrà eseguito un aggiornamento sull’avanzamento dell’attività. Questi campi sono da inserire obbligatoriamente.

Inoltre vi sono altri campi che l’utente può inserire per ampliare la descrizione dell’attività:

- richiedente, colui che richiede un’attività;

- tipo richiesta, il tipo dell’attività (cliente, indagine, interna);

- Business Unit, la BU alla quale l’attività è associata;

- owner, il possessore dell’attività;

- data richiesta, quando è stata richiesta l’attività;

- tema;

- descrizione;

- “pallino” , a chi è stata assegnata l’attività (è colui che ha in mano l’attività in questo momento);

- aggiornato a, l’ultima data di aggiornamento;

- prossimo passo, una piccola descrizione di cosa verrà svolto nel passo suc- cessivo;

- storia, una descrizione di tutta la storia dell’attività. Ad ogni prossimo passo verrà aggiunta la relativa descrizione.

In Figura 2.13 viene riportato il “Pannello Attività”.

Figura 2.13: Pannello Attività

(24)

2.4.2.5 Pannello Clienti

In questo pannello l’utente può inserire un nuovo cliente.

Viene chiesto di inserire il nome del cliente.

Inoltre l’utente può visualizzare per ogni cliente, andando in dettaglio con l’ap- posito pulsante, le informazioni di seguito riportate.

- Visualizza i progetti, dove vengono mostrati i progetti relativi a quel cliente.

- Visualizza le attività, dove vengono mostrate le attività relative a quel cliente.

In Figura 2.14 viene riportato il “Pannello Clienti - Tab Progetti”.

Figura 2.14: Pannello Clienti - Tab Progetti

In Figura 2.15 viene riportato il “Pannello Clienti - Tab Attività”.

Figura 2.15: Pannello Clienti - Tab Attività

(25)

2.4.2.6 Pannello Report

In questo pannello l’utente può visualizzare vari report, di seguito spiegati sin- golarmente.

• Report per progetto

Qui vengono visualizzate, per ogni progetto, tutte le consuntivazioni di ogni persona per il progetto selezionato. Possiamo filtrare i dati visualizzati in- serendo il progetto desiderato, lo stato del progetto (attesa ordine, chiuso, esecuzione), il mese e/o l’anno. Inoltre viene visualizzato il totale dei giorni consuntivati per il progetto selezionato.

In Figura2.16 viene riportato il “Pannello Report - Tab Report per progetto”.

Figura 2.16: Pannello Report - Tab Report per progetto

• Report per persona

Qui vengono visualizzate, per ogni persona, tutte le consuntivazioni che la persona selezionata ha effettuato per i vari progetti. Possiamo filtrare i dati visualizzati inserendo il nome della persona, il mese e/o l’anno.

In Figura 2.17 viene riportato il “Pannello Report - Tab Report per persona”.

Figura 2.17: Pannello Report - Tab Report per persona

(26)

• Report scostamenti per progetto

Qui vengono visualizzati, per ogni progetto, le seguenti informazioni:

- effort previsto, il totale dei giorni previsti per il progetto selezionato;

- effort assegnato, il totale dei giorni assegnati per il progetto selezionato;

- effort pianificato, il totale dei giorni pianificati per il progetto selezio- nato;

- effort consuntivato, il totale dei giorni consuntivati per il progetto selezionato;

- differenza effort, la differenza tra l’effort consuntivato e l’effort pianifi- cato (espresso in giorni) per il progetto selezionato;

- attività consuntivata, una percentuale che indica quanto è stato con- suntivato rispetto a quanto è stato pianificato per il progetto selezionato;

- attività pianificata, una percentuale che indica quanto è stato pianifi- cato rispetto a quanto è stato assegnato al progetto selezionato;

- attività consuntivata, una percentuale che indica quanto è stato con- suntivato rispetto a quanto è stato assegnato al progetto selezionato.

Possiamo filtrare i dati visualizzati inserendo il progetto desiderato. Inoltre possiamo visualizzare due grafici che illustrano in modo semplice i dati sopra riportati.

In Figura 2.18 viene riportato il “Pannello Report - Tab Report scostamenti per progetto”.

Figura 2.18: Pannello Report - Tab Report scostamenti per progetto

(27)

• Report scostamenti per persona

Qui vengono visualizzati, per ogni persona, le seguenti informazioni:

- effort pianificato, il totale dei giorni pianificati per la persona selezio- nata;

- effort consuntivato, il totale dei giorni consuntivati per la persona selezionata;

- differenza effort, la differenza tra l’effort consuntivato e l’effort pianifi- cato (espresso in giorni) per la persona selezionata;

- effort pianificato nel mese corrente, il totale dei giorni pianificati nel mese corrente per la persona selezionata;

- percentuale effort pianificato nel mese in corso, una percentuale che indica quanto è stato pianificato per il mese in corso relativo alla persona selezionata;

- effort pianificato nei tre mesi successivi, il totale dei giorni pianifi- cati nei tre mesi successivi per la persona selezionata;

- percentuale effort pianificato nei tre mesi successivi, una per- centuale che indica quanto è stato pianificato per i tre mesi successivi relativo alla persona selezionata.

Possiamo filtrare i dati visualizzati inserendo il nome della persona desiderata.

Inoltre possiamo visualizzare due grafici che illustrano in modo semplice i dati sopra riportati.

In Figura 2.19 viene riportato il “Pannello Report - Tab Report scostamenti per persona”.

Figura 2.19: Pannello Report - Tab Report scostamenti per persona

(28)
(29)

Attività di stage

In questo capitolo viene descritta la pianificazione dello stage ed il suo svolgi- mento nelle varie fasi.

Successivamente vengono descritte le tecnologie e gli strumenti utilizzati durante l’attività di stage. In particolare verrà descritto FileMaker Pro, un database multi piattaforma utilizzato completamente per l’implementazione di GUFO e di ogni suo aspetto.

Infine vengono specificate tutte le funzionalità che sono state aggiunte e tutti i vari aggiornamenti che sono stati effettuati, aggiungendo delle immagini per rendere il tutto più chiaro.

3.1 Piano di lavoro

Per poter iniziare l’attività di stage è necessario redigere un documento, denomi- nato Piano di Lavoro, che, oltre a definire il progetto di stage, attesta come questo progetto si svolgerà nel tempo. Per questo specifico progetto di stage, il piano di lavoro è stato redatto completamente dal proponente, senza nessuna partecipazione da parte mia.

La Figura3.1dimostra come si è deciso di pianificare l’attività di stage nel tempo.

Figura 3.1: Diagramma di Gantt per la pianificazione delle attività di stage

-21-

(30)

3.1.1 Formazione

Durante le prime due settimane ho effettuato la fase di formazione, in modo tale da facilitare le fasi successive mediante lo studio delle problematiche da affrontare e le tecnologie che saranno utilizzate durante lo svolgimento dello stage.

In particolare, la formazione si è basata su:

• studio del prodotto FileMaker Pro;

• presa in carico della soluzione attuale TUTOS;

• presa in carico della soluzione attuale / futura GUFO.

Durata: 2 settimane

3.1.2 Analisi e progettazione

Una volta acquisite le conoscenze necessarie al proseguimento dell’attività di stage, si è passati alla fase di analisi e progettazione delle soluzioni, dove sono state analizzate le richieste del tutor aziendale e sono state progettate le soluzioni per soddisfare tali esigenze.

In particolare, questa fase si è basata su:

• analisi delle funzionalità da implementare;

• analisi delle specifiche funzionali;

• definizione del piano di test;

• progettazione tecnica delle soluzioni da realizzare;

• documentazione.

Durata: 1 settimana

3.1.3 Implementazione

Dopo la fase di progettazione, si è passati all’implementazione di tutti gli obiet- tivi fissati, generando in questo modo tutte le funzionalità desiderate.

In particolare, questa fase si è basata su:

• implementazione delle nuove funzionalità richieste;

• documentazione.

Durata: 3 settimane

(31)

3.1.4 Integrazione

Dopo aver sviluppato tutte le funzionalità, si è passati all’integrazione di quanto fatto (in locale) con il database GUFO usato in produzione. Tale database è uti- lizzato da una fetta di dipendenti aziendali, i quali testano in modo continuativo quanto fatto.

In particolare, questa fase si è basata su:

• integrazione delle varie componenti sviluppate con il database di produzione;

• test di integrazione;

• documentazione.

Durata: 1 settimana

3.1.5 Documentazione

Infine, dopo aver integrato tutto ciò che è stato fatto durante il periodo di stage, si è passati a produrre la documentazione finale delle soluzioni sviluppate.

Ad ogni modo, alla fine di ogni fase precedente è stato possibile ricavare del tempo per aggiornare tutta la documentazione.

Per questo motivo questa ultima fase è risultata più breve rispetto alle altre.

In particolare, questa fase si è basata su:

• aggiornamento della manualistica;

• aggiornamento dei documenti di rilascio.

Durata: 1/2 settimana

(32)

3.2 Formazione iniziale

La fase di formazione è stata suddivisa in più sottofasi, che vengono di seguito riportate.

• Lettura di documenti ufficiali FileMaker Pro

Innanzitutto è stato necessario conoscere e comprendere gli strumenti e le tec- nologie con le quali si doveva operare. Questi erano completamente sconosciuti allo stagista e la lettura della loro documentazione si è rivelata di grande utilità.

• Esempi pratici utilizzando FileMaker Pro

Una volta terminata la lettura della documentazione ufficiale, ho iniziato a familiarizzare con FileMaker Pro iniziando con dei piccoli esempi pratici. Ho quindi approfondito:

- la differenza che c’è tra una tabella e le sue eventuali istanze;

- l’utilizzo dei join per collegare più tabelle tra loro;1

- l’utilizzo dei formati e dei portali per mostrare all’utente i dati desiderati;

- l’utilizzo degli script e la loro utilità nello svolgere funzioni.

• Lettura di documentazione GUFO

Dopo aver familiarizzato con FileMaker, ho iniziato la lettura documenti rel- ativi all’utilizzo, l’architettura ed il funzionamento generale della Web Appli- cation GUFO.

• Analisi dell’applicazione GUFO

In questa fase ho potuto analizzare l’applicazione GUFO in dettaglio, esami- nando quali erano le funzionalità implementate fino a quel momento.

• Esempi pratici in GUFO

Infine, in questa ultima fase ho potuto familiarizzare con GUFO, inserendo nuovi dati nel database e analizzando nel dettaglio cosa provocano queste azioni.

1In FileMaker Pro non si possono creare relazioni circolari

(33)

3.3 Tecnologie e strumenti utilizzati

In questa sezione vengono presentate le tecnologie e gli strumenti informatici utilizzati per lo svolgimento dell’attività di stage.

3.3.1 FileMaker Pro

R

FileMaker Pro è un database multi piattaforma sviluppato da FileMaker Inc., conosciuto per essere un database che combina potenza e facilità d’uso. È anche conosciuto per la stretta integrazione del database e dell’interfaccia grafica.

FileMaker Pro è stato uno dei primi database presentati per Apple Macintosh all’inizio degli anni ottanta.

FileMaker Pro è disponibile per la piattaforma Macintosh e la piattaforma Mi- crosoft Windows, è in grado di utilizzare una rete locale mista (composta da com- puter Macintosh e Windows).

FileMaker Pro è un prodotto scalabile2; è disponibile una versione per le postazioni degli utenti, una per i server ed esiste una versione in grado di interfacciarsi a siti web ed a dispositivi mobili.

Figura 3.2: Logo FileMaker R

FileMaker Pro mette a disposizione vari strumenti di facile utilizzo che con- sentono di:

• creare database personalizzati;

• produrre resoconti;

• pubblicare dati sul Web;

• condividere, in modo sicuro, i database in rete con più di 9 utenti.

2Nell’informatica e nell’ingegneria elettronica, si dice scalabile un prodotto hardware o software capace di crescere nelle circostanze di aumento del carico di lavoro o di evoluzione del prodotto.

(34)

3.4 Funzionalità aggiunte

Qui di seguito vengono riportate tutte le funzionalità aggiunte alla Web Appli- cation GUFO durante il periodo di stage svolto. Queste funzionalità rispettano gli obiettivi descritti nel capitolo introduttivo.

3.4.1 FUNZ-01

Creazione di un report presenze che visualizzi

permessi, ferie, malattie e congedi maternità di ogni persona

In IKS S.r.l. la gestione delle presenze da parte dei dipendenti aziendali viene così gestita:

• pianificazione delle ore/giornate di permessi/ferie/malattie/congedi maternità in un file Excel condiviso tra tutti i dipendenti aziendali;

• consuntivazione di quanto pianificato in TUTOS;

• e-mail alla segreteria ed al proprio responsabile di Business Unit per avvisare della propria assenza.

In questo modo la segreteria ha modo di gestire le presenze di tutti i vari dipen- denti aziendali, prendendo i dati dal report presenze disponibile in TUTOS (vedi Figura 3.3).

Figura 3.3: Report presenze in TUTOS

(35)

Successivamente all’avvio del database GUFO, la gestione delle presenze da parte dei dipendenti aziendali sarà così gestita:

• pianificazione e consuntivazione delle ore/giornate di permessi/ferie/malattie/congedi maternità direttamente in GUFO;

• e-mail alla segreteria ed al proprio responsabile di Business Unit per avvisare della propria assenza.

Per implementare questo requisito, ho dovuto seguire i seguenti passi:

• creare il progetto “Presenze”, interno all’azienda;

• assegnare al progetto appena creato quattro task per pianificare e consuntivare i permessi, le ferie, le malattie ed i congedi maternità;

• per ognuno dei task appena creati, assegnare il ruolo fittizio “––-” utile per il passo successivo;

• per ogni ruolo appena creato, assegnare tutte le persone inserite nel database.

Il progetto “Presenze” è visualizzabile in Figura 3.4.

Figura 3.4: Progetto “Presenze” in GUFO

In questo modo, ad ogni persona è stata data la possibilità di consuntivare le pro- prie ore di permessi/ferie/malattie/congedi maternità. Per pianificare e consuntivare ciò, l’utente potrà andare nel pannello Persone ed aggiungere le assenze accordate.

A questo punto, è stato necessario creare il report presenze raggiungibile dall’in- terfaccia grafica tramite Report → Report per progetto → selezionando dal menu a tendina il progetto “Presenze”. Qui vengono visualizzate le ore consuntivate rela- tive a permessi/ferie/malattie/congedi maternità di ogni persona. In più, possiamo filtrare i dati visualizzati per mese e per anno, in modo da avere una visione più facilmente comprensibile.

(36)

In Figura 3.5 troviamo uno screenshot di quanto è stato realizzato.

Figura 3.5: Report presenze in GUFO

(37)

3.4.2 FUNZ-02

Creazione di report per progetto e per persona

In IKS S.r.l. tutti i dipendenti aziendali possono accedere a TUTOS e visualiz- zare due tipologie di report: report per progetto (Figura 3.6) e report per persona (Figura 3.7).

Figura 3.6: Report per progetto in TUTOS

Figura 3.7: Report per persona in TUTOS

Analogamente, questo requisito si pone l’obiettivo di implementare queste due tipologie di report in GUFO. Nello sviluppare questa nuova funzionalità ho seguito la struttura grafica finora seguita, quindi ho creato un nuovo pannello chiamato

“Report” dove al suo interno compaiono due link per accedere ai relativi tab “Report per progetto” e “Report per persona”.

(38)

3.4.2.1 Report per progetto

Nello sviluppare questo report ho creato un nuovo tab dove al suo interno è stato inserito un portale. Esso mostra i record correlati della tabella Consuntivazioni e li filtra in base al seguente criterio:

If ( INTERFACCIA3::mese = “––-”;

If ( INTERFACCIA3::anno = “––-”;

Consuntivazioni::id = Consuntivazioni::id;

Anno (Consuntivazioni::data) = INTERFACCIA3::anno);

If(INTERFACCIA3::anno = “––-”;

NomeMese (Consuntivazioni::data) = INTERFACCIA3::mese;

NomeMese (Consuntivazioni::data) = INTERFACCIA3::mese and ...

... Anno (Consuntivazioni::data) = INTERFACCIA3::anno)) Possiamo fare un esempio relativo alla modalità di filtro del portale:

• MESE = “––-” and ANNO = “––-” → visualizza tutte le consuntivazioni

• MESE = “giugno” and ANNO = “––-” → visualizza le consuntivazioni di giu- gno di tutti gli anni

• MESE = “––-” and ANNO = “2011” → visualizza le consuntivazioni di tutti i mesi del 2011

• MESE = “giugno” and ANNO = “2011” → visualizza le consuntivazioni di giu- gno 2011

Inoltre è stata data la possibilità all’utente di filtrare i dati visualizzati in base al nome del progetto (selezionabile da un menu a tendina, dove sono riportati tut- ti i progetti inseriti nel database GUFO) ed allo stato del progetto (attesa ordine, chiuso, esecuzione). Questo è stato possibile associando uno script FileMaker alla pressione del tasto “Filtra”. In Figura 3.8 viene riportato lo script, seguito da una piccola descrizione sul suo funzionamento.

Figura 3.8: Script filtra_report_per_progetto

(39)

• Imposto una variabile locale ($val) con il nome del progetto selezionato dal- l’utente;

• passo al modo “Trova” (prima ero nel modo “Usa”);

• imposto il campo per la ricerca con il valore $val;

• eseguo la ricerca;

• cancello i dati correnti dal menu a tendina visualizzato all’utente.

Analogamente è stato fatto lo script per filtrare i dati visualizzati in base allo stato del progetto.

In Figura 3.9 viene riportato quanto è stato fatto.

Figura 3.9: Report per progetto in GUFO

(40)

3.4.2.2 Report per persona

Nello sviluppare questo report ho creato un nuovo tab dove al suo interno è stato inserito un portale. Esso mostra i record correlati della tabella Consuntivazioni e li filtra in base per mese e/o per anno, secondo il criterio descritto nella Sezione3.4.2.1.

Inoltre è stata data la possibilità all’utente di filtrare in base al nome e cognome della persona (selezionabile da un menu a tendina, dove sono riportate tutte le per- sone inserite nel database GUFO).

Lo script per filtrare i dati visualizzati in base al nome e cognome della persona ha funzionamento analogo allo script per filtrare i dati visualizzati nel report per progetto (vedi Sezione 3.4.2.1).

In Figura 3.10 viene riportato quanto è stato fatto.

Figura 3.10: Report per persona in GUFO

(41)

3.4.3 FUNZ-03

Creazione di un report riassuntivo per ogni progetto con elenco delle persone coinvolte, effort assegnato, schedulato e consuntivato

In IKS S.r.l., per avere una visione generale riassuntiva, è stato utile avere un report che per ogni progetto mostrasse quali sono le persone associate a quel deter- minato progetto e l’effort sia del progetto in totale, sia di ogni singola persona.

In Figura 3.11 viene riportato quanto è stato fatto.

Figura 3.11: Report riassuntivo per ogni progetto

In dettaglio, nel portale vengono visualizzati i vari effort relativi alla tabella As- segnazioni; al di fuori del portale vengono visualizzati i vari effort relativi alla tabella Progetti.

Per completezza riporto le seguenti informazioni, andando dal più specifico al meno specifico:

• Schedulazioni::ore ogni persona pianifica quanto ha lavorato (in ore);

• Assegnazioni::effortPianificato = Somma(Schedulazioni::ore)/8;

• RuoliTask::effortPianificato = Somma(Assegnazioni::effortPianificato);

• Task::effortPianificato = Somma(RuoliTask::effortPianificato);

• Progetti::effortPianificato = Somma(Task::effortPianificato).

(42)

3.4.4 FUNZ-04

Visualizzazione per ogni persona delle attività in scadenza o scadute a lei assegnate

In IKS S.r.l. dietro alla gestione di un’attività sono presenti più figure:

• richiedente, è colui che richiede tale attività;

• owner, è colui al quale è stata assegnata tale attività;

• “pallino”, è colui che ha in mano l’attività in questo preciso momento.

Solitamente l’owner ed il “pallino” sono la stessa persona, ma può capitare che l’owner assegni l’attività ad un’altra persona, e questa sarà quindi responsabile di continuare e portare a termine tale attività.

Detto ciò, è nato il bisogno di monitorare tutte le attività presenti in azienda;

quindi ho proceduto secondo quanto riportato in seguito.

• Tabella azioni

Sono stati aggiunti due campi dato (si/no):

- pallino_scaduto, impostato a “si” solo se la data_prossimo_passo è mi- nore della data corrente e lo stato è uguale ad “aperto”, “no” altrimenti;

- pallino_in_scadenza, impostato a “si” solo se la data_prossimo_passo è compresa tra la data corrente e la data corrente più cinque giorni e lo stato è uguale ad “aperto”, “no” altrimenti;

• Tabella Persone

Sono stati aggiunti i seguenti campi dato, ricalcolati in automatico ogni volta che succedono delle operazioni di modifica:

- tot_pallini, somma tutti i “pallini” associati alla persona selezionata;

- tot_pallini_chiusi, somma i “pallini” chiusi associati alla persona selezio- nata;

- tot_pallini_sospesi, somma i “pallini” sospesi associati alla persona sele- zionata;

- tot_pallini_aperti, somma i “pallini” aperti associati alla persona sele- zionata;

- tot_pallini_scaduti, conta le ricorrenze del campo dato pallino_scaduto (impostato a “si”) nella tabella azioni, relative alla persona selezionata;

- tot_pallini_in_scadenza, conta le ricorrenze del campo dato pallino_in_scadenza (impostato a “si”) nella tabella azioni, relative alla persona selezionata;

- tot_pallini_non_in_scadenza, è la differenza del tot_pallini_aperti - tot_pallini_scaduti - tot_pallini_in_scadenza;

(43)

• Tabella azioni

È stato reso obbligatorio l’inserimento dei seguenti campi dato:

- nome dell’attività;

- nome del cliente;

- stato dell’attività;

- data del prossimo passo.

Dopo aver ricavato tutte queste informazioni, ed aver impostato i vincoli sopra riportati, è stato possibile visualizzare tutto ciò nel pannello Business Unit, scheda Persone.

In Figura 3.12 viene riportato quanto è stato fatto.

Figura 3.12: Attività scadute o in scadenza assegnate ad ogni persona

(44)

3.4.5 FUNZ-05

Creazione di report per la fatturazione

In IKS S.r.l la gestione della fatturazione verso i clienti viene gestita “intreccian- do” l’utilizzo di TUTOS con Microsoft Excel. In pratica, tramite una connessione ODBC, l’applicazione client (Microsoft Excel) riesce a ricavare i dati delle consun- tivazioni dal database MySQL di TUTOS e riportarli in una tabella Excel.

Lo scopo di questo requisito è riprodurre lo stesso funzionamento utilizzando GUFO ed il relativo driver ODBC, lasciando quindi trasparente ed invariata tutta la gestione della fatturazione da parte della segreteria.

La pianificazione per implementare questo requisito è stata così suddivisa:

• scaricare dal sito http://www.filemaker.com/it/support/ il driver ODBC per FileMaker;

• installare il driver ODBC scaricato;

• configurare il driver client (aggiungendo un DSN di sistema);

• importare in Excel i dati delle consultivazioni dal database GUFO (tramite query SQL).

Dopo essermi documentato sulle guide ufficiali FileMaker, ho capito che il soft- ware FileMaker può agire o come applicazione client o come origine dati. Nel nostro caso, è necessario l’utilizzo del database FileMaker come origine dati.

Utilizzando le API ODBC o JDBC, un’applicazione client comunica con una ges- tione driver che identifica il driver client per comunicare con una origine dati.

Figura 3.13: Connessione ODBC tra applicazione client e database

Come origine dati, i dati FileMaker sono condivisi con applicazioni compatibili con ODBC e JDBC. L’applicazione si collega all’origine dati FileMaker utilizzando il driver client FileMaker, genera ed esegue le query SQL utilizzando ODBC o JDBC ed elabora i dati recuperati dalla soluzione di database FileMaker.

Seguendo la pianificazione, ho scaricato ed installato il driver client ODBC,

“ODBC FileMaker”: questo permetterà di configurare l’accesso a un’origine dati FileMaker, nel nostro caso al database GUFO. Quindi, ho configurato il driver client aggiungendo un DSN di sistema, ottenendo quanto visualizzato in Figura 3.14.

(45)

Figura 3.14: Configurazione DSN di sistema (Windows)

A questo punto, tutto è pronto per importare i dati delle consuntivazioni da GU- FO a Microsoft Excel. Quindi scegliendo da Dati → Carica dati esterni → Da altre origini (Da Microsoft Query) l’origine dati appena creata (DB_GUFO) otteniamo l’opportunità di creare una query SQL con Microsoft Query. A questo punto la sintassi della nostra query sarà la seguente:

SELECT Consuntivazioni.data AS ‘vtime’, Consuntivazioni.progetto AS

‘Progetto’, Progetti.idCommessa AS ‘Commessa’, Consuntivazioni.ruolo AS ‘Task’, p.cognome AS ‘Persona’, BU.nome AS ‘factory’,

Progetti.descrizione AS ‘description’, (Consuntivazioni.ore/8) AS ‘Giorni’

FROM Assegnazioni Assegnazioni, ‘BusinessUnit 2’ BU, Consuntivazioni Consuntivazioni, ‘Persone 2’ p, Progetti Progetti, RuoliTask

RuoliTask, Task Task

WHERE (Consuntivazioni.fk_Assegnazioni = Assegnazioni.id) AND (Assegnazioni.fk_Persone = p.id)

AND (BU.id = p.fk_bu)

AND (Assegnazioni.fk_RuoliTask = RuoliTask.id) AND (RuoliTask.fk_Task = Task.id)

AND (Task.fk_Progetti = Progetti.id) AND (Consuntivazioni.progetto = ?) 3

3Il carattere ‘ ?’ identifica un particolare valore inserito in una determinata cella del file Excel, da specificare. Per esempio posso associare alla cella A1 il nome del progetto da filtrare nella query SQL.

(46)

Questa query SQL mi produce l’output visualizzato in Figura 3.15, necessario alla segreteria per la fatturazione ai clienti.

Figura 3.15: Output query SQL per la fatturazione

(47)

3.4.6 FUNZ-06

Visualizzare la percentuale di tempo pianificato nel mese in corso e nei tre mesi successivi per ogni persona

In IKS S.r.l, per una migliore gestione del personale e del tempo a disposizione, c’era la necessità di capire quanto una persona fosse impegnata nel mese in corso e nei tre mesi successivi. In base a ciò si può capire se possiamo assegnare una persona ad un nuovo progetto.

Nell’implementare questo requisito ho seguito i passaggi di seguito riportati.

• Creazione dei seguenti campi dato nella tabella Persone:

- effort_pianificato_mese_corrente;

- perc_pianificato_mese_corrente4;

- effort_pianificato_tre_mesi_successivi;

- perc_pianificato_tre_mesi_successivi5.

• Creazione dello script imposta campo effort_pianificato_mese_corrente (vedi Figura 3.16).

• Creazione dello script imposta campo effort_pianificato_tre_mesi_successivi (vedi Figura 3.17).

Il primo script esegue un loop su tutte le persone presenti nel database GUFO, e per ogni persona entra nella tabella Schedulazioni nella quale, se trova la persona corrente, il mese corrente e l’anno corrente, aggiorna una variabile locale che tiene traccia di tutte le ore pianificate nel mese in corso (e nell’anno in corso). Infine, imposta la variabile effort_pianificato_mese_corrente con il valore trovato.

4Per il calcolo della percentuale vengono calcolati 20 giorni lavorativi in un mese

5Per il calcolo della percentuale vengono calcolati 60 giorni lavorativi in tre mesi

(48)

Figura 3.16: Script imposta campo effort pianificato mese corrente

Il secondo script ha lo stesso funzionamento, ma suddivide quattro casi diversi:

• se il mese della data corrente è compreso tra gennaio e settembre, allora si procede nel modo semplice (il primo mese successivo è il mese corrente più uno, il secondo mese successivo è il mese corrente più due, il terzo mese successivo è il mese corrente più tre);

• se il mese della data corrente è ottobre, allora i mesi successivi da considerare sono novembre, dicembre (dell’anno corrente) e gennaio (dell’anno successivo);

• se il mese della data corrente è novembre, allora i mesi successivi da considerare sono dicembre (dell’anno corrente), gennaio e febbraio (dell’anno successivo);

• se il mese della data corrente è dicembre, allora i mesi successivi da considerare sono gennaio, febbraio e marzo (dell’anno successivo).

(49)

Figura 3.17: Script imposta campo effort pianificato tre mesi successivi

(50)

A questo punto, quando entro in “Report scostamenti per persona” vengono ese- guiti questi due script che mi aggiornano i campi dato precedentemente creati.

L’output finale viene riportato in Figura 3.18.

Figura 3.18: Tempo pianificato mese in corso e tre mesi successivi

(51)

3.4.7 FUNZ-07

Visualizzare l’elenco dei progetti in essere, con la percentuale di attività pianificata e la percentuale di attività consuntivata

In IKS S.r.l, per una migliore gestione dei progetti in essere, si è presentata la necessità di capire quanto fosse stato pianificato e quanto fosse stato consuntivato fino a quel momento.

Nell’implementare questo requisito, è sorta la necessità di creare i seguenti campi dato nella tabella Progetti:

• perc_Assegnato_Consuntivato = effortConsuntivato/effortAssegnato)*100;

• perc_Assegnato_Pianificato = effortPianificato / effortAssegnato)*100;

• perc_Consuntivato_Pianificato = effortConsuntivato/effortPianificato)*100.

Dopo averli creati, sono stati inseriti nel pannello “Report scostamenti per pro- getto”, e visualizzati secondo la Figura 3.19.

Figura 3.19: Percentuale attività pianificata / consuntivata

(52)

3.4.8 FUNZ-08

Creazione di un report scostamenti che evidenzia se ci sono differenze tra l’impegno pianificato e quello effettivamente consuntivato

Per implementare questo requisito sono stati creati due report riassuntivi:

• Report scostamenti per progetto

• Report scostamenti per persona

Per il secondo report, è sorta la necessità di avere, nella tabella Persone, due campi dato ricavabili dalla tabella Assegnazioni:

• effort_pianificato

→ Somma (Assegnazioni::effortPianificato)

• effort_consuntivato

→ Somma ( Assegnazioni::effortConsuntivato )

In seguito è possibile vedere come sono stati realizzati questi report, notando il campo dato “Differenza effort”.

Tale campo, se negativo, sta ad indicare che:

• nel Pannello Report - Tab Report scostamenti per progetto

per il progetto selezionato è stato consuntivato di meno rispetto a quanto si era pianificato nella fase iniziale;

• nel Pannello Report - Tab Report scostamenti per persona

la persona selezionata ha consuntivato meno ore rispetto a quante ne aveva pianificate inizialmente.

Inoltre, mediante l’utilizzo dei grafici che FileMaker Pro mette a disposizione, è possibile mostrare all’utente finale i dati trovati, sia mediante numeri, sia mediante diagrammi.

In questo caso, tra le varie tipologie di grafici a disposizione, è stato preferito l’uti- lizzo di due grafici a colonne, dove visivamente si potesse notare subito se ci sono degli scostamenti.

Nel primo grafico vengono comparati l’effort pianificato e l’effort consuntiva- to; nel secondo grafico viene visualizzata singolarmente la differenza tra l’effort pianificato e l’effort consuntivato.

(53)

In Figura 3.20 viene riportato il “Report scostamenti per progetto”.

Figura 3.20: Report scostamenti per progetto In Figura 3.21 viene riportato il “Report scostamenti per persona”.

Figura 3.21: Report scostamenti per persona

(54)

3.5 Aggiornamenti effettuati

Vengono qui di seguito riportati i vari aggiornamenti effettuati durante il periodo di stage svolto.

3.5.1 AGG-01 BU/Progetti

Quando elimino un progetto dal portale mi compare una finestra dove viene spie- gato all’utente che prima di eliminare un progetto si devono eliminare tutti i task associati.

In tal caso è stato necessario modificare lo script che elimina un progetto, aggiun- gendo una clausola if dove:

• se ci sono dei task associati, mostra la finestra personalizzata ed interrompe l’eliminazione;

• altrimenti elimina la riga del portale.

In Figura 3.22 viene riportato un screen-shot relativo ad una eliminazione (non andata a buon fine) di un progetto con più task associati.

Figura 3.22: Eliminazione di un progetto dal portale

(55)

3.5.2 AGG-02

BU/Pianificazione

È stata migliorata la visualizzazione della pianificazione di tutte le persone ap- partententi alla Business Unit selezionata nel mese corrente. Con gli appositi tasti possiamo scorrere e visualizzare i mesi precedenti oppure i mesi successivi a quello in corso.

Per far ciò sono stati usati i seguenti accorgimenti:

• utilizzo del font courier (a larghezza fissa);

• troncamento del nome del progetto, prendendo i primi 20 caratteri mediante la funzione “(Sinistra(Schedulazioni::progetto, 20))”, disponibile in FileMaker Pro.

In Figura 3.23 viene riportato il Pannello BU - Tab Pianificazione.

Figura 3.23: BU / Pianificazione

(56)

3.5.3 AGG-03

azioni::fk_clienti

È stata aggiunta la chiave esterna fk_clienti nella tabella “azioni”, adesso colle- gata quindi con la tabella Clienti; in questo modo ogni attività è collegata con un cliente.

Precedentemente solo i progetti erano collegati con un cliente.

In Figura 3.24 possiamo visualizzare la relazione tra la tabella “azioni” e l’istanza della tabella “Clienti” (chiamata Clienti 2). Questo perché la tabella “Clienti” è già collegata alla tabella “Progetti”, ed è per questo motivo che risulta necessaria la creazione di una nuova istanza della tabella “Clienti”.

Figura 3.24: Relazione tra “azioni” e “Clienti”

(57)

3.5.4 AGG-04 modo Usa

Sono stati impostati non modificabili alcuni particolari campi dato, ritenuti

“pericolosi” altrimenti.

3.5.5 AGG-05 modo Usa

È stata aggiunta l’annotazione (*) per distinguere se l’effort (o tutti i dati numerici presenti nei vari formati) viene espresso in ore oppure in giorni.

3.5.6 AGG-06

Persone/Pianificazione e Consuntivazione

Se una persona pianifica o consuntiva delle attività per il sabato o la domenica esse vengono memorizzate nei giorni stabiliti dall’utente (precedentemente venivano spostate al lunedì successivo).

3.5.7 AGG-07

Progetti/Task di progetto

È stato sistemato l’allineamento dei task nel portale (precedentemente tramite la navigazione Web venivano visualizzati in modo errato).

(58)
(59)

Conclusioni

In questo capitolo vengono descritte le problematiche riscontrate, soprattutto nella fase iniziale dello stage, ed in seguito gli obiettivi conseguiti a conclusione del mio percorso di stage.

4.1 Problemi riscontrati

4.1.1 Tecnologie sconosciute

Inizialmente le tecnologie che mi accingevo a studiare erano del tutto sconosciute.

Nonostante ciò, grazie alla fase iniziale di formazione ho potuto acquisire le basi ne- cessarie per proseguire nelle fasi successive. Solo dopo aver preso dimestichezza con queste tecnologie, ho iniziato a lavorare su GUFO.

La problematica maggiormente riscontrata nel mio percorso di stage è stata quella di constatare che questo software è utilizzato da una fascia ridotta di utenti; ciò ha causato una scarsità di informazioni reperibili in rete sulle potenzialità reali di FileMaker Pro.

4.2 Complessità del progetto di stage

L’articolazione del progetto prevedeva inizialmente un tempo ridotto necessario alla realizzazione della relazione tra la tabella “azioni” e la tabella “Clienti”. In corso di svolgimento, invece, si è resa indispensabile l’associazione di ogni cliente ad un’identificativo univoco; è stato possibile ciò con l’aggiunta della chiave ester- na fk_clienti, sostituendo la stringa che identificava precedentemente un cliente.

Questo ha portato all’impiego di più ore, necessarie al raggiungimento di una mag- giore completezza e consistenza del prodotto finale.

-51-

Riferimenti

Documenti correlati

Regnauld [14] focuses on the development of an algorithm for generalising build- ings from 1:15,000 to 1:50,000. His attention is no longer on generalisation of build- ing shapes,

We used the LIVE IQA database [27] to test the perfor- mance of BRISQUE, which consists of 29 reference images with 779 distorted images spanning five different distortion categories

Nell'esecuzione di richieste al server PHP è quindi più favorita perché può fare delle richieste SOAP o REST che non fanno altro che eseguire altro codice PHP (nel nostro caso vi

Attualmente non è però possibile percorrere questa strada dal momento che alcune funzioni svolte dal software LabVIEW, come ad esempio lo scambio di dati con un

Se un processo inizialmente attivo esegue il seguente codice, il sistema si troverà con 8 processi che eseguono InstrX, di cui uno è il processo

Si determini, utilizzando il grafo di allocazione delle risorse, se il sistema sia in stallo (deadlock) e, in caso affermativo, quali siano i processi e le risorse coinvolti.. [A]

Si completino inoltre le tabelle mostrando ad ogni istante il contenuto dei 4 page frame di cui è composta la RAM (non è necessario che lo studente mantenga

Anche l’ipotesi di contiguità del file è inutile in quanto gli i-node contengono gli indici che puntano in sequenza a TUTTI i blocchi di dati di un file a prescindere che questi