Investigacion Modelo Vista Controlador

7
Autor: José Alexander C. P. Correo: CienciaEducacion100@gmail. com. Modelo Vista Controlador ¿Qué es una arquitectura de software? ¿ Qué es un patrón de diseño? Lógica de negocio. Modelo lógica de presentación. Vista Lógica de aplicación. Controlador Acción del cliente. Actualizar. Actualizar. Notifica.

Transcript of Investigacion Modelo Vista Controlador

Page 1: Investigacion Modelo Vista Controlador

Autor:

José Alexander C. P.

Correo: CienciaEducacion100@gmail.

com.

Modelo

Vista

Controlador

¿Qué es una

arquitectura

de software? ¿ Qué es un

patrón de diseño?

Lógica de

negocio.

Modelo

lógica de presentación.

Vista

Lógica de aplicación.

Controlador

Acción

del

cliente.

Actualizar.

Actualizar. Notifica.

Page 2: Investigacion Modelo Vista Controlador

Índice

La ingeniería del software.

Arquitecturas de software.

Patrón de diseño.

MVC

Referencia Bibliográfica

Page 3: Investigacion Modelo Vista Controlador

La ingeniería del software.

El objetivo primario de la ingeniería del software es construir un producto de

alta calidad de una manera oportuna.

La ingeniería implica un conjunto de principios fundamentales que

deberían seguirse siempre. Incluyen actividades explícitas para el

entendimiento del problema y la comunicación con el cliente, métodos

definidos para representar un diseño, mejores prácticas para la

implementación de la solución y estrategias y tácticas sólidas para las

pruebas. Si se siguen los principios básicos, esto resulta en productos de alta

calidad.

Para conseguir el objetivo de construir productos de alta calidad dentro de

la planificación, la ingeniería del software emplea una serie de prácticas

para:

Entender el problema

Diseñar una solución

Implementar la solución correctamente

Probar la solución

Gestionar las actividades anteriores para conseguir alta calidad

Con el tiempo se han ido descubriendo y desarrollando formas y guías

generales, con base a las cuales se puedan resolver los problemas. A estas,

se les ha denominado Arquitectura de Software, porque, a semejanza de

los planos de un edificio o construcción, estas indican la estructura,

funcionamiento e interacción entre las partes del software. En el libro "An

introduction to Software Architecture", David Garlan y Mary Shaw definen

que la Arquitectura es un nivel de diseño que hace foco en aspectos "más

allá de los algoritmos y estructuras de datos de la computación; el diseño y

especificación de la estructura global del sistema es un nuevo tipo de

problema"

Page 4: Investigacion Modelo Vista Controlador

Arquitecturas

de software.

¿Por qué es importante la arquitectura de software?

La arquitectura de software es de especial importancia ya que la manera en

que se estructura un sistema tiene un impacto directo sobre la capacidad de

este para satisfacer lo que se conoce como los atributos de calidad del

sistema.

La manera en que se estructura un sistema permitirá o impedirá que se

satisfagan los atributos de calidad. Por ejemplo, un sistema estructurado de tal

manera que una petición deba transitar por muchos componentes antes de

que se devuelva una respuesta podría tener un desempeño pobre. Por otro

lado, un sistema estructurado de tal manera que los componentes estén

altamente acoplados entre ellos limitará severamente la modificabilidad.

Curiosamente, la estructuración tiene un impacto mucho menor respecto a los

requerimientos funcionales del sistema. Por ejemplo, un sistema difícil de

modificar puede satisfacer plenamente los requerimientos funcionales que se

le imponen.

Además de los atributos de calidad, la arquitectura de software juega un

papel fundamental para guiar el desarrollo. Una de las múltiples estructuras

que la componen se enfoca en partir el sistema en componentes que serán

desarrollados por individuos o grupos de individuos. La identificación de esta

estructura de asignación de trabajo es esencial para apoyar las tareas de

planeación del proyecto.

Finalmente, los diseños arquitectónicos que se crean en una organización

pueden ser reutilizados para crear sistemas distintos. Esto permite reducir costos

y aumentar la calidad, sobre todo si dichos diseños han resultado previamente

en sistemas exitosos.

La arquitectura de software, tiene que ver con el

diseño y la implementación de estructuras de software

de alto nivel. Es el resultado de ensamblar un cierto

número de elementos arquitectónicos de forma

adecuada para satisfacer la mayor funcionalidad y

requerimientos de desempeño de un sistema, así como

requerimientos no funcionales, como la confiabilidad,

escalabilidad, portabilidad, y disponibilidad.

Page 5: Investigacion Modelo Vista Controlador

Patrón

de diseño

“Los patrones de diseño son el esqueleto de las soluciones a problemas

comunes en el desarrollo de software.”

En otras palabras, brindan una solución ya probada y documentada a

problemas de desarrollo de software que están sujetos a contextos

similares. Debemos tener presente los siguientes elementos de un patrón:

su nombre, el problema (cuando aplicar un patrón), la solución

(descripción abstracta del problema) y las consecuencias (costos y

beneficios).

Clasificación:

Patrones Creacionales: Inicialización y configuración de objetos.

Patrones Estructurales: Separan la interfaz de la implementación. Se

ocupan de cómo las clases y objetos se agrupan, para formar

estructuras más grandes.

Patrones de Comportamiento: Más que describir objetos o clases,

describen la comunicación entre ellos.

Uno de los aspectos más importantes de los patrones arquitectónicos es

que encarnan diferentes atributos de calidad. Algunos patrones

representan soluciones a problemas de rendimiento y otros pueden ser

utilizados con éxito en sistemas de alta disponibilidad. A primeros de la fase

de diseño, un arquitecto de software escoge qué patrones

arquitectónicos mejor ofrecen las calidades deseadas para el sistema.

Ejemplos de patrones arquitectónicos incluyen los siguientes:

Programación por capas

Tres niveles

Pipeline

Invocación implícita

Arquitectura en pizarra

Arquitectura dirigida por eventos, Presentación-abstracción-control

Peer-to-peer

Arquitectura orientada a servicios

Objetas desnudos

Modelo Vista Controlador

Page 6: Investigacion Modelo Vista Controlador

MVC

( Model View Controler ).

MVC consiste de tres tipos de objetos. El Modelo, que son los objetos de

la aplicación, también conocida como lógica de negocio, o lógica de

aplicación. La Vista especifica la visualización de los datos, algunas

veces conocida como lógica de presentación. El controlador es el

coordinador entre estos dos últimos, es decir, define la forma en que la

interfaz de usuario reacciona ante la entrada de usuario.

MVC desacopla el concepto de interfaz de usuario y lógica de negocio

para aumentar la flexibilidad y modularidad del software, posiblemente

permitiendo que el código pueda ser reutilizado.

Finalmente, la idea es lograr separar responsabilidades entre las

personas que trabajan para un proyecto de desarrollo de software.

Aunque se pueden encontrar diferentes implementaciones de MVC, el

flujo de control generalmente es el siguiente:

1. El usuario interactúa con la interfaz de alguna manera (ej.

presionando un botón, un enlace).

2. El controlador recibe (por parte de los objetos de la interfaz vista) la

notificación de la acción solicitada por el usuario.

3. El controlador accede al modelo, posiblemente actualizando los

datos enviados por el usuario.

4. El controlador delega a los objetos de la vista la tarea de desplegar

la interfaz de usuario.

5. La vista usa el modelo para generar la interfaz apropiada para el

usuario donde se refleja los cambios en el modelo.

6. En algunas implementaciones la vista no tiene acceso directo al

modelo, dejando que el controlador envíe los da tos del modelo a la

vista. Esta segunda es la que utilizaremos en este curso.

7. La interfaz espera por nuevas interacciones de usuario para iniciar

nuevamente el ciclo.

Page 7: Investigacion Modelo Vista Controlador

Referencia Bibliográfica

INGENIERÍA DEL SOFTWARE: METODOLOGÍAS Y CICLOS DE VIDA

Ing. José Luis Jurado Informática III

Avgeriou, Paris; Uwe Zdun (2005). «Architectural patterns revisited:a pattern language».

Referencias Electrónicas: Arquitectura de Software:

http://sg.com.mx/content/view/922