Please enable JavaScript.
Coggle requires JavaScript to display documents.
Introducción a la Arquitectura de software, image - Coggle Diagram
Introducción a la Arquitectura de software
Definiciones
Arquitectura de Software
Vista del sistema que incluye componentes principales
Conducta de los componentes según se percibe desde el resto del sistema
Forma en que interactúan los componentes
Coordinación de componentes para cumplir el objetivo del sistema
Vista arquitectónica
Vista abstracta
Aporta el mas alto nivel de comprensión
Difiere del detalle inherente a la mayor parte de las abstracciones
David Garlan
Las arquitecturas de software constituyen un puente entre el requerimiento y el código
Mary shaw y David Garlan dividen las diferentes definiciones en modelos
Modelos estructurales
Modelos de framework
Modelos dinámicos
Modelos de proceso
Modelos Funcionales
Campos de la Arquitectura de Software
Paul Clements define cinco temas fundamentales en torno de los cuales se agrupa esta disciplina
Diseño o selección de la arquitectura
Cómo seleccionar una arquitectura en base de requerimientos funcionales, de rendimiento.
Representación de la arquitectura
Cómo comunicar una arquitectura.
Evaluación y análisis de la arquitectura
Cómo analizar una arquitectura para predecir cualidades del sistema en que se manifiestan
Desarrollo y evolución basados en arquitectura
Cómo construir y mantener un sistema dada una representación de la cual se cree que es la arquitectura que resolverá el problema
Recuperación de la arquitectura
Cómo hacer que un sistema legacy (Sistema heredado) evolucione cuando los cambios afectan su estructura
Modalidades y tendencias
Arquitectura como etapa de ingeniería y diseño orientado a objetos.
Ligado estrechamente al mundo UML y Rational
Isomorfa a la estructura de piezas de código
Grady Booch: "La estructura lógica y física de un sistema, forjada por todas las decisiones estratégicas y tácticas que se aplican durante el desarrollo"
Arquitectura estructural, basada en un modelo estático de estilos, ADLs y vistas.
Constituye la corriente fundacional y clásica de la disciplina
Visión de las arquitecturas de software dominante en la academia
Reconocimiento de la arquitectura de software como disciplina
Sus categorías y herramientas aún son mal conocidas en la práctica industrial
Estructuralismo arquitectónico radical
Mas confrontación con el mundo UML
Excluye la relevancia del modelado orientado a objetos
Procura definir nuevos metamodelos y estereotipos de UML como correctivos de la situación
Arquitectura basada en patrones
No se vincula con UML en el modelado
No se vincula a CMM en la metodología
Arquitectura procesal
Modelos de ciclo de vida y técnica de elicitación
Brainstorming
Diseño
Análisis
selección de alternativas
Validación
Comparación
Estimación de calidad y justificación económica
Arquitectura basada en escenarios
Diagramas de casos de uso UML
Manifiesto por la programación ágil
Los individuos y las interacciones por encima de los procesos y 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
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
Algoritmos y estructuras de datos
Diseño ejecutable
Asignación de memoria, formatos de datos, etc.