Systematic Object Oriented Design - Corso Aziendale


L'approccio ad oggetti viene spesso adottato per le sue grandi promesse: classi riusabili, applicazioni estendibili, migliore qualita' del prodotto finale. Tuttavia, per ottenere realmente tali benefici e' necessaria una notevole esperienza, e chi prova a seguire una delle tante metodologie si scontra spesso con una mancanza di concretezza. Troppo spesso i metodologi spiegano cosa dovremmo ottenere, ma non come raggiungere gli obiettivi.
Il Systematic Object Oriented Design è un metodo di progettazione molto concreto, basato su regole oggettive per verificare l'aderenza ai migliori criteri di design, e su tecniche sistematiche di trasformazione per riportare e mantentere il progetto entro il rispetto di tali criteri. Questo approccio innovativo, che integra le metodologie esistenti colmando il divario tra teoria e pratica, e' stato messo alla prova con successo su progetti reali di medie e grandi dimensioni, e puo' essere seguito da chiunque voglia realizzare il pieno potenziale degli oggetti.
Obiettivo del corso, che estende l'analogo worklab presentato con ottimi risultati al Developer's Forum '97, è di trasmettere ai partecipanti una conoscenza operativa delle tecniche di trasformazione fondamentali, che ogni progettista deve padroneggiare per essere realmente produttivo nel paradigma ad oggetti. Sono certo che rimarrete stupiti dalla semplicità delle regole di trasformazione, ma anche dalla loro potenza. Ogni regola di design ed ogni tecnica di trasformazione presentata trova un utilizzo immediato nella progettazione di ogni giorno: non a caso, la discussione e' sempre riferita a casi reali, non a situazioni improbabili ed accademiche.
Per chi desidera approfondire il tema, e' disponibile on-line una white paper sul Systematic Object Oriented Design, completa di bibliografia.

Dettagli sul corso

Durata: 3 giorni
(con possibilita' di ulteriori giornate di workshop basate sui progetti dell'azienda)

Partecipanti: massimo 15

Prerequisiti: familiarita' con i concetti della programmazione ad oggetti. Per seguire al meglio gli argomenti, e' consigliata una discreta esperienza di programmazione in un linguaggio ad oggetti (C++, Java, Delphi, Eiffel, Ada95, ecc) o esperienza di progettazione ad oggetti con UML o con altri metodi di OOD (Booch, OMT, Objectory, CRC cards, ecc).

Programma del corso:

Systematic OOD
Dai principi di progettazione alle tecniche di trasformazione.

Dipendenze di uso tra classi
Riusabilità ed estendibilità. Astrazioni e dettagli.

Stratificazione del design
Dipendenze circolari. Tecniche fondamentali di trasformazione. Pattern derivati.

Accoppiamenti tra classi concrete
Vincoli di Estendibilità. Tecniche fondamentali di trasformazione.

Dipendenze di istanziazione
Vincoli di Riusabilità ed estendibilità. Tecniche fondamentali di trasformazione. Tecniche composte. Pattern derivati.

Oggetti come entità autonome
Manutenibilità e riuso. Legge di Demeter. Tecniche di trasformazione fondamentali. Open/Closed Principle. Tecniche di trasformazione avanzate.

Accoppiamento e Coesione nel paradigma ad oggetti
Metriche sul design. Uso ed abuso. Classi manager. Uso di spettrogrammi.


Note: l'approccio del corso e' decisamente hands-on, impostato su esempi concreti e problematiche reali di progettazione.
I temi trattati sono particolarmente importanti per chi utilizza linguaggi di programmazione con type checking statico (C++, Java, Eiffel, Ada95), anche se molti argomenti sono di indubbio interesse anche per chi utilizzi linguaggi con controllo dinamico come Smalltalk. Non solo, anche chi utilizza abitualmente strumenti RAD con un buon supporto per la programmazione ad oggetti (come Delphi) puo' sicuramente ricavare informazioni utili per il lavoro di ogni giorno.


Se siete interessati a questo seminario aziendale, potete compilare la seguente richiesta di contatto per fissare un possibile incontro.


  torna alla pagina dei corsi