3. UML
Es un lenguaje gráfico para visualizar, especificar,
construir y documentar un sistema de software.
UML ofrece un estándar para describir un "plano"
del sistema (modelo), incluyendo aspectos
conceptuales tales como procesos de negocios y
funciones del sistema, y aspectos concretos como
expresiones de lenguajes de programación,
esquemas de bases de datos y componentes de
software reutilizables.
4. QUE NO ES UML
UML no es un método de desarrollo. No te va
a decir cómo pasar del análisis al diseño y de
este al código. No son una serie de pasos que
te llevan a producir código a partir de unas
especificaciones.
UML al no ser un método de desarrollo es
independiente del ciclo de desarrollo que
vayas a seguir.
5. TIPOS DE DIAGRAMAS UML
DIAGRAMAS DE COMPORTAMIENTO
DIAGRAMAS ESTRUCTURALES
6. DIAGRAMAS DE COMPORTAMIENTO
Se enfatizan en las partes dinámicas del sistema. Estos
son los verbos de un modelo y representan
comportamiento en el tiempo y en el espacio:
Diagramas de Casos de Uso
Diagramas de interacción
Diagramas de secuencia
Diagramas de Colaboración
Diagrama de estado
Diagrama de Actividad
7. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
El diagrama de casos de uso representa la forma
en como un Cliente (Actor) opera con el sistema
en desarrollo, además de la forma, tipo y orden
en como los elementos interactúan (operaciones
o casos de uso). Un diagrama de casos de uso
consta de los siguientes elementos:
• Actor.
• Casos de Uso.
• Relaciones de Uso, Herencia y Comunicación
8. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Actor
Un Actor es un rol que un
usuario juega con respecto al
sistema.
Un Actor no necesariamente
representa a una persona en
particular, sino más bien la
labor que realiza frente al
sistema
9. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Caso de Uso:
Es una operación o tarea
específica que se realiza tras
una orden de algún agente
externo, sea desde una
petición de un actor o bien
desde la invocación desde
otro caso de uso
10. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Relaciones:
Asociación
Es el tipo de relación más
básica que indica la
invocación desde un actor
o caso de uso a otra
operación (caso de uso).
Dicha relación se denota
con una flecha simple.
11. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Generalización:
Es una relación que
amplía la funcionalidad de
un Caso de Uso o refina
su funcionalidad original
mediante el agregado de
nuevas operaciones y/o
atributos y/o secuencias
de acciones.
12. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Extensión (extends):
Es una relación que
amplía la funcionalidad de
un Caso de Uso mediante
la extensión de sus
secuencias de acciones.
Se utiliza cuando un caso
de uso es similar a otro
(características).
13. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso
Inclusión (include)
Es una relación mediante
la cual se re-usa un Caso
de Uso encapsulado en
distintos contextos a
través de su invocación
desde otros Casos de
Uso.
14. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Casos de Uso - Ejemplo
Máquina Recicladora:
Sistema que controla una máquina de reciclamiento de botellas, tarros y jabas.
El sistema debe controlar y/o aceptar:
Registrar el número de ítems ingresados.
Imprimir un recibo cuando el usuario lo solicita:
• Describe lo depositado
• El valor de cada ítem
• Total
El usuario/cliente presiona el botón de comienzo
Existe un operador que desea saber lo siguiente:
• Cuantos ítems han sido retornados en el día.
• Al final de cada día el operador solicita un resumen de todo lo depositado en el día.
El operador debe además poder cambiar:
• Información asociada a ítems.
• Dar una alarma en el caso de que:
◙ Ítem se atora.
◙ No hay más papel.
16. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de interacción
Se utilizan para modelar los aspectos dinámicos de un
sistema, lo que conlleva modelar instancias concretas o
prototípicas de clases interfaces, componentes y nodos,
junto con los mensajes enviados entre ellos, todo en el
contexto de un escenario que ilustra un
comportamiento.
Hay dos tipos de diagrama de interacción:
Diagramas de Secuencia
Diagramas de Colaboración.
17. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Secuencia
Muestra los objetos participantes en la
interacción y los mensajes que se intercambian
ordenados según su secuencia en el tiempo.
Resaltan el orden temporal de los mensajes que
se intercambian.
18. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Secuencia
El eje vertical representa el
tiempo.
En el eje horizontal se colocan
los objetos y actores
participantes en la interacción,
sin un orden prefijado.
Cada objeto o actor tiene una
línea vertical, y los mensajes se
representan mediante flechas
entre los distintos objetos.
El tiempo fluye de arriba
abajo.
20. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Colaboración
Un Diagrama de Colaboración muestra una
interacción organizada basándose en los
objetos que toman parte en la interacción y los
enlaces entre los mismos
A diferencia de los Diagramas de Secuencia, los
Diagramas de Colaboración muestran las
relaciones entre los roles de los objetos.
21. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Colaboración
Un diagrama de
colaboración se construye:
Primero se colocan los
objetos que participan en la
colaboración como nodos
de un grafo.
Después se representa los
enlaces que conectan esos
objetos como arcos de
grafo
Por último a los enlaces se
le escriben los mensajes que
envían y reciben los objetos.
23. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Estados
Un Diagrama de Estados muestra la secuencia de
estados por los que pasa un caso de uso o un objeto a
lo largo de su vida, indicando qué eventos hacen que
se pase de un estado a otro y cuáles son las
respuestas y acciones que genera.
Son importantes para describir el comportamiento de
un sistema reactivo.
24. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Estados
Estados
Un estado es una condición o
situación en la vida de un objeto
durante la cual satisface alguna
condición, realiza una actividad o
espera un evento.
Un objeto puede estar en
cualquier estado durante una
cantidad de tiempo determinado.
Un diagrama de estados es un
grafo cuyos nodos son estados y
cuyos arcos dirigidos son
transiciones etiquetadas con los
nombres de los eventos.
.
26. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
Los diagramas de actividad muestran el orden en el
que se van realizando tareas en un sistema.
Un diagrama de actividades contiene:
• Estados de actividad
• Estados de acción
• Transiciones
• Bifurcaciones
• división y unión
• Calles
27. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
Estados de actividad y estados de acción
La representación de ambos es un rectángulo con las
puntas redondeadas, en cuyo interior se representa
bien una actividad o bien una acción.
28. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
Transiciones
Las transiciones reflejan el paso
de un estado a otro, bien sea de
actividad o de acción.
Esta transición se produce como
resultado de la finalización del
estado del que parte el arco
dirigido que marca la transición.
Como todo flujo de control debe
empezar y terminar en algún
momento, podemos indicar esto
utilizando dos disparadores de
inicio y fin
29. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
Bifurcaciones
Para representar caminos
alternativos o bifurcación se
utiliza como símbolo el rombo.
La bifurcación tendrá una
transición de entrada y dos o
más de salida.
En cada transición de salida se
colocará una expresión
booleana que será evaluada
una vez al llegar a la
bifurcación.
30. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
División y unión
No sólo existe el flujo secuencial y
la bifurcación, también hay algunos
casos en los que se requieren
tareas concurrentes.
UML representa gráficamente el
proceso de división, que
representa la concurrencia, y el
momento de la unión de nuevo al
flujo de control secuencial, por una
línea horizontal ancha.
31. DIAGRAMAS DE COMPORTAMIENTO
Diagramas de Actividades
Calles
Cuando se modelan flujos de
trabajo de organizaciones, es
especialmente útil dividir los
estados de actividades en
grupos, cada grupo tiene un
nombre concreto y se
denominan calles.
Cada calle representa a la
parte de la organización
responsable de las actividades
que aparecen en esa calle.
34. DIAGRAMAS ESTRUCTURALES
Los Diagramas de Estructura enfatizan en los elementos que deben
existir en el sistema modelado:
Diagrama de clases
Diagrama de componentes
Diagrama de objetos
Diagrama de estructura compuesta Diagrama de
despliegue
Diagrama de paquetes
35. 1. Diagramas de Clases
Un diagrama de clases es un tipo de diagrama estático
que describe la estructura de un sistema mostrando sus
clases, atributos y las relaciones entre ellos.
Son utilizados durante el proceso de análisis y diseño de
los sistemas, donde se crea el diseño conceptual de la
información que se manejará en el sistema, y los
componentes que se encargaran del funcionamiento y
la relación entre uno y otro.
36. Diagrama de Clases
Definiciones
Propiedades: También llamados atributos o
características, son valores que corresponden a un
objeto, como color, material, cantidad, ubicación.
Generalmente se conoce como la información detallada
del objeto.
Suponiendo que el objeto es una puerta, sus
propiedades serían: la marca, tamaño, color y peso.
37. Diagrama de Clases
Definiciones
Operaciones son aquellas actividades o verbos que
se pueden realizar con/para este objeto, como por
ejemplo abrir, cerrar, buscar, cancelar, acreditar,
cargar.
De la misma manera que el nombre de un atributo, el
nombre de una operación se escribe con minúsculas si
consta de una sola palabra. Si el nombre contiene más
de una palabra, cada palabra será unida a la anterior y
comenzará con una letra mayúscula, a excepción de la
primera palabra que comenzará en minúscula. Por
ejemplo: abrirPuerta, cerrarPuerta, buscarPuerta, etc.
38. Diagrama de Clases
Definiciones
Interfaz: Es un conjunto de operaciones y/o propiedades que
permiten a un objeto comportarse de cierta manera, por lo que
define los requerimientos mínimos del objeto.
Herencia se define como la reutilización de un objeto padre ya
definido para poder extender la funcionalidad en un objeto hijo. Los
objetos hijos heredan todas las operaciones y/o propiedades de un
objeto padre.
39. Diagrama de Clases
• Clase: Es la unidad básica que encapsula
toda la información de un Objeto.
Una clase se representa mediante una caja
subdividida en tres partes:
Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos que
caracterizan a la Clase (pueden ser private,
protected o public).
Inferior: Contiene los métodos u
operaciones, los cuales son la forma como
interactúa el objeto con su entorno
(dependiendo de la visibilidad: private,
protected o public).
40. Diagrama de Clases
Atributos: Los atributos o características de una Clase pueden ser de
tres tipos, los que definen el grado de comunicación y visibilidad de
ellos con el entorno, estos son:
public (+): Indica que el atributo será visible tanto dentro como
fuera de la clase, es decir, es accsesible desde todos lados.
private (-): Indica que el atributo sólo será accesible desde dentro
de la clase (sólo sus métodos lo pueden accesar).
protected (#): Indica que el atributo no será accesible desde fuera
de la clase, pero si podrá ser accesado por métodos de la clase
además de las subclases que se deriven (ver herencia).
41. Diagrama de Clases
Métodos u operaciones de una clase son la forma en como ésta interactúa
con su entorno, éstos pueden tener las características:
public (+): Indica que el método será visible tanto dentro como fuera de
la clase, es decir, es accsesible desde todos lados.
private (-): Indica que el método sólo será accesible desde dentro de la
clase (sólo otros métodos de la clase lo pueden accesar).
protected (#): Indica que el método no será accesible desde fuera de la
clase, pero si podrá ser accesado por métodos de la clase además de
métodos de las subclases que se deriven (ver herencia).
43. Diagrama de Clases
Asociaciones
Las asociaciones entre dos clases se representan mediante una línea que
las une. La línea puede tener una serie de elementos gráficos que
expresan características particulares de la asociación.
Generalización
En UML, las generalizaciones se representan por medio de una línea que
conecta las dos clases, con una flecha en el lado de la clase base.
44. Diagrama de Clases
Asociaciones - Multiplicidad
La multiplicidad es una restricción que
se pone a una asociación, que limita el
número de instancias de una clase que
pueden tener esa asociación con una
instancia de la otra clase. Puede
expresarse de las siguientes formas:
Con un número fijo: 1.
Con un intervalo de valores: 2..5.
Con un rango en el cual uno de los
extremos es un asterisco. Significa
que es un intervalo abierto. Por
ejemplo, 2..* significa 2 o más.
Con una combinación de elementos
como los anteriores separados por
comas: 1, 3..5, 7, 15..*.
Con un asterisco: * . En este caso
indica que puede tomar cualquier
valor (cero o más).
45. Diagrama de Clases
Asociaciones - Roles
Para indicar el papel que juega una clase en una asociación se
puede especificar un nombre de rol.
46. Diagrama de Clases
Asociaciones
Agregación
El símbolo de agregación es un diamante colocado en el extremo
en el que está la clase que representa el “todo”.
47. Diagrama de Clases
Asociaciones
Acumulaciones
Son tipos especiales de asociaciones en las que las dos clases
participantes no tienen un estado igual, pero constituyen una
relación “completa”. En las acumulaciones, la clase que actúa
como completa, tiene una multiplicidad de uno.
En UML, las acumulaciones están representadas por una
asociación que muestra un rombo en uno de los lados de la clase
completa.
48. Diagrama de Clases
Asociaciones
Composiciones
Son asociaciones que representan acumulaciones muy
fuertes. Esto significa que las composiciones también
forman relaciones completas, pero dichas relaciones son tan
fuertes que las partes no pueden existir por sí mismas.
Únicamente existen como parte del conjunto, y si este es
destruido las partes también lo son.
En UML, las composiciones están representadas por un
rombo sólido al lado del conjunto
49. Diagrama de Clases
Asociaciones
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
ejemplo: