Orígenes La arquitectura descansa en tres principios: la Belleza (Venustas), la Firmeza (Firmitas) y la Utilidad (Utilitas) (Vitruvio, siglo I a de C) Templo de Artemisa en Efeso Siglo IV a de C. 127 columnas de 20 metros de altura El coloso de rodas 277 a de C. 32 metros de altura Placas de bronce sobre armazón de hierro
Orígenes (2) Es arquitecto aquel que con método y procedimiento seguro y perfecto sepa proyectar racionalmente y realizar en la práctica obras que se acomoden perfectamente a las más importantes necesidades humanas. León Batista Alberti ( 1485) El faro de Alejandría. Año 280 a de C. Altura 120 metros. Cima equipada con espejos metálicos que reflejaban la luz del sol; y por las noches, a falta de luz, se enciende una hoguera. Las pirámides de Egipto. Año 2750 a de C. 146.59 m de altura, 230 m de ancho Alineadas hacia el norte con una inclinación de 51 grados
Orígenes (3) Una arquitectura debe incorporar la unidad difícil de la inclusión en vez de la unidad fácil de la exclusión Robert Venturi (1966)
Evolución de la Ingeniería Civil – Imitación de esfuerzos previos – Aprendiendo de las fallas – Integración de otras fuerzas – Experimentación
Qué es una arquitectura software? La arquitectura del software define el sistema en términos de sus componentes computacionales y de las relaciones entre ellos (Shaw & Garlan, 1996) Estructura o estructuras del sistema que comprende componentes de software, propiedades visibles de esos componentes y las relaciones entre ellos.
Arquitectura: Pensar primero en lo importante Diseño de alto nivel versus diseño detallado (David Budgen)
Esqueleto versus Carne y Músculos (Rational Unify Process)
Arquitectura vs. complejidad En la medida que la complejidad de los sistemas crece, los algoritmos y las estructuras de datos dejan de convertirse en el mayor problema. El diseño y especificación de la estructura general del sistema emerge como un nuevo tipo de problema: el diseño a nivel de arquitectura. En aplicaciones OO las clases representan unidades de granularidad muy fina; en sistemas grandes se requiere hablar de unidades que represente una funcionalidad mayor (módulos / subsistemas / componentes de negocio)
Arquitectura vs. complejidad (2)
Elementos relacionados con la arquitectura Cualidades de la Arquitectura Procesos Representación de la arquitectura Qué? Por qué? Para qué? Quién? Características Del Sistema Arquitectura Requerimientos S/W Atributos de Calidad del sistema Satisface Restringe Organización Arquitecto Habilidades Stakeholders Define roles Produce Analiza Defines Tecnología
Influencias hacia y desde la arquitectura El ciclo ABC (Arquitecture Business Cycle)
Influencias de los participantes sobre el arquitecto arquitecto gerente del proyecto (Gp:) líder de mercadeo
(Gp:) usuario final
(Gp:) soporte aplicativo
(Gp:) cliente
Bajo costo Rendimiento del equipo Corto tiempo en mercado Bajo costo; ventajas con productos similares Funcionalidad Rendimiento Seguridad usabilidad modificabilidad Bajo costo y tiempo de entrega, que no cambie muy a menudo
Pasos generales de un proceso de desarrollo basado en la arquitectura 1. Evaluar la necesidad empresarial del sistema Asegurar que la organización requiere el sistema Cuánto costará el producto? Cuál es el mercado objetivo? Cuál es el tiempo de puesta en el mercado? Qué interacciones se requieren con otros sistemas? 2. Entender los requerimientos Técnicas de elicitación de requisitos (casos de uso, escenarios) Para sistemas de seguridad crítica utilizar aproximaciones rigurosas como máquinas de estado finito o lenguajes formales Cuáles son las características particulares del sistema con respecto a otros sistemas (por ejemplo líneas de producto)?
Pasos generales de un proceso basado en la arquitectura (2) 3. Crear o seleccionar la Arquitectura Cuáles son los estilos de arquitectura adecuados? Layer, MVC, Blackboard, Tuberias y Flitros, etc. Qué papel juegan las aplicaciones legado? Cuáles son las tácticas de arquitectura para cumplir un atributo de calidad? 4. Representar y comunicar la arquitectura Uso de modelos y de documentos de definición de arquitecturas Sesiones para comunicación y discusión de la arquitectura con todos los stakeholders 5. Analizar o evaluar la arquitectura Definir varias alternativas de arquitectura Utilizar métodos de evaluación de arquitectura
Página siguiente |