• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introducción a UML
 

Introducción a UML

on

  • 7,617 views

Introducción a UML

Introducción a UML

Statistics

Views

Total Views
7,617
Views on SlideShare
7,614
Embed Views
3

Actions

Likes
13
Downloads
0
Comments
0

2 Embeds 3

http://ayds2012.blogspot.com 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Estos tres autores fueron contratados por la empresa Rational Software Co para crear una notación unificada en la que basar la construcción de sus herramientas CASE. Incorpora las ventajas de cada uno de los métodos anteriores. UML se ha convertido en un estándar de facto de la industria Con UML se fusiona la notación de estas técnicas para formar una herramienta compartida entre todos los ingenieros software que trabajan en el desarrollo orientado a objetos.
  • Es decir, no especifica exactamente los pasos a seguir, cuántos diagramas ni de qué tipo formarán el diseño de nuestra aplicación o sistema.
  • Un estereotipo permite especificar las características básicas de un elemento del diagrama (por ejemplo, en un diagrama de clases, un clase sería un estereotipo, que debe contener determinadas propiedades y métodos. Si se crea una clase Coche, todos los objetos de la clase coche contendrán las mismas propiedades y métodos). Una restricción indica una condición obligatoria para una clase o relación (por ejemplo, teniendo la clase Coche y la clase Rueda, una restricción asociada podría ser que la relación que las une fuese de 1 a 4).

Introducción a UML Introducción a UML Presentation Transcript

  • Conceptos Básicos sobre UML Hermenegildo Romero © 2009 DATABASE TEAM http:// www . db -team. com
    • INDICE
      • Introducción a UML
      • Notación UML
    Conceptos Básicos sobre UML
  • INTRODUCCIÓN A UML
  • Introducción a UML
    • UML es una especificación de notación orientada a objetos. Se basa en las anteriores especificaciones Booch (BOOCH), Rumbaugh (OMT) y Jacobson (OOSE).
    • Divide cada proyecto en un número de diagramas que representan las diferentes vistas del proyecto. Estos diagramas juntos son los que representan la arquitectura del proyecto.
  • Introducción a UML
    • UML es un lenguaje de modelado no una metodología.
    • El lenguaje de modelado es la notación gráfica que utilizan los métodos para expresar un diseño.
    • UML es una notación estándar que describe un proceso , pero no estandariza la forma en la cual se produce esa descripción.
  • Introducción a UML
    • Es importante comprender que UML no prescribe una manera especifica de cómo debe ser usado en un proyecto, no hay una manera correcta de usar UML .
  • Introducción a UML
    • Un lenguaje de modelado :
      • posee una notación que son los símbolos utilizados en el lenguaje (sintaxis).
      • También posee una serie de reglas que gobiernan ese lenguaje.
        • Las reglas son:
          • Sintácticas
            • Cómo se muestran los símbolos y cómo se combinan.
          • Semánticas
            • Nos indican lo que significa cada uno de los símbolos y como se interpreta a nivel individual o en el contexto con otros símbolos.
          • Pragmáticas
            • Describen cómo usar el lenguaje. La intención o guía maestra de cómo usar los símbolos.
  • Introducción a UML
    • UML :
      • En UML los símbolos son geométricos, como rectángulos, círculos y líneas.
      • Tiene Una serie de reglas sintácticas y semánticas bien definidas.
      • UML no tiene reglas pragmáticas, esto es reglas específicas de cómo usar UML.
  • Introducción a UML
    • En UML se comienza por la funcionalidad básica del sistema (estereotipos, restricciones).
    • Este modelado básico responde a preguntas como:
        • ¿Como interactúan entre sí los diferentes actores del sistema?
        • ¿qué actividades son parte de su trabajo?
        • ¿cuáles son los objetivos de su trabajo?
        • ¿qué personas, sistemas, o recursos están involucrados que no sean actores del sistema?
        • ¿qué reglas gobiernan sus actividades y estructuras?
        • ¿Hay alguna manera en la que los actores puedan realizar su trabajo de manera más eficiente?
  • Introducción a UML
    • UML tiene nueve diagramas predefinidos:
      • ESTÁTICOS :
        • Diagrama de clases (Class diagram)
          • Describe la estructura del sistema, las estructuras están definidas a partir de clases y relaciones.
          • Las clases pueden representar y estructurar información, productos, documentos u organizaciones.
        • Diagrama de Objetos (Object Diagram)
          • Expresa las posibles combinaciones de objetos de un diagrama de clases especifico.
  • Introducción a UML
        • Diagrama de casos de uso (use-case diagram)
          • Ilustra las relaciones entre casos de uso. Cada caso de uso, generalmente definido en texto plano, describe una parte de la funcionalidad total de un sistema.
        • Diagrama de componentes (component diagram)
          • Un tipo especial de diagrama de clases usado para describir los componentes de un sistema de software.
        • Diagrama de despliegue (deployment diagram)
          • Un tipo especial de diagrama de clases usado para reducir los diagramas de clases y componentes de un gran sistema.
  • Introducción a UML
      • DINÁMICOS :
        • Diagrama de estados (StateChart diagram)
          • Expresa los posibles estados de una clase.
        • Diagrama de Actividad (Activity Diagram)
          • Describe las actividades y acciones que tienen lugar en un sistema.
        • Diagrama de secuencias (Sequence Diagram)
          • Muestra una o varias secuencias de mensajes enviados entre un conjunto de objetos.
        • Diagrama de colaboración (collaboration diagram)
          • Describe la colaboración entre un conjunto de objetos.
  • Introducción a UML
    • Estos diagramas capturan los tres aspectos más importantes de un sistema:
        • La estructura
        • La funcionalidad
        • El comportamiento
    • Debido a la capacidad única de adaptación y extensión, es posible añadir nuevos diagramas y elementos a UML, convirtiéndole en un lenguaje flexible que puede ser usado en muchas situaciones diferentes.
  • Introducción a UML
    • Diagramas recomendados...
      • Aplicación monopuesto
        • Diagrama de casos de uso
        • Diagrama de clases
        • Diagrama de interacción (secuencia o colaboración)
      • Aplicación monopuesto, con entrada de eventos
        • 1+2+3+Diagrama de estados
      • Aplicación cliente-servidor
        • 4 + Diagrama de despliegue y diagrama de componentes.
      • Aplicación distribuida compleja
        • Todos
  • NOTACION UML
  • Notación UML
    • UML es una consolidación de muchas de las notaciones y conceptos más usadas orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares.
    • En 1996, el Object Management Group (OMG), un pilar estándar para la comunidad del diseño orientado a objetos, publicó una petición con propósito de un metamodelo orientado a objetos de semántica y notación estándares.
  • Notación UML
    • UML, en su versión 1.0, fue propuesto como una respuesta a esta petición en enero de 1997. Durante el transcurso de 1997, los seis promotores de las propuestas, unieron su trabajo y presentaron al OMG un documento revisado de UML, llamado UML versión 1.1. Este documento fue aprobado por el OMG en Noviembre de 1997. El OMG llama a este documento OMG UML versión 1.1. Actualmente la versión oficial es la 1.5, y se está trabajando en la 2.0.
  • Notación UML
    • Inconvenientes:
      • UML no es una metodología.
      • Además, muchas organizaciones han desarrollado sus propias metodologías internas, usando diferentes diagramas y técnicas con orígenes varios. Ejemplos son el método Catalyst por Computer Sciences Corporation (CSC) o el Worlwide Solution Design and Delivery Method (WSDDM) por IBM.
  • Notación UML
    • Modelos y Diagramas de UML:
  • Notación UML
    • Diagrama de Casos de Uso
        • El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso).
        • Un diagrama de casos de uso consta de los siguientes elementos:
          • Actor.
          • Casos de Uso.
          • Relaciones de Uso, Herencia y Comunicación.
  • Notación UML
    • Diagrama de Casos de Uso
        • Actor :
          • Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol , pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema.
          • Como ejemplo a la definición anterior, tenemos el caso de un sistema de ventas en que el rol de Vendedor con respecto al sistema puede ser realizado por un Vendedor o bien por el Jefe de Local.
  • Notación UML
    • Diagrama de Casos de Uso
        • Caso de Uso :
          • Es una operación/tarea específica que se realiza tras una orden de algún agente externo, sea desde una petición de un actor o bien desde la invocación desde otro caso de uso.
  • Notación UML
    • Diagrama de Casos de Uso
        • Relaciones :
          • Asociación
            • Es el tipo de relación más básica que indica la invocación desde un actor o caso de uso a otra operación (caso de uso). Dicha relación se denota con una flecha simple
  • Notación UML
    • Diagrama de Casos de Uso
        • Relaciones :
          • Dependencia o Instanciación
            • Es una forma muy particular de relación entre clases, en la cual una clase depende de otra, es decir, se instancia (se crea). Dicha relación se denota con una flecha punteada.
            • Este tipo de relación es uno de los más utilizados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<<include>>) o de Extensión (<<extends>>).
            • extends : Se recomienda utilizar cuando un caso de uso es similar a otro (extiende sus funcionalidades).
            • uses : Se recomienda utilizar cuando se tiene un conjunto de características que son similares en más de un caso de uso y no se desea mantener copiada la descripción de la característica.
  • Notación UML
    • Diagrama de Casos de Uso
        • Relaciones :
          • Generalización
            • Denota heredar las funcionalidades del caso de uso origen.
            • Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores).
            • De lo anterior cabe mencionar que tiene el mismo paradigma en diseño y modelado de clases, en donde esta la duda clásica de usar o heredar .
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Sistema que controla una máquina de reciclaje de botellas, tarros y vasos. El sistema debe controlar y/o aceptar:
            • Registrar el número de items ingresados.
            • Imprimir un recibo cuando el usuario lo solicita:
            • Describe lo depositado
            • El valor de cada item
            • Total
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • El usuario/cliente presiona el botón de comienzo
            • Existe un operador que desea saber lo siguiente:
            • Cuantos items han sido retornados en el día.
            • Al final de cada día el operador solicita un resumen de todo lo depositado en el día.
            • El operador debe además poder cambiar:
            • Información asociada a items.
            • Dar una alarma en el caso de que:
            • el Item se atora.
            • No hay más papel.
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Como una primera aproximación identificamos a los actores que interactúan con el sistema
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Luego, tenemos que un Cliente puede Depositar Ítems y un Operador puede cambiar la información de un Ítem o bien puede Imprimir un informe:
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Además podemos notar que un ítem puede ser una Botella, un Tarro o una Jarra
    vaso
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún item por un cliente o bien puede ser realizada a petición de un operador.
  • Notación UML
    • Diagrama de Casos de Uso
        • Ejemplo:
          • Caso de una Máquina de reciclaje:
            • Entonces, el diseño completo del diagrama Use Case es:
  • Notación UML
    • Diagrama de Clases
        • Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenido.
        • Un diagrama de clases esta compuesto por los siguientes elementos:
          • Clase : atributos, métodos y visibilidad.
          • Relaciones : Herencia, Composición, Agregación, Asociación y Uso.
          • Interfaces: Métodos con funcionalidades generales que implementarán varias clases del modelo.
          • Paquetes: Subconjunto del modelo que va a contener clases, objetos, relaciones etc.
  • Notación UML
    • Elementos
        • Clase
          • Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
          • En UML, una clase es representada por un rectángulo que posee tres divisiones:
  • Notación UML
        • Superior : Contiene el nombre de la Clase
        • Intermedio : Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private, protected o public).
        • Inferior : Contiene los métodos u operaciones, los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).
  • Notación UML
    • Ejemplo:
        • Una Cuenta Corriente que posee como característica:
          • Balance
        • Puede realizar las operaciones de:
          • Depositar
          • Girar
          • y Balance
        • El diseño asociado es:
  • Notación UML
      • [visibilidad] nombre [multiplicidad] [:tipo] [=valor inicial] [{propiedades}]
      • Atributos: Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son:
          • public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados.
          • private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos pueden acceder).
          • protected (#, ): Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accedido por métodos de la clase además de las subclases que se deriven (ver herencia).
        • Propiedades de los atributos : Changeable, AddOnly, Frozen.
  • Notación UML
      • [visibilidad] nombre [(lista de parámetros)] [:tipo retorno] [{propiedades}]
      • Métodos: Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, éstos pueden tener las características:
          • public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados.
          • private (-, ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar).
          • protected (#, ): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).
        • Propiedades de los métodos : IsQuery, Sequential, Guarded, Concurrent.
  • Notación UML
    • Relaciones entre Clases: Ahora una vez definido el concepto de Clase, es necesario explicar como se pueden interrelacionar dos o más clases (cada uno con características y objetivos diferentes).
    • Antes es necesario explicar el concepto de cardinalidad de relaciones: En UML, la cardinalidad de las relaciones indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas pueden ser:
        • uno o muchos : 1..* (1..n)
        • 0 o muchos : 0..* (0..n)
        • número fijo : m (m denota el número).
  • Notación UML
    • Asociación :
        • La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.
  • Notación UML
    • Asociación
          • Especifica que los objetos pertenecientes a una clase dada se conectan a los objetos de otra.
          • Son análogas a las relaciones que se dan en el modelo entidad/relación
  • Notación UML
    • Asociación :
    • Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.
  • Notación UML
    • Dependencia o Instanciación (uso) :
        • Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.
        • El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicación)
  • Notación UML
    • Dependencia o Instanciación (uso) :
    • Cabe destacar que el objeto creado (en este caso la Ventana gráfica) no se almacena dentro del objeto que lo crea (en este caso la Aplicación).
  • Notación UML
    • Estereotipos de relación clase-objeto:
      • Bind
      • Derive
      • Friend
      • InstanceOf
      • Instantiate
      • Powertype
      • Refine
  • Notación UML
    • Agregación :
        • Para modelar objetos complejos, no bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres. Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
          • Por Valor : Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición (el Objeto base se construye a partir del objeto incluido, es decir, es &quot;parte/todo&quot;).
          • Por Referencia : Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
  • Notación UML
    • Agregación
    • Un Almacén posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias).
    • Cuando se destruye el Objeto Almacén también son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados.
    • La composición (por Valor) se destaca por un rombo relleno.
    • La agregación (por Referencia) se destaca por un rombo transparente.
    • La flecha en este tipo de relación indica la navegabilidad del objeto referenciado. Cuando no existe este tipo de particularidad la flecha se elimina.
  • Notación UML
    • Herencia (Especialización/Generalización)
          • Indica que una subclase hereda los métodos y atributos especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase (public y protected).
  • Notación UML
    • Herencia (Especialización/Generalización)
  • Notación UML
    • Estereotipos de generalización:
      • Implementation
    • Restricciones de generalización
      • Complete
      • Incomplete
      • Disjoint
      • Overlapping
  • Notación UML Ejemplo de relaciones:
  • Notación UML
    • Ejemplo de relaciones:
  • Notación UML
    • Casos Particulares
        • Clase Abstracta :
            • Una clase abstracta se denota con el nombre de la clase y de los métodos con letra &quot;itálica&quot;. Esto indica que la clase definida no puede ser instanciada pues posee métodos abstractos (aún no han sido definidos, es decir, sin implementación). La única forma de utilizarla es definiendo subclases, que implementan los métodos abstractos definidos.
  • Notación UML
    • Casos Particulares
        • Clase parametrizada :
            • Una clase parametrizada se denota con un subcuadro en el extremo superior de la clase, en donde se especifican los parámetros que deben ser pasados a la clase para que esta pueda ser instanciada. El ejemplo más típico es el caso de un Diccionario en donde una llave o palabra tiene asociado un significado, pero en este caso las llaves y elementos pueden ser genéricos. La genericidad puede venir dada de un Template (como en el caso de C++) o bien de alguna estructura predefinida (especialización a través de clases).
            • En el ejemplo no se especificaron los atributos del Diccionario, pues ellos dependerán exclusivamente de la implementación que se le quiera dar.
  • Notación UML
    • Diagramas de interacción:
        • secuencia
        • colaboración
  • Notación UML
    • Diagrama de Secuencia
        • El diagrama de interacción, representa la forma en como un Cliente (Actor) u Objetos (Clases) se comunican entre si en petición a un evento. Esto implica recorrer toda la secuencia de llamadas, de donde se obtienen las responsabilidades claramente.
        • Dicho diagrama puede ser obtenido de dos partes, desde el Diagrama Estático de Clases o el de Casos de Uso (son diferentes).
        • Los componentes de un diagrama de interacción son:
          • Un Objeto o Actor .
          • Mensaje de un objeto a otro objeto .
          • Mensaje de un objeto a si mismo .
  • Notación UML
    • Diagrama de Secuencia
        • Objeto/Actor :
          • El rectángulo representa una instancia de un Objeto en particular, y la línea punteada representa las llamadas a métodos del objeto.
  • Notación UML
    • Diagrama de Secuencia
        • Objeto/Actor :
          • Puede ser de dos tipos:
            • Transitorio: El ciclo de vida del objeto coincide con el ciclo de vida del objeto contenedor.
            • Persistente: El ciclo de vida del objeto no coincide con el ciclo de vida del objeto contenedor.
  • Notación UML
    • Diagrama de Secuencia
        • Mensaje a Otro Objeto :
          • Se representa por una flecha entre un objeto y otro, representa la llamada de un método (operación) de un objeto en particular
    Activación
  • Notación UML
    • Diagrama de Secuencia
        • Mensaje al Mismo Objeto :
          • No solo llamadas a métodos de objetos externos pueden realizarse, también es posible visualizar llamadas a métodos desde el mismo objeto en estudio.
  • Notación UML
    • Diagrama de Secuencia
        • Tipos de Mensaje :
          • Simple: Un objeto envia un mensaje a otro que se considera objeto pasivo.
          • Síncrono: El cliente envía un mensaje y espera a que el servidor lo acepte. Si el servidor no lo acepta inmediatamente el cliente continua en espera.
          • Abandono (Balking): El cliente envía un mensaje al servidor, si el servidor está preparado para aceptarlo. El cliente abandona el envío si detecta que no está preparado.
          • Time-Out: El cliente abandona el envío del mensaje si se produce un time-out.
          • Asíncrono: El cliente envía un mensaje al servidor y continúa ejecutando su código mientras espera respuesta del servidor.
  • Notación UML
    • Diagrama de Secuencia
        • Ejemplo
          • En el presente ejemplo, presentamos el diagrama de interacción proveniente del siguiente modelo estático:
  • Notación UML
    • Diagrama de Secuencia
        • Ejemplo
          • Aquí se representa una aplicación que posee una Ventana gráfica, y ésta a su vez posee internamente un botón.
          • El diagrama de interacción para dicho modelo sería:
    • En donde se hacen notar las sucesivas llamadas a Draw() (entre objetos) y la llamada a Paint() por el objeto Botón
  • Notación UML
    • Diagrama de colaboración
        • También representa al igual que el de secuencia las interacciones que se producen entre los objetos.
        • La diferencia con los de secuencia es que el de colaboración representa la interacción mas centrado desde el punto de vista de la relación entre los objetos.
  • Notación UML
    • Diagrama de colaboración
        • Representación de los objetos
          • Una única instancia de la clase
          • Múltiples instancias de clase
    Clase
  • Notación UML
    • Diagrama de colaboración
        • Mensajes
          • No está permitido crear un enlace “link” si no existe una relación entre las clases de tipo asociación, agregación o composición.
          • Los diferentes mensajes deben coincidir con métodos de las correspondientes clases.
  • Notación UML
    • Diagrama de colaboración
        • Mensajes
          • Los enlaces representan también la relación cliente-servidor entre los objetos.
            • Cliente: El que envía el mensaje
            • Servidor: El que recibe el mensaje
          • A partir de esta relación puede definirse el tipo de visibilidad que existe entre los objetos:
            • Visibilidad es la capacidad y el modo en que un objeto accede a otro en su relación cliente-servidor.
  • Notación UML
    • Diagrama de colaboración
        • Mensajes
          • Tipos de visibilidad:
            • Visibilidad a nivel de campo : El servidor es uno de los atributos del cliente.
            • Visibilidad a nivel de parámetro : El servidor es accesible al cliente por que el servidor es un parámetro de alguno de los métodos del cliente.
            • Visibilidad local : El servidor es una variable local de alguno de los métodos del cliente.
            • Visibilidad global : El servidor es una variable global a alguno de los métodos del cliente.
  • Notación UML
    • Diagrama de colaboración
        • Mensajes
          • Tipos de visibilidad
  • Notación UML
    • Diagrama de Estados
        • El diagrama de estados refleja:
          • El estado de un objeto en un momento del tiempo.
          • Su comportamiento.
          • Transición entre estados
        • El diagrama de estados permite la representación del ciclo de vida de los objetos.
        • Los diagramas de estados contienen:
          • Los estados
          • Las transiciones
          • Los eventos
          • Las operaciones, acciones y actividades
  • Notación UML
    • Diagrama de Estados
        • Estados
          • Representa al objeto en un momento del tiempo.
            • Estado genérico
            • Estado inicial
            • Estado final
  • Notación UML
    • Diagrama de Estados
        • Transiciones
          • Son las conexiones unidireccionales que unen los estados.
          • El paso de un estado a otro se produce mediante un evento .
          • El paso de un estado a otro se produce instantáneamente ya que los objetos deben estar siempre en un estado conocido.
  • Notación UML
    • Diagrama de Estados
        • Transiciones
          • Se pueden producir transiciones en las que el estado de origen y destino sean el mismo.
  • Notación UML
    • Diagrama de Estados
        • Guardas
          • Representan condiciones de tipo verdadero/falso que establecen si se desencadena el evento o no.
            • Si es verdadero el evento se ejecuta
            • Si es falso el evento no se ejecuta
  • Notación UML
    • Diagrama de Estados
        • Acciones y Actividades
          • Los métodos que definimos en el diagrama de clases se representan en el diagrama de estados mediante acciones y actividades
          • Las acciones se corresponden con métodos declarados en la clase del objeto destinatario del evento. La acción tiene acceso por tanto a los parámetros del evento y a los atributos del objeto.
  • Notación UML
    • Diagrama de Estados
        • Acciones y Actividades
          • Los estados tienen la posibilidad de contener acciones a su vez. Estas se ejecutarán al entrar o al salir del estado, o cuando se ejecuta un evento cuando el objeto está en el estado representado.
          • Acciones de entrada (entry)
          • Acciones de salida (exit)
          • Acciones sobre eventos (on) (event undefined)
  • Notación UML
    • Diagrama de Estados
        • Acciones y Actividades
          • Actividades
            • Las actividades se corresponden también con métodos de la clase, pero a diferencia de las acciones no presentan una ejecución instantánea.
            • Las actividades pueden interrumpirse mientras que las acciones no.
            • Se utiliza la palabra clave (do)
  • Notación UML
    • Diagrama de Estados
        • Generalización de estados
          • Un estado puede contener varios subestados
          • Los subestados heredan las variables de estado y las transiciones externas.
        • Agregación de estados
          • Representa la composición de un estado a partir de otros estados independientes.
          • Implica la ejecución simultanea de los estados contenidos.
  • Notación UML
    • Diagrama de Actividades
        • El diagrama de actividades es una especialización del diagrama de estado. (Representa lo mismo que el de estados pero a menor nivel de detalle).
        • Representa:
          • Un método
          • Un caso de uso
          • Un proceso de negocio
        • Las transiciones en el diagrama de actividades son automáticas, es decir: cuando una actividad termina se desencadena el paso a la siguiente actividad.
  • Notación UML
    • Diagrama de Actividades
        • Actividades
          • Se representa por:
  • Notación UML
    • Diagrama de Actividades
        • Transiciones
  • Notación UML
    • Diagrama de Actividades
        • Condicionales
  • Notación UML
    • Diagrama de Actividades
        • Sincronización
  • Notación UML
    • Diagrama de Actividades
        • Swimlanes (pasillos de actividades)
  • Notación UML
    • Diagrama de componentes
        • Describen elementos físicos del sistema y sus relaciones. Se utilizan para representar los elementos del código que forman parte del sistema y sus relaciones en el entorno de realización.
        • Es una vista física del sistema.
        • Se utilizan en la fase de diseño para describir como se desarrollará el sistema y con que herramientas.
        • Los elementos de un diagrama de componentes son:
          • Los módulos
          • Las relaciones entre módulos
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Pueden representar archivos, librerias, ficheros de clase, paquetes, bases de datos, etc...
          • El estereotipo del componente nos ayuda a reflejar el tipo de componente al que nos referimos
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Representación de paquetes
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Representación de programa principal
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Representación de subprograma
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Representación de paquete
  • Notación UML
    • Diagrama de componentes
        • Módulos o componentes
          • Representación de tarea
  • Notación UML
    • Diagrama de componentes
        • Dependencias
  • Notación UML
    • Diagrama de despliegue
  • Muchas Gracias Hermenegildo Romero Database Team [email_address] www.db-team.com