diseño de sistemas - uml - compendio

129
UML Diseño de sistemas Compendio

Upload: jose-diaz-silva

Post on 12-Jun-2015

600 views

Category:

Software


1 download

DESCRIPTION

Gran compendio de los modelos de UML, que incluye todos los diagramas asociados , sus representaciones, componentes y ejemplos. Los diagramas de casos de uso, de clases, de distribución, de componentes, de colaboración , de objetos, de actividades , de secuencia, de estados y de colaboración son considerados en este gran compendio. Al finalizar la presentación se tendrá una idea general de los elementos fundamentales del diseño de sistemas empleando UML.

TRANSCRIPT

Page 1: Diseño de sistemas  -  UML - compendio

UMLDiseño de sistemas

Compendio

Page 2: Diseño de sistemas  -  UML - compendio

UML (Unified Modeling Language)

El mundo esta compuesto por sistemas complejos, losingenieros deben entender estos sistemas yrepresentarlos de alguna forma.

UML emplea símbolos y diagramas para comunicar laidea de un diseño.

Es usado entender, diseñar, navegar , configurar,mantener y controlar información acerca de un sistema.

Page 3: Diseño de sistemas  -  UML - compendio

UML

UML no es una metodología

No define estándares de procesos.

La estructura Estática y Dinámica de un sistema es

capturada.

Estática: Objetos importantes del sistema y sus relaciones.

Dinámica: Relación de los objetos en el tiempo (Histórico).

Page 4: Diseño de sistemas  -  UML - compendio

UML

No es un lenguaje de programación.

Herramientas permiten crear código aplicando

“ingeniería inversa”.

Propósito general.

Se modela la lógica del Negocio.

Page 5: Diseño de sistemas  -  UML - compendio

Porque Modelar?

Para asegurarse que las aplicaciones trabajaran.

Para reducir el numero de errores que se presentan.

Para permitirle al usuario final ver las funcionalidades

del su aplicativo antes de que este terminado.

Para definir un puente de comunicación.

Page 6: Diseño de sistemas  -  UML - compendio

Porque es necesario UML

Planificación

Los sistemas son muy complejos y difíciles de

administrar.

Los nuevos desarrollos se hacen en equipos.

Reducir el tiempo de desarrollo.

Diseños sólidos.

Page 7: Diseño de sistemas  -  UML - compendio

Historia y Concepción

UML nació por un esfuerzo de simplificar y consolidar el

gran numero de desarrollos orientados a objetos que

estaban apareciendo.

Grady Booch, James Rumbaugh e Ivan Jacobson “Los

tres amigos”.

OMG (Object Management Group) lo popularizo.

Page 8: Diseño de sistemas  -  UML - compendio

Naturaleza de los Modelos

UML

Modelo:

Representación de algo por medio del mismo u otro medio.

Se expresa de forma que se facilite el trabajo.

Puede tomar varias formas.

Se emplean para capturar requerimientos y los dominios de conocimiento que poseen los interesados y que pueden entender.

Arquitectos – Analistas – Programadores – Directores de Proyectos – Clientes – Usuario final – Patrocinadores y operadores.

Page 9: Diseño de sistemas  -  UML - compendio

Modelos

Pensar en el diseño de un sistema:

Así como los arquitectos emplean bocetos,

en la Ing. Software se emplean los modelos para

explorar con diversas arquitecturas y soluciones a un

problema.

Decisiones de Diseño de forma independiente.

Los modelos permiten acceder a vistas diferentes

del mismo sistema.

Planos eléctricos – Planos de tuberías – Planos de redes

Page 10: Diseño de sistemas  -  UML - compendio

Modelos

Generar Productos

Clases – bases de datos – procedimientos – guías –

Configuraciones.

Organizar, Filtrar la información de grandes Sistemas.

Encontrar la información útil para los sistemas no es fácil.

Los modelos presentan la información de diferentes formas

y formatos.

Page 11: Diseño de sistemas  -  UML - compendio

Modelos

Explorar múltiples soluciones económicamente.

Se pueden explorar diferentes diseños y realizar los

cálculos de costo y riesgos antes de iniciar la construcción.

Control completo

Algunos sistemas presentan tan complejidad que solo es

posible controlarlos cuando se realiza la modelación.

Page 12: Diseño de sistemas  -  UML - compendio

Modelos

Completar sistemas parciales:

Durante el desarrollo de un modelado se pueden

completar aspectos olvidados de un sistema.

Los modelos son evolutivos.

Los modelos se trabajan en procesos iterativos y entre más

niveles avance un modelo más detallado y completo se

vuelve.

Page 13: Diseño de sistemas  -  UML - compendio

Diagramas UML - I

Diagramas más comunes:

Estructural:

Vista Estática

Diagrama de Clases:

Representación Grafica de elementos que conformaran el diseño, junto con sus

relaciones, dependencias e interfaces.

Automóvilmarca

modelo

serie

colorencender()

apagar()

acelerar()

Page 14: Diseño de sistemas  -  UML - compendio

Diagramas UML - II

Estructural:

Vista Caso de Uso

Diagrama de Casos de Uso:

Modelo que presenta las relaciones existentes entre actores

y casos de uso.

Actor: Abstracción de una entidad que interactúa

directamente con el sistema. Puede ser una persona, otro

sistema, un subsistema o una clase.

Caso de Uso: Especificación de una secuencia de acciones,

variantes ..etc. Que el sistema puede realizar al

interactuar con un actor.

Page 15: Diseño de sistemas  -  UML - compendio

Diagramas UML- III

Estructural:

Vista de Implementación – Vista de Despliegue

Diagrama de Componentes: Diagrama que presenta las relaciones y dependencias entre

componentes.

Componente: Parte reemplazable de un sistema . Representa una parte física del sistema

(Código, binario, ejecutable). Un componente puede ser accedido a través de las interfaces

que implementa.

MotorChequeo_motor

inicio_motor

Page 16: Diseño de sistemas  -  UML - compendio

Diagramas UML - IV

Estructural:

Vista de Implementación – Vista de Despliegue

Diagrama de Despliegue: Presenta la configuración en tiempo de

ejecución , los nodos, los componentes y los objetos.

Nodo: Representación de un objeto computacional físico.

Page 17: Diseño de sistemas  -  UML - compendio

Diagramas UML - V

Dinámico:

Vista de Estado de la maquina

Diagrama de estados: Presenta los estados de la maquina, y el

comportamiento de los elementos a través del tiempo

Page 18: Diseño de sistemas  -  UML - compendio

Diagramas UML - VI

Dinámico:

Vista de Actividades

Diagrama de Actividades: Presenta un flujo de actividades o

workflow que se disparan tras la ejecución de otra actividad. Se

enfatiza la secuencia.

Branch: rama

Fork of Control: Bifurcación

Conditional Thread : Hilo Condicional

Join of Control: Union

Merge: Combinación

Page 19: Diseño de sistemas  -  UML - compendio

Diagramas UML

Page 20: Diseño de sistemas  -  UML - compendio

Diagramas UML - VII

Dinámico:

Vista de Interacción

Diagrama de Secuencia: Presenta las interacciones de los objetos

colocadas en una línea de secuencia.

Los objetos interactúan intercambiando mensajes.

Se trabajan dos dimensiones:

Vertical: Representa el tiempo.

Horizontal: Representa las interacciones.

Los objetos se representan en columnas independientes.

Cada mensaje es representado por una flecha horizontal.

Page 21: Diseño de sistemas  -  UML - compendio

Diagramas UML

Page 22: Diseño de sistemas  -  UML - compendio

Diagramas UML - VIII

Dinámico:

Vista de Interacción

Diagrama de Colaboración: Presenta las interacciones

organizadas alrededor de roles y sus colaboraciones.

Representa relaciones

No maneja el tiempo como una dimensión separada.

Presenta información similar al diagrama de secuencia pero de

forma diferente.

Los mensajes están acompañados por una etiqueta numérica que

indica el orden en que se presentan.

Si existen parámetros en los mensajes, estos se ubicaran dentro

de parentesis.

Page 23: Diseño de sistemas  -  UML - compendio

Diagramas UML

Page 24: Diseño de sistemas  -  UML - compendio

Modelos

Page 25: Diseño de sistemas  -  UML - compendio

Casos de uso

1

Page 26: Diseño de sistemas  -  UML - compendio

Casos de Uso

Representa funcionalidad.

Grafo de actores y un conjunto de casos de uso.

Las relaciones son asociaciones entre actores y casos de

uso.

Se puede emplear rectángulos para limitar las fronteras

del sistema.

Page 27: Diseño de sistemas  -  UML - compendio

Casos de Uso

Actor:

Rol de un usuario dentro de un sistema.

No necesariamente representa una persona.

Otros sistemas

Material externo

La misma persona puede ser varios actores

El nombre del actor lo describe

Page 28: Diseño de sistemas  -  UML - compendio

Casos de Uso

Caso de uso:

Representación de una unidad funcional del sistema.

Se caracteriza por la secuencias.

Se representan por un elipse que contiene el nombre del caso de uso.

Se ejecutan tras una orden de un agente externo.

Se pueden emplear notas para aclarar información incompleta o

ambigua.

Page 29: Diseño de sistemas  -  UML - compendio

Casos de Uso

Relaciones:

Comunicación:

La mas empleada, representa una comunicación directa entre

actor y caso de uso.

Page 30: Diseño de sistemas  -  UML - compendio

Casos de uso

Relaciones:

Inclusión:

Un caso de uso implementa el mismo comportamiento de

otro.

Page 31: Diseño de sistemas  -  UML - compendio

Casos de Uso

Relaciones:

Extensión:

Extiende el comportamiento de otro caso de uso.

Page 32: Diseño de sistemas  -  UML - compendio

Casos de Uso

Include & Extend:

Page 33: Diseño de sistemas  -  UML - compendio

Casos de Uso

Relaciones:

Herencia:

Un caso de uso hereda las especificaciones de otro caso de uso

y las modifica.

Page 34: Diseño de sistemas  -  UML - compendio

Casos de Uso

Consideraciones:

Identificar las tareas que realiza un actor.

Los cambios se informan a los actores?

La información es alterada:

Inserta – Borra – Actualiza

Que mensajes se intercambian

Objetivo del caso de uso.

Interacciones del sistema.

Page 35: Diseño de sistemas  -  UML - compendio

Casos de Uso

Consideraciones:

Que se repite mas?

Cronología (Tiempo)

Variantes en los flujos normales.

Donde inician – Donde Terminan.

Cuantos actores interactúan en el sistema?.

Page 36: Diseño de sistemas  -  UML - compendio

Casos de Uso

Plantillas:

Identificador: Identifica de forma única un caso de uso.

Nombre: Describe las funcionalidades ofrecidas por el caso de uso.

Precondición: Condiciones especiales que se deben presentar antes

de la ejecución del caso de uso.

Page 37: Diseño de sistemas  -  UML - compendio

Casos de Uso

Plantillas

Secuencia Normal o flujo principal: Descripción de las

acciones realizadas por el actor y su interacción con los

casos de uso.

Se emplea lenguaje natural.

Postcodicion: Estado del sistema después de ser ejecutado

el caso de uso.

Page 38: Diseño de sistemas  -  UML - compendio

Casos de Uso

Plantilla:

Excepciones o flujos alternos: Descripción detallada de las acciones que no se contemplan en la ejecución común de un caso de uso.

Tiempo: EL tiempo que se espera se invierta ejecutando las acciones.

Frecuencia: Numero de veces que se espera se repita las acciones del caso de uso.

Page 39: Diseño de sistemas  -  UML - compendio

Casos de Uso

Plantilla:

Importancia: Se especifica el grado de importancia que tiene el caso

de uso dentro del aplicativo.

Es necesario definir escalas.

Prioridad: Se especifica la prioridad que tiene el desarrollo del caso

de uso para el aplicativo.

Es necesario definir escalas.

Comentarios: Aclaraciones, notas adicionales.

Page 40: Diseño de sistemas  -  UML - compendio

Diagrama de

Clases

2

Page 41: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Notación Gráfica para representar un conjunto de objetos.

Atributos.

Acciones comunes.

Rectángulo con secciones para:

Nombre de la Clase

Atributos

Operaciones.

Page 42: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

La misma Filosofía que la programación orientada a

Objetos.

Da una visión estática del sistema y las relaciones

incluidas en él (fotografía).

También se pueden modelar los paquetes del sistema.

Paquete

Page 43: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Pueden existir varios DC.

Especificando aspectos diferentes del mismo sistema.

Detallando subsistemas.

Incluyendo mayor numero de propiedades.

Diagramando solo las relaciones entre paquetes.

Page 44: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Page 45: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Clase:

Es algo que encapsula información y comportamiento.

Enfoque tradicional:

Información = Base de datos.

Comportamiento= Aplicativo.

Enfoque O.O:

A little bit of information and a little bit of behavior, and encapsulate them into something called a class.

Page 46: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Una clase puede ser:

Una cosa: Un ítem tangible que existe dentro del mundo

real.

Un evento: llamada telefónica, activación de un elemento,

etc.

Un proceso: Colocar una orden, interacción con una base

de datos.

Page 47: Diseño de sistemas  -  UML - compendio

Diagrama de Clases

Una clase y sus objetos:

Simple / Complejo

Real / Imaginario

Atributos / Operaciones

Las operaciones se realizan sobre el objeto mismo.

Otro objeto invoca un evento externo a través de

mensajes.

Page 48: Diseño de sistemas  -  UML - compendio

Identificando los Objetos

Examinando el flujo de eventos de los casos de uso.

Identificar los sustantivos

Los sustantivos se pueden convertir en 4 tipos de cosas:

Actor : Maria

Clase (Candidato a Objeto): Ingles

Un atributo de una clase: 30 personas

Una expresión no modelable: Sistema

Page 49: Diseño de sistemas  -  UML - compendio

Agrupando en clases

John Doe and Jane Doe:

Attributes:

Employee’s name.

Adress.

Telephone number.

Similar Operations.

Se agrupan objetos comunes para crear la clase

Employee.

Tomado del libro: UML with Rational Rose

Page 50: Diseño de sistemas  -  UML - compendio

Consideraciones

En ocasiones se prefiere crear primero el diagrama de

secuencia, actividades o colaboración.

El diagrama de clases funciona como diccionario de

datos y relaciones.

Agrupar las clases en paquetes y en capas de

arquitectura facilitan el trabajo y la expresividad del

modelo.

Page 51: Diseño de sistemas  -  UML - compendio

¿Cuando Diseñar?

Antes que otros diagramas:

Permite diseñar las capas de arquitectura.

Patrones de comunicación.

Al llegar al diagrama de secuencia se

identifican los mensajes que violen la

arquitectura del diseño.

Es posible rediseñar varias veces el

diagrama antes de realizar grandes

cambios.

Page 52: Diseño de sistemas  -  UML - compendio

¿Cuando Diseñar?

Después de otros diagramas:

Se puede examinar que objetos son los necesarios.

No se modelan objetos que no se emplearan.

Se examina mejor las interacciones.

No se limita los nuevos diseños al diccionario dado por el diagrama de clases.

Page 53: Diseño de sistemas  -  UML - compendio

Relaciones

Los diagramas de clases también son empleados para

representar las relaciones del sistema.

Asociación

Agregación

Composición

Generalización.

Page 54: Diseño de sistemas  -  UML - compendio

Asociación

Utiliza un:

Denota comunicación entre objetos.

Se representa por una línea entre dos clases.

Departamento Profesor

Page 55: Diseño de sistemas  -  UML - compendio

Asociación - Multiplicidad

Especifica el número de instancias de las clases involucradas en la relación.

Facultad Profesor1 1..*

Asignatura

Pre-requisito0..*

0..*

Page 56: Diseño de sistemas  -  UML - compendio

Agregación

Se emplea para mostrar que una clase es parte de otra.

Se emplea un diamante como símbolo.

Una línea une las clases.

Currículo Diplomado1..*

“Es parte de”

Page 57: Diseño de sistemas  -  UML - compendio

Composición

With composition, when the Whole is destroyed, so are all its

parts.

La relación es mas fuerte.

Se representa por un Diamante relleno.

Pensum Asignatura1..*

“Es parte de”

Tomado del Libro: UML for Mere Mortals

Page 58: Diseño de sistemas  -  UML - compendio

Ejemplo

CámaraSwitch

Bateria

Page 59: Diseño de sistemas  -  UML - compendio

No se permite

Clase I

Clase I Clase II

Clase I

Clase III Clase II

Tomado del Libro: UML for Java Programmers

Page 60: Diseño de sistemas  -  UML - compendio

Herencia

Compartir Atributos y funcionalidades.

Relación de “Es un”

Las clases heredantes se denominan subclases.

Las subclases pueden adicionar nuevos atributos y operaciones.

Generalización / Especialización

Herencia Múltiple vs Interfaces.

Page 61: Diseño de sistemas  -  UML - compendio

Ejemplo

Weapon

-weight

-length

-range

+load()

+fire()

+setSafety()

+releaseSafety()

Rifle Blowgun

+load(cartridge,numberOfRounds) +load(dart,singleRound)

Page 62: Diseño de sistemas  -  UML - compendio

Diagrama de

Objetos

3

Page 63: Diseño de sistemas  -  UML - compendio

Diagrama de Objetos

Instancia de un Diagrama de Clases.

Presenta los detalles del sistema en un punto

determinado.

Se presentan los objetos y sus relaciones durante el

tiempo de ejecución.

Se emplea para validar el modelo de clases.

Page 64: Diseño de sistemas  -  UML - compendio

Ejemplo

Estudiante

-código=2003039

-nombre=Juan

Ingles: Asignatura

Software: Asignatura

QuimicaO: Asignatura

IdentidadU: Asignatura

Page 65: Diseño de sistemas  -  UML - compendio

Diagrama de

Estados

4

Page 66: Diseño de sistemas  -  UML - compendio

Introducción

Todo cambia en el tiempo y los sistemas no son la

excepción.

Los objetos pasan por varios estados.

Se requiere de un modelo que permita ilustrar estos

estados y sus cambios en el tiempo.

Sucesos + Tiempo.

Page 67: Diseño de sistemas  -  UML - compendio

Introducción

Diagrama de estados o maquina de estados.

Cada entidad es modelada como un objeto solitario que

percibe eventos y responde a ellos.

Un evento son los cambios que un objeto puede

detectar.

Page 68: Diseño de sistemas  -  UML - compendio

Diagrama de Estados

Cualquier cosa que afecte un objeto puede ser

considerado como un evento.

Estado: Conjunto de valores de una clase en un

momento dado.

En un estado especifico se ejecuta la misma función

cuando recibe el mismo evento.

Page 69: Diseño de sistemas  -  UML - compendio

Diagrama de estados

En diferentes estados un mismo evento genera

comportamientos diferentes.

Los diagramas de estados describen los

comportamientos dinámicos de los casos de uso.

“Dan mayor expresividad”

Page 70: Diseño de sistemas  -  UML - compendio

Diagrama de estados

Maquina de estados:

Grafo de estados y transiciones.

Generalmente se construye sobre el diagrama de clases.

Se ilustra la respuesta que las clases dan a los eventos.

Los casos de uso pueden ser la base del modelado.

Page 71: Diseño de sistemas  -  UML - compendio

Maquina de estados

Modelado de todo el ciclo de vida de un sistema dado,

desde una perspectiva de maquina.

Las respuestas a los eventos pueden originar el cambio a

un nuevo estado.

Vista separada, que permite observar el sistema como

una entidad solitaria

Page 72: Diseño de sistemas  -  UML - compendio

Eventos

Se realizan en un tiempo y espacio.

Cuando un evento ocurre se llama “instancia de

evento”.

Los eventos pueden llevar parámetros.

Se dividen en:

Call events – change events

Signal events – time events

Page 73: Diseño de sistemas  -  UML - compendio

Eventos

Call event:

Llamada a la ejecución de un evento.

El emisor recupera el control cuando se ejecuta la acción.

Change event:

Satisface condición Booleana.

Wait until.

Page 74: Diseño de sistemas  -  UML - compendio

Eventos

Signal Event:

Vehiculo de comunicación.

Asíncrona.

Time Event:

Representa el paso del tiempo.

Paso de señales-

Page 75: Diseño de sistemas  -  UML - compendio

Estado (state)

Describe un periodo de tiempo de la vida de un objeto.

Valores: Cualitativos

Periodo de tiempo esperando evento.

Periodo de tiempo efectuando acción.

Generalmente llevan un nombre

Los estados son conectados por transiciones.

Page 76: Diseño de sistemas  -  UML - compendio

Ejemplo - Estados

Confirmar Crédito

Inactivo Cancelar Orden

Page 77: Diseño de sistemas  -  UML - compendio

Transiciones

Define la respuesta de un objeto en un estado a la

ocurrencia de un evento.

Disparador

Guard Condition.

Acción.

Estado objetivo.

Page 78: Diseño de sistemas  -  UML - compendio

Transiciones

Tipos:

Transición externa:

Cambia el estado actual

Se gráfica con una flecha desde el invocadora al destino.

Es la más común.

Lleva texto complementario.

Page 79: Diseño de sistemas  -  UML - compendio

Transiciones

Transición Interna:

Respuesta a un evento que causa una ejecución pero no

provoca un cambio de estado.

No genera acciones de entrada ni salida.

Acción de entrada (Entry action):

Se ejecuta cuando se ingresa a un estado.

Acción de Salida (Exit action):

Se ejecuta cuando se abandona un estado.

Page 80: Diseño de sistemas  -  UML - compendio

Ejemplo – Transición

Page 81: Diseño de sistemas  -  UML - compendio

Representación

Nombre

Variables de Estado

Actividades

Nombre

Actividades

Nombre

Page 82: Diseño de sistemas  -  UML - compendio

Transiciones

Evento disparador:

Encargado de habilitar la transición.

Puede llevar parámetros.

MouseButton

El evento Disparador = MouseButtonDown

Se ejecuta en un tiempo dado.

No es recordado.

Page 83: Diseño de sistemas  -  UML - compendio

Transiciones

Guard Condition:

Expresión Booleana.

Puede hacer referencia a parámetros específicos del

trigger.

Se evalúa cuando el evento disparador ocurre.

Page 84: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 85: Diseño de sistemas  -  UML - compendio

Transiciones

Acciones:

Operación computacional asociado a un evento disparador.

Assignment: asignación

Call: Llamada a un evento

Create: Crear un objeto

Destroy: Destruir un objeto

Return: Especifica el valor a retornar.

Send: Crea una instancia de señal.

Terminate: Auto destrucción.

Page 86: Diseño de sistemas  -  UML - compendio

Estados Compuestos

Estado simple

Concurrente

Se activa un sub estado a

la vez.

Secuenciales

Sub estados que se activan

cuando el principal se

activa.

Inicio

Page 87: Diseño de sistemas  -  UML - compendio

Estados Compuestos

Estado Final

Agrupa diferentes

transiciones en una.

Estado de Unión

Estado de historiaRestaura el comportamiento

previo de un estado.

Estado de Sub maquinaHace referencia a una

maquina externa.

Page 88: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 89: Diseño de sistemas  -  UML - compendio

Ejemplo - Concurrente

Page 90: Diseño de sistemas  -  UML - compendio

Ejemplo- Secuenciales

Page 91: Diseño de sistemas  -  UML - compendio

Ejemplo Sub máquinas

Page 92: Diseño de sistemas  -  UML - compendio

Diagrama de

Secuencia

5

Page 93: Diseño de sistemas  -  UML - compendio

Introducción

Los diagramas de estados llegan hasta un punto determinado, los diagramas de secuencia dan el siguiente paso.

Presenta la interacción de los objetos en el tiempo.

Los mensajes y quienes los envían y reciben son capturados en este diagrama.

Page 94: Diseño de sistemas  -  UML - compendio

Diagrama de Secuencia

La interacción entre objetos siempre se realiza en una secuencia especifica.

Un sistema debe ser analizado en base a esta secuencia.

“Interacciones” son el centro del diagrama:

Conjunto de comunicaciones entre objetos en un tiempo dado.

Page 95: Diseño de sistemas  -  UML - compendio

Diagrama de Secuencia

No se incluye las relaciones entre los objetos (Diagrama

de colaboración si lo hace).

DC y DS presenta información similar pero desde puntos

de vista diferentes.

Se generan diferentes diagramas para diferentes

escenarios.

Page 96: Diseño de sistemas  -  UML - compendio

Vista Dinámica

El Diagrama de secuencia hace parte de

la denominada vista dinámica del

sistema.

Diagrama de estados: statechart diagram.

Diagrama de actividades: activity diagram.

Diagrama de secuencia: sequence diagram.

Diagrama de Colaboración: collaboration diagram.

Page 97: Diseño de sistemas  -  UML - compendio

Dimensiones

Los DS posee dos dimensiones:

Vertical:

Representa la línea de tiempo en la cual se efectúan las

interacciones. El tiempo que tarda en realizarse una acción se

representa sobre ella.

Horizontal:

Representa los objetos que participan en las interacciones.

Cada objeto es mostrado en una columna independiente.

Page 98: Diseño de sistemas  -  UML - compendio

Notación

Una línea punteada indica el tiempo de vida del objeto.

Una X se sitúa en el punto donde el objeto deja de existir.

Cada mensaje es representado por una flecha horizontal, que va desde el emisor al receptor, se acompaña de una etiqueta indicando el evento a invocar.

Page 99: Diseño de sistemas  -  UML - compendio

Notación

Los mensajes llevan una secuencia numérica indicando

el orden de ejecución.

El actor que interviene debe ser representado en el

modelo.

Normalmente no se representan mensajes de retorno,

pero es permitido hacerlo.

Page 100: Diseño de sistemas  -  UML - compendio

Como elaborarlo?

Seleccione un caso de uso

Situé el actor en el diagrama.

Identifique las clases de interfaz.

Identifique las clases de control.

Identifique las clases de entidad.

Page 101: Diseño de sistemas  -  UML - compendio

Clase Interfaz- Control -

Entidad

Interfaz: Son las clases que interactúan

directamente con el actor.

Control: Son aquellas clases que manejan la

lógica del negocio.

Entidad: Clases que representan las tablas de

la base de datos.

Page 102: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 103: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 104: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 105: Diseño de sistemas  -  UML - compendio

Diagrama de

Colaboración

6

Page 106: Diseño de sistemas  -  UML - compendio

Diagrama de Colaboración

Presenta la colaboración entre los objetos.

Relaciones entre objetos.

Mensajes que se envían entre objetos.

Cualquier diagrama de colaboración puede ser

convertido en un diagrama de secuencia.

Page 107: Diseño de sistemas  -  UML - compendio

Diagrama de Colaboración

Notación:

Objetos del sistemas:

Mensaje y Relaciones:

Page 108: Diseño de sistemas  -  UML - compendio

Diagrama de Colaboración -

Ejemplo

Page 109: Diseño de sistemas  -  UML - compendio

Diagrama de Colaboración -

Ejemplo

Page 110: Diseño de sistemas  -  UML - compendio

Diagrama de

Actividades

7

Page 111: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Grafo de actividades:

Actividad:

Expresión de una acción computacional no atómica.

Algoritmo expresado en un lenguaje de programación.

Es ocasiones se expresa en lenguaje humano.

Representa una operación del mundo real.

Page 112: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Similar al diagrama de estados:

Estados ----- Actividades

Representa un procedimiento o flujo de trabajo.

Se enfatiza la secuencia.

Se reflejan las concurrencias.

Las decisiones son igualmente representadas.

Page 113: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Se modelan pasos en la ejecución de un procedimiento.

Al finalizar la ejecución de una actividad se referencia a

la siguiente.

Es útil para definir responsabilidades de los procesos.

Page 114: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Notación:

Así como el diagrama de estados se inicia con una circulo

negro y se finaliza con el circulo negro rodeado por aro.

Se emplea una flecha para representar el paso de una

acción a otra.

Page 115: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Una Actividad se representa por un rectángulo con las

esquinas redondeadas.

caminar

Page 116: Diseño de sistemas  -  UML - compendio

Diagramas de Actividades

Notación: Decisiones

Page 117: Diseño de sistemas  -  UML - compendio

Diagrama de Actividades

Notación: Concurrencia

Page 118: Diseño de sistemas  -  UML - compendio

Diagrama

de

Actividades

Page 119: Diseño de sistemas  -  UML - compendio

Diagrama de

Componentes

8

Page 120: Diseño de sistemas  -  UML - compendio

Introducción

Los diagramas de componentes representan la

estructura física del código.

Los componentes se pueden agrupar en paquetes y

entre estos podrían llegar a existir dependencias del

tipo:

Generalización.

Agregación.

Asociación.

Realización.

Los componentes poseen interfaces que les permite

interactuar con el exterior.

Page 121: Diseño de sistemas  -  UML - compendio

Generación

Los diagramas de componentes nacen a partir de los

diagramas de clases, que son empleados para

determinar aquellos elementos que prestaran una

funcionalidad al sistema.

Es posible iniciar la implementación del sistema al

realizar el diagrama de componentes.

Page 122: Diseño de sistemas  -  UML - compendio

Pasos para generación

Debe existir el diagrama de clases.

Se debe identificar las clases y los métodos que serán

empleados para el diagrama.

Las clases se agrupan en módulos y se transformaran en

componentes.

Se identifican las interfaces que se emplearan por los

componentes para comunicarse entre ellos.

Page 123: Diseño de sistemas  -  UML - compendio

Ejemplo diagrama

Page 124: Diseño de sistemas  -  UML - compendio

Diagrama de

Distribución

9

Page 125: Diseño de sistemas  -  UML - compendio

Introducción

Los diagramas de distribución permiten establecer como

estarán conectados las unidades entre si y como serán

ejecutados los programas.

Los Nodos son la representación gráfica que caracteriza

los diagramas de distribución. Un Nodo es un elemento

físico que existe y representa un recurso

computacional.

Normalmente la reunión de los Nodos terminan

representando la Topología asociada al Hardware que

será la solución del sistema.

Page 126: Diseño de sistemas  -  UML - compendio

Ejemplo

Page 127: Diseño de sistemas  -  UML - compendio

Consideraciones

Page 128: Diseño de sistemas  -  UML - compendio

Consideración

No todos los diagramas son necesarios, pero se

recomienda la realización de los mismos para una mayor

comprensión del sistema que se esta desarrollando.

Aunque hay críticas sobre la redundancia de la

información presentada en los diagramas , cada uno de

ellos permiten representar la información desde una

perspectiva única.

Los diagramas representan aspectos estáticos y

dinámicos de un sistema y debe tener presente esto

para no quedarse con una vista parcial de la solución.

Page 129: Diseño de sistemas  -  UML - compendio

@josefabiandiaz

[email protected]

https://www.youtube.com/user/fabiandiazs

Msc.Ing.Jose Fabián Diaz Silva

Consultas