Post on 03-Nov-2014
description
Lenguaje de Modelado Unificado
Ing. Mauricio Paletta, Msc
COORDINACIÓN GENERAL DE INVESTIGACIÓN Y POSTGRADO
UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA
MAESTRÍA EN TECNOLOGÍA DE LA INFORMACIÓN
Lenguaje de Modelado Unificado (UML)
TECNOLOGÍA ORIENTADA A OBJETOS
Lenguaje de Modelado Unificado
Antes de UML
Coad / Yourdon:
Jerarquías de composición
Lenguaje de Modelado Unificado
James Rumbaugh – OMT:
Estructura recursiva de composición
Antes de UML
Lenguaje de Modelado Unificado
James Rumbaugh – OMT:
Modelo de estado
Antes de UML
Lenguaje de Modelado Unificado
Martin / Odell – Ptech:
Metáfora de ingeniería
de procesos
Esquema de concepto
Antes de UML
Lenguaje de Modelado Unificado
Jacobson – Objectory y OOSE:
Diagrama de Casos de Uso
Antes de UML
Lenguaje de Modelado Unificado
Reenskaug - OORASS (Análisis, Síntesis y
Estructuración de Papeles Orientada a
Objetos):
Diagrama de papeles
Antes de UML
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
Fusión:
Modelo de
procesos
Antes de UML
Lenguaje de Modelado Unificado
Flujos de
datos
HOOD (Diseño OO Jerárquico):
Antes de UML
Lenguaje de Modelado Unificado
OOSD (Diseño Estructurado OO):
Un objeto que representa una
Pila
Tratamiento de excepciones para una
Pila
Antes de UML
Lenguaje de Modelado Unificado
Booch:
Diagrama de Clases
Antes de UML
Lenguaje de Modelado Unificado
• 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).
Otros métodos:
Antes de UML
Lenguaje de Modelado UnificadoAlgoritmos y Programación III
Evolución Histórica Métodos
Lenguaje de Modelado Unificado
Definición:
Lenguaje de Modelado Unificado
• 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
Objetivos:
Lenguaje de Modelado Unificado
• 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
4 partes:
Lenguaje de Modelado Unificado
• 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
5 vistas:
Lenguaje de Modelado Unificado
• 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
9 diagramas:
Lenguaje de Modelado Unificado
o Diagrama de Distribución• Vista de despliegue:
• 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 componentes: o Diagrama de Componentes
• Vista de concurrencia: o Diagrama de Colaboración
o Diagrama de Secuencias
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
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 }
Extensiones de UML
Lenguaje de Modelado Unificado
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.
Extensiones de UML
Lenguaje de Modelado Unificado
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
Extensiones de UML
Lenguaje de Modelado Unificado
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.
Extensiones de UML
Lenguaje de Modelado Unificado
Estereotipos:
Extensiones de UML
Agregar Curso Ofrecido
Opciones Profesores
Manejador Cursos
1
1
1
1
Curso
Cursos Ofrecidos
1..*1..*
Maneja
Lenguaje de Modelado Unificado
Definición:
Diagrama de Casos de Uso
• 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
3 elementos básicos:
Diagrama de Casos de Uso
• 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
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:
Diagrama de Casos de Uso
Caso de UsoCaso de Uso
Lenguaje de Modelado Unificado
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:
Diagrama de Casos de Uso
o Relación de generalización entre actores: permite organizar
los actores en una descripción abstracta del actor.
Persona Empleado
El actor Persona es
más genérico que el
actor Empleado
Lenguaje de Modelado Unificado
3 elementos básicos:
Diagrama de Casos de Uso
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.
Comprar en
una máquina
Comprar un
refresco
El case de uso
“Comprar en una
máquina” es más
genérico que el caso
de uso “Comprar un
refresco”
Lenguaje de Modelado Unificado
3 elementos básicos:
Diagrama de Casos de Uso
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
chofer<<extend>>
“Alquilar un vehículo”
extiende (opcionalmente
ejecuta) a “Alquilar un
chofer”
Lenguaje de Modelado Unificado
3 elementos básicos:
Diagrama de Casos de Uso
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”
usa (siempre ejecuta) a
“Revisar datos del
usuario”
Acceder a
un sistema
Revisar datos
del usuario<<include>>
Lenguaje de Modelado Unificado
3 elementos básicos:
Diagrama de Casos de Uso
o Relación de asociación entre un actor y un caso de uso:
permite señalar la comunicación existente entre ambos.
Persona
Comprar un
refresco
Administrador
Hacer reporte
de cierre
Lenguaje de Modelado Unificado
Máquina de Refrescos
Comprar
refresco
Proveedor
Recolectar
dinero
Cliente
Recolector
Comprar
refresco
Reabastecer
Recolectar
dinero
Ejemplo:
Diagrama de Casos de Uso
Máquina de Refrescos
Comprar
refresco
Proveedor
Recolectar
dinero
Cliente Cliente
Recolector Recolector
Comprar
refresco
Reabastecer
Recolectar
dinero
Máquina de Refrescos
Comprar
refresco
Proveedor
Recolectar
dinero
Cliente Cliente
Recolector Recolector
Comprar
refresco
<<include>><<include>>
<<include>> <<include>>
Reabastecer
Exhibir el
interior
Recolectar
dinero
Cubrir el
interior
Lenguaje de Modelado Unificado
Ejemplo:
Diagrama de Casos de Uso
Lenguaje de Modelado Unificado
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.
Diagrama de Actividad
Lenguaje de Modelado Unificado
Elementos:
Diagrama de Actividad
• 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
Notación:
Diagrama de Actividad
Actividad 1Comienzo
Actividad 2
Transición
DecisiónActividad 3 Si Actividad 4
No
Transición Cíclica
Actividad 5 Actividad 6
Fin
Esto es un
comentario
Estado
Rutas
convergentes
Rutas
concurrentes
Lenguaje de Modelado Unificado
Ejemplo:
Diagrama de Actividad
Lenguaje de Modelado Unificado
Definición:
Diagrama de Clases
• 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
Relaciones:
Diagrama de Clases
• 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
Asociaciones:
Diagrama de Clases
• 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.
Persona Carro
0..*1..*
Propietario
1..* 0..*
Empleado ComputadoraUsa
Lenguaje de Modelado Unificado
Asociaciones:
Diagrama de Clases
• 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.
Nodo
0..*
0..*
Conecta
0..*
0..*
Persona
Se casa con
esposa
esposo
Lenguaje de Modelado Unificado
Asociaciones:
Diagrama de Clases
• 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 Figura0..*id figura
0..*id figura
Recepcionista Reservación*número de
confirmación
Localizanúmero de
confirmación
*
Lenguaje de Modelado Unificado
Asociaciones:
Diagrama de Clases
• 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
Compañía de
Seguros
Persona
Póliza de
Seguros
1..*
0..*
1..*
0..*0..*1 0..*1
1..*
0..*
1..*
0..*
{Or}
Póliza de
Seguros
Cliente
1..*
0..*0..*
1..*
{Ordenado}
Compañía
Compañía de
Seguros
Persona
Póliza de
Seguros
1..*
0..*
1..*
0..*0..*1 0..*1
1..*
0..*
1..*
0..*
{Or}
Lenguaje de Modelado Unificado
Asociaciones:
Diagrama de Clases
• 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
Seguros
Póliza de
Seguros0..*1 0..*1
Cláusula
0..*
0..*
Persona1..*
0..*
0..*
0..*
1..*0..*
Lenguaje de Modelado Unificado
Asociaciones:
Diagrama de Clases
• 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.
Naval Barco de Guerra**
Contiene
Texto
BotónVentana
*
*
Menú
*
*
*
*
Lenguaje de Modelado Unificado
Generalización:
Diagrama de Clases
• Permite representar herencias. Relación “es un” o “caso
particular de”.
Vehículo
Carro Bote
Carro
Deportivo
Carro de
PasajerosCamión Velero Bote a
motorCarguero
Vehículo
Carro Bote
Carro
Deportivo
Carro de
PasajerosCamión Velero Bote a
motorCarguero
Lenguaje de Modelado Unificado
Dependencia:
Diagrama de Clases
• 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.
Clase A Clase B<<friend>>
Lenguaje de Modelado Unificado
Refinamiento:
Diagrama de Clases
• 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
(análisis)
Clase
(diseño)
Lenguaje de Modelado Unificado
Multiplicidades:
Diagrama de Clases
Esposo Esposa111 1Está casado con
uno a uno
Maestro Estudiante*11 *
uno a muchos
Cajero Cliente1..*11 1..*
uno a uno o más
Casa Chimenea0..10..1
uno a ninguno o uno
Enseña
Atiende
Estudiante Crédito11 Toma 12..18
uno a 12 hasta 18
Triciclo Rueda3
uno a 3
Cartón de huevos Huevo1 Contiene 12,241
uno a 12 ó 24
Lenguaje de Modelado Unificado
Otros tipos de clases:
Diagrama 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
Otros tipos de clases:
Diagrama 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
Otros tipos de clases:
Diagrama 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
Paquetes:
Diagrama de Clases
• 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
Interfaces:
Diagrama de Clases
• 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 B
Una interfaz
Clase A
Lenguaje de Modelado Unificado
Ejemplo:
Diagrama de Clases
Lenguaje de Modelado Unificado
Definición y notación:
Diagrama de Objetos
• 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
Ejemplo:
Diagrama de Objetos
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
Condicional
Estado1 Estado2Transición / Evento
Transición con el mismo estado
Lenguaje de Modelado Unificado
Diagrama de Estados
Ejemplo:
Cerrada Abierta
Cerrar
Abrir
Abrir
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:
Objeto1 Objeto2 : Actor
Objetos
Mensaje
Activación
Retorno
Línea de vida
del objeto
Mensaje
recurrente
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: