Tu sei qui

Gestione dei progetti software

Gestione dei Progetti Software
Corso di Laurea Triennale in Informatica F004

SCV0318 (SCV0074)
Docente: Sandro Morasca


CFU SSD LEZIONI ANNO LINGUA
6 ING-INF/05 48 II o III Italiano


Obiettivi dell’insegnamento e risultati di apprendimento attesi
Il corso presenta le tecniche necessarie per organizzare, pianificare e controllare il processo di sviluppo del software allo scopo di ottenere il prodotto software desiderato con costi e tempi prevedibili e con il livello di qualità richiesto.
In particolare, vengono illustrate: tecniche di modellazione del processo di sviluppo, tecniche per la misurazione del processo e del prodotto software, metodi di stima dei costi e dei tempi di sviluppo, notazioni e tecniche per la pianificazione, per il controllo dell’avanzamento, per il monitoraggio e controllo dei rischi, per la pianificazione e controllo della qualità.
Gli argomenti in programma sono selezionati sulla base di una consolidata base di conoscenze e metodi. A questo proposito, il corso si ispira alla "A Guide to the Project Management Body of Knowledge", del Prject Management Institute, anche anche se non si propone di esserne perfettamente conforme, soprattutto riguardo alla completezza della trattazione, che è naturalmente molto più limitata.
Il corso vuole anche abituare lo studente al linguaggio tecnico del settore, con particolare riferimento alla terminologia in lingua inglese.
I risultati di apprendimento attesi sono i seguenti.

  • Conoscenza e capacità di comprensione
    • Conoscenza della natura dei diversi tipi disemilavorati software (specifiche, documentazione dei progetto, codice, cas idi test, problem report, richieste di moodifica, documentazione utente, ecc.)
    • Conoscenza della natura e delle problematiche del processo di sviluppo del software, con particolare riferimento alla variabilità del processo e alla sua dipendenza dalla creatività, capacità ed esperienza degli sviluppatori e dalle richieste ed esigenze degli utenti/committenti.
    • Conoscenza dei diversi tipi di cicli di vita del software e soprattutto delle caratteristiche che li rendono più o meno adatti alle diverse situazioni, requisiti e vincoli di sviluppo.
    • Conoscenza delle tecniche di gestione dei progetti.
    • Conoscenza delle tecniche di analisi, classificazione, valutazione e gestione dei rischi. Conoscenza dei rischi che più comunemente si verificano durante lo sviluppo di software.
    • Conoscenza delle tecniche e dei processi di modifica controllata del software, con particolare enfasi sulla gestione delle configurazioni suftware e sulla documentazione e correzione dei problemi e delle richieste di modifica.
  • Conoscenza e capacità di comprensione applicate
    • Capacità di modellare un processo di sviluppo, in modo da evidenziarne le caratteristiche essenziali.
    • Conoscenza e capacità di applicare i principali metodi di stima dei costi di sviluppo.
    • Conoscenza e capacità di applicare le tecniche di analisi e descrizione del lavoro e delle sue attività, e loro pianificazione.
  • Autonomia di giudizio e abilità comunicative
    • Capacità di riconoscere quali misure del software sono applicabili a ciascun tipo di semilavorato e in quali situazioni.
    • Capacità di riconoscere le problematiche dello sviluppo, i suoi rischi e adeguare quindi le tecniche di pianificazione e gestione in base alla situazione.
    • Capacità di comunicare le grandezze caratteristiche di un porgetto di sviluppo del software: dimensioni, WBS, costi, stato di avanzamento, parametri di qualità, condizioni id rischio, ecc.
  • Capacità di apprendere
    • Grazie alla capacità –sviluppata durante tutto il corso– di rapportare puntualmente tecniche, metodi e strumenti alle problematiche dello sviluppo, lo studente sviluppa la capacità di apprendere nuove tecniche, metodi e strumenti, e anche ad affinare ed adattare autonomamente quanto appreso nel corso.

Prerequisiti
È richiesta la conoscenza delle problematiche fondamentali dello sviluppo di software.
È opportuna una buona conoscenza della lingua inglese scritta, che permetta la compresione delle pubblicazioni e articoli forniti dal docuente o disponibili in rete.

Contenuti e programma del corso

  • La natura del prodotto SW – I processi di sviluppo del software: caratteristiche tecniche e problematiche organizzative. Lezioni ore 6;
  • Cicli di vita del software (a cascata, prototipale, RAD, evolutivo, a spirale, RUP). Lezioni ore 4;
  • I processi software agili – aspetti tecnici e gestionali. Extreme programming. SCRUM. Lezioni ore 4;
  • Modelli di processo. Lezioni ore 2;
  • Le dimensioni del software e la loro misura. Lines of code, Function points, COSMIC function points. Misure di coesione, complessità e altre caratteristiche rilevanti del software. Lezioni ore 4;
  • Tecniche di misurazione basate su modelli. Lezioni ore 4;
  • Metodi di stima. L’analisi dei dati e la costruzione di modelli di stima. Lezioni ore 8;
  • COCOMO e COCOMO II Lezioni ore 4;
  • Pianificazione: problematiche, tecniche (WBS) e notazioni (Gantt, PERT). Lezioni ore 6;
  • Gestione e controllo dei progetti. Lezioni ore 2;
  • Gestione del rischio. Lezioni ore 2;
  • Software Configuration Management e change management. Lezioni ore 2;

Tipologia delle attività didattiche
Vengono tenute lezioni frontali (per complessive 48 ore).

Testi e materiale didattico
Le slide usate a supporto delle lezioni sono disponibili sul sito dell’e-learning dell’Università. Sul sito dell’e-learning dell’Università sono anche disponibili link a siti e materiale di interesse.

Modalità di verifica dell’apprendimento
L’apprendimento è verificato mediante un esame che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova scritta della durata di due ore (senza l'aiuto di appunti o libri). La prova scritta consiste nello risposta a domande per la verifica delle conoscenze degli aspetti più propriamente concettuali e nello svolgimento di esercizi volti sia a verificare le conoscenze acquisite sia a valutare quanto l’esaminando sia in grado di individuare le principali caratteristiche di un problema gestionale e di suggerire azioni correttive o comunque in grado di limitare gli effetti negativi, mostrando così l’acquisita capacità di identificare gli elementi di teoria da utilizzare

Orario di ricevimento
Durante il periodo in cui si svolge il corso il docente riceve nei pomeriggi dei giorni in cui c’è lezione. Al di fuori di tale periodo, su appuntamento.

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer