patrones arquitectonicos
de ingeniería informática
Tema 1: Patrones
Arquitectónicos
Departamento de
Lenguajes y Sistemas Informáticos
Ingeniería del Software de
Gestión III
Ejemplo de otro dominio
Diseño de la arquitectura
Implementación de la arquitectura
Índice
•
•
•
•
•
•
•
•
Definiciones
¿Qué es un SID?
Aplicación de ejemplo
Diseño de un SIDArquitectura de un SID
Patrón MVC
Arquitectura SOA
Bibliografía
Definiciones
"Software architecture is the set of design decisions
which, if made incorrectly, may cause your project to be
cancelled."– Eoin Woods
En [Buschmann96] se definen tres tipos de patrones
• Patrones arquitectónicos sobre aspectos
fundamentales de la estructura de un sistema software.
Especifican un conjunto predefinidode subsistemas con
sus responsabilidades y una serie de recomendaciones
para organizar los distintos componentes
• Patrones de diseño sobre aspectos relacionados con el
diseño de los subsistemas. Por tanto se centran en
aspectos más específicos
• Idiom es un patrón de bajo nivel específico de un
lenguaje de programación o entrono de desarrollo
¿Qué es un SID?
Dominio del problemaCliente
Visitante
Administrador
Vendedor
SID: Sistema de Información Distribuido
Aplicación de ejemplo
USVirtual
Identificarse
Consultar Productos
Añadir Productos
Cliente
Sistema
Eliminar Productos
Confirmar Compra
Aplicación de ejemplo
Consultar Productos
Seguir Compra
Añadir
Añadir Productos
Cliente
Eliminar Productos
Confirmar CompraVisualizar Carrito
Eliminar
Acabar Compra
Diseño de un SID
• Se pueden distinguir varios aspectos
comunes en el diseño de un SID
• Diseño en capas
• Diseño arriba-abajo (“top-down”)
• Diseño abajo-arriba (“bottom-up”)
Diseño: Concepción
original de un objeto u
obra destinados a la
producción en serie.
Diseño gráfico, de
modas, industrial
Design: a mental project or
scheme inwhich means to
an end are laid down
Diseño en Capas de un SID
Capa de
Presentación
Capa de
Lógica de aplicación
Capa de
Acceso a
Datos /Recursos
Sistema de Información
Cliente
Sólo son conceptuales:
No tienen por qué
corresponderse con la
estructura de la
implementación.
También conocida como
vista lógica de la
arquitectura.
Capa (Layer), Nivel (Tier)
Capa depresentación
Cliente
SID
Presentación
Responsable de: (1) presentar
información e (2) interactuar con
la capa inferior externas
A veces también se le llama CLIENTE pero da lugar a confusiones
¿Cuál es la diferencia entre cliente y la capa de presentación?
Capa de lógica de aplicación
Presentación
Lógica de
aplicación
Responsable de: implementar las
operaciones solicitadaspor los clientes a
través de la capa de presentación.
Ej: el componente encargado de ver si un
cliente está o no logado
Datos/
Recursos
Dependiendo de la complejidad y de la técnica de implementación
empleada, también se le conoce como: proceso/lógica/reglas de
negocio o simplemente servidor
Capa de acceso a datos/recursos
Presentación
Lógica de
aplicación
Datos/
RecursosResponsable de: gestionar todos los
elementos de información del SID; ficheros
planos, XML, SGBD, etcétera
También conocida como capa de gestión
de recursos
¿Qué otros elementos pueden
proporcionar información?
En algunas arquitecturas se considera como parte integrante de esta
capa aquellos sistemas externos que proporcionan información. Es el
eslabón necesario para componer SID a partirde otros SID.
Denominar a esta capa como ‘capa de datos’ no es del todo riguroso,
¿por qué?
Diseño arriba-abajo (“top-down”)
• Desde el principio se tienen
claras las funcionalidades y
se dirige el desarrollo sobre
ellas
• Desventaja:
• Sólo es posible aplicarlo a
sistemas desarrollados
desde cero
• Los componentes por lo
general son fuertemente
acoplados pues se usan en...
Regístrate para leer el documento completo.