- Docente: Giuseppe Bellavia
- Crediti formativi: 9
- SSD: ING-INF/05
- Lingua di insegnamento: Italiano
- Moduli: Giuseppe Bellavia (Modulo 1) Giuseppe Bellavia (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea in Ingegneria informatica (cod. 0926)
Conoscenze e abilità da conseguire
Conoscenza dei modelli e degli strumenti per l'analisi, il progetto, lo sviluppo e il collaudo dei sistemi software. Capacità di progetto, sviluppo e collaudo di sistemi software.
Contenuti
- Introduzione all'ingegneria del software; prodotto software.
- Processo di sviluppo del software: studio di fattibilità, analisi e specifica dei requisiti, progettazione, realizzazione e collaudo dei moduli, integrazione e collaudo del sistema, utilizzo e manutenzione; fattori di qualità del software; modello a cascata, modelli evolutivi, extreme programming, analisi dei rischi, modello a spirale di Boehm.
- Analisi e progettazione orientata agli oggetti: linguaggi di modellazione, UML.
- Analisi: raccolta dei requisiti e loro validazione, analisi del dominio, analisi dei requisiti, casi d'uso e scenari, modello dei dati, individuazione delle classi e delle responsabilità, individuazione delle relazioni tra classi (ereditarietà, collaborazioni, associazioni), individuazione di attributi e metodi; modello dinamico: diagrammi di sequenza e di stato.
- Progettazione: implementazione delle associazioni, classi contenitore, classi generiche, identificazione degli oggetti, visibilità, classi radice, struttura a livelli di un'applicazione, supporto al livello data logic.
- Principi di progettazione: rigidità, fragilità e immobilità del software; "Single Responsibility Principle", "The Open/Closed Principle", "The Liskov Substitution Principle", "The Dependency Inversion Principle", "The Interface Segregation Principle"; design pattern.
- Introduzione al framework .NET e al linguaggio C#.
Metodi didattici
Il corso prevede lezioni frontali e almeno 12 ore di attività di laboratorio.
Modalità di verifica e valutazione dell'apprendimento
L'esame comprende un progetto e un orale. Il voto finale sarà calcolato nel seguente modo: 1/3 votoprogetto + 2/3 votoorale.
Il progetto è a tema libero e può essere sviluppato
esclusivamente in team di 3 persone o singolarmente.
Il progetto consiste in una relazione e in una presentazione.
La relazione dovrà contenere la trattazione completa
dell'intero progetto (testo e diagrammi UML) ad esclusione del
prototipo (che deve essere presentato al momento della
discussione).
La presentazione del progetto dovrà essere effettuata
mediante slide.
Team di 3 persone
Gli argomenti da trattare sono i seguenti (la
numerazione indica l'ordine di presentazione e gli argomenti che le
singole persone dovranno presentare):
1. Descrizione del problema
Documento dei requisiti
Glossario (solo nella relazione)
Casi d'uso, scenari (1+)
Prototipo (in linguaggio C#)
2. Modello statico: diagramma delle classi
con 10-15 classi di cui almeno 7 significative (non in
gerarchia)
Modello dinamico: un diagramma di sequenza o un diagramma di
stato
3. Diagramma delle classi modificato in
seguito alle scelte progettuali
Discussione sui design pattern (1+, singleton escluso) e sui
principi di progettazione utilizzati
La presentazione del progetto e del prototipo dovrà durare circa 45 minuti (15x3).
Persona singola
Gli argomenti da trattare sono i seguenti:
1. Descrizione del problema
Documento dei requisiti
Glossario (solo nella relazione)
Casi d'uso, scenari (1+)
Prototipo (in linguaggio C#)
Modello statico: diagramma delle classi con 8-12 classi di cui
almeno 5 significative (non in gerarchia)
Diagramma delle classi modificato in seguito alle scelte
progettuali
Discussione sui design pattern (1+, singleton escluso) e sui
principi di progettazione utilizzati
La presentazione del progetto dovrà durare circa 30 minuti.
L'orale si effettuerà immediatamente dopo la discussione del progetto e verterà su tutto il programma del corso.
L'orale può essere sostituito dal test. Il test è
disponibile solo negli appelli di giugno, luglio e
settembre. È possibile sostenere il test al massimo 2 volte
(giugno e luglio, giugno e settembre, luglio e settembre).
L'eventuale ripetizione del test annulla il risultato precedente.
L'annullamento ha effetto nel momento in cui ci si presenta alla
prova.
Il risultato del test potrà essere utilizzato in sostituzione
dell'orale sino all'ultima data disponibile per la consegna dei
progetti.
Il test consiste in quiz a scelta multipla (una sola risposta è
quella corretta).
Durante il test non è possibile utilizzare appunti o altro.
Orario di ricevimento
Consulta il sito web di Giuseppe Bellavia