Descargar la presentación
La descarga está en progreso. Por favor, espere
1
INSTITUTO TECNOLOGICO SUPERIOR DE LIBRES
DIAGRAMAS DE UML ALUMNO: JAVIER MARTINEZ MARTINEZ GRADO Y GRUPO: 2° SEMESTRE A CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES
2
CONCEPTO Un diagrama de colaboración es una forma de representar interacción entre objetos .
3
EN QUE CONSISTE UN DIAGRAMA DE COLABORACIÓN ?
Muestra cómo las instancias específicas de las clases trabajan juntas para conseguir un objetivo común. Consiste especificar un contrato entre objetos Implementa las asociaciones del diagrama de clases mediante el paso de mensajes de un objeto a otro. Dicha implementación es llamada "enlace".
4
DIAGRAMA DE COLABORACION
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 (en cuanto a la interacción se refiere). UML –Interacciones 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. Es una conexión semántica entre objetos. Es una instancia de una relación. Puede contener los adornos de la relación.
5
LAS INTERACCIONES MODELAN ASPECTOS DINÁMICOS DEL SISTEMA
Llamada.-Invoca una operación sobre un objeto. Puede ser a sí mismo. Retorno.-El receptor de una llamada devuelve un valor al emisor, si es necesario. Envío.- Envía una señal a un objeto.
6
Creación.- Para crear un objeto.
Destrucción.- Para destruir un objeto. Puede destruirse a sí mismo. Secuenciación El flujo de mensajes forma una secuencia. La secuencia es indicada por un número antes del mensaje y una flecha dirigida. Para modelar caminos alternativos, se coloca el mismo número de secuencia seguido de un número de subsecuencia.
7
SECUENCIACIÓN Parámetros . Reales Se pueden modelar los parámetros reales enviados y también los retornos.
8
ELEMENTOS DE UN DIAGRAMA DE COLABORACIÓN
Objetos o Roles: nodos del grafo. Enlaces o comunicaciones: arcos del grafo. Mensajes: llevan número de secuencia y flecha dirigida. Anidamiento: se utiliza la numeración decimal Iteración: colocar un * antes del número de secuencia y una cláusula de condición, si es necesario. Bifurcación: los caminos alternativos tendrán el mismo número de secuencia, seguido del número de subsecuencia, y se deben distinguir por una condición.
9
DEPENDENCIAS Su construcción depende de:
Los casos de uso (expandidos). Diagrama de secuencias. Diagrama de Clases. Los artefactos que se generan son: Diagramas de Estado. Diagrama de Componentes. Diagrama de Despliegue
10
ETAPA DE CONSTRUCCIÓN Este tipo de diagramas se utilizan más frecuentemente en la fase de diseño, es decir, cuando estamos diseñando la implementación de las relaciones.
11
En cuanto a la representación, un Diagrama de Colaboración muestra a una serie de objetos con los enlaces entre los mismos, y con los mensajes que se intercambian dichos objetos. Los mensajes son flechas que van junto al enlace por el que “circulan”, y con el nombre del mensaje y los parámetros (si los tiene) entre paréntesis. Cada mensaje lleva un número de secuencia que denota cuál es el mensaje que le precede, excepto el mensaje que inicia el diagrama, que no lleva número de secuencia.
12
ELEMENTOS BÁSICOS PARA EL DIAGRAMA DE COLABORACIÓ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 linea contínua 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.
13
Flujo de mensajes Expresa el envío de un mensaje
Flujo de mensajes Expresa el envío de un mensaje. Se representa mediante una flecha dirigida cercana a un enlace. Marcadores de creación y destrucción de objetos Puede mostrarse en la gráfica cuáles objetos son creados y destruidos, agregando una restricción con la palabra new o delete, respectivamente, cercana al rectángulo del objeto
14
Vehículo_hotel1:Vehículo
Objeto compuesto Es una representación alternativa de un objeto y sus atributos. En esta representación se muestran los objetos contenidos dentro del rectángulo que representa al objeto que los contiene. Un ejemplo es el siguiente objeto vehículo. Un diagrama de colaboración es un tipo de diagrama que muestra las interacciones entre objetos organizadas y enlazados entre ellos. Vehículo_hotel1:Vehículo MT-1234 : Motor FR : Frenos TR-4583 : Transmisión
15
1.- Objeto 2.- Enlaces 3.- Objeto compuesto 4.- Patrón de diseño
A continuación tenemos los titulos fundamentales de un diagrama de colaboración: 1.- Objeto 2.- Enlaces 3.- Objeto compuesto 4.- Patrón de diseño 5.- Contexto 6.- Objeto activo:
16
Un uso de un diagrama de colaboración es mostrar la implementación de una operación. La colaboración muestra los parámetros y las variables locales de la operación, así como asociaciones más permanentes. Cuando se implementa el comportamiento, la secuencia de los mensajes corresponde a la estructura de llamadas anidadas y el paso de señales del programa. Un diagrama de colaboración muestra relaciones entre roles geométricamente y relaciona los mensajes con las relaciones, pero las secuencias temporales están menos claras Prefieren el diagrama de colaboración, porque pueden usar la distribución para indicar cómo se conectan estáticamente los objetos
17
DIAGRAMA DE CLASE Es el más utilizado y más conocido de los diagramas orientados a objetos. Es la fuente de generación de código. El diagrama de clase representa clases, sus partes y la forma en la que las clases de los objetos están relacionados con otro. Una clase es una definición de un tipo de objeto.
18
Es el más utilizado y más conocido de los diagramas orientados a objetos. Es la fuente de generación de código. El diagrama de clase representa clases, sus partes y la forma en la que las clases de los objetos están relacionados con otro. Una clase es una definición de un tipo de objeto.
19
PARTES DEL DIAGRAMA DE CLASES
Atributos: describe las características de una clase de objetos. Operaciones: define el comportamiento de una clase de objetos. Estereotipos: ayuda a entender este tipo de objeto en el contexto de otras clases de objetos con roles similares dentro del diseño del sistema. Asociación: es un término formal para un tipo de relación. Herencia: permite organizar las definiciones de la clase para simplificar y facilitar su implementación.
20
CLASES Las clases son descripciones de un juego de objetos con características, comportamiento, relaciones y semánticas comunes. Se usan para modelar un juego de conceptos o entidades. Se denotan con un rectángulo con compartimentos. En ellos se ponen el nombre, los atributos, las operaciones y además se pueden usar para anotar otras propiedades del modelo como son (reglas del negocio, responsabilidades, excepciones, etc.) Pueden tener interfaces para especificar conjuntos de operaciones proporcionadas a su ambiente. Todas las operaciones deben estar asociadas a métodos. Pueden tener relaciones de generalización con otras clases.
21
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.
22
OPERACIONES 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_operación[parámetros:tipo]:Valor_retorno:tipo
23
INTERFACES Son clases que definen un juego de operaciones externas accesibles pero sin métodos. se usan para modelar una serie de operaciones que definen un servicio que puede ser ofrecido por diferentes clases. Se representan como clases pero con el estereotipo <<interface>>. Solo contienen operaciones públicas
24
Todos los diagramas soportan el Diagrama de Clase
Casos de Uso Diagrama de Objetos Diagrama de Clase Diagrama de Secuencia Diagrama de Actividades Diagrama de Estados Diagrama de Colaboración
25
MODELANDO CLASES La representación de una clase es un rectángulo con 3 divisiones: El del nombre define la clase, (un tipo de objeto). El de los atributos contiene la definición de los datos. El de las operaciones contiene la definición de cada comportamiento soportado por este tipo de objeto.
26
MODELANDO UN ATRIBUTO Un atributo describe una pieza de información que un objeto tiene o conoce de sí mismo. Para poder usar esta información se debe asignar un nombre y especificar el tipo de dato. El tipo de dato puede ser primitivo o tipo de dato abstracto (definido) Cada atributo puede tener reglas que limiten los valores asignados a éste. Se puede usar un valor de default para protegerlo.
27
VISIBILIDAD DE UN ATRIBUTO
La definición de un atributo debe especificar que otros objetos los pueden ver. La visibilidad puede ser: 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.
28
MODELANDO UNA OPERACIÓN
Los objetos tienen comportamientos, cosas que puedan hacer y que se les puedan dar a éstos. Las operaciones requieren un nombre, argumentos y a veces un valor de retorno. Las reglas de privacidad se aplican en la misma forma que para los atributos: Private, Public, Protected y Package.
29
DIAGRAMA DE CLASES: ASOCIACIONES
El propósito de la asociación puede expresarse en un nombre, verbo o frase que describa como los objetos de un tipo (clase) se relacionan con objetos de otro tipo (clase). Por ejemplo: Una persona tiene un coche Una persona maneja un coche Multiplicidad: cuantos objetos van a participar en la relación
30
ASOCIACIONES Se indica el rol y la multiplicidad.
Un vuelo está asociado con un avión y un avión puede tener asociados ninguno ó varios números de vuelo.
31
Pasos para el diagrama de clases
Identificar las clases. Mostrar los atributos y operaciones (posteriormente) Dibujar asociaciones Etiquetar asociaciones y en caso necesario los roles Indicar multiplicidad Dibujar fechas de dirección
32
ASOCIACIÓN REFLEXIVA Una clase puede asociarse con sí misma. Una clase Empleado puede relacionarse con sí misma a través del rol gerente/dirige. No significa que una instancia está relacionada consigo misma, sino que una instancia de la clase está relacionada con otra instancia de la misma clase.
33
ASOCIACIÓN CUALIFICADA
Un cualificador es un atributo de la clase en el lado opuesto de la asociación, que permite hacer una búsqueda en función a su valor. Por ejemplo “El cliente usa el numOrden para buscar una orden”. Un tipo de objeto usa el cualificador para accesar el otro tipo de objeto.
34
DIAGRAMA DE CLASE: AGREGACIÓN Y COMPOSICIÓN
Cada agregación es un tipo de asociación. Cada composición es una forma de agregación. Asociación Agregación Composición
35
AGREGACIÓN BASICA Es un tipo especial de asociación utilizado para modelar una relación “whole to its parts”. Una asociación con una agregación indica que una clase es parte de otra clase. En este tipo de asociación, la clase hijo puede sobrevivir sin su clase padre.
36
AGREGACIÓN/COMPOSICIÓN
En este caso el ciclo de vida de una instancia de la clase hijo depende del ciclo de vida de una instancia de la clase padre. A diferencia de la agregación básica, para representarla el diamante no es hueco. Una instancia de la clase Company debe tener al menos una en la clase Departamento. En este tipo de relaciones, si una la instancia Company se elimina, automáticamente la instancia Departamento también se elimina. Otra característica importante es que la clase hijo solo puede relacionarse con una instancia de la clase padre.
37
GENERALIZACIÓN Son asociaciones entre elementos más generales y elementos más específicos, en los cuales éstos últimos son consistentes totalmente con los primeros, por lo que heredan las características proporcionadas por lo elementos generales y además pueden aumentar información. Este tipo de relación también se conoce como herencia. En una generalización no hay multiplicidad ni roles. Una (Asociación define las reglas de cómo los objetos se pueden relacionar entre ellos.) La visibilidad “protected” permite que solo objetos de la misma clase ó subclase vean el elemento.
38
ELEMENTOS DE LA GENERALIZACIÓN
Para dibujarla, hay que definir: Superclase: es una clase que contiene alguna combinación de atributos, operaciones y asociaciones que son comunes a dos o más tipos de objetos que comparten el mismo propósito. Subclase: es una clase que contiene una combinación de atributos, operaciones y asociaciones que son únicas a un tipo de objeto definido por una superclase. La superclase es reutilizada por la subclase.
39
PAQUETES Es un elemento organizador que proporciona UML al dividir el sistema en paquetes lo hace más fácil de entender.
40
INTERFACES Una clase tiene una instancia de su tipo, mientras que una interface debe tener al menos una clase para implantarla. En UML, una interface es considerada como una especialización de una clase. Una interface se dibuja como una clase, pero en el compartimento superior del rectángulo aparece un texto ó una inicial que indica que se trata de una interface y no de una clase. Una interface no es una clase.
41
INSTANCIAS Cuando se modela la estructura de un sistema, a veces es útil mostrar ejemplos de las instancias de las clases. UML proporciona el elemento instance especification, que muestra información importante utilizando un ejemplo. La notación es la misma que la de una clase, solo que en el espacio superior el nombre se forma con: nombre de la instancia : nombre de la clase
42
Además de mostrar las instancias es muy útil mostrar sus relaciones, el ejemplo muestra dos instancias de la clase Flight, ya que el diagrama de clase indica que la relación entre la clase Plane y la clase Fight es 0 a muchos:
43
ROLES Se puede incluir el rol de las clases, el siguiente ejemplo de los roles jugados por la clase Employee (de la asociación reflexiva), mostramos que la relación es entre un Employee jugando el papel de gerente y un Employee jugando el rol de miembro del equipo.
44
CONSTRUYENDO EL DIAGRAMA DE CLASE
Identificar las clases, nombrarlas y definirlas con lo que sabes que son parte del modelo. Identificar, nombrar y definir las asociaciones entre pares de clases. Tener cuidado con clases reflexivas, asignar multiplicidad. Evaluar cada asociación para determinar si debe ser una agregación y cada agregación para ver si debe ser una composición Evaluar las clases para posible generalización (herencia).
45
DIAGRAMA DE COMPONENTES
Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado. Un diagrama de componentes representa cómo un sistema de software es dividido en componentes y muestra las dependencias entre estos componentes.
46
Los diagramas de Componentes prevalecen en el campo de la arquitectura de software pero pueden ser usados para modelar y documentar cualquier arquitectura de sistema. Los componentes físicos incluyen archivos, cabeceras, bibliotecas compartidas, módulos, ejecutables, o paquetes.
47
Los diagramas de componentes se pueden clasificar en:
Componentes de despliegue: necesarios y suficientes para formar un sistema ejecuta. Por ejemplo: bibliotecas dinámicas (dll), ejecutables (exe). Componentes productos de trabajo: surgen durante el proceso de desarrollo y queda al final del mismo.Por ejemplo: buscarCliente.jar, cliente.db. Componentes de ejecución: se crean como consecuencia de un sistema de ejecución Por ejemplo: objetos que se instancian a partir de una dll.
48
Ventajas: Desventajas: · Representan aspectos físicos del sistema.
· Se pueden construir a partir del modelo de clases y escribir desde cero para el nuevo sistema. · Se puede importar de otros proyectos o de productos terceros. Desventajas: · No representan aspectos irremplazables del sistema
49
Los diagramas de componentes son una herramienta muy útil para conocer la manera que se desarrolla el sistema pero incluyendo sus componentes físicos y estos a la vez relacionados con las clases que nos muestran proporcionan una perspectiva estática del sistema.
50
DIAGRAMA DE SECUENCIA Es un tipo de diagrama usado para modelar la interacción entre objetos en un sistema según UML. En inglés se pueden encontrar como "sequence diagram", "event-trace diagrams", "event scenarios" o "timing diagrams” .
52
UTILIDAD Muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. Contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos. Muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.
53
TIPOS DE MENSAJES Existen dos tipos de mensajes:
Sincrónicos: 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.
54
Asincrónicos: 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.
55
Pueden ser usados en dos formas:
De instancia: describe un escenario especifico (un escenario es una instancia de la ejecución de un caso de uso). Genérico: describe la interacción para un caso de uso; Utiliza ramificaciones ("Branches"), condiciones y bucles.
56
ESTRUCTURA 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.
57
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.
58
DIAGRAMA DE OBJETOS 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.
59
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. Estos no muestran nada diferente en su arquitectura a los diagramas de secuencia, pero reflejan multiplicidad y roles.
60
Los diagramas de objetos modelan las instancias de elementos contenidos en los diagramas de clases. Un diagrama de objetos muestra un conjunto de objetos y sus relaciones en un momento concreto.
61
DIAGRAMAS DE ACTIVIDADES
Demuestra la serie de actividades que deben ser realizadas en un uso-caso, así como las distintas rutas que pueden irse desencadenando en el uso-caso.
62
UTILIDAD Es utilizado en conjunción de un diagrama uso-caso para auxiliar a los miembros del equipo de desarrollo a entender como es utilizado el sistema y como reacciona en determinados eventos. Se pudiera considerar que un diagrama de actividad describe el problema, mientras un diagrama de flujo describe la solución.
63
COMPOSICIÓN Inicio: El inicio de un diagrama de actividad es representado por un círculo de color negro sólido. Actividad : Una actividad representa la acción que será realizada por el sistema la cual es representada dentro de un ovalo. Transición: Una transición ocurre cuando se lleva acabo el cambio de una actividad a otra, la transición es representada simplemente por una línea con una flecha en su terminación para indicar dirección.
64
DIAGRAMAS DE CASOS DE USO
Un diagrama de casos de uso es una especie de diagrama de comportamiento. COMPONENTES DE UN DIAGRAMA DE CASOS DE USO
65
RELACIONES DE CASOS DE USO
INCLUSION (INCLUDE O USE) EXTENSION (EXTEND) GENERALIZACION
66
INCLUSION (INCLUDE O USE)
Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro. El primer caso de uso a menudo depende del resultado del caso de uso incluido. Esto es útil para extraer comportamientos verdaderamente comunes desde múltiples casos de uso a una descripción individual, desde el caso El estándar de Lenguaje de Modelado Unificado de OMG define una notación gráfica para realizar diagramas de casos de uso, pero no el formato para describir casos de uso.
67
EXTENSION (EXTEND) Es otra forma de interacción, un caso de uso dado, (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de la extensión se utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión o inclusión. "La extensión, es el conjunto de objetos a los que se aplica un concepto. Los objetos de la extensión son los ejemplos o instancias de los conceptos."
68
GENERALIZACION "Entonces la Generalización es la actividad de identificar elementos en común entre conceptos y definir las relaciones de una superclase (concepto general) y subclase (concepto especializado). Es una manera de construir clasificaciones taxonómicas entre conceptos que entonces se representan en jerarquías de clases. Las subclases conceptuales son conformes con las superclases conceptuales en cuanto a la intención y extensión."
69
DIAGRAMAS DE EMPLAZAMIENTO
Es aquel que muestra las relaciones físicas entre los componentes de software y de hardware en el sistema entregado. Así, el diagrama de emplazamiento es un buen sitio para mostrar cómo se enrutan (se refiere a la selección del camino en una red de computadoras por donde se envían datos) y se mueven los componentes y los objetos, dentro de un sistema distribuido.
70
Cada nodo de un diagrama de emplazamiento representa alguna clase de unidad de cómputo; en la mayoría de los casos se trata de una pieza de hardware. El hardware puede ser un dispositivo o un sensor simple, o puede tratarse de un mainframe (Computadora grande, poderosa y costosa utilizada principalmente en empresas que necesitan procesar gran cantidad de datos o soportar gran cantidad de usuarios.). Los componentes en un diagrama de emplazamiento representan módulos físicos de código y corresponden exactamente a los paquetes de un diagrama de paquetes de tal modo que el diagrama de emplazamiento muestra dónde se ejecuta cada paquete en el sistema.
71
Las dependencias entre los componentes deben ser las mismas que las dependencias de paquetes. Estas dependencias muestran cómo se comunican los componentes con otros componentes. La dirección de una dependencia dada indica el conocimiento en la comunicación.
73
DIAGRAMA DE ESTADO Es un diagrama utilizado para identificar cada una de las rutas o caminos que puede tomar un flujo de información luego de ejecutarse cada proceso.
74
MAQUINA DE ESTADO Una MÁQUINA DE ESTADO es un comportamiento que especifica las secuencias de estados por las que pasa un objeto a lo largo de su vida en respuesta a eventos, junto con sus respuestas a estos eventos. REPRESENTACION GRAFICA DE UNA MAQUINA DE ESTADOS Las maquinas de estados se visualizan por medio de diagramas de estado. Representación grafica de Estados: condición o situación Nombre Efectos de entrada/salida Transiciones Internas Subestados Eventos diferidos
75
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.
76
El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos. Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, bien un objeto a lo largo de su vida, o bien todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera.
77
En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino.
78
Un diagrama de estados puede representar ciclos continuos o bien una vida finita, en la que hay un estado inicial de creación y un estado final de destrucción (finalización del caso de uso o destrucción del objeto). El estado inicial se muestra como un círculo sólido y el estado final como un círculo sólido rodeado de otro círculo. En realidad, los estados inicial y final son pseudoestados, pues un objeto no puede “estar” en esos estados, pero nos sirven para saber cuáles son las transiciones inicial y final(es).
79
ELEMENTOS DE LOS DIAGRAMAS DE ESTADO
Estado Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado (entry, exit o do, respectivamente). Eventos Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas: · Condición que toma el valor de verdadero o falso · Recepción de una señal de otro objeto en el modelo · Recepción de un mensaje · Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particular El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.
80
Envío de mensajes Además de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del objeto receptor del mensaje. Transición simple. Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas.
81
event-signature es la descripción del evento que da lugar la transición, guard-condition son las condiciones adicionales al evento necesarias para que la transición ocurra, action-expression es un mensaje al objeto o a otro objeto que se ejecuta como resultado de la transición y el cambio de estado y send-clause son acciones adicionales que se ejecutan con el cambio de estado, por ejemplo, el envío de eventos a otros paquetes o clases. Transición interna Es una transición que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.
82
Acciones: Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento. Generalización de Estados: · Podemos reducir la complejidad de estos diagramas usando la generalización de estados. · Distinguimos así entre superestado y subestados. · Un estado puede contener varios subestados disjuntos. · Los subestados heredan las variables de estado y las transiciones externas. · La agregación de estados es la composición de un estado a partir de varios estados independientes. La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del objeto.
83
Subestados Un estado puede descomponerse en subestados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior. Transacción Compleja. Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.
84
Transición a estados anidados Una transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad). Transiciones temporizadas · Las esperas son actividades que tienen asociada cierta duración. · La actividad de espera se interrumpe cuando el evento esperado tiene lugar. · Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.