Fundamentos de la Arquitectura de Software: Modelo 4+1 y Documentación Esencial

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

Escrito el en español con un tamaño de 4,54 KB

1. Modelo 4+1 Vistas de Kruchten

Este modelo es una forma estructurada para describir la arquitectura del software desde diferentes perspectivas. Está compuesto por cinco vistas:

  1. Vista Lógica:

    • Enfocada en la estructura del software, como clases, módulos, objetos y relaciones.
    • Sirve para entender la lógica del sistema.
  2. Vista de Procesos:

    • Muestra los procesos concurrentes y su comunicación.
    • Ayuda a identificar problemas de sincronización y rendimiento.
  3. Vista Física:

    • Describe la infraestructura física: servidores, redes y dispositivos donde se despliega el software.
    • Asegura que los recursos físicos soporten la solución propuesta.
  4. Vista de Desarrollo:

    • Orientada a los desarrolladores, muestra cómo el sistema se organiza en módulos y componentes.
    • Facilita la asignación de tareas y la gestión del código.
  5. Vista de Escenarios (o Vista de Casos de Uso):

    • Describe cómo interactúan los usuarios con el sistema mediante casos de uso.
    • Esta vista integra todas las anteriores en situaciones específicas.

2. Documento de Arquitectura del Sistema (DAS)

  • Es un documento formal que describe las decisiones de diseño arquitectónico.
  • Incluye:
    • Objetivos y alcance del sistema.
    • Vistas arquitectónicas basadas en el modelo 4+1.
    • Decisiones técnicas importantes (herramientas, frameworks, patrones).
    • Requisitos no funcionales, como rendimiento y seguridad.

3. Desarrollo de la Vista de Escenarios

  • Los escenarios son descripciones narrativas de situaciones específicas donde el sistema es utilizado.
  • Sirven para validar la arquitectura, identificando cómo el sistema responde a eventos normales y excepcionales.
  • Se apoya en casos de uso que muestran interacciones entre actores y el sistema.

4. Documento de Especificación de Casos de Uso

  • Define detalladamente los casos de uso, que son las secuencias de acciones que un actor (usuario) realiza para lograr un objetivo específico.
  • Incluye:
    • Nombre del caso de uso.
    • Actores involucrados.
    • Flujo principal de eventos.
    • Flujos alternativos o excepcionales.
    • Precondiciones y postcondiciones.

5. Profundizando en las Vistas Lógica y Física

  • La Vista Lógica:

    • Muestra la organización interna del software (clases, paquetes, módulos).
    • Facilita el desarrollo y mantenimiento del código.
  • La Vista Física:

    • Describe cómo se asignan los componentes del software a los recursos físicos del sistema.
    • Es clave para garantizar la escalabilidad y el rendimiento.

6. La Vista de Despliegue

  • Describe cómo los elementos del software se distribuyen en la infraestructura física.
  • Detalla:
    • Servidores y redes involucrados.
    • Componentes del sistema asignados a cada servidor.
    • Esquemas de redundancia o balanceo de carga.

7. Detalle de la Vista de Procesos

  • Enfocada en los procesos en ejecución y sus interacciones.
  • Se identifican:
    • Procesos concurrentes y su sincronización.
    • Comunicación entre procesos (por ejemplo, mensajes o eventos).
    • Riesgos de bloqueos o cuellos de botella.

Entradas relacionadas: