El IEEE 1471 fue un estándar fundamental desarrollado por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) para describir la arquitectura de los llamados sistemas intensivos en software. Aunque actualmente ha sido superado, sentó las bases conceptuales para la forma en que hoy entendemos y documentamos la arquitectura de sistemas complejos.
Historia y Evolución
El estándar, formalmente conocido como ANSI/IEEE 1471-2000, nació de la necesidad de integrar el pensamiento arquitectónico en los estándares de ingeniería de software. Fue desarrollado por el Grupo de Trabajo de Arquitectura (AWG) y aprobado por la Junta de Estándares de IEEE-SA en septiembre del año 2000.
Debido a su relevancia global, en 2006 fue adoptado por el Comité Técnico Conjunto 1 de ISO/IEC como ISO/IEC 42010:2007. Finalmente, en noviembre de 2011, tanto el IEEE 1471 como el ISO/IEC 42010 fueron sustituidos por el estándar unificado ISO/IEC/IEEE 42010:2011, titulado Sistemas e ingeniería de software — Descripción de la arquitectura.
Contribuciones Principales del IEEE 1471
El IEEE 1471 introdujo conceptos críticos que transformaron la disciplina de la arquitectura de software:
- Meta-modelo de arquitectura: Proporcionó definiciones claras y un marco estructural para describir la arquitectura.
- Enfoque en los Stakeholders: Estableció que una arquitectura debe abordar las preocupaciones (concerns) de las partes interesadas del sistema.
- Naturaleza Multivista: Afirmó que ninguna vista única puede capturar todas las preocupaciones de los stakeholders, haciendo que las descripciones de arquitectura sean inherentemente multivistas.
- Vistas y Puntos de Vista: Definió el punto de vista (viewpoint) como la especificación de las convenciones para construir una vista, y la vista (view) como el resultado de aplicar dicho punto de vista a un sistema específico.
- Racional Arquitectónico: Ofreció guías para capturar el razonamiento detrás de las decisiones arquitectónicas e identificar inconsistencias entre las diversas vistas.
Propósito de la Descripción de la Arquitectura
Según el estándar, una descripción de arquitectura no es solo un documento técnico, sino una herramienta para:
- Expresar el sistema y su evolución a lo largo del tiempo.
- Facilitar la comunicación entre los diversos stakeholders.
- Permitir la evaluación y comparación de arquitecturas de manera consistente.
- Planificar, gestionar y ejecutar las actividades de desarrollo del sistema.
- Verificar que la implementación del sistema cumpla con la descripción arquitectónica original.
Terminología Clave
| Término | Definición |
|---|---|
| Arquitecto | Persona, equipo u organización responsable de diseñar la arquitectura del sistema. |
| Arquitectura | Organización fundamental de un sistema encarnada en sus componentes, sus relaciones entre sí y con el entorno, y los principios que guían su diseño y evolución. |
| Descripción de Arquitectura (AD) | Colección de productos utilizados para documentar una arquitectura. |
| Sistema | Colección de componentes organizados para cumplir una función o conjunto de funciones específicas. |
| Stakeholder | Individuo, equipo u organización con intereses o preocupaciones relativas a un sistema. |