Está en la página 1de 92

Unified Modeling

Language UML
Ph.D. Cristhian Figueroa
Ph.D. Mario Solarte
Diapositivas cortesía: Msc. Alexandra Ruiz Gaona

Ambientes de desarrollo
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Modelo
•Un modelo es una abstracción de un
sistema o entidad del mundo real.

•El modelado permite abordar la


complejidad de los sistemas
Modelo

Plano arquitectónico
• Hidráulico
• Eléctrico
• Estructural
Modelo

• Representa sólo la lógica e ignora el resto


• El ser humano lo interpreta muy lentamente
• No facilita la reutilización ni la comunicación
Modelo
Guitarist es una clase que contiene 6 miembros: uno estático y 5 no estáticos. Guitarist
usa y por tanto necesita una instancia de Guitar; sin embargo, desde que esta puede ser
compartida con otras clases en este paquete, la variable instanciada de Guitar llamada
favoriteGuitar es declarada como "Default"
5 de los miembros de Guitarist son métodos. 4 de ellos son estáticos. Uno de estos
métodos es un constructor que toma un argumento e instancias de String llamadas
"name", el cual remueve el constructor por defecto.

Se proveen 3 métodos regulares. El primero es llamado setInstrument que toma un


parámetro, una instancia de instrument llamada instrument y no tiene tipo de retorno.
El segundo es llamado getInstrument y no tiene parametros, pero su tipo de retorno es
"Instrument". El método final es llamado play. Este método es forzado por la interfaz de
MusicPlayer que la clase Guitarist implementa. El método play no tiene parámetros y su
tipo de retorno es Void
• Es ambigua y confusa
• Es lenta de interpretar
• Difícil de procesar
Modelo

No es ambigua ni confusa
- semántica de elementos

Fácil y rápida de
interpretar
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Unified Modeling Language - UML

• Estándar de modelado visual de propósito general orientado


a objetos.

• Agrupa notaciones y conceptos provenientes de distintos


tipos de métodos orientados a objetos
Historia
de UML

Fuente:
Wikimedia.org
UML

Artefactos
Visualizar Especificar Construir Documetar
SW
Visualizar
Símbolo en UML -> semántica
Especificar

Construir modelos precisos, no ambiguos y


completos.

UML -> especificación del análisis, diseño e


implementación
Construir
Traducción modelo UML a lenguajes de programación y
bases de datos
Documentar
• Arquitectura del sistema y sus detalles (diseño)
• Expresar requisitos y pruebas

Modelar las actividades de planificación y gestión de


versiones.

Facilita el mantenimiento
Ventajas UML
• Es estándar => Facilita la comunicación
• Se basa en una notación gráfica concisa y fácil de
aprender y utilizar
• Se puede utilizar para modelar sistemas software
en diversos dominios:
Sistemas de información empresariales, Sistemas
WEB, sistemas críticos y de tiempo real, etc. Incluso
en sistemas que no son software
• Es fácilmente extensible
Limitaciones de UML
• No es una metodología. Además de UML, hace
falta una metodología OO
• No cubre todas las necesidades de especificación
de un proyecto software
• No define los documentos textuales o el diseño
de interfaces de usuario
• Faltan ejemplos elaborados en la documentación
• Puede resultar complejo alcanzar un
conocimiento completo del lenguaje
• Sin embargo => Regla del 80 - 20
Conceptos
Sistema: Colección de elementos, posiblemente
divididos en subsistemas, organizados para lograr un
propósito. Está descrito por un conjunto de modelos.
Conceptos
• Un modelo captura las propiedades estructurales (estática)
y de comportamiento (dinámicas) de un sistema.
• El modelo describe completamente aquellos aspectos del
sistema que son relevantes al propósito del modelo, y a un
apropiado nivel de detalle.
• El código fuente del sistema es el modelo más detallado del
sistema (y además, es ejecutable).
• Cada modelo es completo desde un punto de vista del
sistema.
Conceptos
• Diagrama: Representación gráfica de un conjunto de
elementos del modelo y sus relaciones. En UML
generalmente corresponde a un grafo conexo de
nodos (elementos) y arcos (relaciones).
Conceptos
• Vista (Arquitectural): Proyección de la organización y
estructura de un modelo de un sistema, centrada en un
aspecto. Incluye un subconjunto de los elementos
incluidos en el modelo
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
• Conclusiones
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitectonicas
• Diagramas
• Conclusiones
Vistas arquitecturales UML
• Durante el desarrollo de un sistema software se requiere que éste sea
visto desde varias perspectivas.
• Los actores miran el sistema de formas diferentes en distintos
momentos.
• La arquitectura del sistema es clave para poder manejar estos puntos
de vista diferentes:
• Se organiza mejor a través de vistas arquitecturales interrelacionadas.
• Proyecciones del modelo del sistema centradas en un aspecto particular.
Vistas arquitecturales UML
(“Vista 4+1” de Philippe Kruchten)
Vistas arquitecturales UML
(“Vista 4+1” de Philippe Kruchten)

Clases Componentes
Objetos

Casos de Uso

Secuencia
Colaboración Despliegue
Estado
Actividad
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Contenido
• Introducción
• Conceptos básicos
• Historia y aportes
• Que es UML?
• Ventajas e inconvenientes
• Conceptos
• Vistas arquitecturales
• Diagramas
Diagramas UML

Fuente: visual-paradigm
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Casos de uso: Definición
Un Diagrama de Casos de Uso representa lo que
hace el sistema y como se relaciona con su
entorno.

Representa los distintos requerimientos que


hacen los usuarios de un sistema.

Un diagrama de casos de uso


esta compuesto por
• Casos de uso
• Actores
• Relaciones entre ellos
Casos de Uso: Elementos
Caso de Uso (Use Case): Es una
secuencia de acciones realizadas por el
sistema que producen un resultado
observable y valioso para alguien en
particular.

Actor: Un actor es un conjunto externo


uniforme de personas, sistemas, o cosas
que solicita un servicio al sistema que
estamos modelando.
Casos de uso: relaciones
Entre actores:
Generalización.
Casos de uso: relaciones
Entre un actor y caso de uso:
Asociación = Relación de Comunicación o
<<comunicates>>. .
Casos de uso: relaciones
Entre casos de uso:
1. Generalización
El Caso de Uso de A hereda la especificación del Caso
de Uso B.
Casos de uso: relaciones
2. Relación <<include>>
El caso de uso A siempre incluye (o usa)
el comportamiento de B.
Casos de uso: relaciones
2. Relación <<extend>>
El caso de uso A, extiende al caso de
uso B. A ocurre en casos especiales para extender B.
Casos de uso ejemplo
Caso de uso Registrar Matricula
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Clases: definición
Un Diagrama de Clases muestra Clases (Representa
características y comportamientos de un grupo de
objetos que tienen las mismas) y sus relaciones.

Estos diagramas son los más comunes en el


modelado de sistemas orientados a objetos.

Un diagrama de clases esta compuesto por


• Clases
• Relaciones entre clases
Clases: definición
Es un conjunto de objetos que tienen los
mismos atributos y comportamiento.
Representación: Se representa mediante un
rectángulo con tres partes:
Clases: relaciones
Clases: relaciones
1.- Relación de dependencia: Es una relación
semántica entre dos elementos en la cual un
cambio en un elemento (el elemento
independiente) puede afectar a la semántica del
otro elemento (elemento
dependiente).
Clases: relaciones
2.- Relación de Generalización: Es una
relación entre dos clases en donde una de
ellas, llamada subclase o clase hija
(subclass o child), hereda los atributos y
el comportamiento de otra, llamada
superclase o clase padre (superclass o
parent).
Clases: relaciones
3.- Relación de Asociación:
Es una relación estructural que describe un conjunto de
enlaces o conexiones entre dos o más objetos. Esta
relación entre clases permite asociar objetos que
colaboran entre si.
Clases: relaciones
3.1 - Asociación de Agregación:
Es un tipo especial de asociación e indica que el objeto base utiliza
al objeto incluido para poder funcionar. Si el objeto base
desaparece no desaparecen los objetos incluidos. Muestra una
relación todo - parte
Clases: relaciones
3.2 - Asociación de Composición:
Es un tipo de asociación, en donde el tiempo de vida del objeto
incluido está condicionado por el tiempo de vida del que lo incluye.
El objeto incluido sólo existe mientras exista el objeto base. El objeto
se construye a partir del objeto incluido pero no podría existir sin
ellos.
Clases: relaciones
3.2 - Asociación de Composición:
Ejemplo: El Hombre esta formado por
cabeza, tronco y extremidades
Clases
Vuelo de un avión comercial
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Objetos: definición
Un Diagrama de Objetos muestra una instancia
prototípica de un Diagrama de Clases con el fin
de ilustrar los objetos reales participantes en un
determinado momento.

Un Diagrama de Objetos tiene los mismos


elementos que un Diagrama de Clase pero los
objetos y sus atributos tienen valores conocidos.
Objetos: definición
Vuelo de un avión comercial
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Secuencia: definición
Un Diagrama de Secuencia muestra la interacción de un conjunto
de objetos, poniendo énfasis en el orden cronológico del envío de
mensajes entre objetos.

Un diagrama de secuencia esta compuesto por:


• Objetos (o actores)
• Línea de vida de un objeto
• Activación o foco de Control
• Mensajes
Secuencia: elementos
• Objetos o actores
Son las entidades que participan en la
interacción para lograr una funcionalidad,
éstas envían y o reciben mensajes.

• Línea de vida de un objeto


Indica la vida de un objeto durante la
interacción y se representa mediante una
línea vertical discontínua.
Secuencia: elementos
• Activación o foco de Control
Muestra el periodo de tiempo en el cual el
objeto se encuentra desarrollando una
operación.

• Mensajes
Son las invocaciones que envía un objeto a
otro para que realice una tarea.
Secuencia: tipos de mensajes
• Mensaje Simple:
Se usa cuando no se conocen detalles del tipo de
comunicación o cuando no resulta relevante en el
diagrama.

• Mensaje Síncrono:
El objeto que envía el mensaje espera a que el
objeto que lo recibe le termine la operación. El
mensaje síncrono más común es la llamada a
procedimientos.

• Mensaje Asíncrono:
Cuando el objeto que envía el mensaje sigue con su
trabajo sin esperar respuesta del objeto receptor
del mensaje.
Secuencia: ejemplo
Un usuario desea imprimir un archivo para ello envía la orden a la computadora, quien a
su vez se la envía al servidor de impresión siendo este el encargado de dirigirlo a la
impresora. En caso de que la impresora este ocupada el archivo a imprimir se dirige hacia
la cola de impresión, la cual en su momento le indicará al servidor de impresión que
tiene el archivo pendiente por imprimir.
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Colaboración: definición
Un Diagrama de Colaboración muestra la interacción de un
conjunto de objetos, poniendo énfasis en la estructura
organizacional de los objetos que envían y reciben mensajes.
Un diagrama de colaboración esta compuesto por:
Colaboración: definición
Diagrama de Secuencia reserva una dimensión para el tiempo haciendo más fácil
observar el orden de ejecución de los mensajes, mientras que el Diagrama de
Colaboración los enumera. Ambos diagramas representan lo mismo y puede
transformarse de uno a otro sin perdida de información.
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Estados: definición
• Describe el comportamiento de un elemento del modelo,
mostrando la posible secuencia de estados en los que puede
entrar el objeto y como cambia al reaccionar ante un evento
durante su ciclo de vida.
Un Diagrama de Estados esta compuesto por:
Colaboración: elementos
• Estado: Identifica un periodo de tiempo del objeto (no
instantáneo) en el cual el objeto esta esperando alguna
condición, operación u evento, tiene cierto estado
característico o puede recibir cierto tipo de estímulos.

• Evento: Es una ocurrencia que puede causar la transición del


objeto de un estado a otro.

• Transición: Una transición es una relación entre dos estados


que indica que un objeto en un primer estado puede entrar a
un segundo estado y ejecutar ciertas operaciones, cuando un
evento ocurre. Se representa como una línea sólida entre dos
estados
Diagramas UML>>Estado
Una cuenta bancaria puede estar activa, suspendida o cerrada.
Cuando esta en activa puede a su vez estar en azul (si el saldo es +)
o en rojo (si el saldo es -). Muestre su diagrama de estados.
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Actividad: definición
Muestra las operaciones que se realizan para conseguir
un objetivo. Es un caso especial de un diagrama de
estados donde todos los estados ejecutan una tarea.

Se utilizan para dar detalle a un caso de uso, modelando


los flujos de trabajo u operaciones.

Un Diagrama de Actividad esta compuesto por:


• Estados de actividad o simplemente Actividad
• Estados de acción o simplemente Acción
• Transiciones
Actividad: elementos
• Elementos de un diagrama de actividad:
Estados de actividad (Actividad).- Son estados que llevan a cabo alguna actividad. No son atómicos
es decir pueden descomponerse. Pueden ser interrumpidos y se consideran que toman algún
tiempo en completarse.
Estado de acción (Acción).- Es una actividad que no se puede descomponer y permiten modelar un
paso dentro de un algoritmo. Se considera que su ejecución toma un tiempo insignificante.
Transiciones.- Es el paso de un estado de actividad a otro, una transición ocurre al finalizar una
actividad.
Otros elementos
Actividad: ejemplo
• Proceso común de solicitud de servicio:
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Componentes: definición
Un diagrama de componentes muestra las
dependencias lógicas entre componentes software,
tales como archivos de código fuente, binarios,
ejecutables, tablas, etc.
Un Diagrama de Componentes esta compuesto por:
• Componentes
• Interfaces
• Relaciones de realización y dependencia
Componentes: elementos
Componentes: Son cada una de las partes físicas y
reemplazable de un sistema.
Se dice que es parte física en el sentido en que viven en el
mundo de bits y no son sólo esquemas conceptuales.
Se dice que es reemplazable pues puede ser reemplazado
por un nuevo componente que mejore la funcionalidad o
añada alguna sin que afecte a otros componentes.

Esto se logra mediante el uso de


interfaces bien definidas las cuales
son implementadas por los
componentes.
Componentes: elementos
Interfaces.- Es una colección de operaciones que son
usadas para especificar un servicio provisto por una
clase o un componente. Esto permite utilizar los
servicios sin abrumarnos con sus detalles de
implementación asimismo se puede cambiar los
componentes pero si sus interfaces son las mismas
entonces este cambio es inmediato y no afecta al resto
del sistema.
Componentes: relaciones
• Relaciones entre componentes:
• Relación de realización: El
componente que realiza o
implementa la interfaz es conectado
mediante una línea discontinua
terminada en una cabeza de flecha
hueca.
• Relación de dependencia: Ocurre
entre las componentes que utilizan la
interfaz implementada por otra
componente y la respectiva interfaz.
Se representa con una línea
discontinua con cabeza de flecha
abierta.
Componentes: estereotipos
Diagramas UML>>Componentes
Se tiene un robot que es manejado mediante la librería manejo.dll, la cual
implementa dos grupos de interfaces Imanejo e Iautoprueba. La interfaz
Imanejo es utilizada por camino.dll, la cual proporciona el comportamiento a
seguir cuando el robot se desplaza sin contratiempos. Si el robot encuentra
algún obstáculo, camino.dll utiliza a colision.dll. Periódicamente, el robot se
autocomprueba, para ello manejo.dll, cuenta con la interfaz Iautoprueba la cual
es utilizada por test.dll que le ordena las pruebas que debe realizar. Muestre los
componentes y sus interfaces mediante un Diagrama de Componentes
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Diagramas UML

State
State
Use Case Diagramas de
Diagrams
Use Case Diagrams State
Use Case Diagramas de
Diagrams Clases State
Use Case Diagrams Diagramas de
Diagrams
Diagramas de
Diagrams Casos de Uso Diagrams
Diagrams Objetos
Despliegue

Scenario State
Scenario State
Diagramas de
Diagrams Diagramas de
Diagrams
Diagrams Diagrams
Componentes Modelo Secuencia

Scenario Component
Scenario Component
Diagramas
Diagrams de
Diagramas de
Diagrams Diagrams
Diagrams Colaboración
Actividad Diagramas de
Estados
Despliegue: definición
Muestra el hardware en donde será desplegado los
componentes del sistema. Esto significa que muestra
las relaciones físicas entre el software y el hardware.

Un Diagrama de Despliegue esta compuesto por:


• Nodos
• Conexiones entre nodos
Despliegue: elementos
Nodos: Representación de cualquier tipo de hardware sobre el cual
correrá o del que se servirá nuestro sistema.
Será un Procesador, si tiene Será un Dispositivo si no tiene capacidad
capacidad de proceso como de proceso. Vienen a ser los equipos que
una PC. sirven de interfaz con el mundo real
como teléfono, impresora, sensores, etc

Conexiones: Los nodos se conectan


mediante asociaciones de
comunicación fisica o no, como
conexión satelital, cable serial, señal
infraroja, etc.
Despliegue
Un usuario que se conecta vía Internet a un Servidor de Aplicaciones de
una empresa. En este instante el componente CLIENTE viaja desde el
Servidor de Aplicaciones hacia la PC del usuario, luego el componente
CLIENTE puede solicitar algún servicio al componente APLICACION el cual
buscará los datos necesarios en el componente BD ubicado en el Servidor
de Base de Datos.

También podría gustarte