Analisi e Progettazione del Software Sommario

Transcript

Analisi e Progettazione del Software Sommario
17/03/2003
Analisi e Progettazione
del Software
La Metodologia di Riferimento:
Introduzione
versione 1.0 del 16/03/2003
G. Mecca – Università della Basilicata – [email protected]
La Metodologia di Riferimento >> Sommario
Sommario
Introduzione
m Pratiche Agili
m Fasi e Attività
m Elaborati
m Ruoli
m Tecnologie di Riferimento
m Il Caso di Studio
m
G. Mecca - Analisi e Progettazione del Software
2
1
17/03/2003
La Metodologia di Riferimento >> Introduzione
Introduzione
m
LUP
ð“Light Unified Process” oppure
ð“Lucania Unified Process”
m
Impostazione generale
ðbasata sulle fasi e gli elaborati di UP
m
Filosofia
ðagile, basata su tre pratiche essenziali
G. Mecca - Analisi e Progettazione del Software
3
La Metodologia di Riferimento >> Pratiche Agili
Pratiche Agili
m
Pratiche agili in LUP
ðadattamento ai cambiamenti
ðriscontro continuo
ðviaggiare leggeri
m
Lo sviluppo come la guida (Beck)
iterazioni
G. Mecca - Analisi e Progettazione del Software
4
2
17/03/2003
La Metodologia di Riferimento >> Pratiche Agili
Pratiche Agili
m
Adattamento ai cambiamenti
ðiterazioni di lunghezza fissata
ðle iterazioni sono cicli ripetuti di svilupporiscontro-adattamento
ðè accettabile che il committente cambi idea
sui requisiti
ðpianificazione incrementale
ðpriorità basate sul rischio e sul valore
G. Mecca - Analisi e Progettazione del Software
5
La Metodologia di Riferimento >> Pratiche Agili
Pratiche Agili
m
Riscontro
ðintegrazione e test continui durante lo
sviluppo (non è accettabile che i test siano
svolti tutti alla fine – si generano ritardi)
ðe riscontri da parte del committente
ðogni iterazione deve avere un punto di
rilascio definito
ðnon è accettabile ritardare il rilascio; è
accettabile ridurne le funzionalità
G. Mecca - Analisi e Progettazione del Software
6
3
17/03/2003
La Metodologia di Riferimento >> Pratiche Agili
Pratiche Agili
m
Viaggiare Leggeri
ðun processo burocratico non consente la
flessibilità di manovra necessaria ad adattarsi
ðlimitare l’uso dei modelli e della
documentazione
ði modelli possono essere disallineati rispetto
al codice
ðscartare modelli temporanei
G. Mecca - Analisi e Progettazione del Software
7
La Metodologia di Riferimento >> Pratiche Agili
Pratiche Agili
m
Attenzione, una distinzione importante
ðmodello temporaneo: modello del software
(es: diagramma delle classi) sviluppato
durante la discussione
ðfinalizzato a comprendere
ðmodello di documentazione: modello del
software mantenuto allineato con il codice
ðfinalizzato a descrivere in forma grafica il
codice
G. Mecca - Analisi e Progettazione del Software
8
4
17/03/2003
La Metodologia di Riferimento >> Fasi e Attività
Fasi e Attività
m
Le fasi di LUP
ðmutuate da UP
Ideazione
m Elaborazione
m Costruzione
m Transizione
m
G. Mecca - Analisi e Progettazione del Software
9
La Metodologia di Riferimento >> Fasi e Attività
Fasi
m
Ideazione (unica iterazione)
ðvisione approssimata
ðraccolta iniziale del requisiti
ðanalisi tecnologica
m
Elaborazione (tra 2 e 4 iterazioni)
ðsviluppo e test iterativo degli elementi di
maggior rischio e valore
ðanalisi e progettazione incrementale
ðapprofondimento dei requisiti
G. Mecca - Analisi e Progettazione del Software
10
5
17/03/2003
La Metodologia di Riferimento >> Fasi e Attività
Fasi
m
Costruzione (tra 2 e 4 iterazioni)
ðcompletamento iterativo dell’applicazione
ðsviluppo degli elementi di minor rischio e di
minor valore
ðpreparazione alla messa in produzione
m
Transizione (una o due iterazioni)
ðtest finali
ðmessa in produzione
G. Mecca - Analisi e Progettazione del Software
11
La Metodologia di Riferimento >> Fasi e Attività
Iterazioni
m
Iterazioni
ðogni iterazione è un “mini-progetto”
ðdi lunghezza fissata (2-6 settimane)
ðcon obiettivi definiti
ðil risultato deve essere un sistema integrato
ed eseguibile
ðalla fine dell’iterazione precedente si pianifica
l’iterazione successiva
G. Mecca - Analisi e Progettazione del Software
12
6
17/03/2003
La Metodologia di Riferimento >> Fasi e Attività
Iterazioni
m
Struttura tipica di un’iterazione
ðsupponiamo 2 settimane, 10 giorni lavorativi
ðI giorno: chiarire i requisiti, e attribuire i
compiti
ðII giorno: analisi e progetto di diagrammi
approssimativi
ðIII-X giorno: sviluppo, test, riscontri dal
committente, verifiche di qualità
G. Mecca - Analisi e Progettazione del Software
13
La Metodologia di Riferimento >> Fasi e Attività
Attività di UP
(fonte: http://www.rational.com)
G. Mecca - Analisi e Progettazione del Software
14
7
17/03/2003
La Metodologia di Riferimento >> Fasi e Attività
Attività di LUP
m
Attività
ðgestione dei requisiti
ðanalisi e progettazione (v.l.)
ðimplementazione (v.l.)
ðverifica e test (r.c.)
ðgestione del progetto (pianificazione) (a.c.)
m
In progetti complessi
ðpossono essere necessarie altre attività (es:
analisi organizzativa – “business modeling”)
15
G. Mecca - Analisi e Progettazione del Software
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
Attività
Elaborato
Ideaz.
Elab.
Requisiti
Documento di Visione
inizio
raff.
Modello dei Casi d’Uso
inizio
raff.
Altri Requisiti
inizio
raff.
Costr.
si
inizio
Analisi e
Diagramma delle Classi
inizio
raff.
Progettazione
Progetto degli schermi
inizio
raff.
Diagrammi di Interazione
inizio
raff
Modello dei dati
inizio
raff.
Implementazione
Codice
inizio
raff.
Verifica
Piano dei test
inizio
raff.
Gestione del prog.
Pianificazione
raff.
raff.
G. Mecca - Analisi e Progettazione del Software
Man.
si
Modello Concettuale
inizio
Trans.
ssn
ssn
ssn
raff.
si
si
raff.
16
8
17/03/2003
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
m
Elaborati principali
ðmodello dei casi d’uso
ðdocumento relativo agli altri requisiti
ðcodice
ðtest
ðdevono essere manutenuti necessariamente
m
Sito Web del progetto
ðè opportuno che siano sempre in linea
G. Mecca - Analisi e Progettazione del Software
17
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
Il codice è l’elaborato essenziale
m Qualità del codice
m
ðsemplice
ðleggibile
ðmanutenibile
m
Rifattorizzazione
ðmodifiche incrementali al codice per
adeguarsi ai nuovi requisiti
G. Mecca - Analisi e Progettazione del Software
18
9
17/03/2003
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
m
Gli altri elaborati
ðnon hanno lo scopo di documentazione
ðriflettono il livello di comprensione di allora
ðnon devono essere necessariamente
manutenuti
m
“ssn” – “solo se necessario”
ðin alcuni casi manutenere è necessario (es:
evoluzioni significative nell’architettura o nei
requisiti) – valutazione di costi e benefici
G. Mecca - Analisi e Progettazione del Software
19
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
m
Elaborati aggiuntivi opzionali
ðglossario dei termini: elenco di termini e loro
significato (frequente)
ðdocumento sull’architettura del software
(SAD): descrive in sintesi l’architettura
software a hardware (utile per progetti di
dimensione medio-grande)
m
Si decide durante il progetto se usarli o no
G. Mecca - Analisi e Progettazione del Software
20
10
17/03/2003
La Metodologia di Riferimento >> Ruoli
Ruoli
m
I ruoli di LUP
ðcoordinatore di gruppo: responsabile della
pianificazione e dei rapporti con l’esterno
ðresponsabile dell’interfaccia
ðresponsabile della logica applicativa
ðresponsabile della persistenza
ðresponsabile di integrazione e test
ðresponsabile delle prestazioni
G. Mecca - Analisi e Progettazione del Software
21
La Metodologia di Riferimento >> Ruoli
Ruoli
m
Ruoli, avvertenza n. 1
ðle responsabilità sono solo organizzative
ðvale il principio di proprietà collettiva del
codice
ðè incoraggiata la programmazione a coppie
ðè necessario adottare convenzioni di stile
comuni per la scrittura del codice
G. Mecca - Analisi e Progettazione del Software
22
11
17/03/2003
La Metodologia di Riferimento >> Ruoli
Ruoli
m
Ruoli, avvertenza n. 2
ðl’impostazione agile responsabilizza i
coordinatori
ðè possibile limitare l’uso di documentazione
ðma i coordinatori devono tenere sotto
controllo lo stato di avanzamento del progetto
ðe avere sempre una panoramica chiara delle
evoluzioni dovute alle iterazioni
G. Mecca - Analisi e Progettazione del Software
23
La Metodologia di Riferimento >> Ruoli
Ruoli
m
Ruoli tradizionali
ðanalista (analizza i requisiti)
ðprogettista (progetta l’architettura software)
ðprogrammatore
m
In LUP
ðtutti partecipano a tutte le attività
ðma è necessario attribuire compiti per la
gestione degli elaborati e del sito
G. Mecca - Analisi e Progettazione del Software
24
12
17/03/2003
La Metodologia di Riferimento >> Tecnologie di Riferimento
Tecnologie di Riferimento
m
Piattaforma di riferimento
ðJava 2 SE e Java 2 EE
ðambiente Windows 2000/XP Pro e Linux
m
Ampia adozione di strumenti liberi
ð“open source”
ðragioni di carattere economico
ðragioni di qualità: strumenti di qualità
industriale
G. Mecca - Analisi e Progettazione del Software
25
La Metodologia di Riferimento >> Tecnologie di Riferimento
Tecnologie di Riferimento per LUP
m
Ambiente di sviluppo e rifattorizzazione
ðes: NetBeans (www.netbeans.org)
ðes: RefactorIT (www.refactorit.com)
m
Strumento per il controllo delle versioni
ðes: CVS (www.cvshome.org)
m
Strumento di integrazione
ðes: Apache Ant (ant.apache.org)
m
Strumento per i test di regressione
ðes: JUnit (www.junit.org)
G. Mecca - Analisi e Progettazione del Software
26
13
17/03/2003
La Metodologia di Riferimento >> Tecnologie di Riferimento
Tecnologie di Riferimento per LUP
m
Strumenti per il test di appl. Web
ðes: HttpUnit (httpunit.sourceforge.net)
ðes: Cactus (jakarta.apache.org)
ðes: TestHarness (www.knownfuture.com)
m
Strumento di valutazione delle prestazioni
ðes: Apache JMeter (jakarta.apache.org)
m
E i diagrammi ?
ðstrumenti a bassa tecnologia
ðoppure programmi per il disegno; es: DIA
G. Mecca - Analisi e Progettazione del Software
27
La Metodologia di Riferimento >> Tecnologie di Riferimento
Tecnologie di Riferimento per LUP
m
Server applicativo per il Web
ðes: Tomcat (jakarta.apache.org)
m
DBMS
ðes: PostgreSQL (www.postgresql.org)
ðes: FireBird (firebird.sourceforge.net)
m
Framework per lo sviluppo Web
ðes: Jakarta Struts (jakarta.apache.org)
m
Framework per la persistenza
ðes: OJB (db.apache.org)
ðes: Torque (db.apache.org)
G. Mecca - Analisi e Progettazione del Software
28
14
17/03/2003
La Metodologia di Riferimento >> Il Caso di Studio
Il Caso di Studio
m
Il Sistema PdD (“Punto di Domanda”)
ðun sistema per la gestione di questionari con
domande a risposta multipla
m
Principali funzionalità supportate
ðil docente crea questionari a partire da un
archivio di domande preconfezionate
ðlo studente risponde alle domande
ðil docente valuta il questionario
G. Mecca - Analisi e Progettazione del Software
29
La Metodologia di Riferimento >> Il Caso di Studio
Il Sistema PdD
m
Caratteristica
ðdeve essere possibile creare sia questionari
cartacei che questionari elettronici
m
Questionari cartacei
ðil docente prepara i questionari con l’aiuto del
sistema, li stampa e li sottopone agli studenti
ðgli studenti compilano il questionario
ðil docente valuta i questionari con l’aiuto del
sistema
G. Mecca - Analisi e Progettazione del Software
30
15
17/03/2003
La Metodologia di Riferimento >> Il Caso di Studio
Il Sistema PdD
m
Questionari elettronici
ðsono questionari di autovalutazione
(valutare se estendere a q. di valutazione)
ðil sistema offre via Web varie possibilità di
compilazione
ðgli studenti personalizzano i questionari e li
compilano
ðil sistema valuta i questionari compilati
G. Mecca - Analisi e Progettazione del Software
31
La Metodologia di Riferimento >> Il Caso di Studio
Il Sistema PdD
m
Aspetti interessanti del sistema
ðdeve prevedere sia l’utilizzo fuori linea che
l’utilizzo in linea via Web
ðdeve prevedere modalità avanzate per la
gestione dell’archivio di questionari (copie
stampabili)
ðdeve prevedere modalità di configurazione e
personalizzazione da parte del docente e
dello studente
G. Mecca - Analisi e Progettazione del Software
32
16
17/03/2003
La Metodologia di Riferimento >> Sommario
Riassumendo
Introduzione
m Pratiche Agili
m Fasi e Attività
m Elaborati
m Tecnologie di Riferimento
m Ruoli
m Il Caso di Studio
m
33
G. Mecca - Analisi e Progettazione del Software
La Metodologia di Riferimento >> Elaborati
Elaborati di LUP
Attività
Elaborato
Ideaz.
Elab.
Requisiti
Documento di Visione
inizio
raff.
Modello dei Casi d’Uso
inizio
raff.
Altri Requisiti
inizio
raff.
Costr.
si
inizio
Analisi e
Diagramma delle Classi
inizio
raff.
Progettazione
Progetto degli schermi
inizio
raff.
Diagrammi di Interazione
inizio
raff
Modello dei dati
inizio
raff.
Implementazione
Codice
inizio
raff.
Verifica
Piano dei test
inizio
raff.
Gestione del prog.
Pianificazione
raff.
raff.
G. Mecca - Analisi e Progettazione del Software
Man.
si
Modello Concettuale
inizio
Trans.
ssn
ssn
ssn
raff.
si
si
raff.
34
17