corso |
Codice: | AA567 | Crediti: | 5 | Semestre: | 2 | Sigla: | LGS | |
Settore disciplinare: | INF/01 - Informatica |
Si richiede la conoscenza dei principali concetti di ingegneria del software e esperienze di sviluppo di un progetto software.
Gli obiettivi del corso, riservato agli studenti delle lauree specialistiche di Informatica (Informatica, Tecnologie Informatiche, Informatica per l'Economia e l'Azienda, Informatica Umanistica) sono l’acquisizione e l'applicazione pratica di metodi e strumenti per la gestione di progetti di sviluppo software.
Lo studente acquisirà conoscenze sulla pianificazione delle attività di un progetto, sulla organizzazione delle risorse e dei processi di sviluppo, sulla stima di tempi e costi e sul loro monitoraggio e controllo, sulla pianificazione e sulla gestione della qualità del progetto e sulla redazione e gestione della documentazione richiesta.
Lo studente saprà redigere l’organigramma, il piano di lavoro e il piano di qualità del progetto identificando le attività e i prodotti, determinando i costi e allocando le risorse. Sarà in grado di definire e utilizzare metriche per il monitoraggio del progetto, di rilevare e interpretare eventuali scostamenti dai piani, di effettuare eventuali azioni correttive, di produrre reportistica di stato avanzamento lavori e di rendicontazione e la documentazione richiesta dagli standard adottati nel corso.
Lo studente opererà principalmente guidando un piccolo gruppo, imparando a:
rappresentare il progetto e il gruppo, in particolare nel corso delle verifiche periodiche; organizzare, indire e condurre riunioni con il gruppo di lavoro su vari argomenti; validare, direttamente o indirettamente, ed approvare i prodotti; assegnare le attività e coordinare il gruppo di lavoro; controllare il regolare andamento del progetto e la realizzazione dei prodotti (software e documentazione); rilevare e comprendere i problemi e identificare le opportune soluzioni; gestire i rischi e gli eventi imprevisti che hanno impatto sui piani. Si occuperà inoltre della gestione della documentazione (versioni, consistenza, aggiornamento).
La contemporanea efficace gestione dei progetti software presuppone la conoscenza e la capacità di applicare tecniche di pianificazione e organizzazione del lavoro e di controllo delle attività, dei costi, dei rischi e della qualità.
I vincoli di tempi, costi e qualità degli attuali contratti di sviluppo software sono sempre più stretti e formali.
La gestione dei progetti software ha inoltre una sua specificità, riferendosi ai processi di sviluppo e ai cicli di vita tipici del software.
Il corso presenta metodi e tecniche di pianificazione, organizzazione, controllo e documentazione di un progetto software, con riferimenti semplificati ad alcuni standard riconosciuti ( ISO 12207 per il processo software, PMbok e Prince2 per le attività gestionali). Consente inoltre agli studenti di applicare concretamente le tecniche acquisite attraverso la gestione di progetti software didattici attivati in laboratori delle lauree di primo livello di Informatica.
Gli aspetti teorici del corso verranno trattati in parallelo alla esecuzione dei progetti didattici; ogni singola tecnica presentata verrà applicata concretamente in attività di laboratorio.
Gli studenti assumeranno sia i ruoli di responsabile di progetto che di amministratore, svolgendo così due funzioni complementari nell’ambito del laboratorio.
Si prevedono 24 ore di laboratorio, in parte in co-presenza con gli studenti di Laboratorio di Programmazione Software.
I temi trattati nel corso sono i seguenti:
1. processi di sviluppo software e processi di gestione: approfondimenti
2. l’organizzazione e le responsabilità: l’organigramma, i ruoli, le comunicazioni, le riunioni e il coordinamento.
3. la documentazione del progetto, la gestione della documentazione.
4. qualità dei processi e dei prodotti: pianificazione e gestione della qualità, verifiche della qualità.
5. la pianificazione delle attività: l’instanziazione del processo e la scomposizione delle attività (wbs), analisi dei tempi e del percorso critico, l’allocazione delle risorse, il diagramma di gantt, elementi di analisi dei rischi.
6. economia del software: la stima dei costi, il budget di progetto, la redazione di una offerta tecnico-economica.
7. il monitoraggio del progetto: reportistica e valorizzazione degli indicatori di tempi, costi e qualità, rilevazione e analisi degli scostamenti.
8. il controllo: le azioni correttive, la previsione a finire, la ripianificazione.
<Ore lezione: | 24 | Ore laboratorio: | 24 |
Testi. Dispense e fotocopie distribuite dal docente.
Software. PMango
Il corso prevede un'attività obbligatoria di progetto, da svolgersi in coordinamento con gruppi appartenenti al Laboratorio di Progettazione Software e nello stesso semestre.
Il superamento del corso avviene con l’approvazione da parte del docente delle attività svolte e documentate secondo le modalità stabilite dal docente stesso e comunicate all’inizio del corso.