El Modelo se encarga de todo lo que tiene que ver con la persistencia de datos, por tanto contendrá mecanismos para acceder a la información y también para actualizar su estado. Los datos los tendremos habitualmente en una base de datos, por lo que en los modelos tendremos todas las funciones que accederán a las tablas y harán los correspondientes SELECT, UPDATE, INSERT, DELETE, entre otras sentencias SQL.
La Vista agrupa todas las clases y ficheros que tenga que ver con la presentación de la información obtenida con el modelo mediante el controlador, de manera que el usuario la pueda visualizar, es decir, contienen el código de la aplicación que va a producir la visualización de las interfaces de usuario. Al contrario que el modelo, que puede ser asociado a múltiples asociaciones con otras vistas y controladores, cada vista solo puede ser asociada a un único controlador. La capa de la Vista no se limita únicamente a HTML o texto que represente los datos, sino que puede ser utilizada para ofrecer una amplia variedad de formatos en función de sus necesidades, tales como vídeos, música, documentos y cualquier otro formato que puedas imaginar.
El Controlador gestiona las peticiones de los usuarios, dependiendo de la acción solicitada por el, es el que pide al modelo la información necesaria e invoca a la vista que corresponda para que la información sea presentada. En realidad es una capa que sirve de enlace entre las vistas y los modelos, respondiendo a los mecanismos que puedan requerirse para implementar las necesidades de nuestra aplicación. Sin embargo, su responsabilidad no es manipular directamente datos, ni mostrar ningún tipo de salida, sino servir de enlace entre los modelos y las vistas para implementar las diversas necesidades del desarrollo.
Los controladores pueden ser vistos como administradores, cuidando de que todos los recursos necesarios para completar una tarea se deleguen a los trabajadores más adecuados. Espera peticiones de los clientes, comprueba su validez de acuerdo a las normas de autenticación o autorización, delega la búsqueda de datos al modelo, y selecciona la tipo de respuesta más adecuado según las preferencias del cliente, finalmente, delega este proceso de presentación a la capa de la Vista.
El modelo, la vista y el controlador deben comunicarse de una manera estable los unos con los otros, de manera que sea coherente con las iteraciones que el usuario realizara. Al incorporar el modelo de arquitectura MVC a un diseño, las piezas de un programa se pueden construir por separado y luego unirlas en tiempo de ejecución. La figura 1 muestra el funcionamiento del patrón MVC, mediante un diagrama del flujo de la interacción entre cada uno de los elementos.
Figura 1. Funcionamiento del Patrón MVC. Fuente: Romero, Villegas y Fernández (2014)
El primer paso en el ciclo de vida empieza cuando el usuario hace una solicitud al controlador con información sobre lo que el usuario desea realizar. Entonces el controlador decide a quién debe delegar la tarea y es aquí donde el modelo empieza su trabajo. En esta etapa, el modelo se encarga de realizar operaciones sobre la información que maneja para cumplir con lo que le solicita el Controlador. Una vez que termina su labor, le regresa al controlador la información resultante de sus operaciones y a su vez redirige a la vista. La vista se encarga de transformar los datos en información visualmente entendible para el usuario. Finalmente, la representación gráfica es transmitida de regreso al controlador y éste se encarga de transmitírsela al usuario. El ciclo entero puede empezar nuevamente si el usuario así lo requiere.
Las principales ventajas que nos brindar este patrón, tenemos:
Clara separación entre interfaz, lógica de negocio y de presentación
Es posible tener diferentes vistas para un mismo modelo
Es posible construir nuevas vistas sin necesidad de modificar el modelo.
Reutilización de los componentes.
Simplicidad en el mantenimiento de los sistemas.
Facilidad para desarrollar prototipos rápidos.
Los desarrollos suelen ser más escalables.
Facilidad para la realización de pruebas unitarias de los componentes, así como de aplicar desarrollo guiado por pruebas.
ENFOQUE AL DESARROLLO DE LA ARQUITECTURA DEL SISTEMA INTEGRAL PARA EL CONTROL DE LOS EXPEDIENTES DEL PERSONAL DE LA GOBERNACIÓN DEL ESTADO TRUJILLO
Diagnostico Situacional
La tecnología para el desarrollo de aplicaciones a través de sistemas web ha evolucionado al punto de volverse no solo un simple sistema de información, sino que ahora se pueden desarrollar aplicaciones complejas que cumplen con todas las necesidades que se le presenten y con requerimientos de seguridad, rapidez y facilidad de uso; es por ello, que hoy en día los sistemas de información juegan un papel fundamental en la sociedad.
La Gobernación del Estado Trujillo es un ente gubernamental de suma importancia, encargado de gestionar y asumir los problemas socio – económicos de la población, cabe destacar que el registro y control de los recursos en la administración pública es de vital importancia para el estado y la nación, más aún lo es el recurso humano dentro de esta.
En esta investigación el problema en sí radica en que la Dirección de Recursos Humanos de este organismo, ya que no cuenta con un sistema que permita llevar el control de los expedientes de sus trabajadores, siendo llevado a cabo de forma semiautomatizada, debido a que la mayor parte de la información se encuentra archivada totalmente en físico y a pesar que cuenta con pequeños sistemas locales separados, estos fueron programados en diferentes lenguajes, por lo cual acarrea un problema dentro del orden logístico y administrativo por la inconsistencia de los datos; puesto que las labores realizadas en el día repercuten información no actualizada.
Para contrarrestar estas situaciones que atentan contra el desarrollo administrativo, de acuerdo a los requerimientos de sistema, el equipo investigador del Programa Nacional de Formación en Informática (PNFI), en relación a la asignatura de Proyecto Socio tecnológico IV del Instituto Universitario de Tecnología del Estado Trujillo (IUTET), Sede San Luís, conjuntamente con los directivos encargados se planteo realizar un Sistema Integral para el control de Expedientes del personal de la Gobernación del Estado Trujillo, que garantice la gestión de los procesos Administrativos de la Dirección de Recursos Humanos, de forma eficiente, rápida y segura; generando una herramienta tecnológica fundamental para la toma de decisiones.
Diseño Arquitectónico
En la Gobernación del Estado Trujillo la totalidad de los sistemas implementados, así como los que están en etapa análisis, diseño o pruebas, son construidos en lenguajes de programación que soportan la orientación a objetos con bases de datos compartidas. Actualmente se está arraigando la tendencia de unificación o estandarización en los criterios de programación, lo cual ha generado frutos como la creación de una base de datos de los sistemas implantados en la organización.
De manera concreta, al diseñar el software para la Gobernación del Estado Trujillo es necesario crear y representar componentes que interactúen entre ellos y tengan asignadas tareas específicas, además se puede partir con patrones de soluciones ya probados, con la intención de no comenzar de cero las propuestas y utilizar modelos que han funcionado. Estas soluciones probadas se conocen como estilos arquitectónicos, patrones arquitectónicos y patrones de diseño, que van de lo general a lo particular, permitiendo de esta manera generar una abstracción del sistema, realizando una descripción compacta y manejable de cómo se organiza.
Es por esta razón, que para el diseño de la arquitectura del Sistema Integral para el Control de los Expedientes del Personal de la Gobernación del Estado Trujillo (RECONRH); fue aplicado el patrón arquitectónico MVC, siendo el estándar establecido por la Oficina de Organización y Sistemas para el desarrollo de software e integración de los sistemas a implantar en la Gobernación, además establecieron lineamientos en la creación de la base de datos, estructura del directorio de las carpetas y archivos del proyecto, librerías y frameworks compartidos, especificación de la interfaz con la identificación y colores predefinidos por el grupo de analistas y desarrolladores que laboran en esta oficina, con el propósito de unificar criterios e integrar de manera óptima los diferentes módulos a desarrollar.
Partiendo de las recomendaciones dadas, el proyecto RECONRH fue estructurado de manera que pueda integrarse al Sistema Integral Institucional (SII), desarrollado por la Oficina de Organización y Sistema, como un macro sistema que engloba todos los subsistemas, permitiendo el acceso mediante niveles de usuarios y las diferentes restricciones establecidas en el módulo de configuración. En la Figura 2 se puede visualizar la estructura del directorio de archivos del proyecto RECONRH.
Figura 2. Distribución del Proyecto RECONRH. Fuente: Romero, Villegas y Fernández (2014)
La carpeta COMPARTIDA tiene como propósito alojar los archivos comunes entre los diferentes proyecto a incorporar al SII, como son: hoja de estilo en cascada (CSS), estilos predefinidos del header, footer y menú, imágenes, librerías (jquey, jqgrid, fdpf, entre otras); permitiendo así mantener una única fuente, generando gran ventaja a la hora de actualizar cualquiera de estos archivos.
La carpeta RECONRH está comprendida por el patrón MVC, en la Figura 3 se representación la estructura algunos de los archivos que componen el sistema.
Figura 3. Estructura MVC del Sistema RECONRH. Fuente: Romero, Villegas y Fernández (2014)
Diseño Detallado
a. Diseño de la BD
Para la construcción de la base de datos del Sistema Integral para el Control de los Expedientes del Personal de la Gobernación del Estado Trujillo, la oficina de Organización y Sistemas, estableció un estándar para la notación de las tablas (entidad, entidad maestra) y atributos lo que permite ubicarse rápidamente, creando una base de datos compartida agrupando las tablas comunes entre los sistemas desarrollados, como son: estado, municipio, parroquia, profesión, nivel educativo, entre otras. En la Figura 4, define la estructura de la Base de Datos del Sistema Integral Institucional, al cual se integra la base de datos del sistema RECONRH denominada gobern_RRHHRyC.
Figura 2. Estructura de la Base de Datos. Fuente: Romero, Villegas y Fernández (2014)
Para la denominación de los campos de las tablas establecieron una estructura única, tomando en cuenta la siguiente notación [entAtributoT], donde ent se refiere a la abreviatura del nombre de la tabla, atributo el nombre del campo y T indica el prefijo del tipo de dato, un ejemplo más preciso, tenemos la tabla vacaciones y entre sus campos: vacaPeriodoC, vacaPeriododesdeF, vacaDifruteE, donde C es tipo Carácter, F es tipo Fecha, y E es tipo Entero.
Diagrama de Despliegue
Se diseño un diagrama estructurado que muestra la arquitectura desde el punto de vista del despliegue de los artefactos del software (archivos, librerías, Base de datos, entre otros), como podemos ver en la Figura 3 el diagrama de despliegue el cual ayuda a comprender la arquitectura del sistema RECONRH.
Figura 3. Diagrama de Despliegue. Fuente: Romero, Villegas y Fernández (2014)
Interfaz Gráfica
La Interfaz del Usuario debe ser amigable a la vista del usuario, tomando en cuenta el uso de los colores que representan a la Organización y sus respectivos logos, están definidos espacios del layout como el Header, los cuales deben reservarse para banner Institucionales o descripciones del Sistema Integral, por consiguiente se debe adaptar el sistema a la interfaz establecida por el Departamento de Organización y Sistemas, adaptando el sistema RECONRH para ser incluido al Sistema Integral Institucional de la Gobernación. En la Figura 4, visualiza la pantalla de inicio de sesión para el acceso al sistema.
Figura 4. Pantalla Inicio de Sesión. Fuente: Romero, Villegas y Fernández (2014)
En el diseño de interfaz del sistema RECONRH se utilizó la misma hoja de estilo del Sistema Integral Institucional, definida por los colores e imagen corporativa de la institución, además utilizando como framework la librería jqgrid, que permite agilizar la programación y mantener un mismo diseño en los formularios para cada subsistema. La Figura 5 muestra la pantalla inicial al acceder al sistema de Expedientes.
Figura 5. Pantalla Gestionar Expediente. Fuente: Romero, Villegas y Fernández (2014)
La implementación e implantación del Sistema Integral para el control de Expedientes del personal de la Gobernación del Estado Trujillo, se ve complementada por ser claramente una estrategia que evitaría la obsolescencia mediante la reactualización de la aplicación informática, permitiendo ser parte de un macro sistema desarrollado por la Oficina de Organización y Sistema, mediante parámetros exigidos para su integración.
CONCLUSIONES
Para concluir, el diseño de una arquitectura de software debe considerarse una parte fundamental, crítica e imprescindible en el desarrollo de un sistema de software, ya que es precisamente en esta fase en donde recae toda la creatividad, experiencia y creación de la propuesta de solución que más se adecue a las necesidades del cliente y le permita lograr sus objetivos.
Hoy en día existen diferentes estilos y patrones arquitectónicos utilizados fundamentalmente para el diseño de software, entre ellos el patrón Modelo-Vista- Controlador, surge con el objetivo de reducir el esfuerzo de programación necesario en la implementación de sistemas múltiples y sincronizados de los mismos datos, el cual permite tener una separación lógica y física de los componentes de la aplicación, logrando una mayor especialización de los desarrolladores y diseñadores, además de contribuir a una elevada organización en el trabajo, garantizando así la actualización y mantenimiento del software de una forma sencilla y en un reducido espacio de tiempo.
Queda para los desarrolladores de sistemas, administradores y fabricantes de software de servidor, el reto de desarrollar esquemas donde la información fluya con mayor facilidad independiente de la plataforma o la aplicación, encontrar formas mejores y más seguras de desarrollo de aplicaciones web, que permitan que podamos ver sistemas más complejos a los actualmente conocidos, que con seguridad y de forma rápida resuelvan los problemas cotidianos y acerquen los servicios a los usuarios
REFERENCIAS BIBLIOGRÁFICAS
Bahit, E. (2011) «POO y MVC en PHP – El paradigma de Programación Orientada a Objeto y el patrón de arquitectura del Software MVC». [Documento en Línea]. Disponible en: http://www.bubok.es/libros/205199/POO-y-MVC-en-PHP. [Consultado: 2014, Mayo 20].
García, V. (2011) «Fundamentos de la Ingeniería del Software – Introducción al Modelo-Vista-Controlador». [Documento en Línea]. Disponible en: http://es.scribd.com/doc/50209127/Modelo-Vista-Controlador. [Consultado: 2014, Junio 02].
Junio, 2014 Volumen 1 Número 1
UNIVERSIDAD POLITÉCNICA TERRITORIAL DEL ESTADO TRUJILLO
"MARIO BRICEÑO IRAGORRY"
VALERA EDO. TRUJILLO – VENEZUELA
Universidad Politécnica Territorial del Estado Trujillo "Mario Briceño Iragorry"
Valera Estado Trujillo – Venezuela
Junio, 2014 Volumen 1, Número 1.
Autor:
Morai Mamora.
Página anterior | Volver al principio del trabajo | Página siguiente |