Introducción a mecanismos de análisis
Un mecanismo de análisis representa un patrón que constituye una solución común a problema común. Los mecanismos de
análisis pueden mostrar patrones de estructura, patrones de comportamiento o ambos. Los mecanismos se utilizan durante
el análisis para reducir su complejidad y aumentar la coherencia proporcionando a los diseñadores una representación
taquigrafiada del comportamiento complejo. Estos mecanismos permiten que el esfuerzo de análisis se centre en la
conversión de los requisitos funcionales en conceptos de software sin atascarse en la especificación de comportamientos
relativamente complejos que son necesarios para para dar soporte a la función, pero no esenciales. Los mecanismos de
análisis suelen ser el resultado de la creación de instancias de uno o varios patrones arquitectónicos o de
análisis.
Los mecanismos de análisis se utilizan principalmente para representar 'marcadores de posición' para tecnología
compleja en las capas inferiores o del medio de la arquitectura. Al utilizar los mecanismos como 'marcadores de
posición' en la arquitectura, disminuye la posibilidad de que el esfuerzo arquitectónico se entretenga en los detalles
de comportamiento del mecanismo. Por ejemplo, la necesidad de tener casos de uso de distribución de ciclos de vida de
objetos, ciclos de vida de procesos o la conclusión y el inicio del sistema define la necesidad de permanencia del
objeto. La permanencia es un mecanismo especialmente complejo, por lo que no es recomendable que, durante el análisis,
nos entretengamos en los detalles de cómo vamos a conseguir la permanencia. Esto da lugar a un mecanismo de análisis de
la 'permanencia' que nos permite hablar de objetos permanentes y capturar los requisitos que nos encontraremos en el
mecanismo de permanencia, sin tener que preocuparnos de qué va a hacer exactamente el mecanismo de permanencia y cómo
funcionará.
Normalmente, aunque no necesariamente, los mecanismos de análisis no están relacionados con el dominio del problema,
sino que son conceptos "informáticos"; por lo tanto, suelen ocupar las capas inferiores o del medio de la arquitectura.
Proporcionan comportamientos específicos de la clase o subsistema relacionado con el dominio, o equivalen a la
implementación de la cooperación entre clases y/o subsistemas. Los mecanismos pueden implementarse como una infraestructura. Entre los ejemplos se encuentran mecanismos para manejar la
permanencia, la comunicación entre procesos, los errores, las notificaciones, la mensajería, etc.
Sin embargo, a medida que se establecen más patrones de análisis en varios dominios, la creación de instancias parciales
o completas de estos mecanismos de análisis hará que estos mecanismos aparezcan en las capas superiores de la
arquitectura.
-
Permanencia
Para todas las clases cuyas instancias pueden convertirse en permanentes, debemos identificar:
-
Granularidad: rango de tamaño de los objetos que deben ser permanentes
-
Volumen: número de objetos que deben ser permanentes
-
Duración: durante cuánto tiempo hay que mantener el objeto normalmente
-
Mecanismo de recuperación: cómo se identifica exclusivamente y se recupera un objeto dado
-
Frecuencia de actualización: ¿los objetos son más o menos constantes; se actualizan permanentemente?
-
Fiabilidad: ¿los objetos deben sobrevivir a un bloqueo del proceso, del procesador o de todo el
sistema?
-
-
Comunicación entre procesos
Para todos los elementos de modelo que deben comunicarse con componentes o servicios que se ejecutan en otros
procesos o hebras, debemos identificar:
-
Latencia: ¿con qué velocidad deben comunicarse los procesos entre sí?
-
Sincronización: comunicación asíncrona
-
Tamaño del mensaje: es más adecuado un espectro que un solo número.
-
Protocolo, control de flujos, almacenamiento intermedio, etc.
Otros mecanismos típicos son:
-
Direccionamiento de mensajes
-
Sincronización y control de procesos
-
Gestión de transacciones
-
Intercambio de información
-
Seguridad
-
Redundancia
-
Notificación de errores
-
Conversión de formato
El proceso para describir los mecanismos de análisis es:
-
Recopile todo los mecanismos de análisis en una lista
El mismo mecanismo de análisis puede aparecer con varios nombres diferentes en realizaciones de casos de uso
diferentes, o diseñadores diferentes. Por ejemplo, almacenamiento, permanencia, base de datos
y depósito pueden referirse a un mecanismo de permanencia. Comunicación entre procesos, paso de
mensajes o invocación remota pueden referirse a un mecanismo de comunicación entre procesos.
-
-
Establezca una correlación entre las clases de cliente y los mecanismos de análisis
-
Las clases y los subsistemas identificados deben correlacionarse con los mecanismos de análisis identificados:
las flechas indican que la clase utiliza el mecanismo. Es frecuente que una clase de cliente requiera los
servicios de varios mecanismos.
-
Identifique las características de los mecanismos de análisis
Para discriminar en un rango de diseños potenciales, identifique las características clave que se utilizan para
calificar los mecanismos de análisis. Estas características incluyen una parte de funcionalidad y otra parte de
tamaño y rendimiento.
-
-
Modele utilizando las colaboraciones
Una vez que haya identificado y nombrado los mecanismos de análisis, deben, en última instancia, modelarse a
través de la colaboración de una 'sociedad de clases' (consulte [BOO98]); algunas de estas clases no proporcionan directamente funciones de la
aplicación, sólo existen para dar soporte. Muy a menudo, estas 'clases de soporte' se ubican en las capas
inferiores o del medio de una arquitectura en capas; de esta manera, proporcionan un servicio de soporte común
a todas las clases del nivel de aplicación.
Si el mecanismo identificado es bastante común, es posible que existan patrones desde los que se puedan crear instancias del mecanismo,
mediante la vinculación de clases existentes y la implementación de clases nuevas, según requiera el patrón. Un
mecanismo de análisis producido de esta esta manera será abstracto y requerirá un mayor perfeccionamiento
mediante el diseño y la implementación.
Los mecanismos de análisis se documentan en el apartado Producto de trabajo: Documento de arquitectura de software. A medida
que el software madura, el apartado Producto de trabajo: Documento de arquitectura de software incluye
una relación (o correlación) de mecanismos de análisis con mecanismos de diseño y mecanismos de implementación, y el
fundamento asociado de estas elecciones.
|