Jose Miguel
(Estilos Arquitectónicos)
Universidad de los Andes
Demián Gutierrez
Mayo 2011
1
Diseño Arquitectónico
Arquitectura
del Software
Diseño
Arquitectónico
Estilos
Arquitectónicos
Frameworks
(Marcos)
Patrones de
Diseño
Bibliotecas /
Componentes
Clases /
Funciones
2
Diseño Arquitectónico
¿Qué es un estilo?
¿Qué es un estiloarquitectónico?
3
Estilos Arquitectónicos
Deconstructivismo
Art Deco
4
Estilos Arquitectónicos
Los ingenieros civiles,
cuando tienen que
construir un puente
generalmente
seleccionan un tipo de
puente determinado
que se adapte a las
necesidades del
contexto y del
problema a resolver...
5
Estilos Arquitectónicos
Un estilo arquitectónico define una familia
de sistemas(cierto tipo de sistemas) en
términos de patrones estructurales, de
control, de comunicación, etcétera
La arquitectura de un sistema de software
puede basarse en uno (o en varios)
modelos o estilos arquitectónicos bien
conocidos
Fuente: Sommerville (Cap 11)
6
Estilos Arquitectónicos
Un estilo arquitectónico describe:
Un conjunto de componentes
(con sus responsabilidades)
Unconjunto de conectores entre componentes
(comunicación, coordinación, cooperación, etcétera)
Restricciones que definen cómo se integran los
componentes para formar el sistema
Modelos que permiten comprender las propiedades de
un sistema general en función de las propiedades
conocidas de las partes que lo integran
Fuente: Pressman (Cap 10)
7
Estilos Arquitectónicos
Para todas lasarquitecturas (estilos
arquitectónicos) mostrados a
continuación es necesario preguntarse:
¿Qué ventajas tiene el estilo?
¿Qué desventajas tiene?
¿En qué contextos aplica?
8
¿Otros aspectos de la gestión de proyectos?
Una reflexión final sobre lo profundo del abismo
Seguridad
Confiabilidad
Mantenibilidad
Portabilidad
Eficiencia
(memoria,
ejecución)
DisponibilidadModificabilidad
Rendimiento
Facilidad de
Prueba
Reusabilidad
Extensibilidad
Usabilidad
Escalabilidad
otras...
¿De qué forma impacta el uso un estilo en las
propiedades del sistema?
9
Estilos Arquitectónicos
Una arquitectura monolítica describe
una aplicación en la que toda la
funcionalidad del sistema (ej. acceso
a datos, interfaz de usuario, lógica,
etcétera) estáimplementada y
mezclada en una sola capa.
Esto, en la gran mayoría de los casos,
no es una buena idea... ¿Por qué?
¿Tip: Recuerdan el ejemplo del sistema
de empaquetamiento de Sommerville y
la discusión subsecuente?
Sistema
(TODO EL
SISTEMA)
Fuente: http://en.wikipedia.org/wiki/Monolithic_application
10
Estilos Arquitectónicos
(Repositorio / Pizarrón)
Aplicación /
Modulo 1Aplicación /
Modulo 2
Aplicación /
Modulo 3
Repositorio
(Base de Datos, Sistema de Archivos,
Memoria Compartida, etcétera)
Aplicación /
Modulo 4
...
Aplicación /
Modulo N
Repositorio / Pizarron
11
Estilos Arquitectónicos
(Cliente / Servidor)
Petición
Respuesta
Cliente 1
Red
Cliente 2
...
Internet,
LAN, WAN
Servidor 1
...
Servidor NCliente N
Cliente Servidor
12
Estilos Arquitectónicos
(Cliente / Servidor)
Petición
Respuesta
Red
Cliente
Servidor
Liviano: Lógica de la Aplicación solamente del lado del
servidor
Pesado: Lógica de la Aplicación parcial o totalmente del lado
del cliente
Cliente “Liviano” vs Cliente Pesado
13
Estilos Arquitectónicos
(Cliente / Servidor - WEB)
Fuente Imagen:http://www.mailxmail.com/curso-php-mysql-sql-8/arquitectura-base-datos-web
14
Estilos Arquitectónicos
(Cliente / Servidor - WEB)
Fuente Imagen:
http://www.mailxmail.com/curso-php-mysql-sql-8/arquitectura-base-datos-web
15
Estilos Arquitectónicos
(Tuberías y Filtros)
Filtros
(Transformación
de Datos /
Información)
Tuberías
(Flujo de
Datos /
Información)
Filtro 3...
Regístrate para leer el documento completo.