Técnicas de Modelamiento
                           Sesión 2
   Introducción a UML
    (Unified Model Language)


           Prof. César Luza Montero
Facultad de Ingeniería de Sistemas e Informática
  Universidad Nacional Mayor de San Marcos




        Copyright © 2008, Cesar Luza, Lima-Perú
Contenido
   ¿Por qué modelamos?
   La importancia de modelar
   Principios del modelado
   ¿Qué es UML?.
   Presentación del UML
   Bloques de construcción de UML
   Diagramas Utilizados en UML (ejemplos)




                                         2
¿Por qué Modelamos?



 El modelado es una técnica de hacer

        modelos, que ofrece

    Una visión global del sistema.


                                3
Importancia de Modelar



            Objetivos del Modelar:

            Visualizar, especificar la
             estructura, proporcionan
             plantillas, documentan
             decisiones


                                4
Principios del Modelado
 La elección de qué modelos crear, y dar forma a una
  solución.
 Todo modelo puede ser expresado a diferentes
  niveles de precisión.
 Los mejores modelos están ligados a la Realidad
 Un único modelo no es suficiente.




                                          5
¿Qué es el UML?
 UML es un Lenguaje de Modelado Unificado
  basado en una notación gráfica la cual
  permite:
         Especificar
         Construir
         Visualizar
         Documentar
 los artefactos de un sistema software
  orientado a objetos

                                    6
¿Qué es el UML?
 UML puede ser utilizado por cualquier metodología
  de análisis y diseño orientada a objetos para
  expresar los modelos de diseño.
 Este lenguaje es el resultado de la unificación de los
  métodos de modelado orientados a objetos de:
      Booch,
      Rumbaugh (OMT:Object Modeling Technique)
      Jacobson (OOSE:Object-Oriented Sotfware
       Engineering) .




                                            7
¿Qué es UML?
 Un lenguaje de modelado permite expresar los
  distintos modelos que se producen en el proceso de
  desarrollo de software.
 Artefacto es información que es utilizada o
  producida durante un proceso de desarrollo de
  software.




                                         8
¿Qué es UML?
 Un modelo es una abstracción que se elabora para
  comprender algo antes de construirlo. Un modelo es
  una representación abstracta de una especificación,
  un diseño o un sistema desde un punto de vista
  particular.
 Un diagrama es una representación gráfica de una
  colección de elementos del modelo (grafo). Un
  diagrama es una representación de (parte de) un
  modelo de diseño.
 Un modelo se representa por uno o más diagramas



                                         9
¿Qué es UML?
 ¿Dónde puede utilizarse UML?
      Sistema de Información Institucionales
      Bancos y Servicios Financieros
      Telecomunicaciones
      Transporte
      Comercio
      Electrónica médica
      Ámbito científico
      Servicios distribuidos basados en la Web




                                                  10
Bloques de Construcción
UML


           Elementos

           Relaciones
 Bloques
           Diagramas



                        11
UML 2.0
 Elementos primitivos de modelado
   (estáticos,   dinámicos,   agrupamiento,   anotaciones)




 Relaciones
    Dependencia
    Asociación
    Generalización
    Realización
 Diagramas UML (13 diagramas)
    Diagramas estáticos
    Diagramas de comportamiento

                                                      12
Bloques de Construcción
 UML

 Elementos                     Relaciones                    Diagramas
                 Clase
                                      interfaz      nodo     Casos de uso
                                                                                Clase activa
                 Ventana
                 O rigen
                 T amaño


Estructurales
                                                                                 GestorEventos
                 A brir( )                                    Realizar Pedido
                                                  servidor
                 Cerrar()
                 M over( )                                                       S uspender ()
                 D ibujar( )
                                                                                 VaciarCola()

                                  componente

                                                               Cadena de
                                                               responsabilidad
                  Interacción               Estados
                           Dibujar
Comportamiento             Mensajes         Esperando


Agrupación
                 Reglas del negocio


Anotación
                                                                       13
Elementos Estructurales
 Elementos   estructurales, son la parte
 estática de un modelo.




                                14
Elementos Estructurales
 Clase: representa un conjunto de objetos que
  comparten los mismos atributos, operaciones,
  relaciones y semántica.

       Publicación         Nombre de la clase
   Código P Cadena(2)
   Copias   Entero         Atributos
   Importe Decimal(10,2)



    Agregar()              Operaciones
    Consultar()
    Listar()




                                         15
Elementos Estructurales
 Atributo: Representa una propiedad de una entidad.
  Cada atributo de un objeto tiene un valor que
  pertenece a un dominio de valores determinado.
 Objeto: Se caracteriza por tener una identidad única,
  un estado definido por un conjunto de valores de
  atributos y un comportamiento representado por sus
  operaciones y métodos




                                          16
Elementos Estructurales
 Interfaz: define un conjunto de especificaciones de
    operaciones




   Colaboración: define una iteración y es una
    sociedad de roles y otros elementos que
    colaboran cooperativamente


                     Cadena de
                   Responsabilidad

                                          17
Elementos Estructurales
   Caso de Uso: Conjunto de secuencia de
    acciones que se ejecutan y el resultado es de
    interés para un actor en particular.




                 Realizar pedido




                                         18
Elementos Estructurales
 Clase Activa: Son similares a las clases excepto
  que sus objetos representan elementos cuyo
  comportamiento es concurrente con otros
  elementos


      Gestor Ventas           Nombre




       Suspender()           Operaciones
       VaciarCola()


                                           19
Elementos Estructurales
 Componentes: Es empaquetamiento físico de
  diferentes elementos lógicos     como    clases,
  interfaces, y colaboraciones.




                  Orderform.java




                                      20
Elementos Estructurales
 Nodo: Es elemento físico es decir un recurso
  computacional




              Servidor




                                     21
Elementos
Comportamiento
Son la parte dinámica,      y representan
comportamiento en el tiempo y el espacio.




                                 22
Elementos
Comportamiento
Interacción: Conjunto de mensajes intercambiados
entre objetos.


Estado: Identifica un período de tiempo del objeto
(no instantáneo) en el cual el objeto esta esperando
alguna operación, recibe cierto tipo de estímulos y
especifica la secuencia de estado por las que pasa
un objeto

                    Esperado


                                         23
Elementos Agrupación

Elementos Agrupación         son   las        partes
organizativas

Paquete: Mecanismo de propósito general para
organizar elementos.




              Reglas del Negocio



                                         24
Elementos de Anotación

Elementos de Anotación son las partes
explicativas, son comentarios, para describir,
clasificar, y hacer observaciones

Nota: Sirve para hacer comentarios a un conjunto
de elementos

               Devuelve una
               Copia del objeto
               receptor



                                      25
Bloques de Construcción
     UML

     Elementos                Relaciones              Diagramas
   Dependencia
        Relación entre dos elementos uno independiente a otro
         dependiente y puede afectar la semántica
                                          0...1
   Asociación                            *
                                          Patrón        empleado
        Son conexiones entre objetos (rol, multiplicidad, calificador)
   Generalización
        Especificación en donde el hijo comparte la estructura y el
         comportamiento del padre
   Realización
        Es una relación semántica entre clasificadores
                                                            26
RELACIONES
Dependencia
Es una relación semántica entre dos elementos, tal
que un cambio en una de ellos (el independiente)
Puede afectar al otro (el dependiente).


                     A             B
                   “B depende de A”



                                          27
RELACIONES
Asociación
Es una relación estructural que describe un
conjunto de links, siendo un link una conexión
entre objetos

        0..1                       *

        empleador            empleado




                                           28
RELACIONES
Generalización
Una relación de generalización/especialización en la
que el elemento especializado (descendiente) se
construye sobre la especificación del elemento
generalizado (ancestro)




                                           29
RELACIONES
Realización
Es una relación semántica en la que un clasificador, tal
como una interfaz o un caso de uso, especifica un
“contrato” que otro clasificador, tal como una clase o
una colaboración, garantiza llevar a cabo.




                                            30
Bloques de Construcción
UML

Elementos               Relaciones                   Diagramas
                                      State
                                     Diagramas
                                    Diagrams
                    Use Case           Clase
                     Diagramas                                  State
    Use Case        Diagrams                                   Diagramas
     Diagramas      Caso de Uso                               Diagrams
    Diagrams                                                    Objecto
     Secuencia


 Scenario                                                   State
  Diagramas                                                Diagramas
 Diagrams                     Modelos                     Diagrams
 Colaboración                                             Componentes


       Scenario                                  Component
                                                  Diagramas
        Diagramas                                 Diagrams
       Diagrams                                  Despliegue
          Estado           Diagramas
                           Actividades

                                                          31
DIAGRAMAS UML
Diagramas estáticos
 Diagrama de clases
 Diagrama de objetos
 Diagrama de componentes
 Diagrama de estructura compuesta
 Diagrama de paquetes
 Diagrama de despliegue




                                     32
Diagrama de clases




Muestra un conjunto de
clases, interfaces,
colaboraciones y
sus relaciones            33
Diagrama de objetos




Muestra una instantánea
de un conjunto de
objetos y sus relaciones

                             34
Diagrama de componentes

Muestra la organización y
dependencias entre
un conjunto de componentes
conocida como vista de
implementación de
unsistema.

Están relacionados a
Diagramas de clases en
donde un componente se
Corresponde con una o más
clases interfaces o
colaboraciones.




                             35
Diagrama de estructura compuesta
(Composite Structural Diagram)

Muestra la estructura
  interna (incluyendo
  partes y conectores) de
  un clasificador o una
  colaboración
  estructurada.




                            36
Diagrama de paquetes

Muestra la
descomposición del
modelo en unidades de
organización y sus
dependencias.




                        37
Diagrama de despliegue

Muestra los enlaces de
comunicación física
entre elementos de
hardware y las relaciones
entre máquinas físicas y
procesos: qué se ejecuta
y dónde




                            38
Diagramas UML
Diagramas de comportamiento
 Diagramas de casos de uso
 Diagrama de secuencia
 Diagrama de colaboración
 Diagrama de estados
 Diagrama de actividades
 Diagrama cronológico
 Diagrama general de interacciones




                                      39
Diagrama de casos de uso
Muestra un conjunto de casos de uso y actores y sus
relaciones




                                        40
Diagrama de secuencia

Es un diagrama de
interacción que muestra
los objetos y actores
Que participan en una
colaboración poniendo
El énfasis en el
Ordenamiento en el
tiempo de los mensajes


                          41
Diagrama de colaboración

Un diagrama de
Interacción que pone el
énfasis en la
   organización
estructural de los objetos
o roles que envían y
reciben mensajes.




                             42
Diagrama de estados

Muestra un autómata
que consiste de estados,
transiciones, eventos y
actividades




                           43
Diagrama de actividades

Muestra la estructura de
un proceso u otro cálculo
como el flujo de control
y datos paso a paso en el
cálculo.




                            44
Diagrama cronológico
 (Timing Diagram)
Es un diagrama de
interacción que muestra
tiempos a lo largo de
diferentes objetos o
roles, y no secuencias
relativas de mensajes




                          45
Diagrama de interacciones general
   (Interaction Overview Diagram)

Es un híbrido de
diagramas de actividad
y de secuencia.




                             46
Bibliografía
 El lenguaje unificado de modelado

               Grady Booch
            James Rumbaugh
              Ivar Jacobson
     El libro introductorio a UML

          Addison Wesley



                                    47

Tm02 introducción a uml

  • 1.
    Técnicas de Modelamiento Sesión 2 Introducción a UML (Unified Model Language) Prof. César Luza Montero Facultad de Ingeniería de Sistemas e Informática Universidad Nacional Mayor de San Marcos Copyright © 2008, Cesar Luza, Lima-Perú
  • 2.
    Contenido  ¿Por qué modelamos?  La importancia de modelar  Principios del modelado  ¿Qué es UML?.  Presentación del UML  Bloques de construcción de UML  Diagramas Utilizados en UML (ejemplos) 2
  • 3.
    ¿Por qué Modelamos? El modelado es una técnica de hacer modelos, que ofrece Una visión global del sistema. 3
  • 4.
    Importancia de Modelar  Objetivos del Modelar:  Visualizar, especificar la estructura, proporcionan plantillas, documentan decisiones 4
  • 5.
    Principios del Modelado La elección de qué modelos crear, y dar forma a una solución.  Todo modelo puede ser expresado a diferentes niveles de precisión.  Los mejores modelos están ligados a la Realidad  Un único modelo no es suficiente. 5
  • 6.
    ¿Qué es elUML?  UML es un Lenguaje de Modelado Unificado basado en una notación gráfica la cual permite:  Especificar  Construir  Visualizar  Documentar  los artefactos de un sistema software orientado a objetos 6
  • 7.
    ¿Qué es elUML?  UML puede ser utilizado por cualquier metodología de análisis y diseño orientada a objetos para expresar los modelos de diseño.  Este lenguaje es el resultado de la unificación de los métodos de modelado orientados a objetos de:  Booch,  Rumbaugh (OMT:Object Modeling Technique)  Jacobson (OOSE:Object-Oriented Sotfware Engineering) . 7
  • 8.
    ¿Qué es UML? Un lenguaje de modelado permite expresar los distintos modelos que se producen en el proceso de desarrollo de software.  Artefacto es información que es utilizada o producida durante un proceso de desarrollo de software. 8
  • 9.
    ¿Qué es UML? Un modelo es una abstracción que se elabora para comprender algo antes de construirlo. Un modelo es una representación abstracta de una especificación, un diseño o un sistema desde un punto de vista particular.  Un diagrama es una representación gráfica de una colección de elementos del modelo (grafo). Un diagrama es una representación de (parte de) un modelo de diseño.  Un modelo se representa por uno o más diagramas 9
  • 10.
    ¿Qué es UML? ¿Dónde puede utilizarse UML?  Sistema de Información Institucionales  Bancos y Servicios Financieros  Telecomunicaciones  Transporte  Comercio  Electrónica médica  Ámbito científico  Servicios distribuidos basados en la Web 10
  • 11.
    Bloques de Construcción UML Elementos Relaciones Bloques Diagramas 11
  • 12.
    UML 2.0  Elementosprimitivos de modelado (estáticos, dinámicos, agrupamiento, anotaciones)  Relaciones  Dependencia  Asociación  Generalización  Realización  Diagramas UML (13 diagramas)  Diagramas estáticos  Diagramas de comportamiento 12
  • 13.
    Bloques de Construcción UML Elementos Relaciones Diagramas Clase interfaz nodo Casos de uso Clase activa Ventana O rigen T amaño Estructurales GestorEventos A brir( ) Realizar Pedido servidor Cerrar() M over( ) S uspender () D ibujar( ) VaciarCola() componente Cadena de responsabilidad Interacción Estados Dibujar Comportamiento Mensajes Esperando Agrupación Reglas del negocio Anotación 13
  • 14.
    Elementos Estructurales  Elementos estructurales, son la parte estática de un modelo. 14
  • 15.
    Elementos Estructurales  Clase:representa un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica. Publicación Nombre de la clase Código P Cadena(2) Copias Entero Atributos Importe Decimal(10,2) Agregar() Operaciones Consultar() Listar() 15
  • 16.
    Elementos Estructurales  Atributo:Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado.  Objeto: Se caracteriza por tener una identidad única, un estado definido por un conjunto de valores de atributos y un comportamiento representado por sus operaciones y métodos 16
  • 17.
    Elementos Estructurales  Interfaz:define un conjunto de especificaciones de operaciones  Colaboración: define una iteración y es una sociedad de roles y otros elementos que colaboran cooperativamente Cadena de Responsabilidad 17
  • 18.
    Elementos Estructurales  Caso de Uso: Conjunto de secuencia de acciones que se ejecutan y el resultado es de interés para un actor en particular. Realizar pedido 18
  • 19.
    Elementos Estructurales  ClaseActiva: Son similares a las clases excepto que sus objetos representan elementos cuyo comportamiento es concurrente con otros elementos Gestor Ventas Nombre Suspender() Operaciones VaciarCola() 19
  • 20.
    Elementos Estructurales  Componentes:Es empaquetamiento físico de diferentes elementos lógicos como clases, interfaces, y colaboraciones. Orderform.java 20
  • 21.
    Elementos Estructurales  Nodo:Es elemento físico es decir un recurso computacional Servidor 21
  • 22.
    Elementos Comportamiento Son la partedinámica, y representan comportamiento en el tiempo y el espacio. 22
  • 23.
    Elementos Comportamiento Interacción: Conjunto demensajes intercambiados entre objetos. Estado: Identifica un período de tiempo del objeto (no instantáneo) en el cual el objeto esta esperando alguna operación, recibe cierto tipo de estímulos y especifica la secuencia de estado por las que pasa un objeto Esperado 23
  • 24.
    Elementos Agrupación Elementos Agrupación son las partes organizativas Paquete: Mecanismo de propósito general para organizar elementos. Reglas del Negocio 24
  • 25.
    Elementos de Anotación Elementosde Anotación son las partes explicativas, son comentarios, para describir, clasificar, y hacer observaciones Nota: Sirve para hacer comentarios a un conjunto de elementos Devuelve una Copia del objeto receptor 25
  • 26.
    Bloques de Construcción UML Elementos Relaciones Diagramas  Dependencia  Relación entre dos elementos uno independiente a otro dependiente y puede afectar la semántica 0...1  Asociación * Patrón empleado  Son conexiones entre objetos (rol, multiplicidad, calificador)  Generalización  Especificación en donde el hijo comparte la estructura y el comportamiento del padre  Realización  Es una relación semántica entre clasificadores 26
  • 27.
    RELACIONES Dependencia Es una relaciónsemántica entre dos elementos, tal que un cambio en una de ellos (el independiente) Puede afectar al otro (el dependiente). A B “B depende de A” 27
  • 28.
    RELACIONES Asociación Es una relaciónestructural que describe un conjunto de links, siendo un link una conexión entre objetos 0..1 * empleador empleado 28
  • 29.
    RELACIONES Generalización Una relación degeneralización/especialización en la que el elemento especializado (descendiente) se construye sobre la especificación del elemento generalizado (ancestro) 29
  • 30.
    RELACIONES Realización Es una relaciónsemántica en la que un clasificador, tal como una interfaz o un caso de uso, especifica un “contrato” que otro clasificador, tal como una clase o una colaboración, garantiza llevar a cabo. 30
  • 31.
    Bloques de Construcción UML Elementos Relaciones Diagramas State Diagramas Diagrams Use Case Clase Diagramas State Use Case Diagrams Diagramas Diagramas Caso de Uso Diagrams Diagrams Objecto Secuencia Scenario State Diagramas Diagramas Diagrams Modelos Diagrams Colaboración Componentes Scenario Component Diagramas Diagramas Diagrams Diagrams Despliegue Estado Diagramas Actividades 31
  • 32.
    DIAGRAMAS UML Diagramas estáticos Diagrama de clases  Diagrama de objetos  Diagrama de componentes  Diagrama de estructura compuesta  Diagrama de paquetes  Diagrama de despliegue 32
  • 33.
    Diagrama de clases Muestraun conjunto de clases, interfaces, colaboraciones y sus relaciones 33
  • 34.
    Diagrama de objetos Muestrauna instantánea de un conjunto de objetos y sus relaciones 34
  • 35.
    Diagrama de componentes Muestrala organización y dependencias entre un conjunto de componentes conocida como vista de implementación de unsistema. Están relacionados a Diagramas de clases en donde un componente se Corresponde con una o más clases interfaces o colaboraciones. 35
  • 36.
    Diagrama de estructuracompuesta (Composite Structural Diagram) Muestra la estructura interna (incluyendo partes y conectores) de un clasificador o una colaboración estructurada. 36
  • 37.
    Diagrama de paquetes Muestrala descomposición del modelo en unidades de organización y sus dependencias. 37
  • 38.
    Diagrama de despliegue Muestralos enlaces de comunicación física entre elementos de hardware y las relaciones entre máquinas físicas y procesos: qué se ejecuta y dónde 38
  • 39.
    Diagramas UML Diagramas decomportamiento  Diagramas de casos de uso  Diagrama de secuencia  Diagrama de colaboración  Diagrama de estados  Diagrama de actividades  Diagrama cronológico  Diagrama general de interacciones 39
  • 40.
    Diagrama de casosde uso Muestra un conjunto de casos de uso y actores y sus relaciones 40
  • 41.
    Diagrama de secuencia Esun diagrama de interacción que muestra los objetos y actores Que participan en una colaboración poniendo El énfasis en el Ordenamiento en el tiempo de los mensajes 41
  • 42.
    Diagrama de colaboración Undiagrama de Interacción que pone el énfasis en la organización estructural de los objetos o roles que envían y reciben mensajes. 42
  • 43.
    Diagrama de estados Muestraun autómata que consiste de estados, transiciones, eventos y actividades 43
  • 44.
    Diagrama de actividades Muestrala estructura de un proceso u otro cálculo como el flujo de control y datos paso a paso en el cálculo. 44
  • 45.
    Diagrama cronológico (TimingDiagram) Es un diagrama de interacción que muestra tiempos a lo largo de diferentes objetos o roles, y no secuencias relativas de mensajes 45
  • 46.
    Diagrama de interaccionesgeneral (Interaction Overview Diagram) Es un híbrido de diagramas de actividad y de secuencia. 46
  • 47.
    Bibliografía El lenguajeunificado de modelado Grady Booch James Rumbaugh Ivar Jacobson El libro introductorio a UML Addison Wesley 47