Descargar

Arquitecturas de Software Genéricas

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Objetivos de la Presentación El Proceso de Diseño de un Software involucra la siguientes tres fases (o actividades básicas): Estructuración de un Sistema. Diseño del Modelo de Control del Sistema. Decomposición Modular (diseño detallado). (Gp:) Ciclo de Feedback

    edu.red

    Estructuración del Sistema

    edu.red

    Estructuración del Sistema (1) … una vez que los requisitos (incluyendo los de calidad) están claramente especificados, comenzamos a hacer arquitectura del sistema…. Usualmente se parte por la estructuración de la solución (sistema). Se refiere a la descomposición del sistema a través de un conjunto subsistemas relacionados. El diseño de la arquitectura es normalmente expresado como un diagrama de bloques, el cual, presenta una vista de la estructura del sistema. Muchos modelos específicos muestran cómo los subsistemas comparten los datos, cómo son distribuidos y cómo las interfaces con otros subsistemas pueden ser desarrolladas.

    edu.red

    Estructuración del Sistema (2) Ejemplo: Consideremos el Diseño Arquitectónico de un software para controlar un robot, destinado a embalar distintos tipos de productos.

    El robot utiliza un sistema de visión para seleccionar objetos desde una cinta transportadora. Identifica objetos y selecciona el tipo de embalaje correcto. Saca los objetos de la cinta transportadora para empaquetarlos. Los empaca y los coloca en otra cinta transportadora.

    Veamos una propuesta de estructuración para este sistema…

    edu.red

    Ejemplo: Sistema de Control de un Robot Empaquetador Sistema de Visión Sistema de Identificación de Objetos Sistema de Selección de Paquetes Sistema Empaquetador Controlador Cinta Transp. (Gp:)

    Subsist. de Control

    (Gp:) Controlador del Brazo

    Controlador Repositorio (Gp:) Estructuración del Sistema (2)

    Subsistema de Empaque

    edu.red

    Estructuración del Sistema (3) Hay varias recomendaciones generales (soluciones recurrentes) para estructurar un sistema, algunas de ellas son: Modelo de depósito (o de repositorio) Modelo Cliente/Servidor Modelo de máquina abstracta Otros Mezclas de estos

    Cada uno es más apropiado para apoyar un cierto escenario o conjunto de escenarios.

    edu.red

    Depósito o Repositorio

    edu.red

    El Modelo de Depósito o de Repositorio(1) Muchos subsistemas intercambian datos. Esto puede darse de dos maneras: Los datos compartidos se colocan en una base de datos central o repositorio y pueden ser accedidos por todos los subsistemas. Cada subsistema mantiene su propia base de datos y pasa datos explícitos a otros subsistemas. Cuando grandes cantidades de datos son compartidos, el modelo de repositorio es el más comunmente utilizado.

    edu.red

    Modelo Estructural Estático Editor de Diseños Generador de Código Empaquetador Repositorio de Proyectos Editor de Programas Analizador de Diseños Generador de Reportes (Gp:) Ejemplo: Arquitectura de una herramienta CASE

    edu.red

    El Modelo Depósito o de Repositorio (2) (Gp:) Ejemplo: Arquitectura de una herramienta CASE

    edu.red

    Características del Modelo de Repositorio (1) Como todos los modelos, éste tiene ventajas y desventajas. Ventajas Es una forma eficiente de compartir grandes cantidades de datos. Los sub-sistemas que producen datos no necesitan saber cómo estos datos serán utilizados. Proporciona un manejo centralizado de los datos producidos, lo cual facilita su administración (respaldo, seguridad, etc). El modelo permite compartir facilmente los datos del repositorio, con todos los subsistemas (existentes o futuros). El sistema se vuelve más fácil de mantener, extender y escalar.

    edu.red

    Características del Modelo de Repositorio (2) Desventajas Los sub-sistemas deben hacer coincidir sus modelos de datos, con el del repositorio, lo cual es inevitablemente un compromiso. Los cambios en el modelo de datos son caros y difíciles de implementar. El modelo de repositorio fuerza a que todos los subsistemas unifiquen la política de administración de sus datos. El repositorio se vuelve un punto vulnerable. Por otra parte, es dificil distribuir el repositorio en diferentes máquinas, ya que esto tiene una complejidad y un costo similar a las B.D. distribuidas. El conocimiento del negocio está distribuido (y a veces replicado) en diferentes subsistemas.

    edu.red

    Características del Modelo de Repositorio (3) El modelo de repositorio es pasivo, el control corre por cuenta de los sistemas involucrados. Existe una variante a este modelo, la cual es conocida como el modelo de pizarrón. Este modelo mantiene una arquitectura general, similar a la de repositorio, pero es proactivo…. Cada vez que llegan datos al repositorio, éste hace una notificación inteligente a todos los subsistemas involucrados.

    edu.red

    Características del Modelo de Repositorio (Pizarrón)

    edu.red

    Cliente-Servidor

    edu.red

    Modelo Cliente-Servidor (1) Este modelo brinda otra alternativa para estructurar los sistemas. Es un modelo de Sistemas Distribuido, el cual muestra cómo los datos y el procesamiento se distribuyen entre un rango de computadores. Típicamente, está compuesto por tres componentes: Conjunto de servidores “stand-alone”, los cuales proporcionan servicios específicos como impresión, manejo de datos, etc. Conjunto de clientes que llaman a estos servicios. Redes que permiten que los clientes accedan a los servidores. Este modelo cuenta con la arquitectura básica más utilizada en la actualidad.

    Partes: 1, 2
    Página siguiente