SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
El Lenguaje 
Unificado de 
Modelado 
Ing. de Software I Promecys 2014 Ing. J.O.J.I
El Triángulo de Desarrollo de Software 
Proceso 
Notación 
Herramienta 
Visual
El Lenguaje Unificado de Modelado 
Definición: 
El UML es un lenguaje gráfico para la especificación, visualización, construcción y documentación de modelos orientados a objetos que representan sistemas intensivos en software. 
= Unified Modeling Language 
UML no es un método sino un lenguaje de modelamiento
Objetivo del UML 
Describir cualquier tipo de sistema en términos de diagramas orientados a objetos 
Algunas categorías de Sistemas Sistemas de Información Sistemas de Tiempo Real 
Sistemas Embebidos 
Sistemas Distribuidos Software de Sistemas Sistemas de Negocios
UML toma lo mejor de varios métodos 
Booch 
Odell 
Clasificación 
Shlaer-Mellor 
Ciclo de vida de objetos 
Gamma et. al. 
Marcos de trabajo, patrones, notas 
Rumbaugh 
Jacobson 
Meyer 
Pre y Post condiciones 
Harel 
Máquinas de estado 
Embly 
Singleton clases 
Fusion 
Wirfs-Brock 
Responsabilidades 
Descripción de operaciones, numeración de mensajes
Características del UML 
- Proporciona a los desarrolladores un lenguaje de 
modelamiento ampliamente aceptado y listo para usar. 
- Integra las mejores prácticas del desarrollo de software. 
- Permite la intercambio de modelos entre las diferentes herramientas de software. 
- Es independiente del lenguaje de programación y de métodos y procesos particulares de desarrollo de software. 
- Proporciona sus propios mecanismos de extensión 
- Agrupa los conceptos de orientación a objetos definiendo su significado.
Por qué aprender UML 
-Porque UML es el lenguaje de modelado de objetos estándar dominante. 
-Porque es apoyado por metodólogos y empresas importantes en Tecnologías de Información. 
-Porque cuenta con la aprobación de la OMG como notación estándar. 
-Porque todas las herramientas modernas proporcionan soporte para UML. 
-Porque nos facilita el aprendizaje del enfoque orientado a objetos pues basta con aprender este estándar y no perdernos en toda la jungla de métodos y notaciones existentes.
Breve historia del UML 
- Los lenguajes de modelado orientados al objeto comenzaron a aparecer a mediados de la década de '70. 
- El número de lenguajes que modelaban objetos aumentó de menos de 10 a más de 50 durante el período entre 1989- 
1994. 
- Muchos de los que utilizaban estos lenguajes no 
encontraban satisfacción completa en ninguno de ellos, esto motivó la llamada "Guerra de los Métodos".
. . . Breve historia del UML 
. . . La “Guerra de los Métodos” 
Existían muchos métodos y cada uno tenía un lenguaje de modelado propio. 
Esto dificultó el aprendizaje, aplicación, construcción, uso de herramientas, etc. 
Pugna entre los distintos gurús que defendían sus propios métodos y simbologías. 
Se observa la necesidad de una notación estándar.
. . . Breve historia del UML 
Ing. J.O.J.I Ingenieria de Software I 
El desarrollo del UML comenzó en finales de 
1994 en que Grady Booch y Jim Rumbaugh de Rational Software Corporation, comenzaron su trabajo sobre la unificación de los métodos de Booch y de OMT (Object Modeling Technique). 
A finales de 1995, Ivar Jacobson y su compañía de Objectory se unieron a Rational y combinaron sus métodos. 
Booch, Rumbaugh, y Jacobson, definieron el 
UML 0,9 y 0,91 en junio y octubre de 1996.
. . . Breve historia del UML 
Ing. J.O.J.I Ingenieria de Software I 
Sep ‘97 UML 1.1 
Ene ‘97 UML 1.0 
Jun ‘96 UML 0.9 
Oct ‘95 Método Unificado 0.8 
Ivar Jacobson se une a 
Rational en otoño ‘95 
James Rumbaugh se une 
Microsoft Oracle IBM, HP Etc. 
Use Case 
(OOSE) 
a Rational en Oct ‘94 OMT Booch 
Otros métodos
Versiones del UML 
1997 
(Adoptada por OMG) 
1998 
(revisión editorial sin cambios significativos) 
1999 
(revisión menor públicamente disponible) 
2000 
(planificada una revisión menor) 
2001 
(planificada una revisión menor) 
2002 
(planificada una revisión mayor) 
<<document>> 
UML 1.1 
<<document>> 
UML 1.2 
<<document>> 
UML 1.3 
<<document>> 
UML 1.4 
<<document>> 
UML 1.5 
<<document>> 
ISO Publica especificación 
<<document>> 
UML 2.0
Vistas de un modelo 
“Un modelo es una descripción completa de un sistema desde una perspectiva concreta” 
Vista de requerimientos 
Vista 
lógica 
Vista de 
implementación 
Vista de 
despliegue 
Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagrama de Secuencia Diagrama de Colaboración Diagrama de Estado 
Diagrama de Actividad 
Vista de 
procesos 
Diagrama de Componentes 
Diagrama de Despliegue
Modelando con UML 
Use Case 
Diagrams 
Use Case 
Diagrams 
Scenario 
Diagrams 
Scenario 
Diagrams 
State 
Diagrams 
State 
Diagrams 
Component 
Diagrams 
Component 
Diagrams 
State 
Diagrams 
State 
Diagrams 
Scenario 
Diagrams 
Scenario 
Diagrams 
Use Case 
Diagrams 
Use Case 
Diagrams 
State 
Diagrams 
State 
Diagrams 
Diagramas de 
Diagramas de 
Casos de Uso 
Diagramas de 
Clases 
Despliegue Diagramas de 
Objetos 
Diagramas de 
Componentes 
Modelo 
Diagramas de 
Secuencia 
Diagramas de 
Actividad 
Diagramas de 
Estados 
Diagramas de 
Colaboración
1. Diagramas de 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
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. 
Nombre del caso de uso 
Nombre
Relaciones entre los elementos 
Relaciones entre actores 
La única relación permitida entre los actores es la 
Relación de Generalización. 
Usuario 
Director de 
Escuela 
Secretaria
. . . Relaciones entre los elementos 
Relaciones entre un actor y un caso de uso 
La única relación permitida es una Asociación y se le conoce como Relación de Comunicación o 
<<comunicates>>. 
<<comunicates>> 
Registra 
Matrícula 
Secretaria
. . . Relaciones entre los elementos 
Relaciones entre casos de uso B 
Pueden ser de tres tipos: 
1. Relación de generalización 
El Caso de Uso de A hereda la 
especificación del Caso de Uso B. A 
Cobranza con tarjeta 
Cobranza en efectivo 
Cobranza con cheque 
Realizar cobranza
. . . Relaciones entre los elementos 
2. Relación <<include>> 
El caso de uso A siempre incluye (o usa) el comportamiento de B. 
Ejemplo: 
B 
<<include>> 
A 
Registrar matrícula 
<<include>> 
Validar usuario 
Aperturar cursos 
<<include>>
. . . Relaciones entre los elementos 
3. Relación <<extend>> 
El caso de uso A, extiende al caso de uso B. A ocurre en casos especiales para extender B. 
Ejemplo: 
B 
<<extend>> 
A 
Registrar matrícula extemporánea 
<<extend>> 
Registrar matrícula
Ejemplo de Diagrama de Casos de Uso 
Caso de uso Registrar Matrícula 
<<extend>> 
Registrar matrícula extemporánea 
Usuario 
Registrar matrícula 
<<include>> 
<<comunicates>> 
Validar usuario 
Secretaria 
Director de 
<<include>> 
Aperturar cursos 
Escuela 
<<comunicates>>
2. Diagramas de Clases 
Definición 
Un Diagrama de Clases muestra Clases (grupos de objetos que tienen las mismas características y comportamiento) 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: 
NombreClase 
Atributo1 
Atributo2 
. . . 
Operacion1 operacion2 
. . . 
Ejemplo: 
La Clase Automóvil 
Automovil 
Matricula Color Velocidad 
Arrancar( ) Acelerar( ) Frenar( )
Relaciones entre Clases 
1.- Relación de Dependencia 
2.- Relación de Generalización 
3.- Relación de Asociación 
3.1.- Asociación de Agregación 
3.2.- Asociación de Composición
. . . Relaciones entre Clases 
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). 
Clase independiente 
Clase dependiente 
Video 
Televisión 
. . . 
. . . Grabar(c : canal) 
Canal 
. . . 
. . . cambiar(c : canal)
. . . Relaciones entre Clases 
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). 
Vehículo 
Clase Padre 
Clase hija 
Terrestre 
Aéreo 
Red 
WAN 
LAN
. . . Relaciones entre Clases 
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. 
Acta 
0..* 1..* 
Alumno
. . . Relaciones entre Clases 
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. 
Red 
Teclado 
CPU 
Computadora 
Monitor 
WAN 
LAN 
Mouse 
HUB 
Hard 
Disk
. . . Relaciones entre Clases 
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 si ellos. 
Ejemplo: El Hombre esta formado por cabeza, tronco y extremidades 
Hombre 
Cabeza 
Tronco 
Extremidades
Ejemplo de diagrama de clases: 
Vuelo de un avion comercial 
Cliente Nombre Nacionalidad 
1 
Motor Marca 
Año 
1 . . 4 
1 
Avión NroPlaca 
1 
Boleto * 1 
Nro 
* 1 
Vuelo 
IdVuelo 
FechaSal 
Modelo 
Destino 
AvionCarga 
CapCarga 
AviónPasajeros 
NroAsientos
Ejercicio de diagrama de clases: 
Un sistema de planillas en una empresa guarda 
información de empleados y obreros, su record de asistencia, los conceptos de pago, las bonificaciones y descuentos. Si pide construir un diagrama de clases que muestre las Clases y sus Relaciones (asociación, agregación, composición, generalización, según existan). Cada planilla corresponde con un periodo de tiempo (mes) y 
contiene boletas de pago, las que a su vez contiene el detalle de los pagos y descuentos.
3. Diagramas de 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.
Ejemplo de diagrama de objetos: 
Vuelo de un avion comercial 
:Cliente 
Nombre: Juan Pérez 
Nacionalidad: peruana 
1 
:Motor 
Marca: GeneralMotors 
Año: 1996 
1 . . 4 
1 * 1 
:AviónPasajeros 
NroPlaca: XXX123 
:Boleto * 1 
Nro: 102030 
:Vuelo 
IdVuelo: 666 
FechaSal: 01/01/2001 
Destino: Lima 
Modelo: Boeing 777 
Nro: 555 
Capacidad: 100
4. Diagramas de 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
Elementos de un Diagrama de Secuencia 
Objetos o actores 
objeto:Clase 
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 
objeto:Clase Indica la vida de un objeto 
durante la interacción y se representa mediante una línea vertical discontínua.
Elementos de un Diagrama de Secuencia 
Activación o foco de Control 
objeto:Clase 
Muestra el periodo de tiempo en 
el cual el objeto se encuentra desarrollando una operación. 
Mensajes 
objeto:Clase objeto:Clase 
Son las invocaciones que envia un objeto a otro para que realice una tarea.
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 envia el mensaje espera a que el objeto que lo recibe le termine la operacion. El mensaje síncrono más comun es la llamada a procedimientos. 
Mensaje Asíncrono: 
Cuando el objeto que envia el mensaje sigue con su trabajo sin esperar respuesta del objeto receptor del mensaje.
Ejemplo de Diagrama de Secuencia 
Ing. Carlos Bacalla www.CarlosBacalla.com 
Un usuario desea imprimir un archivo para lo cual le envía la orden a la computadora, la cual 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. 
Imprimir (arch) 
:computadora 
:ServidorImpresion 
:impresora 
:cola 
Imprimir(arch) 
[ impresora OK] Imprimir(arch) 
[impresora !OK] Imprimir(arch)
Ejercicio de Diagrama de Secuencia 
Se desea trasladar una cabra, una flor y un lobo, a través de un río empleando una barca. Solo se puede llevar uno de ellos en cada viaje. Si dejamos a la cabra con el lobo, el lobo se comera a la cabra. Si dejamos la flor con la cabra, la cabra se come a la flor. Muestre un diagrama de secuencia en el cual se pueda trasladar a los tres por el rio.
5. Diagramas de 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: 
- Objetos 
- Enlaces 
- Flujo de Mensajes
Ejemplo de Diagrama de Colaboración 
Una nota de pedido contiene un renglón por cada artículo, que se está despachando. Si la cantidad del artículo que aún queda en almacén es menor que el punto de reorden, está lanza una orden de 
compra del artículo, si hay existencias el pedido se atiende. 
Prepara( ) 
:Pedido 
1*[para cada renglón]: Prepara( ) 1.3 reorden:=NecesitaReorden( ) 
:renglónPedido 
1.1 Existe:=RevisaExistencia( ) 
1.2 [Existe]: descuenta( ) 
:Artículo 
1.5[Existe]:Entrega( ) 
1.4 [reorden]: colocarOrdenCompra( ) 
:NotaSalida 
:OrdenCompra
Diagramas de Secuencia y Colaboración 
Ambos diagramas muestran la interacción entre objetos, pero el Diagrama de Secuencia reserva una dimension 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. 
Imprimir (arch) 
:computadora 
:impresora 
1: Imprimir(arch) 1.1: [ impresora OK] Imprimir(arch) 
:ServidorImpresion 
1.2: [impresora !OK] Imprimir(arch) 
:cola
Ejercicio de Diagrama de Colaboración 
En una biblioteca un lector (socio) escoge un libro si desea prestarlo se lo solicita al encargado, el encargado verifica la situacion del libro (algunos solo salen para sala o tal vez esten prestados) y luego verifica la situacion del socio, si estas verificaciones son conformes entonces se realiza el prestamo del libro.
6. Diagramas de 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: 
- Estados 
- Eventos evento 
- Transiciones
Elementos de un Diagrama de Estados 
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 
Estado inicial 
Estado1 
Evento( ) Transición 
Estado2 
Estado final
Ejemplo de Diagrama de Estados 
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. 
Activa 
retiro [saldo<0] / poner en rojo 
en azul en rojo 
depósito [saldo>0] / poner en azul 
activar cuenta 
suspender cuenta 
Cerrada 
cerrar cuenta 
Suspendida
7. Diagramas de 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
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 
Decisión Barra de Sincronización Carriles Estados inicial y final
Ejemplo de Diagrama de Actividad 
Muestre un proceso común de una solicitud de servicio. 
Cliente Vendedor Jefe Ventas 
Sol. de servicio 
Pide datos cliente 
Pide datos 
Servicio 
Decide costo 
Consulta tarifa 
[Tarifa no OK] 
Negoc. condiciones 
[Tarifa OK] 
Consulta disponib. 
Ingresa orden
Ejercicio de Diagrama de Actividad 
Un cliente solicita un pedido, este pedido va al departamento de ventas para ser procesado y simultaneamente el cliente espera hasta que se apruebe y se le entregue la mercaderia. Despues de procesar el pedido en ventas, el pedido se dirige al almacen para extraer los productos y enviarlos. En este punto el cliente recibe el pedido y Ventas hace la factura. El cliente paga la factura y Ventas considera el pedido atendido.
8. Diagramas de 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
Elementos de un Diagrama de Componentes 
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. 
nombre
. . . Elementos de un Diag. de Componentes 
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. 
Interface 
<<interface>>
Relaciones entre Componentes 
Relación de realización.- El componente que realiza o implementa la interfaz es conectado mediante una línea discontínua 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 discontínua con cabeza de flecha abierta. 
<<interface>>
Estereotipos de Componentes 
executable.- son componentes que 
pueden ejecutarse en un nodo. 
library.- son las librerías estáticas o dinámicas. 
table.- un componente que es una tabla de una base de datos. 
file.- un componente que es un archivo de código fuente o datos. 
document.- un componente que es un documento.
Ejemplo de un Diagrama de 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 
Manejo.dll 
Imanejo 
Camino.dll 
Iautoprueba 
Test.dll 
Colisión.dll
9. Diagramas de Despliegue 
Definición: Muestra el hardware en donde será 
desplegado los componentes de nuestro sistema. Esto significa que muestra las relaciones fisicas entre el software y el hardware. 
Un Diagrama de Despliegue esta compuesto por: 
- Nodos 
- Conexiones entre nodos
Elementos de un Diagrama de Despliegue 
Nodos: Representación de cualquier tipo de hardware sobre el cual correrá o del que se servirá nuestro sistema. 
Será un Procesador, si tiene capacidad de proceso como una PC. 
Será un Dispositivo si no tiene capacidad de proceso. Vienen a ser los equipos que sirven de interfaz con el mundo real como teléfono, impresora, sensores, etc. 
<<procesador>> <<dispositivo>> 
Conexiones: Los nodos se conectan 
mediante asociaciones de comunicación fisica o no, como conexión satelital, cable serial, señal infraroja, etc.
Ejemplo de un Diagrama de 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. 
<<procesador>> PC usuario 
<<HTTP>> 
<<procesador>> 
Servidor de Aplicaciones <<procesador>> 
<<TCP/IP>>Servidor de BD 
Cliente 
<<Becomes>> 
Cliente 
BD 
Aplicación
Conclusiones: 
1. El UML es el lenguaje estándar a nivel mundial para representar modelos 
orientados a objetos de sistemas 
intensivos en software. 
2. Debemos utilizarlo en todos nuestros modelos para poder comunicarnos con otros desarrolladores.
Recomendaciones: 
Apostar por enfoque Orientado a Objetos 
-Primero aprenda la notación 
-Segundo aprenda la herramienta 
-Tercero aprenda el Proceso

Más contenido relacionado

La actualidad más candente

casos de uso
casos de usocasos de uso
casos de usostill01
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseGuillermo Díaz
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estadosloco8888
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacionLuis Lucho
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)josue salas
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental umlrigo berto
 
Lenguaje de modelado unificado uml
Lenguaje de modelado unificado   umlLenguaje de modelado unificado   uml
Lenguaje de modelado unificado umlturlahackers
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de bibliotecapersye
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 

La actualidad más candente (20)

UML
UMLUML
UML
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
casos de uso
casos de usocasos de uso
casos de uso
 
UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)Diagramas UML (Diseño de Sistemas)
Diagramas UML (Diseño de Sistemas)
 
Mapa mental uml
Mapa mental umlMapa mental uml
Mapa mental uml
 
Lenguaje de modelado unificado uml
Lenguaje de modelado unificado   umlLenguaje de modelado unificado   uml
Lenguaje de modelado unificado uml
 
Caso de uso de biblioteca
Caso de uso de bibliotecaCaso de uso de biblioteca
Caso de uso de biblioteca
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 

Similar a Diagrama uml ing software i promecys

Similar a Diagrama uml ing software i promecys (20)

Objeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UMLObjeto de Aprendizaje : Introducción a UML
Objeto de Aprendizaje : Introducción a UML
 
Programacion orientada a objetos parte 2
Programacion orientada a objetos parte 2Programacion orientada a objetos parte 2
Programacion orientada a objetos parte 2
 
Um presentación
Um presentaciónUm presentación
Um presentación
 
Diagramas uml de un caso de uso
Diagramas uml de un caso de usoDiagramas uml de un caso de uso
Diagramas uml de un caso de uso
 
Luisfer
LuisferLuisfer
Luisfer
 
UML Java
UML JavaUML Java
UML Java
 
Uml java
Uml javaUml java
Uml java
 
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Uml
UmlUml
Uml
 
Diagramas uml de un caso de uso
Diagramas uml de un caso de usoDiagramas uml de un caso de uso
Diagramas uml de un caso de uso
 
Diagramas caso uso software
Diagramas caso uso softwareDiagramas caso uso software
Diagramas caso uso software
 
Carolina castillo satizabal 2
Carolina castillo satizabal 2Carolina castillo satizabal 2
Carolina castillo satizabal 2
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Uml java
Uml javaUml java
Uml java
 
Diseño de sistemas - UML - compendio
Diseño de sistemas  -  UML - compendioDiseño de sistemas  -  UML - compendio
Diseño de sistemas - UML - compendio
 
Metodologia uml
Metodologia umlMetodologia uml
Metodologia uml
 
Metodologia uml
Metodologia umlMetodologia uml
Metodologia uml
 
Metodologia UML
Metodologia UMLMetodologia UML
Metodologia UML
 
Presentación1
Presentación1Presentación1
Presentación1
 

Último

477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptxAndreaSoto281274
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxjmatheus74
 
Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwarejorgeadrianoropezame
 
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxHIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxFranckRussellFlorGue
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfSuleimaJimnez
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxPEPONLU
 

Último (6)

477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
477407774-EMBRIOLOGIA-DEL-SISTEMA-NERVIOSO.pptx
 
Vision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptxVision de asignatura ESTRUCTURA DE DATOS.pptx
Vision de asignatura ESTRUCTURA DE DATOS.pptx
 
Mapa conceptual de el hardware y software
Mapa conceptual de el hardware y softwareMapa conceptual de el hardware y software
Mapa conceptual de el hardware y software
 
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptxHIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
HIDRAULICA PRINCIPIOS FISICOS , LEY DE PASCAL Y FUNDAMENTOS video.pptx
 
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdfPRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
PRESENTACION SISTEMAS OPERATIVOS MOVILES_20240424_235225_0000.pdf
 
La busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptxLa busqueda de la relevancia en la economia (Harberger).pptx
La busqueda de la relevancia en la economia (Harberger).pptx
 

Diagrama uml ing software i promecys

  • 1. El Lenguaje Unificado de Modelado Ing. de Software I Promecys 2014 Ing. J.O.J.I
  • 2. El Triángulo de Desarrollo de Software Proceso Notación Herramienta Visual
  • 3. El Lenguaje Unificado de Modelado Definición: El UML es un lenguaje gráfico para la especificación, visualización, construcción y documentación de modelos orientados a objetos que representan sistemas intensivos en software. = Unified Modeling Language UML no es un método sino un lenguaje de modelamiento
  • 4. Objetivo del UML Describir cualquier tipo de sistema en términos de diagramas orientados a objetos Algunas categorías de Sistemas Sistemas de Información Sistemas de Tiempo Real Sistemas Embebidos Sistemas Distribuidos Software de Sistemas Sistemas de Negocios
  • 5. UML toma lo mejor de varios métodos Booch Odell Clasificación Shlaer-Mellor Ciclo de vida de objetos Gamma et. al. Marcos de trabajo, patrones, notas Rumbaugh Jacobson Meyer Pre y Post condiciones Harel Máquinas de estado Embly Singleton clases Fusion Wirfs-Brock Responsabilidades Descripción de operaciones, numeración de mensajes
  • 6. Características del UML - Proporciona a los desarrolladores un lenguaje de modelamiento ampliamente aceptado y listo para usar. - Integra las mejores prácticas del desarrollo de software. - Permite la intercambio de modelos entre las diferentes herramientas de software. - Es independiente del lenguaje de programación y de métodos y procesos particulares de desarrollo de software. - Proporciona sus propios mecanismos de extensión - Agrupa los conceptos de orientación a objetos definiendo su significado.
  • 7. Por qué aprender UML -Porque UML es el lenguaje de modelado de objetos estándar dominante. -Porque es apoyado por metodólogos y empresas importantes en Tecnologías de Información. -Porque cuenta con la aprobación de la OMG como notación estándar. -Porque todas las herramientas modernas proporcionan soporte para UML. -Porque nos facilita el aprendizaje del enfoque orientado a objetos pues basta con aprender este estándar y no perdernos en toda la jungla de métodos y notaciones existentes.
  • 8. Breve historia del UML - Los lenguajes de modelado orientados al objeto comenzaron a aparecer a mediados de la década de '70. - El número de lenguajes que modelaban objetos aumentó de menos de 10 a más de 50 durante el período entre 1989- 1994. - Muchos de los que utilizaban estos lenguajes no encontraban satisfacción completa en ninguno de ellos, esto motivó la llamada "Guerra de los Métodos".
  • 9. . . . Breve historia del UML . . . La “Guerra de los Métodos” Existían muchos métodos y cada uno tenía un lenguaje de modelado propio. Esto dificultó el aprendizaje, aplicación, construcción, uso de herramientas, etc. Pugna entre los distintos gurús que defendían sus propios métodos y simbologías. Se observa la necesidad de una notación estándar.
  • 10. . . . Breve historia del UML Ing. J.O.J.I Ingenieria de Software I El desarrollo del UML comenzó en finales de 1994 en que Grady Booch y Jim Rumbaugh de Rational Software Corporation, comenzaron su trabajo sobre la unificación de los métodos de Booch y de OMT (Object Modeling Technique). A finales de 1995, Ivar Jacobson y su compañía de Objectory se unieron a Rational y combinaron sus métodos. Booch, Rumbaugh, y Jacobson, definieron el UML 0,9 y 0,91 en junio y octubre de 1996.
  • 11. . . . Breve historia del UML Ing. J.O.J.I Ingenieria de Software I Sep ‘97 UML 1.1 Ene ‘97 UML 1.0 Jun ‘96 UML 0.9 Oct ‘95 Método Unificado 0.8 Ivar Jacobson se une a Rational en otoño ‘95 James Rumbaugh se une Microsoft Oracle IBM, HP Etc. Use Case (OOSE) a Rational en Oct ‘94 OMT Booch Otros métodos
  • 12. Versiones del UML 1997 (Adoptada por OMG) 1998 (revisión editorial sin cambios significativos) 1999 (revisión menor públicamente disponible) 2000 (planificada una revisión menor) 2001 (planificada una revisión menor) 2002 (planificada una revisión mayor) <<document>> UML 1.1 <<document>> UML 1.2 <<document>> UML 1.3 <<document>> UML 1.4 <<document>> UML 1.5 <<document>> ISO Publica especificación <<document>> UML 2.0
  • 13. Vistas de un modelo “Un modelo es una descripción completa de un sistema desde una perspectiva concreta” Vista de requerimientos Vista lógica Vista de implementación Vista de despliegue Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagrama de Secuencia Diagrama de Colaboración Diagrama de Estado Diagrama de Actividad Vista de procesos Diagrama de Componentes Diagrama de Despliegue
  • 14. Modelando con UML Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams State Diagrams State Diagrams Scenario Diagrams Scenario Diagrams Use Case Diagrams Use Case Diagrams State Diagrams State Diagrams Diagramas de Diagramas de Casos de Uso Diagramas de Clases Despliegue Diagramas de Objetos Diagramas de Componentes Modelo Diagramas de Secuencia Diagramas de Actividad Diagramas de Estados Diagramas de Colaboración
  • 15. 1. Diagramas de 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
  • 16. 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. Nombre del caso de uso Nombre
  • 17. Relaciones entre los elementos Relaciones entre actores La única relación permitida entre los actores es la Relación de Generalización. Usuario Director de Escuela Secretaria
  • 18. . . . Relaciones entre los elementos Relaciones entre un actor y un caso de uso La única relación permitida es una Asociación y se le conoce como Relación de Comunicación o <<comunicates>>. <<comunicates>> Registra Matrícula Secretaria
  • 19. . . . Relaciones entre los elementos Relaciones entre casos de uso B Pueden ser de tres tipos: 1. Relación de generalización El Caso de Uso de A hereda la especificación del Caso de Uso B. A Cobranza con tarjeta Cobranza en efectivo Cobranza con cheque Realizar cobranza
  • 20. . . . Relaciones entre los elementos 2. Relación <<include>> El caso de uso A siempre incluye (o usa) el comportamiento de B. Ejemplo: B <<include>> A Registrar matrícula <<include>> Validar usuario Aperturar cursos <<include>>
  • 21. . . . Relaciones entre los elementos 3. Relación <<extend>> El caso de uso A, extiende al caso de uso B. A ocurre en casos especiales para extender B. Ejemplo: B <<extend>> A Registrar matrícula extemporánea <<extend>> Registrar matrícula
  • 22. Ejemplo de Diagrama de Casos de Uso Caso de uso Registrar Matrícula <<extend>> Registrar matrícula extemporánea Usuario Registrar matrícula <<include>> <<comunicates>> Validar usuario Secretaria Director de <<include>> Aperturar cursos Escuela <<comunicates>>
  • 23. 2. Diagramas de Clases Definición Un Diagrama de Clases muestra Clases (grupos de objetos que tienen las mismas características y comportamiento) 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
  • 24. 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: NombreClase Atributo1 Atributo2 . . . Operacion1 operacion2 . . . Ejemplo: La Clase Automóvil Automovil Matricula Color Velocidad Arrancar( ) Acelerar( ) Frenar( )
  • 25. Relaciones entre Clases 1.- Relación de Dependencia 2.- Relación de Generalización 3.- Relación de Asociación 3.1.- Asociación de Agregación 3.2.- Asociación de Composición
  • 26. . . . Relaciones entre Clases 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). Clase independiente Clase dependiente Video Televisión . . . . . . Grabar(c : canal) Canal . . . . . . cambiar(c : canal)
  • 27. . . . Relaciones entre Clases 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). Vehículo Clase Padre Clase hija Terrestre Aéreo Red WAN LAN
  • 28. . . . Relaciones entre Clases 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. Acta 0..* 1..* Alumno
  • 29. . . . Relaciones entre Clases 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. Red Teclado CPU Computadora Monitor WAN LAN Mouse HUB Hard Disk
  • 30. . . . Relaciones entre Clases 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 si ellos. Ejemplo: El Hombre esta formado por cabeza, tronco y extremidades Hombre Cabeza Tronco Extremidades
  • 31. Ejemplo de diagrama de clases: Vuelo de un avion comercial Cliente Nombre Nacionalidad 1 Motor Marca Año 1 . . 4 1 Avión NroPlaca 1 Boleto * 1 Nro * 1 Vuelo IdVuelo FechaSal Modelo Destino AvionCarga CapCarga AviónPasajeros NroAsientos
  • 32. Ejercicio de diagrama de clases: Un sistema de planillas en una empresa guarda información de empleados y obreros, su record de asistencia, los conceptos de pago, las bonificaciones y descuentos. Si pide construir un diagrama de clases que muestre las Clases y sus Relaciones (asociación, agregación, composición, generalización, según existan). Cada planilla corresponde con un periodo de tiempo (mes) y contiene boletas de pago, las que a su vez contiene el detalle de los pagos y descuentos.
  • 33. 3. Diagramas de 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.
  • 34. Ejemplo de diagrama de objetos: Vuelo de un avion comercial :Cliente Nombre: Juan Pérez Nacionalidad: peruana 1 :Motor Marca: GeneralMotors Año: 1996 1 . . 4 1 * 1 :AviónPasajeros NroPlaca: XXX123 :Boleto * 1 Nro: 102030 :Vuelo IdVuelo: 666 FechaSal: 01/01/2001 Destino: Lima Modelo: Boeing 777 Nro: 555 Capacidad: 100
  • 35. 4. Diagramas de 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
  • 36. Elementos de un Diagrama de Secuencia Objetos o actores objeto:Clase 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 objeto:Clase Indica la vida de un objeto durante la interacción y se representa mediante una línea vertical discontínua.
  • 37. Elementos de un Diagrama de Secuencia Activación o foco de Control objeto:Clase Muestra el periodo de tiempo en el cual el objeto se encuentra desarrollando una operación. Mensajes objeto:Clase objeto:Clase Son las invocaciones que envia un objeto a otro para que realice una tarea.
  • 38. 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 envia el mensaje espera a que el objeto que lo recibe le termine la operacion. El mensaje síncrono más comun es la llamada a procedimientos. Mensaje Asíncrono: Cuando el objeto que envia el mensaje sigue con su trabajo sin esperar respuesta del objeto receptor del mensaje.
  • 39. Ejemplo de Diagrama de Secuencia Ing. Carlos Bacalla www.CarlosBacalla.com Un usuario desea imprimir un archivo para lo cual le envía la orden a la computadora, la cual 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. Imprimir (arch) :computadora :ServidorImpresion :impresora :cola Imprimir(arch) [ impresora OK] Imprimir(arch) [impresora !OK] Imprimir(arch)
  • 40. Ejercicio de Diagrama de Secuencia Se desea trasladar una cabra, una flor y un lobo, a través de un río empleando una barca. Solo se puede llevar uno de ellos en cada viaje. Si dejamos a la cabra con el lobo, el lobo se comera a la cabra. Si dejamos la flor con la cabra, la cabra se come a la flor. Muestre un diagrama de secuencia en el cual se pueda trasladar a los tres por el rio.
  • 41. 5. Diagramas de 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: - Objetos - Enlaces - Flujo de Mensajes
  • 42. Ejemplo de Diagrama de Colaboración Una nota de pedido contiene un renglón por cada artículo, que se está despachando. Si la cantidad del artículo que aún queda en almacén es menor que el punto de reorden, está lanza una orden de compra del artículo, si hay existencias el pedido se atiende. Prepara( ) :Pedido 1*[para cada renglón]: Prepara( ) 1.3 reorden:=NecesitaReorden( ) :renglónPedido 1.1 Existe:=RevisaExistencia( ) 1.2 [Existe]: descuenta( ) :Artículo 1.5[Existe]:Entrega( ) 1.4 [reorden]: colocarOrdenCompra( ) :NotaSalida :OrdenCompra
  • 43. Diagramas de Secuencia y Colaboración Ambos diagramas muestran la interacción entre objetos, pero el Diagrama de Secuencia reserva una dimension 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. Imprimir (arch) :computadora :impresora 1: Imprimir(arch) 1.1: [ impresora OK] Imprimir(arch) :ServidorImpresion 1.2: [impresora !OK] Imprimir(arch) :cola
  • 44. Ejercicio de Diagrama de Colaboración En una biblioteca un lector (socio) escoge un libro si desea prestarlo se lo solicita al encargado, el encargado verifica la situacion del libro (algunos solo salen para sala o tal vez esten prestados) y luego verifica la situacion del socio, si estas verificaciones son conformes entonces se realiza el prestamo del libro.
  • 45. 6. Diagramas de 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: - Estados - Eventos evento - Transiciones
  • 46. Elementos de un Diagrama de Estados 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 Estado inicial Estado1 Evento( ) Transición Estado2 Estado final
  • 47. Ejemplo de Diagrama de Estados 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. Activa retiro [saldo<0] / poner en rojo en azul en rojo depósito [saldo>0] / poner en azul activar cuenta suspender cuenta Cerrada cerrar cuenta Suspendida
  • 48. 7. Diagramas de 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
  • 49. 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 Decisión Barra de Sincronización Carriles Estados inicial y final
  • 50. Ejemplo de Diagrama de Actividad Muestre un proceso común de una solicitud de servicio. Cliente Vendedor Jefe Ventas Sol. de servicio Pide datos cliente Pide datos Servicio Decide costo Consulta tarifa [Tarifa no OK] Negoc. condiciones [Tarifa OK] Consulta disponib. Ingresa orden
  • 51. Ejercicio de Diagrama de Actividad Un cliente solicita un pedido, este pedido va al departamento de ventas para ser procesado y simultaneamente el cliente espera hasta que se apruebe y se le entregue la mercaderia. Despues de procesar el pedido en ventas, el pedido se dirige al almacen para extraer los productos y enviarlos. En este punto el cliente recibe el pedido y Ventas hace la factura. El cliente paga la factura y Ventas considera el pedido atendido.
  • 52. 8. Diagramas de 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
  • 53. Elementos de un Diagrama de Componentes 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. nombre
  • 54. . . . Elementos de un Diag. de Componentes 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. Interface <<interface>>
  • 55. Relaciones entre Componentes Relación de realización.- El componente que realiza o implementa la interfaz es conectado mediante una línea discontínua 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 discontínua con cabeza de flecha abierta. <<interface>>
  • 56. Estereotipos de Componentes executable.- son componentes que pueden ejecutarse en un nodo. library.- son las librerías estáticas o dinámicas. table.- un componente que es una tabla de una base de datos. file.- un componente que es un archivo de código fuente o datos. document.- un componente que es un documento.
  • 57. Ejemplo de un Diagrama de 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 Manejo.dll Imanejo Camino.dll Iautoprueba Test.dll Colisión.dll
  • 58. 9. Diagramas de Despliegue Definición: Muestra el hardware en donde será desplegado los componentes de nuestro sistema. Esto significa que muestra las relaciones fisicas entre el software y el hardware. Un Diagrama de Despliegue esta compuesto por: - Nodos - Conexiones entre nodos
  • 59. Elementos de un Diagrama de Despliegue Nodos: Representación de cualquier tipo de hardware sobre el cual correrá o del que se servirá nuestro sistema. Será un Procesador, si tiene capacidad de proceso como una PC. Será un Dispositivo si no tiene capacidad de proceso. Vienen a ser los equipos que sirven de interfaz con el mundo real como teléfono, impresora, sensores, etc. <<procesador>> <<dispositivo>> Conexiones: Los nodos se conectan mediante asociaciones de comunicación fisica o no, como conexión satelital, cable serial, señal infraroja, etc.
  • 60. Ejemplo de un Diagrama de 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. <<procesador>> PC usuario <<HTTP>> <<procesador>> Servidor de Aplicaciones <<procesador>> <<TCP/IP>>Servidor de BD Cliente <<Becomes>> Cliente BD Aplicación
  • 61. Conclusiones: 1. El UML es el lenguaje estándar a nivel mundial para representar modelos orientados a objetos de sistemas intensivos en software. 2. Debemos utilizarlo en todos nuestros modelos para poder comunicarnos con otros desarrolladores.
  • 62. Recomendaciones: Apostar por enfoque Orientado a Objetos -Primero aprenda la notación -Segundo aprenda la herramienta -Tercero aprenda el Proceso