Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Arquitectura de Software
Valerio Herrera, Luis E.
Tecnico Informatico
luis_enrique_valerio@hotmail.com
I.S.T.P. TECNOSUR
2
Arquitectura de Software
3
Arquitectura de Software
+ IEEE 1471 + Software Architecture in
Practice - Kazman
El nivel conceptual más alto de
un sistema en su ambiente. “La estructura de
estructuras de un sistema,
+ Arquitectura es la organización
la cual abarca
componentes de software,
fundamental de un sistema propiedades externas
descrita en: visibles de estos
– Sus componentes. componentes y sus
– Relación entre ellos y con el relaciones”.
ambiente.
– Principios que guían su diseño y
evolución.
4
Evolución de Arquitecturas
5
Evolución de Arquitecturas
+ Aplicaciones Monolíticas Arquitectura Cliente-Servidor
6
Evolución de Arquitecturas
+ Arquitectura Cliente-Servidor Arquitectura de 3 niveles
Mejorada
+ Reutilización de lógica de negocio para
+ Lógica de negocios en BD diferentes clientes o sistemas.
+ Clientes pesados, no estándar. + Mejora la escalabilidad.
+ Conexiones dedicadas a la BD. + Mejora la flexibilidad.
+ Mejora en rendimiento + Independencia de la base de datos.
+ Alta administración
+ Baja escalabilidad
+ Baja flexibilidad
+ Baja portabilidad
7
Evolución de Arquitecturas
+ Arquitectura de N-niveles
100.000+
8
Evolución de Arquitecturas
+ Visión de Arquitectura Orientada a Servicios (SOA)
Portal de
Servicios Integrados
Sistema
+ Requerimientos Batch Cluster de
Arquitectónicos Servidores de
Aplicaciones
+ Heterogeneidad Base de
+ Escalabilidad Datos
+ Disponibilidad Servidor de
+ Distribución Procesos
(BPM) Aplicaciones
+ Manejabilidad de Procesos
Legadas
+ Administración y monitoreo de procesos,
servicios e infraestructura
9
Que es un Arquitecto de Software?
10
Arquitectura Vs. Diseño
+ La arquitectura y el diseño difieren en tres áreas:
Arquitectura Diseño
Nivel de Alto nivel Bajo nivel. Enfoque
Abstracción específico en detalles
Entregables Planear subsistemas, interfaces Diseño detallado
con sistemas externos, componentes.
servicios horizontales,
frameworks, componentes Especificaciones de
reutilizables, prototipo codificación
arquitectónico
Áreas de Selección de tecnologías, Requerimientos
Enfoque Requerimientos no funcionales funcionales
(QoS),
11
Manejo de riesgos
Arquitectura Vs. Diseño
+ La arquitectura envuelve un conjunto de decisiones
estratégicas de diseño, lineamientos, reglas y
patrones que restringen el diseño y la implementación
de un software.
Las decisiones
de arquitectura
Código causan un alto
Implementación impacto en los
proyectos de IT
Diseño
Arquitectura
12
Arquitectura y Procesos de Desarrollo
Principios Fundamentales de Procesos Modernos
13
Arquitectura y Procesos de Desarrollo
+ Que es un Proceso de Arquitectura?
– Descripción de arquitectura
– Prototipo arquitectónico
14
Arquitectura y Procesos de Desarrollo
Rational Unified Process: SunTone AM:
En el proceso de definición de Adicionalmente se producen:
arquitectura se producen:
+ Matriz Tecnológica de Layers
+ Arquitectura Inicial. y Tiers
+ Arquitectura de Referencia. + Template de Arquitectura
+ Documento de Descripción de
arquitectura (SAD):
– Subsistemas
– Componentes
– Arquitectura Runtime.
– Requerimientos no-funcionales
– Lista de riesgos y restricciones
– Arquitectura inicial
16
Definición de Arquitectura en RUP
Fase de Elaboración
+ Con respecto a la arquitectura, en la
fase de elaboración se establece:
– Arquitectura línea base.
+ Entregables:
– Documento de Definición de
Arquitectura.
– Prototipo evolutivo de arquitectura.
– Guías y Estándares de Diseño.
17
Definición de Arquitectura en RUP
+ Modelo de Vista 4+1
+ Framework para Descripción de Arquitectura, basado en vistas
lógicas y físicas UML y una vista funcional de casos de uso.
Use-Case View
Evaluar Req.
No Funcionales (NFR)
Refinar y Seleccionar
la Arquitectura
Prototipar la
Arquitectura
19
Definición de Arquitectura en SunTone AM
+ Metodología de desarrollo de software análoga al Unified
Process (UP) con un fuerte énfasis en Calidad de Servicio y
Patrones de diseño.
20
Definición de Arquitectura en SunTone AM
21
Definición de Arquitectura en SunTone
+ Principios Arquitectónicos
+ La arquitectura es primariamente necesaria para crear
un framework para el desarrollo basado en patrones y
para la entrega de calidades sistémicas predecibles.
DAO
Business Factory Oracle DAO
Delegate Factory
Action
Session Facade Composite Entity
Front Controller
View DAO
Service Value OracleDAO
JSF Components
Locator Object
22
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ El proceso de creación de arquitectura debe ser un
proceso de creación de valor.
23
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ La instanciación de los elementos arquitectónicos
(AEs) se realiza incrementalmente acorde a la
secuencia de MMFs, determinada por el ROI.
AE 1
AE 3
AE 7 AE 7
AE 8 AE 2 AE 8
24