Facultad de Ciencia, Tecnologa y Ambiente Ingeniera en Sistemas y Tecnologias de la Informacin
Herramientas para la programacin de sistemas.
Documentacin: Patrn arquitectnico MVC.
Docente: Lic. Armando Lpez.
Elaborado por: Anbal Robleto. Jasn Martnez. Elvis Ramos. Marginy Uriarte. Victoria Moreno.
Managua, Nicaragua 2014
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas
Contenido Introduccin ........................................................................................................................................ 3 Patrn arquitectnico MVC. ................................................................................................................ 4 Arquitectura MVC ............................................................................................................................... 4 Definicin: ....................................................................................................................................... 4 Modelo-vista-controlador ................................................................................................................... 5 Modelo: ........................................................................................................................................... 5 Funciones de la capa Modelo ...................................................................................................... 5 Vista: ................................................................................................................................................ 5 Funciones de la capa Vista .......................................................................................................... 5 Controlador: .................................................................................................................................... 5 Funciones de la capa Controlador ............................................................................................... 5 Ciclo de vida de MVC: ...................................................................................................................... 6 Por qu MVC? ................................................................................................................................ 6 Ventajas y Desventajas de MVC ..................................................................................................... 7 MVC y arquitecturas/ Aplicaciones por capas .................................................................................... 8 MVC y Acceso a Bases de Datos .......................................................................................................... 8 Bibliografa: ......................................................................................................................................... 9 Implementacin de la capa 3 a Proyecto de Servicio Social ............................................................. 10 Capa 3 ............................................................................................................................................ 10
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas
Introduccin
El presente documento expone la conceptualizacin del patrn MVC, el cual ha sido determinado como la mejor manera de estructurar un sistema; a este patrn se le puede atribuir el concepto de que es una especializacin de un modelo de capas, MODELO- VISTA-CONTROLADOR. Con la finalidad de aclarar nuestras dudas y afianzar nuestros conocimientos, a continuacin se explicar en breve una definicin sobre dicho patrn, y la explicacin detallada en que consiste esta arquitectura, as como tambin se presentaran las ventajas y desventajas de implementar MVC, al mismo tiempo resaltar la importancia que tiene para el desarrollo de un software.
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas
Patrn arquitectnico MVC.
Arquitectura MVC Definicin: Es una arquitectura de diseo software para separar los componentes de aplicacin en tres niveles, interfaz de usuario, lgica de control y lgica de negocio. Es una especializacin de un modelo de capas, con la diferencia que se usa para entornos web como patrn por excelencia. Ejemplo: Struts, Spring, Asp.NET MVC... Etc. MVC, (por sus siglas en ingls) es un patrn de arquitectura de software usado principalmente en aplicaciones que manejan gran cantidad de datos y transacciones complejas donde se requiera una mejor separacin de conceptos para que el desarrollo est estructurado de una mejor manera, facilitando la programacin en diferentes capas de manera paralela e independiente. MVC sugiere la separacin del software en 3 estratos Modelo, Vista y Controlador, los cuales sern explicados en breve.
Herramientas para la Programacin de Sistemas Modelo-vista-controlador
Modelo: Es la representacin de la informacin que maneja la aplicacin. El modelo en si son los datos puros que puestos en contexto del sistema proveen de informacin al usuario o la aplicacin misma. Funciones de la capa Modelo Mantener en memoria la informacin que viene de la vista y que servir de entrada al controlador. Mantener en memoria la informacin generada por el controlador y que servir de entrada para que la vista se la muestre al usuario
Vista: Es la representacin del modelo en forma grfica disponible para la interaccin con el usuario. Ejemplo: Ene l caso de una aplicacin web, la Vista, es una pgina HTML con el contenido dinmico sobre el cual el usuario puede realizar operaciones. Funciones de la capa Vista Recibir la entrada del usuario y generar eventos al controlador. Mostrar la informacin del modelo al usuario. Controlador: Es la capa encargada de manejar y responder las solicitudes del usuario, procesando la informacin necesaria y modificando el Modelo en caso de ser necesario. Funciones de la capa Controlador Procesar los distintos eventos generados por el usuario, consumir la informacin proveniente de la vista que se encuentra en el modelo y generar informacin en el modelo para que la vista pueda mostrar.
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas Ciclo de vida de MVC: El ciclo de vida de MVC es normalmente representado por las tres capas presentadas anteriormente y el cliente (tambin conocido como usuario). El siguiente diagrama representa el ciclo de vida de manera sencilla:
El primer paso en el ciclo de vida empieza cuando el usuario hace una solicitud al controlador con informacin sobre lo que el usuario desea realizar. Entonces el controlador decide quien debe delegar la tarea y es ah donde el modelo empieza su trabajo. En esta etapa, el modelo se encarga de realizar operaciones sobre la informacin que maneja para cumplir con lo que le solicita el controlador. Una vez que termina su labor, le regresa al controlador la informacin resultante de sus operaciones, el cual a su vez redirige a la Vista. La vista se encargar de transformar los datos en informacin visualmente entendible para el usuario. Finalmente, la representacin grfica es transmitida de regreso al controlador y este se encarga de transmitrsela al usuario. El ciclo entero puede empezar nuevamente si el usuario as lo requiere. Por qu MVC? La rama de la ingeniera del software se preocupa por crear procesos que aseguren calidad en los programas que se realizan y esa calidad atiende a diversos parmetros que son deseables para todo desarrollo, como la estructuracin de los programas o reutilizacin del cdigo, lo que debe influir positivamente en la facilidad de desarrollo y el mantenimiento. Los ingenieros del software se dedican a estudiar de qu manera se pueden mejorar los procesos de creacin de software y una de las soluciones a las que han llegado es la arquitectura basada en capas que separan el cdigo en funcin de sus responsabilidades o Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas conceptos. Por tanto, cuando estudiamos MVC lo primero que tenemos que saber es que est ah para ayudarnos a crear aplicaciones con mayor calidad.
MVC es importante porque: Separa la lgica de negocio de la interfaz de usuario Facilita la evolucin por separado de ambos aspectos Incrementa reutilizacin y flexibilidad Ventajas y Desventajas de MVC
Las principales ventajas de hacer uso del patrn MVC son: La separacin del Modelo de la vista, es decir, separar los datos de la representacin visual de los mismos. E mucho ms sencillo agregar mltiples representaciones de los mismos datos o informacin. Facilita agregar nuevos tipos de datos segn sea requerido por la aplicacin ya que son independientes del funcionamiento de las otras capas. Crea independencia de funcionamiento. Facilita el mantenimiento en caso de errores. Ofrece maneras ms sencillas para probar el correcto funcionamiento del sistema. Permite el escalamiento de la aplicacin en caso de ser requerido. Las desventajas de seguir el planteamiento de MVC son: La separacin de conceptos en capas agrega complejidad al sistema. La cantidad de archivos a mantener y desarrollar se incrementa considerablemente. La curva de aprendizaje del patrn de diseo es ms alta usando otros modelos ms sencillos. Cabe mencionar que la comparacin de ventajas y desventajas de MVC puede ser un tema muy subjetivo y se puede prestar como tema de debate, sin embargo se tom la decisin usando principalmente los puntos mencionados anteriormente ya que en trminos generales la balanza se inclina a favor del MVC en vez de en su contra.
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas MVC y arquitecturas/ Aplicaciones por capas Imagen
MVC y Acceso a Bases de Datos
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas Bibliografa: (s.f.). Arquitectura del Software. Rodrguez, D. (Diciembre 2010). Model-View-Controller. Venezuela. (Alvarez, 1997) Sitios Web: http://metodologiasdesistemas.blogspot.com/
Patrn Arquitectnico MVC
Herramientas para la Programacin de Sistemas Implementacin de la capa 3 a Proyecto de Servicio Social Capa 3 Controlador