Hace aproximadamente 15 años me comencé a interesar por el término arquitectura de sistemas. Para ese entonces ( y creo que aún ahora ) el término se utiliza de formas bastante amplias y se traslapa en multiples formas con el de arquitectura empresarial en el mundo corporativo.

En este artículo vamos a explorar algunos conceptos básicos de arquitectura de sistemas y las razones por las cuales todo proyecto de desarrollo de software (y de hardware), incluyendo los proyectos tanto corporativos y empresariales como universitarios y colegiales así como los proyectos personales y hobbies deben incluir todos documentación de arquitectura.

Personalmente, la definición más satisfactoria que he encontrado para el término arquitectura de sistemas es la de esa documentación de conceptos, ideas, componentes que nos permiten razonar y conversar sobre el sistema. La utilidad de la arquitectura entonces es poder entender, razonar y entablar conversaciones significativas a cerca del sistema en cuestión.

Uno de los conceptos principales que quiero explorar es el de arquitectura BDAT (del inglés Business, Data, Application / Technology) que se menciona usualmente dentro del concepto de arquitectura de TOGAF (The Open Group Architecture Framework)

Así las cosas, un documento BDAT es un documento «vivo» que nos permite profundizar con el tiempo en aspectos clave de la arquitectura de un sistema antes de que este sea desarrollado y conforme se desarrolla, desde la parte conceptual (business/data) hasta la parte técnica (application (components) and technology)

(B) Arquitectura de Negocio (Business)

Corresponde al primer paso o fase para definir la arquitectura de un sistema.

¿Qué debe documentarse en la arquitectura de negocio?

  1. Nombre, visión y objetivos del sistema
  2. Problema / oportunidad que resuelve
  3. Conceptos Fundamentales
  4. Procesos, actores y métricas de éxito
  5. Modelado de personas, interacciones y procesos.
  6. Diagramas tipo SIPOC, diagramas de flujo, diagramas de estado.

(D) Arquitectura de Datos

Una vez definida la arquitectura de negocio en el paso anterior, el siguiente paso es definir la arquitectura de datos, tanto a nivel conceptual como a nivel lógico.

Dentro de los elementos a documentar se incluye:

  1. Modelo Conceptual de Datos (entidades conceptuales e interrelaciones)
  2. Modelo Lógico de Datos (entidades, atributos, características de los atributos, relaciones entre cada componente del modelo)

(A/T) Arquitectura de Aplicación y Tecnologías

Finalmente se definen los componentes lógicos del sistema tanto a nivel superficial (capas superiores) como a nivel detallado (componentes de cada capa y sub-componentes) así como las relaciones entre ellos y las tecnologías en que se estaría implementando dichos componentes y sus interacciones.

La arquitectura de aplicación y tecnologías puede documentar:

  1. Capas del sistema (UI, Backend, Data Persistence, Load Balancers, Hardware)
  2. Componentes de cada capa
    1. Interfaz de Usuario: Vistas, Controladores, Modelos
    2. Interfase de Programación (REST API): Controladores, Dominios, Verbos
    3. Capa de Acceso a Datos: Clases y métodos
    4. Base de Datos: Tablas, Vistas, Procedimientos, Triggers
    5. Procesos Automatizados: Tareas, Programación de tareas
    6. Inter-relación entre componentes
    7. Componentes de Soporte

El siguiente documento puede ser descargado y utilizado de forma libre para generar documentación de arquitectura BDAT.

https://docs.google.com/presentation/d/1qFqn3nJ_SxTPzo562MwLjeOK1-6UbsJRfVYxT0s0_Y4/edit?usp=sharing

Concluyendo podemos afirmar que la arquitectura BDAT nos ofrece un mecanismo eficiente y efectivo para administrar los conocimientos primordiales de un sistema y nos permite razonar y pensar sobre dicho sistema.

 9,077 total views,  7 views today

0Shares
Última modificación: diciembre 21, 2021

Autor

Comentarios

Escribe una respuesta o comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.