Corso Vittorio Emanuele II, 39 - Roma 0669207671

Ingegneria Informatica/Information and communication technologies engineering (with Helwan University) (Anno Accademico 2008-2009)

Algoritmi e programmazione avanzata (vecchio programma)


CFU: 5
Lingua contenuti:Italiano
Descrizione dell'insegnamento
Il corso approfondisce metodi e strumenti dell'ingegneria del software. I temi centrali sono: il ciclo di vita del software, con particolare riguardo alle fasi di specifica dei requisiti e di progettazione, il paradigma ad oggetti la notazione UML e il linguaggio Java.
Prerequisiti
Si richiede la conoscenza dei fondamenti della programmazione e di un linguaggio di programmazione orientato agli oggetti, tipicamente Java.
Scopi
L'obiettivo del corso è lo studio e l'approfondimento degli aspetti fondamentali relativi alla progettazione del software: le qualità del software, il concetto di modulo e la modularizzazione, la distinzione tra analisi (concettualizzazione), progetto e realizzazione, la nozione di specifica. Gli argomenti vengono trattati utilizzando la notazione di UML (Unified Modeling Language) per la fase di analisi, e il linguaggio Java per la fase di progetto e realizzazione. Alla fine del corso lo studente dovrebbe avere acquisito tecniche e metodi per affrontare problemi di progettazione dei programmi secondo una metodologia basata sulla distinzione tra concettualizzazione, progetto e realizzazione, sulla modularizzazione e sulla orientazione agli oggetti.
Contenuti
Il ciclo di vita del software

Le qualità del software
Qualità esterne
Qualità interne

La modularizzazione
Modularizzazione del software
Principi di modularizzazione

Introduzione all'analisi e al linguaggio UML
Introduzione al linguaggio UML
Il diagramma delle classi e degli oggetti

Le associazioni in UML
Istanze di associazioni: link
Più associazioni tra due classi
Nomi di associazioni
Ruolo delle associazioni

Proprietà di associazioni
Associazioni n-arie
Vincoli di molteplicità

La generalizzazione
Generalizzazioni disgiunte
Generalizzazioni complete
Ereditarietà multipla
Differenza tra due is-a e una generalizzazione

Metodologia di analisi

Il diagramma degli use case

Il diagramma degli stati e delle transizioni

Introduzione a java come linguaggio orientato agli oggetti
Testi
Lucidi del corso
Esercitazioni
Gli esercizi consisteranno in applicazioni semplificate dei concetti studiati nel corso.
Docente/Tutor Responsabile insegnamento
Massimo Poncino
Docenti video
Prof. Maurizio Lenzerini - Università "La Sapienza" di Roma (Roma - Italia)
Prof. Giuseppe De Giacomo - Università "La Sapienza" di Roma (Roma - Italia)
Elenco delle lezioni
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Maurizio Lenzerini
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo
Giuseppe De Giacomo