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.

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.

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

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

RM-ODP - Enterprise View

 ISO/IEC 19793

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

 

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

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

 

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