Diseño Arquitectónico Objetivos



Descargar 21,12 Kb.
Fecha de conversión06.01.2017
Tamaño21,12 Kb.

Diseño Arquitectónico

Objetivos

  • Introducir el diseño arquitectónico y discutir su importancia
  • Explicar el diseño arquitectónico y las decisiones que tienen que hacerse
  • Introducir tres estilos arquitectónicos, que abarcan la organización, la descomposición y el control
  • Debatir arquitecturas de referencia que se utilizan para comunicar y comparar arquitecturas

Tópicos expuestos

  • Decisiones de diseño arquitectónico
  • Sistema de organización
  • Descomposición estilos
  • Control de estilos
  • Arquitecturas de referencia

Arquitectura de software

  • El proceso de diseño para la identificación de los sub-sistemas que componen un sistema y el marco para el sub-sistema de control y comunicación es el diseño arquitectónico.
  • El resultado de este proceso de diseño es una descripción de la arquitectura de software.

Diseño arquitectónico

  • Una fase temprana del proceso de diseño del sistema.
  • Representa el vínculo entre los procesos de especificación y diseño.
  • Suelen llevarse a cabo en paralelo con las actividades de algunas especificaciones.
  • Se trata de identificar los principales componentes del sistema y sus comunicaciones.

Ventajas de la arquitectura explícita

  • Comunicación entre los stakeholders
    • La arquitectura puede ser utilizada como un foco de discusión del sistema por los stakeholders.
  • Análisis del sistema
    • Significa que el análisis de si el sistema puede hacer frente a sus requerimientos no funcionales es posible.
  • Reutilización a gran escala
    • La arquitectura puede ser reutilizable a través de una variedad de sistemas.

La arquitectura y características del sistema

  • Rendimiento
    • Localizar y reducir al mínimo las operaciones críticas de comunicaciones. Gran uso en lugar de componentes de grano fino.
  • Seguridad
    • Use una arquitectura con activos críticos en las capas interiores.
  • Protección
    • La localización de las características esenciales para la seguridad en un pequeño número de sub-sistemas.
  • Disponibilidad
    • Incluir componentes redundantes y los mecanismos de tolerancia a fallos.
  • Mantenibilidad
    • Uso de grano fino, los componentes reemplazables.

Conflictos Arquitectónicos

  • Uso de componentes mejora de gran manera el rendimiento de grano, pero hace más difícil el mantenimiento.
  • Hace más difícil la introducción de los datos redundantes, pero mejora la disponibilidad de seguridad.
  • La localización de las características relacionadas con la seguridad más medios de comunicación por lo general degradan el rendimiento.

Estructuración del sistema

  • Concerniente a la descomposición del sistema en sub-sistemas.
  • El diseño arquitectónico se expresa normalmente como un diagrama de bloques que presentan un panorama general de la estructura del sistema.
  • Modelos más específicos muestran cómo los sub-sistemas comparten los datos, se distribuyen y la interfaz con los demás también pueden ser desarrollados.

Sistema de control de robot de embalaje

Box y diagramas

  • Muy abstracto - que no muestran la naturaleza de los componentes ni las relaciones de las propiedades visibles externamente de los sub-sistemas.
  • Sin embargo, útil para la comunicación con las partes interesadas y para la planificación de proyectos.

Decisiones de diseño arquitectónico

  • Diseño arquitectónico es un proceso creativo, por lo que el proceso es diferente dependiendo del tipo de sistema que se está desarrollado.
  • Sin embargo, es común una serie de decisiones, en todos los procesos de diseño.

Decisiones de diseño arquitectónico

  • Existe una arquitectura de aplicaciones genéricas que se pueden utilizar?
  • Cómo se distribuirá el sistema?
  • Qué estilos arquitectónicos son apropiados?
  • Qué enfoque se utilizará para la estructura del sistema?
  • Cómo el sistema se descompone en módulos?
  • Qué estrategia de control se debe utilizar?
  • Cómo el diseño arquitectónico se evaluará?
  • Cómo debe ser documentada la arquitectura?

Reutilización de la arquitectura

  • Sistemas en el mismo dominio a menudo tienen arquitecturas similares que reflejan conceptos del dominio.
  • La aplicación de líneas de producción se construye en torno a un núcleo con arquitectura particular, con variantes que satisfagan las necesidades del cliente.
  • Arquitecturas de aplicación se tratan en el capítulo 13 y las líneas de producción en el capítulo 18.

Estilos arquitectónicos

  • El modelo arquitectónico de un sistema puede ajustarse a un modelo genérico o estilo arquitectónico.
  • La conciencia de estos estilos puede simplificar el problema de la definición de arquitecturas de sistemas.
  • Sin embargo, la mayoría de los grandes sistemas son heterogéneos y no siguen un mismo estilo arquitectónico.

Modelos arquitectónicos

  • Utilizarse para documentar un diseño arquitectónico.
  • Modelo estructural estático, que muestra los principales componentes del sistema.
  • Modelo de proceso dinámico que muestra el modelo de proceso de la estructura del sistema.
  • Modelo de interfaz que define las interfaces de sub-sistemas.
  • Modelo de relaciones, como un modelo de flujo de datos que muestra las relaciones de sub-sistemas.
  • Modelo de distribución que muestra cómo los sub-sistemas se distribuyen a través de computadoras.

Sistema de organización

  • Refleja la estrategia básica que se utiliza para estructurar un sistema.
  • Tres estilos de organización son ampliamente utilizados:
    • Una reposición de datos compartida;
    • Servicios compartidos y servidores de estilo;
    • Una máquina abstracta o estilo de capas.

El modelo repositorio

  • Sub-sistemas de intercambio de datos. Esto puede hacerse de dos maneras:
    • Datos compartidos se lleva a cabo en un repositorio o base de datos central y puede ser visitada por todos los sub-sistemas;
    • Cada sub-sistema mantiene su propia base de datos y pasa datos explícitamente a otros subsistemas.
  • Cuando grandes cantidades de datos sean compartidos, el modelo de repositorio compartido es más comúnmente utilizado.

Arquitectura de herramientas CASE

Modelo Repositorio Características

  • Ventajas
    • Manera eficaz de compartir grandes cantidades de datos;
    • Sub-sistemas no tienen por qué preocuparse de cómo los datos se producen, por ejemplo, la gestión centralizada copia de seguridad, seguridad, etc
    • Un modelo a compartir se publica como el esquema del repositorio.
  • Desventajas
    • Sub-sistemas deben ponerse de acuerdo sobre un modelo repositorio de datos. Inevitablemente, un compromiso;
    • La evolución de datos es difícil y costosa;
    • No hay lugar para las políticas de gestión específicas;
    • Difícil de distribuir de manera eficiente.

Modelo cliente-servidor

  • Sistema distribuido que muestra cómo el modelo de datos y procesamiento se distribuye a través de una gama de componentes.
  • Conjunto de servidores independientes que ofrecen servicios específicos, tales como la impresión, gestión de datos, etc
  • Conjunto de clientes que piden a éstos los servicios.
  • Red que permite a los clientes acceder a los servidores.

biblioteca de imágenes y películas

Cliente-servidor características

  • Ventajas
    • Distribución de datos es sencilla;
    • Hace un uso eficaz de los sistemas en red. Puede requerir hardware más barato;
    • Fácil añadir nuevos servidores o actualizar los servidores existentes.
  • Desventajas
    • No hay un modelo de datos compartidos, así que los sub-sistemas utilizan diferentes datos de la organización. Intercambio de datos puede ser ineficaz;
    • Redundantes en la gestión de cada servidor;
    • No hay registro central de nombres y servicios - que puede ser difícil de averiguar qué servidores y servicios están disponibles.

Modelo de máquina abstracta (capas)

  • Se utiliza para modelar la interacción de sub-sistemas.
  • Organiza el sistema en un conjunto de capas (o máquinas abstractas) cada uno de los cuales provee un conjunto de servicios.
  • Apoya el desarrollo gradual de sub-sistemas en diferentes capas. Cuando una capa cambia, sólo la capa adyacente se ve afectada.

Versión del sistema de gestión

Estilos de descomposición modular

  • Los estilos de la descomposición de sub-sistemas en módulos.
  • No hay distinción rígida entre la organización y la descomposición modular del sistema.

Sub-sistemas y módulos

  • Un sub-sistema es un sistema en su propio derecho cuyo funcionamiento es independiente de los servicios prestados por otros subsistemas.
  • Un módulo es un componente del sistema que proporciona servicios a otros componentes, pero normalmente no se considera como un sistema separado.

Descomposición modular

  • Otro nivel estructural en que sub-sistemas se descomponen en módulos.
  • Dos modelos de descomposición modular
    • Un modelo de objetos cuando el sistema se descompone en la interacción objeto;
    • Una tubería o modelo de flujo de datos cuando el sistema se descompone en módulos funcionales que transforman las entradas en salidas.
  • Si es posible, las decisiones acerca de la concurrencia deben retrasarse hasta que los módulos se apliquen.

Modelo de Objetos

  • Estructura del sistema en un conjunto de objetos débilmente acoplados con interfaces bien definidas.
  • La descomposición orientada a objetos se refiere a la identificación de clases de objetos, sus atributos y operaciones.
  • Cuando se aplica, los objetos se crean a partir de estas clases y algunos modelos de control para coordinar las operaciones del objeto.

Sistema de procesamiento de la factura

Ventajas del modelo de objetos

  • Los objetos son débilmente acoplados por lo que su aplicación puede ser modificada sin afectar a otros objetos.
  • Los objetos pueden reflejar entidades del mundo real.
  • Implementación de lenguajes orientados a objetos son extensamente usados.
  • Sin embargo, los cambios de interfaz de objetos puede causar problemas y entidades complejas pueden ser difíciles de representar como objetos.

Función orientada a pipelining

  • Transformaciones funcionales transforman sus entradas en salidas.
  • Puede ser denominado un modelo de filtro y tubo (como en el shell de UNIX).
  • Variantes de este enfoque son muy comunes. Cuando las transformaciones son secuenciales, se trata de un modelo secuencial que se utiliza ampliamente en sistemas de procesamiento de datos.
  • En realidad, no adecuado para sistemas interactivos.

Sistema de procesamiento de la factura

Ventajas Modelo de tubos

  • Apoya la reutilización de transformación.
  • Para la organización intuitiva de comunicación interesados.
  • Fácil de añadir nuevas transformaciones.
  • Relativamente fácil de aplicar, ya sea como un sistema concurrente o secuencial.
  • Sin embargo, requiere de un formato común para la transferencia de datos a lo largo de la tubería y difícil de apoyo basada en eventos de interacción.

Control de estilos

  • Están relacionadas con el control de flujo entre los sub-sistemas. Distinta de la descomposición del sistema modelo.
  • Control centralizado
    • Un sub-sistema tiene la responsabilidad general de control de otros subsistemas.
  • Control basado en eventos
    • Cada sub-sistema puede responder a eventos generados externamente de los demás sub-sistemas o del entorno del sistema.

Control centralizado

  • Un sub-sistema de control tiene la responsabilidad de gestionar la ejecución de otros subsistemas.
  • Modelo de retorno
    • Modelo de subrutinas de arriba hacia abajo donde el control se inicia en la cima de una jerarquía de subrutinas y se mueve hacia abajo. Aplicables a los sistemas secuenciales.
  • Modelo administrador
    • Aplicable a sistemas concurrentes. Un componente del sistema controla la interrupción, la puesta en marcha y coordinación de otros procesos del sistema. Puede ser implementado en sistemas secuenciales como una declaración.

Modelo de control llamada/retorno

Modelo de control centralizado para sistema de tiempo real

Sistema impulsado por eventos

  • Impulsada por eventos generados externamente en el que la coordinación del evento está fuera del control de los sub-sistemas que procesan el evento.
  • Dos principales modelos
    • Modelos de difusión. Un acontecimiento es transmitido a todos los sub-sistemas. Cualquier sub-sistema que puede manejar el evento pueden hacerlo;
    • Modelos de manejo de interrupciones. Utilizados en sistemas de tiempo real donde las interrupciones son detectadas por un manejador de interrupción y pasan a algún otro componente para la transformación.
  • Otros modelos de sistemas impulsados por eventos incluyen a las hojas de cálculo y sistemas de producción.

Modelo de difusión

  • Eficaz en la integración de sub-sistemas en diferentes ordenadores en una red.
  • Sub-sistemas de registro de un interés específico en los acontecimientos. Cuando se producen, el control es transferido a la sub-sistema que puede manejar el evento.
  • Las políticas de control no están incrustadas en el evento y manejador de mensaje. Sub-sistemas deciden sobre los acontecimientos de interés para ellos.
  • Sin embargo, los sub-sistemas no saben cuándo o si un evento se manejará.

Difusión o transmisión selectiva

Sistemas impulsado por interrupciones

  • Utilizados en sistemas de tiempo real, donde una respuesta rápida a un evento es fundamental.
  • Se conocen los tipos de interrupción con un manejador definido para cada tipo.
  • Cada tipo se asocia con una ubicación de memoria y un interruptor de hardware causas de transferencia a su manejador.
  • Permite una respuesta rápida, pero compleja y difícil de programar para validar.

Modelo de control conducido por interrupciones

Arquitecturas de referencia

  • Modelos arquitectónicos pueden ser específicos para algunas aplicaciones de dominio.
  • Dos tipos de dominio específico de modelo
    • Modelos genéricos que son abstracciones de una serie de sistemas reales, y que encierran las principales características de estos sistemas. Contempladas en el Capítulo 13.
    • Modelos de referencia que son más abstractos, modelo idealizado. Proporcionar un medio de información acerca de que clase de sistema y de la comparación de diferentes arquitecturas.
  • Modelos genéricos son por lo general los modelos de abajo hacia arriba, los modelos de referencia son de arriba abajo.

Arquitecturas de referencia

  • Modelos de referencia se derivan de un estudio de la solicitud de dominio en lugar de los sistemas existentes.
  • Puede utilizarse como base para la aplicación del sistema o para comparar diferentes sistemas. Actúa como un estándar contra el que los sistemas pueden ser evaluados.
  • Modelo OSI es un modelo de capas para los sistemas de comunicación.

Modelo de referencia OSI

Caso modelo de referencia

  • Servicios de datos
    • Almacenamiento y gestión de datos.
  • Servicios de integración de datos
    • Gestión de grupos de entidades.
  • Servicios de gestión de tareas
    • Definición y establecimiento de modelos de procesos.
  • Los servicios de mensajería
    • Herramienta-herramienta y herramientas de comunicación y el medio ambiente.
  • Servicios de interfaz de usuario
    • Interfaz de usuario de desarrollo.

El modelo de referencia ECMA para entornos CASE

Puntos clave

  • La arquitectura de software es el marco fundamental para la estructuración del sistema.
  • Decisiones de diseño arquitectónico incluye decisiones sobre la arquitectura de aplicaciones, la distribución y los estilos arquitectónicos que se utilizará.
  • Diferentes modelos arquitectónicos, como un modelo estructural, un modelo de control y un modelo de descomposición puede ser desarrollado.
  • Sistema de repositorio de modelos organizativos son modelos cliente-servidor y modelos de máquinas abstractas.

Puntos clave

  • Modelos de contron incluyen control centralizado y modelos impulsados por eventos.
  • Arquitecturas de referencia pueden ser utilizadas para comunicarse de dominio específico de las arquitecturas y para evaluar y comparar los diseños arquitectónicos.

Modelos arquitectónicos

  • Diferentes modelos arquitectónicos pueden producirse durante el proceso de diseño
  • Cada modelo presenta diferentes perspectivas sobre la arquitectura

Atributos de la arquitectura

  • Rendimiento
    • La localización de las operaciones para reducir al mínimo sub-sistema de comunicación
  • Seguridad
  • Protección
    • Aislar los componentes esenciales para la seguridad física
  • Disponibilidad
    • Incluir componentes redundantes en la arquitectura
  • Mantenibilidad
    • Uso de grano fino, autónomo de los componentes


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal