Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoría PS6116 Arq. de Software PDF
Teoría PS6116 Arq. de Software PDF
SISTEMAS DE INFORMACIÓN II
TEORÍA
CONTENIDO:
ARQUITECTURA DEL SISTEMA DE SOFTWARE
NIVELES DE DISEÑO DE LOS SISTEMAS DE SOFTWARE
CUALIDADES DE LAS ARQUITECTURAS
ESTILOS Y PATRONES - ESTILOS ARQUITECTÓNICO - PATRÓN
ARQUITECTÓNICO
FRAMEWORK – PATRONES DE DISEÑO
EL MODELO DE ARQUITECTURA 4+1 VISTAS
ESTILOS Y PATRONES
ESTILOS ARQUITECTÓNICOS
ESTILOS ARQUITECTÓNICOS
PIPES and FILTERS (Tuberías y filtros)
Pipes
(Tuberías)
ESTILOS ARQUITECTÓNICOS
ORGANIZACIONES POR TIPOS DE DATOS ABSTRACTOS Y O-O
La representación de los datos y sus operaciones primitivas se
encapsulan en Tipos de Datos Abstractos (TDA) u objetos.
Manejador obj op op
(TDA) op obj
op
op
obj op
obj op op
Llamada de Nota: obj es un manejador
op obj op es una invocación
un proceso op
• Los componentes son objetos (o instancias de tipos de datos abstractos).
Los objetos son ejemplos de un tipo de componente llamado manejador
porque es el responsable de preservar la integridad de un recurso
• Los objetos interactúan a través de invocaciones a funciones y
procedimientos.
• La implementación de las funciones y procedimientos está oculta para el
objeto cliente, lo cual permite hacer las modificaciones fácilmente.
• Para hacer uso de un servicio se hace necesario conocer la identidad del
objeto; al hacer un cambio en un objeto es necesario modificar todos los
objetos que lo invocan.
SISTEMAS DE INFORMACIÓN II TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ESTILOS ARQUITECTÓNICOS
BASADOS EN EVENTOS, INVOCACIÓN IMPLÍCITA
En el estilo anterior, la interfaz de los componentes (objetos)
cuentan con una colección de procedimientos y funciones, y la
integración entre ellos se logra a través de la invocación explícita
de éstos. En este estilo, se considera una técnica de integración
conocida como invocación implícita.
• Los componentes son módulos cuyas interfaces proveen una colección
de procedimientos y un conjunto de eventos. Los procedimientos se
llaman de la manera usual pero el componente también puede activar
algunos de sus procedimientos con los eventos del sistema. Esto hará
que estos procedimientos sean invocados cuando los eventos ocurren
en tiempo de ejecución.
• Los generadores de eventos no saben cuales componentes se afectarán
por el evento. Ejemplos de este estilo son los sistemas de gestión de
bases de datos cuando aseguran la consistencia de los datos, las
aplicaciones con interfaces de usuarios al separar la representación de
los datos de las aplicaciones que las gerencian.
ESTILOS ARQUITECTÓNICOS
SISTEMAS EN CAPAS
Nivel
central
Composición de
varios elementos
Usuarios
ESTILOS ARQUITECTÓNICOS
REPOSITORIOS
Consta de dos (2) tipos de componentes: una estructura central de datos
que refleja el estado actual y una colección independiente de compo-
nentes que operan sobre el almacén central.
Computación
fc1 fc2
fc8 fc3
Blackboard
Acceso (datos
directo Memoria
compartidos)
fc7 fc4
Nota:
fc es una fuente de conocimiento
fc6 fc5
• Las interacciones entre los componentes pueden variar significativamente. El
tipo de control seleccionado puede llevar a dos categorías:
– Si el tipo de transacción es una entrada que dispara la selección del
proceso a ejecutarse, se está hablando de las tradicionales bases de datos.
– Si el estado actual de la estructura central de datos es el principal
activador de los procesos a ejecutarse, se habla de un estilo de repositorio
tipo pizarrón (blackboard). Son muy utilizados para aplicaciones que
requieren interpretaciones complejas de procesamiento de señales, tales
como reconocimiento del habla y de patrones.
SISTEMAS DE INFORMACIÓN II TEORÍA
UNIVERSIDAD SIMÓN BOLÍVAR
DEPARTAMENTO DE PROCESOS Y SISTEMAS
ESTILOS ARQUITECTÓNICOS
INTÉRPRETES
En una organización intérprete,una maquina virtual es produci-
da en software. Un intérprete incluye el pseudoprograma inter-
pretado y la máquina de interpretación misma.
Memoria
Programa a ser
Entradas Datos interpretado
(programa)
Computación
(máquina)
Motor de Estado
Salidas Instrucción seleccionada
interpretación interno del
Datos seleccionados
simulado interpretador
Acceso a datos
(búsqueda/almacenamiento)
PATRONES ARQUITECTÓNICOS
PATRONES ARQUITECTÓNICOS
Patrón
Descripción
Arquitectónico
Consiste en estructurar aplicaciones que
pueden ser descompuestas en grupos de
Layers
subtareas, las cuales se clasifican de acuerdo a
un nivel particular de abstracción.
Provee una estructura para los sistemas que
procesan un flujo de datos. Cada paso de
Pipes and Filters procesamiento está encapsulado en un
componente filtro (filter). El dato pasa a través
de conexiones (pipes), entre filtros adyacentes.
Aplica para problemas cuya solución utiliza
estrategias no determinísticas. Varios
Blackboard subsistemas ensamblan su conocimiento para
construir una posible solución parcial ó
aproximada.
Puede ser usado para estructurar sistemas de
software distribuido con componentes
desacoplados que interactúan por invocaciones
a servicios remotos. Un componente broker es
Broker
responsable de coordinar la comunicación,
como el reenvío de solicitudes, así como
también la transmisión de resultados y
excepciones.
Divide una aplicación interactiva en tres
componentes. El modelo (model) contiene la
información central y los datos. Las vistas
Model-View-
(view) despliegan información al usuario. Los
Controler
controladores (controlers) capturan la entrada
del usuario. Las vistas y los controladores
constituyen la interfaz del usuario.
PATRONES ARQUITECTÓNICOS
Patrón
Descripción
Arquitectónico
Define una estructura para sistemas de
software interactivos de agentes de cooperación
Presentation- organizados de forma jerárquica. Cada agente
Abstraction- es responsable de un aspecto específico de la
Control funcionalidad de la aplicación y consiste de tres
componentes: presentación, abstracción y
control.
Aplica para sistemas de software que deben
estar en capacidad de adaptar los
requerimientos de cambio del sistema. Separa
Microkernel
un núcleo funcional mínimo del resto de la
funcionalidad y de partes específicas
pertenecientes al cliente.
Provee un mecanismo para sistemas cuya
estructura y comportamiento cambia
Reflection dinámicamente. Soporta la modificación de
aspectos fundamentales como estructuras tipo
y mecanismos de llamadas a funciones.
FRAMEWORK
FRAMEWORK
FRAMEWORK
PATRONES DE DISEÑO
PATRONES DE DISEÑO
• Clasificación:
ALCANCE PROPOSITO
CLASE CREACIÓN ESTRUCTURAL COMPORTAMIENTO
Factory Method Adapter Clss Interpreter
OBJECT Abstract Factory Adapter Object Chain of
Responsibility
Builder Bridge Command
Protitype Composite Iterator
Singleton Decorator Mediator
Façade Memento
Flyweight State
Proxy Strategy
Visitor
PATRONES DE DISEÑO
Documentación:
• Nombre del patrón y su clasificación
• Intención: ¿Qué hace? ¿Qué problema resuelve?
• Alias o conocido también como
• Motivación
• Aplicabilidad
• Estructura: representación gráfica de la jerarquía de clases y el
diagrama de interacción
• Participantes: las clases que lo componen y sus responsabilidades
• Consecuencias: trade-off de usar el patrón
• Implementación: sugerencias y ayudas sobre la implementación, fallas
más comunes
• Usos conocidos: ejemplos donde ha sido usado
• Patrones relacionados: ¿Qué patrón se relacionan con él? ¿En qué se
diferencia de otros?
VistaLógica
Vista Lógica Vistade
Vista deDesarrollo
Desarrollo
Escenarios
Escenarios
Vistade
Vista deProceso
Proceso VistaFísica
Vista Física