Università degli studi dell'Insubria

PROGETTAZIONE DEL SOFTWARE

A.A. di erogazione 2017/2018

Laurea triennale in INFORMATICA
 (A.A. 2016/2017)
Anno di corso: 
2
Tipologia di insegnamento: 
Caratterizzante
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Crediti: 
8
Ciclo: 
Primo Semestre
Ore di attivita' frontale: 
72
Dettaglio ore: 
Lezione (48 ore), Esercitazione (24 ore)

Il corso illustra gli elementi concettuali e applicativi più importanti a riguardo della progettazione di sistemi software. L'obiettivo primario è di fornire agli studenti le conoscenze necessarie allo sviluppo di progetti software che siano pienamente soddisfacenti dal punto di vista sia della loro funzionalità sia di tutte le altre qualità importanti per gli utenti. Inoltre, gli studenti sviluppano la capacità di analizzare progetti software esistenti, in modo da poterli valutare e se necessario modificare. Infine, gli studenti sono in grado di riutilizzare soluzioni progettuali esistenti, codificate tramite i design pattern. Il linguaggio di progettazione utilizzato è lo Unified Modeling Language (UML), lo standard de facto nel settore. L'insegnamento di natura più concettuale trova la sua applicazione in una serie di esercitazioni che sono svolte per la parte di realizzazione nel linguaggio Java. Inoltre, vengono introdotte le interfacce grafiche come esempi di sistemi basati su eventi.
Al termine di questo corso lo studente:
- conosce i fondamenti concettuali della progettazione del software;
- conosce le parti più importanti di UML;
- conosce i design pattern più utilizzati;
- applica UML e design pattern per la progettazione di sistemi software;
- è in grado di progettare e implementare interfacce grafiche in Java.

Pertanto, lo studente è in grado di individuare lo schema concettuale di risoluzione di un problema a diversi livelli di raffinamento e di utilizzare il linguaggio di progettazione per l’organizzazione della sua soluzione. Inoltre, lo studente è in grado di valutare la qualità e l’adeguatezza di diverse soluzioni alternative in modo da poter scegliere quella più appropriata e modificare soluzioni esistenti in modo tale da poter raggiungere in maniera efficace gli obiettivi di progetto.

Inoltre, lo studente è in grado di presentare con la corretta terminologia le caratteristiche funzionali e di qualità del progetto di un sistema software in modo da poterne illustrare i punti di forza e recepire eventuali proposte per modifiche e miglioramenti dagli altri attori del processo di produzione del software. Ciò permette allo studente di potersi inserire facilmente in gruppi di lavoro quali quelli che in larga misura caratterizzano lo sviluppo del software. Infine, il corso vuole anche abituare lo studente al linguaggio tecnico del settore, con particolare riferimento alla terminologia in lingua inglese.

È richiesta la conoscenza della programmazione del software. È opportuna una buona conoscenza della lingua inglese scritta, che permetta la comprensione di parte del materiale fornito dal docente e di quello disponibile in rete.

Concetti fondamentali della progettazione del software (18 ore di lezione e 2 ore di esercitazione).
Le attività di sviluppo del software. Le qualità del software. L’approccio object-oriented per lo sviluppo e il progetto del software. L’ereditarietà come strumento concettuale per la progettazione del software. Principi della progettazione del software e aspetti concettuali. I moduli e le loro relazioni. Linguaggi di descrizione dei progetti software.

UML come linguaggio di sviluppo di un progetto del software (22 ore di lezione e 12 ore di esercitazione).
Unified Modeling Language (UML): concetti generali e struttura. Use Case Diagram. Interaction Diagram. Class Diagram, Package Diagram e Object Diagram. Statecharts. Activity Diagram, Timing Diagram, Composite Structure Interaction Diagram. Studio di un caso.

Le interfacce grafiche (4 ore di lezione e 6 ore di esercitazione).
Le interfacce grafiche.

I design pattern. (4 ore di lezione e 4 ore di esercitazione).
Design Pattern.

Lezioni per 48 ore ed esercitazioni per 24 ore.

Il grado di apprendimento viene verificato tramite una prova scritta. Durante il corso sono previste due prove parziali il cui superamento comporta il superamento dell’esame.
Lo scopo della prova scritta (e delle prove parziali) è di verificare l’apprendimento e la comprensione degli elementi relativi alla progettazione dal punto di vista teorico e applicato (in problemi di non elevata complessità). Le prove scritte (come le prove parziali) consistono di:

- esercizi per la verifica della comprensione e della conoscenza dei concetti fondamentali di UML e dei design pattern e la capacità di sviluppare progetti di software;
- esercizi per la verifica della capacità di progettare e realizzare interfacce grafiche;
-domande per la verifica delle conoscenze degli aspetti più propriamente concettuali.

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.

Durante il periodo in cui si svolge il corso il docente riceve nei giorni in cui si tengono le lezioni. Al di fuori di tale periodo, su appuntamento (sandro.morasca@uninsubria.it).

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2019/2020

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2018/2019

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2017/2018

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 2
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 2
Curriculum: PERCORSO COMUNE