Descargar

La Informatización del departamento de RRHH de la UPR con el uso de una Aplicación Web

Enviado por Frank J. Vigil Vega


Partes: 1, 2, 3, 4, 5

  1. Resumen
  2. Introducción
  3. Desarrollo
  4. Conclusiones
  5. Bibliografía
  6. Anexos

Resumen

El objetivo de este trabajo es obtener una Aplicación Web (WEB-RRHH) que sea capaz de administrar todo el funcionamiento de la dirección de RRHH de la UPR, donde se brindarán diferentes servicios. Posibilita la publicación del organigrama de la UPR, además de brindar diferentes posibilidades a los clientes que lo visiten.

Se examinan algunos software desarrollados en forma de servidores. Se analizan y justifican las tecnologías utilizadas, fundamentalmente en el uso de la tecnología usada para definir la arquitectura e implementación del sistema propuesto.

Se llevan a cabo las etapas de Análisis, Diseño, Implementación y Prueba del proceso de desarrollo del software propuesto, según lo que especifica el Proceso Unificado de Desarrollo (RUP). Se realiza todo el estudio de factibilidad del software.

Palabras claves: Web, Recursos humanos, organigrama, software

Introducción

En la era actual, caracterizada por fenómenos como la globalización y la evolución de las tecnologías de la información y las comunicaciones y con el propósito de buscar formas sustentables de dotar al pueblo de las capacidades intelectuales que le permitan vencer los desafíos de la sociedad en que hoy vivimos y alcanzar un desarrollo sostenible, se mueve la educación superior cubana actual.

Hoy en día se cuenta con una extraordinaria instancia para avanzar aceleradamente en el desarrollo de la Ciencia y la Tecnología, se trata de hacer sostenible los procesos fundamentales en las universidades y para ello es vital realizar una adecuada gestión de los Recursos Humanos (RRHH) que permita no solo realizar la contratación adecuada de los mismos en las universidades sino también poder controlar, actualizar, acceder, etc. a la información referida a estos.

Los retos que le imprime hoy el desarrollo científico-tecnológico y social a la universidad, demanda una preparación mayor y continúa de todos los involucrados en los diferentes procesos que se llevan a cabo en las universidades, tanto aquellos que van dirigidos a la enseñanzaaprendizaje como los de sustentación y apoyo de estos procesos.

Para ello se cuenta en las universidades adscritas al Ministerio de la Educación Superior (MES) con la Dirección de RRHH que pertenece la Vicerrectoría de Administración y Servicios que se encarga de la contratación de las personas que laborarán en las diferentes áreas, también es la encargada de proyectar las necesidades de plazas y sus características en la universidad así como el control de la información que se genera referente a todo el proceso de los RRHH. Los objetivos que intenta cumplir la gestión de RRHH es desarrollar y administrar diferentes políticas y programas para de esta manera poder brindarles a la estructura administrativa a empleados capaces.

Es innegable el gran impacto que han tenido las tecnologías de la información y las comunicaciones en el control, administración y la toma de decisiones en esta área vital para el funcionamiento de cualquier entidad económica, que respondan a las demandas actuales de desarrollo social.

El Departamento de Recursos Humanos tiene entre sus principales funciones:

Toda la información necesaria para dar cumplimiento a estos procesos se encuentra diseminada en diferentes modelos y ficheros Excel (en los procesos que tienen algún nivel de automatización) por lo que se hace muy engorroso poder tomar alguna decisión de forma rápida, ágil y además con un buen grado de exactitud y veracidad situación esta que provoca la necesidad de buscar una forma o método que permita erradicar dicha dificultad. De ahí que al Departamento de RRHH de la UPR se le presente un problema que para abordarlo se hace necesario aplicar la ciencia de forma tal de encontrar una solución adecuada al mismo.

El problema científico ¿Cómo contribuir a perfeccionar el trabajo con la información que se procesa en el departamento de Recursos Humanos en la Universidad de Pinar del Río?

Objeto de estudio: La información del departamento de Recursos Humanos

Campo de acción: El trabajo con la información que se procesa en el departamento de Recursos Humanos en la Universidad de Pinar del Río

Objetivo de la investigación: Elaborar un sistema informático que facilite el trabajo con la información que se procesa en el departamento de RRHH en la UPR para la toma de decisiones.

De este objetivo general se deriva los siguientes objetivos específicos:

  • Fundamentos teóricos que sustentan el trabajo con la información que se procesa en el departamento de RRHH

  • Estado actual de la información que se procesa en el departamento de RRHH de la UPR.

  • Definición de una Base de Datos para el departamento de RRHH de la UPR.

  • Diseño e implementación de una herramienta informática para el departamento de RRHH de la UPR.

Para el cumplimiento de estos objetivos específicos nos trazamos las siguientes tareas:

  • Estudio bibliográficos referente con la información que se procesa en el departamento de RRHH.

  • Diagnóstico del estado actual referente a la información que se procesa en el departamento de RRHH en la UPR.

  • Diseño de una herramienta informática que facilite el trabajo con la información que se procesa en un departamento de RRHH en la UPR.

  • Implementación de la herramienta informática que facilite el trabajo con la información que se procesa en un departamento de RRHH en la UPR.

En el cumplimiento de las tareas planteadas para dar solución a los objetivos que nos trazamos en nuestro trabajo se utilizaron diferentes métodos de investigación tales como:

Método de investigación teórica.

Análisis y síntesis: se utilizó en el estudio de las teorías a fines con el objeto de la investigación.

Inducción y Deducción: Este está presente en el análisis de cada instrumento aplicado, las principales causa y deficiencias en los resultados.

Histórico lógico: se empleó en el estudio de los conceptos, principios teóricos e investigaciones realizadas en cuanto al desarrollo eficiente de la base de datos.

Modelación: nos permite una aproximación y proyección del desarrollo del lenguaje. Este método nos facilitó la construcción del objeto aplicando todos los elementos, propiedades y relaciones necesarias para abarcarlo e interpretarlo dentro de la propuesta de actividades para estimular el desarrollo eficiente de la herramienta informática.

Métodos Empíricos:

Revisión documental: este método es utilizado en la revisión de los documentos existentes en el departamento de RRHH de la UPR

Entrevista: Fueron entrevistados los trabajadores y cuadro principal del departamento de RRHH en la UPR, los cuales nos esclarecieron en relación con la situación problémica.

En el trabajo se refleja un análisis científico a partir de la recopilación bibliográfica echa sobre el tema y el desarrollo de aplicaciones informáticas, haciendo referencia a datos históricos de ambas, materializándose el empleo de la computación como herramienta de trabajo. Siendo novedoso en el aporte de un sistema computarizado que contribuye a la toma de decisiones en el departamento de RRHH de la UPR.

Lo novedoso de esta propuesta es que permite abordar de forma renovadora la interrelación de la teoría con la práctica logrando un acercamiento al desarrollo de un sistema computacional que interrelacione las entradas y salidas de información con las necesidades de la toma de decisiones para ser empleado en el Departamento de RRHH de la UPR.

Significación práctica: Radica en la importancia y la necesidad de buscar vías factibles en los factores que influyen en el desarrollo de un sistema computacional para lograr mayor eficiencia en la información que tramitan los especialistas en RRHH de la UPR.

Desarrollo

El 20 de agosto de 1972, surgió la "Sede Universitaria de Pinar del Río" que quedaría posteriormente oficializada por la Resolución Ministerial N° 184 del 73, En 1976 (las leyes 1306 y 1307) determinan el surgimiento del Ministerio de Educación Superior (MES) y la red de centros que conforman dicho Ministerio convirtiéndose la Sede Universitaria de Pinar del Río en Centro Universitario con vida propia. La instalación mantiene la categoría de Centro Universitario hasta julio de 1984, que se convierte en Universidad por el acuerdo N° 2765 del Comité Ejecutivo del Consejo de Ministros.

Desde su surgimiento la UPR cuenta con un departamento que gestiona los RRHH que permiten el funcionamiento de la misma. Dicho departamento es el encargado de contratar, controlar y mantener toda la información de los trabajadores de la entidad.

  • Caracterización del Departamento de Recurso Humanos en la UPR

El Departamento de RRHH de la UPR surge junto al proceso de creación de la misma, es decir desde el 1972 teniendo actualmente como composición la siguiente:

  • Posee 16 trabajadores divididos en 10 mujeres y 6 hombres, estos se subdividen en 6 especialistas, 7 técnicos, 2 jefes de grupo y 1 jefe de departamento.

Por el color de la piel estos se dividen en 3 negros y el resto son blancos.

El departamento se subordina a la Vicerrectoría de Economía y Administración de Servicios en la estructura general de la universidad.

  • Estructura jerárquica general. (Organigrama)

edu.red

  • Principales procesos que se realizan en la entidad.

El departamento de RRHH posee 52 funciones (ver anexo A) definidas por el Ministerio de Educación Superior, siendo la principal contribuir y asesorar la gestión de lo RRHH en la UPR, además existen otras como:

1. Asesorar a la dirección de la UPR respecto al establecimiento de los principios básicos para lograr una efectiva gestión de los RRHH en todas las entidades adscritas y controlar su desarrollo creativo, de acuerdo a las características y particularidades de cada una de ellas;

2.à  à   Orientar, asesorar y controlar a nivel de la UPR y sus unidades subordinadas la política de formación, superación y capacitación de los RRHH;

3.à  à   Orientar y controlar que en los planes de trabajo a corto, mediano y largo plazo de los recién graduados que cumplen el servicio social en adiestramiento como profesores, en los profesores jóvenes, en los profesionales de la producción y los servicios incorporados al claustro como profesores a tiempo parcial y en el resto de los profesores se incluyan la preparación y superación de los mismos y que esta propicie el mejoramiento continuo de su formación política e ideológica, profesional y otros aspectos que permitan elevar la calidad del claustro, así como el vínculo de esta superación con la categoría docente.

1.1.3. Sistemas existentes en la entidad. Funcionamiento y área de impacto.

En el departamento de RRHH existe implantado como sistema automatizado el Assept Premium que abarca varias de las funcionalidades del departamento aunque el mismo no es propio de las actividades de este. Este sistema responde directamente al área de la Dirección Económica de la universidad pero tiene módulos dirigidos al trabajo de los RRHH.

Dicho sistema impacta en el control de los trabajadores, las nóminas de pago, el control de los activos fijos, entre otras actividades económicas algunas de las cuales inciden directamente en la gestión de los RRHH.

Este sistema se fundamenta en la estructuración de una base de datos de todos los trabajadores y medios de la universidad y sobre la misma se realizan acciones para lograr reportes según el área donde se procese.

  • Exposición del Negocio.

Debemos destacar que aunque se ha avanzado bastante, aun en la actualidad existen varios procesos que aún no han sido automatizados, tal es el caso del proceso de control de la estructura general de la universidad asociada a la plantilla aprobado para su funcionamiento, control de los puestos de trabajo por área, control de los profesores por categoría docente y científica, visualización de reportes a directivos según el área de trabajo, etc.

  • Control de la estructura general de la universidad asociada a la plantilla.

El software trabaja en la creación de una base de datos con la plantilla oficial aprobada para la UPR, y así generar el organigrama oficial por áreas y departamentos.

En el mismo se verá todos los trabajadores y se podrá acceder a todos su información dentro de la universidad.

El software brindará una serie de reportes donde se podrá interactuar con la comunidad universitaria de trabajadores en los cuales se verán: 1) Listado de trabajadores con una categoría dada, 2) Listado de trabajadores con la fecha de la nueva categorización, 3) Los últimos trabajadores dado de alta en la Universidad, 4) Los últimos trabajadores dado de baja en la Universidad, etc.

  • Tendencias, metodologías y/o tecnologías actuales.

Existe un amplio conjunto de metodologías y técnicas para la creación de sistemas informáticos, todos cuentan con ventajas y desventajas de acuerdo a las condiciones y requerimientos funcionales que este posee. En la actualidad la tendencia fundamental que impera en el mercado del software es el desarrollo de aplicaciones cliente servidor como las WEB, que interactúan y comparten información entre los usuarios del mundo a través de internet. Un ejemplo de esto es el desarrollo constante de las técnicas y herramientas para la creación de estas aplicaciones que con el paso del tiempo se han ido volviendo más complejas y abstractas.

En la actualidad el departamento de RRHH de la UPR lleva a cabo una política de informatización dirigida al uso del software libre. Teniendo en cuenta la política del departamento de RRHH y después de analizar la situación tecnológica que posee este centro, con la existencia de varias aplicaciones implementadas bajo estas tecnologías, es entonces que se selecciona para el desarrollo de la aplicación web como lenguaje de programación a PHP, mientras que para la gestión de las bases de datos se opta por MySQL. Además, también se utilizará Symfony como framework PHP.

  • Proceso Unificado de Rational (RUP).

El proceso unificado de desarrollo (RUP) es una metodología para la ingeniería de software que va más allá del análisis y diseño orientado a objetos para proporcionar una familia de técnicas que soportan el ciclo completo de desarrollo de software. El resultado es un proceso basado en componentes, dirigido por los casos de uso, centrado en la arquitectura, iterativo e incrementa. (Díaz Antón, y otros, 2004)

Este proceso puede especializarse para una gran variedad de sistemas de software, en diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyecto, no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización y constituye el resultado de varios años de desarrollo y uso práctico en el que se han unificado técnicas de desarrollo, a través del UML, que es un Lenguaje de Modelamiento que permite visualizar, especificar y documentar cada una de las partes que comprende el desarrollo de software.

El ciclo de vida de RUP se caracteriza por estar dirigido por casos de uso, estar centrado en la arquitectura y ser iterativo e Incremental.

Algunos aspectos que diferencian a RUP de las demás metodologías y lo que lo hace único, es que en RUP, los casos de uso no son sólo una herramienta para especificar los requisitos del sistema, sino que también guían su diseño, implementación y prueba. Los casos de uso constituyen un elemento integrador y una guía del trabajo.

Además de utilizar los casos de uso para guiar el proceso; se presta especial atención al establecimiento temprano de una buena arquitectura que no se vea fuertemente impactada ante cambios posteriores durante la construcción y el mantenimiento. También este propone que cada fase se desarrolle en iteraciones.

  • Lenguaje de Modelado Unificado (UML)

UML es un lenguaje para visualizar, especificar, construir y documentar los artefactos de un sistema que involucra a una gran cantidad de software (Jacobson, y otros, 2000).

Es un lenguaje gráfico con una semántica bien definida que estandariza la modelación durante el proceso de desarrollo del software para que sea legible por todo el equipo de proyecto. Permite la construcción de modelos precisos, no ambiguos y completos. No es un lenguaje de programación, pero sus modelos pueden transformarse en código fuente, tablas o almacenamiento de objetos. Permite describir requerimientos, la arquitectura y modelar las pruebas a través de artefactos que permiten documentar el proceso. (El Lenguaje Unificado de Modelado, 2002)

Entre sus objetivos fundamentales se encuentran (URL1)

  • Proporcionar una notación y semánticas suficientes para poder alcanzar una gran cantidad de aspectos del modelado contemporáneo de una forma directa y económica.

  • Proporcionar las semánticas suficientes para alcanzar aspectos del modelado que son de esperar en un futuro, como por ejemplo aspectos relacionados con la tecnología de componentes, el cómputo distribuido, etc.

  • Proporcionar mecanismos de extensión de forma que aproximaciones de modelado futuras podrían desarrollarse encima del UML.

  • Proporcionar mecanismos de extensión de forma que proyectos concretos puedan extender el meta-modelo a un coste bajo

  • Permitir el intercambio del modelo entre una gran variedad de herramientas.

  • Proporcionar a los usuarios un lenguaje de modelado visual expresivo y utilizable para el desarrollo e intercambio de modelos significativos.

  • Proporcionar mecanismos de extensión y especialización.

  • Ser independiente del proceso de desarrollo y de los lenguajes de programación.

  • Proporcionar una base formal para entender el lenguaje de modelado.

  • Soportar conceptos de desarrollo de alto nivel como pueden ser colaboraciones, frameworks y componentes.

1.3.3 Enterprise Architect.

Enterprise Architect es una herramienta CASE (ComputerAided Software Engineering) (Ingeniería de software asistida por computadora) para el diseño y construcción de sistemas de software. Enterprise Architect soporta la especificación de UML 2.0, que describe un lenguaje visual por el cual se pueden definir mapas o modelos de un proyecto.

Enterprise Architect es una herramienta progresiva que cubre todos los aspectos del ciclo de desarrollo, proporcionando una trazabilidad completa desde la fase inicial del diseño a través del despliegue y mantenimiento. También provee soporte para pruebas, mantenimiento y control de cambio.

Algunas de las características claves de Enterprise Architect son:

  • Crear elementos del modelo UML para un amplio alcance de objetivos.

  • Ubicar esos elementos en diagramas y paquetes.

  • Crear conectores entre elementos.

  • Documentar los elementos que ha creado.

  • Generar código para el software que está construyendo.

  • Realizar ingeniería inversa del código existente en varios lenguajes.

Enterprise Architect sustenta todos los diagramas y modelos UML. Puede modelar procesos de negocio, sitios web, interfaces de usuario, redes, configuraciones de hardware, mensajes y más. Estimar el tamaño de su proyecto en esfuerzo de trabajo en horas. Capturar y trazar requisitos, recursos, planes de prueba, solicitudes de cambio y defectos. Desde los conceptos iniciales hasta el mantenimiento y soporte, Enterprise Architect tiene las características que precisa para diseñar y administrar su desarrollo e implementación. (Larman, 1999)

  • Lenguajes de Programación utilizados

PHP

Acrónimo de "PHP: HypertextPreprocessor", es un lenguaje "Open Source" interpretado de alto nivel, especialmente pensado para desarrollos Web y el cual puede ser embebido en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Pearl y es fácil de aprender. La meta de este lenguaje es permitir escribir a los creadores de páginas Web, páginas dinámicas de manera rápida y fácil, aunque se puede hacer mucho más. Dispone de múltiples herramientas que permiten acceder a bases de datos de forma sencilla, es multiplataforma, funciona tanto para Unix (con Apache) como para Windows (con Microsoft Internet Information Server) de forma que el código que se haya creado para una de ellas no tiene por qué modificarse al pasar a la otra. (Bakken,, y otros, 15-04-2001)

PHP es un lenguaje de "código abierto" interpretado, de alto nivel, diseñado para ser encapsulado dentro de los documentos HTML, se puede escribir el código PHP sin contradicción o posibles colisiones y ejecutado en el servidor

Con ejemplo a lo expresado anteriormente, el lenguaje PHP fue utilizado en la aplicación WEB-RRHH en la definición de las Entidades, Controladores y Vista. En el Anexo B se muestra un ejemplo del código utilizado

Ventajas más importantes de PHP:

Es un lenguaje multiplataforma.

  • Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL.

  • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext"s o extensiones).

  • Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

  • Permite las técnicas de Programación Orientada a Objetos.

  • No requiere definición de tipos de variable.

  • Tiene manejo de excepciones.

HTML 5

HTML (묥nguaje de marcado de hipertexto멬 es el lenguaje marcado predominante para la elaboración de páginas web. Es usado para describir la estructura y el contenido en forma de texto, así como para complementar el texto con objetos tales como imágenes. HTML se escribe en forma de 르iquetas묠rodeadas por corchetes angulares (<,>). HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo JavaScript). (LUBBERS, y otros, 2010)

En su versión 5 permite HTML5 incluye muchos nuevos elementos para estructurar los contenidos de las páginas sin tener que recurrir siempre a la etiqueta

Una de las aplicaciones fundamentales de la utilización de HTML en el software está al definir la estructura jerárquica del organigrama utilizando las etiquetas que generan los nodos padre (

  • ) y las que generan los hijos(
  • ). Ver Anexo C

    JavaScript

    JavaScript es un lenguaje orientado a objetos. Los programas JavaScript son ficheros textos ASCII, por lo cual puede ser incluido en un fichero aparte o en la misma página HTML y viajar así al cliente, permitiendo prestar interactividad a las páginas, así como para las validaciones. (Eguiluz Pérez, Introducción a JavaScript., 2008) Los archivos de tipo JavaScript son documentos normales de texto con la extensión .js, que se pueden crear con cualquier editor de texto como Notepad, Wordpad, EmEditor, UltraEdit, Vi, etc. (Zakas, 2009)

    La utilización fundamental del javaScript en el software está al definir el organigrama visual usando la estructura jerárquica descrita anteriormente.

    • Sistema Gestor de base de datos SGBD

    Mapeo de Objetos a Bases de datos (ORM)

    Las bases de datos siguen una estructura relacional. PHP 5 y Symfony son lenguajes que soportan el paradigma orientados a objetos. Por este motivo, para acceder a la base de datos como si fuera orientada a objetos, es necesaria una interfaz que traduzca la lógica de los objetos a la lógica relacional. Esta interfaz se denomina "mapeo de objetos a bases de datos" (ORM, de sus siglas en inglés "object-relational mapping").

    Un ORM consiste en una serie de objetos que permiten acceder a los datos y que contienen en su interior cierta lógica de negocio.

    Una de las ventajas de utilizar estas capas de abstracción de objetos/relacional es que evita utilizar una sintaxis específica de un sistema de bases de datos concreto.

    Esta capa transforma automáticamente las llamadas a los objetos en consultas SQL optimizadas para el sistema gestor de bases de datos que se está utilizando en cada momento, por ejemplo cuando se le hace cualquier tipo de consultas a la base de datos creada para la elaboración del Organigrama. Utiliza objetos en vez de registros y clases en vez de tablas tiene otra ventaja: se pueden definir nuevos métodos de acceso a las tablas. (Doctrine2)

    MySQL

    MySQL Database Server es la base de datos de código fuente abierto más usada del mundo. Su ingeniosa arquitectura lo hace extremadamente rápido y fácil de personalizar. La extensiva reutilización del código dentro del software y una aproximación minimalística para producir características funcionalmente ricas, ha dado lugar a un sistema de administración de la Base de Datos incomparable en velocidad, compactación, estabilidad y facilidad de despliegue. (URL2)

    Estos indicadores revelan en muchos casos una diferencia de velocidad abismal con respecto a los productos de la competencia y está disponible de manera gratuita, bajo una licencia de código abierto o por un precio reducido en forma de licencia comercial si resultara necesario para su aplicación.

    Sus principales características son la velocidad, la robustez, aprovechamiento de potencia de sistemas multiprocesador gracias a su implementación multihilo, soporta gran cantidad de tipos de datos, gestión de usuarios y contraseña manteniendo un buen nivel de seguridad en los datos y además es multiplataforma. Es un sistema que se integra a una gran cantidad de sistemas operativos como Windows, AIX, HP-UX systems, Linux Intel, Sun Solaris entre otros.

    edu.red

    Imagen1

    Este gestor permite:

    • Amplio subconjunto del lenguaje SQL (algunas extensiones son incluidas igualmente) que facilita la gestión de los datos mediante código.

    • Permite la navegación y administración rápida de Bases de Datos.

    • Permite la administración simple de todos sus objetos.

    • Posee una potente administración de seguridad tanto a nivel de usuario como de objetos de la Base de Datos (Tablas y campos).

    • Posee excelentes herramientas visuales y de texto para la elaboración de consultas.

    Para hacer el manejo de MySQL un poco más amigable, se utilizó la herramienta PHPMyAdmin, que es un front-end vía web para el acceso a las Bases de Datos y sus tablas. Una vez instalado el programa basta con poner en el navegador http://localhost/phpmyadmin y se nos pedirá un usuario root y una contraseña para acceder a las Bases de Datos. Permitido el acceso se tiene la posibilidad de crear las tablas, eliminarlas, consultarla, insertar las filas, modificarlas y varias opciones más que resultan muy cómodas.

    • Framework.

    La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar. Facilita el desarrollo de software, permitiendo a los diseñadores y programadores pasar más tiempo identificando requerimientos de software que tratando con los tediosos detalles de bajo nivel de proveer un sistema funcional.

    • Symfony 2

    Symfony2 es la versión más reciente de Symfony, el popular framework para desarrollar aplicaciones PHP. Se anunció por primera vez a principios de 2009 y supone un cambio radical tanto en arquitectura interna como en filosofía de trabajo respecto a sus versiones anteriores.

    Se decidió utilizar Symfony pues es framework de código abierto, basado en PHP. Este framework optimiza el patrón de diseño MVC y permite a sus desarrolladores crear aplicaciones fáciles de modificar y mantener, debido encapsular las distintas operaciones en módulos. Estos módulos pueden seguir una configuración predeterminada, o bien tener su propia configuración.

    Symfony es un completo framework diseñado para optimizar, gracias a sus características, el desarrollo de las aplicaciones web. Para empezar, separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web. Proporciona varias herramientas y clases encaminadas a reducir el tiempo de desarrollo de una aplicación web compleja. Además, automatiza las tareas más comunes, permitiendo al desarrollador dedicarse por completo a los aspectos específicos de cada aplicación. El resultado de todas estas ventajas es que no se debe reinventar la rueda cada vez que se crea una nueva aplicación web.

    Symfony está desarrollado completamente con PHP 5. Ha sido probado en numerosos proyectos reales y se utiliza en sitios web de comercio electrónico de primer nivel. Symfony es compatible con la mayoría de gestores de bases de datos, como MySQL, PostgreSQL, Oracle y SQL Server de Microsoft. Se puede ejecutar tanto en plataformas *nix (Unix, Linux, etc.) como en plataformas Windows. A continuación se muestran algunas de sus características. (Eguiluz, 2013)

    • Entorno de Desarrollo Integrado. JetBrains PhpStorm.

    Un entorno de desarrollo integrado o IDE, es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un sólo lenguaje de programación o bien, poder utilizarse para varios. Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica.

    • Servidor de aplicaciones Web.

    • Wamp

    Wamp es un servidor independiente de la plataforma en la cual se esté ejecutando, es un software totalmente libre. Básicamente Wamp consiste en una recopilación de aplicaciones y servidores tal es el caso que utiliza a el servidor web Apache, el motor de Bases de Datos MySQL, los lenguajes de programación PHP y Perl y otros servicios más.

    Principales características de Wamp:

    • Permite montar todo un ambiente de servicios pre configurado y listo para hacer uso del mismo, despreocupándose de conectar algunos componentes, configurarlo, realizar conexiones, etc.

    • Fácil de instalar para los desarrolladores que desean entrar en el mundo web y de los servidores Apache.

    • Wamp provee con una configuración totalmente funcional, activando todas las funciones y conexiones.

    En este tercer capítulo se llevan a cabo mediante la metodología RUP un conjunto de diagramas como el diagrama de secuencia, el cual brinda un análisis bien detallado de cada Caso de Uso. También se define el diagrama de clases del diseño modelo de arquitectura, los principios de diseño, diseño de navegación, los tratamientos de errores, el sistema de Seguridad para la aplicación, el diseño de la base de datos, el modelo de datos y finalmente el diagrama de implementación y despliegue.

    • Diagrama de Secuencia

    En este epígrafe se representan los diagramas de secuencia, como su nombre lo indica, describe una secuencia lógica de los dos casos de usos descritos anteriormente con su sección Insertar, Modificar y Eliminar. (Anexo F)

    • Diagramas de Clases del Diseño

    Un diagrama de clases es un tipo de diagrama estático que describe la estructura de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los diagramas de clases son utilizados durante el proceso de análisis y diseño de los sistemas, donde se crea el diseño conceptual de la información que se manejará en el sistema, y los componentes que se encargarán del funcionamiento y la relación entre uno y otro.

    Figura1: Diagrama de clases del diseño del caso de uso Gestionar de Estructura

    edu.red

    Figura2: Diagrama de clases del diseño del caso de uso Gestionar Organigrama

    edu.red

    • Definición del modelo de arquitectura.

    Para la construcción de la aplicación se aplicaron dos estilos arquitectónicos el Modelo Vista Controlador (MVC) y el Modelo 3 Capas, los cuales explican cómo está conformado el sistema arquitectónicamente. El patrón MVC describe una forma muy utilizada en la Web de organizar el código de una aplicación separando los datos de una aplicación, la interfaz de usuario y la lógica de control en tres componentes distintos.

    edu.red

    Figura3: Modelo-Vista-Controlador

    Este modelo de arquitectura se pone de manifiesto en la aplicación Intranet Corporativa desarrollada mediante el framework Symfony2 el cual basa su funcionamiento interno en el modelo de desarrollo MVC. En este caso:

    La Vista: representa todo lo que se refiera a la visualización de la información, el diseño, colores, estilos y la estructura visual en sí de nuestras páginas.

    Páginas utilizadas

    OrganigramaBundle

    Index.html.twig

    Ver_articulo.html.twig

    Ver_articulo.html.php

    mostrar.html.twig

    El Modelado: Es el responsable de la conexión a la base de datos y la manipulación de los datos mismos. Esta capa está pensada para trabajar con los datos como así también obtenerlos, pero no mostrarlos, ya que la capa de presentación de datos es la vista.

    OrganigramaBundle

    Area.php

    ClasificadorArea.php

    El Controlador: tiene como responsabilidad procesar y mostrar los datos obtenidos por el Modelado. Es decir, este último trabaja de intermediario entre los otros dos, encargándose también de la lógica de negocio.

    OrganigramaBundle

    AreaAdminController.php

    DefaultController.php

    En la siguiente figura se muestra el funcionamiento interno de la aplicación:

    edu.red

    Figura4: Arquitectura Modelo-Vista-Controlador.

    Cuando el usuario solicita ver la portada del sitio, internamente sucede lo siguiente:

    • El sistema de enrutamiento determina qué Controlador está asociado con la página de la Portada.

    • Symfony2 ejecuta el Controlador asociado a la portada. Un controlador no es más que la clase PHP en la que se puede ejecutar cualquier código que se quiera.

    • El Controlador solicita al Modelo los datos. El modelo no es más que una clase PHP especializada en obtener información, normalmente de una base de datos.

    • Con los datos devueltos por el Modelo, el Controlador solicita a la Vista que cree una página mediante una plantilla y que inserte los datos del Modelo.

    • Partes: 1, 2, 3, 4, 5
Página siguiente