Text Material Preview
2016 Universidad de la Isla de la Juventud. Facultad de Ciencias Técnicas Carrera de Ingeniería Informática. “Aplicación informática para la gestión de los objetivos de trabajo en el departamento de informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud” Autor: Daniel Nixón Díaz Tutor: Lic. Daniel Martín Aguilera. Universidad de la Isla de la Juventud “Jesús Montané Oropesa” dmartin@cuij.edu.cu Consultante: Lic. Alberto Salazar Universidad de la Isla de la Juventud ““Jesús Montané Oropesa”” asalazar@cuij.edu.cu Isla de la Juventud DECLARACIÓN DE AUTORÍA Declaro que soy el único autor del trabajo:Aplicación informática para la gestión de los objetivos de trabajo en el departamento de informática de la universidad “Jesús Montané Oropesay autorizo aldepartamento de informática de la universidad “Jesús Montané Oropesa a ejercer los derechos patrimoniales sobre el mismo. Para que así conste firmo (firmamos) la presente a los _____ días del mes de ______________ del _________. ____________________________ Nombre completo del primer autor ____________________________ Nombre completo del segundo autor ____________________________ Nombre completo del primer tutor ____________________________ Nombre completo del segundo tutor Agradecimiento A toda mi familia creer en mí y todo el apoyo y amor que me han brindado durante todo mi vida, que han sabido guiarme y educarme, a mi tía que ha sido mama y papa en un solo paquete incluido que ha hecho un buen trabajo ella con su esposo que lo considero un gran amigo, padre, tío, bueno ellos sabrán. A mis primos muy queridos que de alguna manera me han me ayudado mucho. También a todos mis profesores no de mi vida académica, a mi profesor de artes marciales que me ha sabido encaminar por muy buenos senderos, no solo en vida marcial sino también en la vida que nos espera en el mundo de hoy en día, a todos mis amigos que hemos compartido una carrera dura y hemos sabido superar todos los obstáculos que se nos han enfrentado. Muchísimas gracias de todo corazón... EEEeennn FIN! Resumen La universidad “Jesús Montané Oropesa” de la Isla de la Juventuden los últimos años ha tenido diversas transformaciones por lo que se comenzó a implementar la administración por objetivo como modelo de dirección llevándolo a todos los niveles de dirección. Esta información hoy en día es monitoreada de forma manual, lo que dificulta un poco el trabajo por lo que se ha decidido proponer el desarrollo de una aplicación informática que contribuya al proceso de gestión de los objetivos de trabajo que se evalúan en la universidad. Se usaron tecnologías y herramientas como gestor de base de datos PostgreSQL, Php 5, Symfony como framework entre otras. Para el desarrollo de la aplicación se usó XP como metodología ágil. Se utilizó el patrón de diseño Modelo - Vista –Controlador. La aplicación web contribuirá al proceso de gestión de los objetivos en el departamento de informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud, este permite tener un control y monitoreo del avance del departamento y de cada profesor que se evalúa a través de la aplicación. Palabras claves: aplicación web, administración por objetivo, Xp. SUMARY The “JesúsMontanéOropesa” University of the Isle of Youth in recent years has had several transformations so it began implementing objective management as management model bringing it to all levels of management. This information today is monitored manually, making it difficult for some work so it has decided to propose the development of a computer application that contributes to the management process work objectives are assessed in college. Technologies and tools as manager PostgreSQL database, Php 5, Symfony framework among others as were used. To develop the application using XP as agile methodology. View -Controller - Model design pattern was used. The web application will contribute to the process of management objectives in the IT department of the university “JesúsMontanéOropesa” of the Isle of Youth, this allows control and monitoring of the progress of the department and each teacher is evaluated through the application. Keywords: web application, management by objective, Xp. Índice de contenido Introducción ................................................................................................................................. 8 Preguntas científicas ................................................................................................................. 9 Tareas científicas ..................................................................................................................... 10 Métodos de Investigación ....................................................................................................... 10 Teóricos ................................................................................................................................... 10 Empíricos ................................................................................................................................. 10 Capítulo 1. Fundamentación Teórica .................................................................................... 12 1.1. Introducción ..................................................................................................................... 12 1.2. Conceptos fundamentales ............................................................................................... 12 1.2.1 Sistema de gestión ..................................................................................................... 12 1.2.3. Objeto de estudio ...................................................................................................... 12 1.2.4. Dirección por objetivos ............................................................................................. 12 1.2.5. Ventajas de la Dirección Por Objetivos ..................................................................... 13 1.2.6. Fases del desarrollo de la Dirección Por Objetivos ................................................... 14 1.2.7. Aplicación Web .......................................................................................................... 15 1.3. Estado del arte ................................................................................................................. 15 1.4. Metodología usada........................................................................................................... 15 1.5. Metodologías ágiles actuales ........................................................................................... 15 1.6. Herramientas a utilizar ..................................................................................................... 16 1.7. Conclusiones parciales ..................................................................................................... 19 Capítulo 2. Solución Propuesta .............................................................................................. 20 2.1. Introducción ..................................................................................................................... 20 2.2. Descripción del sistema propuesto .................................................................................. 20 2.3. Estructura de la aplicación web ....................................................................................... 20 2.4. Sistema de navegación de la aplicación web ................................................................... 21 2.5. Prototipo de la interfaz de usuario .................................................................................. 22 2.6. Funcionalidades de la aplicación web ..............................................................................22 2.6.1. Funcionalidades ......................................................................................................... 22 2.7. Historias de usuario .......................................................................................................... 23 2.8. Estimación por puntos ..................................................................................................... 24 2.9. Plan de iteraciones ........................................................................................................... 25 2.10. Plan de entrega .............................................................................................................. 25 2.11. Patrones de diseño ......................................................................................................... 26 2.12. Patrón de diseño modelo-vista-controlador ................................................................. 27 2.13. Tarjetas CRC ................................................................................................................... 27 2.14. Diagrama despliegue ...................................................................................................... 28 2.15. Conclusiones parciales ................................................................................................... 29 Capítulo 3. Implementación y prueba .................................................................................... 30 3.1. Introducción ..................................................................................................................... 30 3.2. Codificación ..................................................................................................................... 30 3.3. Tareas de ingeniería ......................................................................................................... 30 3.4. Métricas ............................................................................................................................ 31 3.4.1. Tamaño de las clases ................................................................................................. 31 3.4.2. Relaciones entre clases ............................................................................................. 32 3.5. Prueba de aceptación ....................................................................................................... 34 3.6. Casos de prueba ............................................................................................................... 34 3.7. Vista de la aplicación web realizada ................................................................................. 35 3.8. Validación ......................................................................................................................... 36 3.9. Conclusiones parciales ..................................................................................................... 36 Conclusiones generales .......................................................................................................... 36 Recomendaciones .................................................................................................................... 37 Referencias bibliográficas ....................................................................................................... 37 Bibliográficas ............................................................................................................................. 39 Anexo #1: Historias de usuarios ............................................................................................ 42 Anexo #2: Tarjetas CRC ......................................................................................................... 44 Anexo #3: Tareas de ingeniería ............................................................................................. 45 Anexo #4: Casos de prueba ................................................................................................... 47 Anexo #5: Encuesta inicial ...................................................................................................... 50 Anexo #6: Encuesta final ......................................................................................................... 50 Anexo #7: Entrevista realizada ............................................................................................... 51 Introducción Durante años todas las personas naturales o jurídicas siempre han pretendido alcanzar algún objetivo, satisfacer un deseo o una necesidad. Cada persona y cada grupo presentan intereses específicos, individuales. En tal sentido, se presentan algunos interrogantes: ¿En el ámbito institucional es posible que la organización y sus trabajadores alcancen ambos, los objetivos que pretenden? Aquí no es posible establecer dogmas ni recetas ya que, en cada caso, deben analizarse diferentes variables relacionadas con: el tipo de financiación (estatal o privada): el tipo de institución (producción, servicio, comercialización, deportiva, cultural, etc.); nivel de especialización tecnológica, calificación de su personal y muchas otras.(Bauzá-Vázquez, s. f.). Durante los años 1950 el estadounidense Peter Drucker en su libro La gerencia de empresas. Difundió en el ambiente administrativo el concepto de “administración por objetivos”. La administración por objetivos (APO) o administración por resultados constituye un modelo administrativo bastante difundido y plenamente identificado con el espíritu pragmático y democrático de la teoría neoclásica.(Góngora Suárez, 2010). Surgió como método de evaluación y control sobre el desempeño de áreas y organizaciones en crecimiento rápido. Comenzaron a surgir las ideas de descentralización y administración por resultados. La APO constituye un instrumento de dirección de gran aplicación, siempre y cuando se parta del principio de la actuación del hombre, desde el punto de vista de dirección, hay que medirla en términos de resultados, es decir, por lo que realmente obtenga y no por la mayor o menor cantidad de esfuerzo físico y mental consumidos en el proceso de trabajo.(Pastor, 2002) En la universidad “Jesús Montané Oropesa” de la Isla de la Juventud, luego del proceso de integración realizado en el curso 2012-2013, se ha comenzado a implementar la dirección por objetivos de trabajo a todos los niveles de dirección. Para ello se ha definido a cada nivel los criterios de medida para evaluar el cumplimiento de los objetivos trazados. Este proceso es analizado y evaluado en cada corte evaluativo y al finalizar cada semestre docente y a partir de los resultados derivados se trazan nuevos criterios de medida para el año.(Cabrera, 2014). A pesar de ello, aún se manifiestan insuficiencias en la gestión de estos objetivos que se reflejan en los resultados de cortes evaluativos, de cada semestre y de cada año de trabajo, así como en los claustros docentes realizados en cada facultad. Estas se manifiestan en lo fundamental en el no cumplimiento de los parámetros que se evalúan, aun no constituye una herramienta de trabajo de algunos directivos y cuadros a cualquier nivel, no se cuenta con una herramienta que ayude y facilite la gestión de la información derivada del proceso de dirección y la poca experiencia en la dirección de procesos de muchos cuadros de la institución. Así comono se definen claramente los criterios de medida y la forma en que se evalúan los mismos por parte de los colectivos, departamentos y facultades. Por lo antes expuesto se declara el siguiente problema científico: ¿Cómo contribuir al proceso de gestión de los objetivos de trabajo en el departamento de informática de la universidad “Jesús MontanéOropesa”de la Isla de la Juventud? Se declara además como objeto de estudio: Proceso de gestión de los objetivos de trabajo. Como campo de acción: La informatizacióndel proceso de gestión de los objetivos de trabajo en el departamento de Informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud. Para la realización de la investigación nos trazamos como objetivo general: Implementar una aplicación informática que contribuya al proceso de gestión de los objetivos de trabajo en el departamento de Informática de la Universidad “Jesús Montané Oropesa”de la Isla de la Juventud. Preguntas científicas 1. ¿Qué fundamentos teóricos caracterizan el proceso de gestión de los objetivos de trabajo y el empleo de la informática? 2. ¿Cuál es el estado actual del proceso gestión de los objetivos de trabajo en el departamento de Informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud? 3. ¿Qué herramienta informática elaborar que contribuya al proceso de gestión de los objetivos de trabajo en el departamento de Informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud? 4. ¿Qué factibilidad presenta la propuesta elaborada? Tareas científicas 1. Caracterización en los fundamentos teóricos en el proceso de gestión de los objetivos de trabajo y el empleo de la Informática. 2. Diagnóstico del estado actual del proceso de gestión de los objetivos de trabajo en el departamento de informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud y el flujo actual del proceso. 3. Implementar de una aplicación informática para gestionar la información referente a los objetivos de trabajo en el departamento de informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud. 4. Determinación de la factibilidad de la aplicación elaborada. Métodos de Investigación Teóricos Análisis y síntesis: Permitió caracterizar los principales problemas de gestión de los Objetivos de Trabajo de la Facultad de Ciencias, así como los fundamentos teóricos de la Administración e informático. Modelación: Posibilitó el estudio del proceso de la información e implicó el diseño de las funciones de una base de datos, así como la modelación del negocio y del sistema. Enfoque del sistema: Permitió analizar los componentes del modelo del negocio y del sistema de forma estructurada, jerárquica y funcional. Empíricos Entrevista: se utiliza con el objetivo de lograr definir las necesidades del cliente y obtener información necesaria para el desarrollo de la investigación. Análisis de documento: permitió el estudio de documentos que posibilito comprender el funcionamiento y proceso de la investigación que se desarrollada. La observación científica: Permitió obtener conocimiento acerca de la situación acerca de la administración de los objetivos de trabajo en el departamento de Informática y en la Facultad de Ciencias Técnicas. Para seguir un proceso de desarrollo de este trabajo limpio y organizado, se estructuró de la siguiente manera. Capítulo 1 “Fundamentación Teórica”: en el capítulo se expone el objeto de estudio del trabajo a través de la descripción del flujo de procesos y los objetos a informatizar, se describen además, las tendencias y tecnologías actuales, así como un análisis de las aplicaciones informáticas existentes afines con el campo de acción. Capítulo 2 “Sistema propuesto”: en el capítulo se realiza el análisis de las principales características de la propuesta inicial de la aplicación a desarrollar. Se determinan los artefactos generados a través de la metodología de desarrollo utilizada para su implementación tales como: historia de usuario y tarjetas CRC. Capítulo 3 Implementación y prueba: en el capítulo de detalla la codificación y principales tareas de ingenierías que ayudaron a la implementación. Se aplicarán métricas específicas para la validación de estos artefactos además de pruebas de aceptación y casos de pruebas a la aplicación desarrollada tal como lo define la metodología utilizada. Capítulo 1. Fundamentación Teórica 1.1. Introducción En el presente capítulo se expone el objeto de estudio del trabajo atreves de la descripción del flujo de procesos y los objetos a informatizar, se describen además, las tendencias y tecnologías actuales, así como un análisis de las aplicaciones informáticas existentes afines con el campo de acción. 1.2. Conceptos fundamentales 1.2.1 Sistema de gestión Es una estructura o modelo de administración eficaz y eficiente que busca mejorar el funcionamiento de una organización. Incluye un proceso de ideación, planeación, implementación y control. Los sistemas de gestión ofrecen pautas, estrategias y técnicas para optimizar los procesos y los recursos de una entidad. Se utilizan generalmente en organizaciones de carácter empresarial y abordan diferentes ámbitos como la gestión de la calidad y la rentabilidad. La implantación de sistemas de gestión permite introducir mecanismos orientados a la renovación y adaptación a la realidad de una organización y al entorno en que se desarrolla su actividad. 1.2.3. Objeto de estudio En el documento oficial emitido por el Ministerio de educación superior “Objetivos de trabajo de la Organización para el 2016”, se explica las diferentes estrategias a llevar así como los valores y modo de actuación la organización MES. Estos objetivos no son más que las principales aspiraciones que se plantean para una etapa correspondiente y los resultados alcanzados en una etapa.(MINISTERIO DE EDUCACIÓN SUPERIOR, 2015, p. 35) 1.2.4. Dirección por objetivos Consiste en definir las áreas clave de resultados para la organización y para cada uno de los puestos directivos. Formular, de forma coordinada y negociada, metas y convertirlas en objetivos medibles, expresados en resultados a lograr en un período de tiempo determinado, establecer planes de acción para lograr los objetivos y controlar su marcha hacia los mismos. La Dirección por Objetivos (DPO) es una herramienta para evaluar el desempeño, que integra los objetivos individuales y organizacionales, formando también parte de la Planificación Estratégica de la organización.(MINISTERIO DE EDUCACIÓN SUPERIOR, 2015, p. 35) Un objetivo es aquello que queremos conseguir, lo que queremos hacer, una finalidad. No se debe confundir objetivo con las tareas o acciones necesarias para conseguir los objetivos. Definiendo como tal ARC.1: Profesional competente comprometido con la revolución. ARC.2: Claustro de revolucionario de excelencia. ARC.3: Impacto económico y social. ARC.4: Gestión de la educación. 1.2.5. Ventajas de la Dirección Por Objetivos Integra el Factor Humano Los individuos son los que establecen los objetivos de un modo negociado y los planes para alcanzarlos. Concentra el esfuerzo en lo más necesario Se establece un orden de las acciones Ayuda a definir Responsabilidades Un único responsable para cada objetivo Permite el Autocontrol Cada directivo conoce cuáles son sus objetivos y los controla. Facilita la valoración de Resultados La comunicación superior-colaborador es decisiva. Áreas Clave de Resultados - Ámbitos concretos en los que se pretende conseguir resultados en la Organización. - Las Áreas Clave de Resultados pueden variar de un período de tiempo a otro. - El Crecimiento puede ser clave en un momento y, en otro, la Rentabilidad. Metas Resultados a perseguir en áreas en períodos de tiempo normalmente superiores a un ejercicio. Objetivos concretos Resultados cuantificables específicos a lograr en un período determinado de tiempo. Indicadores Criterios para medir el grado de cumplimiento de los objetivos. Unidades de medida de los resultados obtenidos. 1.2.6. Fases del desarrollo de la Dirección Por Objetivos Revisión Crítica del Plan Estratégico y Determinación de las Áreas Claves de la Organización • Integración e implicacióndel equipo directivo. • Desarrollo de un Plan de Urgencia. Formación de los participantes en el programa de Objetivos. Desarrollo del sistema de Objetivos y Planes. • Definición de Áreas Clave de Resultados. • Determinación de Metas y Objetivos. • Establecimiento de Planes de Acción. Revisión e integración de los Objetivos de la Organización. Control de Resultados. Para la evaluación de cada objetivo se trazan criterios de medida que dependiendo del resultado obtenido a cada criterio se le asigna una categoría como resultado del control realizado al mismo los cuales se describen a continuación.(MINISTERIO DE EDUCACIÓN SUPERIOR, 2015, p. 35) Sobrecumplido. Cumplido. Cumplido con señalamiento. Incumplido. 1.2.7. Aplicación Web Se denomina aplicación web a aquellas herramientas que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicación que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador.(Gauchat, s. f.) 1.3. Estado del arte Con la meta de obtener conocimiento en cuanto a cómo organizar y estructurar la aplicación web para a la UIJ, se realizó un estudio de los diferentes sistemas informáticos existentes dentro y fuera del país que empleen esta metodología de administración. En la investigación realizada no se encontró ningún sistema informático que usara esta metodología, pero se tuvieron algunas características de los sistemas informáticos encontrados con otras metodologías, teniendo en cuenta el manejo de la información para lograr una buena estructura y organización del contenido. 1.4. Metodología usada Para el desarrollo de software en la actualidad existen diversas metodologías, las que se agrupan en ágiles y tradicionales. Las metodologías ágiles proponen una forma de desarrollo de software diferente a las metodologías tradicionales. Éstas promueven las relaciones interpersonales, una estrecha colaboración entre el cliente y el equipo de desarrollo, son adaptativas y se enfocan en las personas y los resultados obtenidos. Según la mayoría de los autores consultados, las metodologías ágiles están orientadas para ser utilizadas en proyectos de poca envergadura, equipos pequeños (hasta diez miembros) y no distribuidos.(Ramírez, 2004) 1.5. Metodologías ágiles actuales XP (Extreme Programming o Programación extrema) es una metodología ágil centrada en potenciarlas relaciones interpersonales como clave para el éxito en el desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores y propiciando un buen clima de trabajo.(Ramírez, 2004) Scrumes especialmente indicada para proyectos con un rápido cambio de requisitos. Sus principales características se pueden resumir en dos: el desarrollo de software se realiza mediante iteraciones, denominadas sprint, con una duración de 30 días, el resultado de cada sprint es un incremento ejecutable que se muestra al cliente y la segunda característica son las reuniones a lo largo del proyecto, entre ellas se destaca la reunión diaria de 15 minutos del equipo de desarrollo para coordinación e integración.(Ramírez, 2004) CrystalMethodologies se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos.(Ramírez, 2004) XP es definida por su autor como una metodología ágil para el desarrollo de software destinada a ser utilizada por equipos de desarrollo pequeños y medianos (de 2 a 10 miembros) que se enfrenten a proyectos con requerimientos imprecisos o cambiantes. Las relaciones desarrollador- desarrollador y desarrolladores-cliente son fundamentales en esta metodología. La adopción del cliente como un miembro más del equipo de desarrollo es la clave del éxito. (Ramírez, 2004) Teniendo en cuenta las características de las metodologías estudiadas, se decidió para la realización del presente trabajo seleccionar la metodología de software XP. 1.6. Herramientas a utilizar HTML (HyperTextMarkupLanguage) es un lenguaje de marcado que se diseñó con el objetivo de estructurar documentos y mostrarlos en forma de hipertexto. El mismo brinda la información correspondiente relacionada con el contenido a mostrar en cada fragmento de información, y permite establecer relaciones unidireccionales entre documentos. Este lenguaje cumple con dos objetivos fundamentales para el diseño y visualización de un documento digital Organiza un documento en elementos lógicos, tales como: encabezado, párrafo, etc. Define las operaciones tipográficas y las funciones que debe ejecutar un programa visualizador sobre dichos elementos.(Gauchat, s. f.) Las Hojas de estilo en Cascada, en inglés CSSCascading Style Sheets (CSS), fueron diseñadas y desarrolladas por la World Wide Web Consortium (W3C). Una hoja de estilos CSS es el tipo de documento que utiliza un navegador Web para redefinir las propiedades de los distintos elementos y las etiquetas en el código HTML. Permite dar formato a los documentos de forma global. Proporciona al diseñador de páginas web definir un conjunto de ampliaciones HTML especiales y aplicarlas al documento. Provee la especificación e intercambio de los fondos para textos y documentos, así como sus tipos y tamaños de fuente. Las definiciones del formato de un documento se pueden colocar en archivos separados y aplicarlas a un grupo de documentos. Posibilitan además aplicar un formato modificado a documentos HTML ya existentes. Con los CSS se puede aplicar a un documento diferentes estilos de orígenes. Los CSS constituyen una herramienta poderosa para el diseño de documentos HTML, pues permiten modificar la representación del documento mediante la asignación de un nuevo estilo.(Gauchat, s. f.) El objetivo principal de PHP 5 ha sido perfeccionar los mecanismos de la Programación Orientada a Objetos para dar solución a las carencias de las versiones anteriores. Incluye modificadores de control de acceso para implementar el encapsulamiento y el manejo de excepciones, lo cual no existía en versiones anteriores. En PHP 5, no es necesario pasar objetos por referencia. Incluye numerosas funcionalidades explícitas como constructores y destructores, objeto de clonación, la clase de abstracción, herencia, no requiere definición de tipos de variables ni manejo detallado del bajo nivel. Se pueden aplicar tantas interfaces 38 como quiera y brinda un mejor soporte para la programación orientada a objetos y la lectura de archivos XML.(Gutiérrez, 2010) Symfonyes un enorme conjunto de herramientas y utilidades que simplifican 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, Bibliotecas de Clase Lenguajes de Programación (C#, VC++, BV.NET, JScript.NET) ASP.NET45 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.(The Book forSymfony 2.5, 2014) Netbeans es un entorno de desarrollo gratuito y de código abierto que en el momento de escribir este artículo está en su versión 7.4. Permite el uso de un amplio rango de tecnologías de desarrollo tanto para escritorio, como aplicaciones Web, o para dispositivos móviles. Da soporte a las siguientes tecnologías, entre otras: Java, PHP, Groovy, C/C++, HTML5,… Además puede instalarse en varios sistemas operativos:Windows, Linux, Mac OS.(Desarrolloweb, s. f.) Suele dar soporte a casi todas las novedades en el lenguaje Java. Cualquier preview del lenguaje es rápidamente soportada por Netbeans. Asistentes para la creación y configuración de distintos proyectos, incluida la elección de algunos frameworks.(Wikipedia., 2015) Editor de código, multilenguaje, con el habitual coloreado y sugerencias de código, acceso a clases pinchando en el código, control de versiones, localización de ubicación de la clase actual. Optimización de código: por su parte el Profiler nos ayuda a optimizar nuestras aplicaciones e intentar hacer que se ejecuten más rápido y con el mínimo uso de memoria.(Desarrolloweb, s. f.) Un servidor web es un programa que sirve datos en forma de Páginas Web, hipertextos o páginas HTML (HyperTextMarkupLanguage). La comunicación de estos datos entre cliente y servidor se hace por medio un protocolo, concretamente del protocolo Http. Con esto, un servidor Web se mantiene a la espera de peticiones HTTP, que son ejecutadas por un cliente HTTP; lo que solemos conocer como un Navegador Web.(Desarrolloweb, s. f.) El servidor responde al cliente enviando el código HTML de la página; el navegador cuando recibe el código, lo interpreta y lo muestra en pantalla. El Cliente es el encargado de interpretar el código HTML, es decir, de mostrar las fuentes, los colores y la disposición de los textos y objetos de la página. El servidor se encarga de transferir el código de la página sin llevar a cabo ninguna interpretación de la misma. PostgreSQL es un Sistema de gestión de bases de datos relacional orientado a objetos y libre. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global DevelopmentGroup).(ThePostgreSQL Global DevelopmentGroup, 2014) 1.7. Conclusiones parciales En el capítulo se trataron de forma general y resumida, los puntos más importantes para lograr la comprensión de las bases teóricas y funcionales del sistema que se propone, se realizó un análisis de las tecnologías que serán utilizadas en el desarrollo del sistema propuesto, una vez conocida las herramientas y conceptos a utilizar se puede comenzar a desarrollar la solución propuesta. Se decidió emplear para el desarrollo de la aplicación, como sistema de gestión de base de datos PostgreSQL 9.3, frameworksymfony 2.5.3, Apache Server 5.4, PHP 5 como lenguaje de programación y como metodología de desarrollo Xp. Capítulo 2. Solución Propuesta 2.1. Introducción En el capítulo se realiza el análisis de las principales características de la propuesta inicial de la aplicación a desarrollar. Se determinan los artefactos generados a través de la metodología de desarrollo utilizada para su implementación tales como: historia de usuario y tarjetas CRC. 2.2. Descripción del sistema propuesto La aplicación web para la gestión de los objetivos de trabajo en el departamento de informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud será accesible desde un navegador web instalado en una PC cliente, a lo tal su acceso tendrá un proceso de autenticación mediante usuario y contraseña donde cada usuario tendrá un rol especifico en el sistema (ROLE_ADMIN, ROLE_USER) asignado en función de las actividades que realiza en el departamento. La aplicación tendrá incluido un sistema de seguridad que lo proteja antes cualquier ataque de inyección en el código SQL, intentos de acceso no autorizados a los directorios a través de las URL y la codificación de las contraseñas de los usuario en el momento de almacenarlas. Permitirá gestionar toda la información generada con respecto a los objetivos de trabajo, criterios de medidas e indicadores. Esta información es almacenada y procesada para que los usuarios puedan visualizar mediante gráficos y reportes el comportamiento y trayectoria de estos objetivos, dando posibilidad de trazar nuevos criterios de medidas para próximos años. 2.3. Estructura de la aplicación web Después de haber analizado y estudiado la descripción del sistema propuesto se decidió estructurar la aplicación web de la siguiente manera: Inicio Usuarios o Mostrar usuarios o Detalle de los usuarios Periodo o Áreas de resultado Mostrar área de resultado Detalles de área de resultado o Objetivos de trabajo Mostrar objetivo de trabajo Detalles del objetivo de trabajo o Criterios de medida Mostrar criterios de medida Detalles del criterio de medida o Indicadores Mostrar indicadores Detalles del indicador Profesores o Mostar profesores o Detalles del profesor Criterios de medida o Mostar criterios de medida o Detalles de los criterios de medida Evaluaciones o Mostrar evaluaciones o Detalles de las evaluaciones Progresos o Mostrar progresos o Detalles de los progresos 2.4. Sistema de navegación de la aplicación web El sistema de navegación le permitirá a lo usuario prevenir dificultades a la hora del trabajo con la aplicación web. Estas están formadas por varios elementos en una interfaz donde le permitirá navegar por las diferentes secciones que componen la aplicación web. Botón inicio: permite ir hacia la sección principal de la aplicación, normalmente este está asociado al logotipo de la aplicación. Menú superior: presente en todo momento le permite ir las principales configuraciones de la aplicación así como salir de la misma. Menú lateral: presente en todo momento contiene las principales secciones de la aplicación donde los usuarios encontraran la información que se trabaja en la aplicación. Pie de página: esta contiene información referente a la institución, nombre, sitio web, teléfono, etc. 2.5. Prototipo de la interfaz de usuario No es más que una representación limitada del diseño del producto, que permitirá probar en situaciones reales su exploración y uso de la aplicación, constituye una herramienta útil para hacer partícipe al usuario en el desarrollo y así ir evaluando el producto desde sus primeras fases.(«Patrones de Diseño», s. f.) Imagen 1: Prototipo de la interfaz de usuario 2.6. Funcionalidades de la aplicación web Una vez estudiado el problema es necesario determinar cuáles son las funcionalidades que debe hacer la aplicación. Estas funcionalidades no son más que las capacidades que tiene que lograr la aplicación para satisfacer las necesidades del cliente. Estas son las funcionalidades que se determinaron: 2.6.1. Funcionalidades 1. Modificar período 2. Eliminar área de resultado 3. Eliminar período 4. Mostrar objetivo de trabajo 5. Mostrar área de resultado 6. Crear objetivo de trabajo 7. Crear área de resultado 8. Modificar objetivo de trabajo 9. Modificar área de resultado 10. Eliminar objetivo de trabajo 11. Mostrar criterio de medida 12. Crear indicador de evaluación 13. Crear criterio de medida 14. Modificar indicador de evaluación 15. Modificar criterio de medida 16. Eliminar indicador de evaluación 17. Eliminar criterio de medida 18. Mostrar profesor 19. Mostrar indicador de evaluación 20. Crear profesor 21. Modificar profesor 22. Eliminar usuario 23. Eliminar profesor 24. General consulta 25. Mostrar usuario 26. Detallar evaluaciones 27. Crear usuario 28. Detallar progreso 29. Modificar usuario 30. Guardar documento 2.7. Historias de usuario En la metodología programación extrema XP los requisitos funcionales del sistema son nombradas como Historias de usuario, estas describen lo que el usuario espera de cada funcionalidad de la aplicación. Además son la base para realizar las pruebas de aceptación, así comola estimación y planificación del proyecto. A continuación se describen las historias de usuarios elaboradas.(Ramírez, 2004) Tabla 1. HU Autenticar usuario Historias de usuario No: 1 Nombre: Autenticar usuario Usuario: usuarios Iteración asignada:1 Prioridad en la aplicación: Alto Puntos de estimación: Riesgo en desarrollo: Alto Puntos reales: Descripción: El sistema debe tener establecido un nivel de acceso para cada rol que interactúe. Observación: Los usuarios registrados son los únicos que pueden acceder al sistema. Tabla 2. HU Gestionar usuario Historias de usuario No: 2 Nombre: Gestionar usuario Usuario: administrador Iteración asignada:1 Prioridad en la aplicación: Alto Puntos de estimación: Riesgo en desarrollo: Alto Puntos reales: Descripción: Los administradores del sistema pueden gestionar los usuarios directamente en el sistema, modificar, adicionar o eliminar un usuario determinado. Observación: los usuarios con rol de administrador son el único usuario que puede asignar los roles de cada usuario. Ver anexo #1 para consultar las historias de usuario. 2.8. Estimación por puntos Para una correcta implementación de la aplicación se utiliza la estimación por puntos. Un punto es considerado de 1 a 5 días de trabajo, el tiempo de implementación de una historia de usuario.(Ramírez, 2004). Tabla 11. Estimación por puntos No Historias de usuario Puntos 1 Autenticar usuario 3/5 2 Gestionar usuario 3 Gestionar aéreas de resultado 1 4 Gestionar objetivos de trabajo 5 Gestionar criterios de medida 6 Gestionar indicadores 7 Gestionar profesores 1 8 Gestionar periodo evaluativo 9 Obtener evolución 1/5 10 Obtener reportes 1/5 2.9. Plan de iteraciones Cuando el cliente y el desarrollador definen los puntos de estimación de cada HU, se determina cuales serán implementadas en cada iteración del sistema. Tabla 11: Plan de iteraciones. Plan de iteración I Gestionar periodo evaluativo 2 semana Gestionar profesores Gestionar aéreas de resultado Gestionar objetivos de trabajo II Gestionar criterios de medida 3semana Gestionar indicadores Obtener evolución Obtener reportes III Autenticar usuario 1semana Gestionar usuario 2.10. Plan de entrega En el desarrollo del sistema se elaboraron tres iteraciones donde en la primera iteración se seleccionaron las HU que ayudaran en el moldeado de la información, así como las funcionalidades más básicas del sistema. Por otra parte en la segunda y última iteración es donde se implementa las HU más complejas y la seguridad del sistema.(«METODOLOGÍAS ÁGILES..pdf», s. f.) Tabla 12: Plan de entrega. No Historias de usuario Primera Segunda Tercera 3 Gestionar periodo evaluativo Finalizado 4 Gestionar profesores Finalizado 5 Gestionar aéreas de resultado Finalizado 6 Gestionar objetivos de trabajo Finalizado 7 Gestionar criterios de medida Finalizado 8 Gestionar indicadores Finalizado 9 Obtener evolución Finalizado 10 Obtener reportes Finalizado 1 Autenticar usuario Finalizado 2 Gestionar usuario Finalizado 2.11. Patrones de diseño Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.(Hernández, s. f.) Un patrón de diseño resulta ser una solución a un problema de diseño. Para que una solución sea considerada un patrón debe poseer ciertas características. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reutilizable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias. .(«Patrones de Diseño», s. f.),(Tedeschi, 2015), Los patrones de diseño pretenden: Proporcionar catálogos de elementos reusables en el diseño de sistemas software. Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente. Formalizar un vocabulario común entre diseñadores. Estandarizar el modo en que se realiza el diseño. Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente. Asimismo, no pretenden: Imponer ciertas alternativas de diseño frente a otras. Eliminar la creatividad inherente al proceso de diseño. No es obligatorio utilizar los patrones, solo es aconsejable en el caso de tener el mismo problema o similar que soluciona el patrón, siempre teniendo en cuenta que en un caso particular puede no ser aplicable. "Abusar o forzar el uso de los patrones puede ser un error". 2.12.Patrón de diseño modelo-vista-controlador Es un patrón de diseño de software que ayuda a separar lógicamente el código haciéndolo reusable, mantenerle y generalmente mejor. La entrada del usuario, el modelado del mendo externo, y la retroalimentación visual para el usuario son separados y dirigidos por los objetos modelo, vista controlador.(Álvarez, 2014),(Barnes, 2014),(Resig, 2006) El controlador interpreta las entradas del mouse y el teclado desde el usuario y convierte sus acciones en comando que son enviados hacia el modelo y/o la vista para efectuar el cambio apropiado. («Modelo-Vista-Controlador.pdf», s. f.) El modelo maneja uno o más elementos de datos, responde a las consultas acerca de su estado, y responde a las instrucciones para cambiar de estado. La vista maneja un área rectangular del área que se ve y es responsable de presentar los datos al usuario con una combinación de gráficos y texto. 2.13. Tarjetas CRC Las tarjetas crc (Clase-Responsabilidad-Colaboración) son una herramienta de brainstorming, usado como metodología para el diseño de software orientado a objetos creada por Kent Beck y Ward Cunningham. Las tarjetas CRC proponen una forma de trabajo, preferentemente grupal, para encontrar los objetos del dominio de la aplicación, sus responsabilidades y como colaboran con otros para realizar tareas. Aquí se registran los nombres de las clases, sus responsabilidades y con qué otras clases colaboran; cada tarjeta representa cada clase del sistema. Además de la forma de registrar la información de las clases esta propone en proceso llamado CRC. El proceso CRC consta de dos etapas: las lluvias de ideas y el juego de roles. Es durante este proceso que se investiga una solución orientada a objeto del sistema, permitiendo el pensamiento creativo mediante la interacción de las personas del grupo de trabajo. Tabla 13: Tarjetas CRC SystemController Clase:SystemController Responsabilidades Colaboradores Obtener acceso de los usuarios AdminController Ver anexo #2 para consultar las tarjetas CRC. 2.14. Diagrama despliegue Es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar la disposición física de los artefactos software en nodos, describe la configuración de cada nodo del sistema.(vicente (Alicante), s. f.) Los requerimientos de la aplicación y hardware son los siguientes: Servidor web 1. Servidor Web Apache 2.0 o superior. 2. Versión de PHP 5.3 o superior. 3. 512 MB de RAM o superior 4. 40 GB de Disco Duro o superior Servidor de Bases de Datos Sistema Gestor de Base de Datos PostgreSQL 9.2 o superior Clientes Navegador web: Internet Explorer 6 o superior, Mozilla Firefox, Chrome, Opera, Safari, etc. Imagen 2 Diagramadespliegue 2.15. Conclusiones parciales En el capítulo se ha descrito el sistema propuesto así como las principales funcionalidades de la misma, las historias de usuario, con el plan de iteraciones, se abordó lo referente a la fase de diseño para una mejor comprensión e implementación de la aplicación a desarrollar. Capítulo 3. Implementación y prueba 3.1. Introducción En el capítulo de detalla la codificación y principales tareas de ingenieríasque ayudaron a la implementación. Se aplicarán métricas específicas para la validación de estos artefactos además de pruebas de aceptación y casos de pruebas a la aplicación desarrollada tal como lo define la metodología utilizada. 3.2. Codificación En esta etapa las historias de usuarios realizadas se descomponen en tareas de programación o de ingeniería, descritas en lenguaje técnico. La metodología Xp no define ningún artefacto específico, pero decide utilizar el modelo de datos debido a su alto grado de importancia, basado en que a partir de él se generan las clases por parte del Object-RelationalMapping (ORM), y al relativamente poco esfuerzo requerido en su construcción.(«METODOLOGÍAS ÁGILES..pdf», s. f.) 3.3. Tareas de ingeniería Una vez identificadas las historias de usuario los programadores proceden a descomponer cada una en tareas específicas, las denominadas tareas de programación que están escritas técnicamente y que darán solución a la historia correspondiente. Tabla 17: TI Gestionar periodo Tarea de ingeniería No: 1 Historia de usuario (3): Gestionar periodo Nombre tarea: Crear interfaz gestionar periodo Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Permite la creación de una interfaz para la gestión de cada periodo evaluativo, una vez que el jefe de departamento seleccione la opción insertar periodo le permitirá crear un nuevo periodo. Así como los periodos que tiene evaluado. Ver anexo #3 para consultar las tareas de ingeniería. 3.4. Métricas Las métricas son usadas para conocer el acoplamiento entre las clases, la reutilización de las mismas, así como la cantidad de pruebas y complejidad de mantenimiento. («metricas.pdf», s. f.) 3.4.1. Tamaño de las clases Para determinar esto es necesario usar los umbrales: Tabla 26: Valores umbrales Clasificación Valores de los umbrales Pequeño <= 20 Mediano > 20 <=30 Grande > 30 Tabla 27: Tamaño de clases No Clase No atributos No. Operaciones 1 SystemController 0 3 2 AdminController 0 4 3 PeriodoController 13 12 4 PrincipalController 8 15 5 Earea 0 4 6 Eobjetivo 0 4 7 Ecriterio 0 4 8 Eindicator 0 7 9 Emedidor 0 3 10 Easignacion 3 5 11 Ecarrera 0 2 12 Enivel 0 2 13 Eperiodo 0 4 14 Eprofesor 0 7 15 Eregistro 0 8 16 Erol 0 2 17 Etipecur 0 2 18 Econtrol 0 5 19 Eusers 0 4 total 21 97 Se implementaron un total de 19 clases para un promedio de 1.8 atributo y 4.9 operaciones. Para evaluar las métricas son necesarios los valores de los umbrales. Existen tres umbrales para esta métrica, los cuales quedan con los datos mostrados a continuación: Tabla 28: Cantidad de clases Clasificación Valores de los umbrales Cantidad de clases Pequeño <= 20 19 Mediano > 20 <=30 0 Grande > 30 0 Según las métricas de los umbrales de la tabla muestran que el 100% de las clases son pequeñas por lo que son reutilizables. 3.4.2. Relaciones entre clases Esta métrica evalúa la cantidad de relaciones de uso que existe entre las distintas clases que forman el diseño propuesto. Se aplica a las mismas clases en las que fue aplicada la métrica TC. Los aspectos de calidad que se miden son: Acoplamiento, Complejidad de mantenimiento, Reutilización y Cantidad de pruebas.(«metricas.pdf», s. f.) Tabla 29: Relación de uso No Clases Relación de uso 1 SystemController 0 2 AdminController 2 3 PeriodoController 9 4 PrincipalController 8 5 Earea 2 6 Eobjetivo 3 7 Ecriterio 3 8 Eindicator 4 9 Emedidor 1 10 Easignacion 3 11 Ecarrera 1 12 Enivel 1 13 Eperiodo 5 14 Eprofesor 2 15 Eregistro 3 16 Erol 1 17 Etipecur 1 18 Econtrol 4 Para medir el acoplamiento según los resultados de esta métrica, se plantean los siguientes valores Tabla 29: Acoplamiento de clases Categoría Relación de uso Cantidad Ninguno 0 1 Bajo 1 5 Medio 2 3 Alto > 2 10 Para hallar la calidad que mide esta métrica dependen del valor promedio de las relaciones de uso de todas las clases, en este caso dicho promedio es de 2,96. 3.5. Prueba de aceptación La aplicación de pruebas de software es actualmente una herramienta importante para llevar el control de la realización de un proyecto de software de calidad y cada vez es más rigurosa estas pruebas por el hecho de la gran competitividad creciente existente en el mercado. Las pruebas de aceptación es otro tipo de nivel que se complementa en los niveles de pruebas de software, estas pruebas son muy fundamentales ya que son las que nos van a permitir que el producto cumpla con los estándares necesarios y que a la vez satisfaga a los usuarios de acuerdo a los requerimientos que plantearon desde un inicio («In», s. f., p. 2). 3.6. Casos de prueba Son un conjunto de condiciones o variables bajo las cuales un analista determinará si una aplicación o un sistema informático si sus características son parciales o completamente satisfactorias(«In», s. f., p. 11). A una aplicación se le puede realizas varios casos de prueba para determinar que un requisito es completamente satisfactorio. Con el propósito de comprobar que todos los requisitos de una aplicación son revisados, debe haber al menos un caso de prueba para cada requisito a menos que un requisito tenga requisitos secundarios. En ese caso, cada requisito secundario deberá tener por lo menos un caso de prueba.(«Articulo de caso de prueba», 2016). 3.7. Casos de prueba realizados Tabla 30: caso de prueba crear usuario Casos de prueba No: 1 Historia de usuario: 2 Creador: Daniel Nixon Nombre de caso de prueba: crear usuario Descripción: adiciona un usuario nuevo en la aplicación. Condiciones: el usuario debe ser administrador. Entrada: el usuario de rol administrador accede a la vista gestionar usuario y ejecuta el botón [nuevo] usuario, esto le permitirá visualizar el formulario de nuevo usuario y llenar los campos correspondientes después ejecutar el botón guardar para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y añade el nuevo usuario. Evaluación: Muy bien Ver anexo: #4 para consultar los Casos de prueba realizados. 3.7. Vista de la aplicación web realizada Como resultado de toda la investigación realizada se desarrolló la aplicación web “SIGOT”, gracias a ella es posible tener un control en el departamento de informática de los objetivos de trabajo con los que se trabaja en el período de evaluación. La siguiente imagen muestra la vista inicial una vez se haya accedido a la aplicación. Imagen 3Aplicación web SIGOT-vista estado actual de resultados 3.8. Validación Después de realizar las pruebas de aceptación a las funcionalidades correspondientes a las historias de usuarios 5, 7 y 9. Las funcionalidades registran los criterios de medidas con sus indicadores de evaluación y registrar profesores resultó satisfactorio en la primera iteración. En el caso de la obtención de reportes y la visualización de resultados los resultados no fueron satisfactorios en la segunda iteración. Después de realizar los cambios pertinentes se realizó una tercera iteración de pruebas de estas funcionalidades y se obtuvo buena satisfacción por parte del cliente. 3.9. Conclusiones parciales En el presente capítulo se describió lo referente a la implementación de la aplicación, haciendo una caracterización de los artefactos generados en esta fase, se realizaron los casos de pruebas para determinar la satisfacción de la aplicación. Conclusiones generales La caracterización de los referentes teóricos y metodológicos, posibilitaron profundizar en el conocimiento del proceso gestión de los objetivos de trabajo, en particular en el departamento de Informática de la universidad “Jesús Montané Oropesa”, así como el empleo de la Informática en este proceso permitiendo así elaborar el marco teóricoreferencial para este trabajo. Con el estudio y caracterización realizada al estado del arte se llegó a la conclusión de que existe una necesidad real en el departamento de Informática del desarrollo de un sistema informático que contribuya a la gestión de los objetivos de trabajo asumidos en el departamento. Se desarrolló una aplicación web que contribuye al proceso de gestión de los objetivos de trabajo en el departamento de Informática de la universidad “Jesús Montané Oropesa” de la Isla de la Juventud, que permite evaluar el cumplimiento de los criterios de medidas definidos para el año. A partir de las técnicas empleadas se realizó la factibilidad de la herramienta elaborada la cual arrojó un alto grado de satisfacción y un criterio favorable para el empleo de la misma en la gestión de los objetivos de trabajo en el departamento de Informática. Recomendaciones La gestión de los objetivos de trabajo en la universidad es un proceso amplio y continuo que involucra varios niveles de dirección, se recomienda seguir trabajando en la informatización de todo este proceso de gestión y llevarlo hasta los niveles de individualización. Sugerir a la dirección de la facultad que se implemente la experiencia en el resto de los departamentos de la misma. Referencias bibliográficas Álvarez, M. A. (2014, 02). Qué es MVC [http://www.desarrolloweb.com/articulos/que-es-mvc.html.]. Artículo de Caso de prueba. (2016, Marzo 11). En Wikipedia, la enciclopedia libre. Recuperado a partir de https://es.wikipedia.org/w/index.php?title=Caso_de_prueba&oldid=89739736 Barnes, C. (2014, 20).Model View Controller.Recuperado a partir de http://c2.com/cgi/wiki?ModelViewController. Bauzá-Vázquez, D. C. E. (s. f.). Administración de los servicios como sustento de la gestión universitaria en Cuba. Cabrera, D. C. L. C. (2014). ES ST TR RA AT TE E GI IA A D DE E D DE ES SA AR RR R OL LL L O S S OS ST TE EN NI IB BL LE E. . Desarrolloweb. (s. f.). Apache&PHP. Gauchat, J. D. (s. f.). EL gran libro de HTML5, CSS3 y Javascript.marcombo. Góngora Suárez, D. C. G. F. (2010). La gestión directiva en la formación de docentes en la Universidad de Ciencias Pedagógicas de Holguín, desde la concepción de la planeación estratégica y la administración por objetivos, 14. Gutiérrez, J. J. (2010, julio 19). Introducción a los patrones de diseño con PHP. Recuperado a partir de http://www.baluart.net/articulo/introduccion-a-los- patrones-de-diseno-con-php Hernández, J. M. (s. f.). Portal web para la Oficina Nacional de Estadística e Información. METODOLOGÍAS ÁGILES..pdf. (s. f.). metricas.pdf. (s. f.). MINISTERIO DE EDUCACIÓN SUPERIOR. (2015). OBJETIVOS DE TRABAJO DE LA ORGANIZACIÓN PARA EL AÑO 2016. Modelo-Vista-Controlador.pdf. (s. f.). Pastor, C. F. (2002). LA DIRECCIÓN POR OBJETIVOS. TEORÍA Y PRÁCTICA. La Habana. Patrones de Diseño. (s. f.). Recuperado a partir de https://sites.google.com/site/conceptoprogramacion/Home/patrones. Pruebas de sistemas y aceptacion. (s. f.). Recuperado 18 de mayo de 2016, a partir de http://es.slideshare.net/abnergerardo/pruebas-de-sistemas-y- aceptacion-23663195 Ramírez, I. D. P. (2004). M ETODOLOGÍAS ÁGILES .¿C ÓMO DESARROLLO UTILIZANDO XP? Resig, J. (2006). Pro JavaScript Techniques. Tedeschi, N. (2015). ¿Qué es un Patrón de Diseño? Recuperado a partir de https://msdn.microsoft.com/es-es/library/bb972240.aspx. The Book for Symfony 2.5. (2014). The PostgreSQL Global Development Group.(2014). PostgreSQL 9.4.0 Documentation. vicente (Alicante), S. (s. f.). Programación de aplicaciones web: historia, principios básicos y clientes web. Editorial Club Universitario. Recuperado a partir de https://sites.google.com/site/conceptoprogramacion/Home/mvc. Wikipedia. (2015). Ambiente de desarrollo integrado. Recuperado a partir de http://es.wikipedia.org/wiki/Ambiente_de_desarrollo_integrado Bibliográficas 10 sistemas gestores de base de datos. (17:31:47 UTC). Recuperado a partir de http://es.slideshare.net/nipas/10-sgbd Alegsa, L. (2010, noviembre 16). Definicion de aplicación web. Recuperado 9 de junio de 2016, a partir de http://www.alegsa.com.ar/Dic/aplicacion%20web.php Álvarez, M. A. (2014, 02). Qué es MVC [http://www.desarrolloweb.com/articulos/que- es-mvc.html.]. APLICACIONES WEB | morajimmi. (s. f.-a). Recuperado 9 de junio de 2016, a partir de https://morajimmi.wordpress.com/2011/05/05/tema-2/ APLICACIONES WEB | morajimmi. (s. f.-b). Recuperado a partir de https://morajimmi.wordpress.com/2011/05/05/tema-2/ Barnes, C. (2014, 20).Model View Controller.Recuperado a partir de http://c2.com/cgi/wiki?ModelViewController. Base de dayos en MySQL. (s. f.). Recuperado a partir de http://ocw.uoc.edu/computer- science-technology-and-multimedia/bases-de-datos/bases-de- datos/P06_M2109_02151.pdf Bauzá-Vázquez, D. C. E. (s. f.). Administración de los servicios como sustento de la gestión universitaria en Cuba. BlogspotSnapshot. (s. f.). Recuperado a partir de http://uan- informaticas.blogspot.com/2010/04/ventajas-y-desventajas-de-oracle.html Cabrera, D. C. L. C. (2014). ES ST TR RA AT TE E GI IA A D DE E D DE ES SA AR RR R OL LL L O S S OS ST TE EN NI IB BL LE E. . Caracteristicas de una aplicacion web - Culturación. (s. f.-a). Recuperado 9 de junio de 2016, a partir de http://culturacion.com/caracteristicas-de-una-aplicacion-web/ Caracteristicas de una aplicacion web - Culturación. (s. f.-b). Recuperado a partir de http://culturacion.com/caracteristicas-de-una-aplicacion-web/ Definición - Aplicaciones Web. (s. f.). Recuperado 9 de junio de 2016, a partir de https://sites.google.com/site/smr2teresa/definicion Definicion de aplicación web. (s. f.). Recuperado a partir de http://www.alegsa.com.ar/Dic/aplicacion%20web.php Desarrolloweb. (s. f.). Apache&PHP. Gauchat, J. D. (s. f.). EL gran libro de HTML5, CSS3 y Javascript.marcombo. GCFAprendeLibre. (s. f.). Informática Básica - ¿Qué es una aplicación web? Recuperado 9 de junio de 2016, a partir de http://www.gcfaprendelibre.org/tecnologia/curso/informatica_basica/aplicaciones_web_ y_todo_acerca_de_la_nube/1.do Góngora Suárez, D. C. G. F. (2010). La gestión directiva en la formación de docentes en la Universidad de Ciencias Pedagógicas de Holguín, desde la concepción de la planeación estratégica y la administración por objetivos, 14. Gutiérrez, J. J. (2010, julio 19). Introducción a los patrones de diseño con PHP. Recuperado a partir de http://www.baluart.net/articulo/introduccion-a-los-patrones-de- diseno-con-php Hernández, J. M. (s. f.). Portal web para la Oficina Nacional de Estadística e Información. Informática Básica - ¿Qué es una aplicación web? (s. f.). Recuperado a partir de http://www.gcfaprendelibre.org/tecnologia/curso/informatica_basica/aplicaciones_web_ y_todo_acerca_de_la_nube/1.do Informáticas. (2010, abril 21). INFORMÁTICAS: Ventajas y Desventajas de Oracle. Recuperado a partir de http://uan-informaticas.blogspot.com/2010/04/ventajas-y- desventajas-de-oracle.html Microsoft PowerPoint - 03-AplicacionesWeb.ppt - 03c-AplicacionesWeb.pdf. (s. f.). Recuperado a partir de https://rua.ua.es/dspace/bitstream/10045/4412/5/03c- AplicacionesWeb.pdf Microsoft Word - Que es Oracle.doc - oracle.pdf. (s. f.). Recuperado a partir de https://iessanvicente.com/colaboraciones/oracle.pdf MINISTERIO DE EDUCACIÓN SUPERIOR. (2015). OBJETIVOS DE TRABAJO DE LA ORGANIZACIÓN PARA EL AÑO 2016. MySQL Ya. (s. f.-a). Recuperado 9 de junio de 2016, a partir de http://www.mysqlya.com.ar/ MySQL Ya. (s. f.-b). Recuperado a partir de http://www.mysqlya.com.ar/ Pastor, C. F. (2002). LA DIRECCIÓN POR OBJETIVOS. TEORÍA Y PRÁCTICA. La Habana. Patrones de Diseño. (s. f.). Recuperado a partir de https://sites.google.com/site/conceptoprogramacion/Home/patrones. Pérez, J. E. (s. f.). Introducción a JavaScript. Recuperado a partir de www.librosweb.esPHP: MySQL (Original) - Manual. (s. f.-a). Recuperado 9 de junio de 2016, a partir de http://php.net/manual/es/book.mysql.php PHP: MySQL (Original) - Manual. (s. f.-b). Recuperado a partir de http://php.net/manual/es/book.mysql.php Ramírez, I. D. P. (2004). M ETODOLOGÍAS ÁGILES .¿C ÓMO DESARROLLO UTILIZANDO XP? Resig, J. (2006). Pro JavaScript Techniques. Sampieri, R. H. (2010). Metodolgía de la Invetigación. México : Mc Graw Hil. Sistema Gestor de Bases de Datos ORACLE. (s. f.). Recuperado 9 de junio de 2016, a partir de https://prezi.com/ddp0or8sydup/sistema-gestor-de-bases-de-datos-oracle/ Snapshot. (s. f.-a). Recuperado a partir de https://sites.google.com/site/smr2teresa/definicion Snapshot. (s. f.-b). Recuperado a partir de https://prezi.com/ddp0or8sydup/sistema- gestor-de-bases-de-datos-oracle/ Tedeschi, N. (2015). ¿Qué es un Patrón de Diseño? Recuperado a partir de https://msdn.microsoft.com/es-es/library/bb972240.aspx. The Book for Symfony 2.5. (2014). The PostgreSQL Global Development Group.(2014). PostgreSQL 9.4.0 Documentation. vicente (Alicante), S. (s. f.). Programación de aplicaciones web: historia, principios básicos y clientes web. Editorial Club Universitario. Recuperado a partir de https://sites.google.com/site/conceptoprogramacion/Home/mvc. Wikipedia. (2015). Ambiente de desarrollo integrado. Recuperado a partir de http://es.wikipedia.org/wiki/Ambiente_de_desarrollo_integrado Anexo #1: Historias de usuarios Tabla 3. HU Gestionar Áreas de resultado Historias de usuario No: 3 Nombre: Gestionar Áreas de resultado Usuario: Jefe de Departamento Iteración asignada:1 Prioridad en la aplicación: Alto Puntos de estimación: Riesgo en desarrollo: Alto Puntos reales: Descripción: El jefe de departamento podrá gestionar toda la información referente a las áreas de resultados clave. Podrá insertar, modificar e eliminar cualquier área mientras que el sistema lo permita. Observación: Las áreas son correspondidas por periodos de evaluaciones. Tabla 4. HU Gestionar Objetivo de trabajo Historias de usuario No: 4 Nombre: Gestionar Objetivo de trabajo Usuario: Jefe de Departamento Iteración asignada:1 Prioridad en la aplicación: Alto Puntos de estimación: Riesgo en desarrollo: Alto Puntos reales: Descripción: La aplicación deberá permitir al usuario jefe departamento gestionar la información referente a los objetivos de trabajo (insertar, eliminar, modificar y listar). Observación: Los objetivos de trabajo son correspondidos a cada área de resultado clave. Tabla 5. HU Gestionar criterios de medida Historias de usuario No:5 Nombre: Gestionar criterios de medida Usuario: Jefe departamento Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir al usuario jefe departamento gestionar la información referente con los criterios de medida (insertar, eliminar, modificar y listar). Observación: El jefe de departamento son los únicos autorizados para esta tarea. Tabla 6. HU Gestionar indicadores de evaluación Historias de usuario No:6 Nombre: Gestionar indicadores de evaluación Usuario: Jefe departamento Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir al usuario jefe departamento gestionar la información referente con los indicadores que se evalúan (insertar, eliminar, modificar y listar). Observación: El jefe de departamento son los únicos autorizados para esta tarea. Tabla 7. HU Gestionar profesores Historias de usuario No:7 Nombre: Gestionar profesores Usuario: Jefe departamento Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir al usuario jefe departamento gestionar la información referente con cada profesor que se evalúan así como crear su usuario (insertar, eliminar, modificar y listar). Observación: El jefe de departamento son los únicos autorizados para esta tarea. Tabla 8. HU Gestionar periodo evaluativo Historias de usuario No:8 Nombre: Gestionar periodo evaluativo Usuario: Jefe departamento Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir al usuario jefe departamento gestionar la información referente con los periodos evaluativo (insertar, eliminar, modificar y listar). Observación: El jefe de departamento son los únicos autorizados para esta tarea. Tabla 9. HU Gestionar Obtener evolución Historias de usuario No:9 Nombre: Obtener evolución Usuario: Usuarios Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir a todos los usuarios del sistema consultar la trayectoria que ha ido obteniendo la universidad tras cada periodo evaluativo que se. Observación: Todos los usuarios tienen acceso a esta información. Tabla 10. HU Gestionar Obtener reportes Historias de usuario No:10 Nombre: Obtener reportes Usuario: Usuarios Iteración asignada: Prioridad en la aplicación: Alto Puntos de estimación: 1 Riesgo en desarrollo: Alto Puntos reales:1 Descripción: La aplicación deberá permitir a todos los usuarios del sistema obtener un reporte de la información deseada. Observación: Todos los usuarios tienen acceso a esta información. Anexo #2: Tarjetas CRC Tabla 14: Tarjetas CRC AdminController Clase: AdminController Responsabilidades Colaboradores Crear usuarios Modificar usuarios Eliminar usuarios PrincipalController PeriodoController Tabla 15: Tarjetas CRC PeriodoController Clases: PeriodoController Responsabilidades Colaboradores Obtener período Modificar periodos Obtener profesores Modificar profesores Obtener áreas de trabajo Modificar áreas de trabajo Obtener objetivos de trabajo Modificar objetivo de trabajo Obtener criterios de medida Modificar criterio de medida PrincipalController AdminController Tabla 16: Tarjetas CRC PrincipalController Clases: PrincipalController Responsabilidades Colaboradores General consultas AdminController PeriodoController Anexo #3: Tareas de ingeniería Tabla 18: TI Gestionar profesores Tarea de ingeniería No: 2 Historia de usuario (4): Gestionar profesores Nombre tarea: Crear interfaz gestionar profesor Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al usuario jefe de departamento crear un profesor y asignarles las tareas que debe cumplir. Así como observar los profesores que tiene a su control Tabla 19:TI Gestionar aéreas de resultado Tarea de ingeniería No: 3 Historia de usuario (5): Gestionar aéreas de resultado Nombre tarea: Crear interfaz gestionar área de resultado Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al usuario jefe de departamento crear un área de resultado nuevo. Así como observar las áreas del periodo activo. Tabla 20: TI Gestionar objetivos de trabajo Tarea de ingeniería No: 4 Historia de usuario (6): Gestionar objetivos de trabajo Nombre tarea: Crear interfaz gestionar objetivos de trabajo Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al usuario jefe de departamento crear un nuevo objetivo de trabajo al área activa. Así como observar los objetivos de trabajo del periodo activo. Tabla 21: TI Gestionar criterios de medida Tarea de ingeniería No: 5 Historia de usuario (7): Gestionar criterios de medida Nombre tarea:Crear interfaz gestionar criterios de medida Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al usuario jefe de departamento crear un nuevo criterio de medida al objetivo de trabajo activo. Así como observar los criterios de medida del periodo activo. Tabla 22: TI Gestionar indicadores Tarea de ingeniería No: 6 Historia de usuario (8): Gestionar indicadores Nombre tarea: Crear interfaz gestionar indicadores Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al usuario jefe de departamento crear un nuevo indicador al criterio de medida activo. Así como observar los indicadores del periodo activo. Tabla 23: TI Obtener evolución Tarea de ingeniería No: 7 Historia de usuario (9): Obtener evolución Nombre tarea: Crear interfaz obtener evolución Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz les permitirá a todos los usuarios observar la trayectoria que ha tenido el departamento de un periodo determinado. Tabla 24: TI Obtener reportes Tarea de ingeniería No: 8 Historia de usuario (10): Obtener reportes Nombre tarea: Crear interfaz obtener reportes Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz les permitirá a todos los usuarios generar un reporte en formato .pdf el cual podrá guardarlo o imprimirlo directamente. Tabla 25: TI Gestionar usuario Tarea de ingeniería No: 9 Historia de usuario (10): Gestionar usuario Nombre tarea: Crear interfaz Gestionar usuario Tipo de tarea: Desarrollo Puntos estimación: 1 semana Programador: Daniel Nixon Díaz Descripción: Esta interfaz le permitirá al administrador gestionar todos los usuarios del sistema. Anexo #4: Casos de prueba Tabla 31: caso de prueba modificar usuario Casos de prueba No: 2 Historia de usuario: 2 Creador: Daniel Nixon Nombre de caso de prueba: modificar usuario Descripción: modifica un usuario existente de la aplicación. Condiciones: el usuario debe ser administrador. Entrada: el usuario de rol administrador accede a la vista gestionar usuario y selecciona el usuario que desea modificar, esto le permitirá visualizar el formulario del usuario a modificar y modificando los campos correspondientes después ejecutar el botón [guardar] para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y actualiza el usuario. Evaluación: Muy bien Tabla 32: caso de prueba eliminar usuario Casos de prueba No: 3 Historia de usuario: 3 Creador: Daniel Nixon Nombre de caso de prueba: eliminar usuario Descripción: elimina un usuario existente de la aplicación. Condiciones: el usuario debe ser administrador. Entrada: el usuario de rol administrador accede a la vista gestionar usuario y selecciona el usuario que desea eliminar, esto le permitirá visualizar un mensaje donde decidirá si lo elimina o no Resultados: la aplicación elimina el usuario Evaluación: Muy bien Tabla 33: caso de prueba crear nuevo periodo evaluativo. Casos de prueba No:4 Historia de usuario: 3 Creador: Daniel Nixon Nombre de caso de prueba: crear nuevo periodo evaluativo. Descripción: crea un nuevo periodo evaluativo Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario de rol jefe del departamento accede a la vista gestionar periodo evaluativo y ejecuta el botón [nuevo], esto le permitirá visualizar el formulario de nuevo periodo evaluativo y llenar los campos correspondientes después ejecutar el botón [guardar] para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y añade el nuevo periodo evaluativo. Evaluación: Muy bien Tabla 34: caso de prueba modificar periodo evaluativo Casos de prueba No: 5 Historia de usuario: 3 Creador: Daniel Nixon Nombre de caso de prueba: modificar periodo evaluativo Descripción: modifica un periodo evaluativo existente. Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario de rol jefe del departamento accede a la vista gestionar periodo evaluativo y seleccionar el periodo que desea modificar, esto le permitirá visualizar el formulario de modificar periodo evaluativo y actualizar los campos correspondientes, después ejecutar el botón [guardar] para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y actualiza el periodo evaluativo. Evaluación: Muy bien Tabla 35: caso de prueba eliminar periodo evaluativo Casos de prueba No: 6 Historia de usuario: 3 Creador: Daniel Nixon Nombre de caso de prueba: eliminar periodo evaluativo Descripción: eliminar periodo evaluativo existente. Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario debe ser jefe de departamento accede a la vista gestionar periodo y selecciona el periodo evaluativo que desea eliminar, esto le permitirá visualizar un mensaje donde decidirá si lo elimina o no Resultados: la aplicación elimina el periodo evaluativo. Evaluación: Muy bien Tabla 36: caso de prueba crear nuevo profesor. Casos de prueba No:7 Historia de usuario: 7 Creador: Daniel Nixon Nombre de caso de prueba: crear nuevo profesor. Descripción: crea un nuevo profesor Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario de rol jefe del departamento accede a la vista gestionar periodo evaluativo y ejecuta el botón [nuevo], esto le permitirá visualizar el formulario de nuevo profesor y llenar los campos correspondientes después ejecutar el botón [guardar] para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y añade el nuevo profesor. Evaluación: Muy bien Tabla 37: caso de prueba modificar profesor Casos de prueba No: 8 Historia de usuario:7 Creador: Daniel Nixon Nombre de caso de prueba: modificar profesor Descripción: modifica un profesor existente. Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario de rol jefe del departamento accede a la vista gestionar profesor y seleccionar el profesor que desea modificar, esto le permitirá visualizar el formulario de modificar profesor y actualizar los campos correspondientes, después ejecutar el botón [guardar] para terminar. Resultados: la aplicación verifica que todos los datos estén correctos y actualiza el profesor. Evaluación: Muy bien Tabla 38: caso de prueba eliminar profesor Casos de prueba No: 9 Historia de usuario: 3 Creador: Daniel Nixon Nombre de caso de prueba: eliminar profesor Descripción: eliminar profesor existente. Condiciones: el usuario debe ser jefe de departamento. Entrada: el usuario debe ser jefe de departamento accede a la vista gestionar profesor y selecciona el profesor que desea eliminar, esto le permitirá visualizar un mensaje donde decidirá si lo elimina o no Resultados: la aplicación elimina el profesor. Evaluación: Muy bien Anexo #5: Encuesta inicial La siguiente encuesta tiene como objetivo conocer la situación actual del proceso de gestión del proceso de gestión de los objetivos de trabajo en la universidad “Jesús Montané Oropesa” de la Isla de la Juventud”. Esperamos su colaboración: Preguntas: 1. ¿Conoce usted los objetivos de trabajo de la universidad? Sí ___ No___ 2. ¿Participas en los claustros de análisis de estos objetivos de trabajode la universidad? Sí ___ No___ 3. ¿Conoces los resultados obtenidos por el cumplimiento de estos objetivos de la universidad? Sí ___ No___ 4. ¿Cuentas con una herramienta que le ayude en este proceso de gestión de la universidad? Sí ___ No___ 5. ¿Cómo definiría su experiencia en la dirección de este proceso? Excelente_____, Buena_____, Regular_____, Ninguna_____ Anexo #6: Encuesta finalLa siguiente encuesta tiene como objetivo conocer la satisfacción de los profesores con el uso de la aplicación web “SIGOT” y su funcionamiento en el proceso de gestión del proceso de gestión de los objetivos de trabajo en la universidad “Jesús Montané Oropesa” de la Isla de la Juventud”. Esperamos su colaboración: Preguntas: 1. ¿Consideras que SIGOT una herramienta fácil de usar? Sí ___ No___ 2. ¿Consideras que SIGOT cuentan con una fácil configuración? Sí ___ No___ 3. ¿Crees que SIGOT le ayude en el proceso de gestión de los objetivos de la universidad? Sí ___ No___ Anexo #7: Entrevista realizada Entrevista realizada al jefe del departamento de informáticas de la universidad. Objetivo: Obtener información detalla sobre el flujo del proceso de gestión de los objetivos de trabajo en el departamento de informática de la universidad. Entrevistado: Lic. Daniel Martín Aguilera Departamento: ingeniería informática. Cargo: Jefe de carrera Fecha: 16/12/2015 Duración: 5.00 minutos 1. ¿Cómo se realiza en la actualidad el proceso de gestión de los objetivos de trabajo en el departamento de informática de la universidad? 2. ¿Cuántos trabajadores intervienen en el proceso? 3. ¿Cuentan con ordenadores en su puesto de trabajo estos trabajadores? 4. ¿Cómo se realizan los reportes para el análisis de estos resultados? 5. ¿Tienen la necesidad de contar con una herramienta informática que ayude al mejoramiento del proceso de gestión de los objetivos de trabajo en el departamento?