Successfully reported this slideshow.
UNIVERSITÀ DEGLI STUDI DI TRIESTE                     FACOLTÀ DI INGEGNERIA       Corso di laurea specialistica in Ingegne...
Ai miei genitori
Indice1     Introduzione ....................................................................................................
4.3.5          Scollegare i database della versione precedente ..............................................................
6.6.2          Test Funzionali ..............................................................................................
1       IntroduzioneL’idea di sviluppare un applicativo per la gestione delle note spese e prenotazioni è nata dall’esigen...
avvicina per la prima volta al sistema. Vengono definite le funzionalità implementate, facendo largo usodi immagini esplic...
2       Analisi2.1     IntroduzioneIn questo primo capitolo viene descritta la fase iniziale del ciclo di vita del softwar...
Figura 2-2: Il modello di sviluppo a cascata2.2     I requisitiScopo generale dell’analisi è stabilire che cosa il sistema...
determinare la tecnologia e l’architettura del sistema, stimando tempi e costi della realizzazionecomplessiva. Questa atti...
requisiti aziendali. Una volta trovato prenderà contatto con l’albergo per verificare la disponibilità diposti liberi. Se ...
Una volta che il dipendente del settore amministrativo riceve la mail, controlla sui siti delle compagnieaeree o tramite a...
caso ci sarà sicuramente da pagare una penale. Al completamento della cancellazione dellaprenotazione sarà necessario invi...
SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazione del treno.L’operator...
2.2.2 Documento dei requisitiGestione Nota SpeseLa gestione delle note spese si articola in tre fasi principali:       Co...
o   Km: spesa sostenuta muovendosi con l’auto di proprietà.                 o   Altro: tutto quello che non rientra nelle ...
Le spese documentate invece sono sempre esenti dalla tassazione. Una cosa molto importante è dare lapossibilità all’utente...
ReportisticaQuesta sezione è stata richiesta sia dal reparto dell’amministrazione, sia dal livello dirigenzialedell’aziend...
possibilità di collegarsi al portale per visionare i dettagli della prenotazione. Al termine di ogni mesel’amministrazione...
   Esiste Penale: indica se la modifica o la cancellazione della prenotazione comporta o meno il        pagamento di una ...
Spesa             Somma anticipata da un cliente per la quale si richiede un     Nota spese, Cliente,                  rim...
3       Disegno della Base di Dati3.1     IntroduzioneLo sviluppo della base di dati per questo applicativo non ha potuto ...
   BookingType: rappresenta il tipo di prenotazione che può essere aereo, albergo, automobile,         navetta o treno.  ...
ApprovalDate           Data in cui è stata approvata la nota spese                                           Tabella 3-1: ...
CreateBy           Indica la risorsa ce ha creato il foglio delle prenotazioniCreateDate         Indica la data di creazio...
ExpenseTypeID               È il codice univoco che individua ciascun tipo di spesaDescription      Descrive la tipologia ...
3.4       OsservazioniRispetto al data base esistente è emerso che mancano alcuni campi importanti, soprattutto nella tabe...
Costsheet                  CostsheetTrack                         ExpenseType                         BookingTrack        ...
3.6       TriggerUna novità importante che è stata introdotta nella base di dati sono i trigger. In questa particolareappl...
   permettono di usare nomi brevi invece di lunghe stringhe per richiedere l’esecuzione di        operazioni anche comple...
4       Migrazione da SharePoint 2007 a SharePoint 2010Microsoft SharePoint Server 2010 è stato progettato per garantire l...
Prima di eseguire la migrazione a un ambiente a 64 bit:          Aggiornare Office SharePoint Server 2007 allo stesso Ser...
   Gli URL di mapping di accesso alternativo in uso nella farm.       Un elenco di tutte le definizioni di sito, i model...
4.2     Panoramica del processo di aggiornamentoQuando si esegue laggiornamento da Microsoft Office SharePoint Server 2007...
di aggiornamento da Microsoft Office SharePoint Server 2007 a Microsoft SharePoint Server 2010,eseguire le procedure consi...
7. Verificare i siti in entrambe le modalità della Console di aggiornamento. Non presumere che, se        è possibile visu...
4.3.2 Prima di iniziare          Verificare che siano soddisfatti tutti i requisiti hardware e software. È necessario dis...
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010
Upcoming SlideShare
Loading in …5
×

Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010

1,730 views

Published on

  • Be the first to comment

  • Be the first to like this

Porting evolutivo di un’applicazione per la gestione di note spese in ambiente share point 2010

  1. 1. UNIVERSITÀ DEGLI STUDI DI TRIESTE FACOLTÀ DI INGEGNERIA Corso di laurea specialistica in Ingegneria Informatica Tesi di laurea in Complementi di Basi di DatiPORTING EVOLUTIVO DI UN’APPLICAZIONE PER LA GESTIONE DI NOTE SPESE IN AMBIENTE SHAREPOINT 2010 LAUREANDO RELATORE Enrico Natella Chiar.mo Prof. Maurizio Fermeglia Anno Accademico 2009/2010
  2. 2. Ai miei genitori
  3. 3. Indice1 Introduzione .............................................................................................................................................. 12 Analisi ........................................................................................................................................................ 3 2.1 Introduzione ...................................................................................................................................... 3 2.2 I requisiti ............................................................................................................................................ 4 2.2.1 Analisi dei requisiti .................................................................................................................... 4 2.2.2 Documento dei requisiti .......................................................................................................... 10 2.2.3 Glossario dei termini................................................................................................................ 153 Disegno della Base di Dati ....................................................................................................................... 17 3.1 Introduzione .................................................................................................................................... 17 3.2 Entità................................................................................................................................................ 17 3.3 Tabelle ............................................................................................................................................. 18 3.4 Osservazioni..................................................................................................................................... 22 3.5 Schema fisico ................................................................................................................................... 22 3.6 Trigger .............................................................................................................................................. 24 3.7 Stored Procedures ........................................................................................................................... 244 Migrazione da SharePoint 2007 a SharePoint 2010 ................................................................................ 26 4.1 Requisiti per laggiornamento ......................................................................................................... 26 4.1.1 Requisito hardware: 64 bit ...................................................................................................... 26 4.1.2 Requisito di sistema operativo ................................................................................................ 27 4.1.3 Requisito del database management system.......................................................................... 27 4.1.4 Strumento di verifica pre-aggiornamento ............................................................................... 27 4.1.5 Comando di Windows PowerShell per la verifica dei database .............................................. 28 4.1.6 Console di aggiornamento....................................................................................................... 28 4.2 Panoramica del processo di aggiornamento ................................................................................... 29 4.2.1 Aggiornamento basato sul collegamento di database ............................................................ 29 4.2.2 Procedure consigliate per testare laggiornamento ................................................................ 29 4.3 Allegare database ed eseguire laggiornamento ............................................................................. 31 4.3.1 Panoramica del processo ......................................................................................................... 31 4.3.2 Prima di iniziare ....................................................................................................................... 32 4.3.3 Impostare per la sola lettura i database della versione precedente ....................................... 32 4.3.4 Per eseguire il backup di un database in SQL Server 2008 ...................................................... 32 i
  4. 4. 4.3.5 Scollegare i database della versione precedente .................................................................... 33 4.3.6 Ripristinare una copia di backup del database ........................................................................ 34 4.3.7 Verifica dellaggiornamento per il database............................................................................ 34 4.4 Conversione di Web User Control in Visual Web Part..................................................................... 35 4.4.1 Smart Part ................................................................................................................................ 35 4.4.2 Visual Web Part ....................................................................................................................... 35 4.4.3 Conversione ............................................................................................................................. 36 4.5 Osservazioni..................................................................................................................................... 36 4.5.1 Autenticare gli utenti ............................................................................................................... 37 4.5.2 Ospitare l’applicativo ............................................................................................................... 375 Confronto fra il documento dei requisiti e il progetto esistente ............................................................ 38 5.1 Confronto con l’applicativo esistente.............................................................................................. 38 5.1.1 Compilazione della nota spese ................................................................................................ 38 5.1.2 Approvazione della nota spese................................................................................................ 396 L’applicativo ............................................................................................................................................. 40 6.1 Introduzione .................................................................................................................................... 40 6.2 Obiettivi dell’applicativo .................................................................................................................. 40 6.3 Progettazione .................................................................................................................................. 40 6.3.1 Qualità del software ................................................................................................................ 40 6.3.2 Strategie di sviluppo ................................................................................................................ 41 6.3.3 Strategie di progetto................................................................................................................ 41 6.3.4 I moduli .................................................................................................................................... 42 6.3.5 Strumenti utilizzati per lo sviluppo dell’applicativo ................................................................ 42 6.3.6 Processo Unificato di sviluppo del software ........................................................................... 44 6.3.7 I diagrammi di attività.............................................................................................................. 45 6.4 I ruoli ................................................................................................................................................ 46 6.5 La codifica ........................................................................................................................................ 47 6.5.1 Descrizione della solution ........................................................................................................ 47 6.5.2 Accesso ai dati ......................................................................................................................... 48 6.5.3 Visual Web Part ....................................................................................................................... 48 6.5.4 Mail .......................................................................................................................................... 57 6.5.5 Validazione dei dati ................................................................................................................. 58 6.6 Testing ............................................................................................................................................. 59 6.6.1 Unit Testing.............................................................................................................................. 59 ii
  5. 5. 6.6.2 Test Funzionali ......................................................................................................................... 61 6.7 Installazione dell’applicativo ........................................................................................................... 66 6.7.1 Web.config............................................................................................................................... 67 6.7.2 Active Directory ....................................................................................................................... 71 6.7.3 Database .................................................................................................................................. 71 6.7.4 Tabella di Configurazione ........................................................................................................ 717 I modi d’uso ............................................................................................................................................. 73 7.1 Introduzione .................................................................................................................................... 73 7.2 Le funzionalità generali ................................................................................................................... 73 7.2.1 CostsheetCompilation ............................................................................................................. 74 7.2.2 CostsheetApprovement........................................................................................................... 80 7.2.3 BillingOperations ..................................................................................................................... 84 7.2.4 Report ...................................................................................................................................... 88 7.2.5 Booking .................................................................................................................................... 90 7.2.6 Configuration ........................................................................................................................... 958 Conclusioni .............................................................................................................................................. 96Bibliografia ....................................................................................................................................................... 97Ringraziamenti ................................................................................................................................................. 98 iii
  6. 6. 1 IntroduzioneL’idea di sviluppare un applicativo per la gestione delle note spese e prenotazioni è nata dall’esigenza dimigliorare e innovare il sistema che attualmente il gruppo Teorema utilizza all’interno delle sue aziende.Fino alla realizzazione di questo programma, infatti, la compilazione delle note spese avveniva tramitefoglio Excel. Si è deciso quindi di progettare un applicativo che andasse incontro alle esigenze deidipendenti e, allo stesso tempo, permettesse agli amministratori di tenere traccia di tutte le spesesostenute tramite l’introduzione di una base di dati che fosse condivisa da tutto il gruppo. Bisognaspecificare che in passato si era già iniziato a sviluppare tale applicativo all’interno di SharePoint 2007,senza mai però giungere a un prodotto finito. Per cui per il suo sviluppo si partirà dal software esistente,eseguendo un porting evolutivo verso SharePoint 2010. Il prodotto software, descritto nel seguito, è frutto di una successione di fasi di sviluppo quali laraccolta dei requisiti, la loro successiva analisi, la progettazione dei dati da un lato e delle applicazionidall’altro, e infine da una fase di test, installazione e collaudo. Si è ritenuto opportuno seguire il modellodi sviluppo a cascata. I vincoli di progetto, propedeutici all’intero sviluppo, si possono elencare nel modoseguente. I vincoli concernenti il sistema operativo hanno richiesto che sulla macchina fosse installatoMicrosoft Windows Server 2008 con all’interno SharePoint 2010. Quelli riguardanti il Data BaseManagement System hanno stabilito l’utilizzo di Microsoft SQL Server nella versione 2008. L’ambiente disviluppo presupposto è stato SharePoint 2010, affiancato con Visual Studio 2010 e SharePoint Designer.I vincoli attinenti le risorse hardware sono legati alle caratteristiche minime richieste da SharePoint. L’elaborato compie un excursus che descrive tutti gli stadi del progetto. Nel primo capitolo vienedescritta l’attività di analisi svolta, lo studio dei requisiti teso alla definizione di un sistema cherispettasse appieno gli obiettivi preposti. Proseguendo verso il capitolo successivo, viene presentato ildisegno della base di dati, pilastro del sistema. A tale fine, sono presi in esame tutti i passi che hannoportato alla realizzazione del suo schema fisico. A questo, segue il capitolo relativo alla fase dimigrazione, in cui si analizza la fase del porting dell’applicativo da SharePoint 2007 a SharePoint 2010.Nel capitolo successivo viene svolta un’analisi per confrontare il documento dei requisiti prodotto nellaprima fase con l’applicativo esistente. Attorno a metà della trattazione si colloca il capitolo che entra nelvivo dello sviluppo dell’applicativo. Vengono esposte tutte le fasi volte a raggiungere tale meta: dallostudio degli obiettivi a quello delle specifiche, dalla progettazione alla realizzazione, giungendo infinealla verifica complessiva. Il capitolo che segue ha lo scopo di essere d’ausilio all’utilizzatore che si 1
  7. 7. avvicina per la prima volta al sistema. Vengono definite le funzionalità implementate, facendo largo usodi immagini esplicative. Il capitolo successivo è stato scritto invece per descrivere le procedure al fine diuna corretta installazione dell’applicativo. Il nono capitolo si pone a chiusura della dissertazione e hauno scopo riepilogativo; infatti, in questa sezione trovano posto le conclusioni tratte a progettoultimato. 2
  8. 8. 2 Analisi2.1 IntroduzioneIn questo primo capitolo viene descritta la fase iniziale del ciclo di vita del software realizzato. L’attivitàdi analisi rappresenta l’inizio dell’intero processo di sviluppo, nonché il momento più critico: un errore inquesta fase si ripercuoterebbe sull’intero progetto. Per questo è stato introdotto un modello, il qualepuò essere concepito come uno schema a blocchi caratterizzato da particolari input e output (Fig. 2-1). Figura 2-1: Modello per lo sviluppo del software Per questo progetto, si è scelto il modello di sviluppo a cascata, secondo cui la realizzazione diun prodotto software consta di una sequenza di fasi strutturata in analisi dei requisiti, progetto,sviluppo, collaudo, integrazione e manutenzione. Ciascuna di queste fasi produce un ben preciso outputche viene utilizzato come input per la fase successiva (da cui la metafora della cascata). (Fig. 2-2). Lungo il capitolo verrà delineato il procedimento che, dall’acquisizione dei requisiti e da una lorosuccessiva elaborazione, ha portato alla definizione di uno schema concettuale del progetto, di enormeimportanza per lo sviluppo complessivo. 3
  9. 9. Figura 2-2: Il modello di sviluppo a cascata2.2 I requisitiScopo generale dell’analisi è stabilire che cosa il sistema in questione deve fare (mentre le decisioni sulcome sono rimandate alla successiva fase di progettazione). I requisiti sono le caratteristiche che utentee committente desiderano che siano presenti in un prodotto software da realizzare. L’obiettivo di unprogetto di sviluppo software, quando si realizza un nuovo sistema o si apportano modifiche a unsistema già esistente, è sempre realizzare un prodotto che soddisfi i requisiti. Il caso in questione è particolare, in quanto si parte da un progetto preesistente che deve esseremigrato verso una nuova piattaforma ed integrato con alcune nuove funzionalità. Visto che laprecedente fase di analisi era stata svolta più di un anno prima, si è pensato fosse necessario procederead una nuova analisi, per verificare che i precedenti requisiti fossero ancora validi e soprattutto perdeterminare le caratteristiche per le nuove componenti.2.2.1 Analisi dei requisitiIl fine ultimo di questo progetto è la realizzazione di un applicativo per la gestione e centralizzazionedelle prenotazioni e delle note spese dei dipendenti. A tale scopo è necessario raccogliere i datinecessari all’interno di un database che soddisfi taluni requisiti. La precisione adoperata durante la fasedi acquisizione dei requisiti è fondamentale. Infatti, le specifiche ottenute come risultato, permettono di 4
  10. 10. determinare la tecnologia e l’architettura del sistema, stimando tempi e costi della realizzazionecomplessiva. Questa attività si esplica, in primo luogo, nella stretta collaborazione fra l’analista edalcune figure aziendali e, in secondo luogo, nell’analisi di documentazione esistente. Il reperimento dei requisiti è un’attività difficile e non standardizzabile. Utenti diversi possonofornire informazioni diverse: utenti a livello più alto hanno spesso una visione più ampia ma menodettagliata. Per questi motivi la prima intervista è avvenuta con il project manager dell’azienda, che hadisegnato un quadro generale della realtà, descrivendo a linee generali gli obiettivi del progetto. Leinterviste successive sono avvenute invece con le impiegate del settore amministrativo dell’azienda, chehanno illustrato tutte le funzionalità che il prodotto finale dovrebbe avere, essenzialmente basandosi sulmetodo di lavoro che attualmente utilizzano. Queste interviste si sono svolte in più fasi, delineando divolta in volta il progetto sempre con migliore accuratezza. L’attività di analisi ha quindi avuto inizio dauno studio attento delle parole delle impiegate. Si riporta di seguito uno stralcio dell’intervista relativaalla parte sulle prenotazioni.Intervista alle impiegate dell’amministrazioneCi sono cinque categorie di prodotti per le quali una risorsa può richiedere una prenotazione:  Albergo  Aereo  Navetta  Treno  AutomobileAlbergoPrenotazioneLa risorsa che ha bisogno di pernottare in un albergo deve specificare in una mail i seguenti campi:  Cliente  Commessa  Città  Periodo di pernottamentoUna volta che il dipendente del settore amministrativo riceve la mail, per prima cosa verifica se nellacittà l’azienda ha già delle foresterie a cui appoggiarsi. Se non è così, controlla se nella città didestinazione qualcuno in precedenza aveva già pernottato per cercare di prenotare nello stesso albergo.Se è una città “nuova”, l’operatore amministrativo effettuerà una ricerca di un albergo che risponda ai 5
  11. 11. requisiti aziendali. Una volta trovato prenderà contatto con l’albergo per verificare la disponibilità diposti liberi. Se c’è la disponibilità verrà inviato un fax di conferma all’albergo con l’autorizzazione alpagamento (Se l’albergo è già stato utilizzato in precedenza, avranno già il numero della carta dicredito). Quando l’albergo avrà accettato la prenotazione, inviando il documento di accettazione, siprovvederà a comunicare alla risorsa in questione l’avvenuta prenotazione tramite mail, inserendoviall’interno il link al sito dell’albergo e le date di check in e check out. L’operatore a questo puntoprovvederà a registrare la prenotazione. Una volta completato il pernottamento, se non sarà statol’albergo stesso ad inviare la fattura all’azienda, sarà la risorsa che dovrà provvedere a portare inazienda la fattura emessa dall’albergo.CancellazioneLa risorsa comunica via mail o telefonicamente che è necessario annullare la prenotazione per l’albergo.L’operatore amministrativo contatterà l’albergo e annullerà la prenotazione. Nel 90% dei casi non ènecessario pagare nessuna penale. Al completamento della cancellazione della prenotazione sarànecessario inviare una mail alla risorsa interessata e in copia anche all’ufficio personale.SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazione perl’albergo. L’operatore amministrativo contatterà l’albergo per verificarne la disponibilità e in casopositivo modificherà la prenotazione. Solitamente per questi spostamenti non è prevista alcun tipo dipenale. Nel caso in cui non ci sia la disponibilità, bisognerà procedere alla cancellazione dellaprenotazione e alla ricerca di un albergo alternativo. Al termine delle operazioni verrà inviata una mailalla risorsa interessata dell’avvenuto spostamento della prenotazione.AereoPrenotazioneLa risorsa che ha bisogno di prenotare un volo aereo deve specificare in una mail i seguenti campi:  Cliente  Commessa  Città di partenza  Città di destinazione  Data di andata e/o ritorno  Ora desiderata di Partenza/Arrivo 6
  12. 12. Una volta che il dipendente del settore amministrativo riceve la mail, controlla sui siti delle compagnieaeree o tramite agenzia i possibili voli. Una volta trovati dei voli che rispettano i requisiti, vengonocomunicati alla risorsa interessata i possibili orari. Quando la risorsa sceglie i voli di suo interesse, licomunica in amministrazione che provvederà alla prenotazione. I biglietti dei voli arriveranno via maildirettamente alla risorsa e in copia anche all’ufficio personale. In questo modo non sarà necessario chela risorsa, di ritorno dal suo viaggio, porti i biglietti stampati come ricevuta.CancellazioneLa risorsa comunica via mail o telefonicamente che è necessario annullare la prenotazione del volo.L’operatore amministrativo contatterà il sito della compagnia o l’agenzia viaggi e annullerà laprenotazione. In questo caso ci sarà sicuramente da pagare una penale. Al completamento dellacancellazione della prenotazione sarà necessario inviare una mail alla risorsa interessata e in copiaanche all’ufficio personale.SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazione del volo.L’operatore amministrativo contatterà il sito della compagnia o l’agenzia viaggi per verificarne ladisponibilità e in caso positivo modificherà la prenotazione, dovendo quasi sicuramente pagare unapenale. Nel caso in cui non ci sia la disponibilità, bisognerà procedere alla cancellazione dellaprenotazione (con penale) e alla ricerca di un volo alternativo. Al termine delle operazioni verrà inviatauna mail alla risorsa interessata dell’avvenuto spostamento della prenotazione.NavettaPrenotazioneAlla prenotazione di un volo aereo può essere associata anche la prenotazione della navetta per glispostamenti da e per l’aeroporto. Sarà la stessa risorsa che avrà la possibilità di chiedere questo servizio.Nel caso in cui se lo dimenticasse l’operatore amministrativo proporrà comunque l’acquisto. Il servizio dinavetta viene proposto per gli aeroporti di Ronchi dei Legionari, di Lubiana, di Venezia e di Treviso.All’avvenuta richiesta, l’operatore contatterà il fornitore del servizio e tramite il sito potrà inserireautomaticamente le informazioni necessarie tramite il voucher della prenotazione del volo. Il fornitoredel servizio invierà una mail per la presa in carico. Due giorni prima della partenza, invece, il fornitoreinvierà una mail direttamente alla risorsa che necessita del trasporto con all’interno specificato l’orariodi pick up. Il pagamento viene effettuato a fine mese tramite fattura.CancellazioneLa risorsa comunica via mail o telefonicamente che è necessario annullare la prenotazione della navetta.L’operatore amministrativo contatterà il fornitore del servizio e annullerà la prenotazione. In questo 7
  13. 13. caso ci sarà sicuramente da pagare una penale. Al completamento della cancellazione dellaprenotazione sarà necessario inviare una mail alla risorsa interessata e in copia anche all’ufficiopersonale.SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazione dellanavetta. L’operatore amministrativo contatterà il fornitore del servizio per verificarne la disponibilità ein caso positivo modificherà la prenotazione, dovendo quasi sicuramente pagare una penale. Nel caso incui non ci sia la disponibilità, bisognerà procedere alla cancellazione della prenotazione (con penale) ealla ricerca di una navetta alternativa. Al termine delle operazioni verrà inviata una mail alla risorsainteressata dell’avvenuto spostamento della prenotazione.TrenoPrenotazioneLa risorsa che ha bisogno di prenotare un treno deve specificare in una mail i seguenti campi:  Cliente  Commessa  Città di destinazione  Data di andata e/o ritorno  Ora desiderata di partenza/arrivoUna volta che il dipendente del settore amministrativo riceve la mail, contatta il sito di Trenitalia o il callcenter per ricercare i treni possibili. Una volta trovati dei treni che rispettano i requisiti, vengonocomunicati alla risorsa interessata i possibili orari. Quando la risorsa sceglie i treni di suo interesse, licomunica in amministrazione che provvederà alla prenotazione del posto. L’operatore amministrativomanderà quindi una mail alla risorsa con all’interno il codice della prenotazione (ticketless). Di ritornodal suo viaggio, la risorsa dovrà portare i biglietti stampati come ricevuta.CancellazioneLa risorsa comunica via mail o telefonicamente che è necessario annullare la prenotazione del treno.L’operatore amministrativo contatterà Trenitalia e annullerà la prenotazione. In questo caso ci saràsicuramente da pagare una penale. Al completamento della cancellazione della prenotazione sarànecessario inviare una mail alla risorsa interessata e in copia anche all’ufficio personale. 8
  14. 14. SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazione del treno.L’operatore amministrativo contatterà Trenitalia per verificarne la disponibilità e in caso positivomodificherà la prenotazione, dovendo quasi sicuramente pagare una penale. Al termine delle operazioniverrà inviata una mail alla risorsa interessata dell’avvenuto spostamento della prenotazione.AutomobilePrenotazioneLa risorsa che ha bisogno di prenotare un’automobile deve specificare in una mail i seguenti campi:  Cliente  Commessa  Città di destinazione  Data di andata e/o ritorno Una volta che il dipendente del settore amministrativo riceve la mail, per prima cosa verifica ladisponibilità dell’auto aziendale. Se questa è disponibile, viene prenotata e viene inviata una mail diconferma alla risorsa che l’ha richiesta. Se invece l’auto aziendale non è disponibile, è necessariocontattare AVIS, che è il fornitore d’auto convenzionato con l’azienda. Una volta prenotata l’automobile,l’operatore amministrativo compilerà il voucher necessario e ne darà una copia alla risorsa a cui servel’auto. Ovviamente verrà inviata anche una mail di conferma con i dati della prenotazione.CancellazioneLa risorsa comunica via mail o telefonicamente che è necessario annullare la prenotazionedell’automobile. L’operatore amministrativo contatterà AVIS e annullerà la prenotazione. In questo casonon ci sarà da pagare alcuna penale. Al completamento della cancellazione della prenotazione sarànecessario inviare una mail alla risorsa interessata e in copia anche all’ufficio personale.SpostamentoLa risorsa comunica via mail o telefonicamente che è necessario modificare la prenotazionedell’automobile. L’operatore amministrativo contatterà AVIS per verificarne la disponibilità e in casopositivo modificherà la prenotazione. In questo caso è necessario modificare il voucher, purmantenendo sempre lo stesso. Al termine delle operazioni verrà inviata una mail alla risorsa interessatadell’avvenuto spostamento della prenotazione.Riorganizzando le frasi per concetti simili, integrandole con la documentazione esistente, è statoottenuto il documento dei requisiti. 9
  15. 15. 2.2.2 Documento dei requisitiGestione Nota SpeseLa gestione delle note spese si articola in tre fasi principali:  Compilazione della nota spese  Approvazione della nota spese  Selezione delle spese per la fatturazione  ReportisticaCompilazione della nota speseLa gestione delle note spese dovrà consentire l’inserimento delle informazioni da parte di tutti idipendenti/collaboratori, attraverso un’apposita sezione all’interno della intranet aziendale. L’utenteavrà diritti di “contribute” per consentire l’inserimento, la modifica e l’eventuale cancellazione delleinformazioni. Al termine della compilazione l’utente dovrà chiudere la nota spese e richiedernel’approvazione. Nel caso in cui la nota spese non contenga nessuna spesa, l’utente dovrà comunquechiuderla per non bloccare il flusso che coinvolge l’amministrazione. Sarà possibile compilare note speseper mesi successivi a quello corrente, senza però poterne chiedere l’approvazione. Esisterà un utente“Super User” che potrà inserire note spese per i consulenti esterni o in caso di necessità anche per unqualsiasi dipendente.Le informazioni da gestire saranno le seguenti:  Mese / Anno: indicano rispettivamente il mese e l’anno a cui la nota spese fa riferimento, fondamentale per la fatturazione.  Risorsa: indica il dipendente che ha compilato la nota spese. Generalmente sarà lo stesso che si è loggato nel sistema. Caso particolare per il Super User che avrà la possibilità di selezionare l’utente per il quale sta inserendo la nota spese.  Cliente: indica il cliente per il quale si è sostenuta la spesa.  Commessa: indica la particolare commessa collegata al cliente per il quale si è sostenuta la spesa.  Data: rappresenta la data in cui si è sostenuta la spesa  Descrizione: piccola relazione esplicativa della spesa.  Tipo di costo: o Vitto: spesa relativa a pasti. o Alloggio: spesa relativa a un pernottamento. o Trasporti: spesa riguardante il trasferimento. 10
  16. 16. o Km: spesa sostenuta muovendosi con l’auto di proprietà. o Altro: tutto quello che non rientra nelle categorie precedenti.  Km: rappresenta il numero di Km sostenuti dalla risorsa. Da compilare solo in caso di tipo spesa chilometrico.  Città di destinazione: rappresenta il luogo di destinazione di una trasferta. Da compilare solo in caso di tipo spesa chilometrico.  Fattura: indica se per la spesa sostenuta la risorsa è in possesso di una fattura.  Rappresentanza: indica se la spesa sostenuta è avvenuta per rappresentanza.  Totale spese documentate: somma di tutte le spese sostenute ad eccezione delle spese di tipo chilometrico.  Totale spese chilometriche: somma di tutte le spese di tipo chilometrico.  Totale anticipato: somma che è stata anticipata al dipendente prima della trasferta. Questo valore sarà inserito in un secondo momento dall’amministrazione.  Totale a pagare: somma del totale spese documentate e del totale spese chilometriche, al quale va sottratto l’eventuale totale anticipato.  Allegati: informazione indicante il numero progressivo dello scontrino associato alla spesa. Tale numero viene indicato a mano sul retro dello scontrino direttamente dal dipendente e poi riportato a livello di spesa al fine di relazionare il cartaceo con l’informazione digitalizzata.Per ogni cliente esisterà una “commessa generica” che darà modo di inserire spese relative ad attivitàextra (es. presale, ecc.). Durante l’inserimento della nota spese l’utente dovrà avere la possibilità divisualizzare il coefficiente di rimborso chilometrico applicato per il calcolo. Se il tipo spesa saràchilometrico, la risorsa dovrà valorizzare due campi aggiuntivi rispetto agli altri casi e cioè il numero diKm effettuati e la città in cui ci si è recati. Al fine di una corretta visualizzazione delle spese è necessariotenere sempre separate le spese di tipo chilometrico dalle altre tipologie di spesa, perché soggette a undiverso trattamento fiscale. Il rimborso chilometrico non è soggetto a tassazione in capo al dipendente,in quanto non è classificabile come remunerazione, ma come indennizzo per costi sostenuti daldipendente per conto dell’impresa. Premettendo che per trasferta si intende lo spostamento deldipendente dalla propria abituale sede di lavoro, verso un altro luogo, al fine di svolgere l’attivitàlavorativa, è necessario separare l’ipotesi in cui il dipendenti effettui la trasferta di lavoro al di fuori delComune ove è ubicata la sede di lavoro, da quella svolta all’interno dello stesso Comune:  Nel primo caso è previsto il regime di non imponibilità;  Nel secondo caso invece l’indennità percepita dal dipendente è soggetta a tassazione. 11
  17. 17. Le spese documentate invece sono sempre esenti dalla tassazione. Una cosa molto importante è dare lapossibilità all’utente di stampare su carta la nota spese, per poi firmarla: questo è fondamentale al finedel rispetto delle normative vigenti, per associare gli scontrini e le fatture al dipendente che hasostenuto quelle spese.Approvazione della nota speseLe informazioni inserite dai dipendenti saranno sottoposte a flusso di approvazione da parte di unasezione del reparto di amministrazione, che sarà indicata come Approvatori (VAPP). In caso di assenzadell’utente che approva, ci sarà la possibilità di definire un utente di “backup” in grado di svolgere glistessi compiti. Gli approvatori potranno filtrare per: mese/anno e risorsa. In questo modovisualizzeranno un elenco di note spese delle quali potranno vedere i dettagli e procedere conl’eventuale approvazione o rifiuto (inserendo eventualmente un commento). In caso di rifiuto saràinviata in automatico una mail all’utente che ha compilato la nota spese. Quando questa invece verràsottoposta nuovamente ad approvazione, ne verrà inviata una all’amministrazione. In ogni nota spesel’approvatore, prima di approvare, potrà inserire un importo detto “Totale Anticipato” che andrà asottrarsi al Totale A Pagare. In generale ci sarà la possibilità di stampare su carta.Selezione delle spese per la fatturazioneA questa sezione può accedere solo una parte dell’amministrazione che verrà definita Visualizzatori(VAPP). I visualizzatori delle note spese approvate potranno selezionare le spese ammissibili dal cliente(quelle concordate sull’offerta del progetto) e salvare tale selezione; l’operazione produrrà quindi ilcalcolo del totale ammissibile verso il cliente. Sarà possibile scegliere in fase di ricerca se visualizzaresolo le spese approvate oppure aggiungere anche quelle in attesa di approvazione (ad esempio mostratein grigio), senza però poterle selezionare. Le note spese compilate da una particolare categoria di utente(es. i Commerciali) saranno sottoposte ad approvazione, ma non saranno poi visibili ai visualizzatori. Gliimporti delle spese relative a viaggi in auto non saranno riportati; per ognuna di esse sarà invece data lapossibilità di inserire un numero di Km ed un coefficiente di rimborso chilometrico, il cui prodotto daràl’importo fatturabile al cliente. I visualizzatori delle approvazioni potranno filtrare per: mese/anno (odefinire un intervallo di tempo), cliente e commessa. Verranno visualizzate le commesse di tutte lerisorse. La visualizzazione di tali informazioni avverrà solo se le stesse risulteranno approvate. Per lenote spese in attesa di valutazione o di cui non è stata ancora richiesta l’approvazione, sarà generato unavviso contenente l’elenco delle risorse coinvolte. In generale ci sarà la possibilità di stampare su carta. 12
  18. 18. ReportisticaQuesta sezione è stata richiesta sia dal reparto dell’amministrazione, sia dal livello dirigenzialedell’azienda. In pratica si richiede una schermata in cui sia possibile visualizzare dei report riassuntivi conall’interno l’ammontare di tutte le note spese rimborsate ai dipendenti. Questi report dovranno esserefiltrati in base a dei parametri che potranno essere specificati dagli utenti stessi. Questi parametri sono:  Data inizio: specifica l’inizio dell’arco temporale di cui si vogliono analizzare le spese sostenute dai dipendenti;  Data fine: specifica la fine dell’arco temporale di cui si vogliono analizzare le spese sostenute dai dipendenti;  Risorsa: può essere specificata per visualizzare tutte le spese rimborsate ad un singolo dipendente  Centro di costo: le spese possono essere filtrate in base al centro di costo, cioè in base alle quattro categorie di dipendenti che sono presenti all’interno dell’azienda e cioè Produzione, Commerciale, Direttivo e Struttura;  Sede: le spese possono essere filtrate in base alla sede di riferimento del dipendente che le ha sostenute, in questo caso quindi o Milano o Trieste;  Cliente: specifica la visualizzazione di tutte le spese sostenute dai dipendenti per un particolare cliente;  Commessa: specifica la visualizzazione di tutte le spese sostenute dai dipendenti per una particolare commessa;Anche in questo, al fine di una corretta visualizzazione delle spese, è necessario tenere sempre separatele spese di tipo chilometrico dalle altre tipologie di spesa, perché soggette a un diverso regime fiscale.Gestione prenotazioniLa gestione delle prenotazioni dovrà essere disponibile esclusivamente per il personale del repartoamministrativo con diritti “contribute”. I dipendenti potranno richiedere una prenotazione tramite mailo telefono e successivamente accedere in sola lettura ai dati della prenotazione inseritadall’amministrazione. L’inserimento di una nuova prenotazione sarà subordinato alla selezione di uncliente e di una commessa con relativo “codice commessa” ad essa associato. Senza il codice commessanon sarà possibile inserire l’informazione. La necessità di una prenotazione potrà scaturire daun’indicazione da parte del dipendente verso l’amministrazione, la quale procederà all’inserimento dellaprenotazione attraverso apposita sezione del portale. Al termine della prenotazione il dipendentericeverà notifica di operazione avvenuta tramite mail automatica. In ogni momento avrà comunque la 13
  19. 19. possibilità di collegarsi al portale per visionare i dettagli della prenotazione. Al termine di ogni mesel’amministrazione dovrà “Chiudere” le prenotazioni per quel mese, in modo da rendere le relative spesedisponibili per il processo di selezione di ciò che può essere fatturato ad un cliente (vedi Gestione NotaSpese). Sarà quindi necessario mettere a disposizione dei dipendenti amministrativi una pagina con lespese sostenute nelle note spese e le spese delle prenotazioni. In questo modo sarà possibile creare ununico documento contenente tutte le spese da fatturare ai clienti. Sarà inoltre prevista una pagina in cuil’utente dell’amministrazione potrà inserire tutti i fornitori dei servizi, siano essi alberghi, compagnieaeree, aziende di noleggio auto, ecc. In questo modo sarà possibile tenere traccia dei fornitori giàutilizzati e risparmiare tempo in ricerca. In generale ci dovrà essere la possibilità di stampare su carta laprenotazione.Dati necessariLe informazioni che il sistema deve gestire sono le seguenti:  Anno e Mese: indicano rispettivamente il mese e l’anno in cui verrà eseguita la fattura al cliente  Risorsa: indica il dipendente per il quale si sta inserendo la prenotazione  Cliente: indica il cliente per il quale si sta effettuando la prenotazione  Commessa: indica la commessa associata al cliente.  Tipo prenotazione o Albergo o Volo o Navetta o Treno o Auto  Data inizio fruizione del bene  Data fine fruizione del bene  Data richiesta prenotazione: data in cui è pervenuta all’amministrazione la richiesta della prenotazione  Città di partenza: indica la città di partenza, naturalmente questo campo è da inserire per tutti i casi tranne quello in cui si stia prenotando un albergo  Città di destinazione: rappresenta la città di arrivo, da compilare per tutti i tipi di prenotazione  Prezzo: somma sostenuta per la prenotazione del servizio  Descrizione  Note 14
  20. 20.  Esiste Penale: indica se la modifica o la cancellazione della prenotazione comporta o meno il pagamento di una penale  Valore Penale: indica l’ammontare della penale, nel caso in cui questa sia prevista  Allegati o Richiesta collega o (Fattura)ricevuta o Conferma dal fornitore o Mail al collega e ufficio personale o Fax di richiesta prenotazione  Dati fornitore o Ragione sociale o Indirizzo o Telefono o Email o Sito internet  Data cancellazione prenotazione  Origine richiesta prenotazione o Email o A voce o Telefono  Disponibilità auto aziendale: indica se l’auto aziendale è disponibile o meno al momento della prenotazione  Identificativo auto: indica il numero di targa dell’auto che è stata prenotata.2.2.3 Glossario dei terminiPer ridurre i rischi d’errore, derivanti da incomprensioni potenzialmente pericolose in fase di sviluppo, siè stilato un glossario dei termini incontrati durante l’acquisizione dei requisiti. Tale glossario associa adogni termine il suo significato.Termine Descrizione CollegamentiNota Spese Documento contenente le spese sostenute da un Spese dipendente in un determinato periodo (solitamente un mese) 15
  21. 21. Spesa Somma anticipata da un cliente per la quale si richiede un Nota spese, Cliente, rimborso Commessa, RisorsaCliente Figura alla quale si è offerto il proprio servizio Commessa, RisorsaCommessa Progetto associato al cliente per il quale vengono sostenute Cliente, Risorsa le speseRisorsa Dipendente dell’azienda Cliente, CommessaPrenotazione Accordo anticipato per la fruizione di un servizio Cliente, Commessa, RisorsaCentro di Costo Indica una suddivisione all’interno dell’azienda, in Risorsa particolare si individuano: Commerciale, Produzione, Direttivo e Struttura 16
  22. 22. 3 Disegno della Base di Dati3.1 IntroduzioneLo sviluppo della base di dati per questo applicativo non ha potuto seguire un percorso tradizionale, inquanto si era già in presenza di un’applicazione esistente con una propria base di dati. Si è procedutoquindi analizzando il nuovo documento dei requisiti e creando solamente una tabella delle entità percercare di capire se le tabelle esistenti erano adeguate alle nuove esigenze.L’applicativo presenta un’ulteriore problematica: esso infatti si deve appoggiare a una base di datiesterna per recuperare le informazioni riguardanti le risorse, i clienti e le commesse. Infatti, in azienda èpresente un applicativo per il tracciamento delle ore lavorative al cui interno è necessario andare arecuperare i dati fondamentali al corretto funzionamento dell’applicativo per la gestione delle notespese. Partendo da questi presupposti si sono analizzate le varie entità.3.2 EntitàLe entità sono gli oggetti principali del data base. Unentità rappresenta un gruppo omogeneodinformazioni. Per questo applicativo sono state individuate le seguenti entità:  Costsheet: rappresenta la nota spese. Essa è caratterizzata da un mese e da un anno, necessari ai fini del rimborso in busta paga, da una risorsa che ha compilato la nota spese e da un totale anticipato, che rappresenta la somma che è stata anticipata al dipendente per sostenere le spese.  CostsheetTrack: rappresenta ciascuna riga di una nota spese. Essa è caratterizzata dal cliente, dalla commessa, dalla data della spesa, dalla sua tipologia, dal numero di chilometri percorsi, dalla tipologia di attestazione ricevuta (se scontrino o fattura) e dall’ammontare della spesa.  Booking: rappresenta il foglio delle prenotazioni, al suo interno ritroviamo l’elenco di tutte le prenotazione effettuate per un determinato mese e anno, con l’indicazione della risorsa che l’ha creata e la data di creazione.  BookingTrack: rappresenta ciascuna riga del foglio delle prenotazioni, in pratica è la prenotazione vera e propria. Al suo interno è necessario specificare la risorsa per cui si sta effettuando la prenotazione, il cliente e la commessa associati, la tipologia di prenotazione e l’ammontare della prenotazione.  ExpenseType: rappresenta il tipo di spesa, associata alla nota spese. In pratica serve a identificare la tipologia di spesa sostenuta dal dipendente, che può essere di vari tipi: trasporti, vitto, alloggio, altro, km. 17
  23. 23.  BookingType: rappresenta il tipo di prenotazione che può essere aereo, albergo, automobile, navetta o treno.  Status: indica lo status di una nota spese, che può trovarsi nei seguenti stati, in base al livello di avanzamento: o Accettata: la nota spese è stata accettata dall’approvatore e quindi le spese al suo interno sono disponibili per la successiva fase di fatturazione; o Compilata: la nota spese è stata compilata dalla risorsa e ne è stata richiesta l’approvazione; o Rifiutata: la nota spese è stata rifiutata dall’approvatore; o Da compilare: la nota spese è in fase di compilazione e quindi non ne è stata ancora chiesta l’approvazione.  Supplier: rappresenta il fornitore del servizio per la parte relativa alla gestione delle prenotazioni. Quest’entità è caratterizzata da una ragione sociale, da un indirizzo, un numero di telefono e dalla tipologia.3.3 TabelleOgni entità e rappresentabile all’interno del database tramite una tabella. Ecco quindi le tabellerisultanti per la base di dati progettata.CostsheetID È il codice univoco che individua ciascuna nota spesaMonth È il mese al quale si riferisce la nota speseYear È l’anno al quale si riferisce la nota speseIdUser Rappresenta il codice univoco associato alla risorsa che ha compilato la nota speseIdStatus Rappresenta il codice univoco associato allo stato della nota speseNote Note che accompagnano la nota speseTotalAdvance Totale anticipatoNoCosts Indica se è si tratta di una nota spese senza speseNoBilling Indica se si tratta di una nota spese che non deve essere fatturataCreateBy Indica il nome della risorsa che ha compilato effettivamente la nota speseCreateDate Data in cui è stata creata la nota spese 18
  24. 24. ApprovalDate Data in cui è stata approvata la nota spese Tabella 3-1: CostsheetCostsheetTrackID È il codice univoco che individua ciascuna spesaIdCostsheet Rappresenta il codice univoco che associa la spesa alla nota speseDate Data in cui è stata sostenuta la spesaIdExpenseType Rappresenta il codice unico che identifica il tipo di spesa sostenutaAmount Esprime il prezzo della spesaKm Indica i Km che sono stati sostenuti per tale spesaDestinationCity Rappresenta la città di destinazione per il viaggio sostenutoNote Piccola descrizione per spiegare meglio la spesa sostenutaIdCustomer Rappresenta il codice univoco associato al cliente per il quale è stata sostenuta la spesaIsCommessa Rappresenta il codice univoco associato alla commessa al quale la risorsa ha lavoratoKmForBilling Indica quanti sono i Km che è possibile fatturare al clienteKmRefoundRateForBilling Indica il coefficiente del rimborso chilometrico per la fatturazioneAmountTripForBilling Rappresenta il totale fatturabile al clienteTicketNumber Indica il numero sequenziale associato allo scontrinoBilling Indica se la spesa è stata selezionata per la fatturazioneIsEntertainmentExpense Indica se è una spesa di rappresentanzaIsBill Indica se per la spesa sostenuta si è ricevuta fattura o scontrino Tabella 3-2: CostsheeTrackBookingID È il codice univoco che individua ciascun foglio delle prenotazioniMonth Identifica il mese nel quale è fatturata la prenotazioneYear Rappresenta l’anno nel quale è fatturata la prenotazioneClosed Indica se il foglio delle prenotazioni è stato chiuso e reso disponibile per la fatturazione 19
  25. 25. CreateBy Indica la risorsa ce ha creato il foglio delle prenotazioniCreateDate Indica la data di creazione del foglio delle prenotazioni Tabella 3-3: BookingBookingTrackID È il codice univoco che individua ciascuna prenotazioneIdUser Identifica la risorsa per la quale si è effettuata la prenotazioneIdBooking Indica a quale foglio prenotazioni è associata la prenotazione correnteIdCustomer Rappresenta il codice univoco associato al cliente al quale si addebiterà la prenotazioneIdCommessa Rappresenta il codice univoco associato alla commessaIdBookingType Rappresenta il codice univoco associato al tipo di prenotazioneStartBookingDate Data di inizio fruizione del beneEndBookingDate Data di fine fruizione del beneRequestDate Data in cui è stata ricevuta la richiesta per la prenotazioneDepartureCity Città di partenzaArrivalCity Città di arrivoAmount Prezzo della prenotazioneDescription Descrizione sintetica della prenotazioneNote Note sulla prenotazioneExistPenal Indica se esiste o meno una penalePenal Valore della penaleIdAttachment Codice identificativo associato all’allegatoIdSupplier Codice identificativo associato al fornitore del servizioCancelDate Data di cancellazione della prenotazioneIdRequestSource Codice identificativo associato al tipo di richiestaCompanyCarAvailable Indica se l’auto aziendale è dispobileLicensePlate Rappresenta il numero di targa dell’auto prenotata Tabella 3-4: BookingTrack 20
  26. 26. ExpenseTypeID È il codice univoco che individua ciascun tipo di spesaDescription Descrive la tipologia di spesaMaxAmount Indica la soglia massima spendibile per quel tipo di spesa Tabella 3-5: ExpenseTypeBookingTypeID È il codice univoco che individua ciascun tipo di prenotazioneDescription Descrive la tipologia di prenotazione Tabella 3-6: BookingTypeStatusID È il codice univoco che individua ciascuno statusCode Codice dello statusDescription Descrive la tipologia di prenotazione Tabella 3-7: StatusSupplierID È il codice univoco che individua ciascun fornitoreRagioneSociale Rappresenta la ragione sociale del fornitoreAddress Indica l’indirizzo del fornitoreCity Indica la città del fornitoreTelephone Rappresenta il numero di telefono del fornitoreEmail Rappresenta la mail del fornitore Tabella 3-8:SupplierRequestSourceID È il codice univoco che individua l’origine della prenotazioneName Rappresenta l’origine della prenotazioneDescription Descrive brevemente l’origine della prenotazione Tabella 3-9: RequestSource 21
  27. 27. 3.4 OsservazioniRispetto al data base esistente è emerso che mancano alcuni campi importanti, soprattutto nella tabellaCostsheetTrack, quella relativa alle singole spese di una nota spese. Perciò sono stati aggiunte leseguenti colonne:  DestinationCity: indica la città di destinazione, da valorizzare solo nel caso in cui la tipologia di spese sia chilometrica;  IsBill: campo relativo alla tipologia di attestazione ricevuta, cioè se scontrino o fattura;  IsEntertainmentExpense: campo indicante se la spesa sostenuta è una spesa di rappresentanza.La tabella che però più di tutte ha avuto bisogno di una ristrutturazione importante è stata quellarelativa alle prenotazioni, cioè la tabella BookingTrack. A questa infatti è stato necessario aggiungereuna decina di nuovi campi, prima non presenti:  StartBookingDate: colonna che indica la data di inizio di fruizione del bene;  EndBookingDate: colonna indicante la data di fine di fruizione del bene;  RequestDate: indica la data in cui è stata ricevuta la richiesta;  DepartureCity: indica la città di partenza;  ArrivalCity: indica la città di destinazione;  ExistPenal: indica se la cancellazione o modifica della prenotazione comporta il pagamento di una penale;  Penal: definisce l’ammontare della penale;  CompanyCarAvailable: indica se l’auto aziendale è disponibile oppure no.  IdSupplier: indica l’identificativo del fornitoreInfine è stato necessario creare la tabella relativa ai fornitori, che non era stata pensata per l’applicativoprecedente.3.5 Schema fisicoEcco infine come si presenta lo schema fisico dell’applicativo. Nella prima immagine viene riportato loschema fisico aggiornato del database relativo alla gestione delle note spese. Nella seconda immagine viè invece parte dello schema del database relativo al tracciamento delle ore lavorative, dal qualevengono recuperati i dati necessari per le risorse, i clienti e le commesse. 22
  28. 28. Costsheet CostsheetTrack ExpenseType BookingTrack RequestSource ID ID ID ID ID M onth IdC ostsheet Description IdU ser Name Year Date M axA mount IdBooking Description IdU ser IdE xpenseTy pe P repaid IdC ustomer IdS tatus A mount Booking IdC ommessa N ote Km IdBookingTy pe TotalA dv ance DestinationC ity S tartBookingDate Supplier N oC osts N ote E ndBookingDate ID N oBilling P repaid RequestDate RagioneS ociale C reateBy IdC ustomer DepartureC ity A ddress C reateDate IdC ommessa Booking A rriv alC ity C ity A pprov alDate KmF orBilling ID A mount Telephone KmRefoundRateF orBilling M onth Description Email A mountTripF orBilling Year N oteStatus TicketN umber C losed E xistP enal ID Billing C reateBy P enal C ode IsE ntertainmentE xpense C reateDate IdA ttachment Description IsBill IdS upplier BookingType C ancelDate ID IdRequestS ource Description C ompany C arA v ailable LicenseP late Figura 3-1: Gestione Nota Spese PROGETTI RISORSE CLIENTI ID ID ID IDCliente Alias Ragione Progetto Sede Note Descrizione Nome_Risorsa IDAM Disable IDTipoRisorsa CRMRef CodiceProgetto IDGruppo GUID ProgettoAM Telefono IDPM Cellulare IDCategoria Fax IDAzienda Mail GUID MailCLiente IDResponsabile AllowTracking Disable AllowInsertRecupero IDProfiloTIPICOMMESSA COMMESSE IDAzienda IDTipoCommessa ID GUID Descrizione IDProgetto MonteOre Commessa PrevedeDataChiusura Descrizione UnitaMisura CodiceCommessa OrdineFatturazione CommessaAM RISORSE_COMMESSE Fatturabile Disable ID GiornateVendute IDRisorsa IDTipoCommessa IDCommessa DataChiusura DataInizio GUID Figura 3-2: Tracciamento ore lavorative 23
  29. 29. 3.6 TriggerUna novità importante che è stata introdotta nella base di dati sono i trigger. In questa particolareapplicazione i trigger sono particolarmente utili in quanto permettono di gestire l’integrità referenzialefra tabelle appartenenti a database diversi. La gestione dell’integrità avviene però solamente in unadirezione, in quanto non è stato possibile modificare la tabella con la chiave primaria presente neldatabase del tracciamento delle ore lavorative, in quanto già in produzione. Infatti per renderel’integrità più completa sarebbe stato necessario un trigger che, alla cancellazione di un record con lachiave primaria, scrivesse il valore null in corrispondenza della chiave esterna. Perciò sono statisviluppati solo trigger che all’inserimento di nuovi valori nel database della gestione delle note speseeffettuano un controllo sull’esistenza o meno delle chiavi esterno inserite in tabella.Ecco una tabella con l’elenco dei trigger implementati per la base di dati:Trigger Tabella / Operazione DescrizioneIU_Booking Booking / AFTER INSERT, Viene attivato dopo l’inserimento o UPDATE l’aggiornamento di una riga. Questo trigger è stato creato per gestire l’integrità referenziale. Viene verificato che esista l’id del cliente. Viene verificato che esista l’id della commessa. Viene verificato che esista l’id della risorsaIU_CostsheetTrack CostsheetTrack / AFTER INSERT, Viene attivato dopo l’inserimento o UPDATE l’aggiornamento di una riga. Viene verificato che esista l’id del cliente. Viene verificato che esista l’id della commessa.IU_Costsheet Costsheet / AFTER INSERT, Viene attivato dopo l’inserimento o UPDATE l’aggiornamento di una riga. Questo trigger è stato creato per gestire l’integrità referenziale. Viene verificato che esista l’id della risorsa. Tabella 3-10: Triggers3.7 Stored ProceduresUna stored procedure è in genere un set ordinato di comandi T-SQL (linguaggio usato per interrogareMicrosoft SQL-SERVER) che costituiscono insieme una singola unità logica. Permettono la definizione diparametri in ingresso e in uscita, la definizione di variabili, come anche la selezione di dati e ladefinizione di cicli.Le stored procedures offrono molti vantaggi rispetto all’invio di singoli comandi al server: 24
  30. 30.  permettono di usare nomi brevi invece di lunghe stringhe per richiedere l’esecuzione di operazioni anche complesse;  sono pre-ottimizzate e precompilate risparmiando tempo ogni volta che la SP viene richiamata;  possono essere richiamate da alte SPs rendendo il codice riutilizzabile.Non sono transazionali di per sé ma può rendersi necessario l’uso di transazioni per garantire l’atomicitàdi un operazione complessa e la consistenza dei dati.Nome della Stored Procedure Parametri DescrizioneCostsheet_InsertForCurrentMonth Inserisce per tutti gli utenti il costsheet per il mese corrente, se mancanteCostsheet_GetByMonthYearIdUser @Month int Restituisce le note spese @Year int (costsheet) di una certa risorsa @IdUser uniqueidentifier in un certo mese e in un certo anno.Costsheet_IsApproved @ID uniqueidentifier Verifica se lo stato di una nota @IsApproved bit OUTPUT spese è approvatoCostsheetTrack_GetByIdCostsheet_Joined @IdCostsheet Estrae i dati del uniqueidentifier CostsheetTrack in base allid del Costsheet e se il costo è prepagato o meno. Le join vengono fatte sulle tabelle ExpenseType, Currency del db TeoNotaSpese e CLIENTI E PROGETTI del db TeoTracking al fine di estrarne le rispettive descrizioniCostsheetTrack_UpdateBulkAfterVAPP @costsheetTrackUpdateXML Aggiorna i campi del text costsheettrack tramite file xml.GetUsersWhoHaveToCompile_ForVAPP @Month_From int Restituisce lelenco delle note @Year_From int spesa (per mese ed anno) non @Month_To int ancora compilate @Year_To int appartenenti ad utenti @IDCustomer afferenti la commessa uniqueidentifier selezionata. @IDCommessa uniqueidentifierCostsheet_ResetStatus @IdUser uniqueidentifier Resetta lo stato di una nota @Year int spese imposta i campi @Month int [IdStatus] a TOCOMPILE ed [ApprovedBy] e [ApprovalDate] a NULL. Tabella 3-11: Stored Procedures 25
  31. 31. 4 Migrazione da SharePoint 2007 a SharePoint 2010Microsoft SharePoint Server 2010 è stato progettato per garantire la scalabilità e migliorare leprestazioni e, come tale, richiede i componenti hardware e software aggiuntivi descritti di seguito.Questi requisiti si applicano sia allapproccio con aggiornamento sul posto che a quello conaggiornamento basato sul collegamento di database. Per facilitare un aggiornamento prevedibile eridurre al minimo limpatto dei problemi di personalizzazione e ambientali che possono impedire lacorretta esecuzione dellaggiornamento, è possibile utilizzare il cmdlet Windows PowerShell test-spcontentdatabase, la nuova opzione Console di aggiornamento oppure loperazione Stsadmpreupgradecheck.4.1 Requisiti per laggiornamentoPrima di poter eseguire un aggiornamento sul posto o un aggiornamento basato sul collegamento didatabase a SharePoint Server 2010, lambiente di Office SharePoint Server 2007 esistente o il nuovoambiente di SharePoint Server 2010 deve soddisfare i requisiti minimi riportati di seguito.4.1.1 Requisito hardware: 64 bitSharePoint Server 2010 può essere eseguito solo in una versione a 64 bit del sistema operativo WindowsServer 2008 R2 o Windows Server 2008 con SP2. Se si prevede di eseguire un aggiornamento sul posto,linstallazione di Office SharePoint Server 2007 deve essere eseguita in un ambiente Windows Server2008 a 64 bit. Se linstallazione di Office SharePoint Server 2007 si trova in un ambiente a 32 bit, nonsarà possibile eseguire un aggiornamento sul posto nel server o nella server farm esistente. Sarànecessario installare SharePoint Server 2010 in un server o in una farm diversa che supporti leapplicazioni a 64 bit e quindi spostare i dati in tale server o farm utilizzando il metodo di aggiornamentobasato sul collegamento di database. Per individuare e risolvere più facilmente eventuali problemi deiprocessi di migrazione e aggiornamento, è consigliabile non combinare le azioni di migrazione a unambiente a 64 bit e di aggiornamento sul posto a SharePoint Server 2010. Poiché è richiesto unambiente a 64 bit per eseguire laggiornamento sul posto a SharePoint Server 2010, è necessarioeseguire la migrazione a un sistema operativo a 64 bit prima di eseguire un aggiornamento sul posto. Sesi utilizza un metodo di aggiornamento basato sul collegamento di database, sarà possibile eseguire lamigrazione a un ambiente a 64 bit nellambito del processo di aggiornamento. 26
  32. 32. Prima di eseguire la migrazione a un ambiente a 64 bit:  Aggiornare Office SharePoint Server 2007 allo stesso Service Pack o livello di aggiornamento software in tutti i computer della farm di origine.  Determinare se è necessario ricompilare le applicazioni a 32 bit esistenti e gli assembly personalizzati, ad esempio le web part e i ricevitori di eventi, per lesecuzione nellambiente a 64 bit. Alcune applicazioni possono essere eseguite in entrambi gli ambienti e non devono essere ricompilate. Se le applicazioni esistenti sono di terze parti, controllare con il fornitore di terze parti le versioni a 64 bit e la compatibilità.4.1.2 Requisito di sistema operativoSharePoint Server 2010 deve essere eseguito in una versione a 64 bit di Windows Server 2008 R2 oWindows Server 2008 con Service Pack 2 (SP2). È possibile combinare la migrazione allhardware a 64 bitcon la migrazione a Windows Server 2008 o Windows Server 2008 R2. Se si utilizza già hardware a 64 bit,è possibile eseguire laggiornamento da Windows Server 2003 a Windows Server 2008 o WindowsServer 2008 R2. Se si esegue la migrazione a hardware a 64 bit, eseguire inoltre la migrazione aWindows Server 2008 o Windows Server 2008 R2 contemporaneamente.4.1.3 Requisito del database management systemSharePoint Server 2010 richiede un server database a 64 bit di una delle versioni seguenti: MicrosoftSQL Server 2008 R2, SQL Server 2008 con Service Pack 1 (SP1) e aggiornamento cumulativo 2 o SQLServer 2005 con SP3 e aggiornamento cumulativo 3. Se nellinstallazione corrente di Office SharePointServer 2007 viene utilizzato SQL Server 2000, sarà necessario eseguire laggiornamento a una di questeversioni prima dellaggiornamento a SharePoint Server 2010.4.1.4 Strumento di verifica pre-aggiornamentoLo strumento di verifica pre-aggiornamento è uno strumento da riga di comando che viene eseguito inun ambiente di Office SharePoint Server 2007 per individuare potenziali problemi per laggiornamento eper esaminare i suggerimenti e le procedure consigliate.STSADM.exe -o preupgradecheckUtilizzando lo strumento di verifica pre-aggiornamento, è possibile ottenere diverse informazioni, tracui:  Un elenco di tutti i server e i componenti della farm e lindicazione se i server soddisfano i requisiti seguenti per laggiornamento: hardware a 64 bit e sistema operativo Windows Server 2008. 27
  33. 33.  Gli URL di mapping di accesso alternativo in uso nella farm.  Un elenco di tutte le definizioni di sito, i modelli di sito, le caratteristiche e i Language Pack installati nella farm.  La presenza di eventuali personalizzazioni nella farm non supportate, ad esempio modifiche dello schema di database.  Leventuale presenza di elementi orfani di database o sito nella farm.  Lesistenza di eventuali impostazioni di configurazione mancanti o non valide nella farm, ad esempio un file Web.config mancante, nomi host non validi o account di servizio non validi.  Lindicazione se i database soddisfano i requisiti per laggiornamento, ad esempio se i database sono impostati per la lettura/scrittura e se i database e le raccolte siti archiviati in Database interno di Windows non superano 4 GB di dimensioni.Lo strumento di verifica pre-aggiornamento è disponibile in Office SharePoint Server 2007 Service Pack 2ed è stato aggiornato nellaggiornamento cumulativo di ottobre 2009 per Microsoft WindowsSharePoint Services 3.0 e Microsoft Office SharePoint Server 2007.4.1.5 Comando di Windows PowerShell per la verifica dei databaseÈ possibile utilizzare il cmdlet di Windows PowerShell test-spcontentdatabase prima di collegare undatabase del contenuto a SharePoint Server 2010 per stabilire se nellambiente mancano eventualipersonalizzazioni sul lato server.4.1.6 Console di aggiornamentoUna nuova caratteristica disponibile con laggiornamento consente allamministratore di server o alproprietario di siti di determinare quando e se utilizzare il nuovo aspetto di SharePoint Server 2010 peruna raccolta siti specifica. Gli amministratori di server possono scegliere di adottare il nuovo aspetto pertutti i siti durante laggiornamento, fare in modo che siano i proprietari dei siti a scegliere dopolaggiornamento o mantenere laspetto precedente per tutti i siti. Se lamministratore del server delegala decisione ai proprietari di siti dopo laggiornamento di un sito tramite un aggiornamento sul posto,sarà disponibile unopzione di anteprima nellinterfaccia utente dei siti. Tale opzione consente divisualizzare unanteprima dellaspetto di SharePoint Server 2010 per il sito:  Se gradisce laspetto e il funzionamento del sito, il proprietario può accettare laggiornamento visivo.  Se invece desidera mantenere laspetto precedente, il proprietario può ripristinare laspetto di Office SharePoint Server 2007.Per impostazione predefinita, viene mantenuto laspetto di Office SharePoint Server 2007. 28
  34. 34. 4.2 Panoramica del processo di aggiornamentoQuando si esegue laggiornamento da Microsoft Office SharePoint Server 2007 a Microsoft SharePointServer 2010, è possibile scegliere due metodi diversi, ovvero laggiornamento sul posto e quello basatosul collegamento di database. Un aggiornamento sul posto consente di aggiornare tutti i siti di MicrosoftSharePoint sullo stesso hardware, mentre un aggiornamento basato sul collegamento di databaseconsente di spostare il contenuto in una nuova farm o in un nuovo hardware. È possibile inoltrecombinare questi due tipi di aggiornamento in metodi ibridi che riducono il tempo di inattività durantelaggiornamento stesso. Per il caso d’interesse si è proceduto effettuando un aggiornamento basato sulcollegamento del database, visto che le risorse hardware in cui era installato SharePoint 2007 non eranosufficienti ad eseguire la versione 2010.4.2.1 Aggiornamento basato sul collegamento di databaseUn aggiornamento basato sul collegamento di database consente di passare a un nuovo componentehardware o a una nuova farm. Durante un aggiornamento di questo tipo, si scollegano tutti i databasedel contenuto da una farm esistente per poi collegarli allinstallazione di una nuova server farm. Quandosi collegano i database alla nuova server farm, viene eseguito il processo di aggiornamento e i dativengono aggiornati sul posto. Nei passaggi seguenti viene descritto quanto avviene durante unaggiornamento basato sul collegamento di database: 1. Lamministratore di server installa e configura una nuova farm di SharePoint Server 2010 e quindi trasferisce tutte le personalizzazioni nella nuova farm e verifica lambiente. 2. Lamministratore di server scollega i database del contenuto dalla farm di Office SharePoint Server 2007 precedente e disconnette la farm, ad esempio modificando il servizio di bilanciamento del carico o le applicazioni Web IIS in modo da arrestare le richieste dei servizi oppure disattivando tutti i componenti e i servizi in ogni computer server della farm. 3. Lamministratore di server collega i database del contenuto alla nuova farm e aggiorna il contenuto. 4. L’amministratore di server verifica che laggiornamento sia stato eseguito correttamente e quindi configura la nuova farm in modo da iniziare a gestire le richieste del nuovo URL.4.2.2 Procedure consigliate per testare laggiornamentoPer conoscere lambiente prima di tentare di effettuare un aggiornamento e per eseguire unapianificazione accurata del tempo necessario per laggiornamento, è consigliabile eseguire uno o piùaggiornamenti di prova. Lobiettivo di tale testing è quello di individuare e risolvere anticipatamenteeventuali problemi, in modo da poter essere certi del processo e del relativo esito al momentodellesecuzione dellaggiornamento vero e proprio. Per eseguire un testing utile e accurato del processo 29
  35. 35. di aggiornamento da Microsoft Office SharePoint Server 2007 a Microsoft SharePoint Server 2010,eseguire le procedure consigliate seguenti: 1. Rendere lambiente di testing il più simile possibile allambiente reale. Se possibile, utilizzare lo stesso tipo di hardware e configurarlo con le stesse impostazioni, gli stessi URL e così via. È consigliabile eliminare il più possibile le differenze tra lambiente di testing e lambiente reale. Più saranno numerose le differenze, più sarà il tempo necessario per risalire a eventuali problemi non correlati per essere certi che non si verifichino durante laggiornamento effettivo. 2. Conoscere quanto più possibile la composizione dellambiente. Eseguire innanzitutto un esame completo. Prendere nota dellhardware e del software presenti nellambiente, delle personalizzazioni del lato server installate e utilizzate, della relativa posizione, nonché delle impostazioni necessarie. Ciò consentirà di effettuare una pianificazione più completa e di eseguire più facilmente un ripristino nel caso laggiornamento avesse esito negativo. 3. Utilizzare dati reali. Per eseguire i test, utilizzare copie dei database effettivi. Quando si esegue un test utilizzando dati reali, è possibile identificare le eventuali aree problematiche, nonché determinare le prestazioni dellaggiornamento. In questo modo si ha inoltre lopportunità di misurare la durata di diverse sequenze e azioni di aggiornamento eseguite su tipi di dati diversi. Se non è possibile testare tutti i dati, eseguire il test su un sottoinsieme di dati rappresentativo per essere certi di aver individuato tutti gli eventuali problemi con le dimensioni e i tipi diversi di siti, elenchi, raccolte e personalizzazioni presenti nellambiente. 4. Eseguire più test. Un singolo test può indicare se si verificheranno problemi di grossa portata, ma eseguendo più test si avrà la certezza di aver individuato tutti i problemi che potrebbero verificarsi e si potrà calcolare in modo più preciso la tempistica del processo. Lesecuzione di più test consente di stabilire quali metodi di aggiornamento saranno più efficaci per il proprio ambiente, di quali tecniche pianificare lutilizzo per ridurre al minimo il tempo di inattività e con quali modalità possono cambiare le prestazioni o il processo dopo avere risolto i problemi rilevati nel corso dei primi test. Il test finale ha la funzione di confermare che tutti gli errori siano stati eliminati e che si è pronti per aggiornare lambiente di produzione. 5. Non ignorare gli avvisi. Benché non si tratti di un errore, la situazione segnalata da un avviso può dare luogo a problemi in una fase successiva del processo di aggiornamento. Cercare di eliminare gli errori, ma esaminare attentamente anche gli avvisi, in modo da essere ben consapevoli di quali potrebbero esserne gli effetti. 6. Testare lambiente aggiornato, non solo il processo di aggiornamento. Verificare i servizi e le applicazioni di servizio. Eseguire una ricerca per indicizzazione ed esaminare i file di registro. Controllare che i siti Web personali funzionino. 30
  36. 36. 7. Verificare i siti in entrambe le modalità della Console di aggiornamento. Non presumere che, se è possibile visualizzare correttamente lanteprima del sito in una modalità, questo funzioni anche nellaltra modalità. Provare a utilizzare sia la versione precedente che quella nuova. 8. Considerare la possibilità di avere un ambiente di anteprima. È possibile creare un ambiente di anteprima in cui gli utenti possano controllare i propri siti dopo un aggiornamento di prova ed essere di aiuto nella verifica dellaggiornamento e nellindividuazione dei problemi. A tale scopo, è possibile avvalersi di un ambiente di sola lettura oppure consentire agli utenti di apportare le modifiche desiderate, avvertendoli che tali modifiche non verranno tuttavia salvate. Considerare la possibilità di limitare tale ambiente di anteprima a un gruppo di pochi siti rappresentativi e di consentire laccesso alle sole persone interessate, in modo da ridurre il tempo necessario per ospitare lambiente di anteprima e la quantità di commenti ricevuti.4.3 Allegare database ed eseguire laggiornamentoQuando si esegue laggiornamento da Microsoft Office SharePoint Server 2007 a Microsoft SharePointServer 2010 mediante il metodo di aggiornamento basato sul collegamento di database, vieneaggiornato solo il contenuto dellambiente e non le impostazioni di configurazione. Il metodo basato sulcollegamento di database è particolarmente utile se si cambia lhardware oppure se si desiderariconfigurare la topologia della server farm come parte del processo di aggiornamento.Il primo passaggio del processo consiste nellallestire un nuovo ambiente in cui ospitare il contenutoaggiornato. Dopo aver creato il nuovo ambiente, è possibile utilizzare le procedure illustrate in questoarticolo per scollegare e quindi ricollegare i database allo scopo di effettuare laggiornamento effettivo.4.3.1 Panoramica del processoQuando si effettua laggiornamento basato sul collegamento di database, si rimuovono i database nellafarm precedente e quindi si collegano alla nuova farm. Quando si collega un database alla nuova farm,viene eseguito il processo di aggiornamento e viene aggiornato lintero database. Il processo diaggiornamento basato sul collegamento di database è simile al processo di aggiornamento sul posto.Lunica differenza è rappresentata dal fatto che il processo di aggiornamento basato sul collegamento didatabase viene eseguito manualmente e in un ambiente separato. Se si desidera mantenere la farmoriginale e consentire agli utenti di continuare ad accedere ai dati, è necessario impostare i database insola lettura e collegare una copia di backup dei database. È possibile collegare e aggiornare i databaseda Microsoft Office SharePoint Server 2007 o Microsoft Windows SharePoint Services 3.0 in un nuovoambiente Microsoft SharePoint Server 2010. I passaggi per impostare e collegare i database al nuovoambiente sono gli stessi per entrambe le origini. 31
  37. 37. 4.3.2 Prima di iniziare  Verificare che siano soddisfatti tutti i requisiti hardware e software. È necessario disporre di una versione a 64 bit di Windows Server 2008 o di Windows Server 2008 R2. Per le server farm è inoltre necessario disporre di una versione a 64 bit di SQL Server 2005 o di SQL Server 2008. Per ulteriori informazioni su tali requisiti, ad esempio sugli aggiornamenti specifici che devono essere installati, vedere Determinare i requisiti hardware e software (SharePoint Server 2010).  Assicurarsi di essere pronti a impostare gli account necessari utilizzando le autorizzazioni appropriate.  Verificare che laccount utilizzato per aggiungere i database sia membro del ruolo predefinito del database db_owner per i database del contenuto che di desidera aggiornare.  Eseguire lo strumento di verifica pre-aggiornamento sui siti archiviati nei database. La verifica pre-aggiornamento consente di identificare potenziali problemi di aggiornamento nellambiente in modo da poterli affrontare prima dellaggiornamento.  Creare un nuovo ambiente server farm.  Ricercare e correggere gli eventuali errori di coerenza di database.4.3.3 Impostare per la sola lettura i database della versione precedenteSe per laggiornamento si utilizza lapproccio ibrido dei database di sola lettura, impostare i databasedella versione precedente per la sola lettura prima di eseguirne il backup. In qualsiasi tipo diaggiornamento basato sul collegamento di database è anche possibile impostare temporaneamente idatabase per la sola lettura per assicurarsi di acquisire tutti i dati nel backup in modo da ripristinare eaggiornare lo stato corrente dellambiente. Se i database vengono impostati per la sola lettura, gli utentipotranno continuare a visualizzare il contenuto, ma non saranno in grado di effettuare aggiunte omodifiche.Importante: non è possibile aggiornare un database in sola lettura. Se si utilizza un collegamento didatabase con database di sola lettura, si ripristina una copia del database e si esegue laggiornamentodella copia. Se non si utilizza questo metodo ma si desidera impostare temporaneamente i database perla sola lettura mentre si esegue il backup dei dati correnti, accertarsi di impostare i database per lalettura-scrittura prima di collegarli e aggiornarli.Al termine di questa procedura, saranno stati creati i duplicati dei database del contenuto di solalettura.4.3.4 Per eseguire il backup di un database in SQL Server 2008 1. Nel server database fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2008 e quindi SQL Server Management Studio. 32

×