INGEGNERIA DEL SOFTWARE

Obiettivi formativi

Obiettivi generali: Il corso illustra i fondamenti delle metodologie e degli strumenti per la gestione dei processi software. Particolare attenzione viene dedicata alle metodologie di analisi e progettazione orientate agli oggetti, e alla loro gestione e documentazione mediante UML. Obiettivi specifici: Introduzione agli approcci all'ingegneria del software e al ciclo di vita del software, approfondimento sulle attività di specifica, analisi, progetto e test di sistemi software, tecniche per la gestione dei processi, con particolare riferimento alla gestione della qualità e dei rischi e all'analisi dei costi. Conoscenze e comprensione: Alla fine del corso lo studente avrà acquisito conoscenze relative ai principali modelli di ciclo di vita del software, alle metriche per il dimensionamento dello sforzo, alle tecniche di descrizione delle diverse componenti di un progetto software. Saranno state acquisite conoscenze relative all'uso del linguaggio UML. Infine, avranno anche acquisito familiarità con la letteratura scientifica nel campo. Applicarei conoscenza e comprensione: Alla fine del corso lo studente sarà in grado di lavorare in team alle attività di analisi, progettazione, documentazione e gestione di progetti software di medie dimensioni. Avranno imparato a produrre documentazione basata su UML, relativamente ai principali tipi di diagrammi: dei casi d'uso, delle classi, di interazione, di stato e di attività, anche attraverso l'utilizzo di ambienti software professionali orientati allo sviluppo sistematico di progetti software. Infine saranno in grado di produrre una valutazione dello sforzo basato su Punti Funzione e Punti Use Case. Capacità di giudizio: Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse alternative durante il processo di sviluppo software, con particolare riferimento alla valutazione delle scelte architetturali e dei rischi di progetto. Capacità di comunicazione: Gli studenti impareranno a documentare le loro scelte, anche attraverso l'uso di strumenti di generazione della documentazione, in particolare sfruttando notazioni diagrammatiche. Avranno anche acquisito la capacità di preparare presentazioni relative ad argomenti scientifici. Capacità di apprendimento successivo: La conoscenza degli aspetti di rigore formale alla base della disciplina dell'ingegneria del software permetterà agli studenti di acquisire rapidamente confidenza con tecniche, oltre a quelle considerate nel corso, basate su principi generali.

Canale 1
PAOLO GASPARE BOTTONI Scheda docente

Programmi - Frequenza - Esami

Programma
Introduzione all'ingegneria del software Principi dell'Ingegneria del Software Processo Software Sviluppo rapido Rational Unified Process Ingegneria dei requisiti Modellazione di Sistemi Software Dall'analisi al Progetto Progetto architetturale Gestione progetto: Pianificazione Gestione progetto: Stima dei Costi Gestione progetto: Assicurazione della Qualità e Gestione Rischi Attività di testing Pattern di Progetto
Prerequisiti
Si assume la conoscenza di un linguaggio orientato agli oggetti e dei fondamenti della programmazione
Testi di riferimento
Ian Sommerville, Software Engineering, 10th Edition Pearson
Modalità insegnamento
Lezioni registrate Approfondimenti tramite Webinar
Frequenza
Corso telematico
Modalità di esame
Il voto è basato sulla discussione di un progetto.
Bibliografia
Documentazione UML C. Ghezzi, M. Jayazeri, D. Mandrioli, Foundations of Software Engineering, (2a ed. USA), Prentice-Hall, 2003 J.Arlow, I. Neustadt, UML 2 and the Unified Process, Addison-Wesley, 2005 (ed. Italiana, McGraw-Hill, 2006) R.S.Pressman, Principi di Ingegneria del Software, 3a ed. it. (5a ed. USA), McGraw-Hill Italia, 2000 L. Baresi, L. Lavazza, M. Pianciamore, Dall’idea al codice con UML2, Pearson Education Italia, 2006 S.L. Pfleeger, J:M: Atlee: Software Engineering. Theory and Practice. Fourth Edition, 2009, Prentice-Hall
Modalità di erogazione
Lezioni registrate Approfondimenti tramite Webinar
  • Codice insegnamento1022301
  • Anno accademico2024/2025
  • CorsoInformatica - erogato in modalità prevalentemente a distanza
  • CurriculumCurriculum unico
  • Anno3º anno
  • Semestre1º semestre
  • SSDINF/01
  • CFU6
  • Ambito disciplinareDiscipline Informatiche