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
DEFINICIONES
El número de definiciones circulantes alcanza un orden de tres dígitos(Máximo 4)
el trabajo dinámico de estipulación de la arquitectura dentro del proceso de ingeniería o el diseño
la configuración o topología estática de sistemas de software( contemplada desde un elevado nivel de
abstracción)
la caracterización de la disciplina( se ocupa de uno de esos dos asuntos de los anteriores, o de ambos)
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.
Una definición reconocida es la de Clements
La AS en simples palabras es una vista del sistema que incluye
los componentes principales del mismo, la conducta de esos componentes(interacción y coordinación de los mismos)
La definición tiene unas fallas, la palabra "componente" no es la apropiada, sino la palabra elemento, debido a que a componentes se refiere a una entidad o cosa, pero usualmente se le prefiere llamar "componente" a "objeto"
la AS es una
forma de diseño de software que se manifiesta tempranamente en el proceso de creación de un sistema
la noción clave de la arquitectura es la organización
Ante el número y variedad de definiciones existentes de AS, Mary Shaw y David Garlan proporcionaron una
sistematización iluminadora explicando las diferencias entre definiciones en función de distintas clases de
modelo de esta manera
Modelos estructurales
Modelos de framework
Modelos dinámicos
Modelos de proceso
Modelos funcionales
CAMPOS DE LA ARQUITECTURA DE SOFTWARE
la AS tiende a redefinir todos y cada
uno de los aspectos de la disciplina madre, la ingeniería de software
Hay unas pocas caracterizaciones, entre ellas las siguientes:
Lenguajes de descripción de arquitecturas
Fundamentos formales de la AS (bases matemáticas, caracterizaciones formales de propiedades extrafuncionales tales como mantenibilidad, teorías de la interconexión, etcétera)
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
Paul Clements define cinco temas fundamentales en torno de los cuales se agrupa la disciplina:
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
MODALIDADES Y TENDENCIAS
En la década de 1990 se establece definitivamente la AS como un dominio todavía hoy separado de manera
confusa de ese marco global que es la ingeniería
en la actualidad se pueden distinguir a grandes
rasgos unas seis corrientes
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.
El Manifiesto por la Programación Agil, en efecto, valoriza
Los individuos y las interacciones por encima de los procesos y las herramientas
El software que funciona por encima de la documentación exhaustiva
La colaboración con el cliente por encima de la negociación contractual
La respuesta al cambio por encima del seguimiento de un plan
DIFERENCIAS ENTRE ARQUITECTURA Y DISEÑO
La comunidad de AS, en particular la de extracción académica, sostiene que ésta difiere sustancialmente del mero diseño
Taylor y Medvidovic, por ejemplo, señalan que la literatura actual mantiene en un estado
ambiguo la relación entre ambos campos, albergando diferentes interpretaciones y posturas
1-Una postura afirma que arquitectura y diseño son lo mismo
2-Otra, en cambio, alega que la arquitectura se encuentra en un nivel de abstracción por encima del
diseño, o es simplemente otro paso (un artefacto) en el proceso de desarrollo de software.
3-Una tercera establece que la arquitectura es algo nuevo y en alguna medida diferente del diseño (pero de
qué manera y en qué medida se dejan sin especificar).
Taylor y Medvidovic estiman que la segunda interpretación es la que se encuentra más cerca de la verdad.
el foco de la AS en la
estructura del sistema y en las interconexiones la distingue del diseño de software tradicional,
Como por ejemplo el
diseño orientado a objetos
El concepto de arquitectura intenta subsumir las actividades de análisis y diseño en un framework de diseño más amplio y más coherente.
La integración de metodologías y modelos, concluye Albin, es lo que distingue la AS de la
simple yuxtaposición de técnicas de análisis y de diseño
Para Shaw y Garlan la AS es el primer paso en la producción de un diseño de software, en una secuencia que
distingue tres pasos:
Arquitectura.
Diseño del código.
Diseño ejecutable.
En cuanto a la composición, la de la
arquitectura es de grano grueso, la del diseño es de fina composición procedural
la AS precisó la naturaleza del proceso de diseño como metodología en
diversos modelos de diseño basados en arquitectura o ABD
El proceso se basa en tres fundamentos
la descomposición de la función
la realización de los requerimientos de calidad y negocios a través de los estilos arquitectónicos
) las plantillas de software