Obiettivi formativi
Il corso intende fornire una conoscenza approfondita sulle metodologie e tecniche per lo sviluppo del software, sul linguaggio di programmazione Java e sugli strumenti che possono semplificare lo sviluppo e la gestione di sistemi software.
Inoltre, il corso ha l’obiettivo di fornire la capacità di utilizzare la conoscenza acquisita e l’esperienza accumulata durante le esercitazioni per individuare le migliori soluzioni per progettare dei sistemi software e per realizzarne delle implementazioni soddisfacenti sia per quanto riguarda la qualità dei sistemi realizzati e sia per quanto riguarda il costo dello sviluppo.
Prerequisiti
Fondamenti di informatica, Fondamenti di programmazione.
Contenuti dell'insegnamento
Il corso presenta le principali tecniche e metodologie per lo sviluppo di sistemi software con particolare riferimento ai sistemi orientati agli oggetti e introduce il linguaggio di programmazione Java. In particolare, il corso affronta i seguenti argomenti:
Introduzione (3 ore)
Processi e modelli di sviluppo (7 ore)
Ingegneria dei Requisiti (16 ore)
Progettazione (15 ore)
Implementazione e il test (5 ore)
Installazione e manutenzione (2 ore)
Gestione dei progetti (3 ore)
Java (12 ore)
Programma esteso
Introduzione
Processi e modelli di sviluppo
- Processi di sviluppo del software
- Modelli per lo sviluppo del software
- UML
Ingegneria dei Requisiti
- Introduzione
- UML e OCL per l'ingegneria dei requisiti
- Raccolta dei requisiti
- Analisi dei requisiti
- Valutazione e gestione dei requisiti
Progettazione
- Processo di progettazione
- Principi di progettazione
- Progettazione architetturale
- Progettazione interfacce utente
- Software Pattern
- Progettazione orientata agli oggetti
Implementazione e il test
- Implementazione del software
- Test del software
Installazione e manutenzione
- Installazione del software
- Manutenzione deò software
Gestione dei progetti
Java
- Introduzione
- Classi e interfacce
- Eccezioni
- Input e output
- Tipi generici
- Collezioni di oggetti
- Interfacce grafiche
- Programmazione funzionale
- Programmazione riflessiva e concorrente
Bibliografia
Ian Sommerville. Ingegneria del Software, 10/ed, Pearson Education, 2017.
Metodi didattici
Il corso si basa su lezioni teoriche ed esercitazioni in laboratorio. In particolare le attività di laboratorio, saranno dedicate allo sviluppo di alcuni sistemi software utilizzando il linguaggio Java e gli strumenti presentati durante il corso. In queste attività, gli studenti opereranno individualmente, chiaramente sotto la guida e con il supporto del docente del corso e senza precludere positive interazioni tra gli studenti.
Le slide utilizzate a supporto delle lezioni verranno caricate sulla piattaforma Elly prima di ogni lezione. Per scaricare le slide è necessaria l’iscrizione al corso on line. Le slide vengono considerate parte integrante del materiale didattico. Quindi gli studenti non frequentanti devono controllare il materiale didattico e le indicazioni fornite dal docente disponibili sulla piattaforma Elly.
Modalità verifica apprendimento
Sono previste una prova scritta e una prova pratica. La prova scritta si basa su sette domande aperte a cui rispondere senza l'aiuto di appunti e libri. Cinque domande riguardano la valutazione della conoscenza acquisita sugli argomenti discussi durante il corso. Le restanti due domande riguardano la valutazione della capacità di applicare la conoscenza acquisita durante il corso. La durata della prova scritta è pari a 1 ora e trenta minuti e la prova è valutata con scala 0-30. il voto della prova scritta viene comunicato nell’arco di due settimane successive alla prova tramite pubblicazione su Elly. La prova pratica consiste nello sviluppo di un sistema software e può essere svolto dagli studenti in modo individuale o in gruppi con massimo due persone. La prova ha lo scopo principale di valutare la capacità di applicare la conoscenza acquisita durante il corso. Inoltre, la valutazione della prova dipenderà dalla qualità del sistema sviluppato, della relativa documentazione e della presentazione orale del sistema. La prova è valutata con scala 0-30 e il voto viene comunicato al termine della presentazione del sistema realizzato. L’esame è superato se il risultato di entrambe le prove è maggiore o uguale a 18. Il voto finale è uguale alla media aritmetica dei voti delle due prove. La lode può essere assegnata nel caso del raggiungimento del massimo punteggio su entrambe le prove.
Altre informazioni
- - -
Obiettivi agenda 2030 per lo sviluppo sostenibile
- - -