Nodo Condicional [Guía de Usuario de Enterprise Architect] |
Top Previous Next |
UnNodo de Actividad EstructuradaCondicional es el equivalente de modelado de una construcción de programación If-Then-Else. En su forma más sencilla, consiste en una Cláusula que contenga:
Puede tener más de una Cláusula, de modo que si la condición de Prueba no está satisfecha, su Cuerpo es ignorado y el procesamiento pasa a la siguiente Cláusula y evalúa a otra condición de Prueba. Cada Cláusula tiene un ActionPin Decisivo para contener el resultado de la Prueba, y un ActionPin de Salida del Cuerpo para guardar el resultado de las acciones del Cuerpo (si se ejecuta). El propio Nodo Condicional tiene un ActionPin resultante que hace disponible el resultado general del Nodo (la salida del primer Cuerpo para ser ejecutada). Un Nodo Condicional se representa en un diagrama de Actividad como este:
Usted define Nodos Condicionales al arrastrar otros elementos del Diagrama de Actividad desde la página de Caja de Herramientas hacia la partición apropiada del elemento, y vincular y organizar la estructura según sea necesario. Los elementos se alinean en la parte superior izquierda de la partición, por lo que redimensionar el nodo mantiene la organización de la estructura dentro de las partición. Si se intenta reducir el tamaño del nodo por debajo del tamaño de la estructura, el nodo se predetermina automáticamente al "mejor ajuste" de tamaño. Cuando crea un Nodo Condicional, se muestra la ventana de Propiedades del elemento. Mucho de esto lo puede completar al igual que para cualquier otro elemento. Sin embargo, para el Nodo Condicional la ventana muestra una página adicional de Condición. En esta página, en el panel de Resultado, agregue un pin de acción para contener el resultado para el nodo, haciendo clic en el botón Agregar para mostrar la ventana Seleccionar Pines (una versión de la ventana Seleccionar <ítem>). Un Nodo Condicional contiene automáticamente una Cláusula que contenga una partición de Prueba y una partición del Cuerpo, y un Pin Decisivo y un Pin de Salida del Cuerpo. Puede agregar más Cláusulas según lo requerido. Para cada Cláusula puede agregar un Pin de Acción para el Decisivo y para la Salida del Cuerpo. Haga clic en el botónGuardar para guardar la definición de la Cláusula. La ventana Seleccionar Pin revela sólo pines de Salida como apropiados al contexto. Si el Pin de Acción requerido no existe todavía, puede hacer clic en el botón Agregar Nuevo en la ventana para crear automáticamente un pin de Salida bajo el nodo padre apropiado. Por el Resultado y entradas de Salida del Cuerpo, puede revisar la ubicación exacta de cada Pin de Acción haciendo clic derecho en la entrada y seleccionando la opción del menú contextual Buscar en el Explorador de Proyectos. El panel de Nodos, de forma predeterminada, lista las Acciones y Actividades contenidas en la partición de Prueba. Haga clic en el botón de radio Cuerpo para listar los elementos contenidos en la partición del Cuerpo. Un elemento debe estar completamente contenido en la partición de Cuerpo para estar listado ahí - si se superpone con la partición de Prueba de cualquier manera, se trata como parte de la partición de Prueba. Agregar o Eliminar Cláusulas Para agregar otra Cláusula, haga clic en el botón Agregar debajo de la lista Cláusula(s). Esto inserta una nueva Cláusula en la lista, e identifica cual es la Cláusula anterior (Predecesor) y (si es apropiado), cual es la siguiente Cláusula (Sucesor). Los campos restantes en el panel Cláusula(s) son borrados para permitirle agregar Pines de Acción Decisivo y Salida del Cuerpo. Las particiones Nueva Prueba y Cuerpo se agregan inmediatamente al elemento en el diagrama, y puede rellenar estas particiones con elementos de Actividad, lo cuales luego son identificados en el panel Nodos. Para eliminar una Cláusula, resáltela en la lista y hágale clic en el botón Eliminar. Esto elimina inmediatamente las particiones correspondientes de la Cláusula desde el diagrama, junto con todos sus elementos de Actividad contenidos. Eliminar una Cláusula de entre dos otras Cláusulas ajusta el orden numérico; por ejemplo, si la Cláusula 2 se elimina de entre la Cláusula 1 y la Cláusula 3, la Cláusula 3 se renombra como Cláusula 2, y cualquier otras Cláusula se mueve también un lugar hacia arriba. Especificación UML OMG: La especificación UML OMG (Superestructura de Especificación UML, v2.1.1, p.355) estados: Un nodo condicional es un nodo de actividad estructurado que representa una elección exclusiva entre varias alternativas. Un nodo condicional consiste en una o más cláusulas. Cada cláusula consiste en una sección de prueba y una sección de cuerpo. Cuando el nodo condicional comienza la ejecución, las secciones de prueba de las cláusulas son ejecutadas. Si una o más secciones de prueba arrojan un valor verdadero, una de las secciones del cuerpo correspondientes serán ejecutadas. Si más de una sección de prueba arroja un valor verdadero, sólo una sección del cuerpo será ejecutada. La elección es no determinista menos que se especifique la secuencia de prueba de cláusulas. Si ninguna sección de prueba arroja un valor verdadero, entonces no se ejecutada ninguna sección del cuerpo; esto puede ser un error semántico si se esperan valores de salida del nodo condicional. |