Introducción a la Arquitectura de Software

18
Introducción a la Arquitectura de Software ARSO

Transcript of Introducción a la Arquitectura de Software

Page 1: Introducción a la Arquitectura de Software

Introducción a la Arquitectura de

Software

ARSO

Page 2: Introducción a la Arquitectura de Software

¿Qué es la arquitectura de software?

De acuerdo a Bass, Clements y Kazman (2003) la

arquitectura de software de un programa o sistema de

cómputo es la estructura o estructuras del sistema, lo

que comprende a los componentes del software, sus

propiedades externas visibles y las relaciones entre ellos.

Page 3: Introducción a la Arquitectura de Software

¿Qué es la

arquitectura de

software?

Es la estructura de los

datos y de los componentes

del programa que se

requiere para construir un

sistema basado en

computadora (Pressman, R.

2010).

Cita:

«La arquitectura de un

sistema es un marco

general que describe su

forma y estructura: sus

componentes y la manera

en la que ajustan entre sí».

Jerrold Grochow

Page 4: Introducción a la Arquitectura de Software

¿Por qué es importante la arquitectura de

software?

En un libro dedicado a la arquitectura de software, Bass et al. Identifican tres razones claves:

Las representaciones de la arquitectura de software permiten la comunicación entre todas las partes interesadas en el desarrollo de un sistema.

Resalta las principales decisiones que tendrán un efecto profundo en toda el trabajo de la ingeniería de software.

La arquitectura constituye un modelo relativamente pequeño y asequible por la vía intelectual sobre cómo está estructurado el sistema y la forma en la que sus componentes trabajan juntos.

Page 5: Introducción a la Arquitectura de Software

Estilos arquitectónicos

Un estilo arquitectónico es una transformación que se

impone al diseño de todo el sistema.

El objetivo es establecer una estructura para todos los

componentes del sistema.

Page 6: Introducción a la Arquitectura de Software

Breve taxonomía de estilos de arquitectura

La gran mayoría se clasifica en un número relativamente

pequeño de estilos de arquitectura:

Arquitectura centradas en los datos

Arquitectura de flujos de datos

Arquitectura de llamar y regresar

Arquitectura orientada a objetos

Arquitectura en capas

Page 7: Introducción a la Arquitectura de Software

Arquitectura centradas en los datos

En el centro de esta arquitectura se halla una almacenamiento de datos al que

acceden con frecuencia otros componentes que actualizan, agregan, eliminan, o

modifican de cierto modo dentro del almacenamiento

Page 8: Introducción a la Arquitectura de Software

Arquitectura de flujos de datos

Esta arquitectura se aplica cuando datos de entrada van a

transformarse en datos de salida a través de una serie de

componentes computacionales o manipuladores.

Page 9: Introducción a la Arquitectura de Software

Tubo y filtro

Un patrón tubo y filtro, tiene un conjunto de componentes,

llamados filtros, conectados por tubos que transmiten datos de

un componente al siguiente.

Page 10: Introducción a la Arquitectura de Software

Arquitectura de llamar y regresar

Este estilo arquitectónico permite obtener una estructura

de programa que es relativamente fácil de modificar y

escalar. Dentro de esta arquitectura existen varios

subestilos (Bass at al. 2003):

Arquitectura de programa principal/subprograma

Arquitectura de llamada de procedimiento remoto

Page 11: Introducción a la Arquitectura de Software

Arquitectura de programa

principal/subprograma

Esta estructura clásica de programa descompone una

función en una jerarquía de control en la que un

programa «principal» invoca cierto número de

componentes de programa que a su vez invoca a otros.

Page 12: Introducción a la Arquitectura de Software

Arquitectura de llamada de procedimiento

remoto

Los componentes de una arquitectura de programa

principal/subprograma están distribuidos a través de

computadoras múltiples en una red.

Page 13: Introducción a la Arquitectura de Software

Arquitectura orientadas a objetos

Los componentes de un sistema incluyen datos y las

operaciones que deben aplicarse para manipularlos. La

comunicación y coordinación entre los componentes se

consiguen mediante la transmisión de mensajes.

Page 14: Introducción a la Arquitectura de Software

Arquitecturas en capa

Se define un número de capas diferentes; cada una ejecuta

operaciones que se aproximan progresivamente al

conjunto de instrucciones de máquina.

Page 15: Introducción a la Arquitectura de Software

Arquitecturas en capa

Page 16: Introducción a la Arquitectura de Software

Ventajas y desventajas de los estilos

arquitectónicos

Page 17: Introducción a la Arquitectura de Software

Bibliografía

1. Bass, L., P. Clements y R. Kazman, Software Architecture

in Practice, 2ª. Ed., Addison-Wesley, 2003.

2. Pressman Roger S. Ingeniería del Software, un enfoque

práctico, 7/E. Mc Graw Hill. 2010.

3. Fairbanks G., y Garlan D., Just Enough Software

Architecture: A Risk-Driven Approach, 1ª. Ed., Marshall

& Brainerd, 2010.

Page 18: Introducción a la Arquitectura de Software

¡Gracias!

Antonio Acosta Murillo