Modelo de 4+1 vistas
Philippe Kruchten
Abstract Este art´ ıculo presenta un modelo para describir la arquitectura de sistemas de software, bas´ndose a en el uso de m´ ltiples vistas concurrentes. Este uso de m´ltiples vistas permite abordar los intereses u u 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 o captarla. Las vistas se dise˜ an mediante un proceso centrado en la arquitectura, motivado por escenarios n y desarrollado iterativamente.
1Introducci´n o
Todos hemos visto muchos libros y art´ ıculos donde se intenta capturar todos los detalles de la arquitectura de un sistema usando un unico diagrama. Pero si miramos cuidadosamente el conjunto de cajas y flechas que ´ muestran estos diagramas, resulta evidente que sus autores han trabajado duramente para intentar representar m´s de un plano que lo que realmente podr´ expresar la notaci´n.¿Es acaso que las cajas representan a ıa o programas en ejecuci´n? ¿O representan partes del c´digo fuente? ¿O computadores f´ o o ısicos? ¿O acaso meras agrupaciones de funcionalidad? ¿Las flechas representan dependencias de compilaci´n? ¿O flujo de control? o Generalmente es un poco de todo. ¿Ser´ que una arquitectura requiere un estilo unico de arquitectura? A veces la arquitectura del software a´ tiene secuelas de un dise˜o del sistema que fue muy lejos en particionar prematuramente el software, o de un n ´nfasis excesivo de algunos de los aspectos del desarrollo del software: ingenier´ de los datos, o eficiencia en e ıa tiempo de ejecuci´n, o estrategias de desarrollo y organizaci´n de equipos. A menudo la arquitectura tampoco o o aborda los intereses de todos sus “clientes”. Variosautores han notado este problema, incluyendo a David Garlan y Mary Shaw [7], Gregory Abowd y Robert Allen [1], y Paul Clements [4]. 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. Tal como se muestra en la Figura 1, cada vista se refiere a un conjunto de intereses de diferentes stakeholders delsistema. • La vista l´gica describe el modelo de objetos del dise˜o cuando se usa un m´todo de dise˜o orientado a o n e n objetos. Para dise˜ar una aplicaci´n muy orientada a los datos, se puede usar un enfoque alternativo n o para desarrollar alg´n otro tipo de vista l´gica, tal como diagramas de entidad-relaci´n. u o o • La vista de procesos describe los aspectos de concurrencia y sincronizaci´ndel dise˜o. o n • La vista f´ ısica describe el mapeo del software en el hardware y refleja los aspectos de distribuci´n. o • La vista de desarrollo describe la organizaci´n est´tica del software en su ambiente de desarrollo. o a Los dise˜adores de software pueden organizar la descripci´n de sus decisiones de arquitectura en estas n o cuatro vistas, y luego ilustrarlas con un conjunto reducido decasos de uso o escenarios, los cuales constituyen la quinta vista. La arqutitectura evoluciona parcialmente a partir de estos escenarios.
∗ Art´ ıculo
publicado en IEEE Software 12(6), Noviembre 1995. Traducido por Mar´ Cecilia Bastarrica en Marzo 2006 ıa
1
En Rational, aplicamos la f´rmula de Dwayne Perry y Alexander Wolf [9] de manera independiente para o cada vista:
Arquitectura delsoftware = {Elementos, Formas, Motivaci´n/Restricciones} o
Para cada vista definimos un conjunto de elementos (componentes, contenedores y conectores), captamos la forma y los patrones con que trabajan, y captamos la justificaci´n y las restricciones, relacionando la o arquitectura con algunos de sus requisitos. Cada vista se describe en lo que llamamos “diagrama” (blueprint) que usa su...
Regístrate para leer el documento completo.