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