Please enable JavaScript.
Coggle requires JavaScript to display documents.
INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE - Coggle Diagram
INTRODUCCIÓN A LA ARQUITECTURA DE SOFTWARE
definición
La Arquitectura de Software es la organización fundamental de un sistema encarnada en sus componentes,
las relaciones entre ellos y el ambiente y los principios que orientan su diseño y evolución
Mary Shaw y David Garlan sugieren
protocolos para la comunicación, la sincronización y el acceso a datos
la asignación de funcionalidad a elementos del
diseño
En el que muchos consideran un ensayo seminal de la disciplina, Mary Shaw y David Garlan sugieren que dichas cuestiones estructurales incluyen organización a grandes rasgos y estructura global de control
la composición de los elementos de diseño
la distribución física
la AS constituye un puente entre el
requerimiento y el código
noción clave de la arquitectura es la organización
modelos
Modelos dinámicos
Enfatizan la cualidad conductual de los sistemas
Modelos de proceso
Se concentran en la construcción de la arquitectura, y en los pasos o
procesos involucrados en esa construcción
Modelos de framework
su énfasis primario radica en
la (usualmente una sola) estructura coherente del sistema completo
Modelos funcionales
organizados en capas que proporcionan servicios hacia arriba
Modelos estructurales
Sostienen que la AS está compuesta por componentes, conexiones entre
CAMPOS DE LA ARQUITECTURA DE SOFTWARE
comenzó siendo una abstracción descriptiva puntual
caracterizaciones
Técnicas de análisis arquitectónicas
Métodos de desarrollo basados en arquitectura
Fundamentos formales de la AS
(bases matemáticas, caracterizaciones formales de propiedades extrafuncionales tales como mantenibilidad, teorías de la interconexión, etcétera)
Codificación y guía arquitectónica
Lenguajes de descripción de arquitecturas
Recuperación y reutilización de arquitectura
Herramientas y ambientes de diseño arquitectónico
Estudios de casos
Paul Clements define
Desarrollo y evolución basados en arquitectura
Cómo construir y mantener un sistema
Recuperación de la arquitectura
Cómo hacer que un sistema legacy evolucione cuando los cambios
afectan su estructura
Evaluación y análisis de la arquitectura
Cómo analizar una arquitectura para predecir cualidades del
sistema
Representación de la arquitectura
Cómo comunicar una arquitectura
Diseño o selección de la arquitectura
En base de requerimientos funcionales, de rendimiento o de calidad
MODALIDADES Y TENDENCIAS.
la década de 1990
establece definitivamente la AS como un dominio
división preliminar
Arquitectura procesual
Recupera el nexo de la AS con los
requerimientos y la funcionalidad del sistema
suele utilizarse diagramas de casos de uso UML como herramienta informal
Estructuralismo arquitectónico radical
asume una actitud más confrontativa con el mundo UML
procura definir nuevos metamodelos y
estereotipos de UML como correctivos de la situación
Arquitectura estructural, basada en un modelo estático de estilos, ADLs y vistas
representantes
Paul
Clements
David Garlan
Mary Shaw
Gregory Abowd
Robert Allen
John Ockerbloom
modalidades en cuanto a la formalización
CHAM y Z
diagramas de cajas
tiene por qué coincidir con la configuración explícita de las aplicaciones
Arquitectura como etapa de ingeniería y diseño orientada a objetos
representantes
James Rumbaugh
Ivar Jacobson
Grady Booch
Craig Larman
ligado estrechamente al
mundo de UML y Rational
la arquitectura se restringe a las fases iniciales y
preliminares del proceso y concierne a los niveles más elevados de abstracción
Importa más la abundancia y el detalle de diagramas
y técnicas disponibles que la simplicidad de la visión de conjunto
arquitectura adaptativa
recurre a la inteligencia
artificial heideggeriana o al postmodernismo
métodos sobre documentados
Manifiesto por la Programación Agil
El software que funciona por encima de la documentación exhaustiva
Los individuos y las interacciones por encima de los procesos y las herramientas
La colaboración con el cliente por encima de la negociación contractual
La respuesta al cambio por encima del seguimiento de un plan
inspirada
programación genética
teorías de la complejidad
la auto-organización
el caos
los fractales
DIFERENCIAS ENTRE ARQUITECTURA Y DISEÑO
Taylor y Medvidovic señalan
la literatura actual mantiene en un estado
ambiguo la relación entre ambos campos
la arquitectura se encuentra en un nivel de abstracción por encima del
diseño, o es simplemente otro paso
Una postura afirma que arquitectura y diseño son lo mismo
el foco de la AS en la
estructura del sistema y en las interconexiones la distingue del diseño de software tradicional
Shaw y Garlan
Arquitectura
Asocia las capacidades del sistema especificadas en el requerimiento con los componentes
del sistema que habrán de implementarla
Diseño del código
. Comprende algoritmos y estructuras de datos
Diseño ejecutable
Remite al diseño de código a un nivel de detalle todavía más bajo
s como la asignación de memoria, los formatos de datos
Clements
la arquitectura representa un paradigma de desarrollo que difiere
de maneras fundamentales de las alternativas conocidas actualmente
Dewayne Perry
La arquitectura concierne a un nivel
de abstracción más elevado
se ocupa de componentes y no de procedimientos
de las interacciones entre
esos componentes y no de las interfaces
de las restricciones a ejercer sobre los componentes y las
interacciones y no de los algoritmos
arquitectura tienen que ver con un protocolo de alto nivel (en el sentido no técnico de la
palabra)
diseño conciernen a interacciones de tipo procedural (rpc, mensajes, llamadas
a rutinas)
Modelos de diseño basados en arquitectura
la realización de los requerimientos de calidad y negocios a través de los estilos arquitectónicos
las plantillas de software, un concepto nuevo que incluye patrones que describen la forma en que
todos los elementos de un tipo interactúan con los servicios compartidos y la infraestructura
la descomposición de la función (usando técnicas bien establecidas de acoplamiento y cohesión)