viernes, 28 de agosto de 2015

El Modelo de “4+1” Vistas de la Arquitectura del Software

Un tema interesante que encontré, es el modelo denominado "4+1" del profesor Philippe Kruchten, tambien denominado vistas recurrentes. Este uso de múltiples vistas permite abordar los intereses de los distintos “stakeholders” de la arquitectura por separado: usuarios finales, desarrolladores, ingenieros de sistemas, administradores de proyecto, etc., y manejar los requisitos funcionales y no funcionales separadamente. Se describe cada una de las cinco vistas descritas, conjuntamente con la notación para captarla. Las vistas se diseñan mediante un proceso centrado en la arquitectura, motivado por escenarios y desarrollado iterativamente. 



El modelo de 4+1 vistas fue desarrollado para remediar este problema. El modelo 4+1 describe la arquitectura del software usando cinco vistas concurrentes. Cada vista se refiere a un conjunto de intereses de diferentes stakeholders del sistema. 

La arquitectura del software se trata de abstracciones, de descomposición y composición, de estilos y estética. También tiene relación con el diseño y la implementación de la estructura de alto nivel del software. Los diseñadores construyen la arquitectura usando varios elementos arquitectónicos elegidos apropiadamente. Estos elementos satisfacen la mayor parte de los requisitos de funcionalidad y performance del sistema, así como también otros requisitos no funcionales tales como confiabilidad, escalabilidad, portabilidad y disponibilidad del sistema. Bueno pues, en el modelo de Kruchten, propone un sistema de software en 4 vistas bien diferenciadas, cada una de estas vistas ha de mostrar toda la arquitectura del sistema de  software que se este documentando, pero cada una de ellas ha de documentarse de forma diferente y ha de mostrar aspectos diferentes del software.

Para entender mejor este concepto, podemos tomar de ejemplo, si un arquitecto nos enseña el plano de una casa, nos esta enseñando una vista de la casa, pero en el momento en el que nos explica que significado tienen cada símbolo, por ejemplo que determinado símbolo representa una puerta, nos esta dando su punto de vista para entender mejor el plano. si luego nos muestra otro plano en donde se muestren diferentes símbolos con otras representaciones de la casa, nos dara otro punto de vista.

Esto para comprender mejor los puntos de vista, ahora podemos ver mejor cada una de las vistas que propone el modelo:


  • La vista lógica describe el modelo de objetos del diseño cuando se usa un método de diseño orientado a objetos. Para diseñar una aplicación muy orientada a los datos, se puede usar un enfoque alternativo para desarrollar algún otro tipo de vista lógica, tal como diagramas de entidad-relación.
  • La vista de procesos describe los aspectos de concurrencia y sincronización del diseño. 
  • La vista física describe el mapeo del software en el hardware y refleja los aspectos de distribución. 
  • La vista de desarrollo describe la organización estática del software en su ambiente de desarrollo.

Como parte final, están los escenarios los cuales constituyen la quinta vista. y es que los diseñadores de software pueden organizar la descripción de sus decisiones de arquitectura en estas cuatro vistas, pero estas son ilustrarlas en un conjunto reducido de casos de uso o escenarios,  La arquitectura evoluciona parcialmente a partir de estos escenarios. 

Los escenarios son de alguna manera una abstracción de los requisitos mas importantes. Su diseño se expresa mediante el uso de diagramas de escenarios y diagramas de interacción de objetos. Esta vista es redundante con las otras (y por lo tanto “+1”), pero sirve a dos propósitos principales:



  • Como una guía para descubrir elementos arquitectónicos durante el diseño de arquitectura tal como lo describiremos mas adelante 
  • Como un rol de validación e ilustración después de completar el diseño de arquitectura, en el papel y como punto de partido de las pruebas de un prototipo de la arquitectura. 

http://jarroba.com/modelo-41-vistas-de-kruchten-para-dummies/
http://cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:modelo4_1.pdf


No hay comentarios:

Publicar un comentario