You are on page 1of 10

Arquitectura de Software

Conceptos Bsicos y ejemplos de


patrones y estilos arquitectnicos

2
Contenido

Introduccin

Estilo de arquitectura

Patrn arquitectnico

Arquitectura de referencia

Arquitectura de software

Conclusiones personales

Referencias

10

Introduccin
En el presente documento hace un anlisis acerca de las diferencias entre lo
que son un estilo de arquitectura, un patrn arquitectnico, una arquitectura
de referencia y una arquitectura de software. De cada uno se coloca una
descripcin y un ejemplo.
Muchas de las veces, se convierte en una problemtica el hecho de no
poder usar un concepto correctamente al momento de la prctica de una
actividad. El objetivo de este documento es poder identificar y tener en
claro lo qu es y para qu sirve cada uno de los conceptos dados para poder
aplicarlos sin ninguna dificultad.
Antes de entrar de lleno en estos conceptos recordaremos que la
ingeniera de software hace uso de la arquitectura de software para
poder crear y mantener grandes aplicaciones de software de calidad. Estos
trminos nacen debido a la crisis del software entre los aos 60s y 90s, en
donde se obtena software de baja calidad, gran costo y poca flexibilidad, de
igual forma muchos de ellos no cumplan con las especificaciones y no se
terminaban a tiempo; es por esto que es importante tener en claro y hacer
uso de las herramientas que nos ofrece la ingeniera de software y conocer
los conceptos que se darn a continuacin.

1. Estilo de arquitectura
Qu es un estilo arquitectnico?
Es aqul que expresa los componentes y las relaciones entre ellos, con las
limitaciones de su aplicacin, as como la composicin y el diseo de
normas asociadas a su construccin.
Un estilo arquitectnico indica los tipos de componentes y conectores
involucrados, as como los patrones y restricciones de interconexin o
composicin entre ellos.
Cada estilo tiene una serie de propiedades que lo caracterizan,
determinando sus ventajas e inconvenientes y condicionando la eleccin de
uno u otro.

A continuacin la figura 1.1 muestra la clasificacin general de los estilos

figura1.1

A continuacin un ejemplo:
Pipes and Filters (tuberas y filtros) (ver figura1.2)
Descripcin:
Cada componente:

Tiene un conjunto de entradas y un conjunto de salidas


Lee las entradas y las transforma en salidas

Restricciones:
Los filtros deben:

Ser independientes. No deben compartir estado con otros filtros


Realizar la labor independientemente del flujo de entrada

Especializaciones:

Pipelines
Bounded pipes
Typed pipes

figura1.2

2. Patrn arquitectnico
Qu es un patrn arquitectnico?
Un patrn arquitectnico especifica un conjunto predefinido de subsistemas
con sus responsabilidades y una serie de recomendaciones para organizar
los distintos componentes.
Un patrn arquitectnico ayuda a resolver problemas como adaptabilidad a
requerimientos cambiantes, performance, modularidad, acoplamiento, etc.
Uno de los patrones de diseo mas conocidos y utilizado es el Modelo Vistacontrolador (MVC). Dicho patrn separa los datos de una aplicacin, la
interfaz de usuario y la lgica de control en tres componentes distintos.
En la imagen (figura 2.1) podemos ver un diagrama de cmo se relacionan
los diferentes componentes entre ellos. Los componentes desempean las
siguientes tareas:

Modelo: Encapsula los datos y las funcionalidades. El modelo es


independiente
de
cualquier
representacin
de
salida
y/o
comportamiento de entrada
Vista: Muestra la informacin al usuario. Pueden existir mltiples
vistas del modelo, cada una teniendo asociado un componente
controlador
Controlador: Recibe las entradas, normalmente como eventos. Los
eventos son traducidos a solicitudes de servicio, bien para el modelo,
bien para la vista.

figura
2.1

7 de referencia
3. Arquitectura
Qu es una arquitectura de referencia?
Una arquitectura de referencia proporciona una plantilla de solucin probada
para la arquitectura de software de aplicaciones en un dominio particular.
La arquitectura de referencia ser una gua para la construccin del
producto. Se caracteriza por un conjunto de piezas en especfico que debe
contener el sistema.
Los productos de trabajo de la arquitectura de referencia son parte de una
base de activos reutilizable de una organizacin. Su objetivo es conformar
un punto de partida para el desarrollo de una arquitectura. Pueden ir
desde patrones
de
arquitectura ya
preparados, mecanismos
de
arquitectura e infraestructuras a sistemas completos, con caractersticas
conocidas, probadas en la prctica. Pueden aplicarse de forma general, o
para una clase de sistemas que abarcan dominios, o tener un foco ms
estrecho especfico de dominio.
El uso de arquitecturas de referencia probadas es una forma eficaz de tratar
numerosos requisitos no funcionales, sobre todo, requisitos de calidad,
mediante la seleccin de arquitecturas de referencia existentes, que la
prctica ha demostrado que cumplen dichos requisitos. Puede que las
arquitecturas de referencia existan o se utilicen en niveles diferentes de
abstraccin y desde distintos puntos de vista. stos se corresponden con las
vistas 4+1 (consulte "Un conjunto tpico de vistas de la arquitectura"). De
este modo, el arquitecto de software puede seleccionar lo que mejor se
ajusta (slo diseo de arquitectura, o diseo e implementacin) a los
diferentes grados de terminacin.
Con frecuencia, una arquitectura de referencia se define de modo que no
incluya las instancias de los componentes que se utilizarn para construir el
sistema (de hacerse, se convierte en una arquitectura de lnea de
productos), pero esta distincin no es muy importante. En Rational Unified
Process (RUP), se permite que la nocin de arquitectura de referencia
incluya referencias a componentes reutilizables existentes (es decir,
implementaciones).

8
4. Arquitectura
de software
Es la estructura del sistema, que incluye los componentes del software, las
propiedades visibles externamente de esos componentes y las relaciones
entre ellos.
La arquitectura de software es la organizacin fundamental de un sistema
encarnada en sus componentes, las relaciones entre ellos y el ambiente y
los principios que orientan su diseo y evolucin.
Tambin es conocida como arquitectura lgica, consiste en un conjunto de
patrones y abstracciones coherentes que proporcionan el marco de
referencia necesario para guiar la construccin del software.
La vista arquitectnica es una vista abstracta, que aporta el ms alto nivel
de comprensin y suprime detalles.

9 personales
Conclusiones
A lo largo de este documento, pudimos observar que los estilos y patrones
arquitectnicos, as como la arquitectura de referencia son utilizados por la
arquitectura de software para guiar la construccin de un buen producto de
software.
Los estilos arquitectnicos, engloban y expresan todos los componentes del
sistema y la relacin entre ellos. Sabemos ahora que existen diversos estilos
arquitectnicos cada uno con propiedades que lo caracterizan y que hay
algunos ms usados de los cuales hay mas informacin o documentacin
que otros que son menos populares y de los cuales existe menos
documentacin, dejando as una arquitectura de referencia no muy
convincente (en el segundo caso) y conveniente que los primeros
mencionados.
Los patrones arquitectnicos organizan la informacin de un estilo
arquitectnico, es decir, organizan los componentes en un conjunto de
subsistemas para resolver problemas mas detalladamente, tomando en
cuenta la informacin antes recopilada en un estilo arquitectnico.
Es importante conocer estos conceptos para que al momento de la creacin
de un producto de software no slo nos facilite el trabajo, sino que
podamos identificar mas a detalle cada uno de los factores que lo integran y
poder obtener as un buen producto de software con calidad que satisfaga
las expectativas del usuario final

10
Referencias
http://pegasus.javeriana.edu.co/~mad/Arquitecturas%20de%20SW.pdf
http://mahara.uji.es/artefact/file/download.php?file=54534&view=4648
http://cic.puj.edu.co/wiki/lib/exe/fetch.php?
media=materias:s2_conceptosdemodelado.pdf
http://sazfcorp.com/RUP.es/SmallProjects/core.base_rup/workproducts/rup_re
ference_architecture_13D031C0.html

You might also like