PROGETTAZIONE DEL SOFTWARE canale 1

Docente coordinatore e verbalizzante: PAOLO LIBERATORE

Obiettivi formativi

Obiettivi generali:

Il corso propone un'introduzione alla programmazione orientata agli oggetti, usando il linguaggio Java come strumento per illustrare concetti fondamentali come oggetti, metodi, classi, interfacce, ereditarietà, polimorfismo, tipi generici, package, iteratori ed eccezioni. Particolare enfasi viene posta sull'uso e sul progetto di librerie software e su aspetti generali come modularità, robustezza, riusabilità e manutenibilità del codice illustrando concetti come astrazione, incapsulamento, mascheramento dell'informazione, generalizzazione e specializzazione che consentono di realizzare applicazioni complesse su larga scala.

Obiettivi specifici:

Conoscenza e comprensione:
I principali standard della progettazione orientata agli oggetti. Le tecniche per la programmazione su larga scala orientata agli oggetti.Il linguaggio di progettazione del software UML. Il linguaggio di programmazione JAVA.

Applicare conoscenza e comprensione:
Essere in grado di progettare una applicazione costituita da diverse classi e associazioni, e da diverse attivita` anche concorrenti che insistono sulle stesse.

Capacità critiche e di giudizio:
Essere in grado di valutare la qualità di una applicazione distinguendo gli aspetti relativi alla modellazione dei dati da quelli relative alla modellazione dei processi.

Capacità comunicative:
Le attività progettuali e le esercitazioni del corso permettono allo studente di essere in grado di comunicare/condividere i requisiti di una applicazione software di media complessita', nonché le scelte progettuali e le metodologie di progettazione e sviluppo di tale applicazione.

Capacità di apprendimento:
Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso, in particolare le attività progettuali, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso, al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.

Risultati di apprendimento attesi

Linguaggio Java e in programmazione orientata agli oggetti. Sviluppo secondo la metodologia UML.

Prerequisiti

Programmazione in altri linguaggi.

Programma dell’insegnamento

introduzione a Java

classi e oggetti

costruttori

metodi e variabili statiche

ereditarieta'

package

overriding

interfacce in Java

collections framework

thread

interfacce grafiche

programmazione di rete

concetti generali di progettazione del software

diagramma UML delle classi e sua realizzazione

diagramma UML degli stati e delle transizioni e sua realizzazione

diagramma UML delle attivita' e sua realizzazione

Testi di riferimento

Documentazione ufficiale Java. Specifiche UML.

Modalità di svolgimento

lezioni in aula, laboratorio

Frequenza

frequenza delle lezioni ed esercitazioni

Modalità di esame

programma Java al computer

sviluppo di un software nella metodologia UML

Esempi di domande

Realizzare un programma Java con interfaccia grafica che si connette a un
server e visualizza quanto ricevuto. Implementazione di una parte di specifica
di un sistema informatico gestionale.

Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030

  • Goal4
  • Anno accademico2026/2027
  • Corso di studio a cui afferisce l’insegnamentoIngegneria Informatica e Automatica
  • Codice insegnamento1018706
  • CurriculumAutomatica
  • Anno e semestre2º anno - 1º semestre
  • TipologiaAttività formative caratterizzanti
  • AmbitoIngegneria informatica
  • SSDING-INF/05
  • Presenza obbligatoriaNo
  • Linguaita
  • CFU9 CFU
  • Durata complessiva90 ore
  • Distribuzione delle ore54 classroom hours, 18 training hours, 18 laboratory hours