software engineering 1 rapid application development lesson 10

44
ftware Engineering 1 Software Engineering Software Engineering Rapid Application Development Lesson 10

Upload: marinella-esposito

Post on 01-May-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 1

Software EngineeringSoftware Engineering

Rapid Application DevelopmentLesson 10

Page 2: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 2

RAD

Main Goal:

develop software as soon as possible

Page 3: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 3

RAD

Rapid Application Development:

• an incremental and rapid development

• a simplified Waterfall (without implementation)

• reuse of Software

• the software isn’t made but it is customized

Page 4: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 4

The four RAD’s phases:

1. Firm Modeling

2. Data Modeling

3. Process Modeling

4. System Implementation (reusing and customizing)

RAD

Page 5: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 5

Some Benefits

• simplified testing

• rapid realization

• lower risk of overall project failure

RAD

Page 6: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 6

Some Disadvantages

• we must start with well-understood requirements

• costly

• can be used only for Standard Applications

RAD

Page 7: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 7

Software EngineeringSoftware Engineering

RAD: Case Study

Lesson 9

Page 8: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 1

RAD: Case StudyRAD: Case Study

Human ResourceHuman Resource SystemSystemL’esperienza dell’Università di

Trento 19 maggio 2005

Page 9: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• La rilevanza del dominio, sia in termini gestionali che strategici (voce di bilancio a maggior peso)

• La frammentarietà e l’assenza di integrazione degli strumenti informatici utilizzati (alta manualità, duplicazione dati, disallineamenti, mancanza di una “vista” multi- dimensionale del dipendente..)

• L’obsolescenza degli applicativi esistenti e la loro inadeguatezza funzionale (elevata presenza di file “personali” gestiti con strumenti Office)

• La nascita di nuovi aspetti funzionali non supportati da strumenti informatici quali formazione, valutazione e sviluppo (massiccio utilizzo di strumenti Office)

Il progetto: le motivazioni

1

Page 10: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: le motivazioni

File ExcelFile ExcelFile Excel

InazPresenze

CINECA

TermTalk

Stop & Go

GePTA

GePDoc

LDAP

SistemaSegreteriaStudenti

Inaz Web

SistemaContabilità

File Excel

2

Page 11: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Dotare l’Ateneo di un Sistema di Gestione del personale, integrato con i macro business process dell’Università

• Realizzare un Sistema aperto, affidabile, in grado di supportare tutti gli aspetti gestionali e operativi della Direzione

• Perseguire l’accentramento e la definizione di fonti uniche di informazioni e generazione dei dati

• Ottimizzare i processi operativi, ridurre la manualità e migliorare la qualità del lavoro e delle attività svolte

• Fornire uno strumento che consenta una “vista” multidimensionale del dipendente

Il progetto: gli obiettivi

3

Page 12: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: le fasi

Definire gliobiettivi

Analizzarei fabbisogniinformativi

Individuarele opportunità

di miglioramento

Rilevare le criticità e

le inefficienze

Definire ilModello dei

nuovo Sistema Informativo

Gestire e manutenere

il nuovosistema

Individuareil prodotto

più adeguato

Progettaree realizzare ilnuovo sistema

Requirementsdefinition

Individuare e analizzarei processi operativi

Solutiondelivery

Operate

4

Page 13: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: le fasi

• Requirements definition

• disegnare il nuovo modello funzionale del dominio e i processi operativi che lo supportano

• definire i macro requisiti funzionali e non del nuovo sistema

• individuare le integrazioni necessarie

• stabilire vincoli e condizionamenti.

5

Page 14: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: le fasi

• Solution delivery

• individuare il prodotto più adeguato

• definire le specifiche (tecniche e funzionali) del nuovo sistema

• disegnarne l’architettura (dati, funzioni, interfacce, conversioni) coerentemente con le specifiche individuate

• realizzare il sistema attraverso la customizzazione del prodotto scelto e le eventuali personalizzazioni

• verificarne il corretto funzionamento attraverso cicli successivi di test

• formare gli utenti

• supportare il passaggio in produzione del sistema.

6

Page 15: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: le fasi

• Operate

• fornire il supporto tecnico per la gestione del sistema, con particolare riferimento alla risoluzione dei problemi di gestione ed alla evoluzione delle esigenze degli utenti

• definire e monitorare gli obiettivi di servizio (es. performance del sistema) verificando quali sono stati raggiunti e quali invece mancati e indagando i motivi di tali scostamenti

• progettare e realizzare gli interventi necessari per riportare il servizio al livello qualitativo previsto.

7

Page 16: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Package altamente Package altamente personalizzati sviluppati da personalizzati sviluppati da un rivenditore softwareun rivenditore software

1970 1970 19801980

Soluzioni integrate sviluppate Soluzioni integrate sviluppate da un rivenditore softwareda un rivenditore software

1990 1990

Packages interfacciati Packages interfacciati sviluppati da più rivenditori sviluppati da più rivenditori di softwaredi software

1980 1980 19901990

Sistemi ad hoc sviluppati sul Sistemi ad hoc sviluppati sul clientecliente

19701970

L’evoluzione storica dei sistemi informativi

8

Il progetto: la scelta del prodotto

Page 17: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la scelta del prodotto

Applicazioni custom

• Differenti sistemi informativi che supportano diversi processi gestionali

• Interfacce limitate e costose tra i diversi sistemi

• Ritardi significativi nella definizione dei dati effettivi, dovuti a esigenze di riconciliazione e consolidamento.

SistemaSistemaInformativoInformativo

Gestione Gestione Amministrativa Amministrativa del Personaledel Personale

GestioneGestionevalutazione evalutazione esviluppo dellesviluppo dellerisorse umanerisorse umane

GestioneGestionedelladella

formazioneformazione

Gestione rilevazionepresenze

Applicazioni interfacciate

SistemaSistemaInformativoInformativo

Gestione Gestione AmministrativaAmministrativadel Personaledel Personale

Gestione Gestione rilevazionerilevazionepresenzepresenze

GestioneGestionevalutazione evalutazione esviluppo dellesviluppo dellerisorse umanerisorse umane

Gestione dellaformazione

• Un unico sistema informativo

• Le informazioni sono parzialmente isolate, nel senso che esistono strutture dati diverse per informazioni chiave, che devono essere integrate con uno sforzo significativo

• Presenza di un numero significativo di processi di elaborazione batch e off-line

Sistemi ERP

• Focalizzazione sulla gestione delle informazioni

• Un unico sistema informativo

• Strutture dati condivise tra tutte le applicazioni chiave con conseguente facilità d’accesso da parte di tutti gli utenti

• Tutte le informazioni sono aggiornate in tempo reale, con la virtuale eliminazione delle elaborazioni batch

SistemaSistemaInformativoInformativo

Gestione dellaformazione

Gestione valutazione

e sviluppo delle risorse umane

Gestione rilevazionepresenze

Gestione amministrativadel Personale

t

L’evoluzione storica dei sistemi informativi 19801980 19901990 dal 1990 in poidal 1990 in poi

9

Page 18: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la scelta del prodotto

I benefici offerti dall’adozione di una soluzione ERP

• FORTE INTEGRAZIONELe applicazioni sono collegate tra loro in un insieme coordinato. Tutti i moduli lavorano insieme invece di funzionare come applicazioni separate eliminando attività doppie di controllo e verifica.

• RICCHEZZA DI FUNZIONALITA’ Le applicazioni sono state sviluppate con riferimento a pratiche e comportamenti operativi consolidati.

• VISIONE UNITARIA DELLE ATTIVITA’ OPERATIVE Tutte le applicazioni operano con la stessa base dati eliminando la possibilità di duplicazioni fornendo reporting e analisi coerenti per tutte le attività operative.

10

Page 19: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la scelta del prodotto

• ORIENTAMENTO AL PROCESSO

Un software ERP è un software progettato con focalizzazione non sulle sole

singole funzioni tradizionali, ma sull’intero processo (somma di singole

funzioni) che deve svolgersi in modo coordinato ed integrato.

• ELEVATA CONFIGURABILITA’La ricchezza di funzionalità e di infotype (gruppi di informazioni omogenee) contenuti in ciascun modulo ERP è tale da consentire la realizzazione del sistema voluto attraverso semplici operazioni di configurazione “guidata” (customizing).Tanto più il modello funzionale del nuovo sistema coincide con lo standard ERP, tanto più il customizing consente di fornire risposte adeguate, eliminando la necessità di ricorrere ad attività di implementazione. Rimarranno da sviluppare solo le eventuali interfacce verso i sistemi esterni.

11

Page 20: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 11

Il progetto: la scelta del prodotto

Un esempio di customizzazione: Definizione titoli per il dipendente

Page 21: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 13

Il progetto: la scelta del prodotto

Inserimento titolo per il dipendente

Page 22: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 14

Il progetto: la scelta del prodotto

Elaborazione gruppi contrattuali e livelli retributivi

Page 23: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering 15

Il progetto: la scelta del prodotto

Definizione categoria, livello e voci retributive contrattuali

Page 24: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la scelta del prodotto

I criteri di valutazione adottati nella scelta del prodotto:

• costo della soluzione • affidabilità del fornitore • copertura funzionale• architettura, configurabilità e integrabilità con gli altri sistemi

di Ateneo

con i pesi indicati nella griglia seguente Applicativo Costo Fornitore Funzionalità Tecnologia Somma Peso 10% 15% 60% 15% 100%

Il prodotto che ha ottenuto il maggior peso è stato SAP HR.

16

Page 25: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la scelta del prodotto

La struttura applicativa di SAP HR

Client / ServerSistema di Base

PersonnelAdministration

Recruitment

OrganizationalManagement

Time Employ SelfService

AdditionalFunctionality

Benefits

Payroll

La modularità del prodotto ha consentito di progettare una soluzione che consente di mantenere l’elaborazione delle retribuzioni sull’attuale sistema di Cineca (Consorzio Interuniversitario)

17

Page 26: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la metodologia adottata

18

Page 27: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Project Preparation & Business Blueprint

Le prime due fasi rappresentano il momento di comprensione di dettaglio del contesto e di pianificazione delle attività di implementazione. Le principali attività sono:

• Definizione della struttura del team di progetto

• Definizione degli standard di documentazione

• Comprensione del contesto tecnico-applicativo

• Installazione dell’ambiente di sviluppo e di test del sistema SAP HR

• Realizzazione delle interviste di analisi dei processi funzionali

• Condivisione delle criticità gestionali dei processi funzionali

• Definizione del nuovo modello di funzionamento dei processi funzionali su SAP HR

19

Il progetto: la metodologia adottata

Page 28: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Realization

La terza fase è il momento della costruzione del nuovo prototipo del Modello di funzionamento definito nelle fasi precedenti e dell’analisi e realizzazione degli interventi necessari per adattare ed integrare il sistema standard SAP HR nel contesto tecnico-applicativo di UNITN. Le principali attività sono:

• Configurazione di base delle strutture dei dati

• Configurazione definitiva dei processi funzionali

• Analisi, realizzazione e test degli sviluppi e dei report

• Analisi, realizzazione e test delle conversioni (recupero dati gestionali pregressi)

• Analisi, realizzazione e test delle interfacce da e verso gli altri sistemi e delle procedure collegate

20

Il progetto: la metodologia adottata

Page 29: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Final Preparation

In questa fase si realizzano tutte le attività complementari necessarie all’avvio produttivo del sistema secondo il Modello di Funzionamento definito ed approvato nella fase precedente. Le principali attività sono:

• Preparazione dei manuali utente

• Erogazione del training agli utenti finali

• Setup del sistema di produzione

• Realizzazione delle conversioni sul sistema di produzione

21

Il progetto: la metodologia adottata

Page 30: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Go Live & Support

Nell’ultima fase si attiva il nuovo sistema informativo e si assistono gli

utenti finali nella realizzazione dei processi gestionali, controllando al

contempo il corretto funzionamento tecnico del sistema. Le principali

attività sono:

• Attivazione del sistema in produzione

• Attivazione del servizio di help desk per gli utenti finali

• Risoluzione degli eventuali problemi

• Controllo sulle performance del sistema e sul volume delle registrazioni effettuate

22

Il progetto: la metodologia adottata

Page 31: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

La realizzazione del sistema è stata suddivisa in due fasi, la prima a copertura di quanto oggi esistente, la seconda a copertura delle nuove esigenze.

Il progetto: la pianificazione

Il piano iniziale

23

Supporto Tecnico

M G L A S O N D G F M A2003 2004

FASE 1: Gestione Anagrafica e Giuridico-Amministrativa dei Dipendenti

FASE 2: Rilevazione Presenze & Sviluppo del Personale

Project Management

• Realization • Final Preparation and Go Live &Support

• Business Blueprint• Realization • Final Preparation and Go Live &Support

• Business Blueprint

Page 32: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il Piano della Qualità è un documento che, per singola fase della metodologia adottata, definisce:

• il contenuto della fase• gli elementi in input alla fase• gli output della fase• le caratteristiche qualitative degli output• i criteri, i parametri e le modalità di accettazione degli output.

Il progetto: il piano della qualità

24

Page 33: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la struttura e i ruoli del team di progetto

Comitato Guida

Controllo Progetto

Team Operativi

Controllo Qualità

Gruppo di Lavoro 3Gruppo di Lavoro 1 Gruppo di Lavoro 2

Supporto Tecnico

25

Page 34: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la struttura e i ruoli del team di progetto

Il Comitato Guida viene istituito per garantire la massima attenzione e partecipazione al progetto. E’ composto da responsabili di UNITN e da responsabili del fornitore e cura le seguenti attività:

sponsorship del progetto

gestione del cambiamento (promuovere, facilitare, motivare, guidare)

definizione degli obiettivi di medio e lungo termine

controllo ed approvazione dell’avanzamento lavori e verifica del conseguimento degli obiettivi di progetto

verifica e validazione delle scelte effettuate che hanno impatto significativo su organizzazione e processi dell’Ateneo

assegnazione di risorse e priorità, rimozione/soluzione dei problemi che possono impattare su obiettivi, risultati e tempistiche di progetto (gestione del rischio). 26

Page 35: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: la struttura e i ruoli del team di progetto

Il Controllo Qualità è responsabile della definizione del Piano della Qualità e, attraverso il costante collegamento tra il Comitato Guida ed il Controllo Progetto, assicura che il progetto venga condotto nel rispetto degli standard qualitativi previsti e secondo gli obiettivi prefissati.

27

Page 36: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il Controllo Progetto è responsabile della conduzione del progetto. Ha il compito di presidiare le attività di progetto in termini di contenuti e soluzioni proposte, di stabilire priorità e assegnazione delle risorse:

pianificazione e coordinamento del progetto stesura, verifica e controllo degli stati avanzamento lavori integrazione con eventuali altri progetti dell’Ateneo verifica e validazione delle soluzioni progettuali coinvolgimento dei responsabili di funzione per le diverse aree soluzione dei problemi di assegnazione e disponibilità di risorse comunicazione, attivazione e coinvolgimento del Comitato Guida

(preparazione documenti da presentare) comunicazione verso i Team operativi verifica ed approvazione di eventuali richieste di modifica.

Il progetto: la struttura e i ruoli del team di progetto

28

Page 37: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il Supporto Tecnico è responsabile della definizione, della creazione e del mantenimento di tutto l’ambiente tecnico di lavoro per il progetto, in termini di:

Hardware

Software

Reti e comunicazioni

Standard architetturali e metodologici

Gestione ambienti di sviluppo, test, produzione

Tuning e performance del sistema.

Il progetto: la struttura e i ruoli del team di progetto

29

Page 38: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

I Team operativi, generalmente specializzati per dominio funzionale, hanno la responsabilità di realizzare quanto definito durante la fase di Business Blueprint.

Essi comprendono diversi profili professionali:

• consulente funzionale esperto del dominio e delle problematiche collegate, in ambiente SAP HR

• analista tecnico esperto della piattaforma SAP HR

• programmatore esperto dell’ambiente di sviluppo SAP

• key user operativi

Il progetto: la struttura e i ruoli del team di progetto

30

Page 39: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il coinvolgimento dei Key User ha lo scopo di garantire:

la condivisione dei requisiti funzionali

la condivisione delle soluzione applicative

la condivisione della priorità di sviluppo

e di fare in modo che essi diventino gli Utenti di riferimento per l’Ateneo nella gestione giornaliera delle funzionalità e dei processi attivati.

Il progetto: la struttura e i ruoli del team di progetto

31

Page 40: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Le attività a carico dei Key User sono:

• fungere da collegamento tra il gruppo di lavoro nel quale si trovano ad operare e l’ufficio competente per ciascuna delle funzionalità da implementare;

• partecipare alla definizione di dettaglio del nuovo modello operativo e delle soluzioni progettuali definite;

• partecipare alla definizione delle modalità di conversione dei dati;• partecipare attivamente alla impostazione del sistema;• collaborare alla stesura della documentazione di progetto;• progettare con gli utenti i test di sistema e dare supporto durante la loro

effettuazione;• stendere, con il supporto delle altre risorse del gruppo di lavoro, il

manuale utente;• preparare, organizzare ed erogare le attività di training degli utenti;• partecipare all’avvio del sistema, fornendo assistenza agli utenti.

Il progetto: la struttura e i ruoli del team di progetto

32

Page 41: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: l’andamento

La fase di Blueprint ha permesso di definire nel dettaglio le funzionalità necessarie e il corrispondente impegno per realizzarle che hanno comportato un incremento nelle giornate lavorative previste del 40% e un conseguente ritardo nel passaggio in produzione del sistema di circa 2 mesi sulla pianificazione iniziale della Fase 1.

33

La Fase 1, avviata con 2 mesi di ritardo, sarebbe dovuta terminare con l’entrata in produzione a marzo.

L A S O N D G F M A2003 2004

• Final Preparation and Go live & Supporto

• Business Blueprint

• Realization

Project Management

M

FASE 1:

Page 42: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: l’andamento

Successivamente, dopo quattro mesi di sviluppi (4 sui sei previsti, e il progetto completato all’70%) è emersa una nuova particolarità gestionale che ha imposto la revisione del Modello e di quanto già sviluppato fino a quel momento. L’introduzione della nuova funzionalità è costato un incremento del 65% delle giornate lavorative previste e un ulteriore ritardo nell’entrata in produzione di ulteriori 6 mesi.

34

Supporto Tecnico

L A S O N D G F M A M G2003 2004

FASE 1:

Project Management

• Realization

• Final Preparation

and Go Live &Support

• Business Blueprint

L A S O N

Page 43: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

Il progetto: alcune osservazioni

35

• La stima iniziale è tanto più approssimata quanto minori sono le conoscenze del dominio specifico.

• La fase più critica di un progetto – di qualunque tipo esso sia – è l’analisi dei requisiti di dettaglio: spesso l’utente non descrive determinate particolarità perché presuppone che siano note.

• Per evitare “sorprese” in fase avanzata del progetto è necessario che gli utenti vengano coinvolti nel progetto fin dall’inizio con precise responsabilità.

• Più si procede nella realizzazione e più pesanti sono le ripercussioni di eventuali modifiche al modello; gg. lavorati e durata del progetto crescono esponenzialmente.

Page 44: Software Engineering 1 Rapid Application Development Lesson 10

Software Engineering

• Prima verticalizzazione in Italia

• Mancanza di competenze contemporanee di HR SAP e delle peculiarità del contesto universitario

• Sottovalutazione dei macrorequisiti funzionali

• Necessità di personalizzazioni specifiche e conseguente impatto sulla manutenibilità del sistema

• Aumento sensibile dei costi del progetto.

Il progetto: le criticità

36