Attività | Crediti | Periodo | Docenti | Orario |
---|---|---|---|---|
Teoria | 5 | I semestre | Mariano Ceccato | |
Laboratorio | 1 | I semestre | Mariano Ceccato |
L’insegnamento si propone di presentare e applicare le principali metodologie e tecnologie da adottare nella progettazione e sviluppo di sistemi software. Al termine del corso, lo studente saprà quali strumenti mettere in campo per la definizione dei requisiti, la progettazione, l’implementazione e la verifica del software. Queste conoscenze consentiranno allo studente di partecipare proattivamente e consapevolmente ad attività di sviluppo software, padroneggiando le metodologie e le tecnologie di supporto alle varie fasi dello sviluppo.
Il programma del corso include le seguenti tematiche:
• Introduzione all’ingegneria di software: definizioni, considerazioni etiche, casi di studio.
• Processi di sviluppo del software: modello a cascata, modello a spirale, modelli agili.
• Ingegneria dei requisiti: metodologie per la raccolta e validazione dei requisiti, interazione con gli stakeholders.
• Progettazione del software: linguaggio UML e suo utilizzo per progettazione e documentazione del software. Class diagram, sequence diagram, object diagram, package diagram, use case diagram, activity diagram.
• Implementazione del software: gestione della configurazione, build system, integrated development environment (IDE).
• Architetture software: progettazione e vista architetturale. Pattern di architetture software: Layers, Pipes and filters, Repository, Client server, MVC.
• Validazione del software: test di unità, test di integrazione e test di sistema. Test black-box e white-box. Copertura e adeguatezza dei casi di test. Mutation testing.
• Gestione del software: gestione del rischio, gestione di progetto.
• Evoluzione del software: refactoring e bad smells.
Gli studenti verranno valutati mediante un esame orale ed attività di laboratorio.
Attività | Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Teoria | Ian Sommerville | Ingegneria del software - 10/Ed. (Edizione 10) | Pearson | 2017 | 9788891902245 | |
Laboratorio | Ian Sommerville | Ingegneria del software - 10/Ed. (Edizione 10) | Pearson | 2017 | 9788891902245 |