|
UML: Analisi e Design ad Oggetti - Corso Aziendale |
Con la ratifica da parte di OMG, UML si appresta a diventare lo standard di riferimento per la rappresentazione dei modelli di analisi e design ad oggetti. Supportato dai principali produttori (Microsoft, IBM, Oracle, ecc), in grado di interfacciarsi con i più diffusi linguaggi (C++, Java, Smalltalk, ecc) e di integrarsi con i diversi object model (CORBA, COM, ecc), UML è un elemento stategico importante per ogni azienda che realizzi progetti non banali. La potenza di UML si riflette, tuttavia, nella sua complessità. Adottare UML significa andare oltre il semplice apprendimento di una notazione grafica. Significa determinare, nell'ottica del proprio ciclo produttivo, il ruolo di ogni diagramma e di ogni elemento di modellazione. Significa acquisire gli elementi per decidere quali costrutti possono apportare reali vantaggi ai propri progetti, e quali parti possono o devono essere escluse. Questi sono dunque i reali obiettivi del corso: al di là della notazione, che (come da programma) viene comunque analizzata in ogni dettaglio, il valore maggiore sta proprio nel continuo riferimento a situazioni reali di utilizzo, ad esperienze concrete in diversi settori (business, automazione, scientifico, ecc) e nella possibilità di discutere a fondo i propri interrogativi e problemi. Un corso indipendente da ogni fornitore di tool, che si può quindi permettere di affrontare anche gli immancabili aspetti negativi o rischiosi di UML. Come sempre, l'obiettivo è unire immediatamente la pratica alla teoria. Tutti i partecipanti affronteranno quindi esercizi non banali, tratti da problemi reali, come parte integrante del corso. Questo non solo garantisce una più rapida assimilazione dei concetti, ma permette anche di verificare sul campo l'impatto dei vari aspetti di UML nel ciclo di sviluppo del software.
Dettagli sul corso
Durata: 3 giorni
(con possibilita' di ulteriori giornate di workshop basate sui progetti dell'azienda)
Partecipanti: massimo 20
Prerequisiti: E' richiesta una buona familiarità con i concetti della programmazione ad oggetti. Per seguire al meglio gli argomenti, è consigliata una certa esperienza di programmazione in un linguaggio object oriented (C++, Java, Delphi, Eiffel, Ada95, ecc) o in alternativa la conoscenza di base dell'analisi o del design ad oggetti.
Programma del corso:
UML e Processo di Sviluppo
Genesi di UML. Rapporto tra linguaggi e metodologie. Ruolo di UML nello sviluppo del software. Legami tra diagrammi e fasi di sviluppo.
Use Case e Analisi dei Requisiti
Formulazione di Use Case. Use Case Diagram. Uses ed Extends. Use Case vs. System Interaction. Use Case in pratica. Use Case e OOP.
Class Diagram: Problem Domain
Domain Analysis vs. Requirements Analysis. Elementi fondamentali nei Class Diagram. Trovare classi ed associazioni. Aspetti approfonditi: dynamic classification, composition, constraint, ecc. Colori e classificazione di Coad.
Class Diagram: Solution Domain
Associazioni e responsabilità. Navigabilità ed accoppiamenti. Stereotipi. Interfacce e Abstract class. Refinement. Dipendenze generiche. Qualified Associations. Classi parametriche. Colori: estensione al design.
Interaction Diagram
Aspetti dinamici: Collaboration e Sequence Diagram. Lifetime, condizioni e iterazioni. Validazione e Verifica tra aspetti statici e dinamici. Modelli Concorrenti e oggetti attivi.
State Diagram
Stati, eventi, transizioni, guardie e attività. Super-stati. Stati Concorrenti ed ereditarietà. Quando usare uno state diagram.
Activity Diagram
Sequenze e gradi di libertà. Parallelismo e sincronizzazione. Condizionale. Rapporto con Use Case. Swimlanes.
Package Diagram.
Programming in the large ed organizzazione di librerie. Relazioni con costrutti language-level.
Deployment e Component Diagram.
Componenti hardware e software. Aspetti fisici di distribuzione.
Se siete interessati a questo seminario aziendale, potete compilare la
seguente
richiesta di contatto per fissare un possibile incontro.