2. Arquitectura - Definición
El proceso de desarrollo basado en la arquitectura
Evaluación de la arquitectura
Lenguajes para representación de la arquitectura
MDA una propuesta de arquitectura alrededor de los
modelos
Temario
3. Orígenes
“La arquitectura descansa en tres principios: la Belleza
(Venustas), la Firmeza (Firmitas) y la Utilidad (Utilitas)”
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
4. 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.“
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
5. 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 “
Evolución de la Ingeniería Civil
- Imitación de esfuerzos previos
- Aprendiendo de las fallas
- Integración de otras fuerzas
- Experimentación
13. Conclusión
Lo que ocurre, finalmente, es que las aplicaciones de
software, con el tiempo, terminan convirtiéndose en una
pila de trozos, o bien, un laberinto como la mansión
Winchester
14. Programar sin una Arquitectura en mente, es como explorar
una mina solo con una linterna , no sabes dónde estás, dónde
has estado, ni hacia donde vas
15. Arquitectura representa la base del sistema de software y
debe ser construido, pensando en satisfacer las necesidades
actuales, y debe proporcionar las capacidades necesarias para
permitir su mantenimiento y evolución de acuerdo al negocio.
16. Qué es una arquitectura DE 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.”
17. 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)
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31. 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)
33. Elementos relacionados con la arquitectura
Qué? Por qué?
Cualidades
de la Arquitectura
Características
Del Sistema
Requerimientos
S/W
Atributos de
Calidad del sistema
Tecnología Defines
Procesos
Representación
de la arquitectura
Arquitectura
Satisface
Restringe
Quién? Para qué?
Organización
Arquitecto
Habilidades
Stakeholders
Define roles
Produce
Analiza
Fuente: Rational Software
35. Influencias de los participantes
arquitecto
gerente del
proyecto
líder de
mercadeo
usuario
final
soporte
aplicativo
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