Azienda
Catalogo corsi / Informatica / Programmazione

* UML -Analisi e programmazione
Codice INF_PRG_UML
Titolo UML -Analisi e programmazione
Categoria Informatica
Sottocategoria Programmazione
Requisiti

Sono richieste conoscenze generali in informatica. Pur non essendo indispensabile un’esperienza nell’analisi o programmazione, né il dominio di un linguaggio orientato agli oggetti, queste conoscenze rappresentano sicuramente un vantaggio.

Durata 40 ore
Curriculum Non presente
Descrizione

 

Obiettivi

L’UML (Unified Modeling Language) è la nozione standard dominante per il modellamento dei sistemi informatici. Questa tecnologia permette di specificare, visualizzare, costruire e documentare tutti gli aspetti del sistema e si applica sia ai sistemi informatici che ai sistemi software, tecnici, aziendali e in tempo reale. Questo corso permette di acquisire le conoscenze di base necessarie per l’utilizzo dell'UML e di applicare le migliori pratiche di analisi e di programmazione degli oggetti. Alcuni esempi e studi di casi concreti metteranno in evidenza le specifiche tecniche dell’UML e le diverse tappe di costruzione di una soluzione informatica. Al termine del corso, i partecipanti saranno in grado di valutare i vantaggi dell’UML e il ruolo nello sviluppo dei progetti.

 

Partecipanti

Il corso è destinato a project manager, analisti, designer, progettisti software e sviluppatori che vogliono dedicarsi alla programmazione orientata agli oggetti.

 

Esercizi pratici

L’attività pratica si articola su diversi studi di caso che permettono di capire le varie fasi di modellamento degli oggetti in UML. Gli studi di caso sono completati da esercizi regolari di crescente difficoltà che mettono in evidenza il formalismo dei modelli UML e le diverse opzioni di modellamento. Sono presentati a titolo dimostrativo vari ambienti provenienti dal mercato e dalla comunità Open Source. Gli esercizi e gli studi di caso sono eseguiti mediante lo strumento Rational Rose o XDE.

 

 

Programma del corso

La metodologia orientata agli oggetti

Comprendere le nozioni principali della metodologia orientata agli oggetti

- Riferimento ai paradigmi di programmazione (logica, imperativo, oggetto, ecc.).

- Gli oggetti: identità, stato e comportamento. Relazioni al mondo reale e ai sistemi informatici.

- Popolarità, vantaggi dell’approccio "object-oriented".

- Astrazione, incapsulamento, classificazione. Classi e istanze. Classi astratte. Concetto di eredità.

- Metodi e invio di messaggi fra gli oggetti. Polimorfismo. Sovraccarico e ridefinizione.

Esercizi

Dimostrazioni di ambienti per lo sviluppo orientato agli oggetti e delle applicazioni che presentano le tematiche affrontate.

Analisi e programmazione orientata agli oggetti, introduzione all’UML

Perché realizzare i modelli? Comprendere lo spettro dell’analisi e della programmazione

- Dominio aziendale e modellamento di una soluzione informatica. Il modello, un elemento chiave del processo progetto.

- Analisi e programmazione di una soluzione informatica. Impatti dei linguaggi di programmazione.

- Evoluzione verso l’analisi/programmazione ad oggetti. Vantaggi.

Presentazione generale di UML.

- Cronologia, evoluzione e obiettivi. Viste dell’architetto.

- Il cuore dell’UML: i diversi tipi di diagrammi. Differenze fra i diagrammi statici e dinamici.

- Presentazione di svariate procedure di modellamento.

- Estensioni UML: stereotipo, profili, vincoli, ecc.

Esercizi

Presentazione degli studi di caso. Analisi dei domini aziendali.

Diagramma UML dei casi di utilizzo

Cattura e descrizione delle necessità funzionali dell’applicazione

- Principali obiettivi e utilizzo. Descrizione delle funzionalità del sistema.

- Elementi del diagramma: caso di utilizzo, attori e frontiera del sistema.

- Tappe di costruzione del modello del caso di utilizzo.

- Come identificare gli attori? Come descrivere un caso di utilizzo? Gli scenari.

- Formati, pre-condizioni, post-condizioni, relazioni (utilizzo, inclusione, estensione).

Esercizi

Cattura delle necessità su casi concreti ed espressioni delle dette necessità mediante diagrammi dei casi di utilizzo. Applicazione in una situazione reale.

Diagrammi UML di modellamento statico

Mostrare una visione di insieme del sistema, degli elementi e delle loro relazioni

- Diagramma di classe: ruolo e utilizzo. Esempi.

- Come identificare le classi utili?

- Una classe in UML: nome, attributi e operazioni. Visibilità (pubblica, privata e protetta).

- Formalismo e notazione.

- Relazioni fra le classi (associazione, generalizzazione, aggregazione e composizione).

- Molteplicità, ruoli, vincoli, ecc.

- Classi astratte, interfacce, pacchetti.

- Diagramma di oggetti e istanze di classi.

Esercizi

Acquisire, in base agli studi di caso, le competenze necessarie per programmare le classi e modellare gli oggetti.

Diagrammi UML di modellamento dinamico

Mostrare l’evoluzione del sistema e le interazioni fra gli oggetti

- Diagramma di sequenza: interazioni fra gli oggetti nel corso del tempo. Messaggio (sincrono e asincrono).

- Diagramma di collaborazione: ruolo degli oggetti, interazioni, concorrenza di trattamenti, ecc.

- Diagramma dello stato transizione: stati possibili di un oggetto ed eventi che attivano le transizioni.

- Diagramma di attività: flusso delle attività per realizzare un’operazione, oggetti a carico delle attività.

- Annotazioni ed esempi.

Esercizi

Completare gli studi di caso per il modellamento della dinamica del sistema. Contesto di utilizzo dei diagrammi dinamici.

Finalizzazione del sistema

L’architettura software e hardware del sistema

- Modelli di architetture. Organizzazione a livelli. In base ai sistemi.

- I pacchetti e le loro relazioni.

- Diagramma dei componenti: organizzazione del codice in moduli, dipendenze.

- Diagramma di distribuzione: distribuzione fisica del sistema (macchine, reti, ecc.).

Esercizi

Definire l’architettura delle soluzioni proposte. Integrazione finale dei diagrammi UML.

Concetti avanzati, strumentazione

Complementi di programmazione

- Modelli di dati. Mapping oggetti/relazionale. Altri modelli.

- Programmazione degli schermi IHM.

- Risoluzione dei problemi ricorrenti.

- Design Pattern (ad es.: singleton, adattatore, proxy, facade, ecc.), il loro ruolo nella concezione.

- Framework, riusabilità.

Laboratori di modellamento

- Generazione di rapporti e codice. Creazione di stereotipi, ecc.

- Formato XMI di scambio dei modelli UML fra gli AGL.

UML e i metodi del progetto

- Diversi approcci. Integrazione di UML.

- Introduzione al Rational Unified Process (RUP), iterazioni, fasi e attività.

- Altre possibilità (XP, ecc.).

Esercizi

Test delle funzionalità avanzate di AGL.

 




>> Torna all'elenco
e-learning
Newsletter
Tieniti informato su tutti i nuovi corsi a disposizione, in modo rapido, semplice e gratuito!
Clicca qui
CE CE

CE Certificazioni / Riconoscimenti