D Iagramas U Ml

75
PROFESOR: Ing. Juan Alexander Anderson Huerta. ALUMNOS: Contreras Pineda Jessica. 06040292 Contreras Valdez Blanca Élide. 06040293 Franco Valtierra Perla Janette. 06040302 Gutiérrez Rodríguez Marco A. 05040998 FECHA: 24 Agosto del 2009 DIAGRAMAS UML 2.0 ING. EN SISTEMAS COMPUTACIONALES

Transcript of D Iagramas U Ml

Page 1: D Iagramas U Ml

PROFESOR:Ing. Juan Alexander Anderson Huerta.

ALUMNOS:Contreras Pineda Jessica. 06040292Contreras Valdez Blanca Élide. 06040293Franco Valtierra Perla Janette. 06040302Gutiérrez Rodríguez Marco A. 05040998

FECHA: 24 Agosto del 2009

DIAGRAMAS UML 2.0

ING. EN SISTEMAS COMPUTACIONALES

Page 2: D Iagramas U Ml

Se clasifican en tres clases: Diagramas de comportamiento: Permiten exhibir

comportamientos de un sistema o de los procesos de las organizaciones. Incluyen los diagramas de actividad, estado, caso típico y de interacción.

Diagramas de interacción: Es un subconjunto de los diagramas de comportamiento que permiten enfatizar las interacciones entre los objetos. Incluyen comunicación, vista general de interacciones, secuencia y diagrama de tiempo.

Diagramas de estructura: Muestran los elementos de una especificación que sean independientes del tiempo. Incluyen clase, estructura de componentes, componente, despliegue, objeto y diagramas de paquetes.

DIAGRAMAS UML 2.0

Page 3: D Iagramas U Ml
Page 4: D Iagramas U Ml

DIA

GR

AM

AS

UM

L 2

.0

Diagrama de Clases.

Diagrama de Estructuras Compuestas.

Diagrama de Componente.

Diagrama de Despliegue.

Diagrama de Objeto.

Diagrama de Paquetes.

Diagrama de Actividad.

Diagrama de Interacción.

Diagrama de Casos de Uso.

Diagrama de Maquina de Estado.

Diagrama de Secuencia.

Diagrama de Comunicación.

Diagrama de Resumen de Interacción.

Diagrama de Tiempo

Conclusiones.

Bibliografía

Page 5: D Iagramas U Ml

¿Que es un diagrama de Clases?

Representación de: Requerimientos en Entidades y Actuaciones. La arquitectura conceptual de un dominio. Soluciones de diseño en una arquitectura. Componentes de software orientado a objetos.

¿Qué es una Clase?

Artefacto de modelado que Describe un conjunto de objetos que comparten los mismos:

Atributos (conocimiento) Operaciones (responsabilidad) Relaciones (entrelazamiento) Semántica (relevancia)

DIAGRAMA DE CLASES.

Page 6: D Iagramas U Ml

¿Para qué usamos un diagrama de Clases?

Modelar los aspectos estáticos de un sistema

• Realizar la abstracción de un dominio• Formalizar el análisis de conceptos

• Definir una solución de diseño• Construir componentes de software

Page 7: D Iagramas U Ml

ELEMENTOS DE UN DIAGRAMA DE CLASES

Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación,

Asociación y Uso.

Clase : Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase).

Atributo: Variables de instancia que caracterizan a la Clase (pueden ser private, protected o public).

Método: Son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Page 8: D Iagramas U Ml

EJEMPLO: Una Cuenta Corriente que posee como

característica: • Balance Puede realizar las operaciones de: • Depositar • Girar • Balance  El diseño asociado es:

Page 9: D Iagramas U Ml

RELACIONES ENTRE CLASES

Herencia (Especialización/Generalización):

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 (public y protected).

Ejemplo:

Page 10: D Iagramas U Ml

Agregación:

Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: enteros, reales y secuencias de caracteres.

Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación.

Ejemplo:

Page 11: D Iagramas U Ml

Asociación:

La relación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro.

Ejemplo:

Page 12: D Iagramas U Ml

Dependencia o Instanciación (uso):

Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.

 

El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicación):

Volver

Page 13: D Iagramas U Ml

Un diagrama de Estructura Compuesta refleja la colaboración interna de clases, interfaces o componentes para describir una funcionalidad. Los diagramas de estructura compuesta son similares a los diagramas de clase, a excepción de que estos modelan un uso especifico de la estructura.  Los diagramas de clase modelan una vista estática de las estructuras de clase, incluyendo sus atributos y comportamientos. Un diagrama de Estructura Compuesta se usa para expresar arquitecturas en tiempo de ejecución, patrones de uso, y las relaciones de los elementos participantes, los que pueden no estar reflejados por diagramas estáticos.

DIAGRAMA DE ESTRUCTURA COMPUESTA.

Page 14: D Iagramas U Ml

En un diagrama de Estructura Compuesta, las clases se acceden como partes o instancias en tiempo de ejecución cumpliendo un rol en particular. Estas partes pueden tener multiplicidad, si el rol ocupado por la clase requiere múltiples instancias. Los puertos definidos por una clase de parte deberían representarse en la estructura compuesta, asegurando que todas las partes conectadas provean las interfaces requeridas especificadas por el puerto. Hay una flexibilidad extensa, y una complejidad resultante que viene con el modelado de estructuras compuestas. Para optimizar su modelado, considere las colaboraciones de compilación para representar los patrones reusables respondiendo a su problemas de diseño.

Page 15: D Iagramas U Ml

Conceptos de estructura compuesta

Las entidades de estructura compuesta claves identificadas en la especificación UML 2.0 son clasificadores estructurados, partes, puertas, conectores, y colaboraciones.

Parte

Una 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), tal como el [0..*] mostrado para Viewer en el diagrama.

Puerta

Una 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. En el diagrama, cada uno de los cuadrados pequeños es una puerta. Cada puerta tiene un tipo y esta etiquetado con un nombre, tal como "var", "indVar1", or "view" en el diagrama. Las puertas pueden contener un factor de multiplicidad, por ejemplo .

Las puertas pueden ya sea delegar los requerimientos recibidos a partes internas, o pueden entregarlos directamente para el comportamiento del clasificador estructurado en el que la puerta está contenido. Las puertas públicas que son visibles en el ambiente son mostradas sobre el borde (límite o frontera), mientras que las puertas protegidas que no son visibles en el ambiente son mostradas dentro de la frontera (borde o límite). Todas las puertas en el diagrama son privadas, excepto por la puerta view a lo largo del límite derecho de FibonacciSystem.

Page 16: D Iagramas U Ml

Conector

Un 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. El diagrama muestra tres conectores entre puertas, y un conector entre un clasificador estructurado y una parte.

Colaboración

Una colaboración es generalmente más abstracta que un clasificador estructurado. Ésta es mostrada como un óvalo sin relleno conteniendo los roles que las instancias pueden jugar en la colaboración.

Clasificador estructurado

Un ClasificadorEstructurado representa una clase, frecuentemente una clase abstracta, cuyo comportamiento puede ser completa o parcialmente descrito mediante interacciones entre partes.

Un ClasificadorEncapsulado es un tipo de clasificador estructurado que contiene puertas. En el diagrama abajo, ambos FibonacciSystem y Variable son clasificadores encapsulados, porque ambos tienen puertas a lo largo de sus límites.

Page 17: D Iagramas U Ml

Ejemplo de diagrama de estructura compuesta

Como ejemplo, considere un modo posible de modelar la producción de la Sucesión de Fibonacci.

Diagrama de estructura compuesta UML 2.0

Este diagrama de estructura compuesta UML 2.0 especifica que las instancias de la clase 'FibonacciSystem' están compuestas de varias partes. La superior de estas partes está identificada como teniendo el clasificador 'FibonacciFunction'. Tres de las partes son identificadas por el rol que ellas juegan dentro de instancias del FibonacciSystem – el rol NMinus2, el rol NMinus1, y el rol N. La quinta parte, identificada por su clasificador Viewer, incluye una especificación de multiplicidad. En tiempo de ejecución puede haber 0 o más instancias de Viewer o de alguna subclase concreta de Viewer.

En tiempo de ejecución las instancias de clase que implementan estos tres roles deben proveer los servicios especificados por la interfaz IVar mediante sus puertas var. Una de tales clases es Variable, mostrada sobre el diagrama con una puerta llamada var de tipo Var que realiza la interfaz IVar.

La puerta llamada "view" es una puerta no-pública que puede ser usada por una instancia de FibonacciSystem para acceder a la(s) instancia(s) opcional(es) de Viewer.

Page 18: D Iagramas U Ml

La puerta llamada "view" es una puerta no-pública que puede ser usada por una instancia de FibonacciSystem para acceder a la(s) instancia(s) opcional(es) de Viewer.

Volver

Page 19: D Iagramas U Ml

¿Qué es un componente?

Un elemento de Software de un sistema, y se encuentra en el computador, Puede ser una tabla, archivo de datos, archivos ejecutables, biblioteca de vínculos dinámicos, documentos etc., Un componente es la personificación en software de las clases. Si lo vemos desde el punto de vista de la programación un componente agrupará a las clases que son las que representarán la lógica del negocio,

Quienes formaran componentes reutilizables, ya que si tomamos como referencia la construcción de un sistema para un negocio pequeño probablemente empiece utilizando una base de datos de Access, y posteriormente se podrá cambiar a Sql- Server y luego a Oracle, por consiguiente estos componentes deben ser reutilizables con cualquiera de los administradores de base de datos seleccionados de acuerdo a los requerimientos.

Mediante los diagramas de componentes el jefe del desarrollo podrá hacer referencia a las partes con mayor objetividad con el grupo de desarrollo.

DIAGRAMA DE COMPONENTE.

Page 20: D Iagramas U Ml

Notacion componente.

El presente diagrama de componentes indica que el formulario demantenimiento estará compuesto por el formularioBusqueda que seencuentra en elcomponente Herramientas, así como también la clase botonSalir y formulario debusquedaCliente, se encuentran en el mismo componente.

Page 21: D Iagramas U Ml

Definición Simple

Un componente es una parte física y reemplazable de un sistema.

nombre agente.java

agentefraudes.dll

RealizaAgenteFraudesPoliticaFraudesBuscarPatrones

system::dialog.dll{version = 2.0.1}

Ej:

Page 22: D Iagramas U Ml

Componentes y clases

Las clases representan abstracciones lógicas. Los componentes son elementos físicos del mundo real. Un componente es la implementación física de un conjunto de otros elementos lógicos, como clases y colaboraciones.

Ejemplo de un componente y las clases que implementa:

agentefraudes.dll

AgenteFraudes

PoliticaFraudes

BuscarPatrones

Page 23: D Iagramas U Ml

Dependencias entre componentes

La dependencia entre dos componentes se muestra como una flecha punteada. La dependencia quiere decir que una componente necesita de la otra para completar su definición.

Ejemplos:

home.html<<page>>

animlogo.java<<file>>

animator.java<<file>>

Window Handler (whnd.cpp)

Window Handler (whnd.obj)

Graphic lib (graphic.dll)

Client Program (client.exe)

Comm Handler (comhnd.obj)

Comm Handler (comhnd.cpp)

Main Class (main.cpp)

Main Class (main.obj)

Volver

Page 24: D Iagramas U Ml

Describen la arquitectura física del sistema durante la ejecución, en términos de:

o procesadoreso dispositivos o componentes de software

• Describen la topología del sistema: la estructura de los elementos de hardware y el software que ejecuta cada uno de ellos.

DIAGRAMA DE DESPLIEGUE.

Page 25: D Iagramas U Ml

• Los nodos son objetos físicos que existen en tiempo de ejecución, y que representan algún tipo de recurso computacional (capacidad de memoria y procesamiento):

o Computadores con procesadoreso Otros dispositivos

o impresoraso lectoras de códigos de barraso dispositivos de comunicación

Dell Pentium 466 MMX

máquina1: Dell Pentium

466 MMXVentas

Despliegapos.execontactos.exe

Page 26: D Iagramas U Ml

Dispositivos

o Los dispositivos del sistema también se representan como nodos.

o Generalmente se usan estereotipos para identificar el tipo de dispositivo.

HP LaserJet 5MP

<<printer>>Cisco Router

X2000

<<router>>

Page 27: D Iagramas U Ml

Los nodos se conectan mediante asociaciones de comunicación.

o Estas asociaciones indican:o Algún tipo de ruta de comunicación entre los

nodoso Los nodos intercambian objetos o envían mensajes

a través de esta ruta

o El tipo de comunicación se identifica con un estereotipo que indica el protocolo de comunicación o la red.clienteA:

Compaq Pro PC

clienteB: Compaq Pro PC

Servidor de Aplicaciones:

Silicon Graphics O2

Servidor de Base de Datos: VAX

<<TCP/IP>>

<<TCP/IP

>> <<DecNet>>

Page 28: D Iagramas U Ml

Nodos y componentes

Los nodos son los elementos donde se ejecutan los componente

Ventas

pos.exe contactos.exe

o Si un tipo de componente puede ejecutarse en un tipo de nodo, se crea una dependencia con el estereotipo <<supports>>o Una instancia de la componente podría localizarse en una

instancia de ese nodo.

UNIX Transaction Server Program

Silicon Graphics O2

<<supports>>

Page 29: D Iagramas U Ml

Instancias ejecutándose en un nodo.

máquina1:Dell Pentium 466 MMX

<<library>>CL:Transaction Client Library

cliente1:Cliente

Volver

Page 30: D Iagramas U Ml

Muestra los objetos y sus interrelaciones en un tiempo dado, habitualmente en los casos especiales de un diagrama de clase o de comunicaciones.

Los diagramas de objetos son utilizados durante el proceso de Análisis y Diseño de los sistemas informáticos en la metodología UML.

Se puede considerar un caso especial de un diagrama de clases en el que se muestran instancias específicas de clases (objetos) en un momento particular del sistema. Los diagramas de objetos utilizan un subconjunto de los elementos de un diagrama de clase. Los diagramas de objetos no muestran la multiplicidad ni los roles, aunque su notación es similar a los diagramas de clase.

DIAGRAMA DE OBJETOS.

Page 31: D Iagramas U Ml

Una diferencia con los diagramas de clase es que el compartimiento de arriba va en la forma, Nombre de objeto: Nombre de clase.

Por ejemplo:

Volver

Page 32: D Iagramas U Ml

En el Lenguaje Unificado de Modelado, un diagrama de paquetes muestra como un sistema está dividido en agrupaciones lógicas mostrando 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.

Los Paquetes están normalmente organizados para maximizar la coherencia interna dentro de cada paquete y minimizar el acoplamiento externo entre los paquetes. Con estas líneas maestras sobre la mesa, los paquetes son buenos elementos de gestión. Cada paquete puede asignarse a un individuo o a un equipo, y las dependencias entre ellos pueden indicar el orden de desarrollo requerido.

DIAGRAMA DE PAQUETES.

Page 33: D Iagramas U Ml

Además de la relación estándar UML de dependencia, hay dos tipos especiales de las dependencias entre los paquetes se definen:

package import de importación de paquetes package merge paquete de combinación de correspondencia Un paquete de importación es "una relación entre un espacio de

nombres de importación y un paquete, lo que indica que el espacio de nombres de importación, añade los nombres de los miembros del paquete a su propio espacio de nombres". Por defecto, una dependencia entre dos paquetes sin etiqueta se interpreta como de una relación de importación de paquetes.

Un paquete de importación es "una relación entre un espacio de nombres de importación y un paquete, lo que indica que el espacio de nombres de importación, añade los nombres de los miembros del paquete a su propio espacio de nombres". Por defecto, una dependencia entre dos paquetes sin etiqueta se interpreta como de una relación de importación de paquetes

Un paquete de mezcla es "una relación entre dos paquetes dirigidos, que indica que el contenido de los dos paquetes se pueden combinar. Es muy similar a la generalización en el sentido de que el elemento conceptual fuente añade las características del elemento objetivo a su propio características resultantes de un elemento que combina las características de ambos

Page 34: D Iagramas U Ml

Diagramas de paquetes puede utilizar los paquetes que contienen los casos de uso para ilustrar la funcionalidad de un sistema de software.

Diagramas de paquetes puede utilizar los paquetes que representan las diferentes capas de un sistema de software para ilustrar la arquitectura en capas de un sistema de software. Las dependencias entre estos paquetes pueden ser adornadas con etiquetas o estereotipos para indicar el mecanismo de comunicación entre las capas.

Page 35: D Iagramas U Ml

Diagrama de paquetes que contienen nodos y artefactos

Volver

Page 36: D Iagramas U Ml

En el Lenguaje de Modelado Unificado, un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un Diagrama de Actividades muestra el flujo de control general.

En SysML el diagrama de Actividades ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.

DIAGRAMA DE ACTIVIDADES.

Page 37: D Iagramas U Ml

El diagrama de Actividades UML 2.0, mientras que es similar en aspecto al diagrama de Actividades UML 1.x, ahora tiene semánticas basadas en redes de Petri. En UML 2.0, el diagrama general de Interacción está basado en el diagrama de Actividades.

Diagrama de actividad. Es una forma especial de diagrama de estado usado para modelar una secuencia de acciones y condiciones tomadas dentro de un proceso.

La especificación del Lenguaje de Modelado Unificado OMG define un diagrama de actividad como: “… una variación de una máquina estados, lo cual los estados representan el rendimiento de las acciones o subactividades y las transiciones se provocan por la realización de las acciones o subactividades[BELL00].”

El propósito del diagrama de actividad es modelar un proceso de flujo de trabajo (workflow) y/o modelar operaciones. Una Operación es un servicio proporcionado por un objeto, que está disponible a través de una interfaz. Una Interfaz es un grupo de operaciones relacionadas con la semántica.

Page 38: D Iagramas U Ml

Volver

Page 39: D Iagramas U Ml

Los diagramas UML de secuencia y de colaboración (llamados diagramas de interacción) se utilizan para modelar los aspectos dinámicos de un sistema.

Un diagrama de interacción consiste en un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos.

Los diagramas de secuencia destacan el orden temporal de los mensajes. Los diagramas de colaboración destacan la organización estructural de los objetos que envían y reciben mensajes.

DIAGRAMA DE INTERACCION.

Page 40: D Iagramas U Ml

Diagrama de secuencia:

destaca el orden temporal

de los mensajes.

Diagrama de colaboración:

destaca la relación estructural

entre los objetos que interactúan

objetoA :A objetoB :B objetoC:C

<<create>>

mensaje1( )

mensaje2( )

mensaje3( )

mensaje4( )

objetoA:A

objetoB:B objetoC:C

1: <<c reate>>2: mensaje1( )3: <<des troy>>2:

2.1: mensaje2( )2.2: mensaje3( )

Page 41: D Iagramas U Ml

o Ambos diagramas (secuencia y colaboración) son semántica mente equivalentes. Se puede pasar de uno a otro sin pérdida de información.

o En los diagramas de secuencia, la linea de vida de un objeto es la línea discontinua vertical, que representa La existencia de un objeto a lo largo de un periodo de tiempo.

o El foco de control es un rectángulo delgado que representa el periodo de tiempo durante el cual un objeto ejecuta una acción.

Volver

Page 42: D Iagramas U Ml

¿Qué es un Caso de Uso?

Pieza de funcionalidad reusable que define la cadena de valor de los Actores que interactúan con un Sistema.

DIAGRAMA DE CASOS DE USO.

Page 43: D Iagramas U Ml

¿Para que lo usamos?

1. Empaquetar los escenarios de usabilidad de un sistema.

2. Facilitar la trazabilidad entre los requerimientos y los distintos artefactos de modelado: Clases, Objetos, Acciones, Estados, etc., hasta el código.

3. Describir una secuencia de acciones que podemos organizar en escenarios tipo.

4. Representan todas las maneras posibles de usar los recursos de un sistema/organización.

5. Despiezar un proceso en funciones reutilizables. 6. Comunicar el alcance y complejidad funcional de

un producto (Censo de Casos de Uso Candidatos). 7. Especificar un “contrato de servicios”entre los

Actores y el Sistema.

Page 44: D Iagramas U Ml

1.Diagrama de Casos de Uso

Elementos del modelo de Casos de Uso

Especialización de Casos de Uso abstractos

Page 45: D Iagramas U Ml
Page 46: D Iagramas U Ml
Page 47: D Iagramas U Ml

2. Especificación.

•Nombre •Activador •Propósito •Precondiciones •Postcondiciones •Invariantes •Escenario principal •Escenarios posibles •Escenarios probables •Interfaces con otros CU •Interfaces con Actores •Objetos participantes

Page 48: D Iagramas U Ml

3. Diseño de interfaces con los Actores

Page 49: D Iagramas U Ml

4.Formalización de escenarios

con diagramas de Actividad.

5.Normalización de escenarios

con diagramas de Secuencia

(interacción de objetos).

Page 50: D Iagramas U Ml

6.Objetos participantes en cada escenario de usabilidad con diagramas de Clases.

7.Ciclo de Vida de objetos complejos con diagramas de Estados-Transición.

Page 51: D Iagramas U Ml

8. Casos de Prueba

Procedimiento que certifica la coherencia, completitud y usabilidad de un Sistema, en referencia a un contrato de funcionalidad establecido con sus Actores y especificado a través de los Casos de Uso.

Utiliza artefactos de modelado UML como mecanismo formal para expresar las precondiciones y postcondiciones, los resultados esperados y los observados, secuencias de eventos y parámetros de entrada.

Volver

Page 52: D Iagramas U Ml

Un diagrama de maquina de estado modela el comportamiento de un solo objeto, especificando la secuencia de eventos que un objeto atraviesa durante su tiempo de vida en respuesta a los eventos.

Como ejemplo, el siguiente diagrama de maquina de estado muestra los estados que una puerta atraviesa durante su tiempo de vida.

DIAGRAMA DE MAQUINAS DE ESTADOS.

Page 53: D Iagramas U Ml

La puerta puede estar en uno de tres estados: “Opened”(Abierta), “Closed” (Cerrada) o “Locked”(Bloqueada). Puede responder a tres estados Abrir, Cerrar, Bloquear y No bloqueado. Tener en cuenta que no todos los eventos son válidos en todos los estados: por ejemplo, si una puerta está abierta, no lo puede bloquear hasta que lo cierre. También tener en cuenta de que como una transición de estado puede tener una condición de guarda adjunta. Si la puerta está abierta, esta solo puede responder al Evento cerrar si la condición doorWay->isEmpty esta completa. La sintaxis y las conexiones usadas en los diagramas de maquina de estados se discutirán por completo en las siguientes secciones.

Page 54: D Iagramas U Ml

Estados

Un estado se denota por un rectángulo con las esquinas redondeadas y con el nombre del estado escrito dentro del mismo.

Estados Initial y Final (Iniciales y Finales)El estado inicial se denota con un círculo negro y se le puede proporcionar un nombre. El estado final se denota con un círculo con un punto negro en el medio y también se lo puede nombrar.

Page 55: D Iagramas U Ml

TransicionesLas transiciones desde un estado al siguiente se denotan por líneas con flechas. Una transición puede tener un disparador, una guarda y un efecto, como a continuación.

“Trigger” (Disparador) es la causa de la transición, la cual podría ser una señal, un evento, un cambio en alguna condición, o el pasaje de tiempo. "Guard" (guarda) es una condición que debe ser verdadera para que el disparador cause la transición. "Effect" (efecto) es una acción que se llamará directamente en el objeto que tiene la maquina de estado como resultado de la transición.

Page 56: D Iagramas U Ml

Acciones de EstadoEn el ejemplo de transición, un efecto se asoció con la transición. Si el estado de destino tenía muchas transiciones llegando al mismo, y cada transición tenía el mismo efecto asociado con este, sería mejor asociar el efecto con el estado de destino en lugar de con las transiciones. Esto se puede realizar para definir una acción de entrada para el estado. El siguiente diagrama muestra un estado con una acción de entrada y una acción de salida.

También es posible definir las acciones que ocurren en los eventos, o acciones que siempre ocurren. Es posible definir cualquier número de acciones de cada tipo.

Page 57: D Iagramas U Ml

Transiciones recursivasUn estado puede tener una transición que retorna a sí misma, como en el siguiente diagrama. Esto es más útil cuando un efecto se asocia con la transición.

Estados CompuestosUn diagrama de maquina de estado puede incluir diagramas de sub maquinas, como en el siguiente ejemplo.

La forma alternativa de mostrar la misma información es como el siguiente ejemplo.

La notación en la versión anterior indica que los detalles de la sub maquina Check Pin se muestran en un diagrama separado.

Page 58: D Iagramas U Ml

Punto de EntradaAlgunas veces no deseará ingresar una sub maquina en un Estado Inicial normal. Por ejemplo, en la siguiente sub maquina sería normal comenzar en el estado inicial, pero si por alguna razón no fuera necesario realizar la inicialización, sería posible comenzar en el estado Ready realizando una transición al punto de entrada nombrado.

El siguiente diagrama muestra la maquina de estado un nivel hacia arriba:

Page 59: D Iagramas U Ml

Punto de SalidaSimilar al Punto de Entada, es posible nombrar Puntos de Salida nombrados. El siguiente diagrama provee un ejemplo donde el estado ejecutado después del estado de procesos principal depende de que ruta se use para realizar la transición del estado.

Pseudo estado “Choice” (Elección)Un pseudo estado se muestra como un diamante con una transición llegando y dos o más transiciones saliendo. El siguiente diagrama muestra que cualquier estado al que se llega después del pseudo estado elección depende del formato del mensaje seleccionado durante la ejecución del estado anterior.

Page 60: D Iagramas U Ml

Pseudo estado “Junction” (unión)Los pseudo estados unión se usan para unir transiciones múltiples. Una sola unión puede tener una o más transiciones de entradas y una o más de salida, y se puede aplicar una guarda a cada transición. Las uniones son libres de semántica; una unión que divide una transición de entrada en transiciones de salida múltiples realiza una rama condicional estática, opuesto a un pseudo estado elección que realiza una rama condicional dinámica.

oPseudo estado “Terminate” (terminar)Ingresar un pseudo terminar indica que la línea de vida de la maquina de estado ha terminado. Un pseudo estado indica que una línea de vida de la maquina de estado ha terminado. Un pseudo estado terminar se denota como una cruz.

Page 61: D Iagramas U Ml

Estado “History” (Historial)Un estado historial se usa para recordar el estado anterior de una maquina de estado cuando fue interrumpida. El siguiente diagrama ilustra el uso de estados del historial. El ejemplo es una maquina de estado que pertenece a un lavarropas.

En esta maquina de estado, cuando un lavarropas comience, su proceso será desde el lavado y enjuague hasta el secado. Si hay un corte de luz, el lavarropas se detendrá por lo que pasará al estado Power off (apagado). Luego, cuando la energía retorne, el estado Running (ejecutar) ingresa al símbolo de estado Historial, lo que significa que debería seguir con el proceso donde quedó cuando se corto la energía.

Page 62: D Iagramas U Ml

Regiones recientesUn estado se puede dividir en regiones conteniendo sub estados que existen y se ejecutan concurrentemente. El siguiente ejemplo muestra que dentro del estado “Applying Brakes” (Aplicar frenos), los frenos de adelante y atrás estarán operando simultáneamente e independientemente. Tener en cuenta el uso de los pseudo estados en lugar de los pseudo estados elección y combinación. Estos símbolos se usan para sincronizar los hilos concurrentes.

Volver

Page 63: D Iagramas U Ml

DIAGRAMA DE SECUENCIA.

Diagramas de Secuencia, muestran un flujo detallado para un caso de uso específico o parte de este. Ellos son en si mismos explicativos, muestran las llamadas entre los diferentes objetos en su secuencia y pueden mostrar, en un nivel de detalle, diferentes llamadas a objetos diferentes.

Un diagrama de secuencia tiene dos dimensiones: la dimensión vertical muestra la secuencia de mensajes/llamadas en el orden temporal en que ocurren; la dimensión horizontal muestra la instancia del objeto para la cual los mensajes son enviados.

Page 64: D Iagramas U Ml

Existen dos tipos de mensajes: síncronos y asíncronos. Los mensajes síncronos se corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Los mensajes asíncronos terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la cabeza abierta.

También se representa la respuesta a un mensaje con una flecha discontinua.

Los mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre 'business' de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre 'business' es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la clase instanciada por el objeto en la recepción final del mensaje.

Volver

Page 65: D Iagramas U Ml

En el Lenguaje Unificado de Modelado (UML) 2.0, un diagrama de comunicación es una versión simplificada del diagrama de colaboración de la versión de UML 1.x.

Un diagrama de Comunicación modela las interacciones entre objetos o partes en términos de mensajes en secuencia. Los diagramas de Comunicación representan una combinación de información tomada desde el diagrama de Clases, Secuencia, y Diagrama de casos de uso describiendo tanto la estructura estática como el comportamiento dinámico de un sistema.

Los diagramas de comunicación y de secuencia describen información similar, y con ciertas transformaciones, pueden ser transformados unos en otros sin dificultad.

Para mantener el orden de los mensajes en un diagrama de comunicación, los mensajes son etiquetados con un número cronológico y colocados cerca del enlace por el cual se desplaza el mensaje. Leer un diagrama de comunicación conlleva comenzar en el mensaje 1.0, y seguir los mensajes desde un objeto hasta el siguiente, sucesivamente.

DIAGRAMA DE COMUNICACION.

Page 66: D Iagramas U Ml

El diagrama de comunicación es dibujada como un diagrama de objeto, donde un número de objetos se muestran con la relación entre ellos. Las flechas de mensajes son dibujadas en medio entonces para mostrar el flujo de los mensajes entre los objetos. Las etiquetas son puestas sobre el mensaje para mostrar el orden dentro de los mensajes que son puestos. Ejemplo:

Page 67: D Iagramas U Ml

Un ejemplo usando estereotipos:

Volver

Page 68: D Iagramas U Ml

El Diagrama de Interacción por Repaso es un diagrama variante de la actividad. En este diagrama las diferentes secuencias son incluidas en una actividad que fluyen en orden para mostrar el flujo de trabajo por las secuencias. Ejemplo:

DIAGRAMA DE RESUMEN DE INTERACCIONES.

Page 69: D Iagramas U Ml

Detrás de los procesos detallados, los fragmentos están representados por los siguientes:

1. Captura de Cliente:

Page 70: D Iagramas U Ml

2. Captura de Factura:

Volver

Page 71: D Iagramas U Ml

Un diagrama de tiempos o cronograma es una gráfica de formas de onda digitales que muestra la relación temporal entre varias señales, y cómo varía cada señal en relación a las demás.

Un cronograma puede contener cualquier número de señales relacionadas entre sí. Examinando un diagrama de tiempos, se puede determinar los estados, nivel alto o nivel bajo, de cada una de las señales en cualquier instante de tiempo especificado, y el instante exacto en que cualquiera de las señales cambia de estado con respecto a las restantes.

El propósito primario del diagrama de tiempos es mostrar los cambios en el estado o la condición de una línea de vida (representando una Instancia de un Clasificador o un Rol de un clasificador) a lo largo del tiempo lineal. El uso más común es mostrar el cambio de estado de un objeto a lo largo del tiempo, en respuesta a los eventos o estímulos aceptados. Los eventos que se reciben se anotan, a medida que muestran cuándo se desea mostrar el evento que causa el cambio en la condición o en el estado.

DIAGRAMA DE TIEMPO.

Page 72: D Iagramas U Ml

En el estándar de Lenguaje de Modelado Unificado de OMG los diagramas de tiempo son una representación especial de interacción que se enfoca en el tiempo de los mensajes enviados entre objetos. Se pueden usar estos diagramas para mostrar restricciones detalladas sobre el tiempo, ó para mostrar los cambios con líneas de vida respecto al tiempo. Los diagramas de tiempo son generalmente utilizados con sistemas en tiempo real o en sistemas embebidos.

Volver

Page 73: D Iagramas U Ml

El UML es un lenguaje reconocido mundialmente por la industria de construcción de software.

El Modelamiento visual es una de las técnicas probadas que brinda mejores resultados.

Todos los sistemas tienen una estructura estática y comportamiento dinámico.

La estructura se describe con los diagramas de clases, componentes y despliegue.

El comportamiento dinámico del sistema se describe con diagramas de estados, secuencias, colaboración y actividades.

CONCLUSIONES

Volver

Page 74: D Iagramas U Ml

http://www.sparxsystems.com.ar/download/ayuda/index.html?timingdiagram.htm

http://www.sparxsystems.com.ar/resources/tutorial/uml2_statediagram.html

http://www.sparxsystems.com.ar/download/ayuda/index.html?compositestructurediagram.htm

http://www.milestone.com.mx/articulos/componiendo_lo_descompuesto_diagrama_de_estructura_compuesta.htm

http://www.epidataconsulting.com/site/files/Articulo%20UML%20Code.pdf

http://es.wikipedia.org/wiki/Diagrama_de_estructura_compuesta

BIBLIOGRAFIA.

Page 75: D Iagramas U Ml

http://www.vico.org/aRecursosPrivats/UML_TRAD/talleres/mapas/UMLTRAD_101A/LinkedDocuments/UML_diagClases.pdf

http://upload.wikimedia.org/wikipedia/commons/7/77/Diagrama_de_tiempos.png

http://www.sparxsystems.com.es/resources/tutorial/uml2_sequencediagram.html

http://elvex.ugr.es/decsai/java/pdf/3E-UML.pdf

http://www.economicasunp.edu.ar/02-EGrado/materias/trelew/analisis_sistemas%20I/info/uml2%20diagrama.pdf

http://www.agilemodeling.com/essays/umlDiagrams.htm

Volver