Azienda
Catalogo corsi / Informatica / Programmazione

* Programmazione orientata agli oggetti
Codice INF_PRG_COB
Titolo Programmazione orientata agli oggetti
Categoria Informatica
Sottocategoria Programmazione
Requisiti

I partecipanti devono possedere buone conoscenze generali in informatica, in particolare nel settore della progettazione delle applicazioni. Non è richiesta la conoscenza di un linguaggio di programmazione orientato agli oggetti.

Durata 32 ore
Curriculum Non presente
Descrizione

 

Obiettivi

Come affrontare la programmazione orientata agli oggetti? Come passare da una programmazione funzionale a una programmazione orientata agli oggetti? Come scrivere un programma orientato agli oggetti con funzioni di scalabilità e riusabilità? Questo corso offre una formazione pratica e concreta sulla programmazione orientata agli oggetti.

 

Partecipanti

Ingegneri, informatici, project manager, master designer che desiderano conoscere la programmazione orientata agli oggetti. Il corso è destinato in particolare a chi conosce già il linguaggio C++ e vuole a "pensare in termini di oggetto".

 

Esercizi pratici

I temi affrontati saranno illustrati mediante vari esercizi scelti specificatamente per evidenziare i principi e le caratteristiche della programmazione orientata agli oggetti, dall’analisi iniziale fino all’implementazione in un linguaggio ad oggetti. Verranno utilizzati gli strumenti di progettazione Rose (Rational) o XDE e presentati i concetti di base del linguaggio Java che servirà a illustrare gli esempi.

 

Programma del corso

Introduzione

 

Molti software innovativi - che si tratti di programmi di gestione, telecomunicazioni, giochi, reti, applicazioni per l’ufficio o l’educazione - si basano sulla programmazione orientata agli oggetti. Questa tecnologia consente di scrivere con rapidità programmi riutilizzabili dotati di reali capacità evolutive e di riusabilità e si basa su un modo di pensare specifico, incentrato sulle nozioni di strutturazione, astrazione e autonomia dei componenti informatici. Spesso i programmi ad oggetti sviluppati dai debuttanti in materia sono lacunosi perché non offrono le funzionalità attese e sono concepiti senza una reale comprensione del modello orientato agli oggetti e delle sue conseguenze. Questo corso ha l’obiettivo di insegnare a programmatori e project manager gli elementi teorici e pratici indispensabili per la programmazione dei software orientati agli oggetti. Il corso affronta le questioni più complesse in modo pratico ricorrendo ad esempi e studi di caso.

Cosa aspettarsi dalla programmazione ad oggetti?

 

- Difficoltà legate alla realizzazione di programmi complessi. L’evoluzione dell’informatica, la gestione dei cambiamenti tecnologici, l’importanza dell’outsourcing, i problemi di manutenzione.

- Perché utilizzare le tecnologie orientate agli oggetti? Le sfide della nuova informatica: modularità (plug-in), riusabilità, scalabilità. L’uso delle biblioteche di componenti. In che modo la programmazione orientata agli oggetti risponde a tali sfide.

- Come affrontare un problema legato agli oggetti. Gli insegnamenti provenienti da altre discipline e settori dell’informatica.

I concetti di base della programmazione ad oggetti

 

- Gli oggetti: la dualità procedura/dati. Le classi come modelli di struttura di comportamento degli oggetti, le istanze come rappresentanti delle classi. I metodi, le procedure definite nelle classi e utilizzati dalle istanze.

- Le interazioni fra gli oggetti mediante l’invio di messaggi. In che modo i messaggi interpretano gli oggetti.

- L’eredità, un modo di concepire le nuove classi per astrazione e specializzazione. Classi astratte e concrete. La ricerca (lookup) dei metodi. Eredità e tipo di variabili nei linguaggi a forte tipizzazione (C++, Java).

Diagrammi e rappresentazione degli oggetti mediante UML

 

- I diagrammi principali (diagrammi di classe, diagrammi di sequenza) e il loro utilizzo nella programmazione ad oggetti.

- Gli strumenti di annotazione e rappresentazione degli oggetti: gestione dello strumento Rational Rose.

I principi generali della programmazione ad oggetti

 

- Cosa viene messo sotto forma di oggetto: il principio di reificazione. Criteri da applicare per stabilire ciò che deve essere messo sotto forma di oggetto. Gli errori da evitare. Esempi della procedura per la creazione di oggetti.

- Come strutturare un insieme di classi: principio di astrazione e di classificazione. Criteri da applicare per ottenere gerarchie di classi adeguate. Gli errori da evitare. Alcuni esempi di gerarchie di classi.

- Come pensare l’interazione fra gli oggetti: principio di incapsulamento e autonomia. Analizzare i sistemi complessi in termine di comunicazioni. La procedura generale. Gli errori da evitare.

Come strutturare un software orientato agli oggetti: principio di modularità e di scomposizione dei domini.

Struttura di un programma orientato agli oggetti

I principi di sviluppo

- Dalla programmazione a spirale a quella incrementale.

- I programmi ad oggetti ben sviluppati.

Le tappe

- Analisi della classi. Saper identificare le entità del dominio. Saper pensare e descrivere le interazioni fra gli oggetti.

- Riusabilità ed evoluzione dei programmi orientati agli oggetti.

Usare uno strumento orientato agli oggetti non significa necessariamente “pensare oggetto”

Mediante un esempio concreto, verrà illustrato come l’uso di uno strumento orientato agli oggetti non garantisce di per sé di “pensare in modo oggetto”.

Gli errori da evitare.

- Alcuni errori classici dei programmi sviluppati dai debuttanti. Come evitarli. Gli indici che permettono di individuare gli errori e come porvi rimedio.

Dalla programmazione all’implementazione

 

- Come tradurre i diagrammi di classe UML in linguaggi di programmazione e basi di dati. I principi generali di attuazione delle applicazioni ad oggetti. L’importanza della distribuzione. Modelli client-server generalizzati.

Le piattaforme ad oggetti correnti: tecnologie .NET di Microsoft e J2EE di SUN. Raffronto dei rispettivi vantaggi e svantaggi. L’importanza della distribuzione. Biblioteche di classi. Linguaggi di programmazione e di utilizzo dei componenti.

La tecnica per framework e componenti

 

- Il problema del ciclo di vita dei software. Gli aspetti legati all’evoluzione e alla manutenzione richiedono lo sviluppo di una strategia davvero evolutiva. L’approccio per framework e componenti, che è basato sugli oggetti, permette di rispondere proprio a questa necessità.

- Come concepire e realizzare applicazioni con rapidità partendo da framework e componenti riutilizzabili? Come integrare i componenti software in un framework esistente? Come costruire i framework?

- Saper utilizzare un’applicazione esistente per trasformarla in framework e dotarla di capacità evolutiva. Le grandi classi di framework. I modelli di componenti attuali: Active X, Java beans, ecc.

I design pattern

 

- Come servirsi dell’esperienza derivante dalla programmazione e dallo sviluppo di applicazioni ad oggetti? I design pattern (“modelli di progettazione”) sono soluzioni software che permettono di risolvere problemi ricorrenti.

- I diversi tipi di design pattern. Esempio di design pattern. Vantaggi e limiti dei design pattern. Come utilizzare i design pattern a livello pratico. Esercizi di applicazione dei design pattern.

 

Esercizi

I temi affrontati saranno illustrati mediante vari esercizi scelti specificatamente per evidenziare i principi e le caratteristiche della programmazione orientata agli oggetti, dall’analisi iniziale fino all’implementazione in un linguaggio ad oggetti. Verrà utilizzato lo strumento di programmazione Rose (Rational) e saranno presentati i principi di base del linguaggio Java per illustrare gli esempi. Non è richiesta la conoscenza di Java per seguire il corso.




>> 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