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
Estructuración del Sistema
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.
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…
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
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.
Depósito o Repositorio
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.
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
El Modelo Depósito o de Repositorio (2)
(Gp:) Ejemplo: Arquitectura de una herramienta CASE
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.
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.
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.
Características del Modelo de Repositorio (Pizarrón)
Cliente-Servidor
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.
Página siguiente |