Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Se han desarrollado a lo largo de los años, desde la presentación de este patrón a la comunidad científica 3 variantes fundamentales, que se presentan brevemente a continuación.
Variante I: (Figura 1)
Variante en la cual no existe ninguna comunicación entre el Modelo y la Vista y esta última recibe los datos a mostrar a través del Controlador.
Variante II: (Figura 2)
Variante en la cual se desarrolla una comunicación entre el Modelo y la Vista, donde esta última al mostrar los datos los busca directamente en el Modelo, dada una indicación del Controlador, disminuyendo el conjunto de responsabilidades de este último.
Variante III: (Figura 3)
Variante en la cual se diversifica las funcionalidades del Modelo teniendo en cuanta las características de las aplicaciones multimedia, donde tienen un gran peso las medias utilizadas en estas.

Figura 1: Variante inicial del Patrón MVC.

Figura 2: Variante Intermedia del Patrón MVC.

Figura 3: Variante modificada para Aplicaciones Multimedia del MVC, conocida como MVCMM. (Tomado de [STE04])
Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo que sigue el control generalmente es el siguiente:
Se presenta a continuación un resumen del Patrón MVC utilizando la plantilla estándar para la descripción de patrones:
Contexto/Problema:
Conviene desacoplar los objetos dominio (Modelo), las ventanas (Vista) y los manejadores (Controlador), a fin de brindar soporte a un mayor reuso de los objetos dominio y reducir al mínimo el impacto que los cambios de la interfaz y los manejadores tienen en ellos. ¿Qué hacer?
Solución:
Definir las clases dominio (Modelo) para que no tengan acoplamiento ni visibilidad directa respecto a las clases ventana (Vista) y para que los datos de la aplicación y de la funcionalidad se conserven en las clases de dominio, no en las de ventana. Definir las clases manejadores (Controlador) para que procesen los eventos (peticiones) al sistema y redireccionen a las clases dominio y ventana tanto el procesamiento como la visualización de resultados respectivamente.
Algunos de sus principales beneficios son:
Para poder comprender lo que es el Software (y consecuentemente la ingeniería del Software), es importante examinar las características del Software que lo diferencian de otras cosas que los hombres pueden construir.
El Software es un elemento del sistema que es lógico, en lugar de físico. Por tanto el software tiene unas características considerablemente distintas a la del hardware.[PRE01]
El software educativo cubano, tiene diferentes características marcadas en comparación con los desarrollados en otros países del mundo. Todo esto producido por el avance y la experiencia acumulada en el área de la pedagogía en nuestro país que lo ubica en uno de los primeros lugares en el planeta en este sentido.
Las aplicaciones educativas cubanas explotan grandemente los conceptos del entorno hipermedia, así como incorporan de forma profunda las técnicas y conocimientos de bases de datos relacionales y la Programación Orientada a Objetos más avanzada que se utiliza hoy día; como consecuencia de la necesidad de implementar diversos y complejos métodos pedagógicos desarrollados por nuestros educadores en las distintas ramas de la enseñanza cubana.
Si en otros países las multimedia llamadas educativas se circunscriben a meros software que presentan y evalúan alguna determinada materia, en Cuba por el contrario se desarrollan productos que realizan análisis exhaustivos de la navegación del usuario, mantienen actualizado el historial de trabajo de los usuarios y permiten preparar el software para diferentes entornos de trabajo a dichos usuarios teniendo en cuenta determinadas características. Esto hace que nuestras aplicaciones se vean grandemente recargadas en el almacenamiento, procesamiento y actualización de una gran cantidad de información constantemente.
Durante las dos pasadas décadas, se han desarrollado un gran número de métodos de modelado. Los investigadores han identificado los problemas del análisis y sus causas y han desarrollado varias notaciones de modelado y sus correspondientes conjuntos de heurísticas para solucionarlos (…) Se emplean modelos para poder comunicar de forma compacta las características de la función y su comportamiento. Se aplica la partición para reducir la complejidad. Son necesarias las visiones esenciales y de implementación del software para acomodar las restricciones lógicas impuestas por los requisitos del procesamiento y las restricciones físicas impuestas por otros elementos del sistema. [PRE01]
Precisamente por las características del software educativo cubano, los diseñadores han buscado y aplicado soluciones ya trabajadas internacionalmente y con un gran número de aplicaciones prácticas en este sentido, dentro de las que se encuentra la utilización del Patrón MVC. No obstante este patrón tal y como está descrito actualmente, aún con su variante más actual no responde completamente a las características mencionadas.
El diseño del software, al igual que los enfoques de diseño de ingeniería en otras disciplinas, va cambiando continuamente a medida que se desarrollan métodos nuevos, análisis mejores y se amplía el conocimiento. [PRE01]
El Software se construye para procesar los datos, para transformar datos de una forma u otra, es decir, para aceptar una entrada de información, manipularla de alguna manera y producir una salida de información (…) es importante recalcar, sin embargo, que el software también procesa sucesos. Un suceso representa algún aspecto de control del sistema y no es más que un dato binario (es encendido o apagado, verdadero o falso, está allí o no). [PRE01]
Como ya ha sido descrito en el epígrafe anterior el MVC divide la arquitectura de una aplicación en 3 tipos de clases fundamentales, con las responsabilidades siguientes:

Clase Vista <<View>>:

Clase Modelo <<Model>>:

Clase Controlador <<Controller>>:
De igual forma si analizamos el Lenguaje Unificado de Modelado (UML) [Unified Modeling Language], este propone para el desarrollo del Modelo de Análisis de las aplicaciones, tres tipos de clases fundamentales, con las cuales podemos expresar todas las funciones de cualquier software, con sus respectivas responsabilidades:

Clase Interfaz <<Interface>>:

Clase Entidad <<Entity>>:

Clase Controlador <<Controller>>:
Las responsabilidades se relacionan con las obligaciones de un objeto respecto a su comportamiento. Esas responsabilidades pertenecen, esencialmente, a las dos categorías siguientes:
Entre las responsabilidades de un objeto relacionadas con hacer se encuentran:
Entre las responsabilidades de un objeto relacionadas con conocer se encuentran:
"La calidad de diseño de la interacción de los objetos y la asignación de responsabilidades presentan gran variación. Las decisiones poco acertadas dan origen a sistemas y componentes frágiles y difíciles de mantener y entender, reutilizar o extender. Una implementación hábil se funda en los principios cardinales que rigen un buen diseño orientado a objetos." [LAR99]
Precisamente en lo expresado por Craig Larman referente a la asignación de responsabilidades a las clases, basamos nuestro análisis del diseño de aplicaciones educativas en Cuba, las cuales refuerzan o sobrecargan a determinadas clases al ser responsables de soportar la mayoría de las acciones en este tipo de software.
Se presentan a continuación un conjunto de consideraciones al respecto:
Por estas consideraciones realizadas, se propone las siguientes modificaciones, las cuales se muestran gráficamente en los Anexos 1 y 2:
El trabajo que se presenta en esta ponencia, representa ahorros en los siguientes renglones:
El contenido de esta ponencia explica el aumento de la productividad y la eficiencia en el desarrollo de los software educativos multimedia y reporta beneficios de carácter social al lograr una disminución del tiempo del proceso productivo de dichas aplicaciones y su más rápida explotación por los usuarios finales.
En el trabajo presentado se ofreció una visión bastante abarcadora del estado actual de los patrones de arquitectura, así como específicamente de uno de los más utilizados, el Patrón Modelo – Vista – Controlador (MVC). Se analizaron de forma exhaustiva las características de este patrón, su desarrollo y sus actuales variantes de presentación en el diseño de software.
Se presentaron las características del software educativo cubano que producen su diferenciación con respecto al resto de los desarrollados bajo la misma clasificación en el resto del mundo y que trae como consecuencia un reanálisis de la arquitectura de las aplicaciones de este corte en Cuba y la investigación de mejores soluciones para el diseño de estas, posibilitando un mejor trabajo en la implementación, reutilización de los componentes desarrollados, así como en el mantenimiento.
Se mostró al final del mismo una variante de modificación al Patrón MVC original, denominada Modelo – Vista – Controlador – Entidad (MVC - E) como propuesta de diseño arquitectónico, a las aplicaciones educativas cubanas.
Anexo 1: Correspondencia entre UML – MVC y MVC – E.

Anexo 2: Esquema del MVC – E.

BIBLIOGRAFÍA:
Autor:
Ing. Febe Ángel Ciudad Ricardo
Ciudad de La Habana, Abril de 2006
"Año de la Revolución Energética en Cuba"
DATOS DEL AUTOR:
AUTOR PRINCIPAL: Ing. Febe Ángel Ciudad Ricardo
Profesor Instructor de Ingeniería y Gestión de Software – UCI
Jefe del Departamento de la Especialidad – Facultad 9
Página anterior | ![]() Volver al principio del trabajo | Página siguiente ![]() |
Trabajos relacionados
Ver mas trabajos de Software |
|
Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.
Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.
Ingrese el e-mail y contraseña con el que está registrado en Monografias.com
|
|