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:
- Elaborar una lista de las vistas candidatas.
- Combinar las vistas según sea necesario para obtener una perspectiva completa.
- Priorizar las vistas en función de su relevancia y utilidad para los objetivos del sistema.