Please enable JavaScript.
Coggle requires JavaScript to display documents.
Lectura 4: Diseño arquitectonico - Coggle Diagram
Lectura 4: Diseño arquitectonico
Objetivos del diseño
Ventajas del modelo de diseño
Reutilización a gran escala
Gestión de complejidad
Herramientas de comunicación entre participantes
Detallado análisis del sistema
¿Cómo transformar a un modelo de diseño?
Definir los objetivos del proyecto en lo que respecta a diseño
Descomponer el sistema en subsistemas
Determinar estrategia de construcción
Descomposición modular
Diseñar la arquitectura estructural descomponiendo los subsistemas en módulos
Principales modelos
Orientado a objetos
Mod. flujo de datos
Modelo cliente-servidor 2 capas
Modelo de cliente grueso
El servidor sólo es responsable de la administración de datos
Ventajas
ATM no se conectan directamente a la base de datos sino al gestor de transacciones
El cliente realiza la presentación y el procesamiento lógico
Aprovecha la capacidad de procesamiento de los dispositivos de los clientes
Desventajas
Compleja administración del sistema
Alto coste de mantenimiento ya que es necesaria la re-instalación o actualización de cada dispositivo del cliente si la aplicación/software cambia
Modelo de cliente delgado
Procesamiento realizado por la aplicación y la administración de datos realizada en el servidor
Ventajas
La aplicación actua como servidor manejando todo el procesamiento de datos
Viable opción para sistemas centralizados
Interfaz que migra a los dispositivos (PC)
Desventajas
Gran carga de procesamiento en el servidor
El servidor realiza grandes cantidades de cálculos provocando una gran cantidad de tráfico en la red
No aprovecha la capacidad de calculo de los dispositivos del cliente
Modelado cliente-servidor 3 capas
Las 3 capas son utilizadas para separar los procesos de manera lógica los cuales se ejecutan en procesadores separados
Componentes
Administración de datos
Servicios de aplicación
Presentación
Modelado de control
Los subsistemas se controlan de modo que sus servicios se entreguen en el lugar correcto y en el instante adecuado
Tipos de modelos
Control centralizado
La responsabilidad del subsistema es controlar el sistema y administrar la ejecución de otros subsistemas
Tipos
Modelo de llamada-retorno (ejecución secuencial)
Modelo de administrador (concurrente)
Control basado en eventos
Se rigen por eventos generados en el exterior
Tipos
Modelos de transmisión (broadcast)
Modelos dirigidos por interrupciones
Utiles para sistemas que requieren manejar los datos en tiempo real (Ej: automoviles inteligentes)
Sistemas
Sistema orientado a servicios
Servicios web
Representación estándar para cualquier recurso computacional o de información que pueda ser utilizado por otros programas
Componentes de servicios web
Proveedor de servicios
Solicitante del servicio
Estándares basados en XML
WSDL
SOAP
UDDI
Sistemas peer-to-peer
Sistemas descentralizados donde los calculos son realizados en cualquier nodo de la red
No se distingue entre clientes y servidores
Arquitecturas
Descentralizada
Semicentralizada
Sistemas distribuidos
El procesamiento de la información se distribuye sobre varias computadores (los grandes sistemas informáticos en la actualidad lo utilizan)
Calidad y diseño del software
El diseño proporciona representación del software donde se evalua la calidad
Permite la traducción correcta de los requisitos de software
Sin diseño se corre el riesgo de construir sistemas no escalables, dificiles de mantener e inestables.
Diseño arquitectónico
Actividades principales
Modelado de control
Descomposición modular
Estructuración del sistema
Los grandes sistemas siempre dividen su sistema en subsistemas
Salidas
Modelo de distribución
Modelo de proceso dinámico
Modelo estructural estático
Modelo de interfaz
Modelo de relación
Requisitos no funcionales
Disponibilidad
Rendimiento
Protección
Mantenibilidad
Arquitectura - Organización del sistema
Se basa en la identificación de subsistemas a desarrollar de forma independiente como también en las relaciones entre subsistemas
Modelos organizacionales
Modelo de repositorios
Arquitectura en la que todos los datos compartidos se ubican en la base de datos central
Los subsistemas acceden a la base de datos central
Ventajas
Centralización
Compartición eficiente
Ligera abstracción de datos
Integración directa
Desventajas
Difícil distribución
Estandarización de políticas
Dificultad de evolución
Difícil integración de subsistemas externos
Modelo de datos común
Modelo cliente-servidor
Organización basada en un conjunto de servicios y servidores asociados
Los clientes acceden y usan dichos servicios
Componentes
Una red
Servidores
Clientes
Estructura
Capa de presentación
Capa de procesamiento del software
Capa de administración de datos
Modelo de capas o máquina abstracta
Modela la interacción entre subsistemas mediante organización de capas
Cada capa presta servicios a la capa inmediatamente superior y actúa como cliente de la capa inferior
Ventajas
Cambiable
Portable
Desventajas
Dificultad de estructurar los sistemas puesto que el cliente/usuario posiblemente requiera acceso a capas internas
Rendimiento puede ser afectado por múltiples niveles de interpretación de ordenes