01 arquitectura de software - definición
-
Upload
duoc -
Category
Technology
-
view
89 -
download
2
Transcript of 01 arquitectura de software - definición
![Page 1: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/1.jpg)
Arquitectura de Software
Prof. Viviana AlvarezAgosto 2011
![Page 2: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/2.jpg)
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
![Page 3: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/3.jpg)
Orígenes
“La arquitectura descansa en tres principios: la Belleza(Venustas), la Firmeza (Firmitas) y la Utilidad (Utilitas)”
Templo de Artemisa en EfesoSiglo IV a de C.
127 columnas de 20 metros de altura
El coloso de rodas277 a de C.
32 metros de alturaPlacas de bronce sobre armazón de hierro
![Page 4: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/4.jpg)
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 anchoAlineadas hacia el norte con una inclinación de
51 grados
![Page 5: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/5.jpg)
Orígenes (3)
“Una arquitectura debe incorporar la unidad difícil de lainclusió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
![Page 6: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/6.jpg)
Es lo mismo construir esto???
![Page 7: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/7.jpg)
Que construir esto???
![Page 8: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/8.jpg)
![Page 9: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/9.jpg)
Conocen la Mansión Winchester
![Page 10: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/10.jpg)
![Page 11: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/11.jpg)
![Page 12: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/12.jpg)
![Page 13: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/13.jpg)
Conclusión
Lo que ocurre, finalmente, es que las aplicaciones desoftware, con el tiempo, terminan convirtiéndose en unapila de trozos, o bien, un laberinto como la mansiónWinchester
![Page 14: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/14.jpg)
Programar sin una Arquitectura en mente, es como exploraruna mina solo con una linterna , no sabes dónde estás, dóndehas estado, ni hacia donde vas
![Page 15: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/15.jpg)
Arquitectura representa la base del sistema de software ydebe ser construido, pensando en satisfacer las necesidadesactuales, y debe proporcionar las capacidades necesarias parapermitir su mantenimiento y evolución de acuerdo al negocio.
![Page 16: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/16.jpg)
Qué es una arquitectura DE software?
La arquitectura del software define el sistema en términosde sus componentes computacionales y de las relacionesentre ellos (Shaw & Garlan, 1996)
“Estructura o estructuras del sistema que comprendecomponentes de software, propiedades visibles de esoscomponentes y las relaciones entre ellos.”
![Page 17: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/17.jpg)
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)
![Page 18: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/18.jpg)
![Page 19: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/19.jpg)
![Page 20: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/20.jpg)
![Page 21: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/21.jpg)
![Page 22: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/22.jpg)
![Page 23: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/23.jpg)
![Page 24: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/24.jpg)
![Page 25: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/25.jpg)
![Page 26: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/26.jpg)
![Page 27: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/27.jpg)
![Page 28: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/28.jpg)
![Page 29: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/29.jpg)
![Page 30: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/30.jpg)
![Page 31: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/31.jpg)
Arquitectura vs. complejidad
En la medida que la complejidad de los sistemas crece, los algoritmos y las estructuras de datos dejan de convertirseen el mayor problema.
El diseño y especificación de la estructura general del sistema emerge como un nuevo tipo de problema: el diseñoa nivel de arquitectura.
En aplicaciones OO las clases representan unidades de granularidad muy fina; en sistemas grandes se requierehablar de unidades que represente una funcionalidad mayor (módulos / subsistemas / componentes de negocio)
![Page 32: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/32.jpg)
Arquitectura vs. complejidad (2)
Fuente: Architecture as a Business Competency. Bredemeyer Consulting
![Page 33: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/33.jpg)
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
ArquitecturaRequerimientos
S/W
Atributos de
Calidad del sistema
Satisface
Restringe
Organización
Arquitecto
Habilidades
Stakeholders
Define roles
Produce
Analiza
DefinesTecnología
Fuente: Rational Software
![Page 34: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/34.jpg)
Ciclo de Influencias
El ciclo ABC (Arquitecture Business Cycle)
![Page 35: 01 arquitectura de software - definición](https://reader033.fdocument.pub/reader033/viewer/2022042715/55a2466e1a28ab430e8b4632/html5/thumbnails/35.jpg)
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