Investigacion Modelo Vista Controlador
-
Upload
jose-alexander-perez -
Category
Documents
-
view
656 -
download
3
Transcript of 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.
Índice
La ingeniería del software.
Arquitecturas de software.
Patrón de diseño.
MVC
Referencia Bibliográfica
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"
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.
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
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.
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