Progetto di Identity Management per il Gruppo Banche Popolari Unite
Standard e strumenti per lo sviluppo del software
Marco Carezzano
Andrea Andrenacci
(ZEROPIU, Business Partner di Telecom Italia)
Milano, 2 febbraio 2005
Approccio e strumenti
 Questa presentazione descrive il modello adottato nel
progetto, per la gestione del ciclo di vita del software, in
termini di approccio, standard e strumenti operativi.
 Il modello adottato si basa sul Rational Unified Process
(RUP), uno standard per lo sviluppo e la gestione del
software.
 Il modello ha elevate caratteristiche di flessibilità e può
essere facilmente applicato a progetti, di ogni tipo e
dimensione.
Standard e strumenti
per lo sviluppo del
software
Milano, 2
febbraio 2005
2
Strumenti per la gestione del software
 CVS (Version control e software repository)
 Parasoft Insure++ (Controllo qualità software c++ integrazione con
versioning e repository)
 Parasoft TotalCoverage (Controllo di tutti i test path e test
coverage)
 CheckStyle (strumento per il controllo sintattico conforme allo
standard sun code convention
http://java.sun.com/docs/codeconv/)
 Scarab (Bug Tracking, scarab.tigris.org)
Standard e strumenti
per lo sviluppo del
software
Milano, 3
febbraio 2005
3
Convenzioni sintattiche e di documentazione







Hungarian Notation per i linguaggi di tipo object oriented (Java)
Sun Code Convention (Java)
Ellemtel (c++)
Effectie (c++)
Mayers Klaus (c++)
UML per l’analisi funzionale e come imput dei test case (use cases)
UML per il design (sequence diagram state chart e collaboration
diagram)
 UML per la modellazione e progettazione (class Diagram)
 UML per il deployment (deployment diagram)
Standard e strumenti
per lo sviluppo del
software
Milano, 4
febbraio 2005
4
RUP Life Cycle
Un progetto sviluppato attraverso la metodologia RUP è articolato in
quattro fasi:
Inception
Elaboration
Contruction
Transition
Standard e strumenti
per lo sviluppo del
software
Milano, 5
febbraio 2005
5
RUP Life Cycle - Inception
Obiettivi
L’obiettivo più importante di questa fase è condividere gli obiettivi del
progetto fra TUTTI i partecipanti.
Più in dettaglio, la fase di inception deve raggiungere almeno i seguenti
obiettivi:
Stabilire scope e perimetro del progetto, i criteri di accettazione e
in generale che cosa ci sarà e cosa NON ci sarà nel prodotto.
Individuare gli use case a maggior impatto sul disegno
dell’architettura tecnica.
Illustrare e se possibile dimostrare i principali use case attraverso
l’architettura candidata (Prototipo).
Stimare il costo totale dell’intero progetto.
Stimare i potenziali rischi del progetto
Preparare gli ambienti operativi a supporto del progetto.
Standard e strumenti
per lo sviluppo del
software
Milano, 6
febbraio 2005
6
RUP Life Cycle - Inception
Attività principali
Formulare lo scope del progetto. Descrivere il contesto del
progetto, i requisiti e i vincoli più importanti, in modo da arrivare a
definire i criteri di accettazione del prodotto finale.
Produrre il business case del progetto. Valutare alternative di
gestione del rischio, staffing, piano di progetto e considerare costi,
pianificazione e profittabilità.
Sintetizzare un’architettura di riferimento, considerando design,
make/buy/reuse, in modo da stimare costi, scheduling e risorse. In
questa fase l’intento è di dimostrare la fattibilità attraverso l’utilizzo
di Proof of Concept. Questi possono essere in forma di modelli che
simulano quanto richiesto oppure prototipi che esplorano ciò che
viene considerato ad alto rischio.
Preparare l’ambiente per il progetto: hardware, software di base,
tool.
Standard e strumenti
per lo sviluppo del
software
Milano, 7
febbraio 2005
7
RUP Life Cycle - Elaboration
Obiettivi: L’obiettivo di questa fase è consolidare l’architettura del
sistema per fornire delle basi stabili per il suo disegno e soprattutto per
l’impegno di implementazione che avverrà nella fase di construction.
L’evoluzione dell’architettura avviene considerando i requisiti a più forte
impatto architetturale e la valutazione dei rischi di progetto. La stabilità
dell’architettura è valutata attraverso uno o più prototipi.
Standard e strumenti
per lo sviluppo del
software
Milano, 8
febbraio 2005
8
RUP Life Cycle - Elaboration
Attività
Definire, validare e consolidare l’architettura del sistema.
Raffinare la “Vision” del progetto, sulla base delle nuove informazioni
emerse durante l’attività di analisi.
Creare e consolidare piani di progetto iterativi per la successiva fase di
construction.
Raffinare gli use case e costruire l’ambiente di sviluppo.
Raffinare l’architettura e definire i componenti, scegliendo tra prodotti
commerciali o custom o adottare il riutilizzo di componenti già
disponibili.
Standard e strumenti
per lo sviluppo del
software
Milano, 9
febbraio 2005
9
RUP Life Cycle - Construction
Obiettivi: L’obiettivo di questa fase è chiarire i rimanenti requisiti e
completare lo sviluppo del sistema sulla base dell’architettura
consolidata.
In un certo senso, la fase di construction è un processo manifatturiero,
dove l’enfasi è posta nella gestione e controllo delle risorse e delle
attività per ottimizzare costi, scheduling e qualità.
Standard e strumenti
per lo sviluppo del
software
Milano,10
10
febbraio 2005
RUP Life Cycle - Construction
Attività
Gestione delle risorse, controllo e ottimizzazione del processo di
sviluppo.
Sviluppo completo dei componenti e test del rispetto dei criteri di
valutazione del prodotto.
Standard e strumenti
per lo sviluppo del
software
Milano,11
11
febbraio 2005
RUP Life Cycle - Transition
Obiettivi: L’obiettivo della fase di transition è assicurare che il software
sia disponibile ai suoi utenti finali. Questa fase comprende i test, lo
sviluppo di releases e piccoli aggiustamenti sulla base dei feedback
dagli utenti finali. Alla fine di questa fase gli obiettivi del progetto devono
essere raggiunti e il progetto può essere chiuso.
A seconda del tipo di progetto, dopo questa fase può partire un altro
ciclo di vita completo (è il caso dei prodotti commerciali) oppure tutti i
deliverable del progetto vengono forniti ai gruppi di operation and
management responsabili del prodotto in esercizio. L’impegno per
questa fase può variare di molto in funzione del tipo di prodotto e della
complessità del contesto in cui questo si troverà ad operare.
Standard e strumenti
per lo sviluppo del
software
Milano,12
12
febbraio 2005
RUP Life Cycle - Transition
Attività
Eseguire i piani di deploy.
Produrre la documentazione a supporto dell’utente.
Eseguire i test.
Costituire le relase del prodotto.
Raccogliere i feedback dagli utenti.
Raffinare il prodotto sulla base dei feedback utente.
Rendere il prodotto disponibile agli utenti finali.
Standard e strumenti
per lo sviluppo del
software
Milano,13
13
febbraio 2005
Scarica

BPU.IM.Standarddisviluppo