Está en la página 1de 4

DISEO Y AEQUITECTURA DE SOFTWARE

Unidad 2. Actividad 3. Contrastando arquitectura y patrn de diseo



UNIVERSIDAD NACIONAL ABIERTA Y ADISTANCIA DE MXICO

INGENIERA EN DESARROLLO DE SOFTWARE

CUATRIMESTRE CUATRO


DISEO Y AEQUITECTURA DE SOFTWARE

PROF: JUDITH RUBY SANCHEZ GARCIA


ALUMNO: MARIO OSCAR RAMREZ CORTES
AL10506012


Unidad 2. Actividad 3. Contrastando arquitectura y patrn de diseo

Agosto, 2014






DISEO Y AEQUITECTURA DE SOFTWARE
Unidad 2. Actividad 3. Contrastando arquitectura y patrn de diseo
Patrn de arquitectura de software. Las formas repetibles y reutilizables que resultan de algn
paso en el proceso del ciclo de vida del software, es conocido como patrn, y determina la forma
arquitectnica final del software, para cada tipo de aplicacin se puede utilizar un patrn. No se debe
confundir patrn con el concepto de arquitectura, ya que esta, es el producto de usar uno o ms
patrones para el diseo de un software. Para entender mejor el concepto y diferenciarlos de una vez,
har referencia a un ejemplo que en lo personal creo satisface la necesidad de materializar la idea y
no entrar en ms confusiones. Para llegar a este tuve que entender primero todo el programa
desarrollado: al igual que se construye una casa y de manera analgica, el software tiene elementos
de descomposicin conocidos como mdulos y que Sommerville clasifica como modelos genricos y
de referencia.
Una casa se compone de ladrillos, y si la vemos muy de cerca esos ladrillos tienen una forma
repetitiva de encimarse uno debajo de otro, sus componentes son sencillos pues solo son el
rectngulo que forma el ladrillo y las juntas superior, inferior, derecha o izquierda, segn si es un
ladrillo de en medio o bien arriba o abajo. Pero las casas pueden ser tambien de blocks los cuales
son ms grandes y tambien estan apilados de forma repetitiva, hay casas de piedra y aunque estas
son polgonos irregulares, aun as tienen repeticiones, estas repeticiones son patrones, y segn los
patrones que se usen, dar como resultado una cierta arquitectura.
Lo mismo sucede con el software, los patrones o modelos genricos son ms utilizados como los de
recoleccion de datos, y monitorizaacin, mientras que los de referencia son ms abstractos y
describen una clase ms amplia de sistemas.
Entre los patrones de diseo ms usados o conocidos son los filtros y tuberas, las capas o layers,
cliente-servidor y repositorios, de estos cuatro se derivan muchsimos ms que utilizan la misma
base pero se han modificado segn las necesidades de software nuevo.
Las diferencias entre patrones y arquitecturas. Ya entendido el concepto (austero pero claro) de
lo que es un patrn, podemos describir que las diferencias generales entre patrones y arquitecturas
son la escala. Tomando de ejemplo la arquitectura de layers, un patron solo definir previamente la
forma en que las capas se relacionan, interactuan, su rendimiento pero todo de manera casi
individual, mientras que la integracin total y el funcionamiento integral de todas estas capas estar
descrita por la arquitectura del software, de modo que los patrones no pueden existir si no hay una
arquitectura establecida, y la arquitectura no puede ser si no se sigue un patron.
Otra clara diferencia es la reutilizacin, debido a la diferencia de escalas, la arquitectura resultar
siempre ms dificil de reutilizar (considerndola como una entidad integrada), como se puede hacer
con los patrones (segn el diseo arquitectonico que se haya seleccionado).
Si medimos el impacto al aplicar una arquitectura en el diseo del software, entonces este es relevante
a la totalidad del sistema pero, si este slo concierne a un subcomponente, nos referimos a un patrn
de diseo.
Por ejemplo, Layers es claramente una arquitectura , ya que concierne al diseo general de una
aplicacin. Mientras que Active Record , que lidia con los mecanismos de persistencia de datos es un
DISEO Y AEQUITECTURA DE SOFTWARE
Unidad 2. Actividad 3. Contrastando arquitectura y patrn de diseo
patrn de diseo.
Para dejar ms claro este tema, podramos decir que una arquitectura puede utilizar uno o ms
patrones de diseo como por ejemplo la arquitectura cliente-servido, en la que se utilizan layers para
organizar las funciones de intercambio dinmico y por otro lado y dentro de alguna layer podramos
usar pipes and filters para poder integrar algn proceso que sea totalmente unidireccional para que
en cada filtro resulte un producto sin la intervencin del usuario y todo mientras las dems capas
siguen trabajando.

Patrones de
arquitectura
Descripcin. Diferencias.
- Layers
Ayudan a la estandarizacin,
portabilidad y cambiabilidad
principalmente.
Este soporta un diseo basado en niveles de
abstraccin crecientes, lo cual a su vez permite
a los implementadores la particin de un
problema complejo en una secuencia de pasos
incrementales. En segundo lugar, el estilo
admite muy naturalmente optimizaciones y
refinamientos. En tercer lugar, proporciona
amplia reutilizacin. Al igual que los tipos de
datos abstractos, se pueden utilizar diferentes
implementaciones o versiones de una misma
capa en la medida que soporten las mismas
interfaces de cara a las capas adyacentes.
- Pipes and
filters
Se usa para sistemas de
procesamiento de datos de
flujo, es flexible por su
estructura y adems
reutilizable y eficiente en el
procesamiento paralelo,
Este patrn caracterizado a diferencia de los
otros por ver al sistema como una serie de
transformaciones sobre piezas sucesivas de
entradas de datos.
Los datos ingresan al sistema y luego fluyen a
travs de las componentes hasta que son
asignados a algn destino final.
Contrastando con estilos arquitectnicos
presentados en las pantallas anteriores, en
aquellos la interaccin era simple y directa entre
partes bien definidas, por el contrario, en los
tableros se hace manejo de informacin de
diversas fuentes (agentes). Se puede llamar
arquitectura multi agentes.
La diferencia que presenta este patrn conocido
como Modelo-Vista-Controlador (MVC) es que
separa el modelado del dominio, la presentacin
y las acciones basadas en datos ingresados por
el usuario en tres clases diferentes
Sistemas
Distribuidos
Se usan como una
herramienta para todo cliente
que requiere un software
manejable y gestionado de
manera simultanea y remota.
Este estilo comprende bsicamente dos formas
o sub-estilos, que se han llamado intrpretes y
sistemas basados en reglas. Ambas variedades
abarcan, sin duda, un extenso espectro que va
desde los llamados lenguajes de alto nivel hasta
DISEO Y AEQUITECTURA DE SOFTWARE
Unidad 2. Actividad 3. Contrastando arquitectura y patrn de diseo
los paradigmas declarativos no secuenciales de
programacin, que todo el mundo sabe que
implementan un proxy (una especie de nivel de
impostura) que encubren al usuario operaciones
que en ltima instancia se resuelven en
instrucciones de mquinas afines al paradigma
secuencial imperativo de siempre.

Trabajos citados
Espaola, R. A. (27 de 08 de 2012). Ingenieria del Software. Recuperado el 05 de 08 de 2014, de Patrones de
arquitectura vs. Patrones de diseo: http://arlethparedes.wordpress.com/2012/08/27/patrones-de-
arquitectura-vs-patrones-de-diseno/
Sommerville, I. (2005). Ingeniera del software. Madrid: PEARSON EDUCACIN. S.A..
Tello, J. C. (2009). Patrones de diseo: ejemplo de aplicacin en los eLearning y Objetos de Aprendizaje Generativos.
RED. Revista de Educacin a Distancia, 12.

También podría gustarte