Estilos Y Patrones Arquitectónicos
Enviado por lice123456 • 27 de Marzo de 2014 • 1.962 Palabras (8 Páginas) • 769 Visitas
Arquitectura de Software: Estilos y patrones arquitectónicos
I. INTRODUCCIÓN
La arquitectura de software se refiere a la estructura de todo el software y a la forma en que la estructura proporciona la totalidad conceptual de un sistema.
El diseño arquitectónico define la relación entre los elementos estructurales primordiales del software , los patrones de diseño se utilizan para lograr los requisitos que se han definido para el sistema, y las restricciones que afectan la manera en la que se usan los patrones arquitectónicos.
Los patrones expresan el esquema fundamental de organización para sistemas de software. Tienen un un conjunto de subsistemas predefinidos, especifican sus responsabilidades e incluyen reglas o guias para organizar las relaciones entre ellos, asi que nos ayuda a especificar la estructura fundamental de una aplicación.
Cuando nos referimos a arquitectura de tres capas hablamos de la arquitectura Cliente Servidor,
MVC u Orientada a Servicios
El MVC es el acrónimo de Modelo vista controlador es orientada a objeto, es la comunicación entre un modelo de datos, una vista y unos objetos que los controlan, hoy en día hay muchas empresas que usan la arquitectura MVC ya que pueden documentar y reutilizar mas fácilmente el código.
En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se
llama modelo Cliente-Servidor, éste es un modelo que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las Comunicaciones. El término Cliente/Servidor fue usado por primera vez en 1980 Para referirse a Computadores en red. Este modelo Cliente/Servidor empezó a ser aceptado
a finales de los 80’s. Su funcionamiento es sencillo: se tiene una máquina cliente,
que requiere un servicio de una máquina servidor, y éste realiza la función para la
que está programado , una computadora puede tener dos funciones cliente y servidor dependiendo del software de configuración.
SOA es un estilo de arquitectura que enfatiza el uso de servicios de red, seguros, compartibles, sirve para incrementar la flexibilidad del negocio.
Desde una perspectiva empresarial, los servicios son activos independientes que se corresponden con actividades comerciales reconocibles o funciones comerciales del mundo real y que son accesibles de acuerdo con las políticas que se hayan establecido para los mismos.
II. DEFINICIONES
Es posible encontrar numerosas significados del término Arquitectura de Software, cada una con planteamientos diversos. Se hace evidente que su conceptualización sigue todavía en discusión, puesto que no es posible referirse a un diccionario en busca de un significado, y tampoco existe un estándar que pueda ser tomado como marco de referencia.
Sin embargo, al hacer un análisis detallado de cada uno de los conceptos disponibles, resulta interesante la existencia de ideas comunes entre los mismos, sin observarse planteamientos contradictorios, sino más bien complementarios. La intención primordial del análisis no es concluir ni proponer un concepto que englobe todas las ideas planteadas hasta el momento, sino establecer aquellos elementos que no deben perderse de vista al momento de introducirse en el contexto de las arquitecturas de software, y por tanto, en un ambiente de evaluación de arquitectura
de software.
La arquitectura de software cuenta con varios modelos, ellos son:
A. Modelos estructurales
Son similares a la vista estructural, pero su énfasis principal radica en la estructura coherente del sistema completo, en vez de concentrarse en su composición. Los modelos de framework a menudo se refieren a dominios o clases de problemas específicos. El trabajo que ejemplifica esta variante incluye arquitecturas de software específicas de dominios, como CORBA, o modelos basados en CORBA, o repositorios de componentes específicos, como PRISM.
B. Modelos dinámicos
puede referirse a los cambios en la configuración del sistema, o a la dinámica involucrada en el progreso de la computación, tales como valores cambiantes de datos.
C. Modelos de proceso
Se concentran en la construcción de la arquitectura, y en los pasos o procesos involucrados en esa construcción. En esta perspectiva, la arquitectura es el resultado de seguir un argumento (script) de proceso. Esta vista se ejemplifica con el actual trabajo sobre programación de procesos para derivar arquitecturas.
III. CONCEPTOS FUNDAMENTALES
A lo largo del proceso de diseño y desarrollo, los atributos de calidad juegan un papel importante, pues en base a estos se generan las decisiones de diseño y argumentos que los justifican (Bass et al., 2000). Dado que la arquitectura de software inhibe o facilita los atributos de calidad (Bass et al., 1998), resulta de particular interés analizar la influencia de ciertos elementos de diseño utilizados para la definición de la misma, determinando sus características. Estos elementos de diseño son los estilos arquitectónicos, los patrones arquitectónicos y los patrones de
diseño.
A. Estilo Arquitectónico
Shaw y Garlan(1996) definen estilo arquitectónico como una familia de sistemas de software en términos de un patrón de organización estructural, que define un vocabulario de componentes y tipos de conectores y un conjunto de restricciones de cómo pueden ser combinadas. Para muchos estilos puede existir uno o más modelos semánticos que especifiquen cómo determinar las propiedades generales del sistema partiendo de las propiedades de sus partes.
Los estilos arquitectónicos son los siguientes:
• Datos Centralizados
Sistemas en los cuales cierto número de clientes
accede y actualiza datos compartidos de un
repositorio de manera frecuente.
• Flujo de Datos
El sistema es visto como una serie de
transformaciones sobre piezas sucesivas de
datos de entrada. El dato ingresa en el sistema,
y fluye entre los componentes, de uno en uno,
hasta que se le asigne un destino final (salida o
repositorio).
• Máquinas Virtuales
Simulan alguna funcionalidad que no es nativa
al hardware o software sobre el que está implementado.
• Llamada y Retorno
El sistema se constituye de un programa
principal que tiene el control del sistema y varios
subprogramas que se comunican
...