Вы находитесь на странице: 1из 4

Arquitecturas de Software

Motivacin

Caractersticas

Objetivos

Se ocupa de:

Elementos

-Complejidad creciente de aplicaciones. -Sistemas distribuidos -Sistemas abiertos y basados en componentes

Parte del diseo de software. Nivel del diseo de software donde se definen la estructura y propiedades globales del sistema. Incluye sus componentes, las propiedades observables de dichos componentes y las relaciones que se establecen entre ellos. Un aspecto crtico: Una arquitectura errnea puede llevar a problemas incontables. Representacin de alto nivel de la estructura del sistema describiendo las partes que lo integran.

Comprender y mejorar la estructura de la s aplicaciones complejas. Reutilizar dicha estructura (o partes de ella) para resolver problemas similares. Planificar la evolucin de la aplicacin, identificando las partes mutables e inmutables de la misma, as como los costes de los posibles cambios. Analizar la correccin de la aplicacin y su grado de cumplimiento respecto a los requisitos iniciales. Permitir el estudio de algunas propiedad especfica del dominio.

Diseo preliminar o de alto nivel. Organizacin a alto nivel del sistema, -Otros aspectos relacionados con el desarrollo del sistema y su evolucin y adaptacin al cambio

Componentes. Realizan cmputos y almacenamiento de datos. Interaccionan unos con otros durante la ejecucin.

Indica

Componentes Cada nivel tiene asociado una funcionalidad: Mecanismos de interaccin entre componentes: Restricciones: Aplicacin:

Estilos arquitectonicos Los tipos de componentes y conectores involucrados. Patrones y restricciones de interconexin o composicin entre ellos: Invariantes del estilo. Organizacin en capas Son las capas que o niveles que pueden estar implementadas internamente por objetos o procedimientos. Niveles bajos: Funciones simples, ligadas al hardware o al entorno. Niveles altos: Funciones ms abstractas. Llamadas a procedimientos. Llamadas a mtodos. Solo llamadas de niveles superiores a inferiores. (Variante) Solo llamadas entre niveles adyacentes. Torres de protocolos de comunicacin,

Propiedades:

Sistemas operativos, Compiladores. Facilita la migracin. El acoplamiento con el entorno est localizado en las capas inferiores. Cada nivel implementa unas interfaces claras y lgicas, lo que facilita la sustitucin de una implementacin por otra. Permite trabajar en varios niveles de abstraccin.

Modelos y arquitecturas de referencia -Particularizan un estilo imponiendo una serie de restricciones sobre el mismo y realizando una descomposicin y definicin estndar de componentes. OSI (Open System Interconection) que particulariza el estilo de organizacin en capas, con 7 niveles. RM-ODP para el diseo de sistema distribuidos y abiertos (ISO/ITU-T, 1995). Hace transparente la heterogeneidad de plataformas, s.o. CCM, COM, JavaBeans - Sistemas basados en el intercambio de eventos. Marcos de Trabajo FRAMEWORKS -Definen una arquitectura adaptada a las particularidades de un determinado dominio de aplicacin, definiendo de forma abstracta una serie de componentes y sus interfaces y estableciendo las reglas y mecanismos de interaccin entre ellos. -Se presentan como un diseo reutilizable de todo o parte de un sistema, representado por un conjunto de componentes abstractos y la forma en que los componentes interactuan. Presentan 2 niveles: Especificacin de la arquitectura marco. Implementacin del marco de trabajo (normalmente un lenguaje orientado a objetos). extensin del marco: Es el desarrollo de aplicaciones a partir de un marco de trabajo. Marcos de trabajo Que se extienden mediante herencia, concretamente mediante la implementacin de las clases y mtodos abstractos de caja blanca definidos como puntos de entrada. Se tiene acceso al cdigo del marco y se permite reutilizar la funcionalidad de sus clases mediante herencia y redefinicin de mtodos. Marcos de trabajo Admiten la inspeccin de su estructura e implementacin, pero no su modificacin ni extensin, excepto en los de caja de cristal puntos de entrada. Marcos de trabajo Los puntos de entrada no son simplemente mtodos abstractos, de los que se declara meramente su signatura, sino de caja gris que se definen por medio de un lenguaje de especficacin de alto nivel los requisitos que deben cumplirse a la hora de implementarse.

Marcos de trabajo de caja negra

Su instanciacin se realiza por medio de composicin y delegacin, en lugar de utilizar la herencia. Los puntos de entrada se definen por medio de interfaces que deben implementar los componentes que extiendan el marco. Dependiendo de su aplicabilidad tenemos: Marcos de trabajo horizontales Vlidos para todos los dominios de aplicacin concretados en un aspecto del sistema. Infraestucturas de comunicacin, interfaces de usuario, entornos visuales, etc. Marcos de trabajo verticales Desarrollados especficamente para un dominio de aplicacin. Telecomunicaciones, fabricacin, servicios telemticos y multimedia, etc. Marcos de trabajo para Verticales u horizontales, pero exclusivamente realizados para el desarrollo de sistemas basados en Componentes componentes reutilizables. Caractersticas especiales para tratar problemas propios de los SBC: Composicin tarda, extensibilidad Ventajas: Son composicionales. Son el grado ms alto de reutilizacin dentro del desarrollo de software. El diseo arquitectnico se reutiliza. Reduccin de costes/Mejora de la calidad. Estn intrnsecamente unidos a los componentes Patrones de diseo Un patrn es una solucin probada que se puede aplicar con xito a un determinado tipo de problemas que aparecen repetidamente en algn campo. Ventajas Son soluciones simples y tcnicas. Muy prcticos (deslumbran) y tiles Desventajas Son soluciones concretas a problemas concretos. Libro de recetas, lo que hace difcil averiguar el patrn adecuado ante un problema concreto. (LePlus) No dejan huella: En una implementacin es difcil saber que patrn se utiliz. (Ingeniera inversa). Lenguajes de descripcin de arquitecturas -Sirven para expresar la estructura de las aplicaciones. Proporcionan los modelos, notaciones y herramientas que permiten describir los componentes y sus enlaces especficos. Arquitecturas estticas y/o dinmicas. En ocasiones sirven para el prototipado rpido y verificacin formal de propiedades.

Вам также может понравиться