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. |
Si richiede la conoscenza dei fondamenti della programmazione e di un linguaggio di programmazione orientato agli oggetti, tipicamente Java. |
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. |
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 |
Gli esercizi consisteranno in applicazioni semplificate dei concetti studiati nel corso. |
Docente/Tutor Responsabile insegnamento |
|