martes, 8 de noviembre de 2011

Visualización en Proyectos de Software

Las técnicas de visualización se han utilizado en diferentes disciplinas con un propósito en común: convertir lo abstracto en concreto y lograr, a través de diferentes notaciones, convenciones y lenguajes, transmitir desde el punto de vista conceptual una idea o conocimiento en el proceso de diseño.

Desde el punto de vista de la Ingeniería del Software, sin importar los métodos de diseño (orientados a procesos, orientado a datos, orientado a objetos, orientado a servicios), se ha recurrido a las técnicas de visualización para plasmar en diferentes modelos, los elementos y sus relaciones.

Independientemente de los diferentes métodos de análisis y diseño, para la Ingenieria de Software en particular, las técnicas de visualizacion juegan un papel preponderante, ya que es el medio por el cual los ingenieros comunican información de diseño entre las diferentes fases del ciclo de vida de desarrollo de software pasando por modelos y diseños conceptuales, lógicos y físicos.

Para comprender la importancia de la visualización en la Ingeniería de Software describimos a continuación cómo puede ser aplicada en diferentes estándares de diseño.

Visualización con UML

La notación UML se ha convertido en un estándar para modelar y visualizar diseños a través de la metodología orientada a objetos. Mediante este estándar se modelan todos aquellos elementos que configuran la arquitectura de un sistema de información y, por extensión, de los procesos de negocio de una
organización. De la misma manera que los planos de un arquitecto disponen el esquema a partir del cual se construye un edificio, los diagramas UML suministran un modelo de referencia para formalizar los procesos, reglas de negocio, objetos y componentes de una organización. La interacción de todos estos elementos es una representación de la realidad.

Nuestros límites para entender esta realidad están en nuestro lenguaje. El mundo es la suma total de lo que podemos definir, organizar y visualizar. Cabe preguntarse ¿de qué manera un modelo en UML representa nuestra experiencia?. Es necesario mostrar como este lenguaje puede ser aplicado a la realidad tal como la conocemos y como la podemos compartir con los demás.

Visualización en SOA

Existen diferentes metodologías, frameworks o modelos que permiten aplicar la visualización en diseño orientado a servicios. Uno de esos modelos es SOMF que dependiendo de las personas a quien se vaya a mostrar se utilizan diferentes vistas, que son formas diferentes de observar la misma arquitectura. El propósito de cada vista es mostrar y resaltar la información que sea relevante al "Stakeholder" hacia el cual va dirigida.

SOMF proporciona diferentes vistas a cada "Stakeholder" de un proyecto de arquitectura empresarial como arquitectos, analistas, modeladores, desarrolladores y administradores.
  • Manager: Le permite centrarse en los aspectos estratégicos y de planificación de desarrollo de software, antes de asignar presupuestos y comprometer recursos para la construcción de entornos de producción.
  • Arquitecto, Analista: Modelo de aplicaciones, sistemas y sus entornos operativos para verificar el comportamiento del software, el rendimiento y la capacidad de procesamiento antes de participar en la construcción de costosos proyectos de software.
  • Desarrollador: Implementar la funcionalidad de los componentes de modelo de software, intercambio de mensajes, y transacciones, antes de dedicar tiempo a la escritura de código fuente.
  • Analista: Proporciona modelos de productos de software para comprobar su viabilidad y su contribución a la empresa, antes de asignar presupuestos para grandes proyectos de construcción de software. 
El siguiente esquema ilustra los elementos del modelo SOMF.