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 |