SlideShare una empresa de Scribd logo
1 de 74
Descargar para leer sin conexión
Lenguaje de Modelado Unificado (UML)

       Ing. Mauricio Paletta, Msc
 MAESTRÍA EN TECNOLOGÍA DE LA INFORMACIÓN
           TECNOLOGÍA ORIENTADA A OBJETOS




  COORDINACIÓN GENERAL DE INVESTIGACIÓN Y POSTGRADO
    UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA

                         Lenguaje de Modelado Unificado
Antes de UML

Coad / Yourdon:




            Jerarquías de composición
                      Lenguaje de Modelado Unificado
Antes de UML

James Rumbaugh – OMT:




        Estructura recursiva de composición
                      Lenguaje de Modelado Unificado
Antes de UML

James Rumbaugh – OMT:




             Modelo de estado
                  Lenguaje de Modelado Unificado
Antes de UML

Martin / Odell – Ptech:




     Metáfora de ingeniería              Esquema de concepto
         de procesos

                              Lenguaje de Modelado Unificado
Antes de UML

Jacobson – Objectory y OOSE:




            Diagrama de Casos de Uso
                     Lenguaje de Modelado Unificado
Antes de UML

Reenskaug - OORASS (Análisis, Síntesis y
 Estructuración de Papeles Orientada a
 Objetos):




              Diagrama de papeles


                    Lenguaje de Modelado Unificado
Métodos Orientados a Objetos


Texel:




          Modelo de estados para la clase Ventana
                          Lenguaje de Modelado Unificado
Métodos Orientados a Objetos


BON (Notación de Objetos Mejorada):




     Modelo estático                   Modelo dinámico

                       Lenguaje de Modelado Unificado
Antes de UML

Fusión:




    Modelo de
    procesos




                     Lenguaje de Modelado Unificado
Antes de UML

HOOD (Diseño OO Jerárquico):




                                            Flujos de
                                              datos




                 Lenguaje de Modelado Unificado
Antes de UML

OOSD (Diseño Estructurado OO):




 Un objeto que representa una      Tratamiento de excepciones para una
              Pila                                  Pila
                                Lenguaje de Modelado Unificado
Antes de UML

Booch:




            Diagrama de Clases
                 Lenguaje de Modelado Unificado
Antes de UML

Otros métodos:
 • OBA (Análisis de Comportamiento de Objetos) –
   Rubin y Goldberg (1992).
 • FOA (Análisis Orientado a Marcos) – Andleigh y
   Gretzinger (1992).
 • Notación Uniforme de Objetos – Page-Jones,
   Constantine y Weiss (1990).
 • MOSES (Metodología para la Ingeniería de
   Sistemas de Software Orientada a Objetos) –
   Henderson-Sellers y Edwards (1993).
 • Wirfs-Brock (1990).
 • JSD y OOJSD – Jackson (1983).
                     Lenguaje de Modelado Unificado
Evolución Histórica Métodos




            Lenguaje de y Programación III
             Algoritmos Modelado Unificado
Lenguaje de Modelado Unificado

Definición:
 • Creación de Grady Booch, James Rumbaugh e Ivar Jacobson
   (los tres amigos).
 • Es un lenguaje (sintaxis y semántica) de modelado y no un
   método. La sintaxis nos dice cuáles son los símbolos y cómo
   se pueden combinar; la semántica nos da las reglas de
   interpretación de cada símbolo según el contexto donde se
   use.
 • Usado para modelar o describir sistemas de una gran variedad
   de tipos (principalmente de software). También usado durante
   el desarrollo de un sistema de software, desde la
   especificación de requerimientos hasta las pruebas finales.
 • Avalado por el grupo de estándares OMG.

                            Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado

Objetivos:
 • Modelar sistemas (no únicamente software) usando conceptos
   de orientación a objetos.
 • Establecer una pareja explícita de elementos tanto a nivel
   conceptual como ejecutable.
 • Direccionar los temas de cierto tamaño inherentes a los
   sistemas complejos y/o críticos.
 • Crear un lenguaje de modelado utilizable tanto para los
   humanos como para las máquinas.




                           Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado

4 partes:
 • Vistas: muestra diferentes aspectos del sistema que se está
   modelando. Representa una abstracción que consiste en un
   número determinado de diagramas. Permite enlazar el modelo
   al proceso escogido para el desarrollo.
 • Diagramas: gráficas que describen el contenido de una vista.
   Son 9 tipos de diagramas en total.
 • Elementos del modelo: son los conceptos usados en los
   diagramas, asociados comúnmente a conceptos de la
   orientación a objetos (clase, objeto, mensaje). Siempre tiene el
   mismo significado y símbolo, sin importar el diagrama.
 • Mecanismos generales: proveen comentarios, información u
   otros extras a los elementos del modelo.

                             Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado

5 vistas:
 • Vista de Casos de Uso: muestra la funcionalidad del sistema
   tal como es percibida por los actores externos.
 • Vista lógica: muestra cómo la funcionalidad está diseñada
   dentro del sistema, en términos de las estructuras estáticas y el
   comportamiento dinámico.
 • Vista de componentes: muestra la organización de los
   componentes de código para construir el sistema.
 • Vista de concurrencia: muestra la concurrencia
   (comunicación y sincronización) en el sistema.
 • Vista de despliegue: muestra el despliegue o distribución del
   sistema en la arquitectura física (computadoras y otros
   dispositivos).

                              Lenguaje de Modelado Unificado
Lenguaje de Modelado Unificado

9 diagramas:

 • Vista de Casos de Uso: o Diagrama de Casos de Uso
                          o Diagrama de Actividades
 • Vista lógica:          o Diagrama de Clases
                          o Diagrama de Objetos
                          o Diagramas de Estados
 • Vista de concurrencia: o Diagrama de Colaboración
                          o Diagrama de Secuencias
 • Vista de componentes: o Diagrama de Componentes
 • Vista de despliegue:   o Diagrama de Distribución


                          Lenguaje de Modelado Unificado
Extensiones de UML

Valores etiquetados:
 • Son propiedades asociadas a elementos de UML en forma de
   etiquetas. Existe una serie de etiquetas ya predefinidas en UML
   (documentación, ubicación, persistencia, semántica,
   responsabilidad, precondición, poscondición, abstracto, etc.).
 • Permiten agregar semántica extra a los elementos asociados
   (precondiciones y poscondiciones de las operaciones, por
   ejemplo). También son usados para agregar información
   administrativa sobre el progreso o estado de un proyecto.
 • Se representan en los diagramas encerrados entre llaves y
   consisten de una etiqueta, un signo de igualdad ´=´ y un valor.
 • Ejemplo: { Algoritmo = “QuickSort” }
                { Autor = “Mauricio Paletta” }

                            Lenguaje de Modelado Unificado
Extensiones de UML

Restricciones:
 • Reglas que restringen la semántica de uno o más elementos de
   UML. También llamadas condiciones semánticas.
 • Pueden estar asociadas a clases u objetos y también a las
   relaciones entre éstos, a fin de restringir la participación de
   estos elementos en la relación.
 • Se representan en los diagramas encerrados entre llaves.
 • Hay 14 restricciones predefinidas: asociación, local, parámetro,
   auto, completa, disjunta, incompleta, sobrelapada, implícita, or
   ordenada, voto y difundida.
 • El usuario también puede definir sus propias restricciones
   (parecido a la forma como se definen valores etiquetados).
   Ejemplo: { persona.jefe.sueldo >= persona.asistente.sueldo }

                             Lenguaje de Modelado Unificado
Extensiones de UML

Estereotipos:
 • Representa una semántica asociada a un elemento existente. Se
   pueden ver como un tipo de especialización del elemento.
 • Cuando un estereotipo está asociado a un elemento, se
   sobrescribe la semántica definida para ese elemento y éste
   puede ser visto como un nuevo elemento basado en otro ya
   existente. Es una extensión de la semántica pero no de la
   estructura del elemento.
 • Por lo general son metaclases (para ser asociados a clases) o
   importaciones (para las relaciones de dependencia entre
   paquetes).
 • Hay mas de 40 estereotipos predefinidos en UML y también es
   posible definir estereotipos propios.

                            Lenguaje de Modelado Unificado
Extensiones de UML

Estereotipos:
 • Se representan o identifican con un nombre encerrado entre
   „<<‟ y „>>‟ que por lo general se coloca delante del
   identificador del elemento asociado.
 • Tres tipos particulares de estereotipos aplicado a clases son:
   Control, Límite y Entidad. Están basados en el concepto
   “model-view-controller” donde Entidad es el modelo, Control
   es el controlador y Límite es la vista. Esta es la notación
   utilizada:


              Control      Entidad          Límite




                             Lenguaje de Modelado Unificado
Extensiones de UML

Estereotipos:
 • El estereotipo Límite especializa el uso de una clase para su
   presentación y manipulación. Presenta y comunica la
   información entre sistemas (hombre-máquina por ejemplo). Por
   lo general son ventanas, cajas de diálogos o formas, clases que
   representan elementos de comunicación (como TCP/IP).
 • El estereotipo Entidad es usado para modelar objetos del
   negocio.
 • El estereotipo Control es usado para conectar objetos Límite
   con sus objetos Entidad y manejar una secuencia de
   operaciones dentro del sistema. Estos objetos típicamente
   manejan el procesamiento de la información en los objetos
   Entidad.

                            Lenguaje de Modelado Unificado
Extensiones de UML

Estereotipos:



                                                  Manejador Cursos

                 Opciones Profesores              1          Maneja




                                                        Curso


                                                      1..*
                                 1



                 Agregar Curso Ofrecido           Cursos Ofrecidos




                                          Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

Definición:
 • Describe lo que un nuevo sistema debe hacer o lo que un
   sistema existente hace en término de los requerimientos y
   funcionalidades.
 • Es una estructura que ayuda a los analistas a trabajar con los
   usuarios para determinar la forma en que se usará el sistema a
   modelar. Es una excelente herramienta para estimular a que
   los usuarios potenciales hablen del sistema desde sus propios
   puntos de vista.
 • El sistema se describe o es visto como una “caja negra” que
   provee casos de uso.
 • Permiten definir la vista de casos de uso del sistema.


                             Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
 • Actor: tipo o categoría de usuario. Define los papeles
   diferentes que un usuario puede desempeñar. El conjunto de
   actores representa a todo aquello que necesita intercambiar
   información con el software que se está analizando.
   Notación:


                           Actor




                             Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
 • Caso de uso: secuencia de transacciones que se realizan en un
   elemento de interfaz. Constituye una secuencia completa de
   mensajes y especifica la secuencia de interacción entre el actor
   y el software. Caso de uso  Requerimiento.
   Notación:

                         Caso de Uso
                         Caso de Uso




                              Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
 • Relaciones: permiten identificar la comunicación entre los
   actores , entre los casos de uso y entre actores y casos de uso.
   Hay 5 tipos de relación:
   o Relación de generalización entre actores: permite organizar
     los actores en una descripción abstracta del actor.


                                                 El actor Persona es
                                                 más genérico que el
          Persona       Empleado                 actor Empleado




                                   Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
   o Relación de generalización entre casos de uso: identifica
     que un caso de uso específico hereda y añade propiedades a
     un caso general.


                                              El case de uso
                                              “Comprar en una
          Comprar en
         una máquina
                             Comprar un
                              refresco
                                              máquina” es más
                                              genérico que el caso
                                              de uso “Comprar un
                                              refresco”




                            Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
   o Relación de extensión entre casos de uso (extend): permite
     factorizar las variantes sobre la secuencia básica de un caso
     de uso en nuevos casos de uso que extienden los flujos
     principales.


                                                  “Alquilar un vehículo”
        Alquilar un                Alquilar un    extiende (opcionalmente
         vehículo                    chofer
                      <<extend>>                  ejecuta) a “Alquilar un
                                                  chofer”




                                   Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
   o Relación de inclusión entre casos de uso (include): permite
     señalar que un caso de uso incorpora el comportamiento de
     otro caso de uso como parte de su propio comportamiento.



                                                   “Acceder a un sistema”
        Acceder a                  Revisar datos   usa (siempre ejecuta) a
        un sistema                  del usuario
                     <<include>>                   “Revisar datos del
                                                   usuario”




                                    Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

3 elementos básicos:
   o Relación de asociación entre un actor y un caso de uso:
     permite señalar la comunicación existente entre ambos.


                   Comprar un
                    refresco

      Persona




                                      Hacer reporte
                                       de cierre

                                                       Administrador




                                Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

Ejemplo:
                                Máquina de Refrescos


                               Comprar
                              Comprar
                               refresco
                              refresco

             Cliente                                                Cliente



                                    Reabastecer


            Proveedor    <<include>>              <<include>>


                            Exhibir el                Cubrir el
                             interior                 interior


                          <<include>>             <<include>>

                                         Recolectar
                                         Recolectar
                                         dinero
                                           dinero

            Recolector                                            Recolector


                                       Lenguaje de Modelado Unificado
Diagrama de Casos de Uso

Ejemplo:




                Lenguaje de Modelado Unificado
Diagrama de Actividad

Definición:
 • Representan la dinámica del sistema.
 • Son diagramas usados para mostrar el flujo de las actividades
   del sistema, es decir, muestran el flujo de control entre
   actividades del sistema, cuáles actividades se pueden hacer en
   paralelo y caminos alternativos del flujo.
 • En el análisis, se pueden crear para representar el flujo a
   través de los casos de uso o para representar el flujo de un
   caso de uso particular.
 • En el diseño, se pueden usar para representar el flujo de una
   operación particular (algoritmo).
 • Contienen actividades, transiciones entre actividades, cajas de
   decisión y barras de sincronización.

                             Lenguaje de Modelado Unificado
Diagrama de Actividad

Elementos:
 • Actividad: representa el desempeño de algún comportamiento
   en el diagrama de flujo.
 • Actividades inicial y final: símbolos especiales usados para
   iniciar y finalizar el diagrama de flujo.
 • Transición: muestran el paso del flujo de control de una
   actividad a otra.
 • Cajas de decisión: muestran rutas alternativas del flujo de
   control basado en una condición.
 • Barras de sincronización: permite representar actividades que
   se pueden ejecutar de forma concurrente (una transición de
   entrada y varias de salida) o diversos flujos que, una vez
   culminados, convergen en un punto (varias transiciones de
   entrada y una de salida).
                             Lenguaje de Modelado Unificado
Diagrama de Actividad

Notación:
                                       Actividad 1
           Comienzo

                                               Transición
                                       Actividad 2

                                                                             Transición Cíclica


                    Actividad 3   Si                               Actividad 4
                                       Decisión
                                                        No
                                                                                   Rutas
                                                                                   concurrentes


                                                     Actividad 5                 Actividad 6
          Estado


                                                        Rutas
                                                        convergentes
       Esto es un
       comentario
                                                  Fin



                                          Lenguaje de Modelado Unificado
Diagrama de Actividad

Ejemplo:




                 Lenguaje de Modelado Unificado
Diagrama de Clases

Definición:
 • Describe la vista estática de un sistema en términos de sus
   clases y las relaciones entre ellas.
 • Sirve de base para otros diagramas que muestran otros
   aspectos del sistema (como el de estados de los objetos y el de
   colaboración entre objetos que se muestran en los diagramas
   dinámicos).
 • Para su definición, es necesario que las clases hayan sido
   identificadas y descritas; luego se pueden asociar con otras
   clases usando relaciones específicas.




                             Lenguaje de Modelado Unificado
Diagrama de Clases

Relaciones:
 • Asociación: conexión semántica entre clases que indica que
   existe una conexión entre objetos de esas clases.
 • Generalización: relación entre un elemento mas general y otro
   mas específico (herencia). El elemento mas específico puede
   contener información adicional.
 • Dependencia: relación entre un elemento independiente y otro
   dependiente. Un cambio en el elemento independiente afecta
   al elemento dependiente.
 • Refinamiento: relación entre dos descripciones del mismo tipo
   pero en niveles diferentes de abstracción.



                            Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Normal: es la asociación más común y se dibuja como una
   línea sólida que une las dos clases. Tiene un nombre
   (comúnmente un verbo) que etiqueta el enlace. Es posible
   agregar una flecha al final de la asociación, que indica que la
   asociación sólo se puede usar en la dirección de la flecha. Si
   no tiene la flecha se asume que la asociación es válida para
   ambos sentidos. También se puede indicar la multiplicidad
   válida en la asociación.

                 Usa                                            Propietario
     Empleado          Computadora             Persona                          Carro
                                                         1..*            0..*




                                     Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Recursiva: representa la conexión de una clase consigo
   misma. Los objetos conectados semánticamente son de la
   misma clase. Las asociaciones en general pueden tener roles
   conectados a cada clase involucrada en la asociación e indican
   el papel que juega la clase en términos de la asociación. Es
   una técnica útil para especificar el contexto de una clase y sus
   objetos.
                       0..*                             esposo
              Nodo                          Persona

            0..*                         esposa


                     Conecta                      Se casa con




                               Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Cualificada: son usadas en asociaciones de “uno a muchos” o
   “muchos a muchos”. El cualificador indica cómo distinguir
   entre el conjunto de objetos de los muchos al final de la
   asociación; puede verse como un tipo de clave que permite
   separar todos los objetos en la asociación. Reducen la
   multiplicidad en el modelo de “uno a muchos” a “uno a uno”.


                        Canvas                      0..*   Figura
                                   id figura




                             número de         Localiza     *
            Recepcionista                                           Reservación
                            confirmación




                                           Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Disyuntiva (or): representa una restricción entre dos o más
   asociaciones. Indica que los objetos de una clase pueden
   participar en a lo sumo una de las asociaciones a la vez. Las
   asociaciones en general también pueden contener restricciones
   para indicar que la asociación debe seguir cierta regla para su
   cumplimiento.
     Compañía de              Póliza de             {Or}            Póliza de
                   1   0..*               0..*
       Seguros                 Seguros                               Seguros

                              0..*                                   0..*   {Ordenado}
                                            {Or}

                              1..*                 1..*             1..*
                              Persona              Compañía          Cliente




                                          Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Ternaria: representa la asociación de tres clases. Se representa
   mediante un diamante. Los calificadores y la agregación no
   están permitidos en este tipo de asociación. Se puede evitar
   con la definición de asociaciones simples.


               Compañía de   1   0..*   Póliza de    0..*
                 Seguros                 Seguros

                                                                 0..*
                                                            Cláusula

                                                                 0..*
                                                    1..*
                                        Persona




                                 Lenguaje de Modelado Unificado
Diagrama de Clases

Asociaciones:
 • Agregación: es un caso especial de asociación que indica que
   la relación entre las clases es del tipo “parte de”. Se representa
   mediante un diamante. Cuando la asociación de composición
   es obligatoria, el diamante está relleno.

                                                                            Texto
                                                                       *



      Naval              *   Barco de Guerra              Ventana      *    Botón
              Contiene

                                                                       *
                                                                            Menú




                                           Lenguaje de Modelado Unificado
Diagrama de Clases

Generalización:
 • Permite representar herencias. Relación “es un” o “caso
   particular de”.


                                         Vehículo


                      Carro                                   Bote




        Carro       Carro de                        Velero   Bote a   Carguero
                                Camión
       Deportivo    Pasajeros                                motor




                                         Lenguaje de Modelado Unificado
Diagrama de Clases

Dependencia:
 • Es una conexión semántica entre dos elementos del modelo,
   uno independiente y otro dependiente. Por ejemplo, cuando
   una clase toma el objeto de otra clase como parámetro; una
   clase hace uso del objeto global de otra clase; la relación de
   amistad entre clases permitida por algunos lenguajes (C++);
   etc. Se utiliza una línea no continua con una flecha que indica
   la dirección de la dependencia.

                                <<friend>>
                      Clase A                Clase B




                                 Lenguaje de Modelado Unificado
Diagrama de Clases

Refinamiento:
 • Relaciones entre dos descripciones del mismo tipo pero en
   niveles de abstracción diferentes. Por ejemplo, entre un tipo y
   una clase; entre una clase en tiempo de análisis y la misma
   clase en tiempo de diseño; etc. Se utiliza una línea no continua
   con una flecha cerrada dirigida al elemento de más alto nivel
   de abstracción.



                       Clase                Clase
                     (análisis)            (diseño)




                                  Lenguaje de Modelado Unificado
Diagrama de Clases

Multiplicidades:
                      1       Está casado con      1
           Esposo                                          Esposa
                                                                        uno a uno

                      1           Enseña           *
          Maestro                                          Estudiante   uno a muchos


                      1           Atiende       1..*
           Cajero                                          Cliente      uno a uno o más


                                                0..1
           Casa                                            Chimenea     uno a ninguno o uno


                          1         Toma        12..18
           Estudiante                                      Crédito      uno a 12 hasta 18


                                                       3
           Triciclo                                         Rueda       uno a 3


                              1      Contiene   12,24
          Cartón de huevos                                  Huevo       uno a 12 ó 24




                                            Lenguaje de Modelado Unificado
Diagrama de Clases

Otros tipos de clases:
  • Parametrizada: permiten generalizar la definición de una clase
    o definir grupos de clases para que, mediante los parámetros,
    se puedan crear luego las clases reales. Es como una clase que
    aún no ha sido completamente especificada. En el entorno de
    programación se conocen como “Templates”. (C++ lo
    soporta).



                              Clase
                           Parametrizada




                               Lenguaje de Modelado Unificado
Diagrama de Clases

Otros tipos de clases:
  • De utilidad: son agrupaciones de variables globales y
    funciones que se conjugan en una clase representados como
    atributos y métodos respectivamente. No son clases en
    realidad pero son útiles en aquellos lenguajes de programación
    no completamente orientados a objetos (como C++),
    para darle una connotación más formal de orientación a
    objetos y no dejar elementos dispersos que queden fuera de
    algún objeto .


                          Clase de Utilidad




                               Lenguaje de Modelado Unificado
Diagrama de Clases

Otros tipos de clases:
  • Metaclases y clases instanciadas: Las metaclases son clases
    cuyas instancias no son objetos sino otras clases, es decir, es
    una clase para crear clases. Son útiles en sistemas donde se
    requiere la creación de clases de forma dinámica (por ejemplo
    en Smalltalk). Las clases instanciadas son instancias de
    metaclases. La relación de instanciación se hace mediante una
    dependencia.


                   Metaclase       Clase Instanciada




                               Lenguaje de Modelado Unificado
Diagrama de Clases

Paquetes:
 • Es un mecanismo de agrupamiento para organizar elementos
   del modelo en grupos semánticamente relacionados. Pueden
   importar elementos de otros paquetes. Los paquetes se pueden
   relacionar por generalización y dependencia.




                            Lenguaje de Modelado Unificado
Diagrama de Clases

Interfaces:
 • Un paquete, componente o clase que tiene una interfaz
   conectada a él, se dice que implementa o soporta la interfaz
   específica dado que soporta el comportamiento definido en
   esa interfaz. Se pueden ver como contratos de colaboración
   entre los diferentes elementos del modelo. Una interfaz sólo se
   describe como operaciones abstractas. Se representan
   mediante pequeños círculos asociado (línea sólida) al
   elemento del modelo (uno a uno). Una clase que usa la
   interfaz se conecta mediante una relación de dependencia.

                Clase A                   Clase B

                          Una interfaz




                               Lenguaje de Modelado Unificado
Diagrama de Clases

Ejemplo:




                    Lenguaje de Modelado Unificado
Diagrama de Objetos

Definición y notación:
 • El diagrama de objetos representa la asociación y relaciones
   entre objetos. Sigue la misma notación que el diagrama de
   clases a diferencia de que en lugar de identificar una clase,
   identifica una instancia particular u objeto.
 • El identificador de un objeto puede ir acompañado del
   identificador de la clase asociada y un separador entre ambos
   nombres. Por lo general se subraya el identificador de los
   objetos.
 • Se pueden usar para ejemplificar un diagrama de clases con
   instancias explícitas. También se pueden usar como parte de
   los diagramas de colaboración en el modelo dinámico.


                            Lenguaje de Modelado Unificado
Diagrama de Objetos

Ejemplo:




                    Lenguaje de Modelado Unificado
Diagrama de Estados

Definición:
 • Representa el comportamiento del sistema en el tiempo.
 • Por lo general se hace un diagrama de estados por clase.
 • El comportamiento es modelado en términos del estado en el
   cual se encuentra un objeto.
 • Se indican qué acciones se ejecutan en cada estado y cuál es el
   nuevo estado al que se llega luego de un determinado evento.
 • Los estados representan condiciones que son válidas en el
   objeto en un momento dado; los eventos representan la causa
   que origina el cambio desde un estado a otro.




                             Lenguaje de Modelado Unificado
Diagrama de Estados

Notación:

                Estado inicial


                Estado final



               Estado



                                                 Transición con el
                        Condicional               mismo estado



              Estado1      Transición / Evento       Estado2




                                      Lenguaje de Modelado Unificado
Diagrama de Estados

Ejemplo:


                         Cerrar             Abrir

                                  Abrir


                        Cerrada            Abierta



                                  Cerrar




                    Lenguaje de Modelado Unificado
Diagrama de Componentes

Definición:
 • Permite modelar la estructura del software, incluyendo
   dependencias entre componentes en código fuente,
   componentes en código binario y componentes ejecutables.
 • Establece relaciones de dependencia entre componentes y/o
   paquetes de componentes.
 • Un componente es un grupo de clases que trabajan
   estrechamente. Se pueden clasificar según los su existencia
   en: tiempo de compilación; tiempo de enlace; tiempo de
   ejecución y en varios de esos momentos.
 • Una dependencia indica que un elemento del modelo (fuente)
   depende de otro (objeto), de manera que un cambio en el
   elemento objeto puede significar cambiar el elemento fuente.

                            Lenguaje de Modelado Unificado
Diagrama de Componentes

Tipos de componentes:
 • Componentes para trabajar en el producto: también llamados
   componentes fuente, son típicamente archivos de código
   fuente usados para implementar una o más clases (archivos de
   base de datos, código fuente, recursos gráficos, etc.).
 • Componentes de distribución: también llamados componentes
   binarios, conforman el fundamento de los sistemas ejecutables
   y son típicamente archivos de código objeto que se generan a
   partir de los componentes anteriores (ejecutables, DLL,
   controles ActiveX, etc.).
 • Componentes de ejecución: son los creados como resultado de
   un sistema en ejecución (archivos temporales, índices de
   búsqueda, etc.).

                            Lenguaje de Modelado Unificado
Diagrama de Componentes

Ejemplo:




               Lenguaje de Modelado Unificado
Diagrama de Colaboración

Definición:
 • Muestra la interacción entre objetos organizada alrededor de
   los objetos.
 • Contiene:
   o Objetos dibujados como rectángulos. Tres maneras de
     identificación: el nombre del objeto, el nombre del objeto y
     su clase o sólo el nombre de la clase (objeto anónimo).
   o Enlaces entre objetos mediante líneas que conectan dichos
     objetos.
   o Mensajes que se muestran con un texto descriptivo y una
     flecha que indica el sentido de la ejecución desde el cliente
     hacia el que suple el evento.

                             Lenguaje de Modelado Unificado
Diagrama de Colaboración

Ejemplo:




                 Lenguaje de Modelado Unificado
Diagrama de Secuencias

Definición:
 • Muestra la interacción entre objetos estructurada u ordenada
   en una secuencia de eventos en el tiempo.
 • Representan el comportamiento del sistema de una forma
   amplia.
 • Se lee de izquierda a derecha y de arriba abajo.
 • Por lo general están relacionados con la realización de los
   casos de uso. Pueden haber varios diagramas de secuencia por
   caso de uso.
 • Pueden ser excesivamente grandes si están involucradas
   muchas clases u objetos en la interacción, en comparación con
   los diagramas de colaboración.


                            Lenguaje de Modelado Unificado
Diagrama de Secuencias

Notación:
                                                            Objetos




                              Objeto1             Objeto2
        : Actor
                                                                          Mensaje
                                                                          recurrente



                                        Mensaje

                                                                      Activación




                                                                      Retorno



              Línea de vida
              del objeto




                                          Lenguaje de Modelado Unificado
Diagrama de Secuencias

Ejemplo:




                 Lenguaje de Modelado Unificado
Diagrama de Distribución

Definición:
 • Modela la distribución en tiempo de ejecución de los elementos
   de procesamiento y componentes de software, procesos y
   objetos asociados.
 • Tiene que ver con la arquitectura física del sistema: ¿dónde
   están localizados físicamente los programas que implementan
   las clases y objetos?, ¿en cuáles computadoras se ejecutan estos
   procesos?, ¿cómo se conectan las diferentes computadoras que
   requiere el sistema para funcionar?.
 • Se modelan los nodos (objetos físicos o dispositivos) y la
   comunicación entre ellos. Cada nodo puede contener instancias
   de componentes.


                             Lenguaje de Modelado Unificado
Diagrama de Distribución

Notación:




      Procesador                       Dispositivo

                   Conexión




                   Lenguaje de Modelado Unificado
Diagrama de Distribución

Ejemplo:




                 Lenguaje de Modelado Unificado

Más contenido relacionado

La actualidad más candente

Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareKarloz Dz
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrolloitsarellano
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)Cristhian Aguilar
 
Gestión de riesgos de software
Gestión de riesgos de softwareGestión de riesgos de software
Gestión de riesgos de softwareOmar S. Gomez
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegueElvisAR
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de SoftwareCamila Arbelaez
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiJimmy Davila
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareCoesi Consultoria
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.pptEliezer Cordova
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de SoftwareGustavo Bazan Maal
 

La actualidad más candente (20)

Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Iso 12207
Iso 12207Iso 12207
Iso 12207
 
Mapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de SoftwareMapa conceptual - Institutos Reguladores Calidad de Software
Mapa conceptual - Institutos Reguladores Calidad de Software
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Tabla comparativa- metodologías de desarrollo
Tabla comparativa-  metodologías de desarrolloTabla comparativa-  metodologías de desarrollo
Tabla comparativa- metodologías de desarrollo
 
medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)medolos tradicionales de desarrollo de software ( cascada - espiral)
medolos tradicionales de desarrollo de software ( cascada - espiral)
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Gestión de riesgos de software
Gestión de riesgos de softwareGestión de riesgos de software
Gestión de riesgos de software
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Metodología CommonKADS
Metodología CommonKADSMetodología CommonKADS
Metodología CommonKADS
 
Diagrama de despliegue
Diagrama de despliegueDiagrama de despliegue
Diagrama de despliegue
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software25 Estandares - IEEE Calidad de Software
25 Estandares - IEEE Calidad de Software
 
Cuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmiCuadro comparativo entre moprosoft y cmmi
Cuadro comparativo entre moprosoft y cmmi
 
Modelo Cascada!!
Modelo Cascada!!Modelo Cascada!!
Modelo Cascada!!
 
Sesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del softwareSesión 2: Visión General. El proceso del software
Sesión 2: Visión General. El proceso del software
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Modelos evolutivos
Modelos evolutivosModelos evolutivos
Modelos evolutivos
 
Gestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de SoftwareGestión de la Calidad en Proyectos de Software
Gestión de la Calidad en Proyectos de Software
 
Construccion y Pruebas de Software
Construccion y Pruebas de SoftwareConstruccion y Pruebas de Software
Construccion y Pruebas de Software
 

Similar a Uml

Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLabigail2015
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosEliecer Suarez
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Henry Ayala
 
Lenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptxLenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptxNiltonTenorio
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptjorgejvc777
 
Desarrollo de uml
Desarrollo de umlDesarrollo de uml
Desarrollo de umlLuis Reyez
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 
Uml presentacion
Uml presentacionUml presentacion
Uml presentacionexusjhonk
 
Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_Uriel Nava
 
Perfiles UML - Jénifer Quintero
Perfiles UML - Jénifer QuinteroPerfiles UML - Jénifer Quintero
Perfiles UML - Jénifer Quintero2008PA2Info3
 
26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdf26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdfDayanDeSck
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romeroAlexa Romero
 

Similar a Uml (20)

Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8
 
Lenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptxLenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptx
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Glosario uml
Glosario umlGlosario uml
Glosario uml
 
Desarrollo de uml
Desarrollo de umlDesarrollo de uml
Desarrollo de uml
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Uml
UmlUml
Uml
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
Uml presentacion
Uml presentacionUml presentacion
Uml presentacion
 
Uml
UmlUml
Uml
 
Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_
 
Perfiles UML - Jénifer Quintero
Perfiles UML - Jénifer QuinteroPerfiles UML - Jénifer Quintero
Perfiles UML - Jénifer Quintero
 
26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdf26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdf
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 

Más de karlalopezbello

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetoskarlalopezbello
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2karlalopezbello
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1karlalopezbello
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3karlalopezbello
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2karlalopezbello
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1karlalopezbello
 
Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-karlalopezbello
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacionkarlalopezbello
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtualkarlalopezbello
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_karlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 

Más de karlalopezbello (20)

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-Programacion ii modulo1-leccion1-
Programacion ii modulo1-leccion1-
 
Didactica del chat
Didactica del chatDidactica del chat
Didactica del chat
 
Didactica del foro
Didactica del foroDidactica del foro
Didactica del foro
 
Guia completa de_moodle
Guia completa de_moodleGuia completa de_moodle
Guia completa de_moodle
 
Publicacion de material
Publicacion de materialPublicacion de material
Publicacion de material
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacion
 
Actividades en moodle
Actividades en moodleActividades en moodle
Actividades en moodle
 
Plataforma moodle
Plataforma moodlePlataforma moodle
Plataforma moodle
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtual
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 

Uml

  • 1. Lenguaje de Modelado Unificado (UML) Ing. Mauricio Paletta, Msc MAESTRÍA EN TECNOLOGÍA DE LA INFORMACIÓN TECNOLOGÍA ORIENTADA A OBJETOS COORDINACIÓN GENERAL DE INVESTIGACIÓN Y POSTGRADO UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA Lenguaje de Modelado Unificado
  • 2. Antes de UML Coad / Yourdon: Jerarquías de composición Lenguaje de Modelado Unificado
  • 3. Antes de UML James Rumbaugh – OMT: Estructura recursiva de composición Lenguaje de Modelado Unificado
  • 4. Antes de UML James Rumbaugh – OMT: Modelo de estado Lenguaje de Modelado Unificado
  • 5. Antes de UML Martin / Odell – Ptech: Metáfora de ingeniería Esquema de concepto de procesos Lenguaje de Modelado Unificado
  • 6. Antes de UML Jacobson – Objectory y OOSE: Diagrama de Casos de Uso Lenguaje de Modelado Unificado
  • 7. Antes de UML Reenskaug - OORASS (Análisis, Síntesis y Estructuración de Papeles Orientada a Objetos): Diagrama de papeles Lenguaje de Modelado Unificado
  • 8. Métodos Orientados a Objetos Texel: Modelo de estados para la clase Ventana Lenguaje de Modelado Unificado
  • 9. Métodos Orientados a Objetos BON (Notación de Objetos Mejorada): Modelo estático Modelo dinámico Lenguaje de Modelado Unificado
  • 10. Antes de UML Fusión: Modelo de procesos Lenguaje de Modelado Unificado
  • 11. Antes de UML HOOD (Diseño OO Jerárquico): Flujos de datos Lenguaje de Modelado Unificado
  • 12. Antes de UML OOSD (Diseño Estructurado OO): Un objeto que representa una Tratamiento de excepciones para una Pila Pila Lenguaje de Modelado Unificado
  • 13. Antes de UML Booch: Diagrama de Clases Lenguaje de Modelado Unificado
  • 14. Antes de UML Otros métodos: • OBA (Análisis de Comportamiento de Objetos) – Rubin y Goldberg (1992). • FOA (Análisis Orientado a Marcos) – Andleigh y Gretzinger (1992). • Notación Uniforme de Objetos – Page-Jones, Constantine y Weiss (1990). • MOSES (Metodología para la Ingeniería de Sistemas de Software Orientada a Objetos) – Henderson-Sellers y Edwards (1993). • Wirfs-Brock (1990). • JSD y OOJSD – Jackson (1983). Lenguaje de Modelado Unificado
  • 15. Evolución Histórica Métodos Lenguaje de y Programación III Algoritmos Modelado Unificado
  • 16. Lenguaje de Modelado Unificado Definición: • Creación de Grady Booch, James Rumbaugh e Ivar Jacobson (los tres amigos). • Es un lenguaje (sintaxis y semántica) de modelado y no un método. La sintaxis nos dice cuáles son los símbolos y cómo se pueden combinar; la semántica nos da las reglas de interpretación de cada símbolo según el contexto donde se use. • Usado para modelar o describir sistemas de una gran variedad de tipos (principalmente de software). También usado durante el desarrollo de un sistema de software, desde la especificación de requerimientos hasta las pruebas finales. • Avalado por el grupo de estándares OMG. Lenguaje de Modelado Unificado
  • 17. Lenguaje de Modelado Unificado Objetivos: • Modelar sistemas (no únicamente software) usando conceptos de orientación a objetos. • Establecer una pareja explícita de elementos tanto a nivel conceptual como ejecutable. • Direccionar los temas de cierto tamaño inherentes a los sistemas complejos y/o críticos. • Crear un lenguaje de modelado utilizable tanto para los humanos como para las máquinas. Lenguaje de Modelado Unificado
  • 18. Lenguaje de Modelado Unificado 4 partes: • Vistas: muestra diferentes aspectos del sistema que se está modelando. Representa una abstracción que consiste en un número determinado de diagramas. Permite enlazar el modelo al proceso escogido para el desarrollo. • Diagramas: gráficas que describen el contenido de una vista. Son 9 tipos de diagramas en total. • Elementos del modelo: son los conceptos usados en los diagramas, asociados comúnmente a conceptos de la orientación a objetos (clase, objeto, mensaje). Siempre tiene el mismo significado y símbolo, sin importar el diagrama. • Mecanismos generales: proveen comentarios, información u otros extras a los elementos del modelo. Lenguaje de Modelado Unificado
  • 19. Lenguaje de Modelado Unificado 5 vistas: • Vista de Casos de Uso: muestra la funcionalidad del sistema tal como es percibida por los actores externos. • Vista lógica: muestra cómo la funcionalidad está diseñada dentro del sistema, en términos de las estructuras estáticas y el comportamiento dinámico. • Vista de componentes: muestra la organización de los componentes de código para construir el sistema. • Vista de concurrencia: muestra la concurrencia (comunicación y sincronización) en el sistema. • Vista de despliegue: muestra el despliegue o distribución del sistema en la arquitectura física (computadoras y otros dispositivos). Lenguaje de Modelado Unificado
  • 20. Lenguaje de Modelado Unificado 9 diagramas: • Vista de Casos de Uso: o Diagrama de Casos de Uso o Diagrama de Actividades • Vista lógica: o Diagrama de Clases o Diagrama de Objetos o Diagramas de Estados • Vista de concurrencia: o Diagrama de Colaboración o Diagrama de Secuencias • Vista de componentes: o Diagrama de Componentes • Vista de despliegue: o Diagrama de Distribución Lenguaje de Modelado Unificado
  • 21. Extensiones de UML Valores etiquetados: • Son propiedades asociadas a elementos de UML en forma de etiquetas. Existe una serie de etiquetas ya predefinidas en UML (documentación, ubicación, persistencia, semántica, responsabilidad, precondición, poscondición, abstracto, etc.). • Permiten agregar semántica extra a los elementos asociados (precondiciones y poscondiciones de las operaciones, por ejemplo). También son usados para agregar información administrativa sobre el progreso o estado de un proyecto. • Se representan en los diagramas encerrados entre llaves y consisten de una etiqueta, un signo de igualdad ´=´ y un valor. • Ejemplo: { Algoritmo = “QuickSort” } { Autor = “Mauricio Paletta” } Lenguaje de Modelado Unificado
  • 22. Extensiones de UML Restricciones: • Reglas que restringen la semántica de uno o más elementos de UML. También llamadas condiciones semánticas. • Pueden estar asociadas a clases u objetos y también a las relaciones entre éstos, a fin de restringir la participación de estos elementos en la relación. • Se representan en los diagramas encerrados entre llaves. • Hay 14 restricciones predefinidas: asociación, local, parámetro, auto, completa, disjunta, incompleta, sobrelapada, implícita, or ordenada, voto y difundida. • El usuario también puede definir sus propias restricciones (parecido a la forma como se definen valores etiquetados). Ejemplo: { persona.jefe.sueldo >= persona.asistente.sueldo } Lenguaje de Modelado Unificado
  • 23. Extensiones de UML Estereotipos: • Representa una semántica asociada a un elemento existente. Se pueden ver como un tipo de especialización del elemento. • Cuando un estereotipo está asociado a un elemento, se sobrescribe la semántica definida para ese elemento y éste puede ser visto como un nuevo elemento basado en otro ya existente. Es una extensión de la semántica pero no de la estructura del elemento. • Por lo general son metaclases (para ser asociados a clases) o importaciones (para las relaciones de dependencia entre paquetes). • Hay mas de 40 estereotipos predefinidos en UML y también es posible definir estereotipos propios. Lenguaje de Modelado Unificado
  • 24. Extensiones de UML Estereotipos: • Se representan o identifican con un nombre encerrado entre „<<‟ y „>>‟ que por lo general se coloca delante del identificador del elemento asociado. • Tres tipos particulares de estereotipos aplicado a clases son: Control, Límite y Entidad. Están basados en el concepto “model-view-controller” donde Entidad es el modelo, Control es el controlador y Límite es la vista. Esta es la notación utilizada: Control Entidad Límite Lenguaje de Modelado Unificado
  • 25. Extensiones de UML Estereotipos: • El estereotipo Límite especializa el uso de una clase para su presentación y manipulación. Presenta y comunica la información entre sistemas (hombre-máquina por ejemplo). Por lo general son ventanas, cajas de diálogos o formas, clases que representan elementos de comunicación (como TCP/IP). • El estereotipo Entidad es usado para modelar objetos del negocio. • El estereotipo Control es usado para conectar objetos Límite con sus objetos Entidad y manejar una secuencia de operaciones dentro del sistema. Estos objetos típicamente manejan el procesamiento de la información en los objetos Entidad. Lenguaje de Modelado Unificado
  • 26. Extensiones de UML Estereotipos: Manejador Cursos Opciones Profesores 1 Maneja Curso 1..* 1 Agregar Curso Ofrecido Cursos Ofrecidos Lenguaje de Modelado Unificado
  • 27. Diagrama de Casos de Uso Definición: • Describe lo que un nuevo sistema debe hacer o lo que un sistema existente hace en término de los requerimientos y funcionalidades. • Es una estructura que ayuda a los analistas a trabajar con los usuarios para determinar la forma en que se usará el sistema a modelar. Es una excelente herramienta para estimular a que los usuarios potenciales hablen del sistema desde sus propios puntos de vista. • El sistema se describe o es visto como una “caja negra” que provee casos de uso. • Permiten definir la vista de casos de uso del sistema. Lenguaje de Modelado Unificado
  • 28. Diagrama de Casos de Uso 3 elementos básicos: • Actor: tipo o categoría de usuario. Define los papeles diferentes que un usuario puede desempeñar. El conjunto de actores representa a todo aquello que necesita intercambiar información con el software que se está analizando. Notación: Actor Lenguaje de Modelado Unificado
  • 29. Diagrama de Casos de Uso 3 elementos básicos: • Caso de uso: secuencia de transacciones que se realizan en un elemento de interfaz. Constituye una secuencia completa de mensajes y especifica la secuencia de interacción entre el actor y el software. Caso de uso  Requerimiento. Notación: Caso de Uso Caso de Uso Lenguaje de Modelado Unificado
  • 30. Diagrama de Casos de Uso 3 elementos básicos: • Relaciones: permiten identificar la comunicación entre los actores , entre los casos de uso y entre actores y casos de uso. Hay 5 tipos de relación: o Relación de generalización entre actores: permite organizar los actores en una descripción abstracta del actor. El actor Persona es más genérico que el Persona Empleado actor Empleado Lenguaje de Modelado Unificado
  • 31. Diagrama de Casos de Uso 3 elementos básicos: o Relación de generalización entre casos de uso: identifica que un caso de uso específico hereda y añade propiedades a un caso general. El case de uso “Comprar en una Comprar en una máquina Comprar un refresco máquina” es más genérico que el caso de uso “Comprar un refresco” Lenguaje de Modelado Unificado
  • 32. Diagrama de Casos de Uso 3 elementos básicos: o Relación de extensión entre casos de uso (extend): permite factorizar las variantes sobre la secuencia básica de un caso de uso en nuevos casos de uso que extienden los flujos principales. “Alquilar un vehículo” Alquilar un Alquilar un extiende (opcionalmente vehículo chofer <<extend>> ejecuta) a “Alquilar un chofer” Lenguaje de Modelado Unificado
  • 33. Diagrama de Casos de Uso 3 elementos básicos: o Relación de inclusión entre casos de uso (include): permite señalar que un caso de uso incorpora el comportamiento de otro caso de uso como parte de su propio comportamiento. “Acceder a un sistema” Acceder a Revisar datos usa (siempre ejecuta) a un sistema del usuario <<include>> “Revisar datos del usuario” Lenguaje de Modelado Unificado
  • 34. Diagrama de Casos de Uso 3 elementos básicos: o Relación de asociación entre un actor y un caso de uso: permite señalar la comunicación existente entre ambos. Comprar un refresco Persona Hacer reporte de cierre Administrador Lenguaje de Modelado Unificado
  • 35. Diagrama de Casos de Uso Ejemplo: Máquina de Refrescos Comprar Comprar refresco refresco Cliente Cliente Reabastecer Proveedor <<include>> <<include>> Exhibir el Cubrir el interior interior <<include>> <<include>> Recolectar Recolectar dinero dinero Recolector Recolector Lenguaje de Modelado Unificado
  • 36. Diagrama de Casos de Uso Ejemplo: Lenguaje de Modelado Unificado
  • 37. Diagrama de Actividad Definición: • Representan la dinámica del sistema. • Son diagramas usados para mostrar el flujo de las actividades del sistema, es decir, muestran el flujo de control entre actividades del sistema, cuáles actividades se pueden hacer en paralelo y caminos alternativos del flujo. • En el análisis, se pueden crear para representar el flujo a través de los casos de uso o para representar el flujo de un caso de uso particular. • En el diseño, se pueden usar para representar el flujo de una operación particular (algoritmo). • Contienen actividades, transiciones entre actividades, cajas de decisión y barras de sincronización. Lenguaje de Modelado Unificado
  • 38. Diagrama de Actividad Elementos: • Actividad: representa el desempeño de algún comportamiento en el diagrama de flujo. • Actividades inicial y final: símbolos especiales usados para iniciar y finalizar el diagrama de flujo. • Transición: muestran el paso del flujo de control de una actividad a otra. • Cajas de decisión: muestran rutas alternativas del flujo de control basado en una condición. • Barras de sincronización: permite representar actividades que se pueden ejecutar de forma concurrente (una transición de entrada y varias de salida) o diversos flujos que, una vez culminados, convergen en un punto (varias transiciones de entrada y una de salida). Lenguaje de Modelado Unificado
  • 39. Diagrama de Actividad Notación: Actividad 1 Comienzo Transición Actividad 2 Transición Cíclica Actividad 3 Si Actividad 4 Decisión No Rutas concurrentes Actividad 5 Actividad 6 Estado Rutas convergentes Esto es un comentario Fin Lenguaje de Modelado Unificado
  • 40. Diagrama de Actividad Ejemplo: Lenguaje de Modelado Unificado
  • 41. Diagrama de Clases Definición: • Describe la vista estática de un sistema en términos de sus clases y las relaciones entre ellas. • Sirve de base para otros diagramas que muestran otros aspectos del sistema (como el de estados de los objetos y el de colaboración entre objetos que se muestran en los diagramas dinámicos). • Para su definición, es necesario que las clases hayan sido identificadas y descritas; luego se pueden asociar con otras clases usando relaciones específicas. Lenguaje de Modelado Unificado
  • 42. Diagrama de Clases Relaciones: • Asociación: conexión semántica entre clases que indica que existe una conexión entre objetos de esas clases. • Generalización: relación entre un elemento mas general y otro mas específico (herencia). El elemento mas específico puede contener información adicional. • Dependencia: relación entre un elemento independiente y otro dependiente. Un cambio en el elemento independiente afecta al elemento dependiente. • Refinamiento: relación entre dos descripciones del mismo tipo pero en niveles diferentes de abstracción. Lenguaje de Modelado Unificado
  • 43. Diagrama de Clases Asociaciones: • Normal: es la asociación más común y se dibuja como una línea sólida que une las dos clases. Tiene un nombre (comúnmente un verbo) que etiqueta el enlace. Es posible agregar una flecha al final de la asociación, que indica que la asociación sólo se puede usar en la dirección de la flecha. Si no tiene la flecha se asume que la asociación es válida para ambos sentidos. También se puede indicar la multiplicidad válida en la asociación. Usa Propietario Empleado Computadora Persona Carro 1..* 0..* Lenguaje de Modelado Unificado
  • 44. Diagrama de Clases Asociaciones: • Recursiva: representa la conexión de una clase consigo misma. Los objetos conectados semánticamente son de la misma clase. Las asociaciones en general pueden tener roles conectados a cada clase involucrada en la asociación e indican el papel que juega la clase en términos de la asociación. Es una técnica útil para especificar el contexto de una clase y sus objetos. 0..* esposo Nodo Persona 0..* esposa Conecta Se casa con Lenguaje de Modelado Unificado
  • 45. Diagrama de Clases Asociaciones: • Cualificada: son usadas en asociaciones de “uno a muchos” o “muchos a muchos”. El cualificador indica cómo distinguir entre el conjunto de objetos de los muchos al final de la asociación; puede verse como un tipo de clave que permite separar todos los objetos en la asociación. Reducen la multiplicidad en el modelo de “uno a muchos” a “uno a uno”. Canvas 0..* Figura id figura número de Localiza * Recepcionista Reservación confirmación Lenguaje de Modelado Unificado
  • 46. Diagrama de Clases Asociaciones: • Disyuntiva (or): representa una restricción entre dos o más asociaciones. Indica que los objetos de una clase pueden participar en a lo sumo una de las asociaciones a la vez. Las asociaciones en general también pueden contener restricciones para indicar que la asociación debe seguir cierta regla para su cumplimiento. Compañía de Póliza de {Or} Póliza de 1 0..* 0..* Seguros Seguros Seguros 0..* 0..* {Ordenado} {Or} 1..* 1..* 1..* Persona Compañía Cliente Lenguaje de Modelado Unificado
  • 47. Diagrama de Clases Asociaciones: • Ternaria: representa la asociación de tres clases. Se representa mediante un diamante. Los calificadores y la agregación no están permitidos en este tipo de asociación. Se puede evitar con la definición de asociaciones simples. Compañía de 1 0..* Póliza de 0..* Seguros Seguros 0..* Cláusula 0..* 1..* Persona Lenguaje de Modelado Unificado
  • 48. Diagrama de Clases Asociaciones: • Agregación: es un caso especial de asociación que indica que la relación entre las clases es del tipo “parte de”. Se representa mediante un diamante. Cuando la asociación de composición es obligatoria, el diamante está relleno. Texto * Naval * Barco de Guerra Ventana * Botón Contiene * Menú Lenguaje de Modelado Unificado
  • 49. Diagrama de Clases Generalización: • Permite representar herencias. Relación “es un” o “caso particular de”. Vehículo Carro Bote Carro Carro de Velero Bote a Carguero Camión Deportivo Pasajeros motor Lenguaje de Modelado Unificado
  • 50. Diagrama de Clases Dependencia: • Es una conexión semántica entre dos elementos del modelo, uno independiente y otro dependiente. Por ejemplo, cuando una clase toma el objeto de otra clase como parámetro; una clase hace uso del objeto global de otra clase; la relación de amistad entre clases permitida por algunos lenguajes (C++); etc. Se utiliza una línea no continua con una flecha que indica la dirección de la dependencia. <<friend>> Clase A Clase B Lenguaje de Modelado Unificado
  • 51. Diagrama de Clases Refinamiento: • Relaciones entre dos descripciones del mismo tipo pero en niveles de abstracción diferentes. Por ejemplo, entre un tipo y una clase; entre una clase en tiempo de análisis y la misma clase en tiempo de diseño; etc. Se utiliza una línea no continua con una flecha cerrada dirigida al elemento de más alto nivel de abstracción. Clase Clase (análisis) (diseño) Lenguaje de Modelado Unificado
  • 52. Diagrama de Clases Multiplicidades: 1 Está casado con 1 Esposo Esposa uno a uno 1 Enseña * Maestro Estudiante uno a muchos 1 Atiende 1..* Cajero Cliente uno a uno o más 0..1 Casa Chimenea uno a ninguno o uno 1 Toma 12..18 Estudiante Crédito uno a 12 hasta 18 3 Triciclo Rueda uno a 3 1 Contiene 12,24 Cartón de huevos Huevo uno a 12 ó 24 Lenguaje de Modelado Unificado
  • 53. Diagrama de Clases Otros tipos de clases: • Parametrizada: permiten generalizar la definición de una clase o definir grupos de clases para que, mediante los parámetros, se puedan crear luego las clases reales. Es como una clase que aún no ha sido completamente especificada. En el entorno de programación se conocen como “Templates”. (C++ lo soporta). Clase Parametrizada Lenguaje de Modelado Unificado
  • 54. Diagrama de Clases Otros tipos de clases: • De utilidad: son agrupaciones de variables globales y funciones que se conjugan en una clase representados como atributos y métodos respectivamente. No son clases en realidad pero son útiles en aquellos lenguajes de programación no completamente orientados a objetos (como C++), para darle una connotación más formal de orientación a objetos y no dejar elementos dispersos que queden fuera de algún objeto . Clase de Utilidad Lenguaje de Modelado Unificado
  • 55. Diagrama de Clases Otros tipos de clases: • Metaclases y clases instanciadas: Las metaclases son clases cuyas instancias no son objetos sino otras clases, es decir, es una clase para crear clases. Son útiles en sistemas donde se requiere la creación de clases de forma dinámica (por ejemplo en Smalltalk). Las clases instanciadas son instancias de metaclases. La relación de instanciación se hace mediante una dependencia. Metaclase Clase Instanciada Lenguaje de Modelado Unificado
  • 56. Diagrama de Clases Paquetes: • Es un mecanismo de agrupamiento para organizar elementos del modelo en grupos semánticamente relacionados. Pueden importar elementos de otros paquetes. Los paquetes se pueden relacionar por generalización y dependencia. Lenguaje de Modelado Unificado
  • 57. Diagrama de Clases Interfaces: • Un paquete, componente o clase que tiene una interfaz conectada a él, se dice que implementa o soporta la interfaz específica dado que soporta el comportamiento definido en esa interfaz. Se pueden ver como contratos de colaboración entre los diferentes elementos del modelo. Una interfaz sólo se describe como operaciones abstractas. Se representan mediante pequeños círculos asociado (línea sólida) al elemento del modelo (uno a uno). Una clase que usa la interfaz se conecta mediante una relación de dependencia. Clase A Clase B Una interfaz Lenguaje de Modelado Unificado
  • 58. Diagrama de Clases Ejemplo: Lenguaje de Modelado Unificado
  • 59. Diagrama de Objetos Definición y notación: • El diagrama de objetos representa la asociación y relaciones entre objetos. Sigue la misma notación que el diagrama de clases a diferencia de que en lugar de identificar una clase, identifica una instancia particular u objeto. • El identificador de un objeto puede ir acompañado del identificador de la clase asociada y un separador entre ambos nombres. Por lo general se subraya el identificador de los objetos. • Se pueden usar para ejemplificar un diagrama de clases con instancias explícitas. También se pueden usar como parte de los diagramas de colaboración en el modelo dinámico. Lenguaje de Modelado Unificado
  • 60. Diagrama de Objetos Ejemplo: Lenguaje de Modelado Unificado
  • 61. Diagrama de Estados Definición: • Representa el comportamiento del sistema en el tiempo. • Por lo general se hace un diagrama de estados por clase. • El comportamiento es modelado en términos del estado en el cual se encuentra un objeto. • Se indican qué acciones se ejecutan en cada estado y cuál es el nuevo estado al que se llega luego de un determinado evento. • Los estados representan condiciones que son válidas en el objeto en un momento dado; los eventos representan la causa que origina el cambio desde un estado a otro. Lenguaje de Modelado Unificado
  • 62. Diagrama de Estados Notación: Estado inicial Estado final Estado Transición con el Condicional mismo estado Estado1 Transición / Evento Estado2 Lenguaje de Modelado Unificado
  • 63. Diagrama de Estados Ejemplo: Cerrar Abrir Abrir Cerrada Abierta Cerrar Lenguaje de Modelado Unificado
  • 64. Diagrama de Componentes Definición: • Permite modelar la estructura del software, incluyendo dependencias entre componentes en código fuente, componentes en código binario y componentes ejecutables. • Establece relaciones de dependencia entre componentes y/o paquetes de componentes. • Un componente es un grupo de clases que trabajan estrechamente. Se pueden clasificar según los su existencia en: tiempo de compilación; tiempo de enlace; tiempo de ejecución y en varios de esos momentos. • Una dependencia indica que un elemento del modelo (fuente) depende de otro (objeto), de manera que un cambio en el elemento objeto puede significar cambiar el elemento fuente. Lenguaje de Modelado Unificado
  • 65. Diagrama de Componentes Tipos de componentes: • Componentes para trabajar en el producto: también llamados componentes fuente, son típicamente archivos de código fuente usados para implementar una o más clases (archivos de base de datos, código fuente, recursos gráficos, etc.). • Componentes de distribución: también llamados componentes binarios, conforman el fundamento de los sistemas ejecutables y son típicamente archivos de código objeto que se generan a partir de los componentes anteriores (ejecutables, DLL, controles ActiveX, etc.). • Componentes de ejecución: son los creados como resultado de un sistema en ejecución (archivos temporales, índices de búsqueda, etc.). Lenguaje de Modelado Unificado
  • 66. Diagrama de Componentes Ejemplo: Lenguaje de Modelado Unificado
  • 67. Diagrama de Colaboración Definición: • Muestra la interacción entre objetos organizada alrededor de los objetos. • Contiene: o Objetos dibujados como rectángulos. Tres maneras de identificación: el nombre del objeto, el nombre del objeto y su clase o sólo el nombre de la clase (objeto anónimo). o Enlaces entre objetos mediante líneas que conectan dichos objetos. o Mensajes que se muestran con un texto descriptivo y una flecha que indica el sentido de la ejecución desde el cliente hacia el que suple el evento. Lenguaje de Modelado Unificado
  • 68. Diagrama de Colaboración Ejemplo: Lenguaje de Modelado Unificado
  • 69. Diagrama de Secuencias Definición: • Muestra la interacción entre objetos estructurada u ordenada en una secuencia de eventos en el tiempo. • Representan el comportamiento del sistema de una forma amplia. • Se lee de izquierda a derecha y de arriba abajo. • Por lo general están relacionados con la realización de los casos de uso. Pueden haber varios diagramas de secuencia por caso de uso. • Pueden ser excesivamente grandes si están involucradas muchas clases u objetos en la interacción, en comparación con los diagramas de colaboración. Lenguaje de Modelado Unificado
  • 70. Diagrama de Secuencias Notación: Objetos Objeto1 Objeto2 : Actor Mensaje recurrente Mensaje Activación Retorno Línea de vida del objeto Lenguaje de Modelado Unificado
  • 71. Diagrama de Secuencias Ejemplo: Lenguaje de Modelado Unificado
  • 72. Diagrama de Distribución Definición: • Modela la distribución en tiempo de ejecución de los elementos de procesamiento y componentes de software, procesos y objetos asociados. • Tiene que ver con la arquitectura física del sistema: ¿dónde están localizados físicamente los programas que implementan las clases y objetos?, ¿en cuáles computadoras se ejecutan estos procesos?, ¿cómo se conectan las diferentes computadoras que requiere el sistema para funcionar?. • Se modelan los nodos (objetos físicos o dispositivos) y la comunicación entre ellos. Cada nodo puede contener instancias de componentes. Lenguaje de Modelado Unificado
  • 73. Diagrama de Distribución Notación: Procesador Dispositivo Conexión Lenguaje de Modelado Unificado
  • 74. Diagrama de Distribución Ejemplo: Lenguaje de Modelado Unificado