Modelo de Toma de Decisiones

## **¿Porque un modelo de toma de desiciones?**

Teniendo en cuenta que en la etapa de diseño frecuentemente se presentan algunos inconvenientes comunes, se identificaron alrededor de once problemas recurrentes a los que un arquitecto La presente investigación busca brindarle a un ingeniero o arquitecto de software, un recurso que facilite el proceso de toma de decisiones en la elección de patrones de diseño de una arquitectura orientada a Servicios (SOA). Debido a que en la actualidad existe un número significativo de patrones de diseño, es difícil para un arquitecto evaluar todos y cada uno de ellos para evidenciar cuál de estos se ajusta a las necesidades de negocio del proyecto, dicha revisión implica mayor tiempo y recursos de forma tal, que en ocasiones se puede optar por no realizar una revisión exhaustiva y se termina implementando los pocos patrones que el arquitecto conoce y que a lo largo de su experiencia ha implementado, de esta manera se puede observar que la elección de los patrones en la etapa de diseño termina siendo el resultado de los conocimientos y la experiencia de cada arquitecto, donde no todos los ingenieros de software o arquitectos tienen la experiencia suficiente en la implementación de patrones.

## **Pasos para tomar una decisión racional**

De acuerdo al proceso de decisión racional, los pasos que un arquitecto o ingeniero de software debe seguir para tomar una decisión racional son:

## **Selección de Patrones**

Una vez que se identificado el requerimiento específico o el problema de diseño que se presenta en la etapa de diseño del proyecto SOA, el siguiente paso consiste en determinar un criterio para la selección de alternativas, en este caso, los objetivos del proyecto o atributos de las que se espera una óptima solución. Dicho criterio esencialmente representa aquello que importa en la implementación. Los pasos cuatro y cinco enuncian la  evaluación y del análisis de alternativas, pero para ello es necesario saber cómo se selecciona un patrón de diseño.

* Considerar cómo los patrones de diseño solucionan problemas de diseño
* Buscar las intenciones de cada patrón
* Estudiar cómo se interrelacionan los patrones
* Estudiar patrones de propósito similar
* Examinar la causa de un rediseño
* Considerar qué debería ser variable en un diseño

## **Implementación de Patrones**

Después de la elección de los patrones pertinentes es necesario revisar de qué forma pueden ser implementados, teniendo en cuenta la descripción relacionada en el catálogo de patrones propuestos en la wiki de Patrones de diseño SOA como producto de la presente investigación, así para la implementación de un patrón de diseño se pueden seguir los siguientes lineamientos:

1. Leer el patrón una vez para tener una visión general
2. Volver y estudiar la estructura, los participantes y las colaboraciones
3. Ver un ejemplo concreto codificado del patrón
4. Elegir nombres para los participantes del patrón que sean significativos en el contexto de la aplicación
5. Definir las clases
6. Definir nombres específicos de la aplicación para las operaciones en el patrón
7. Implementar las operaciones que realizarán las responsabilidades y colaboraciones del patró

## Bibliografía

HITT, Michael A., BLACK, J. Stewart y PORTER, Lyman W. Administración. Mexico. Pearson Education. Ed. 9. 2006. ISBN: 970-26-0760-4