Please enable JavaScript.
Coggle requires JavaScript to display documents.
Arquitectura de software (AS) pngtree-system-software-architecture-image…
Arquitectura de software (AS)
Modalidades y Tendencias
Escuelas de AS
Estructuralismo arquitectónico radical
Desprendimiento de la arquitectura estructural. Existen dos tendencias, una que excluye del plano la relevancia del modelado orientado a objetos para la AS y otra que procura definir nuevos metamodelos y estereotipos de UML como correctivos de la situación.
Arquitectura basada en patrones
Tolerancia hacia modelos de procesos tácticos, no tan macroscópicos. El diseño consiste en identificar y articular patrones preexistentes, que se definen en forma parecida a los estilos de arquitectura.
Arquitectura estructural, basada en un modelo estático de estilos, ADLs y vistas
Se pueden reconocer tres modalidades en cuanto a la formalización; los mas informales utilizan descripciones verbales o diagramas de cajas, los intermedios se sirven de ADLs y los mas exigentes usan lenguajes formales de especificación.
Arquitectura basada en escenarios
Delinea la arquitectura procesual. En esta corriente suele utilizarse diagramas de casos de uso UML como herramienta informal.
Arquitectura como etapa de ingeniería y diseño orientada a objetos
Modelo ligado al mundo de UML y Rational. La arquitectura se restringe a las fases iniciales y preliminares del proceso y concierne a los niveles mas elevados de abstraccion.
Arquitectura procesual
Intenta establecer modelos de ciclo de vida y técnicas de elicitacion de requerimientos, braindtorming, diseño, análisis, selección de alternativas, validación, comparación, estimación de calidad y justificación económica especificas.
Definiciones
Definicion de Clements
La AS es una vista del sistema que incluye componentes, su conducta y las formas en que estos se coordinan e interactúan.
Definicion de David Garlan
La AS constituye un puente entre el requerimiento y el código, ocupando el lugar que en los gráficos antiguos se reservaba para el diseño.
Definicion de Microsoft
La AS es la organización fundamental de un sistema encarnada en sus componentes, sus relaciones, el ambiente y el principio que orientan su diseño y evolución.
Campos de la arquitectura de software
Áreas de investigación
Lenguajes de descripción de arquitecturas
Técnicas de análisis arquitectónicas
Fundamentos formales de la AS
Métodos de desarrollo basados en arquitectura
Herramientas y ambientes de diseño arquitectónico
Recuperación y reutilización de arquitectura
Estudios de casos
Codificación y guía arquitectónica
Principio de Reusabilidad
Desarrollo y evolución basados en arquitectura
Como construir y mantener un sistema dada una representación de la cual se cree que es la arquitectura que resolverá el problema correspondiente
Recuperación de la arquitectura
Como hacer que un sistema heredado evolucione cuando los cambios afectan su estructura.
Representación de la arquitectura
Como comunicar una arquitectura. Este problema se ha manifestado como el problema de la representación de arquitecturas utilizando recursos lingüísticos.
Evaluación y análisis de la arquitectura
Como analizar una arquitectura para predecir cualidades del sistema en que se manifiesta.
Diseño o selección de la arquitectura
Cómo crear o seleccionar una arquitectura en base de requerimientos funcionales, de rendimiento o de calidad.
Diferencias entre arquitectura y diseño
Interpretaciones y posturas
Arquitectura y diseño son los mismo
La arquitectura se encuentra en un nivel de abstracción por encima del diseño, o es simplemente otro paso en el proceso de desarrollo de software
La arquitectura es algo nuevo y en alguna medida diferente del diseño (pero de que manera y en que medida se dejan sin especificar)
Producción de un diseño de software
Arquitectura
Asocia las capacidades del sistema especificadas en el requerimiento con los componentes del sistema que habrán de implementarla
Diseño ejecutable
Remite al diseño de código a un nivel de detalle todavía mas bajo y trata cuestiones tales como la asignación de memoria, los formatos de datos, etc...
Diseño del codigo
Comprende algoritmos y estructuras de datos; los componentes son primitivas del lenguaje de programación, tales como números, caracteres, punteros e hilos de control
Modelos
Estructural
La AS esta compuesta por componentes, conexiones entre ellos y otros aspectos como configuracion, estilo, restricciones, semantica, etc...
De proceso
Se concentran en la construcción de la arquitectura, y en los pasos o procesos involucrados en esa construcción.
Dinamicos
Enfatizan la conducta de los sistemas. "Dinámico" se entiende como los cambios en la configuración del sistema, o a la dinámica involucrada en el progreso de la computación
Funcionales
Considera la arquitectura como un conjunto de componentes funcionales, organizados en capas que proporcionan servicios hacia arriba.
De Framework
Similar a la vista estructural, enfatizado en la estructura coherente del sistema completo, en vez de concentrarse en su composicion