SlideShare a Scribd company logo
UML 2.0
                        Panoramica su UML


              Leggi il programma completo del corso

www.javaportal.it | www.k-tech.it    corsi@k-tech.it
Agenda

 Mod 00 – Presentazione
►Mod 01 – Panoramica su UML◄
 Mod 02 – Introduzione all'UML
 Mod 03 – Modellazione Strutturale
 Mod 04 – Relazioni
 ........
 Mod 14 – Statechart Diagram
 Mod 15 – Timing Diagram
 Mod 16 – Sequence Diagram
 Mod 17 – Communication Diagram
 Mod 18 – Interaction Overview Diagram




www.javaportal.it | www.k-tech.it        corsi@k-tech.it   2
“   The programmer, like the poet, works only slightly
    removed from pure thought-stuff. He builds his
    castles in the air, from air, creating by exertion
    of the imagination. Few media of creation are
    so flexible,so readily capable of


                                              ”
    realizing grand conceptual structures.

                                          Frederick P. Brooks, Jr.




www.javaportal.it | www.k-tech.it   corsi@k-tech.it                  3
Un po' di storia
Durante gli anni '90 furono introdotte nel mercato dell'Information Technology
parecchie metodologie per il disegno e la progettazione di sistemi software.

Vi era un problema, però: ognuna di queste tecnologie aveva il suo insieme
proprio di notazioni e simboli, che differiva, a volte in modo rilevante, dalle
altre.

In particolare, eccellevano tre di queste metodologie:

●   OMT (Rumbaugh)
●   Booch 1991
●   OOSE (Obiectory) (Jacobson)


Nell'ottobre del 1995, nacque la prima bozza dell' UML (Unified Modelling
Language), ovvero l'unificazione delle notazioni e delle idee prodotte da
Booch, Rumbaugh e Jacobson per modellare un sistema software.


www.javaportal.it | www.k-tech.it                 corsi@k-tech.it                 4
Evoluzione
     << document >>                                    1997 - Unificazione dei principali linguaggi di modellazione:
                                                       Booch, OMT e Objectory.
      UML 1.1                                          OMG acquisisce UML.

        << refine >>

          << document >>                               1998 – Modifiche editoriali senza cambiamenti tecnici
                                                       significativi.
            UML 1.2
              << refine >>

               << document >>                          1999 – Aggiunti gli stati di sync per la sincronizzazione di
                                                       attività concorrenti.
                UML 1.3                                Ridefinite le relazioni dei casi d'uso: generalizzazione,
                                                       include, estende.
                       << refine >>

                         << document >>                2001 – Aggiunti vincoli nei diagrammi di collaborazione.
                                                       Cambiamento della notazione grafica dei componenti.
                          UML 1.4                      Definiti gli artefatti per specificare i componenti fisici (file
                                                       sorgenti, file eseguibili, script).
                             << refine >>              Aggiunta vivibilità di package.
                              << document >>           2002 – 2005 – La OMG definisce quattro request For
                                                       Proposals:
                               UML 2.0                 UML 2.0 Infrastructure, UML 2.0 Superstructure, UML Object
                                                       Constraint Language, UML 2.0 Diagram Interchange.
                                      << refine >>

                                      << document >>   2006 – variazioni minori.

                                        UML 2.1



www.javaportal.it | www.k-tech.it                                      corsi@k-tech.it                                    5
UML 2.0




www.javaportal.it | www.k-tech.it   corsi@k-tech.it   6
Modello
Cos’è un modello ?
        Un modello è la semplificazione della realtà


“A model is an abstraction of something for the purpose of
 understanding it before building it.
 Because a model omits nonessential details, it is easier to

                                     ”
 manipulate than the original entity.
                                                Rumbaugh - 1991


Un modello è una astrazione di qualche cosa, [creato] con
lo scopo di capirla prima di costruirla. Poiché un modello
omette i dettagli non essenziali, è più semplice da
manipolare rispetto all'entità originale.

www.javaportal.it | www.k-tech.it    corsi@k-tech.it              7
Modellare il problema

Perché abbiamo bisogno di un modello?

       Modelliamo per capire meglio il sistema
              che dobbiamo sviluppare


Perché dobbiamo semplificare la realtà?

        Qualunque realtà è troppo complessa
            (nell’insieme e nel dettaglio)
                per essere compresa



www.javaportal.it | www.k-tech.it   corsi@k-tech.it   8
Obiettivi della Modellazione

Modellare per il riutilizzo

   – Un buon progetto consente di riutilizzare parti del
     software in contesti diversi da quello per cui è stato
     pensato


Modellare per il cambiamento

   – Un buon progetto deve essere in grado di resistere ai
     cambiamenti, generati da un mutamento delle
     specifiche oppure da un cambio di contesto
     tecnologico

www.javaportal.it | www.k-tech.it     corsi@k-tech.it         9
Qualità di un Modello
Le proprietà che deve possedere un modello dovrebbero
essere tenute a mente e guidare la fase di progettazione del
sistema, al fine di produrre versioni di migliore qualità.

Un modello dovrebbe essere :
• Accurato: deve descrivere il sistema correttamente,
  completamente e senza ambiguità
• Consistente: le diverse viste devono completarsi
  vicendevolmente per formare un insieme coerente
• Semplice: deve poter essere compreso, senza troppi
  problemi, da persone estranee al processo di modellazione
• Manutenibile: la variazione dello stesso deve essere la più
  semplice possibile
www.javaportal.it | www.k-tech.it   corsi@k-tech.it             10
La mappa e il territorio
Ognuno ha una immagine precisa (mappa) del Dominio del
Problema.


Questa mappa però viene spesso creata attraverso tre
processi pericolosi:

• Rimozione
• Distorsione
• Generalizzazione



www.javaportal.it | www.k-tech.it   corsi@k-tech.it      11
Rimozione

L’informazione viene scartata

E' un processo di selezione dell'esperienza

La rimozione ci consente di orientarci nel mondo
concentrandoci in particolare su ciò che è funzionale per noi




www.javaportal.it | www.k-tech.it   corsi@k-tech.it             12
Distorsione
L’informazione viene modificata tramite meccanismi di creazione e
allucinazione.
Interpretiamo il mondo esterno secondo le nostre mappe, adeguando la
realtà alle nostre attese.




La distorsione ci consente di "trasformare" la realtà adattandola ai nostri
scopi, nonché di scegliere e decidere quali comportamenti adottare,
immaginando nel futuro le loro conseguenze.
www.javaportal.it | www.k-tech.it            corsi@k-tech.it                  13
Generalizzazione
L’informazione viene incorporata in una regola, assioma o principio
che riguarda principi di verità o falsità.


La generalizzazione è il processo attraverso cui le persone
partendo da una esperienza specifica, la decontestualizzano
traendone un significato universale.


E' in pratica una semplificazione della realtà con la quale creiamo
categorie di riferimento.

La generalizzazione ci consente di gestire al meglio situazioni simili
ad altre passate, recuperando le opportune risorse.


www.javaportal.it | www.k-tech.it        corsi@k-tech.it                 14
Principi di modellazione...
La scelta di quale modello creare influisce profondamente su come
verrà affrontato il problema e di conseguenza su quale soluzione
verrà trovata.




www.javaportal.it | www.k-tech.it    corsi@k-tech.it                15
...Principi di modellazione...

Ogni modello può essere espresso a diversi livelli di precisione
(profondità).


      Diversi livelli di zoom
            offrono viste con
       contenuti informativi
   diversi, utili ad audience
                      diverse.




www.javaportal.it | www.k-tech.it      corsi@k-tech.it             16
...Principi di modellazione...

I modelli migliori sono connessi alla realtà.




www.javaportal.it | www.k-tech.it        corsi@k-tech.it   17
...Principi di modellazione

Un singolo modello non è sufficiente. Molto meglio molti modelli
(viste) indipendenti.




www.javaportal.it | www.k-tech.it      corsi@k-tech.it             18
Module Review

In questo modulo abbiamo visto:

 ●   Un po’ di storia
 ●   Evoluzione
 ●   UML 2.0
 ●   Modello
 ●   Modellare il problema
 ●   Obiettivi della modellazione
 ●   Qualità di un modello
 ●   La mappa e il territorio
 ●   Rimozione
 ●   Distorsione
 ●   Generalizzazione
 ●   Principi di modellazione



www.javaportal.it | www.k-tech.it   corsi@k-tech.it   19
Domande...




www.javaportal.it | www.k-tech.it   corsi@k-tech.it   20
BREAK
                                    Dopo la pausa:

                                    Introduzione all'UML




              Leggi il programma completo del corso



www.javaportal.it | www.k-tech.it       corsi@k-tech.it       21

More Related Content

ODP
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
PDF
Maven - Aprile 2010
PDF
Apache Maven
PDF
Bilsa breikki
PDF
9.2.1 Problems Harmonics
DOC
PDF
14.6.1
PDF
9.8.3 Calculations Para Resonant
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Maven - Aprile 2010
Apache Maven
Bilsa breikki
9.2.1 Problems Harmonics
14.6.1
9.8.3 Calculations Para Resonant

Viewers also liked (19)

PPT
103 1.2.6staticandcurrent6
PDF
PDF
PDF
10.1.1
PDF
PDF
DOC
Modelo de relatório de participação em eventos estudantis alterado
PDF
PPT
1.Business Model Demo
PDF
Viva ações realizadas tedx2014
PDF
ProgrammaCorso
PPTX
FANTIN BIG DATA (2)
PDF
Viva apresentação start 2013 - recomendações - slide share
PDF
Project presentation v.1+
PDF
Corso Programmazione Java Base
PPTX
Ethical Issues in Developmental Biology Research
PDF
Corso Java 1 - BASE
PDF
CZI internal devaluation symposium set for tomorrow
PPTX
부동소수점 문제
103 1.2.6staticandcurrent6
10.1.1
Modelo de relatório de participação em eventos estudantis alterado
1.Business Model Demo
Viva ações realizadas tedx2014
ProgrammaCorso
FANTIN BIG DATA (2)
Viva apresentação start 2013 - recomendações - slide share
Project presentation v.1+
Corso Programmazione Java Base
Ethical Issues in Developmental Biology Research
Corso Java 1 - BASE
CZI internal devaluation symposium set for tomorrow
부동소수점 문제
Ad

Similar to Corso Unified Modeling Language (UML) (20)

PDF
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
PDF
Domain Driven Design e CQRS
PDF
Modellazione UML per il WEB: Approccio di Conallen
PPTX
Introduzione a UML
PPTX
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
PDF
Idiomatic Domain Driven Design
PDF
PDF
Web Engineering L5: Content Model (5/8)
PDF
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
PDF
Off. 26 Nov Scor Lovecchioconsulting Ad Net
PDF
BPM e Cloud: la partnership ideale
PPT
Comergy_2009_2015
PDF
FLSS: documento di design
PDF
[AxonIQ Italia Community] Architetture distribuite a eventi: sono adatte al m...
PDF
Un sistema di persistenza per motori di workflow business-oriented BPMN
PPT
B Human Progetti di Stage 2009
PDF
Visual COBOL - Conoscere Visual COBOL- Micro Focus
PDF
PDF
Intro simulink ta_6pp
PDF
Progettazione e realizzazione di un sistema software per il time logging
Implementazione di una Web App per la verifica dei requisiti progettuali del ...
Domain Driven Design e CQRS
Modellazione UML per il WEB: Approccio di Conallen
Introduzione a UML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
Idiomatic Domain Driven Design
Web Engineering L5: Content Model (5/8)
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Off. 26 Nov Scor Lovecchioconsulting Ad Net
BPM e Cloud: la partnership ideale
Comergy_2009_2015
FLSS: documento di design
[AxonIQ Italia Community] Architetture distribuite a eventi: sono adatte al m...
Un sistema di persistenza per motori di workflow business-oriented BPMN
B Human Progetti di Stage 2009
Visual COBOL - Conoscere Visual COBOL- Micro Focus
Intro simulink ta_6pp
Progettazione e realizzazione di un sistema software per il time logging
Ad

More from K-Tech Formazione (8)

PDF
Fai la cosa giusta da subito: Troubleshooting Server Side JVM
PDF
Troubleshooting a server side JVM: fast problem determination
PDF
Agile APM an heretic's approach to SPE
PDF
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
PDF
Prevedere il comportamento delle applicazioni Web in produzione
PDF
APM: WWWWW (What, Why, Where, Who, When)
PDF
Corso GOF Design Pattern
PDF
Corso Object Oriented Analysis and Design
Fai la cosa giusta da subito: Troubleshooting Server Side JVM
Troubleshooting a server side JVM: fast problem determination
Agile APM an heretic's approach to SPE
Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli a...
Prevedere il comportamento delle applicazioni Web in produzione
APM: WWWWW (What, Why, Where, Who, When)
Corso GOF Design Pattern
Corso Object Oriented Analysis and Design

Corso Unified Modeling Language (UML)

  • 1. UML 2.0 Panoramica su UML Leggi il programma completo del corso www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 2. Agenda Mod 00 – Presentazione ►Mod 01 – Panoramica su UML◄ Mod 02 – Introduzione all'UML Mod 03 – Modellazione Strutturale Mod 04 – Relazioni ........ Mod 14 – Statechart Diagram Mod 15 – Timing Diagram Mod 16 – Sequence Diagram Mod 17 – Communication Diagram Mod 18 – Interaction Overview Diagram www.javaportal.it | www.k-tech.it corsi@k-tech.it 2
  • 3. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible,so readily capable of ” realizing grand conceptual structures. Frederick P. Brooks, Jr. www.javaportal.it | www.k-tech.it corsi@k-tech.it 3
  • 4. Un po' di storia Durante gli anni '90 furono introdotte nel mercato dell'Information Technology parecchie metodologie per il disegno e la progettazione di sistemi software. Vi era un problema, però: ognuna di queste tecnologie aveva il suo insieme proprio di notazioni e simboli, che differiva, a volte in modo rilevante, dalle altre. In particolare, eccellevano tre di queste metodologie: ● OMT (Rumbaugh) ● Booch 1991 ● OOSE (Obiectory) (Jacobson) Nell'ottobre del 1995, nacque la prima bozza dell' UML (Unified Modelling Language), ovvero l'unificazione delle notazioni e delle idee prodotte da Booch, Rumbaugh e Jacobson per modellare un sistema software. www.javaportal.it | www.k-tech.it corsi@k-tech.it 4
  • 5. Evoluzione << document >> 1997 - Unificazione dei principali linguaggi di modellazione: Booch, OMT e Objectory. UML 1.1 OMG acquisisce UML. << refine >> << document >> 1998 – Modifiche editoriali senza cambiamenti tecnici significativi. UML 1.2 << refine >> << document >> 1999 – Aggiunti gli stati di sync per la sincronizzazione di attività concorrenti. UML 1.3 Ridefinite le relazioni dei casi d'uso: generalizzazione, include, estende. << refine >> << document >> 2001 – Aggiunti vincoli nei diagrammi di collaborazione. Cambiamento della notazione grafica dei componenti. UML 1.4 Definiti gli artefatti per specificare i componenti fisici (file sorgenti, file eseguibili, script). << refine >> Aggiunta vivibilità di package. << document >> 2002 – 2005 – La OMG definisce quattro request For Proposals: UML 2.0 UML 2.0 Infrastructure, UML 2.0 Superstructure, UML Object Constraint Language, UML 2.0 Diagram Interchange. << refine >> << document >> 2006 – variazioni minori. UML 2.1 www.javaportal.it | www.k-tech.it corsi@k-tech.it 5
  • 6. UML 2.0 www.javaportal.it | www.k-tech.it corsi@k-tech.it 6
  • 7. Modello Cos’è un modello ? Un modello è la semplificazione della realtà “A model is an abstraction of something for the purpose of understanding it before building it. Because a model omits nonessential details, it is easier to ” manipulate than the original entity. Rumbaugh - 1991 Un modello è una astrazione di qualche cosa, [creato] con lo scopo di capirla prima di costruirla. Poiché un modello omette i dettagli non essenziali, è più semplice da manipolare rispetto all'entità originale. www.javaportal.it | www.k-tech.it corsi@k-tech.it 7
  • 8. Modellare il problema Perché abbiamo bisogno di un modello? Modelliamo per capire meglio il sistema che dobbiamo sviluppare Perché dobbiamo semplificare la realtà? Qualunque realtà è troppo complessa (nell’insieme e nel dettaglio) per essere compresa www.javaportal.it | www.k-tech.it corsi@k-tech.it 8
  • 9. Obiettivi della Modellazione Modellare per il riutilizzo – Un buon progetto consente di riutilizzare parti del software in contesti diversi da quello per cui è stato pensato Modellare per il cambiamento – Un buon progetto deve essere in grado di resistere ai cambiamenti, generati da un mutamento delle specifiche oppure da un cambio di contesto tecnologico www.javaportal.it | www.k-tech.it corsi@k-tech.it 9
  • 10. Qualità di un Modello Le proprietà che deve possedere un modello dovrebbero essere tenute a mente e guidare la fase di progettazione del sistema, al fine di produrre versioni di migliore qualità. Un modello dovrebbe essere : • Accurato: deve descrivere il sistema correttamente, completamente e senza ambiguità • Consistente: le diverse viste devono completarsi vicendevolmente per formare un insieme coerente • Semplice: deve poter essere compreso, senza troppi problemi, da persone estranee al processo di modellazione • Manutenibile: la variazione dello stesso deve essere la più semplice possibile www.javaportal.it | www.k-tech.it corsi@k-tech.it 10
  • 11. La mappa e il territorio Ognuno ha una immagine precisa (mappa) del Dominio del Problema. Questa mappa però viene spesso creata attraverso tre processi pericolosi: • Rimozione • Distorsione • Generalizzazione www.javaportal.it | www.k-tech.it corsi@k-tech.it 11
  • 12. Rimozione L’informazione viene scartata E' un processo di selezione dell'esperienza La rimozione ci consente di orientarci nel mondo concentrandoci in particolare su ciò che è funzionale per noi www.javaportal.it | www.k-tech.it corsi@k-tech.it 12
  • 13. Distorsione L’informazione viene modificata tramite meccanismi di creazione e allucinazione. Interpretiamo il mondo esterno secondo le nostre mappe, adeguando la realtà alle nostre attese. La distorsione ci consente di "trasformare" la realtà adattandola ai nostri scopi, nonché di scegliere e decidere quali comportamenti adottare, immaginando nel futuro le loro conseguenze. www.javaportal.it | www.k-tech.it corsi@k-tech.it 13
  • 14. Generalizzazione L’informazione viene incorporata in una regola, assioma o principio che riguarda principi di verità o falsità. La generalizzazione è il processo attraverso cui le persone partendo da una esperienza specifica, la decontestualizzano traendone un significato universale. E' in pratica una semplificazione della realtà con la quale creiamo categorie di riferimento. La generalizzazione ci consente di gestire al meglio situazioni simili ad altre passate, recuperando le opportune risorse. www.javaportal.it | www.k-tech.it corsi@k-tech.it 14
  • 15. Principi di modellazione... La scelta di quale modello creare influisce profondamente su come verrà affrontato il problema e di conseguenza su quale soluzione verrà trovata. www.javaportal.it | www.k-tech.it corsi@k-tech.it 15
  • 16. ...Principi di modellazione... Ogni modello può essere espresso a diversi livelli di precisione (profondità). Diversi livelli di zoom offrono viste con contenuti informativi diversi, utili ad audience diverse. www.javaportal.it | www.k-tech.it corsi@k-tech.it 16
  • 17. ...Principi di modellazione... I modelli migliori sono connessi alla realtà. www.javaportal.it | www.k-tech.it corsi@k-tech.it 17
  • 18. ...Principi di modellazione Un singolo modello non è sufficiente. Molto meglio molti modelli (viste) indipendenti. www.javaportal.it | www.k-tech.it corsi@k-tech.it 18
  • 19. Module Review In questo modulo abbiamo visto: ● Un po’ di storia ● Evoluzione ● UML 2.0 ● Modello ● Modellare il problema ● Obiettivi della modellazione ● Qualità di un modello ● La mappa e il territorio ● Rimozione ● Distorsione ● Generalizzazione ● Principi di modellazione www.javaportal.it | www.k-tech.it corsi@k-tech.it 19
  • 21. BREAK Dopo la pausa: Introduzione all'UML Leggi il programma completo del corso www.javaportal.it | www.k-tech.it corsi@k-tech.it 21