Resumen Arquitectura 4+1 Vistas Qu es la Arquitectura 4+1 Vistas?
La arquitectura ayuda a los creadores o realizadores de un software, a mantener un esquema organizado, y estructurado de forma que se facilite la creacin del software. Este trabajo lo hace, al separar el software o ms especficamente, enfocar el software desde diferentes perspectivas o vistas, cada una de estas vistas representa diferentes aspectos y caractersticas del software. El nombre de esta arquitectura se debe a que consta de 4 vistas principales, cada una de estas vistas tiene caractersticas y funciones diferentes, adems existe una vista que se encarga de unir los conceptos de las otras 4 vistas, esta sera el escenario y se denomina la vista +1. Las vistas son: a. Vista Lgica b. Vista de Desarrollo c. Vista de Procesos d. Vista Fsica e. Escenarios
Vista Lgica La vista lgica, es la que se encarga de los requisitos funcionales, describe que lo que el sistema debe ofrecerle al usuario. Se usan conceptos de abstraccin, encapsulamiento y herencia, de igual manera que en la programacin orientada a objeto, esta metodologa facilita el anlisis funcional, as como nos sirve para identificar mecanismos y elementos dediseos comunes en diversas partes del sistema. La arquitectura lgica se representa mediante diagramas de clases y templates de clases. Los diagramas muestran un conjunto de clases y sus relaciones lgicas, as como su uso, asociaciones , composicin y herencia. Por otro lado los templates describen las principales operaciones de la clase, estas toman cada clase de manera individual.
La notacin para la vista lgica se deriva de la notacin de Booch, aunque no se ha definido una notacin fija para esta arquitectura, para este ejemplo utilizaremos la notacin antes mencionada. Esta notacin se simplifica ya que solo se muestran los tems u objetos que son relevantes para la vista o arquitectura. A continuacin una ilustracin de la notacin utilizada.
Vista de Procesos Cabe destacar que un proceso es una agrupacin de tareas que forman una unidad ejecutable. La vista de procesos toma en cuenta requisitos no funcionales, como la tolerancia a errores, el rendimiento, confiabilidad y disponibilidad del sistema. Esta vista se describe en varios niveles de abstraccin donde cada nivel se refiere a distintos intereses, el nivel ms alto es un conjunto de redes lgicas de procesos que se ejecutan de forma independiente, los mismos pueden estardistribuidos en diferentes recursos (hardware) conectados mediante un bus, una LAN o WAN. Estas redes sirven para manejar las operaciones del sistema que son en lnea, junto con las que no lo son. Al igual que en las otras vistas, se utiliza una notacin derivada de la de Booch.
ABMR UTP 2010
1IL-131
Vista de Desarrollo La vista de desarrollo es la encargada de la organizacin de las partes del software, en su ambiente de desarrollo. El software se distribuye en partes pequeas, ya sea en subsistemas o bibliotecas de programas, donde cada parte puede ser desarrollada por un desarrollador, o un grupo pequeo de desarrolladores, de esta manera se mantiene una mejor organizacin de las partes del software. Los subsistemas mencionados se jerarquizan por capas, cada capa muestra una unin o interfaz estrecha con las capas superiores. La vista de desarrollo toma en cuenta aspectos que puedan hacer ms fcil la etapa de desarrollo como lo son la administracin del software, reutilizacin de cdigo, restricciones impuestas por la herramienta de desarrollo o lenguaje de programacin que se utilice. La vista de desarrollo utiliza una variante de la notacin de Booch donde solo se limita a los objetos relevantes para la arquitectura. Acontinuacin una ilustracin con los diagramas utilizados para esta vista.
Vista Fsica Esta vista toma en cuenta principalmente, los aspectos no funcionales del sistema, como lo son la disponibilidad, la tolerancia a fallas, el rendimiento, entre otros. Se toma en cuenta si el software se ejecuta en una red de computadores o nodos de procesamiento. Se pueden usar diferentes configuraciones y situaciones para pruebas, as como utilizar el sistema para distintos sitios y usuarios. Es importante que el mapeo (ejecucin) del software en los nodos se flexible, ya que la intervencin de los nodos y cualquier modificacin que se haga en los mismos debe tener un impacto mnimo sobre el cdigo fuente del software. La notacin de la vista fsica es la siguiente.
Escenarios En esta parte las cuatro vistas anteriores trabajan en conjunto, mediante agrupaciones que se realizan generalizando algunos casos de usos. En esta vista vemos la interaccin entre objetos y procesos. Se utilizan diagramas de escenarios y diagramas de interaccin de objetos. Su notacin es la siguiente.
La notacin es similar a la de la vista lgica, pero utiliza los conectores de la vista de procesos para la interaccin entre objetos.