Descubre los Fundamentos de las Arquitecturas de Software: Tipos, Patrones y Aplicaciones

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,24 KB

Fundamentos de las Arquitecturas de Software

Las arquitecturas de software se diseñan en dos niveles de abstracción, que en este texto se llaman arquitectura en pequeño y arquitectura en grande:

  • Arquitectura en pequeño: Se refiere a la arquitectura de programas individuales, los cuales se separan en componentes.
  • Arquitectura en grande: Se refiere a la arquitectura de sistemas empresariales complejos que incluyen otros sistemas, programas y componentes de programas.

Ventajas de Documentar la Arquitectura de Software

  1. Facilita la comunicación con los participantes.
  2. Permite el análisis del sistema.
  3. Fomenta la reutilización a gran escala.

Formas de Utilizar un Modelo Arquitectónico

  1. Como una forma de facilitar la discusión acerca del diseño del sistema.
  2. Como una forma de documentar una arquitectura.

Los diagramas de bloques son una forma adecuada para describir la arquitectura del sistema durante el proceso de diseño, pues son una buena manera de soportar las comunicaciones entre las personas involucradas en el proceso.

El diseño arquitectónico es un proceso creativo en el cual se diseña una organización del sistema que cubrirá los requerimientos funcionales y no funcionales de este.

Requerimientos no Funcionales del Sistema

  1. Rendimiento
  2. Seguridad
  3. Protección
  4. Disponibilidad
  5. Mantenibilidad

Vistas Arquitectónicas

  • Lógica: Indica las abstracciones clave en el sistema como objetos o clases. Se relacionan con entidades.
  • Proceso: Permite hacer juicios acerca de las características no funcionales, como el rendimiento y la disponibilidad.
  • Desarrollo: Útil para administradores y programadores de software.
  • Física: Expone el hardware y software a través de los procesadores para los ingenieros de sistemas que planean una implementación del sistema.

Patrón Modelo-Vista-Controlador (MVC)

Este patrón separa la presentación e interacción de los datos del sistema. El sistema se estructura en tres componentes lógicos que interactúan entre sí. El componente Modelo maneja los datos del sistema y las operaciones asociadas a esos datos.

La idea de los patrones como una forma de presentar, compartir y reutilizar el conocimiento sobre los sistemas de software se usa ahora ampliamente.

Arquitectura Genérica en Capas

Organiza el sistema en capas, con funcionalidad relacionada asignada a cada capa.

  1. Interfaz de usuario
  2. Gestión de interfaz de usuario / Autenticación y autorización
  3. Lógica empresarial / Funcionalidad de la aplicación / Utilidades del sistema
  4. Soporte del sistema (Sistema Operativo, Base de Datos)

Arquitectura de Repositorio

Todos los datos en un sistema se gestionan en un repositorio central, accesible a todos los componentes del sistema. Los componentes no interactúan directamente, sino solo a través del repositorio.

Arquitectura Cliente-Servidor

La funcionalidad del sistema se organiza en servicios, y cada servicio lo entrega un servidor independiente. Los clientes son usuarios de dichos servicios y para utilizarlos ingresan a los servidores.

Arquitectura de Tubería y Filtro (Pipe & Filter)

El procesamiento de datos en un sistema se organiza de forma que cada componente de procesamiento (filtro) sea discreto y realice un tipo de transformación de datos. Los datos fluyen (como en una tubería) de un componente a otro para su procesamiento.

Arquitectura de Aplicación

Tiene la intención de cubrir las necesidades de una empresa u organización. Todas las empresas tienen mucho en común: necesitan contratar personal, emitir facturas, llevar la contabilidad, etcétera.

Arquitectura de Sistemas de Información

  1. Interfaz de usuario
  2. Comunicación de usuario / Autenticación y autorización
  3. Recuperación y modificación de información
  4. Gestión de transacciones / Base de Datos

Conclusiones

  • Una arquitectura de software es una descripción de cómo se organiza un sistema de software. Las propiedades de un sistema, como rendimiento, seguridad y disponibilidad, están influidas por la arquitectura utilizada.
  • Las decisiones de diseño arquitectónico incluyen decisiones sobre el tipo de aplicación, la distribución del sistema, los estilos arquitectónicos a usar y las formas en que la arquitectura debe documentarse y evaluarse.
  • Las arquitecturas pueden documentarse desde varias perspectivas o diferentes vistas. Las posibles vistas incluyen la conceptual, la lógica, la de proceso, la de desarrollo y la física.
  • Los patrones arquitectónicos son medios para reutilizar el conocimiento sobre las arquitecturas de sistemas genéricos. Describen la arquitectura, explican cuándo debe usarse, y exponen sus ventajas y desventajas.
  • Los patrones arquitectónicos usados comúnmente incluyen el modelo de vista del controlador, arquitectura en capas, repositorio, cliente-servidor, y tubería y filtro.
  • Los modelos genéricos de las arquitecturas de sistemas de aplicación ayudan a entender la operación de las aplicaciones, comparar aplicaciones del mismo tipo, validar diseños del sistema de aplicación y valorar componentes para reutilización a gran escala.
  • Los sistemas de procesamiento de transacción son sistemas interactivos que permiten el acceso y la modificación remota de la información, en una base de datos por parte de varios usuarios. Los sistemas de información y los sistemas de gestión de recursos son ejemplos de sistemas de procesamiento de transacciones.
  • Los sistemas de procesamiento de lenguaje se usan para traducir textos de un lenguaje a otro y para realizar las instrucciones especificadas en el lenguaje de entrada. Incluyen un traductor y una máquina abstracta que ejecuta el lenguaje generado.

Entradas relacionadas: