Arquitectura de Software
Historia
Propuso que se realice una estructuración de los sistemas de software antes de la etapa de programación, (Edsger Dijkstra. “The Structure of the THE Multiprogramming system.” Communications of the ACM, 26(1), pp. 49-52, Enero de 1983)
Turing Award (1972)
By Hamilton Richards [GFDL (http://www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0 (http://creativecommons.org/licenses/by-sa/3.0/)], via Wikimedia Commons
Historia
Demostró que los criterios seleccionados en la descomposición de un sistema impactan en la estructura de los programas y propuso diversos principios de diseño que debían seguirse a fin de obtener una estructura adecuada. David Parnas. “On the Criteria for Decomposing Systems into Modules.” Communications of the ACM 15(12), pp. 1053-1058, Diciembre de 1972.
By Hubert Baumeister [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
Historia
Presenta un modelo para la arquitectura de software que consiste en tres componentes: elementos, forma y razón (rationale). Los elementos son elementos ya sea de procesamiento, datos o conexión. La forma se define en términos de las propiedades de, y las relaciones entre, los elementos, es decir, restricciones operadas sobre ellos. La razón proporciona una base subyacente para la arquitectura en términos de las restricciones del sistema, que lo más frecuente es que se deriven de los requerimientos del sistema. (Dewayne E. Perry y Alexander L. Wolf. “Foundations for the study of software architecture”. ACM SIGSOFT Software Engineering Notes, 17(4), pp. 40–52, Octubre de 1992. )
Historia
Sistemas en capas, tubería-filtros, cliente-servidor, pizarras, MVC. (David Garlan, Robert Allen y John Ockerbloom. “Exploiting style in architectural design environments”. Proceedings of SIGSOFT'94: Foundations of Software Engineering. ACM Press, Diciembre de 1994)
Historia
Frameworks arquitectónicos:
- Zachman Framework (1987)
- TOGAF (Open Group Estándar - Arquitectura Empresarial - 1995)
- 4+1 (Philippe Kruchten - 1995)
- RM-ODP (Estándard ISO - 1996)
- Modelo Genérico de Componentes (Bernd Blobel - 2007)
Zachman Framework
By Ideasintegration [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], from Wikimedia Commons
Zachman Framework
By Albin Martin Zuech, Director, VA Enterprise Architecture Service (Retired) [Public domain], via Wikimedia Commons
TOGAF
By Stephen Marley, NASA /SCI [Public domain], via Wikimedia Commons
Architecture Development Method
TOGAF
- Visión de la Arquitectura: Define el alcance y las expectativas del proyecto. Validad el contexto del negocio.
- Arquitectura del negocio: Desarrollar la arquitectura base y la arquitectura objetivo. Analizar las brechas.
- Arquitectura del sistema de información: Desarrollar la arquitectura base y la arquitectura objetivo. Analizar las brechas.
- Arquitectura tecnológica: Desarrollar la arquitectura base y la arquitectura objetivo. Analizar las brechas.
TOGAF
- Oportunidades y Soluciones: Realizar el plan de implementación inicial, identificar los proyectos que requieren implementación.
- Plan de Migración: Analizar costos, beneficios y riesgos. Desarrollar los detalles de la implementación y el plan de migración.
- Gobierno de la implementación: Se asegura que la implementación este acorde a la arquitectura
- Gestión de los cambios de la arquitectura: Se asegura de que la arquitectura responda a las necesidades de la empresa
4+1
By mpan [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons
Framework vinculado con RUP
4+1 - Vista Lógica
Describe la estructura y funcionalidad del sistema
UML: Diagramas de casos de uso, clases, objetos, secuencia, comununicación, componentes (*), y paquetes (*)
4+1 - Vista de Proceso
Trata los aspectos dinámicos del sistema, explica los procesos de sistema y cómo se comunican
UML: Diagramas de Actividades
4+1 - Vista de Desarrollo
Ilustra la organización modular del software
UML: Diagramas de paquetes y componentes
4+1 - Vista Física
Tiene en cuenta los aspectos no funcionales del sistema como disponibilidad, tolerancia a fallas, rendimiento y escalabilidad
UML: Diagramas de despliegue
4+1 - Escenarios
Se describe el comportamiento de los elementos mostrados en las cuatro vistas para los escenarios o casos de uso más relevantes.
UML: Diagramas de comunicación, secuencia, estados, tiempo
4+1 - Taller
Realizar la arquitectura del sistema a desarrollar mediante el framework 4+1 y UML, para uno de los escenarios identificados.
RM-ODP
By Marcel Douwe Dekker [CC BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0) or GFDL (http://www.gnu.org/copyleft/fdl.html)], from Wikimedia Commons
Architecture (of a system): A set of rules to define the structure of a system and the interrelationships between its parts.
RM-ODP
The enterprise viewpoint, which is concerned with the purpose, scope and policies governing the activities of the specified system within the organization of which it is a part;
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP - Enterprise View
RM-ODP
The information viewpoint, which is concerned with the kinds of information handled by the system and constraints on the use and interpretation of that information.
RM-ODP - Information View
RM-ODP - Information View
RM-ODP - Information View
RM-ODP
The computational viewpoint, which is concerned with the functional decomposition of the system into a set of objects that interact at interfaces - enabling system distribution.
RM-ODP
RM-ODP
RM-ODP
The engineering viewpoint, which is concerned with the infrastructure required to support system distribution.
RM-ODP - Engineering View
RM-ODP - Engineering View
RM-ODP - Engineering View
RM-ODP - Engineering View
RM-ODP
The technology viewpoint, which is concerned with the choice of technology to support system distribution
.
RM-ODP - Technology View
RM-ODP - Technology View
RM-ODP - Technology View
Modelo Genérico de Componentes
(B.Blobel, 2012)
Modelo Genérico de Componentes
(B.Blobel, 2012)
Modelo Genérico de Componentes
(B.Blobel, 2012)
Modelo Genérico de Componentes
(B.Blobel, 2012)
RM - ODP
Arquitectura de Software
By Gustavo Andrés Uribe Gómez
Arquitectura de Software
- 627