Arquitectura de Software

Definiciones

Diversidad de definiciones en la comunidad

Algunas se centran en la estructura del sistema

Otras en aspectos dinámicos o procesos

Consenso en que AS es una vista abstracta.

Enfoques

Modelos estructurales

Modelos de Framework

Modelos dinámicos

Modelos de Proceso

Modelos Funcionales

Campos de la Arquitectura de Software

AS es un conjunto heterogéneo de áreas de investigación y práctica

Evolución de la AS hacia un mayor nivel de abstracción y fundamentación formal.

Enumeración de campos y enfoques clave.

Áreas principales según Garlan y Perry

Lenguajes de descripción de arquitecturas.

Fundamentos formales de la AS.

Técnicas de análisis arquitectónicas.

Métodos de desarrollo basados en arquitectura.

Recuperación y reutilización de arquitectura.

Codificación y guía arquitectónica.

Herramientas y ambientes de diseño arquitectónico.

Estudios de casos.

Temas Fundamentales según Paul Clements

Diseño o selección de la arquitectura.

Representación de la arquitectura.

Evaluación y análisis de la arquitectura.

Desarrollo y evolución basados en arquitectura.

Recuperación de la arquitectura.

Perspectiva de Mary Shaw

Enfoque en estilos y patrones de diseño.

Desarrollo de lenguajes de descripción arquitectónica.

Formulación de metodologías.

Necesidad de modelos precisos y automatización.

AS aún en desarrollo y extensión.

Escuelas de AS

Arquitectura como etapa de ingeniería y diseño orientada a objetos.

Arquitectura estructural, basada en un modelo estático de estilos, ADLs y vistas.

Estructuralismo arquitectónico radical.

Arquitectura basada en patrones.

Arquitectura procesual.

Arquitectura basada en escenarios.

Diferencias Entre Arquitectura y Diseño en la Arquitectura de Software (AS):

Arquitectura y diseño son lo mismo.

La arquitectura está un nivel por encima del diseño o es otro paso en el proceso de desarrollo.

La arquitectura es algo nuevo y diferente del diseño, aunque sin especificar cómo.