Documentos de Académico
Documentos de Profesional
Documentos de Cultura
T8 - Diseño Arquitectonico PDF
T8 - Diseño Arquitectonico PDF
de ingeniería informática
Tema 8:
Diseño arquitectónico
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
Arquitectura Software
♦ Programas= Algoritmos + Estructura de Datos
♦ ¿y la estructura del programa?
♦ Aumento en complejidad de un sistema software
mayor importancia al diseño y especificación de la
estructura global del sistema que a la elección de
algoritmos y estructuras de datos (microarquitectura)
5
Diseño Arquitectónico
Diseño: (3) Concepción original
de un objeto u obra destinados a
la producción en serie. Diseño
gráfico, de modas, industrial
Análisis y
requisitos
Infraestructura
Patrones
arquitectónicos
Documento de diseño
arquitectónico
(Arquitectura Software)
Arquitectura Software
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
UML para diseño arquitectónico
• Diagramas de secuencia
Modelo • Diagramas de comunicación
dinámico • Diagramas de estado
♦ Un componente
puede tener
interfaces de
salida e
interfaces de
entrada
Ejemplo de Diagrama de Componentes
1
4
Ejemplo de Diagrama de Actividades
♦ Arquitectura Alcuza: dirigida por eventos
♦ EDA para maximizar desacoplamiento
♦ Ejemplo: el gestor de tareas no sabe de la existencia de un motor de tareas,
solo sabe que debe publicar los eventos de terminación de tarea.
P2:T1 OK
P2:T1 OK
P2:T1 OK
1
5
Diagramas de despliegue
Artefacto
• Cualquier producto del
proceso de desarrollo
• Ejecutables, código fuente,
modelos, documentación…
Diagramas de despliegue
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
Estilos arquitectónicos
arquitectura es una
Fuente de pizarra y otros
conocimiento
Pizarra (datos Fuente de componentes tienen
compartidos) conocimiento
acceso a él para
actualizar, agregar,
Fuente de
conocimiento
eliminar o consultar sus
datos.
Filtro
Cliente
Sólo son conceptuales: No
tienen por qué
corresponderse con la
Presentación estructura de la
implementación.
Sistema de Información
Lógica de También conocida como vista
aplicación lógica de la arquitectura.
Cliente
Responsable de: (1) presentar
información e (2) interactuar con
entidades externas
Presentación
SI
Diferentes apariencias: GUI,
módulo de transformación de
ficheros, ….
Gestión de
Recursos ¿Qué otros elementos pueden proporcionar
información?
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
Patrones arquitectónicos
SI
• Requieren menos recursos aplicación
• Ventajas:
• Se pude aprovechar las capacidad de computo
del cliente
• Permite personalizar la capa de presentación
para distintos fines y portarla a distintos entornos
(multiplataforma)
• Eficiencia en el lado del servidor
• Inconvenientes
• Protocolos más complejos y gestión de sesiones
complican la escalabilidad
• Arquitectura inadecuada cuando se necesita
integrar más de un servidor
Arquitectura en dos niveles
Cliente
Lógica de la aplicación
Presentación 1 Presentación 2
Servidor 1 Servidor 2
Lógica de Lógica de
aplicación aplicación
Gestión de Gestión de
Recursos Recursos
Arquitectura en tres niveles
• Replicación
• …. middleware
SID
• La latencia aumenta ¿compensa?
Gestión de
• Popularizó ODBC (interfaz pública y Gestión de recursos
Recursos
estable)
Arquitecturas multinivel
• Es la arquitectura en n-niveles Cliente
escalada tantas veces como
sea necesario Navegador
SID
Gestión de
Gestión de recursos
Recursos
Arquitecturas multinivel
remote
clients ...
INTERNET
FIREWALL
internal
LAN
middleware
application
LAN,
logic gateways
LAN
middleware Wrappers
resource application and
management logic gateways
layer LAN LAN
Capa de presentación
MVC
Modelo
♦ Front Controller
♦ Page Controller
Patrones arquitectónicos
Capa de presentación
DAO
y/o
ORM
♦ Uso de DAO
Interacción con la capa de datos
♦ Hibernate
♦ iBatis
♦ Toplink
♦ JPA
Frameworks
Main() {
i1 = new I1();
i2 = new I2();
i1 = i2.m(i1.g());
}
Ventajas e inconvenientes
♦ Introducción
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
Conclusiones
♦ El diseño arquitectónico
♦ UML para diseño arquitectónico
♦ Estilo arquitectónico
♦ Patrones arquitectónicos
♦ Conclusiones
♦ Bibliografía
Bibliografía
♦ Básica (de referencia):
♦ “Ingeniería del Software. Un enfoque práctico”. Roger S. Pressman.
Mc Graw Hill (6ª ed.)
♦ De apoyo:
♦ “Ingeniería del Software”. Ian Sommerville. Pearson Addison Wesley
(7ª ed.)
♦ Sobre UML:
♦ http://sparxsystems.com.au/resources/uml2_tutorial/
♦ MVC:
♦ http://java.sun.com/blueprints/patterns/MVC-detailed.html
♦ http://java.sun.com/blueprints/patterns/FrontController.html
♦ http://msdn.microsoft.com/en-us/library/ms978764.aspx
♦ DAO:
♦ http://java.sun.com/blueprints/corej2eepatterns/Patterns/
DataAccessObject.html