Ingeniería de Software | Diseño arquitectonico

Introducción: El software necesita el diseño arquitectónico para representar el diseño del software. IEEE define el diseño arquitectónico como «el proceso de definir una colección de componentes de hardware y software y sus interfaces para establecer el marco para el desarrollo de un sistema informático». El software creado para sistemas basados ​​en computadora puede exhibir uno de estos muchos estilos arquitectónicos. 
Cada estilo describirá una categoría de sistema que consta de: 
 

  • Un conjunto de componentes (por ejemplo: una base de datos, módulos computacionales) que realizarán una función requerida por el sistema.
  • El conjunto de conectores ayudará en la coordinación, comunicación y cooperación entre los componentes.
  • Condiciones de cómo se pueden integrar los componentes para formar el sistema.
  • Modelos semánticos que ayudan al diseñador a comprender las propiedades generales del sistema.

El uso de estilos arquitectónicos es para establecer una estructura para todos los componentes del sistema. 

Taxonomía de estilos arquitectónicos: 
 

  1. Arquitecturas centradas en datos: 
    • Un almacén de datos residirá en el centro de esta arquitectura y los otros componentes que actualizan, agregan, eliminan o modifican los datos presentes en el almacén acceden con frecuencia.
    • La figura ilustra un estilo típico centrado en datos. El software cliente accede a un repositorio central. Las variaciones de este enfoque se utilizan para transformar el repositorio en una pizarra cuando los datos relacionados con el cliente o los datos de interés para el cliente cambian las notificaciones al software del cliente.
    • Esta arquitectura centrada en datos promoverá la integrabilidad. Esto significa que los componentes existentes se pueden cambiar y se pueden agregar nuevos componentes de cliente a la arquitectura sin el permiso o la preocupación de otros clientes.
    • Los datos se pueden pasar entre los clientes utilizando el mecanismo de pizarra.
  2. Arquitecturas de flujo de datos: 
    • Este tipo de arquitectura se utiliza cuando los datos de entrada se transforman en datos de salida a través de una serie de componentes manipulativos computacionales.
    • La figura representa la arquitectura de tubería y filtro ya que utiliza tubería y filtro y tiene un conjunto de componentes llamados filtros conectados por tuberías.
    • Las tuberías se utilizan para transmitir datos de un componente al siguiente.
    • Cada filtro funcionará de forma independiente y está diseñado para tomar la entrada de datos de una determinada forma y producir una salida de datos para el siguiente filtro de una forma específica. Los filtros no requieren ningún conocimiento del funcionamiento de los filtros vecinos.
    • Si el flujo de datos degenera en una sola línea de transformaciones, se denomina secuencial por lotes. Esta estructura acepta el lote de datos y luego aplica una serie de componentes secuenciales para transformarlo.
  3. Arquitecturas de llamada y devolución: se utiliza para crear un programa que sea fácil de escalar y modificar. Existen muchos subestilos dentro de esta categoría. Dos de ellos se explican a continuación. 
    • Arquitectura de llamada a procedimiento remoto: este componente se utiliza para presentar una arquitectura de programa principal o subprograma distribuida entre varias computadoras en una red.
    • Arquitecturas de programa principal o subprograma: la estructura del programa principal se descompone en una cantidad de subprogramas o funciones en una jerarquía de control. El programa principal contiene varios subprogramas que pueden invocar otros componentes. 
       

program architecture

  1. Arquitectura orientada a objetos: los componentes de un sistema encapsulan datos y las operaciones que deben aplicarse para manipular los datos. La coordinación y comunicación entre los componentes se establece a través del paso de mensajes.
  2. Arquitectura en capas: 
    • Se definen varias capas diferentes y cada capa realiza un conjunto bien definido de operaciones. Cada capa realizará algunas operaciones que se acercarán progresivamente al conjunto de instrucciones de la máquina.
    • En la capa externa, los componentes recibirán las operaciones de la interfaz de usuario y en las capas internas, los componentes realizarán la interfaz del sistema operativo (comunicación y coordinación con el sistema operativo)
    • Capas intermedias a servicios públicos y funciones de software de aplicación.

Publicación traducida automáticamente

Artículo escrito por PranathiBadugu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *