Está en la página 1de 2

¿Qué es arquitectura de software?

La arquitectura de un programa o sistema computacional es la estructura o estructuras de ese sistema, y comprende las
componentes del software, sus propiedades externamente visibles, y las relaciones entre las mismas. Un diseño de alto
nivel. La estructura del sistema. Las componentes de un programa o sistema, sus relaciones, y principios que gobiernan
su diseño y su evolución en el tiempo. Componentes y conectores. Componentes, conectores, configuración y
restricciones.

¿Para qué SIRVE la Arquitectura de Software?

Las personas necesitan pensar, diseñar, codificar, y comunicarse en términos de grandes bloques conceptuales.
Abstracción Es necesario escapar de los desarrollos excesivamente personalizados y estandarizar el diseño.
Reutilización de patrones de arquitectura Es necesario diseñar sistemas de larga vida. Reutilización de
componentes particulares

Quality Attribute Workshops (QAW)

Talleres de Calidad del atributo (Qaws) proporcionan un método para identificar la arquitectura de un sistema atributos
críticos de calidad, tales como disponibilidad, rendimiento, seguridad, interoperabilidad y modificabilidad, que se
derivan de la misión o los objetivos de negocio. El Qaw no asume la existencia de una arquitectura de software. Ha
sido desarrollado para complementar el SEI Arquitectura Tradeoff Método de Análisis (ATAM) en respuesta a las
solicitudes de cliente para un método para identificar los atributos de calidad importantes y clarificar los requisitos del
sistema antes de que haya una arquitectura de software a los cuales la ATAM se podría aplicar.

Attribute-Driven Design (ADD)

El método ADD es un enfoque a la definición de una arquitectura de software en la cual el proceso de diseño está basado
en los requisitos de atributos de calidad del software. ADD es un proceso de diseño recursivo que descompone un
sistema o elemento del sistema mediante la aplicación de tácticas arquitectónicas y los patrones que satisfacen sus
requerimientos conductores (drivers). ADD sigue esencialmente el ciclo “Plan, Do, & Check”

Evaluación de arquitectura

Si las decisiones arquitectónicas determinan los atributos de calidad del sistema, entonces es posible evaluar las
decisiones arquitectónicas con respecto a su impacto sobre dichos atributos. Debe ser un componente, relación entre
componentes, o una propiedad (de componentes o relaciones) que necesita ser externamente visible, con el objetivo de
razonar sobre la habilidad del sistema de alcanzar sus requerimientos de calidad, o de soportar la descomposición del
sistema en partes independientemente implementables. Cuanto más temprano se encuentre un problema en un proyecto
de software, mejor Realizar una evaluación de la arquitectura es la manera más económica de evitar desastres

Reconstrucción de arquitectura

En una reconstrucción de arquitectura suele necesitarse la intervención de varios perfiles profesionales. Entre ellos:
experto en ingeniería reversa, un arquitecto familiarizado con la reconstrucción de arquitecturas, expertos del dominio de
negocio y conocedores de la aplicación, si es que existen y están disponibles.

Estilo de arquitectura

expresa un esquema de organización estructural para sistemas de software. Provee un conjunto de tipos de elementos
predefinidos, especifica sus responsabilidades e incluye reglas y guías para organizar las relaciones entre ellos. Los
patrones de diseño se agrupan en tres tipos. Estilos arquitectónicos: Soluciones de organización a nivel del sistema.
Patrones de diseño: Soluciones a problemas detallados de diseño de software. Idioms: Soluciones útiles para
problemas específicos en algún lenguaje de programación

Patrones / layers

Ayuda a estructurar aplicaciones que pueden ser descompuestas en grupos de subtareas con distintos niveles de
abstracción (granularidad). Describre la descomposición de servicios de forma que la mayoría de la interacción ocurre
solamente entre capas vecinas. Las capas de una aplicación pueden residir en la misma maquia física ( misma capa) o
puede estar distribuido sobre diferentes computadores (n-capas) este modelo ha sido descrito como una “pirámide
invertida de re-uso” donde cada capa agrega responsabilidad y abstracción a la capa directamente sobre ella