Vistas de Arquitectura de Software: Modelos Esenciales para el Diseño de Sistemas

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

Escrito el en español con un tamaño de 5,69 KB

Vistas de Arquitectura de Software: Modelos Clave

Este documento explora diversas perspectivas y modelos de vistas de arquitectura de software, fundamentales para comprender, diseñar y documentar sistemas complejos. Se abordan diferentes enfoques, desde el Modelo 4+1 hasta RM-ODP y otras extensiones relevantes.

Vistas del Modelo 4+1 (Kruchten)

Vista de Procesos: Ejecución

Sobre: Procesos y máquinas.

Para: Concurrencia/distribución, integridad, tolerancia a fallas.

Vista de Desarrollo: Software y Trabajo

Sobre: Módulos, asignación de requisitos, asignación de trabajo.

Para: Planificar, evaluar costos, medir progreso, evaluar reuso.

Vista Física: Requisitos No Funcionales

Sobre: Mapeo de elementos a máquinas.

Para: Razonar sobre requisitos no funcionales (disponibilidad, confiabilidad, rendimiento, escalabilidad).

Vista de Escenarios: Combinación

Sobre: Casos de uso.

RM-ODP: Vistas de Arquitectura de Referencia

El Modelo de Procesamiento Distribuido Abierto de Referencia (RM-ODP) define un marco para la especificación de sistemas distribuidos, utilizando un conjunto de vistas para abordar diferentes aspectos del diseño.

1. Vista de Empresa

Sobre: Propósito, ámbito y restricciones que rigen el negocio.

Para: Extraer requisitos y estructuras de la organización.

2. Vista de Información

Sobre: Información (datos) requeridos por el sistema.

Para: Esquemas (estático, invariante y dinámico).

3. Vista Computacional

Sobre: Aplicaciones y objetos de infraestructura (interfaces, actividades, contratos); modelos dinámicos.

Para: Descomponer funcionalidad.

4. Vista de Ingeniería

Sobre: Objetos y canales.

Para: Infraestructura de distribución.

5. Vista Tecnológica (o de Plataforma)

Sobre: Hardware y software específicos.

Para: Razonar sobre tecnología y productos.

Vistas de Hofmeister

Hofmeister propone un conjunto de vistas para la arquitectura de software, enfocándose en diferentes niveles de abstracción y aspectos del sistema.

  • Vista conceptual
  • Vista tecnológica
  • Vista física
  • Vista de desarrollo

Extensión Rito-Silva para Fénix

Esta extensión introduce vistas adicionales para el contexto específico del proyecto Fénix.

  • Vista de objetivos
  • Vista del negocio

El Modelo 4+1 de Vistas de Arquitectura de Software (Revisión Detallada)

El Modelo 4+1, propuesto por Philippe Kruchten, ha sido un referente fundamental en la arquitectura de software. Describe cinco vistas, donde cuatro son consideradas ortogonales y la quinta se utiliza para vincularlas, ofreciendo una perspectiva integral del sistema.

Vista Lógica

Es una abstracción del modelo de diseño e identificación a gran escala de paquetes, subsistemas y clases.

Se representa comúnmente con:

  • Diagramas de Clases y Objetos
  • Diagramas ER (Entidad-Relación)

Se complementa con vistas del Área Dinámica:

  • Diagramas de Actividad
  • Diagramas de Interacción
  • Diagramas de Estado

Vista de Procesos

Toma en cuenta algunos requisitos no funcionales como rendimiento, disponibilidad, integridad del sistema y tolerancia a fallas.

  • Captura aspectos de sincronización y concurrencia del diseño.
  • Control de los procesos concurrentes.

Vista de Despliegue o Desarrollo

La vista de despliegue se enfoca en la organización de los módulos del software en el ambiente de desarrollo.

Se representa con:

  • Diagramas de Componentes

Se complementa con vistas del Área Dinámica:

  • Diagramas de Actividad
  • Diagramas de Interacción
  • Diagramas de Estado

Vista Física

La vista física se centra en los requisitos no funcionales, tales como la disponibilidad del sistema, la fiabilidad (tolerancia a fallos), el rendimiento y la escalabilidad.

Se representa con:

  • Diagrama de Despliegue.

Básicamente, este tipo de diagrama se utiliza para modelar el hardware utilizado en la implementación del sistema y las relaciones entre sus componentes. Los elementos usados por este tipo de diagrama son nodos, componentes y asociaciones.

Vista de Escenarios

Esta vista contiene los escenarios o casos de uso clave, para cada uno de los cuales se describen las secuencias de interacción entre objetos y procesos.

Se representa con:

  • Diagramas de Casos de Uso.

Recomendaciones para la Documentación de Vistas

Para una documentación efectiva de las vistas de arquitectura, considere las siguientes recomendaciones:

  • Documentar las vistas que sean de mayor utilidad para el proyecto.
  • Documentar tomando en cuenta los intereses de los involucrados (stakeholders).
  • En sistemas muy grandes, utilizar paquetes de vistas para organizar la información.

Proceso de Selección de Vistas

Para seleccionar las vistas más adecuadas para su proyecto, siga estos pasos:

  1. Elaborar una lista de las vistas candidatas.
  2. Combinar las vistas según sea necesario para obtener una perspectiva completa.
  3. Priorizar las vistas en función de su relevancia y utilidad para los objetivos del sistema.

Entradas relacionadas: