Generación de código - Diagramas de actividad |
Superior Previo Próximo |
La generación de código desde un diagrama de Actividad requiere una fase de validación, durante la cual Enterprise Architect usa el optimizador de gráfico de ingeniería de sistemas para analizar el diagrama y ordenarlo en varias estructuras generables de código. Las estructuras también se transforman en una de varios tipos de acción (si es apropiado), similar a las estructuras del diagrama de interacción. Los macros de generación de código EASL luego se usan para generar código de estas estructuras; vea el tema Macros de generación de código EASL. Para proporcionar un análisis entendible de estas características, como ejemplo se muestran varios diagramas del proyecto EAExample. Sentencia condicional Para modelar una sentencia condicional, use nodos de Decisión/Combinación. Alternativamente, puede implicar Decisiones/Combinaciones internamente. El optimizador de gráfico espera un nodo de Combinación asociado para cada nodo de Decisión, para facilitar una búsqueda eficiente de varias ramas y el análisis de las estructuras de código dentro de ellas. El siguiente diagrama se interpreta como una sentencia Si anidada. e El código de Java que se puede generar de este diagrama es como el siguiente:
public boolean doValidateUser(String Password,String UserName) { loadAccountDetails(); boolean bRet; if (Username==name) { if (Password == password) { bRet = true; bValidUser = true; } else { bRet = false; }
} else { bRet = false; }
return bRet; } Acciones de invocación (Acción Llamada a Operación, Acción Llamada a Comportamiento) Las Acciones Llamada se manejan más eficientemente. Cada acción tiene argumentos para los parámetros del comportamiento asociado (use el botón Sincronizar de la ventana Argumentos para sincronizar argumentos y parámetros). El siguiente diagrama demuestra el uso de Acción Llamada a Comportamiento y Acción Llamada a Operación mezclado con una sentencia condicional. El código Java generado aparece como el siguiente:
public void doMarkAccountClosed() { doValidateUser(password,name); if (bValiduser) { setClosed(true);
} else { System.out.println("Invalid user"); } return; } Bucles El optimizador de gráfico de ingeniería de sistema de Enterprise Architect también es capaz de analizar e identificar bucles. Un bucle identificado se ordena internamente como un Action Loop, el cual es interpretado por las macros de generación de código EASL para generar el código requerido. El siguiente diagrama demuestra como se puede modelar un bucle. El código de Java generado puede aparecer como el siguiente:
public void doCheckForOutstandingOrders() { if (status != closed) { initializeStateMachine(); while (status != closed) { runStateMachine(); } } else { //No Outstanding orders; } return; } |