DRS_U2_A3_ROAG

Post on 27-Nov-2015

289 views 5 download

Transcript of DRS_U2_A3_ROAG

Diseño y Arquitectura de SoftwareUnidad 2 Actividad 3. Contrastando arquitectura y patrón de diseño.

El uso de un patrón arquitectónico y saber la diferencia entre la variedad de ellos es importante a la hora de seleccionar cuál es el adecuado para resolver o proponer una arquitectura. En esta actividad deberás realizar una redacción en donde expliques esta diferencia entre los que se citan en el desarrollo del tema. El alumno deberá investigar por lo menos otros tres patrones arquitectónicos que no se encuentren descritos en el mismo tema desarrollado en esta unidad. Redactar reporte escrito donde se explique y justifique la razón por la cual se decidió utilizar el patrón de diseño seleccionado para la construcción de la arquitectura.

Instrucciones:

1. Identifica qué es un patrón de arquitectura.

Un patrón de arquitectura de software describe un problema particular y recurrente del diseño, que surge en un contexto específico, y presenta un esquema genérico y probado de su solución.

2. Redacta reporte escrito donde se describan las diferencias entre los distintos patrones arquitectónicos y arquitecturas.

Patrón Arquitectónico Descripción DiferenciasCapas Estilo de llamada y

retorno, consiste en estructurar aplicaciones que pueden ser descompuestas en grupos de subtareas, las cuales se clasifican de acuerdo a un nivel particular de abstracción

A diferencia de los otros patrones este soporta un diseño basado en niveles de abstracción crecientes, lo cual a su vez permite a los implementadores la partición 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 reutilización. Al igual que los tipos de datos abstractos, se pueden

NOMBRE: Roberto Álvarez GranadosMATRÍCULA: AL12501836CARRERA: Ingeniería en Desarrollo de Software

1

Diseño y Arquitectura de SoftwareUnidad 2 Actividad 3. Contrastando arquitectura y patrón de diseño.

utilizar diferentes implementaciones o versiones de una misma capa en la medida que soporten las mismas interfaces de cara a las capas adyacentes.

Tuberías y filtros

Estilo de flujo de datos, provee una estructura para los sistemas que procesan un flujo de datos. Cada paso de procesamiento está encapsulado en un componente filtro (filter). El dato pasa a través de conexiones (pipers) entre filtros adyacentes.

Este patrón 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 través de las componentes hasta que son asignados a algún destino final.

Tableros

Estilos centrados en datos, la aplicación de este tipo de estilo arquitectónico es para problemas especializados, como en la resolución de problemas concernientes a inteligencia artificial, donde actúan múltiples agentes.

Contrastando con estilos arquitectónicos presentados en las pantallas anteriores, en aquellos la interacción era simple y directa entre partes bien definidas, por el contrario, en los tableros se hace manejo de información de diversas fuentes (agentes). Se puede llamar arquitectura multi agentes.

Modelo-Vista-Controlador (MVC)

Estilo de llamada y retorno, soporte de vistas múltiples.Adaptación al cambio.Dado que el modelo no depende de las vistas, agregar nuevas opciones de presentación generalmente no afecta al modelo. Este patrón sentó las bases para

La diferencia que presenta este patrón conocido como Modelo-Vista-Controlador (MVC) es que separa el modelado del dominio, la presentación y las acciones basadas en datos ingresados por el usuario en tresclases diferentes

NOMBRE: Roberto Álvarez GranadosMATRÍCULA: AL12501836CARRERA: Ingeniería en Desarrollo de Software

2

Diseño y Arquitectura de SoftwareUnidad 2 Actividad 3. Contrastando arquitectura y patrón de diseño.

especializaciones ulteriores, tales como Page Controller y Front Controller.

Orientada a Objetos Estilos de llamadas y retorno, los componentes del estilo se basan en principios OO: encapsulamiento, herencia y polimorfismo. Son asimismo las unidades de modelado, diseño e implementación, y los objetos y sus interacciones son el centro de las incumbencias en el diseño de la arquitectura y en la estructura de la aplicación.

A diferencia de otros patrones, se puede modificar la implementación de un objeto sin afectar a sus clientes. Asimismo es posible descomponer problemas en colecciones de agentes en interacción. Además, por supuesto (y esa es la idea clave), un objeto es ante todo una entidad reutilizable en el entorno de desarrollo.

Máquinas Virtuales Estilos de código móvil, esta familia de estilos enfatiza la portabilidad, la arquitectura de máquinas virtuales se ha llamado también intérpretes basados en tablas. De hecho, todo intérprete involucra una máquina virtual implementada en software.

Este estilo comprende básicamente dos formas o sub-estilos, que se han llamado intérpretes y sistemas basados en reglas. Ambas variedades abarcan, sin duda, un extenso espectro que va desde los llamados lenguajes de alto nivel hasta los paradigmas declarativos no secuenciales de programación, 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 máquinas afines al paradigma secuencial imperativo de siempre.

NOMBRE: Roberto Álvarez GranadosMATRÍCULA: AL12501836CARRERA: Ingeniería en Desarrollo de Software

3

Diseño y Arquitectura de SoftwareUnidad 2 Actividad 3. Contrastando arquitectura y patrón de diseño.

3. Guarda la actividad con el nombre DRS_U2_A3_XXYZ. Sustituye las XX por las dos primeras letras de tu primer nombre, la Y por la inicial de tu primer apellido y la Z por la inicial de tu segundo apellido.

4. Ingresa al apartado de Tareas.

5. Envía el archivo a tu Facilitador(a) para recibir retroalimentación.

NOMBRE: Roberto Álvarez GranadosMATRÍCULA: AL12501836CARRERA: Ingeniería en Desarrollo de Software

4