Presentazione ragionata del corso Tecniche di Programmazione Lez. 01 Università di Firenze a.a. 2009/10, I semestre 1/22 contenuti Obiettivi e argomenti del corso Modalità di esame Progetto didattico Calendario Motivazioni e difficoltà 2/22 in 2 parole Programmazione In termini industriali Produzione di software Tecniche Strumenti concettuali e tecnologici Per impostare e condurre un progetto software Vincoli: tempi, costi, requisiti Corso pratico di ingegneria del software 3/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 1
ingegneria del sw in pratica IS: disciplina tecnologica e gestionale Tecniche per affrontare progetti sw Per i requisiti del prodotto (analisi) Per la complessità della soluzione (progettazione) Per la qualità da assicurare (validazione e verifica) Per le risorse impegnate (gestione di progetto) TP: provare problemi e tecniche su un progetto 4/22 di cosa si parla Processo software Concetti, storia, formulazioni, classiche e recenti Standard di riferimento (ISO/IEC 12207, ISO 9001) Progetti software Concetti, problemi, strumenti WBS, Gantt,... Pianificazione, gestione, controllo Qualità del prodotto Requisiti, per definire gli obiettivi Prove, per assicurare che siano raggiunti 5/22 cosa si fa Progetto didattico Esperienza pratica Marchio, croce e delizia del corso Provare (quasi) tutti gli aspetti di un progetto sw Collaborazione con il committente, analisi Stima di impegno e costi, offerta Progettazione, codifica, verifica Pianificazione e controllo delle attività Controllo e assicurazione della qualità Consegna e collaudo Gruppi di studenti come fornitori 6/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 2
attività del corso Richiami di ingegneria del software Il processo di sviluppo del software Verifica e validazione del software Gestione di progetti Documentazione e regolamentazione delle attività Stima, pianificazione e controllo Progetto didattico Incontri con il committente Verifiche ispettive Revisioni congiunte 7/22 modalità di esame Progetto didattico Da affrontare in gruppi di studenti Da svolgere con impegno, scadenze e tempi fissati Relativa libertà tecnologica e gestionale Controllato periodicamente Esame orale individuale Esperienza di progetto rispetto ai temi del corso Analisi, progettazione e verifica di sistemi software Organizzazione e gestione dei progetti software 8/22 gruppi come fornitori Contesto aziendale e di gara Seguire le procedure del SQ aziendale Massimizzare l utile di progetto Assicurarsi la commessa vincendo la gara Consegnare rispettando gli impegni Criteri di giudizio, in offerta e alla consegna Chiarezza delle caratteristiche del prodotto Garanzie di qualità (bontà delle prove proposte) Valore del prodotto, proposto e consegnato Risorse impegnate e rispetto delle scadenze Gestione del progetto 9/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 3
eventi del progetto Incontri per l analisi (4) Con il committente, informali Revisioni congiunte (2) Con il committente, formali, consegne parziali Verifiche ispettive (4) Con il SQ aziendale, formali Pietre miliari Inizio del progetto Presentazione e consegna dell offerta Collaudo e consegna del prodotto 10/22 documentazione Organigramma Diario di progetto Norme di progetto Verbali Requisiti del prodotto Offerta Disegno del sistema Piano delle prove Risultati delle prove unico molti unico molti 11/22 ruoli Competenze, responsabilità, costi Responsabile 45 Amministratore 30 Commerciale 35 Analista 35 Progettista 30 Verificatore 25 Programmatore 20 Una persona più ruoli, un ruolo più persone Responsabile e amministratore unici (diritti) Sostituiti da vice per VI e RC 12/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 4
verifiche ispettive Assicurazione della qualità del processo I progetti devono essere svolti e documentati secondo le procedure aziendali Verifica della documentazione I documenti esistono e sono disponibili Sono correttamente datati e versionati Le responsabilità attribuite sono state rispettate I contenuti rispettano i modelli aziendali Non conformità: lievi e gravi Ruoli coinvolti: responsabile, amministratore 13/22 processo e progetto Processo definito Attività (WBS) identificate fino al secondo livello Ruoli stabiliti Documentazione stabilita Modalità di controllo stabilite (VI e RC) Vincoli di progetto Tempi e scadenze date Risorse e impegno dati Consegne stabilite 14/22 impegno Ripartizione equa Dell impegno orario Delle responsabilità all interno del gruppo A consuntivo, per persona: Ore 60-80 (impegno) Euro 1800-2400 (responsabilità) I ruoli devono girare Tutti devono programmare Vice per responsabile e amministratore (VI e RC) Commerciale a rotazione 15/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 5
strumenti: PMango Applicazione per la gestione di progetto Applicazione web Ruoli: mango, doco e devo Pianificazione e consuntivazione delle attività Gantt e documentazione per le VI Analisi delle prestazioni e dell impegno Applicazione sperimentale (però solida) Mango 1.0 (M. Bonacchi), modulo di Dot Project Mango 2.0 (L. Ballini), riuso di Dot Project PMango 2.2 (R. Nicolini), documentazione PDF 16/22 calendario Date stabilite 12 ottobre formazione dei gruppi 14 ottobre inizio del progetto didattico 16 novembre consegna delle offerte 7 dicembre I revisione congiunta 23 dicembre II revisione congiunta 13 gennaio collaudo 18 gennaio ultima verifica ispettiva 20 gennaio fine del corso... consegne definitive... orale 17/22 compiti per casa Definire i gruppi Compilare gli organigrammi Inviarli per e-mail Motivazioni Tarare il progetto didattico Creare gli account su PMango Consegnarli formalmente 18/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 6
perché sì Storia di un formato 1998-2003, UniPd 2000-2006, UniFi Derivazioni: Vardanega-Conte, Ambriola-Macrì Tesi e PMango Considerazioni personali (vostre) Risolvere problemi software vi appassiona Gestire un progetto vi incuriosisce Lavorare in gruppo (non in mucchio) vi piace Vi manca un esperienza simile 19/22 perché no Interesse limitato Temi già noti, esperienze già acquisite Non farò mai sviluppo software (seriamente) Quantità di impegno per il progetto Definita e controllata Ma continua e scadenzata Rischi di progetto Difficoltà tecnologiche, trappole dello sviluppo sw Coordinamento con gli altri elementi del gruppo 20/22 per degli Informatici... cause when the goin gets tough...... the toughs get goin! Who s with me? 21/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 7
riferimenti http://www.di.unipi.it/~giovanni/ Pagina web del corso Riferimenti bibliografici, tracce, materiale Calendario delle lezioni e del progetto giovanni@di.unipi.it [TP-Gruppo] Al docente - [TP-Gruppo] Al cliente - [TP-Gruppo] Al SQ - Mail tendenzialmente dal responsabile In ogni caso firmate Persona Ruolo Gruppo 050 221 3128 22/22 Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 8