MODELADO UML
Introducción
El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de modelado visual
común y semántica y sintácticamente rico para la arquitectura, el diseño y la implementación de
sistemas de software complejos, tanto en estructura como en comportamiento. UML tiene
aplicaciones más allá del desarrollo de software, p. ej., en el flujo de procesos en la fabricación.
Es comparable a los planos usados en otros campos y consiste en diferentes tipos de diagramas. En
general, los diagramas UML describen los límites, la estructura y el comportamiento del sistema y
los objetos que contiene.
UML no es un lenguaje de programación, pero existen herramientas que se pueden usar para
generar código en diversos lenguajes usando los diagramas UML. UML guarda una relación directa
con el análisis y el diseño orientados a objetos.
UML y su función en el modelado y diseño orientados a objetos
Hay muchos paradigmas o modelos para la resolución de problemas en la informática, que es el
estudio de algoritmos y datos. Hay cuatro categorías de modelos para la resolución de problemas:
lenguajes imperativos, funcionales, declarativos y orientados a objetos (OOP). En los lenguajes
orientados a objetos, los algoritmos se expresan definiendo 'objetos' y haciendo que los objetos
interactúen entre sí. Esos objetos son cosas que deben ser manipuladas y existen en el mundo real.
Pueden ser edificios, artefactos sobre un escritorio o seres humanos.
Los lenguajes orientados a objetos dominan el mundo de la programación porque modelan los
objetos del mundo real. UML es una combinación de varias notaciones orientadas a objetos: diseño
orientado a objetos, técnica de modelado de objetos e ingeniería de software orientada a objetos.
UML usa las fortalezas de estos tres enfoques para presentar una metodología más uniforme que
sea más sencilla de usar. UML representa buenas prácticas para la construcción y documentación de
diferentes aspectos del modelado de sistemas de software y de negocios.
UML, lenguaje de modelado gráfico
El lenguaje de modelado unificado (UML) es un estándar para la representación visual de objetos,
estados y procesos dentro de un sistema. Por un lado, el lenguaje de modelado puede servir de
modelo para un proyecto y garantizar así una arquitectura de información estructurada; por el otro,
ayuda a los desarrolladores a presentar la descripción del sistema de una manera que sea
comprensible para quienes están fuera del campo. UML se utiliza principalmente en el desarrollo de
software orientado a objetos. Al ampliar el estándar en la versión 2.0, también es adecuado para
visualizar procesos empresariales.
UML: conceptos básicos
El Lenguaje Unificado de Modelado es referido por algunos como la lingua franca entre los lenguajes
de modelado. Como se mencionó al principio, el UML visualiza los estados y las interacciones entre
objetos dentro de un sistema. Su extensa popularidad se debe probablemente a la fuerte influencia
que ejercen los miembros del OMG (IBM, Microsoft y HP entre otros). La semántica estructurada
hace el resto. Los diagramas UML se utilizan para representar los siguientes componentes del
sistema:
• Objetos individuales (elementos básicos)
• Clases (combina elementos con las mismas propiedades)
• Relaciones entre objetos (jerarquía y comportamiento/comunicación entre objetos)
• Actividad (combinación compleja de acciones/módulos de comportamiento)
• Interacciones entre objetos e interfaces
Unidades lingüísticas
UML (nivel M2) define las reglas de su propia semántica. Las unidades de lenguaje son términos
definidos en la superestructura UML 2.0. Esto permite una representación formal que todos los
participantes pueden entender. Las unidades lingüísticas, en inglés language units, abstraen objetos
y procesos de estructura y funcionamiento similares y les dan una forma visualmente representable.
Según el nivel jerárquico dentro del modelo, los elementos asumen tareas más especializadas o
definen más estrechamente otros elementos.
Clase: como unidad lingüística, las clases son un aspecto central de UML. Definen lo que constituye
una clase y cómo las clases interactúan entre sí. Esta language unit tiene cuatro niveles, que van
desde elementos simples hasta relaciones más complejas:
• Núcleo (describe elementos de la infraestructura UML 2.0 como paquetes, espacios de
nombres, atributos, etc.)
• AssociationClasses (define clases de asociación)
• Interfaces (define las interfaces)
• Powertypes (clase cuyas instancias son subclases dentro de esta clase)
Componente: los componentes son elementos que separan su contenido del sistema externo. Solo
existe una conexión con el exterior a través de interfaces o puertos. Un conector de composición
establece una conexión con otro componente a través de la interfaz. El conector de delegación une
los elementos interiores con una interfaz en el borde exterior. Los componentes son modulares e
intercambiables.
Estructura de la composición: la estructura de la composición de la unidad de lenguaje describe los
elementos, que están blindados como componentes hacia adentro y hacia afuera. Solo los puertos
conectan el contenido con el sistema externo. Los llamados clasificadores encapsulados consisten
en elementos llamados partes. Las piezas se comunican a través de conectores.
Perfil: un perfil configura UML 2.0 para necesidades específicas. Los términos abstractos como
actividad u objeto deben ser especificados para algunos proyectos con el fin de aumentar la
comprensión. La semántica y las notaciones que están colocadas en lugares sueltos se pueden
adaptar con un perfil.
Modelo: el modelo comprende todos los elementos necesarios para presentar una visión específica
de la estructura o el comportamiento de un sistema. Esto también incluye las influencias externas,
como los actores.
Acción: cuando se trata de representar el comportamiento, las acciones son de importancia central.
Los valores se aceptan a través de los pines de entrada y se envían a los pines de salida. Estos son
los grupos temáticos que UML define para las acciones.
Diagrama de casos de uso.
Representar toda clase de objetos, relaciones y procesos mediante un solo diagrama resultaría
demasiado complejo y confuso. Por este motivo, se utilizan 14 tipos de diagramas diferentes en UML,
que pueden dividirse en diagramas de estructura, diagramas de comportamiento y diagramas de
interacción. Los diagramas de interacción, a su vez, son una subcategoría de los diagramas de
comportamiento.
Elementos y estructura del diagrama de casos de uso
Para garantizar que el diagrama de casos de uso sea comprensible para todo el mundo de un vistazo,
se utilizan elementos estandarizados para elaborarlo. En primer lugar, hay tres elementos
principales:
Actor: tanto si es una persona, como un sistema, se representa con el dibujo de una figura humana
esquemática.
Sistema: el sistema al que se refiere el caso de uso tiene forma de rectángulo.
Caso de uso: se muestra como una elipse que suele incluir un texto describiendo brevemente el
proceso.
La relación entre estos elementos se representa con unas líneas de conexión llamadas
asociaciones. Una línea recta entre el actor y el caso de uso evidencia que el actor y el caso
de uso descrito en la elipse están relacionados. Una línea discontinua establece una relación
entre diferentes casos de uso. Como hay dos tipos diferentes de asociación entre casos de
uso, a las líneas se les añade una palabra clave, denominada “estereotipo” en UML, que se
pone entre dos pares de paréntesis angulares. La relación de dependencia entre los casos de
uso se representa con la punta de una flecha. Se distingue entre estos dos estereotipos:
• Asociación <>: el caso de uso en el cual comienza la línea discontinua se relaciona
con un segundo caso de uso señalado por la punta de la flecha.
• Asociación <>: el caso de uso en el cual comienza la línea discontinua puede
extenderse al caso de uso señalado por la punta de la flecha bajo ciertas condiciones,
que no han de cumplirse necesariamente en todos los casos.
Si bien la asociación <<include >> requiere que ambos casos de uso se realicen, en el caso de
la asociación <<extend>> esto depende de ciertas condiciones que se representan como el
llamado punto de extensión en el diagrama de casos de uso en UML. En el esquema, el punto
de extensión se representa con dos elementos:
• Mención en la elipse del caso de uso: el posible punto de extensión se menciona y
se describe brevemente bajo el título del caso de uso.
• Nota: partiendo del estereotipo <>, se dibuja una línea discontinua que finaliza en el
gráfico de una nota (representada como un rectángulo con una esquina doblada). Esta
nota incluye los títulos de “Condición” y “Punto de extensión”. Detrás del primero, figura
entre corchetes la condición que debe cumplirse para que se ejecute el segundo caso
de uso. Detrás de “Punto de extensión”, se indica el nombre que aparece en la elipse
del caso de uso correspondiente, para dejar claro a qué se refiere la extensión.
Ejemplo de diagrama de casos de uso
(S/f). Ionos.mx. Recuperado el 11 de febrero de 2023, de
https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/diagrama-de-
casos-de-uso/
Diagrama de clases
1. Utilidad de un diagrama de clase El propósito de un diagrama de clase es describir las clases que
conforman el modelo de un determinado sistema. Dado el carácter de refinamiento iterativo que
caracteriza un desarrollo orientado a objetos, el diagrama de clase va a ser creado y refinado durante
las fases de análisis y diseño, estando presente como guía en la implementación del sistema.
Se puede decir que existen tres perspectivas diferentes desde las cuales se pueden utilizar los
diagramas de clase:
• Conceptual: El diagrama de clase representa los conceptos en el dominio del problema que se está
estudiando. Este modelo debe crearse con la mayor independencia posible de la implementación
final del sistema.
• Especificación: El diagrama de clase refleja las interfaces de las clases, pero no su implementación.
Aquí las clases aparecen más cercanas a los tipos de datos, ya que un tipo representa una interfaz
que puede tener muchas implementaciones diferentes.
• Implementación: Esta vista representa las clases tal cual aparecen en el entorno de
implementación.
Elementos esenciales de los diagramas de clase.
Clases Para UML una clase es “una descripción de un conjunto de objetos que comparten los mismos
atributos, operaciones, métodos, relaciones, y semántica”. De esta forma, un diagrama de clase de
UML puede describir todos los componentes de una clase de una forma sencilla. Así, el elemento
fundamental de los diagramas de clase es el icono que representa una clase
El objetivo es mostrar sólo aquellos atributos y operaciones que son representativos para un
determinado diagrama. Dependiendo del detalle del diagrama de clase, la notación para un atributo
puede indicar su nombre, su tipo, un valor de inicio y su visibilidad, siendo su sintaxis: visibilidad
nombre: tipo = valor Donde: • Visibilidad expresa si el atributo es visible para el resto de objetos del
diagrama, pudiéndose dar los siguientes casos: + Visibilidad pública: Visible por todos los objetos #
Visibilidad protegida: Visible sólo por el objeto y sus descendientes - Visibilidad privada: Visible sólo
por el objeto • Nombre es el identificador del atributo • Tipo indica el dominio del atributo • Valor
es un elemento opcional que indica un valor de inicio para el atributo Al igual que sucede con los
atributos, las operaciones de una clase pueden especificarse con diferente nivel de detalle según la
siguiente sintaxis: visibilidad nombre (lista de parámetros) : tipo de retorno.
La propiedad de ocultar las secciones de atributos y operaciones de una clase en los diagramas de
clase de UML, así como la posibilidad de especificar con un mayor o menor grado de detalle los
atributos y las operaciones de una clase, permite utilizar un diagrama de clase de UML desde una
perspectiva conceptual, de especificación o de implementación.
Asociaciones Las asociaciones representan las relaciones más generales entre clases, es decir, las
relaciones con menor contenido semántico. Para UML una asociación va a describir un conjunto de
vínculos entre las instancias de las clases.
Agregación y composición La agregación es una asociación con unas connotaciones semánticas más
definidas: la agregación es la relación parte-de, que presenta a una entidad como un agregado de
partes (en orientación a objeto, un objeto como agregado de otros objetos).
En UML la agregación se representa por una asociación en la que el rol del extremo unido a la clase
agregada presenta el adorno de un diamante vacío.
Herencia:
La herencia es la típica relación de generalización/especialización entre clases. En UML la herencia
se representa mediante una flecha, cuya punta es un triángulo vacío. La flecha que representa a la
herencia va orientada desde la subclase a la superclase.
Diagrama de secuencia
¿Qué es un diagrama de secuencia en UML?
Para comprender lo que es un diagrama de secuencia, es importante conocer la función del Lenguaje
Unificado de Modelado, mejor conocido como UML. El UML es un conjunto de herramientas de
modelado que orienta la creación y notación de muchos tipos de diagramas, incluidos los diagramas
de comportamiento, los diagramas de interacción y los diagramas de estructuras.
Un diagrama de secuencia es un tipo de diagrama de interacción porque describe cómo —y en qué
orden— un grupo de objetos funcionan en conjunto. Tanto los desarrolladores de software como los
profesionales de negocios usan estos diagramas para comprender los requisitos de un sistema nuevo
o documentar un proceso existente. A los diagramas de secuencia en ocasiones se los conoce como
diagramas de eventos o escenarios de eventos.Observa que hay dos tipos de diagramas de
secuencia: los diagramas UML y los diagramas que se basan en código. Los últimos se obtienen de
un código de programación y no serán cubiertos en esta guía. El software de diagramas UML de
Lucidchart está equipado con todas las figuras y funciones que necesitarás para modelar ambos.
José, F., Peñalvo, G., & Pardo Aguilar, C. (s/f). Diagramas de Clase en UML 1.1.
Grial.eu. Recuperado el 11 de febrero de 2023, de
https://repositorio.grial.eu/bitstream/grial/353/1/DClase.pdf
Los beneficios de los diagramas de secuencia
Los diagramas de secuencia pueden ser referencias útiles para las empresas y otras organizaciones.
Prueba dibujar un diagrama de secuencia para:
• Representa los detalles de un caso de uso en UML.
• Modelar la lógica de una operación, una función o un procedimiento sofisticados.
• Ve cómo los objetos y los componentes interactúan entre sí para completar un proceso.
• Planificar y comprender la funcionalidad detallada de un escenario actual o futuro.
Los casos de uso para los diagramas de secuencia
Los siguientes escenarios son ideales para usar un diagrama de secuencia:
• Escenario de uso: Un escenario de uso es un diagrama de cómo se podría usar
potencialmente tu sistema. Es una excelente manera de asegurar que has estudiado la lógica
de cada escenario de uso para el sistema.
• Lógica del método: Al igual que utilizarías un diagrama de secuencia UML para explorar la
lógica de un caso de uso, puedes usarlo para explorar la lógica de cualquier función,
procedimiento o proceso complejo.
• Lógica de servicio: Si consideras que un servicio es un método de alto nivel empleado por
diferentes clientes, un diagrama de secuencia es una forma ideal de trazarlo.
• Diagrama de secuencia Visio - Todo diagrama de secuencia que crees con Visio también se
podrá subir a Lucidchart. Lucidchart permite la importación de archivos .vsd y .vdx y es una
excelente alternativa a Microsoft Visio. Casi todas las imágenes que ves en la sección UML
de este sitio fueron generadas con Lucidchart.
Componentes y símbolos básicos
Para comprender qué es un diagrama de secuencia, debes estar familiarizado con sus símbolos y
componentes. Los diagramas de secuencia están formados por los siguientes elementos e íconos:
Símbolo Nombre Descripción
Símbolo de
objeto
Representa una clase u objeto en UML. El símbolo
objeto demuestra cómo se comportará un objeto
en el contexto del sistema. Los atributos de las
clases no deben aparecer en esta figura.
Casilla de
activación
Representa el tiempo necesario para que un
objeto finalice una tarea. Cuanto más tiempo lleve
la tarea, más larga será la casilla de activación.
Símbolo de
actor
Muestra entidades que interactúan con el sistema
o que son externas al sistema.
Símbolo de
paquete
Se usa en notación UML 2.0 para contener los
elementos interactivos del diagrama. También
conocida como "marco", esta figura rectangular
tiene un pequeño rectángulo interior para
etiquetar el diagrama.
Símbolo de línea
de vida
Representa el paso del tiempo a medida que se
extiende hacia abajo. Esta línea vertical
Símbolo Nombre Descripción
discontinua representa eventos secuenciales que
le ocurren a un objeto durante el proceso
graficado. Las líneas de vida pueden comenzar
con una figura rectangular etiquetada o un
símbolo de actor.
Símbolo de
bucle de opción
Se emplea para modelar escenarios del tipo "Si...
entonces...", es decir, una circunstancia que solo
sucederá en determinadas condiciones.
Símbolo de
alternativas
Simboliza una decisión (que, por lo general, es
mutuamente exclusiva) entre dos o más
secuencias de mensajes. Para representar
alternativas, emplea la figura rectangular
etiquetada con una línea discontinua en su
interior.
Símbolo Nombre Descripción
Símbolo de
mensaje
sincrónico
Representados por una línea continua y una punta
de flecha sólida. Este símbolo se utiliza cuando un
remitente debe esperar una respuesta a un
mensaje antes de proseguir. El diagrama debe
mostrar el mensaje y la respuesta.
Símbolo Nombre Descripción
Símbolo de
mensaje
asincrónico
Representados por una línea continua y una punta
de flecha simple. Los mensajes asincrónicos no
necesitan una respuesta para que el remitente
siga adelante. Solo la llamada se debe incluir en el
diagrama.
Símbolo de
mensaje de
respuesta
asincrónico
Representados por una línea discontinua y una
punta de flecha simple.
Símbolo de crear
mensaje
asincrónico
Representados por una línea discontinua y una
punta de flecha simple. Este mensaje crea un
nuevo objeto.
Símbolo de
mensaje de
respuesta
Están representados con una línea discontinua y
una punta de flecha simple. Estos mensajes son las
respuestas a las llamadas.
Símbolo de
eliminar mensaje
Están representados por una línea continua y una
punta de flecha sólida, seguida de una X. Este
mensaje destruye un objeto.
Ejemplos:
Tutorial de diagrama de secuencia UML. (s/f). Lucidchart. Recuperado el 11 de
febrero de 2023, de https://www.lucidchart.com/pages/es/diagrama-de-
secuencia
Diagramas de colaboración
¿Qué es un diagrama UML de colaboración?
Los diagramas de colaboración también se conocen como diagramas de comunicación. Pueden
demostrar cómo se comunican los objetos para ejecutar las acciones específicas o un aspecto de un
caso de uso. Los diseñadores pueden usar diagramas de colaboración para explicar e identificar los
roles de los objetos que realizan un flujo específico de eventos en un caso de uso. Son la principal
fuente de información utilizada para establecer roles e interfaces de clase.
Escenarios de aplicación para diagramas de colaboración
Estos son algunos ejemplos de situaciones en las que los diagramas de colaboración pueden resultar
beneficiosos:
• Crear una vista amplia de un grupo de objetos que colaboran entre sí, especialmente dentro
de un sistema en tiempo real.
• Asignar la capacidad a las clases explorando los atributos del comportamiento de un sistema.
• Modelar colaboraciones, procesos u organización jerárquica en la arquitectura de un
sistema.
• Proporcionar una descripción de los objetos que operan juntos dentro de un marco
orientado a objetos.
• Para mostrar múltiples posibilidades y alternativas para el mismo caso de uso.
• Para ilustrar la ingeniería de avance y retroceso.
• Capturar la información que pasa entre los objetos.
• Para visualizar la lógica de un sistema complejo.
Beneficios de un diagrama de colaboración
• Refuerza los aspectos estructurales de un sistema de interacción que es cómo se conecta la
línea de vida.
• Los mensajes transmitidos en secuencia se muestran mediante la numeración jerárquica de
cada mensaje.
• Permite centrarse en los elementos estructurales y no en el flujo del mensaje como se indica
en los diagramas de secuencia.
Inconvenientes de un diagrama de colaboración
Explorar todos los objetos del diagrama no es sencillo.
El estado de un objeto cambia con frecuencia, lo que hace que sea problemático seguir la pista de
cada cambio en cada objeto presente en el sistema.
Hay casos en los que hay demasiados objetos presentes en el diagrama de colaboración y esto puede
colapsar el diagrama.
Relaciones entre el diagrama de colaboración y el diagrama de secuencia
Los diagramas de secuencia y los diagramas de colaboración muestran los mismos detalles, pero
simplemente lo presentan de manera diferente. Dentro del UML los diagramas de colaboración y de
secuencia son las dos formas de diagramas de interacción.
Se han utilizado diagramas de colaboración para visualizar la organización estructural y las
interacciones entre objetos. Por otro lado, los diagramas de secuencia se concentran en el orden de
los mensajes que se mueven entre los objetos. No obstante, una sola cifra suele no ser suficiente en
la mayoría de las situaciones para explicar el comportamiento de un sistema, por lo que ambos
diagramas son necesarios.
Símbolos y componentes del diagrama de colaboración.
• Enlaces: Los enlaces conectan objetos y actores. Estos son casos de
asociaciones y cada enlace dentro del diagrama de clases se relaciona con una
conexión.
• Actor: Normalmente, existe una instancia del actor en el comienzo de la interacción.
Si hay varias instancias de actores presentes en el mismo diagrama, concéntrate en
mantenerlas en el exterior del diagrama.
• Objeto: Se representa mediante un símbolo de objeto que muestra su nombre y
subraya su clase, diferenciado por dos puntos.
• Mensaje Un mensaje es una interacción entre objetos que transmiten información
con el objetivo de continuar con la acción. Un mensaje se muestra en los diagramas
de colaboración como una flecha etiquetada, ubicada cerca de un enlace.
(S/f-b). Bing.com. Recuperado el 11 de febrero de 2023, de
https://www.bing.com/search?q=diagrama+de+colaboracion&qs=n&form=QBRE&sp=-
1&pq=diagrama+de+secuenci&sc=10-
20&sk=&cvid=DA9F7CD4A56C4B31B88A6AEAF4C95E31&ghsh=0&ghacc=0&ghpl=
Diagramas de estados
¿Qué es un diagrama de estado UML?
Un diagrama de estado UML (también llamado diagrama de estado, diagrama de transición de
estados o diagrama de máquina de estados) muestra los estados por los que pasa una máquina de
estados finitos, es decir, un modelo de comportamiento que consiste en acciones y estados o
transiciones a otros estados. El diagrama proporciona un estado inicial y uno final, así como al menos
un estado intermedio para cada objeto. El diagrama de estado permite, de este modo, representar
el ciclo de vida completo de cualquier sistema, subsistema o componentes o clases del mismo, como
podrían ser una máquina de café, un lector de libros electrónicos o un componente tecnológico de
un vehículo.
El diagrama de estado es uno de los 14 tipos de diagrama definidos en el lenguaje de modelado
unificado (UML), o Unified Modeling Language, y en el lenguaje de modelo de sistemas (SysML, del
inglés Systems Model Language). Se remonta a un concepto propuesto por David Harel en 1987 en
su artículo Statecharts: A Visual Formalism for Complex Systems. Otros tipos de diagramas UML son,
por ejemplo, el diagrama de casos de uso o el diagrama de componentes.
¿Para qué sirve el diagrama de estado UML?
Como ya hemos mencionado, el objetivo de los diagramas de estado es describir el comportamiento
de un sistema con la máxima precisión. Entre otras cosas, esta representación gráfica de los procesos
debería dar respuesta a las siguientes preguntas:
• ¿Qué sucede cuando el objeto está en un estado concreto?
• ¿En qué estado debe estar el objeto para cambiar de comportamiento?
• ¿Cuáles son los desencadenantes?
• ¿Qué propiedades debe tener el objeto para poder cambiar de estado?
Por lo tanto, los diagramas de estado UML se utilizan para optimizar cualquier proceso de desarrollo
donde sea útil visualizar los estados del objeto y las condiciones para que se produzca la transición
de un estado a otro. Suelen emplearse, por ejemplo, en el diseño de sistemas embebidos (en inglés,
embedded systems), donde las señales automatizadas y los procesos en segundo plano deben estar
perfectamente coordinados. En este caso, el diagrama de estado ayuda a los desarrolladores a
visualizar todas las funciones de control y regulación más importantes en un solo esquema.
Diagrama de estado: estructura y componentes
Aunque los diagramas de estado UML se basan solo en unos pocos elementos, combinarlos de
manera inteligente nos permite representar fácilmente secuencias de estado complejas. ¿Cuáles son
los componentes principales y cuál es la estructura básica de un diagrama de estado?
Estados
Los estados son el componente principal de un diagrama de estado. Cada estado real se muestra
siempre en un rectángulo de esquinas redondeadas. Por ejemplo, una puerta puede tener dos
valores de estado:
Asimismo, en el diagrama de estado de la puerta se indicaría que siempre debe cumplirse la
siguiente condición:
• El objeto siempre se encuentra en uno de los dos estados: la puerta está abierta o
cerrada, pero nunca abierta y cerrada al mismo tiempo.
En los diagramas de estado más complejos, el rectángulo puede dividirse en hasta tres zonas
donde se muestran especificaciones de comportamiento (ver transición).
Transición externa: cambio de estado
La transición que figura en el siguiente ejemplo se considera externa y tiene como resultado que el
objeto cambie de estado (entry/exit).
Ejemplo: después de que se active la alarma de una radio-despertador, el estado cambia de “alarma
activada” a “alarma desactivada”.
Transición interna: estado inalterado
Una transición interna no desencadena un cambio de estado, sino una actividad.
Ejemplo: algunos sistemas de contabilidad vuelven a enviar las facturas sin pagar automáticamente
al cliente (transición externa). Si lo que envían es un recordatorio de que la factura está pendiente
de abonar, este representa una transición interna: es decir, aunque hay una actividad (“enviar el
recordatorio”), la factura permanece en el mismo estado (“no pagada”) hasta nuevo aviso.
Un evento desencadenante debe cumplir las siguientes tres condiciones:
• entry: el evento se activa automáticamente cuando se desencadena un estado, es decir,
en todas las transiciones entrantes.
• exit: el evento se desencadena cuando se abandona un estado, es decir, en todas las
transiciones salientes.
• do: el evento se desencadena una y otra vez si no se cambia de estado.
Estas indicaciones pueden anotarse dentro del propio estado para simplificar la representación
del comportamiento bajo el cual se cambia de estado. Hay dos opciones para mostrar estos
desencadenantes de manera gráfica. Una de ellas es indicarlos dentro del recuadro de estado
correspondiente, como ilustra el siguiente ejemplo de diagrama de estado:
Pseudoestados
En los diagramas de estado UML, si algún elemento de control influye en el funcionamiento de
una máquina de estados, pero no tiene asignado ningún valor, se denomina pseudoestado. En
UML 2, la versión actual del lenguaje de modelado unificado, se definen los siguientes diez
pseudoestados:
• Estado inicial (en inglés, initial): sin transición entrante y con una transición saliente
que revela cuál es el estado al principio de la secuencia.
• Estado final (en inglés, final): sin transición saliente; fin de la secuencia de
comportamiento.
• Bifurcación (en inglés, fork): división en varios estados paralelos.
• Sincronización (en inglés, join): sincronización de varios estados paralelos.
• Unión (en inglés, junction): nodo de unión de varias transiciones en serie.
• Elección (en inglés, choice): nodo desde el cual pueden iniciarse diversas transiciones
sobre la base de una decisión previa.
• Punto de entrada (en inglés, entrypoint): síntesis de transiciones similares que entran
en un estado compuesto.
• Punto de salida (en inglés, exitpoint): síntesis de transiciones similares que se originan
en un estado compuesto.
• Historial superficial (en inglés, shallowhistory): almacenamiento del último subestado
activo de un estado compuesto.
• Historial profundo (en inglés, deephistory): almacenamiento del último subestado activo
de todos los niveles jerárquicos de un estado compuesto.
• Diagrama de estado UML: visualizar secuencias de estados de objetos. (s/f). IONOS Digital
Guide. Recuperado el 11 de febrero de 2023, de https://www.ionos.mx/digitalguide/paginas-
web/desarrollo-web/diagrama-de-estado-uml/
https://2.bp.blogspot.com/-b9-
0v0_xts8/UqX9r7qTBlI/AAAAAAAAADU/U3dYZQDDUjQ/s1600/Fig0904.gif
Comentarios
Publicar un comentario