Sie sind auf Seite 1von 100

Prof. Ing.

Juan Benito Torres Báez


Carrera: Ingeniería en Sistemas Informáticos
UNIDAD II
El paradigma orientado a objeto usando UML
INTRODUCCIÓN
Modelado de software

Construcción de una casa para “Fido”

Puede hacerlo una sola persona.


Requiere:
Modelado mínimo
Proceso simple
Herramientas simples

24/05/2019 3
INTRODUCCIÓN
Construcción de una casa

Construida eficientemente y en un tiempo


razonable por un equipo.
Requiere:
Modelado
Proceso bien definido
Herramientas más sofisticadas
24/05/2019 4
INTRODUCCIÓN
Construcción de un rascacielos

24/05/2019 5
INTRODUCCIÓN
Abstracción. Modelo Visual

“El modelado captura las partes esenciales del sistema”

Orden

Item

envío

Proceso de Negocios Sistema Computacional


24/05/2019 6
UML. ¿QUÉ ES UML?
❑ El Lenguaje Unificado de Modelado (UML, Unified Modeling Language) fue
creado para forjar un lenguaje de modelado visual común y semántica y
sintácticamente rico para la arquitectura, el diseño y la implementación de
sistemas de software complejos, tanto en estructura como en
comportamiento.
❑ Un lenguaje de propósito general para el modelado orientado a objetos.
Impulsado por el Object Management Group (OMG, www.omg.org)
❑ Su finalidad es brindar a arquitectos de sistemas, ingenieros y
desarrolladores de software las herramientas para el análisis, el diseño y la
implementación de sistemas basados en software, así como para el
modelado de procesos de negocios y similares.

24/05/2019 7
HISTORIA DE UML
❑ Comenzó como el “Método Unificado”, con la participación de Grady Booch y
Jim Rumbaugh. Se presentó en el OOPSLA’95.

❑ El mismo año se unió Ivar Jacobson. Los “Tres Amigos” son socios en la
compañía Rational Software. Herramienta CASE Rational Rose.

24/05/2019 8
HISTORIA DE UML
2015 UML 2.5.1
2011 UML 2.4.1
2010 UML 2.3
2009 UML 2. 2
2007 UML 2.1.1 y 2.1.2
2005 UML 2.0
2003 UML 1.5
2000 UML 1.4
1999 UML 1.3
1998 UML 1.2

24/05/2019 9
PARTICIPANTES EN UML 1.0
▪ Rational Software ▪ MCI Systemhouse
(Grady Booch, Jim Rumbaugh y ▪ Microsoft
Ivar Jacobson) ▪ ObjecTime
▪ Digital Equipment ▪ Oracle Corp.
▪ Hewlett-Packard ▪ Platinium Technology
▪ i-Logix (David Harel) ▪ Sterling Software
▪ IBM ▪ Taskon
▪ ICON Computing ▪ Texas Instruments
(Desmond D’Souza) ▪ Unisys
▪ Intellicorp and James Martin &
co. (James Odell)

24/05/2019 10
PERSPECTIVAS DE UML
❑UML es el lenguaje de modelado orientado a objetos estándar predominante
ahora y en los próximos años.
❑Razones:
▪ Participación de metodólogos influyentes
▪ Participación de importantes empresas
▪ Estándar del OMG
❑Evidencias:
▪ Herramientas que proveen la notación UML
▪ Edición de libros (más de 300 en www.amazon.com)
▪ Congresos, cursos, camisetas, etc.

24/05/2019 11
MODELOS Y DIAGRAMAS
❑ Un modelo captura una vista de un sistema del mundo real. Es una
abstracción de dicho sistema, considerando un cierto propósito. Así, el
modelo describe completamente aquellos aspectos del sistema que son
relevantes al propósito del modelo, y a un apropiado nivel de detalle.

❑ Diagrama: una representación gráfica de una colección de elementos de


modelado, a menudo dibujada como un grafo con vértices conectados por
arcos.

24/05/2019 12
MODELOS Y DIAGRAMAS
❑ Un proceso de desarrollo de software debe ofrecer un conjunto de modelos
que permitan expresar el producto desde cada una de las perspectivas de
interés.
❑ El código fuente del sistema es el modelo más detallado del sistema (y
además es ejecutable). Sin embargo, se requieren otros modelos ...

❑ Cada modelo es completo desde su punto de vista del sistema, sin embargo,
existen relaciones de trazabilidad entre los diferentes modelos.
24/05/2019 13
TIPOS DE DIAGRAMAS EN UML 1.5
❑ Diagrama de Casos de Uso
❑ Diagrama de Clases
❑ Diagrama de Objetos
❑ Diagramas de Comportamiento
▪ Diagrama de Estados
▪ Diagrama de Actividad
❑ Diagramas de Interacción
▪ Diagrama de Secuencia
▪ Diagrama de Colaboración
❑ Diagramas de implementación
▪ Diagrama de Componentes
▪ Diagrama de Despliegue
24/05/2019 14
TIPOS DE DIAGRAMAS EN UML 2.5

24/05/2019 15
TIPOS DE DIAGRAMAS EN UML 2.5
DIAGRAMAS DE ESTRUCTURA
Muestran la estructura estática de los objetos en un sistema.

❑ Diagrama de clases: los diagramas de clase son, sin duda, el tipo de diagrama UML más
utilizado. Es el bloque de construcción principal de cualquier solución orientada a
objetos. Muestra las clases en un sistema, atributos y operaciones de cada clase y la
relación entre cada clase.
❑ Diagrama de componentes: Un diagrama de componentes muestra la relación
estructural de los componentes de un sistema de software. Estos se utilizan
principalmente cuando se trabaja con sistemas complejos que tienen muchos
componentes.
❑ Diagrama de despliegue: Un diagrama de despliegue muestra el hardware de su sistema
y el software de ese hardware. Los diagramas de implementación son útiles cuando la
solución de software se despliega en varios equipos, cada uno con una configuración
única.

24/05/2019 16
TIPOS DE DIAGRAMAS EN UML 2.5
❑ Diagrama de objetos: Los diagramas de objetos, a veces denominados diagramas de
instancia, son muy similares a los diagramas de clases. Al igual que los diagramas de
clases, también muestran la relación entre los objetos, pero usan ejemplos del mundo
real. Se utilizan para mostrar cómo se verá un sistema en un momento dado. Debido a que
hay datos disponibles en los objetos, a menudo se utilizan para explicar relaciones
complejas entre objetos.
❑ Diagrama de paquetes: Como su nombre indica, un diagrama de paquetes muestra las
dependencias entre diferentes paquetes de un sistema.
❑ Diagrama de estructura compuesta: Los diagramas de estructura compuesta se utilizan
para mostrar la estructura interna de una clase.

24/05/2019 17
TIPOS DE DIAGRAMAS EN UML 2.5
DIAGRAMAS DE COMPORTAMIENTO
Muestran el comportamiento dinámico de los objetos en el sistema.

❑ Diagrama de actividades: Representan los flujos de trabajo de forma gráfica. Pueden


utilizarse para describir el flujo de trabajo empresarial o el flujo de trabajo operativo de
cualquier componente de un sistema. A veces, los diagramas de actividad se utilizan como
una alternativa a los diagramas de máquina del estado.
❑ Diagrama de casos de uso: Ofrecen una visión general de los actores involucrados en un
sistema, las diferentes funciones que necesitan esos actores y cómo interactúan estas
diferentes funciones. Es un gran punto de partida para cualquier discusión del proyecto,
ya que se pueden identificar fácilmente los principales actores involucrados y los
principales procesos del sistema.
❑ Diagrama de máquina de estados: Son similares a los diagramas de actividad, aunque
las anotaciones y el uso cambian un poco. Estos son muy útiles para describir el
comportamiento de los objetos que actúan de manera diferente de acuerdo con el estado
en que se encuentran en el momento.
24/05/2019 18
TIPOS DE DIAGRAMAS EN UML 2.5
Diagrama de interacción. Los diagramas de interacción incluyen distintos tipos de
diagramas:

❑ Diagrama de secuencia: Muestran cómo los objetos interactúan entre sí y el orden en


que se producen esas interacciones. Es importante tener en cuenta que muestran las
interacciones para un escenario en particular. Los procesos se representan verticalmente
y las interacciones se muestran como flechas.
❑ Diagrama de comunicación: Se llamó diagrama de colaboración en UML 1. Es similar a
los diagramas de secuencia, pero el foco está en los mensajes pasados entre objetos.
❑ Diagrama de tiempos: Los diagramas de sincronización son muy similares a los
diagramas de secuencia. Representan el comportamiento de los objetos en un marco de
tiempo dado.
❑ Diagrama global de interacciones: Son similares a los diagramas de actividad. Mientras
que los diagramas de actividad muestran una secuencia de procesos, los diagramas de
interacción muestran una secuencia de diagramas de interacción. En términos simples,
pueden llamarse una colección de diagramas de interacción y el orden en que suceden.
24/05/2019 19
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
Un diagrama de Clases representa las clases que serán utilizadas dentro del
sistema y las relaciones que existen entre ellas.
Los diagramas de Clases por definición son estáticos, esto es, representan que
partes interactúan entre sí, no lo que ocurre.

NOTACIÓN GRÁFICA
Cada clase se representa en un rectángulo con tres compartimientos:
▪ nombre de la clase Motocicleta
▪ atributos de la clase color
▪ operaciones de la clase cilindrada
velocidad máxima

arrancar()
acelerar()
frenar()
24/05/2019 20
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
ATRIBUTOS
❑ Son descripciones de características, se usan para modelar información
asociada con una entidad, sintaxis:
Nombre_atributo[multiplicidad]:Tipo = Valor_inicial
❑ La multiplicidad es opcional e indica el número de atributos por instancia
de la clase.
❑ El valor inicial es también opcional.

24/05/2019 21
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
OPERACIONES o MÉTODOS
Son descripciones del comportamiento, se usan para modelar los servicios u
operaciones asociados con una entidad, esto es, lo que una entidad puede
hacer, sintaxis:
Nombre_método[parámetros:tipo]:Valor_retorno:tipo

24/05/2019 22
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
ENCAPSULACIÓN

❑ La encapsulación presenta algunas ventajas básicas:


▪ Se protegen los datos de accesos indebidos.
▪ El acoplamiento entre las clases se disminuye.
▪ Favorece la modularidad y el mantenimiento.

❑ Los atributos de una clase no deberían ser manipulables directamente por


el resto de objetos

24/05/2019 23
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
ENCAPSULACIÓN

Los niveles de encapsulación están heredados de los niveles de C++:

❑Public (+) permite el acceso a objetos de las otras clases.


❑Private (-) limita el acceso a la clase, solo operaciones de la clase tienen
acceso.
❑Protected (#) permite el acceso a subclases. En el caso de generalización
(herencia), las subclases deben tener acceso a los atributos y operaciones de la
superclase, sino no pueden heredar.
❑Package (~) permite el acceso a los otros objetos en el mismo paquete.

24/05/2019 24
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES
Una relación es un término general que abarca los tipos específicos de
conexiones lógicas que se pueden encontrar en los diagramas de clases y
objetos. UML presenta las siguientes relaciones:
▪ Asociación
▪ Agregación (vista como un caso particular de asociación)
▪ Composición
▪ Generalización (Herencia)
▪ Dependencia

24/05/2019 25
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: ASOCIACIÓN

Una asociación es una relación entre instancias de clases, especificando que los
objetos de una clase deben “conocer” de alguna manera los objetos de la otra.
Por ejemplo:

❑Un objeto de la clase A envía un mensaje a un objeto de la clase B.


❑Un objeto de la clase A crea un objeto de la clase B.
❑Un objeto de la clase A recibe un mensaje con un objeto de la clase B como
argumento.

24/05/2019 26
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: ASOCIACIÓN

Las asociaciones se caracterizan por:


▪ Rol. Papel desempeñado por el objeto.
▪ Multiplicidad. (Cardinalidad), la cantidad de objetos de una clase que se
relacionan con un objeto de la otra clase:
1 Exactamente 1
1..* Uno a muchos
1..n Uno a muchos
0..* Cero a muchos
0..n Cero a muchos
m..n Rango

24/05/2019 27
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: ASOCIACIÓN

Empleado Departamento
Código 1..* Pertenece 1
Nombre
Nombre

Uno o más empleados pertenecen a un departamento.


A un departamento le pertenecen 1 o más empleados.

24/05/2019 28
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: AGREGACIÓN

❑ Es una relación de contenedor y contenido, donde el contenedor contiene


objetos contenido.
❑ La agregación representa una relación parte_de entre objetos.
❑ En UML se proporciona una escasa caracterización de la agregación.
❑ Puede ser caracterizada con precisión determinando las relaciones de
comportamiento y estructura que existen entre el objeto agregado y cada
uno de sus objetos componentes.

24/05/2019 29
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: AGREGACIÓN

Todo

Producto Polígono

0..n 0..n

1..n Parte de 3..n


Ingrediente Punto

Un producto está compuesto por uno o mas ingredientes. A un polígono se le puede agregar puntos.
Un ingrediente puede estar en 0 o más productos. Un punto puede formar parte de 0 o más polígonos.

24/05/2019 30
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: COMPOSICIÓN

La representación en UML de una relación de composición es mostrada con


una figura de diamante rellenado del lado del la clase contenedora, es decir al
final de la línea que conecta la clase contenido con la clase contenedor.

❑ Cuando intentamos representar un todo y sus partes. Ejemplo, un motor es


una parte de un coche.
❑ Cuando se elimina el contenedor, el contenido también es eliminado.
Ejemplo, si eliminamos una universidad eliminamos igualmente sus
departamentos.

24/05/2019 31
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: COMPOSICIÓN
Todo

Ventana Modulo

1 1

0..2 Parte de 1..n


ScrollBar Aula

Una ventana está compuesta por Un módulo está compuesto


cero o hasta 2 ScrollBars por una o mas aulas

24/05/2019 32
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: GENERALIZACIÓN (HERENCIA)

Indica que una subclase hereda los métodos y atributos especificados por una
Super Clase, por ende la Subclase además de poseer sus propios métodos y
atributos, poseerá las características y atributos visibles de la Super Clase

La herencia puede ser: Simple y Múltiple.

24/05/2019 33
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: GENERALIZACIÓN (HERENCIA)

Herencia Simple: Cuando heredan de una sola clase. Tiempo


Hora
Minuto
segundo

ToStr

TiempoC
centesima

ToStr

24/05/2019 34
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: GENERALIZACIÓN (HERENCIA)

Herencia Múltiple: Cuando heredan de dos o más clases.


Tiempo Fecha
Hora Dia
Minuto Mes
segundo año

ToStr ToStr

TiempoHora

ToStr
24/05/2019 35
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE CLASES
RELACIONES ENTRE CLASES: DEPENDENCIA

Significa que una clase necesita de otra para poder prestar sus servicios.

Ecuacion Math
coeficientes
Resolver Potencia
Raiz

24/05/2019 36
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE OBJETOS
Los diagramas de objetos utilizan una notación similar a los diagramas de
clases y se utilizan para ilustrar una instancia de una clase en un momento
dado. Imagine que desea dibujar un diagrama de objetos para ilustrar un
ejemplo real de una clase y de sus relaciones.

Los diagramas de objetos pueden ayudar a explicar las clases y su herencia,


ayuda para quienes los diagramas de clases sean demasiado abstractos.

En UML, un objeto se representa por un rectángulo


colocando el nombre del objeto : y el de la clase
subrayados, o solamente
: y el nombre de la clase.

24/05/2019 37
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE OBJETOS
❑ Objeto = Identidad + Estado + Comportamiento

❑ El estado está representado por los valores de los atributos.

❑ Un atributo toma un valor en un dominio concreto.

24/05/2019 38
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE OBJETOS
❑ Objeto = Identidad + Estado + Comportamiento

❑ Los mensajes navegan por los enlaces, a priori en ambas direcciones.

❑ Estado y comportamiento están relacionados.

24/05/2019 39
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
El diagrama de componentes describe la descomposición física del sistema de
software en componentes, muestra un conjunto de componentes y sus
relaciones de manera gráfica a través del uso de nodos y arcos.

Es una parte física de un sistema (modulo, base de datos, programa ejecutable,


etc.). Se puede decir que un componente es la materialización de una o mas
clases, porque una abstracción con atributos y métodos pueden ser
implementados en los componentes.

24/05/2019 40
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
NOTACIÓN

Componente

Interfaz y su relación de realización

Relación de uso

Nodo físico

Enlace de comunicación entre nodos


24/05/2019 41
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
PASOS PARA SU ELABORACIÓN

❑ Previamente al diagrama de componentes debemos de tener hecho el


diagrama de clases.
❑ Se debe identificar a todas las clases que participarán en el sistema o
subsistema a desarrollar.
❑ Una vez identificado las clases, se procede a identificar sus métodos.
❑ Estos métodos pasaran a ser módulos con líneas de código independientes.
❑ Estos módulos serán los componentes de nuestro diagrama.
❑ Estos componentes se relacionan entre si por medio de sus interfaces.

24/05/2019 42
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
INTERFACES

Es el lazo de unión entre varios componentes.

Donde C es el nombre de la interfaz

24/05/2019 43
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
EJEMPLOS

24/05/2019 44
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE COMPONENTES
EJEMPLOS

24/05/2019 45
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE ESTRUCTURA COMPUESTA

Muestra la estructura interna de una clase y las colaboraciones que esta


estructura hace posibles. Esto puede incluir partes internas, puertas mediante
las cuales, las partes interactúan con cada una de las otras o mediante las
cuales, instancias de la clase interactúan con las partes y con el mundo exterior,
y conectores entre partes o puertas. Una estructura compuesta es un conjunto
de elementos interconectados que colaboran en tiempo de ejecución para
lograr algún propósito.

Las entidades de estructura compuesta son: partes, puertas, conectores,


colaboraciones y clasificador estructurado.

24/05/2019 46
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE ESTRUCTURA COMPUESTA
❑ Parte: representa un rol jugado en tiempo de ejecución por una instancia de una clase o
por una colección de instancias. La parte puede nombrar solamente un rol,
una superclase abstracta, o puede nombrar una clase concreta específica. La parte puede
incluir un factor de multiplicidad (cardinalidad).
-nombre parte

❑ Puerta: es un punto de interacción que puede ser usado para conectar clasificadores
estructurados con sus partes y con el ambiente. Las puertas pueden opcionalmente
especificar los servicios que proveen y los servicios que requieren de otras partes del
sistema.
nombre puerta

❑ Conector: une dos o más entidades, permitiéndoles interactuar en tiempo de ejecución.


Un conector es representado por una línea que une una combinación de partes, puertas
y clasificadores estructurados.

24/05/2019 47
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE ESTRUCTURA COMPUESTA

❑ Colaboración: es mostrada como un óvalo sin relleno conteniendo los roles


que las instancias pueden jugar en la colaboración.

❑ Clasificador Estructurado: representa una clase abstracta, cuyo


comportamiento puede ser completa o parcialmente descrito mediante
interacciones entre partes.

24/05/2019 48
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE ESTRUCTURA COMPUESTA

EJEMPLOS

24/05/2019 49
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE DESPLIEGUE
Se utiliza para modelar la disposición física de los artefactos software en nodos (usualmente
plataforma de hardware).

Los elementos usados por este tipo de diagrama son nodos (representados como un
prisma), componentes (representados como una caja rectangular con dos protuberancias
del lado izquierdo) y asociaciones.

EJEMPLOS

24/05/2019 50
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE DESPLIEGUE
EJEMPLOS Servidor Central Control y Análisis

Acceso a BD Comment

Comment

Rutinas de Coneccion
Comment

Terminal de Consulta
Interfaz de Terminal
Rutinas de Coneccion
Comment Comment

Punto de Venta
Rutinas de Coneccion
Comment

Gestión de Cuentas Interfaz de Terminal

Comment Comment

24/05/2019 51
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE PAQUETES
Un diagrama de paquetes representa las dependencias entre los paquetes que
componen un modelo. Es decir, muestra cómo un sistema está dividido en
agrupaciones lógicas y las dependencias entre esas agrupaciones.
Dado que normalmente un paquete está pensado como un directorio, los
diagramas de paquetes suministran una descomposición de la jerarquía lógica
de un sistema.

Un paquete puede contener otros paquetes, sin límite de anidamiento pero


cada elemento pertenece a sólo un paquete.

Gráficamente se representa como: Nombre de


paquete

24/05/2019 52
DIAGRAMAS DE ESTRUCTURA: DIAGRAMA DE PAQUETES
EJEMPLOS

24/05/2019 53
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
Un diagrama de actividades muestra un flujo de acciones (nodos ejecutan un
proceso), generalmente secuenciales además presenta los resultados de dichas
acciones.
SIRVE PARA:
❑ Capturar las acciones internas de un proceso.
❑ Capturar la especificación de un caso de uso.
❑ Describe la lógica de los procedimientos, los procesos del negocio y el flujo
de trabajo.
❑ Modelar los aspectos dinámicos de un sistema.

24/05/2019 54
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
ELEMENTOS:
Acción
Transición

Inicio Fin

Actor
Decisión
O
Unión

Concurrencia: fork y join

24/05/2019 55
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
ELEMENTOS:

24/05/2019 56
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
ELEMENTOS:

24/05/2019 57
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
EJEMPLOS:

24/05/2019 58
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
EJEMPLOS:

24/05/2019 59
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
EJEMPLOS:

Dos formas de mostrar una decisión en un diagrama de actividades


24/05/2019 60
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
EJEMPLOS:

24/05/2019 61
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
PARTICIONES, CALLES O CARRILES
Cuando se tiene un conjunto de actividades que están relacionadas,
generalmente la relación esta dada por los actores que ejecutan
las acciones. Para
modelar esta relación
se divide el diagrama
en carriles.

24/05/2019 62
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE ACTIVIDAD
PARTICIONES, CALLES O CARRILES
PASAJERO VENDEDOR AEROLÍNEA

Solicitar
Pasaje Verificar existencia
del vuelo
Dar Detalles del
vuelo

Informar alternativas y
Seleccionar precios
vuelo

Solicitar Reservar
Pago plazas Confirmar plaza
Pagar pasaje reservada

Emitir Tiquete

24/05/2019 63
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

❑ Un caso de uso especifica un comportamiento deseado del sistema.

❑ Describen qué hace el sistema, no cómo lo hace.

❑ Representan los requisitos funcionales del sistema.

❑ No pertenece estrictamente al enfoque orientado a objeto, es una técnica


para captura y especificación de requisitos.

“Un caso de uso especifica un conjunto de secuencias de acciones, incluyendo


variantes, que el sistema puede ejecutar y que produce un resultado observable
de valor para un particular actor.”

24/05/2019 64
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

EJEMPLO:

Retirar dinero

Consultar Extracto
Cliente

Realizar transferencia

24/05/2019 65
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

PARTES DE UN CASO DE USO

❑ Conjunto de secuencias de acciones; cada secuencia representa un posible


comportamiento del sistema.

❑ Actores, roles que pueden jugar los usuarios.

❑ Variantes: versiones especializadas, un caso de uso que extiende a otro o un


caso de uso que incluye a otro.

❑ Un caso de uso realiza un trabajo tangible.

24/05/2019 66
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

ACTORES

❑ Se le llama actor a toda entidad externa al sistema que guarda una relación
con éste y que le demanda una funcionalidad. Esto incluye a los operadores
humanos pero también incluye a todos los sistemas externos, además de
entidades abstractas, como el tiempo. En el caso de los seres humanos se
pueden ver a los actores como definiciones de rol.
❑ Un usuario puede jugar diferentes roles.
❑ En la realización de un caso de uso pueden intervenir diferentes actores.
❑ Un actor puede intervenir en varios casos de uso.
❑ Un actor necesita el caso de uso y/o participa en él.

24/05/2019 67
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

TIPOS DE ACTORES

❑ Principal: personas que usan el sistema.

❑ Secundarios: personas que mantienen o administran el sistema.

❑ Material externo: dispositivos materiales imprescindibles que forman


parte del ámbito de la aplicación y deben ser utilizados.

❑ Otros sistemas: sistemas con los que el sistema interactúa.

24/05/2019 68
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES

UML define cuatro tipos de relaciones en los Diagramas de Casos de Uso:


▪ Comunicación (asociación)
▪ Inclusión
▪ Extensión
▪ Generalización (herencia)

24/05/2019 69
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES: Comunicación (asociación)

Esta relación se utiliza entre un actor y un caso de uso para denotar la


participación del actor en dicho caso de uso.

Para conectar un actor con un caso de uso se utiliza una línea sin puntas de
flecha.

Caso de Uso
Actor

24/05/2019 70
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES: Inclusión

Una instancia del Caso de Uso origen incluye también el comportamiento


descrito por el Caso de Uso destino.

<<include>>

Caso de Uso Origen Caso de Uso Destino

24/05/2019 71
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES: Extensión

El Caso de Uso origen extiende el comportamiento del Caso de Uso destino.

<<extend>>

Caso de Uso Origen Caso de Uso Destino

24/05/2019 72
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES: Generalización (herencia)

El Caso de Uso origen hereda la especificación del Caso de Uso destino y


posiblemente la modifica y/o amplía.

Caso de Uso Hijo Caso de Uso Padre

24/05/2019 73
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

RELACIONES. EJEMPLO
Extensión
«extend» Hacer Pedido
Hacer Pedido Urgente
(establecer
prioridad)

«include»
Comprobar clave
Inclusión
Validar Usuario
Generalización

«include»
Seguir Pedido Examinar retina

24/05/2019 74
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

CONSTRUCCIÓN

❑ Un caso de uso debe ser simple, inteligible, claro y conciso.


❑ Generalmente hay pocos actores asociados a cada Caso de Uso.
❑ Preguntas clave:
▪ ¿cuáles son las tareas del actor?
▪ ¿qué información crea, guarda, modifica, destruye o lee el actor?
▪ ¿debe el actor notificar al sistema los cambios externos?
▪ ¿debe el sistema informar al actor de los cambios internos?

24/05/2019 75
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

DOCUMENTACIÓN O ESPECIFICACIÓN DE CASOS DE USO

Documentar casos de usos no es una tarea fácil que se pueda dominar de un día
para otro, requiere de tiempo, disciplina y experiencia, sin embargo podemos
definir una serie de pasos identificables para escribir los casos de uso.

24/05/2019 76
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

DOCUMENTACIÓN O ESPECIFICACIÓN DE CASOS DE USO

1. Nombre del Caso de uso


2. Actor(es) participante(s)
3. Tipo
4. Descripción
5. Precondición
6. Flujo Principal
7. Flujos Alternativos
8. Excepciones
9. Postcondición
10. Requisitos especiales

24/05/2019 77
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

DOCUMENTACIÓN O ESPECIFICACIÓN DE CASOS DE USO

1. NOMBRE DEL CASO DE USO: Nombre que le identifica al caso de uso.

2. ACTOR (ES): Nombre del actor que interactúa con el caso de uso.

3. TIPO: Nombre de la relación utilizada con el caso de uso, por ejemplo: asociación,
include, extend, etc.

4. DESCRIPCIÓN: Es un párrafo que resume el objetivo del caso de uso. Sin dar detalles del
cómo, la descripción del caso de uso resume todo lo que el caso de uso hace, que es el
valor que da al actor (o actores).

5. PRECONDICION: Condiciones que describen en qué situación se debe comenzar el caso


de uso
24/05/2019 78
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

DOCUMENTACIÓN O ESPECIFICACIÓN DE CASOS DE USO


6. FLUJO PRINCIPAL: Describe los pasos que se sucederían en el escenario del “mundo
perfecto”. El flujo principal es un camino simple, sin ramificaciones. Es obligatorio que
cada paso contenga el número del paso y su título. Los pasos no contienen, nunca,
referencias a los flujos alternativos. La descripción del primer paso indica que actor
comienza el flujo y cuál es el disparador de este.

7. FLUJOS ALTERNATIVOS: En los flujos alternativos lidiamos con las situaciones de error
y el comportamiento esperado del sistema en respuesta a dichos errores. Todos los flujos
alternativos deben indicar en este orden:
▪ ¿Dónde comienzan? Desde donde parte el FA.
▪ ¿Qué los dispara? Que hace que este FA inicie.
▪ ¿Qué sucede? Lo que pasa cuando el FA es invocado.
▪ ¿A dónde regresa? Una vez que termina de ejecutarse el FA, ¿A dónde regresa la
ejecución del caso de uso?
24/05/2019 79
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE CASOS DE USO

DOCUMENTACIÓN O ESPECIFICACIÓN DE CASOS DE USO

8. EXCEPCIONES: Situaciones anómalas, y su tratamiento, que pueden darse durante la


secuencia normal.

9. POSTCONDICIÓN: Condiciones que describen en qué situación debe quedar el sistema y


su entorno una vez que el caso de uso haya finalizado con éxito

10.REQUISITOS ESPECIALES: Identifica cualquier requisito adicional no funcional, que


necesite el caso de uso durante su ejecución, o diseño.

24/05/2019 80
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE MÁQUINA DE ESTADO

Los diagramas de Máquina de Estados son una técnica conocida para describir el
comportamiento de un sistema.

Describen todos los estados posibles en los que puede entrar un objeto particular y
la manera en que cambia el estado del objeto, como resultado de los eventos que
llegan a el.

En la mayor parte de las técnicas Orientadas a Objetos, los diagramas de máquina


de estados se dibujan para una sola clase, mostrando el comportamiento de un
solo objeto durante todo su ciclo de vida.

En el diagrama de máquina de estados se indica qué eventos hacen que se pase de


un estado a otro y cuáles son las respuestas y acciones que genera. También
ilustra qué eventos pueden cambiar el estado de los objetos de la clase.
24/05/2019 81
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE MÁQUINA DE ESTADO

ELEMENTOS:

Estado

Estado inicial

Estado final

Transición

24/05/2019 82
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE MÁQUINA DE ESTADO

VENTAJAS:
❑ Permite que el analista se centre en las necesidades del usuario.
❑ Tiene éxito en sistemas interactivos, ya que expresa la intención que tiene el
actor (usuario) al hacer uso del sistema.

DESVENTAJAS:
❑ La inclusión de estas relaciones hace que los diagramas sean más difíciles de
leer, sobre todo para los clientes.

24/05/2019 83
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE MÁQUINA DE ESTADO

EJEMPLOS: PROCESAMIENTO DE UN PRÉSTAMO

UNA VELA

AUTORIZACIÓN DE PAGOS
24/05/2019 84
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE SECUENCIA
El diagrama de secuencias en UML muestra la forma en que los objetos se
comunican entre sí al transcurrir el tiempo.
❑ El diagrama muestra
▪ Los objetos participando en la interacción
▪ La secuencia de mensajes intercambiados .
❑ Un diagrama de secuencia contiene:
▪ Objetos con sus “líneas de vida”
▪ Mensajes intercambiados entre objetos en una secuencia ordenada.
▪ Línea de vida activa.

24/05/2019 85
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE SECUENCIA
❑ El diagrama de secuencias consta de objetos que se representan con:
rectángulos con nombre (subrayado), mensajes entre los objetos
representados por líneas continuas con una punta de flecha y el tiempo
representado como una progresión vertical.
❑ Los objetos se colocan cerca de la parte superior del diagrama de izquierda
a derecha y se acomodan de manera que simplifiquen el diagrama.
❑ La extensión que está debajo (y en forma descendente) de cada objeto será
una línea discontinua conocida como la línea de vida de un objeto.
❑ Junto con la línea de vida de un objeto se encuentra un pequeño rectángulo
conocido como activación, el cual representa la ejecución de una operación
que realiza el objeto. La longitud del rectángulo se interpreta como la
duración de la activación.

24/05/2019 86
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE SECUENCIA
MENSAJE:
El envío de mensajes entre objetos se denota mediante una línea sólida
dirigida, desde el objeto que emite el mensaje hacia el objeto que lo ejecuta.
Existen diferentes tipos de envíos de mensajes:
❑ El mensaje sincrónico es el utilizado con mayor frecuencia. Su uso significa
que el expedidor del mensaje espera que la activación del método
mencionado por el destinatario finalice antes de continuar su actividad.
❑ En los mensajes asincrónicos, el expedidor no espera el término de la
activación invocada por el destinatario.
❑ Se utiliza un mensaje de retorno cuando el
destinatario de un mensaje devuelve las
respuestas al remitente después de que la
operación haya producido un resultado.
24/05/2019 87
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE SECUENCIA
RECURSIVIDAD:
En ocasiones un objeto posee una operación que se invoca a sí misma. A esto se
le conoce como recursividad, y es una característica fundamental de varios
lenguajes de programación. Por ejemplo, supongamos que una calculadora
forma parte de los objetos de nuestro sistema y que una de sus operaciones sea
el cálculo de intereses. Para calcular el interés compuesto para un periodo que
incluya otros periodos, la operación cálculo de intereses del
objeto tendrá que invocarse a si misma varias
veces. Para representar esto en UML,
dibujaremos una flecha de mensaje fuera de la
activación, y un pequeño rectángulo encima de
la activación.

24/05/2019 88
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE SECUENCIA
DESTRUCCIÓN DE OBJETOS:
La destrucción se indica por el fin de la línea de vida y por una letra X, bien a la
altura del mensaje que causa la destrucción, o bien tras el último mensaje
enviado por un objeto que se suicida.

24/05/2019 89
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE COMUNICACIÓN
❑ En UML 2.0, un diagrama de comunicación es una versión simplificada
del diagrama de colaboración de la versión 1.x.
❑ Un diagrama de comunicación es una forma de representar interacción
entre objetos.
❑ Muestra cómo las instancias específicas de las clases trabajan juntas para
conseguir un objetivo común.
❑ Implementa las asociaciones del diagrama de clases mediante el paso de
mensajes de un objeto a otro. Dicha implementación es llamada "enlace".
❑ Los objetos interactúan entre sí pasándose mensajes.
❑ Los objetos se conectan a través de enlaces.
▪ Mensaje: especifica transmisión de información entre objetos.
▪ Enlace: especifica un camino a lo largo del cual un objeto puede enviar
un mensaje a otro objeto.
24/05/2019 90
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE COMUNICACIÓN
❑ Objeto: un objeto se representa con un rectángulo, que contiene el nombre
y la clase del objeto en un formato nombreObjeto: nombreClase.

❑ Enlaces: un enlace es una instancia de una asociación en un diagrama de


clases. Se representa como una línea continua que une a dos objetos. Esta
acompañada por un número que indica el orden dentro de la interacción y
por un estereotipo que indica que tipo de objeto recibe el mensaje.

❑ Flujo de mensajes: expresa el envío de un mensaje. Se representa mediante


una flecha dirigida a un enlace.

24/05/2019 91
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE COMUNICACIÓN
EJEMPLO:

24/05/2019 92
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE TIEMPOS
Es utilizado para visualizar el cambio en el estado o valor de uno o más
elementos en el tiempo, esto quiere decir que un objeto dentro de un proceso
toma varios estados, por ejemplo un trabajador: inicialmente tiene el estado
“proceso de contrato”, es “empleado”, de “vacaciones”, y estos se asocian a
un tiempo por ejemplo:
▪ el “proceso de contrato” dura 10 días.
▪ empleado mientras dura el contrato.
▪ cuando se cumple 1 año pasa al estado de vacaciones.

Se utiliza también para mostrar la interacción entre los eventos de tiempos, las
restricciones y la duración que los gobiernan.

24/05/2019 93
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE TIEMPOS
EJEMPLO:

24/05/2019 94
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA DE TIEMPOS
EJEMPLO:
Diagrama de Tiempo que
relaciona los elementos que
conforman al sistema contra
incendio haciendo énfasis en
sus cambios de estado en el
tiempo.

24/05/2019 95
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA GLOBAL DE INTERACCIÓN
El Diagrama Global de Interacción utiliza elementos de diagramas de actividades y de
secuencia para mostrar el flujo de la ejecución del programa. También se puede utilizar este
tipo de diagrama para deconstruir casos complejos en los que sería necesario utilizar rutas
if-then-else para ilustrarlos como un solo diagrama de secuencia.

Este diagrama introduce dos elementos nuevos:


❑ Ocurrencias de interacción: son referencias a los diagramas de
interacción existentes, se muestran como un marco de referencia
“ref”. El nombre del diagrama al cual se hace referencia se muestra en el centro del
marco.

❑ Elementos de interacción: son similares a los de


ocurrencias de interacción, muestran una representación
de diagramas de interacción existentes dentro de un
marco rectangular. En otras palabras hacen referencia a un
diagrama de secuencia, se representan con las letras “sd”.
24/05/2019 96
DIAGRAMAS DE COMPORTAMIENTO: DIAGRAMA DE INTERACCIÓN:
DIAGRAMA GLOBAL DE INTERACCIÓN
EJEMPLO:

24/05/2019 97
EJERCICIOS
En un comercio cada factura de venta se representa por su número, ruc, razón social del cliente,
dirección, número de teléfono, condición de la factura y una serie de productos. Cada producto se
caracteriza por su código de barra, cantidad y su precio por unidad; cada producto puede ser Exento,
IVA 5% o IVA 10%; en la factura se visualiza el subtotal por cada producto, el subtotal de todos los
productos, la totalidad de todos los productos (en números y letras) y la liquidación del IVA. Los
datos de los productos y de los clientes se pueden insertar, actualizar, eliminar, consultar. Para que
una venta sea a crédito obligatoriamente el cliente deberá poseer una línea de crédito aprobada por
la administración. Las facturas se deben poder anular (hasta 48hs después de su emisión) y consultar.
Todos los productos tienen asignados: -el stock disponible (para evitar vender más de lo que se tiene),
-el stock mínimo y -el precio de venta. Los clientes que compran al contado podrán recibir
descuentos por la totalidad de la factura sólo si son clientes habituales del comercio (se considera
cliente habitual a aquel que haya realizado compras por lo menos 5 veces durante el mes anterior), el
descuento no puede superar el 20%. Para iniciar una facturación el cajero tuvo que haber iniciado la
sesión con el sistema.
Se solicita representar los diagramas de: 1)Casos de Uso, 2)Clases, 3)Objetos, 4)Actividad,
5)Máquina de Estado, 6)Secuencia, 7)Componentes, 8)Despliegue, 9) Paquetes, 10)Comunicación

24/05/2019 99

Das könnte Ihnen auch gefallen