Entradas

Imagen
    Tipos de arquitecturas               Para utilizar la arquitectura de software se sigue un conjunto de patrones        arquitectónicos,entre los cuales podemos encontrar:             •Cliente-Servidor             •Blackboard.             •Modelo entre capas.             •Intérprete.             •Orientado a servicios.             •recursos empleados.             •recursos desarrollados. Niveles de un diseños de software El diseño de software tiene varios niveles los cuales están relacionados entre sí,cada nivel tiene sus propios problemas,técnicas de análisis y componentes los que pueden ser simples o complejos,reglas de composición las cuales permiten construir componentes complejos. Modelos de la arquitectura de software La arquitectura de software cuenta con varios modelos,ellos son: Modelos estructurales Son similares a la vista estructural, pero su énfasis primario radica en la (usualmente una sola) estructura coherente del sistema completo, en vez de concentrarse en s…
Imagen
Máquina virtual o intérprete


Descripción Formado por cuatro componentesUn motor de simulación o interpretaciónUna memoria que contiene el código a interpretarUna representación del estado de la interpretaciónUna representación del estado del programa que se está simulando
Ventajas Solución software a problemas hardware.
Desventajas No siempre es aplicableReducido a lenguajes de programación
Otros Estilos Procesos distribuidosSistemas cliente/servidorSistemas en 3 capasPrograma Principal/SubrutinasTípica de lenguajes proceduralesUn programa principal gestiona el control de ejecución de las subrutinasTransición de EstadosArquitecturas Heterogéneas


Imagen
Sistemas basados en depósitos

Descripción
Existen dos tipos de componentes
Una estructura central de datos (representa el estado del proceso)Componentes independientes (operan en función del depósitode datos)
Las interacciones entre el repositorio y los demás componentes es variable:La entrada de los datos es seleccionada por los componentesEl estado de los datos del repositorio selecciona el proceso a ejecutar (pizarra)

Ventajas Posibilita la integración de agentes.Adecuado para la resolución de problemas no deterministas.Se puede resumir el estado de conocimiento en cada momento del proceso
Desventajas Estructura de datos común a todos los agentesProblemas de carga a la hora de chequear y vigilar el estadode la pizarra.
Imagen
Sistemas en Capas

Descripción Organizado jerárquicamente en capas, donde cada capa provee servicios a la capa superior y es servido por la capa inferiorLos componentes son cada una de las capasLos conectores son los protocolos de interacción entre las capas Restricciones: La interacción está limitada a las capas adyacentes Ventajas Facilita la descomposición del problema en varios niveles de abstracción.Soporta la mejora, los cambios solo afectan a las capas vecinasSe pueden cambiar las implementaciones respetando las interfaces con las capas adyacentes. Desventajas No todos los sistemas pueden estructurarse en capas.Es difícil encontrar la separación en capas adecuadas
Imagen
Invocación Implícita Basada en Eventos
Descripción ·En lugar de invocaciones de procedimientos explicitas o directas, un componente anuncia uno o más eventos y otros componentes registran el interés en un evento asociando un procedimiento a dicho evento.·La ocurrencia de un evento causa la invocación “implicita” de procedimientos en otros módulos.·Los componentes son los módulos cuyas interfaces ofrecen un conjunto de procedimientos y de eventos·Los conectores incluyen llamadas a procedimientos tradicionales así como el ligado de eventos con llamadas a procedimientos
Restricciones: ·Quien anuncia el evento no conoce a que componentes afecta el evento
·No se pueden hacer asunciones acerca del orden de procesamientoVentajas ·Provee un robusto soporte de reusabilidad·Facilita la evolución del sistema
Desventajas ·Pérdida de control en el comportamiento del sistema·Problemas en el intercambio de datos·Es difícil asegurar la corrección global del sistema
Imagen
Tipos Abstractos de Datos y OO Descripción
 Las representaciones de los datos y las operaciones están encapsulados en un tipo abstracto de datos u objeto  Los componentes son objetos  Las invocaciones de métodos son los conectores  Restricciones:  Los objetos son responsables de la integridad de sus representaciones Dicha representación es ocultada al resto de los objetos
 Ventajas
 Gracias al invariante de ocultación es posible reemplazar la Implementación  sin que afecte a los clientes


Desventajas
 Para invocar métodos de un objeto se debe conocer su identidad  Efectos colaterales
Imagen
Pipes and Filters (tuberías y filtros)
Descripción Cada componente tiene un conjunto de entradas y un conjunto de salidas. Cada componente lee las entradas y las transforma en salidas. Restricciones: Los filtros deben ser independientes. No deben compartir estado con otros filtros. Los filtros realizan la labor independientemente del flujo de entrada. Especializaciones ·Pipelines ·Bounded pipes ·Typed pipes Ventajas ·Permite entender el sistema global en términos de la combinación de componentes ·Soporta de buena manera la reutilización. Los filtros son independientes de sus vecinos ·Facilidad de Mantenimiento y mejora ·Facilidad de diagnóstico (rendimiento, deadlocks) ·Soportan la ejecución concurrente ·Desventajas ·No aconsejado para cuando se necesita interactividad ·Problemas de performance ya que los datos se transmiten en forma completa entre filtros