SlideShare una empresa de Scribd logo
UML
                     El Lenguaje Unificado de Modelado
                 Grady Booch, Jim Rumbaugh e Ivar Jacobson




     El lenguaje UML es un estándar OMG diseñado para visualizar,
     especificar, construir y documentar software orientado a objetos.



                Un modelo es una simplificación de la realidad.



El modelado es esencial en la construcción de software para…
   - Comunicar la estructura de un sistema complejo
   - Especificar el comportamiento deseado del sistema
   - Comprender mejor lo que estamos construyendo
   - Descubrir oportunidades de simplificación y reutilización



OOP – Introducción: Java          - 38 -                © Fernando Berzal
Un modelo proporciona “los planos” de un sistema y puede ser más o
menos detallado, en función de los elementos que sean relevantes en
cada momento.


                      El modelo ha de capturar “lo esencial”.


Todo sistema puede describirse desde distintos puntos de vista:
   - Modelos estructurales (organización del sistema)
   - Modelos de comportamiento (dinámica del sistema)

UML estandariza 9 tipos de diagramas para representar gráficamente un
sistema desde distintos puntos de vista.


Ventaja principal de UML
Unifica distintas notaciones previas.
                                                     Rumbaugh
                                             Booch                Jacobson

                                    Odell
                                                                          Meyer

                             Shlaer-Mellor            UML
                                                                           Harel
                             Gamma et. al.

                                       Embly                       Wirfs-Brock
                                                      Fusion

Inconvenientes de UML
   - Falta de integración con otras técnicas
     (p.ej. diseño de interfaces de usuario)
   - UML es excesivamente complejo (y no está del todo libre de
     ambigüedades): “el 80% de los problemas puede modelarse
     usando alrededor del 20% de UML”
OOP – Introducción: Java            - 39 -                 © Fernando Berzal
Diagramas de clases
Muestran un conjunto de clases y sus relaciones




                                       Los diagramas de clases proporcionan
                                         una perspectiva estática del sistema
                                         (representan su diseño estructural).
Notación

Atributos
[visibilidad] nombre [multiplicidad] [: tipo [= valor_por_defecto]]

Operaciones
[visibilidad] nombre ([[in|out] parámetro : tipo [, …]])[:tipo_devuelto]

   -   Los corchetes indican partes opcionales.
   -   Visibilidad: privada (-), protegida (#) o pública (+)
   -   Multiplicidad entre corchetes (p.ej. [2], [0..2], [*], [3..*])
   -   Parámetros de entrada (in) o de salida (out).



OOP – Introducción: Java           - 40 -                 © Fernando Berzal
Diagramas de objetos
Muestran un conjunto de objetos y sus relaciones
(una situación concreta en un momento determinado).




     Los diagramas de objetos representan instantáneas de instancias
        de los elementos que aparecen en los diagramas de clases


   Un diagrama de objetos expresa la parte estática de una interacción.


           Para ver los aspectos dinámicos de la interacción
                se utilizan los diagramas de interacción
  (diagramas de secuencia y diagramas de comunicación/colaboración)



NOTA:
Los identificadores subrayados indican que se trata de objetos.
OOP – Introducción: Java        - 41 -                © Fernando Berzal
Diagramas de interacción
Muestran una interacción concreta: un conjunto de objetos y sus
relaciones, junto con los mensajes que se envían entre ellos.

Diagramas de secuencia
Resaltan la ordenación temporal de los mensajes que se intercambian.


                                   : WInP réstamos                          :Socio               :Video             : Préstamo
        : Encargado

                prestar(video, socio)
                                                verificar situación socio


                                                         verificar situación video


                                                                          registrar préstamo


                      entregar recibo




Diagramas de comunicación (UML 2.0)
= Diagramas de colaboración (UML 1.x)
Resaltan la organización estructural
de los objetosque intercambian mensajes.
                                                                                :Socio



                                                                                                               :Video

                                                 2: verificar situación socio


                                               1: prestar(video, socio)                         3: verificar situación video
                                                                          :WInPréstamos

                                                  5: entregar recibo
                                                                                                   4: registrar préstamo
                                        : Encargado




                                                                                                          :Préstamo




OOP – Introducción: Java                             - 42 -                                    © Fernando Berzal
Los diagramas de secuencia y de comunicación son isomorfos:
   - Un diagrama de secuencia se puede transformar mecánicamente
     en un diagrama de comunicación.
   - Un diagrama de comunicación se puede transformar
     automáticamente en un diagrama de secuencia.



Diagramas de secuencia
Muestran la secuencia de mensajes entre objetos durante un escenario
concreto (paso de mensajes).
   - En la parte superior aparecen los objetos que intervienen.
   - La dimensión temporal se indica verticalmente
     (el tiempo transcurre hacia abajo).
   - Las líneas verticales indican el período de vida de cada objeto.
   - El paso de mensajes se indica con flechas horizontales u oblicuas
     (cando existe demora entre el envío y la atención del mensaje).
   - La realización de una acción se indica con rectángulos sobre las
     líneas de actividad del objeto que realiza la acción.



Diagramas de comunicación/colaboración
La distribución de los objetos en el diagrama permite observar
adecuadamente la interacción de un objeto con respecto de los demás

   - La perspectiva estática del sistema viene dada por las relaciones
     existentes entre los objetos (igual que en un diagrama de objetos).

   - La vista dinámica de la interacción viene indicada por el envío de
     mensajes a través de los enlaces existentes entre los objetos.

                      NOTA:   Los mensajes se numeran para ilustrar
                              el orden en que se emiten.

OOP – Introducción: Java         - 43 -               © Fernando Berzal
Otros diagramas UML
para representar aspectos dinámicos del sistema

   - Diagramas de casos de uso
     (actores y casos de uso del sistema)




                                                       C aso de U so
                Actor



              Los diagramas de uso se suelen utilizar en el modelado
              del sistema desde el punto de vista de sus usuarios para
              representar las acciones que realiza cada tipo de usuario.


   - Diagramas de estados
     (estados y transiciones entre estados),

                                              contratar
                           en el paro                               en ac tivo

                                          perder em pleo

                                        jubilarse
                                                              jubil arse


                                                  jub ilado




              Los diagramas de estados son especialmente importantes
              para describir el comportamiento de un sistema reactivo
              (cuyo comportamiento está dirigido por eventos).

OOP – Introducción: Java                 - 44 -                            © Fernando Berzal
- Diagramas de actividades
     (flujo de control en el sistema)


                       Customer               Sales       Stockroom




                   Request
                    service




                                           Take order

                     Play
                                                          Fill order




                                       Deliver order


                     Collect
                      order




              Los diagramas de actividades muestran el orden
              en el que se van realizando tareas dentro de un sistema
              (el flujo de control de las actividades).




OOP – Introducción: Java          - 45 -                © Fernando Berzal
Diagramas UML
para representar aspectos físicos del sistema
   - Diagramas de componentes
     (componentes y dependencias entre ellos)
     Organización lógica de la implementación de un sistema




   - Diagramas de despliegue
     (nodos de procesamiento y componentes)
     Configuración del sistema en tiempo de ejecución

                                          <<Servidor>>
          <<Cliente>>
                           <<TCP/IP>>
         Terminal Punto                     Base de
            de Venta                         Datos



              <<RDSI>>
                                        <<LAN>>




OOP – Introducción: Java       - 46 -                 © Fernando Berzal
Referencias

Páginas web

http://www.uml.org/
Página oficial de UML, uno de los estándares promovidos por el OMG.

http://www.cetus-links.org/oo_uml.html
Colección de enlaces relacionados con UML.

http://www.agilemodeling.com/essays/umlDiagrams.htm
Información práctica acerca de todos los diagramas UML 2

http://www.ootips.org/
Ideas clave en programación orientada a objetos.


Libros

Martin Fowler: “UML Distilled:
A Brief Guide to the Standard Object Modeling Language”
3rd edition. Addison-Wesley, 2004. ISBN 0321193687

Grady Booch et al.:
“Object-Oriented Analysis and Design with Applications”
3rd edition. Addison-Wesley, 2004. ISBN 020189551X

Craig Larman: “Applying UML and Patterns: An Introduction to
Object-Oriented Analysis and Design and the Unified Process”
2nd edition. Prentice-Hall, 2001. ISBN 0130925691

Robert C. Martin:
“Agile Software Development: Principles, Patterns, and Practices”
Prentice-Hall, 2003. ISBN 0135974445

…

OOP – Introducción: Java      - 47 -               © Fernando Berzal

Más contenido relacionado

La actualidad más candente

IntroduccióN Uml
IntroduccióN UmlIntroduccióN Uml
Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
José Jiménez Cabrera
 
Uml
UmlUml
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
Manuela Gordillo Bellido
 
UML
UMLUML
Tm02 introducción a uml
Tm02 introducción a umlTm02 introducción a uml
Tm02 introducción a uml
Julio Pari
 
UML
UMLUML
Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De Comportamiento
Emilio Aviles Avila
 
Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)
JhensOliver
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
Eliseo Castro
 
Exposición uml diagramas
Exposición uml diagramasExposición uml diagramas
Exposición uml diagramas
alexander guillin
 
Uml
UmlUml
Uml
Kattyta
 
Uml
UmlUml
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
Maritza_Tapia
 
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓNKTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
KOTENA BCS
 

La actualidad más candente (15)

IntroduccióN Uml
IntroduccióN UmlIntroduccióN Uml
IntroduccióN Uml
 
Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
 
Uml
UmlUml
Uml
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
UML
UMLUML
UML
 
Tm02 introducción a uml
Tm02 introducción a umlTm02 introducción a uml
Tm02 introducción a uml
 
UML
UMLUML
UML
 
Curso Uml 2.4 Diagramas De Comportamiento
Curso Uml   2.4 Diagramas De ComportamientoCurso Uml   2.4 Diagramas De Comportamiento
Curso Uml 2.4 Diagramas De Comportamiento
 
Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)Uml (lenguaje unificado de modelado)
Uml (lenguaje unificado de modelado)
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Exposición uml diagramas
Exposición uml diagramasExposición uml diagramas
Exposición uml diagramas
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓNKTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
KTN05-MODELOS EN LA DINÁMICA DE SISTEMAS Y EL PROCESO DE CONSTRUCCIÓN
 

Destacado

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Juan Carlos
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
aioria2525
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
Marvin Zumbado
 
Analisis y diseño orientado a objetos con aplicaciones
Analisis y diseño orientado a objetos con aplicacionesAnalisis y diseño orientado a objetos con aplicaciones
Analisis y diseño orientado a objetos con aplicaciones
Crista Blue
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
Bolívar Emmanuel Germanotta
 
Uml
UmlUml

Destacado (6)

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Analisis y diseño orientado a objetos con aplicaciones
Analisis y diseño orientado a objetos con aplicacionesAnalisis y diseño orientado a objetos con aplicaciones
Analisis y diseño orientado a objetos con aplicaciones
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
 
Uml
UmlUml
Uml
 

Similar a 3 E Uml

3 e uml
3 e uml3 e uml
UML Basico
UML BasicoUML Basico
UML Basico
Nahun Casco
 
3 e uml
3 e uml3 e uml
3 e uml
3 e uml3 e uml
3 e uml
3 e uml3 e uml
3 e uml
Duvan Zuluaga
 
Introducción a Uml
Introducción a UmlIntroducción a Uml
Introducción a Uml
chayayin74
 
Uml
UmlUml
Uml
UmlUml
Lenguajes de programación: UML
Lenguajes de programación: UMLLenguajes de programación: UML
Lenguajes de programación: UML
Luis Fernando Aguas Bucheli
 
Diagramas
DiagramasDiagramas
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
PRESENTACIONESNANCY
 
Uml
UmlUml
Uml
still01
 
Unified Modeling Language Uml
Unified Modeling Language   UmlUnified Modeling Language   Uml
Unified Modeling Language Uml
Yolvi
 
UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)
Jair Cruz
 
Uml (presentación 6)
Uml (presentación 6)Uml (presentación 6)
Uml (presentación 6)
programadorjavablog
 
Oc
OcOc
uml - GGGGGGGGGGGGGGGGGuniremintong.pptx
uml - GGGGGGGGGGGGGGGGGuniremintong.pptxuml - GGGGGGGGGGGGGGGGGuniremintong.pptx
uml - GGGGGGGGGGGGGGGGGuniremintong.pptx
Neftaly Niño Villarreal
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
Alexa Romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
Alexa Romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
Alexa Romero
 

Similar a 3 E Uml (20)

3 e uml
3 e uml3 e uml
3 e uml
 
UML Basico
UML BasicoUML Basico
UML Basico
 
3 e uml
3 e uml3 e uml
3 e uml
 
3 e uml
3 e uml3 e uml
3 e uml
 
3 e uml
3 e uml3 e uml
3 e uml
 
Introducción a Uml
Introducción a UmlIntroducción a Uml
Introducción a Uml
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
Lenguajes de programación: UML
Lenguajes de programación: UMLLenguajes de programación: UML
Lenguajes de programación: UML
 
Diagramas
DiagramasDiagramas
Diagramas
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Uml
UmlUml
Uml
 
Unified Modeling Language Uml
Unified Modeling Language   UmlUnified Modeling Language   Uml
Unified Modeling Language Uml
 
UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)
 
Uml (presentación 6)
Uml (presentación 6)Uml (presentación 6)
Uml (presentación 6)
 
Oc
OcOc
Oc
 
uml - GGGGGGGGGGGGGGGGGuniremintong.pptx
uml - GGGGGGGGGGGGGGGGGuniremintong.pptxuml - GGGGGGGGGGGGGGGGGuniremintong.pptx
uml - GGGGGGGGGGGGGGGGGuniremintong.pptx
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 

Último

Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
asrielgamer3421
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 

Último (20)

Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 

3 E Uml

  • 1. UML El Lenguaje Unificado de Modelado Grady Booch, Jim Rumbaugh e Ivar Jacobson El lenguaje UML es un estándar OMG diseñado para visualizar, especificar, construir y documentar software orientado a objetos. Un modelo es una simplificación de la realidad. El modelado es esencial en la construcción de software para… - Comunicar la estructura de un sistema complejo - Especificar el comportamiento deseado del sistema - Comprender mejor lo que estamos construyendo - Descubrir oportunidades de simplificación y reutilización OOP – Introducción: Java - 38 - © Fernando Berzal
  • 2. Un modelo proporciona “los planos” de un sistema y puede ser más o menos detallado, en función de los elementos que sean relevantes en cada momento. El modelo ha de capturar “lo esencial”. Todo sistema puede describirse desde distintos puntos de vista: - Modelos estructurales (organización del sistema) - Modelos de comportamiento (dinámica del sistema) UML estandariza 9 tipos de diagramas para representar gráficamente un sistema desde distintos puntos de vista. Ventaja principal de UML Unifica distintas notaciones previas. Rumbaugh Booch Jacobson Odell Meyer Shlaer-Mellor UML Harel Gamma et. al. Embly Wirfs-Brock Fusion Inconvenientes de UML - Falta de integración con otras técnicas (p.ej. diseño de interfaces de usuario) - UML es excesivamente complejo (y no está del todo libre de ambigüedades): “el 80% de los problemas puede modelarse usando alrededor del 20% de UML” OOP – Introducción: Java - 39 - © Fernando Berzal
  • 3. Diagramas de clases Muestran un conjunto de clases y sus relaciones Los diagramas de clases proporcionan una perspectiva estática del sistema (representan su diseño estructural). Notación Atributos [visibilidad] nombre [multiplicidad] [: tipo [= valor_por_defecto]] Operaciones [visibilidad] nombre ([[in|out] parámetro : tipo [, …]])[:tipo_devuelto] - Los corchetes indican partes opcionales. - Visibilidad: privada (-), protegida (#) o pública (+) - Multiplicidad entre corchetes (p.ej. [2], [0..2], [*], [3..*]) - Parámetros de entrada (in) o de salida (out). OOP – Introducción: Java - 40 - © Fernando Berzal
  • 4. Diagramas de objetos Muestran un conjunto de objetos y sus relaciones (una situación concreta en un momento determinado). Los diagramas de objetos representan instantáneas de instancias de los elementos que aparecen en los diagramas de clases Un diagrama de objetos expresa la parte estática de una interacción. Para ver los aspectos dinámicos de la interacción se utilizan los diagramas de interacción (diagramas de secuencia y diagramas de comunicación/colaboración) NOTA: Los identificadores subrayados indican que se trata de objetos. OOP – Introducción: Java - 41 - © Fernando Berzal
  • 5. Diagramas de interacción Muestran una interacción concreta: un conjunto de objetos y sus relaciones, junto con los mensajes que se envían entre ellos. Diagramas de secuencia Resaltan la ordenación temporal de los mensajes que se intercambian. : WInP réstamos :Socio :Video : Préstamo : Encargado prestar(video, socio) verificar situación socio verificar situación video registrar préstamo entregar recibo Diagramas de comunicación (UML 2.0) = Diagramas de colaboración (UML 1.x) Resaltan la organización estructural de los objetosque intercambian mensajes. :Socio :Video 2: verificar situación socio 1: prestar(video, socio) 3: verificar situación video :WInPréstamos 5: entregar recibo 4: registrar préstamo : Encargado :Préstamo OOP – Introducción: Java - 42 - © Fernando Berzal
  • 6. Los diagramas de secuencia y de comunicación son isomorfos: - Un diagrama de secuencia se puede transformar mecánicamente en un diagrama de comunicación. - Un diagrama de comunicación se puede transformar automáticamente en un diagrama de secuencia. Diagramas de secuencia Muestran la secuencia de mensajes entre objetos durante un escenario concreto (paso de mensajes). - En la parte superior aparecen los objetos que intervienen. - La dimensión temporal se indica verticalmente (el tiempo transcurre hacia abajo). - Las líneas verticales indican el período de vida de cada objeto. - El paso de mensajes se indica con flechas horizontales u oblicuas (cando existe demora entre el envío y la atención del mensaje). - La realización de una acción se indica con rectángulos sobre las líneas de actividad del objeto que realiza la acción. Diagramas de comunicación/colaboración La distribución de los objetos en el diagrama permite observar adecuadamente la interacción de un objeto con respecto de los demás - La perspectiva estática del sistema viene dada por las relaciones existentes entre los objetos (igual que en un diagrama de objetos). - La vista dinámica de la interacción viene indicada por el envío de mensajes a través de los enlaces existentes entre los objetos. NOTA: Los mensajes se numeran para ilustrar el orden en que se emiten. OOP – Introducción: Java - 43 - © Fernando Berzal
  • 7. Otros diagramas UML para representar aspectos dinámicos del sistema - Diagramas de casos de uso (actores y casos de uso del sistema) C aso de U so Actor Los diagramas de uso se suelen utilizar en el modelado del sistema desde el punto de vista de sus usuarios para representar las acciones que realiza cada tipo de usuario. - Diagramas de estados (estados y transiciones entre estados), contratar en el paro en ac tivo perder em pleo jubilarse jubil arse jub ilado Los diagramas de estados son especialmente importantes para describir el comportamiento de un sistema reactivo (cuyo comportamiento está dirigido por eventos). OOP – Introducción: Java - 44 - © Fernando Berzal
  • 8. - Diagramas de actividades (flujo de control en el sistema) Customer Sales Stockroom Request service Take order Play Fill order Deliver order Collect order Los diagramas de actividades muestran el orden en el que se van realizando tareas dentro de un sistema (el flujo de control de las actividades). OOP – Introducción: Java - 45 - © Fernando Berzal
  • 9. Diagramas UML para representar aspectos físicos del sistema - Diagramas de componentes (componentes y dependencias entre ellos) Organización lógica de la implementación de un sistema - Diagramas de despliegue (nodos de procesamiento y componentes) Configuración del sistema en tiempo de ejecución <<Servidor>> <<Cliente>> <<TCP/IP>> Terminal Punto Base de de Venta Datos <<RDSI>> <<LAN>> OOP – Introducción: Java - 46 - © Fernando Berzal
  • 10. Referencias Páginas web http://www.uml.org/ Página oficial de UML, uno de los estándares promovidos por el OMG. http://www.cetus-links.org/oo_uml.html Colección de enlaces relacionados con UML. http://www.agilemodeling.com/essays/umlDiagrams.htm Información práctica acerca de todos los diagramas UML 2 http://www.ootips.org/ Ideas clave en programación orientada a objetos. Libros Martin Fowler: “UML Distilled: A Brief Guide to the Standard Object Modeling Language” 3rd edition. Addison-Wesley, 2004. ISBN 0321193687 Grady Booch et al.: “Object-Oriented Analysis and Design with Applications” 3rd edition. Addison-Wesley, 2004. ISBN 020189551X Craig Larman: “Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process” 2nd edition. Prentice-Hall, 2001. ISBN 0130925691 Robert C. Martin: “Agile Software Development: Principles, Patterns, and Practices” Prentice-Hall, 2003. ISBN 0135974445 … OOP – Introducción: Java - 47 - © Fernando Berzal