Sie sind auf Seite 1von 16

Universidad Centroccidental “Lisandro Alvarado”

Decanato de Ciencias y Tecnología


Departamento de Sistemas
Laboratorio I

Unidad II

Patrones de Arquitectura

Coordinación de Laboratorio
Patrones de Arquitectura

Arquitectura de Software

Es la organización fundamental de un sistema encarnada en sus


componentes, las relaciones entre ellos y el ambiente y los principios
que orientan su diseño y evolución
evolución.

Es una vista del sistema que incluye los componentes principales del
mismo, la conducta de esos componentes según la percibe desde el
resto del sistema y las formas en que los componentes interactúan y se
coordinan para alcanzar la misión del sistema.

Coordinación de Laboratorio
Arquitectura de Software

¿Por qué hablar de Arquitectura de Software ?


En la medida que el tamaño de los sistemas
crecen, los algoritmos y la estructuras de
datos dejan de convertirse en el mayor
problema.
El nuevo reto es diseñar y especificar la
estructura global del sistema.
La arquitectura representa la base de un
sistema de software y que debe ser
construida pensando tanto en satisfacer las
necesidades actuales, como en
proporcionar al software las capacidades
necesarias para permitir su mantenimiento
y evolución de acuerdo a las necesidades
del negocio y las solicitudes de los clientes.

Coordinación de Laboratorio
Patrones de Arquitectura

El Arquitecto de Software
El arquitecto de software es el encargado de
establecer a que nivel, con que estrategia, y
que herramientas son necesarias para realizar
una implementación que satisfaga los
requisitos funcionales y no funcionales de los
sistemas.
Se apoya en patrones, modelos y frameworks
frameworks.
Participa activamente en todas las fases del
desarrollo.
Establece lineamientos generales que deben
ser tenidos en cuenta en el desarrollo de
nuevos proyectos.

Coordinación de Laboratorio
Patrones de Arquitectura

El Arquitecto de Software

Un buen arquitecto debe estar en capacidad


de entender todas las condiciones a las que
se verá sometido un sistema y proponer
una solución acorde a cada escenario en
particular.
Por tanto, la madurez de un arquitecto dará
a las aplicaciones de software que tenga a
su cargo, una especificación coherente, para
enfrentar un conjunto de riesgos mucho
más reducido, que en el caso de un
arquitecto aprendiz.

Coordinación de Laboratorio
Patrones de Arquitectura

Patrones de Arquitectura

Describen los principios fundamentales de la arquitectura de un sistema de


software. Identifican los subsistemas, definen sus responsabilidades y establecen
las reglas y guías para organizar las relaciones entre ellos.

Generalmente los patrones de arquitectura responden a las siguientes preguntas:

¿ Cuales son los subsistemas o componentes del sistema ?

¿ Cómo deben ser estructuradas las interfaces entre los componentes ?

¿ Cuales son las características de comunicación de los componentes ?

Coordinación de Laboratorio
Patrones de Arquitectura

Algunos Patrones de Arquitectura

Los mas conocidos son:

MVC,, Modelo Vista Controlador.

Capas, layers.

Broker.

Coordinación de Laboratorio
Patrones de Arquitectura

Modelo Vista Controlador (MVC)


Es un patrón de arquitectura de
software que separa los datos de una
aplicación, la interfaz de usuario, y la
lógica de control en tres componentes
distintos, cada uno especializado para
un conjunto de tareas específicas.

Este patrón es muy popular y ha sido


portado a una gran cantidad de
entornos y framework, siendo un
patrón ampliamente utilizado en
múltiples plataformas y lenguajes.

Coordinación de Laboratorio
Patrones de Arquitectura

Modelo (Model):
Representa las estructuras de datos
datos.
Incorpora la capa del dominio y persistencia, es la encargada de guardar los
datos en un medio persistente (ya sea una base de datos, un archivo de texto,
XML, registro, etc.).
En el modelo es donde se hace el levantamiento de todos los objetos que el
sistema debe de utilizar, es el proveedor de los recursos.

Vista (View):
Se encarga de presentar la interfaz al usuario.
Obtiene los datos del modelo. Pueden existir múltiples vistas del
modelo.
Cada vista tiene asociado un componente controlador.

Coordinación de Laboratorio
Patrones de Arquitectura

Controlador (Controller):
Actúa como intermediario entre el
Modelo y la Vista
Es el que escucha los cambios en la vista y
se los envía al modelo, el cual le regresa
los datos a la vista.
Es un ciclo donde cada acción del usuario
causa que se inicie de nuevo un nuevo
ciclo. Es decir, el controlador, recibe las
entradas, usualmente como eventos que
codifican los movimientos o pulsación de
botones del ratón, pulsaciones de teclas,
etc. Los eventos son traducidos a
solicitudes de servicio para el modelo o la
vista.
El usuario interactúa con el sistema a
través de los controladores.

Coordinación de Laboratorio
Patrones de Arquitectura

Ventajas de utilizar el Patrón MVC

Obviamente una separación total entre lógica de negocio y presentación.


Multilenguaje, distintos diseños de presentación, entre otros, sin alterar la lógica de
negocio.
Las labores de mantenimiento también se simplifican y se reduce el tiempo necesario
para ellas. Las correcciones solo se deben hacer en un solo lugar y no en varios
como sucedería si tuviésemos una mezcla de presentación e implementación de la
lógica del negocio.
Las vistas también son susceptibles de modificación sin necesidad de provocar que
todo el sistema se paralice.
Más claridad de diseño.
Mayor escalabilidad.
La separación de capas es fundamental para el desarrollo de arquitecturas
consistentes, reutilizables y más fácilmente mantenibles, lo que al final resulta en un
ahorro de tiempo en desarrollo en posteriores proyectos.

Coordinación de Laboratorio
Patrones de Arquitectura

Desventajas de utilizar el Patrón MVC

Complejidad creciente.

Si se cambia la interfaz del modelo, hay que cambiar todas las vistas y todos los
controladores que hagan referencia a ella.

Puede necesitar varias llamadas al modelo para actualizar todos sus datos.

Algunas herramientas de diseño de interfaces de usuario incorporan parte del


procesamiento de eventos de entrada, en estos casos el controlador deja de ser
necesario.

Coordinación de Laboratorio
Patrones de Arquitectura

Capas (Layers)

Descompone una aplicación en un


conjunto de capas independientes
y ordenadas jerarquicamente.

Cada nivel o capa usa los servicios


de la capa inmediatamente inferior
y ofrece servicios a la capa
inmediatamente superior.

Coordinación de Laboratorio
Patrones de Arquitectura

Capas (Layers)

Ventajas Desventajas

Reutilización de un mismo Si el número de niveles es excesivo,


nivel en varias aplicaciones. puede ser ineficiente.

Permite la estandarización. Trabajo innecesario de paso de


argumentos entre niveles .
El cambio de un nivel no
afecta el resto. Si hay pocos niveles tenemos el
diseño poco organizado. Si hay
excesivos niveles el sistema es muy
complejo e ineficiente.

Coordinación de Laboratorio
Patrones de Arquitectura

Broker

Este patrón se usa para organizar


sistemas distribuidos con componentes
debilmente acoplados que interactuan
entre si invocando servicios remotos.
remotos

Coordinación de Laboratorio
Patrones de Arquitectura

Broker

Ventajas Desventajas

Transparencia de ubicación. Eficiencia restringida.

Facilidad de modificar un Menor tolerancia a fallos, si falla el


componente sin modificar el broker todo el sistema se viene
resto. abajo.

Portabilidad. Prueba y depuración costosas. Pues


existen muchos componentes en el
sistema.
Interoperabilidad entre
distintos tipos de brokers.

Reusabilidad

Coordinación de Laboratorio

Das könnte Ihnen auch gefallen