Sistema de información web para la optimización del proceso de gestión y administración de los laboratorios de informática de la Universidad Distrital Francisco José de Caldas Facultad Tecnológica

Texto completo

(1)SISTEMA DE INFORMACIÓN WEB PARA LA OPTIMIZACIÓN DEL PROCESO DE GESTIÓN Y ADMINISTRACIÓN DE LOS LABORATORIOS DE INFORMÁTICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA.. ANDRES FELIPE SANCHEZ OSORIO LUIS ALFREDO PARRA RATIVA. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN SISEMATIZACIÓN DE DATOS BOGOTA D.C. 2017.

(2) SISTEMA DE INFORMACIÓN WEB PARA LA OPTIMIZACIÓN DEL PROCESO DE GESTIÓN Y ADMINISTRACIÓN DE LOS LABORATORIOS DE INFORMÁTICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA.. ANDRES FELIPE SANCHEZ OSORIO LUIS ALFREDO PARRA RATIVA. Trabajo de grado para optar por el título de “Tecnólogo en Sistematización de Datos”. TUTOR Ing. JOSÉ VICENTE REYES. UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN SISEMATIZACIÓN DE DATOS BOGOTA D.C. 2017 ii.

(3) Nota de aceptación. ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________. __________________________________________ Firma del Jurado Ing. Roberto Emilio Salas Ruiz. __________________________________________ Firma del Tutor Ing. José Vicente Reyes. iii.

(4) Contenido LISTA DE TABLAS ................................................................................................................................. vii LISTA DE FIGURAS ................................................................................................................................ ix RESUMEN................................................................................................................................................... x ABSTRACT................................................................................................................................................ xi INTRODUCCIÓN ....................................................................................................................................... 1 1.. FASE DE DEFINICIÓN, PLANEACIÓN Y ORGANIZACIÓN .................................................... 2 1.1. TITULO ........................................................................................................................................ 2. 1.2. TEMÁTICA .................................................................................................................................. 2. 1.3. PLANTEAMIENTO DEL PROBLEMA ................................................................................... 2. 1.3.1. Descripción ........................................................................................................................ 2. 1.3.2. Formulación....................................................................................................................... 3. 1.4. ALCANCES – DELIMITACIONES .......................................................................................... 3. 1.4.1. Alcances ............................................................................................................................. 3. 1.4.2. Delimitaciones .................................................................................................................. 4. 1.5. OBJETIVOS ................................................................................................................................ 4. 1.5.1. General ................................................................................................................................ 4. 1.5.2. Específicos ........................................................................................................................ 5. 1.6. JUSTIFICACIÓN ........................................................................................................................ 5. 1.7. MARCO DE REFERENCIA ...................................................................................................... 6. 1.7.1. Estado del arte .................................................................................................................. 6. 1.7.2. Marco Teórico ................................................................................................................... 9. 1.8. MARCO METODOLÓGICO ................................................................................................... 20. 1.8.1 1.9. 2.. FACTIBILIDAD ......................................................................................................................... 23. 1.9.1. Económica y Técnica .................................................................................................... 23. 1.9.2. Legal .................................................................................................................................. 25. FASE DE ANALISIS ....................................................................................................................... 26 2.1. Incertidumbre .......................................................................................................................... 26. 2.1.1. Requerimientos informales ......................................................................................... 26. 2.1.2. Tipos de Usuarios .......................................................................................................... 26. 2.2 3.. SCRUM .............................................................................................................................. 20. Descripción de las funcionalidades .................................................................................. 27. HISTORIAS DE USUARIO ............................................................................................................. 28 iv.

(5) DEFINICIÓN Y PRIORIZACIÓN DEL PRODUCT BACKLOG ................................................ 42. 4.. 4.1. Creación del Product Backlog ............................................................................................ 42. 4.2. Priorización del Product Backlog ...................................................................................... 42. 4.3. Pila del Producto .................................................................................................................... 42. SPRINT PLANNING ........................................................................................................................ 46. 5.. 5.1. Sprint 1...................................................................................................................................... 46. 5.2. Sprint 2...................................................................................................................................... 46. 5.3. Sprint 3...................................................................................................................................... 46. 5.4. Sprint 4...................................................................................................................................... 47. 5.5. Sprint 5...................................................................................................................................... 47. SPRINT 1........................................................................................................................................... 48. 6.. 6.1. Objetivos .................................................................................................................................. 48. 6.2. Scrum Taskboard ................................................................................................................... 48. 6.3. Reunión de Revisión del Sprint 1 ...................................................................................... 49. 6.4. Cierre y entrega ...................................................................................................................... 50. SPRINT 2........................................................................................................................................... 51. 7.. 7.1. Objetivos .................................................................................................................................. 51. 7.2. Scrum Taskboard ................................................................................................................... 52. 7.3. Reunión de Revisión del Sprint 2 ...................................................................................... 53. 7.4. Cierre y entrega ...................................................................................................................... 53. SPRINT 3........................................................................................................................................... 54. 8.. 8.1. Objetivos .................................................................................................................................. 54. 8.2. Scrum Taskboard ................................................................................................................... 55. 8.3. Reunión de Revisión del Sprint 3 ...................................................................................... 56. 8.4. Cierre y entrega ...................................................................................................................... 56. SPRINT 4........................................................................................................................................... 57. 9.. 9.1. Objetivos .................................................................................................................................. 57. 9.2. Scrum Taskboard ................................................................................................................... 58. 9.3. Reunión de Revisión del Sprint 4 ...................................................................................... 59. 9.4. Cierre y entrega ...................................................................................................................... 59. 10.. SPRINT 5....................................................................................................................................... 60. 10.1. Objetivos .................................................................................................................................. 60. 10.2. Scrum Taskboard ................................................................................................................... 61 v.

(6) 10.3. Reunión de Revisión del Sprint 5 ...................................................................................... 62. 10.4. Cierre y entrega ...................................................................................................................... 62. 11.. FASE FINAL ................................................................................................................................. 63. 12.. CONCLUSIONES ........................................................................................................................ 66. 13.. RECOMENDACIONES ............................................................................................................... 67. 14.. BIBLIOGRAFÍA ............................................................................................................................ 68. 15.. ANEXOS ........................................................................................................................................ 70. 15.1. ANEXO A: FORMATOS DE GENERACION DE REPORTES ......................................... 70. 15.2. ANEXO B: MANUAL DEL PROGRAMADOR .................................................................... 77. 15.3. ANEXO C: MANUAL DE ADMINISTRADOR ..................................................................... 77. 15.4. ANEXO D: MANUAL DE USUARIO .................................................................................... 77. vi.

(7) LISTA DE TABLAS Tabla 1. Limitaciones técnicas. ..................................................................................................................... 4 Tabla 2. Organización de los Laboratorios .................................................................................................. 12 Tabla 3. Factibilidad Económica - Recursos Humanos ................................................................................ 23 Tabla 4. Factibilidad Económica - Recursos Técnicos ................................................................................. 24 Tabla 5. Factibilidad Económica - Gastos Adicionales ............................................................................... 24 Tabla 6. Total Proyecto ............................................................................................................................... 25 Tabla 7. Licencias de las herramientas de desarrollo ................................................................................. 25 Tabla 8. Historias de Usuario 1 y 2 .............................................................................................................. 29 Tabla 9. Historia de Usuario 3 ..................................................................................................................... 30 Tabla 10. Historias de Usuario 4 y 5 ............................................................................................................ 31 Tabla 11. Historias de Usuario 6 y 7 ............................................................................................................ 32 Tabla 12. Historias de Usuario 8, 9, 10 y 11 ................................................................................................ 33 Tabla 13. Historia de Usuario 12 ................................................................................................................. 34 Tabla 14. Historias de Usuario 13, 14, 15 y 16 ............................................................................................ 35 Tabla 15. Historias de Usuario 17, 18 y 19 .................................................................................................. 36 Tabla 16. Historias de Usuario 20, 21 y 22 .................................................................................................. 37 Tabla 17. Historias de Usuario 23, 24 y 25 .................................................................................................. 38 Tabla 18. Historias de Usuario 26, 27, 28 y 29 ............................................................................................ 39 Tabla 19. Historias de Usuario 30, 31 y 32 .................................................................................................. 40 Tabla 20. Historia de Usuario 33 ................................................................................................................. 41 Tabla 21. Formato Product Backlog ............................................................................................................ 42 Tabla 22. Priorización del Product Backlog ................................................................................................. 43 Tabla 23. Priorización del Product Backlog ................................................................................................. 44 Tabla 24. Priorización del Product Backlog ................................................................................................. 45 Tabla 25. Backlog Sprint 1 ........................................................................................................................... 48 Tabla 26. Scrum Taskboard Inicial – Sprint1 ............................................................................................... 49 Tabla 27. Scrum Taskboard en Progreso – Sprint1 ..................................................................................... 49 Tabla 28. Scrum Taskboard Terminado – Sprint1 ....................................................................................... 49 Tabla 29. Backlog Sprint 2 ........................................................................................................................... 51 Tabla 30. Scrum Taskboard Inicial – Sprint2 ............................................................................................... 52 Tabla 31. Scrum Taskboard en Progreso – Sprint2 ..................................................................................... 52 Tabla 32. Scrum Taskboard Terminado – Sprint2 ....................................................................................... 52 Tabla 33. Backlog Sprint 3 ........................................................................................................................... 54 Tabla 34. Scrum Taskboard Inicial – Sprint3 ............................................................................................... 55 Tabla 35. Scrum Taskboard en Progreso – Sprint3 ..................................................................................... 55 Tabla 36. Scrum Taskboard Terminado – Sprint3 ....................................................................................... 56 Tabla 37. Backlog Sprint 4 ........................................................................................................................... 57 Tabla 38. Scrum Taskboard Inicial – Sprint4 ............................................................................................... 58 Tabla 39. Scrum Taskboard en Progreso – Sprint4 ..................................................................................... 58 Tabla 40. Scrum Taskboard Terminado – Sprint4 ....................................................................................... 58 Tabla 41. Backlog Sprint 5 ........................................................................................................................... 60 vii.

(8) Tabla 42. Scrum Taskboard Inicial – Sprint5 ............................................................................................... 61 Tabla 43. Scrum Taskboard en Progreso – Sprint5 ..................................................................................... 61 Tabla 44. Scrum Taskboard Terminado – Sprint5 ....................................................................................... 62. viii.

(9) LISTA DE FIGURAS Figura 1. Proceso SCRUM. ........................................................................................................................... 22 Figura 2. Resultados de análisis con SensioLabsWorld ............................................................................... 63 Figura 3. Ejemplo de error y solución generadas por SensioLabsInsight.................................................... 64 Figura 4. Ejemplo de uno de los resultados del análisis en StyleCI............................................................. 65. ix.

(10) RESUMEN El presente proyecto, se desarrolló con el objetivo principal de optimizar el proceso de gestión y administración de los laboratorios de informática de la Universidad Distrital Francisco José de Caldas - Facultad Tecnológica. Para lograr dicho objetivo, se planteó, diseño y desarrollo un sistema en entorno web el cual cuenta con los módulos para la administración de inventarios, la gestión de las salas de informática y la generación de reportes pertinentes a la dependencia. El aplicativo se desarrolló sobre PHP, haciendo uso del framework Symfony2 el cual está basado en el patrón de arquitectura de software MVC (Modelo Vista Controlador), que separa la lógica y los datos de la interfaz de usuario y permite una perfecta integración con el gestor de bases de datos MySql. Teniendo en cuenta los lineamientos para la creación de sitios web del Área Web de la Red de Datos UDNET de la Universidad Distrital Francisco José de Caldas, el proyecto se realizó bajo la metodología SCRUM, la cual se pudo ajustar con facilidad al pequeño equipo de trabajo y al corto tiempo del que se dispuso para el desarrollo de la solución. Palabras clave: Web, Php, Symfony, MySql, SCRUM, inventarios, reportes.. x.

(11) ABSTRACT The present project was developed with the main objective of optimizing the management and administration process of the computer labs of the Francisco José de Caldas District University - Technological Faculty. In order to achieve this objective, a web-based system was conceived, designed and developed, which has the modules for inventory management, the management of information technology rooms and the generation of reports pertinent to the unit. The application was developed on PHP, making use of the Symfony2 framework which is based on the MVC (Model View Controller) software architecture, which separates logic and data from the user interface and allows a perfect integration with the manager Of MySql databases. Taking into account the guidelines for the creation of web sites of the Web Area of the UDNET Data Network of the Francisco José de Caldas District University, the project was carried out under the SCRUM methodology, which was easily adjusted to the small work team And the short time that was prepared for the development of the solution.. Keywords: Web, Php, Symfony, MySql, SCRUM, inventories, reports.. xi.

(12) INTRODUCCIÓN La presente tesis tuvo como objetivo desarrollar un aplicativo web que permita gestionar los procesos inherentes a la administración de los laboratorios de informática de la Universidad Distrital FJDC – Facultad Tecnológica, haciendo uso de todos los conocimientos y habilidades adquiridos durante el periodo de formación tecnológica que recibimos en la misma. Partiendo de lo anterior, se entró a analizar el proceso de administración de los laboratorios de informática, encontrando que actualmente la mayoría de procesos como los de inventariado, prestamos de salas y generación de reportes se realizan de manera manual, en soportes físicos y digitales (Excel). A raíz de esto fue evidente encontrar grandes volúmenes de información en papel y en archivos digitales que no están organizados y dificultan el trabajo de los laboratoristas pues no se tiene fácil acceso a la información, además de posibles fallas en la fiabilidad de la información allí consignada. Teniendo en cuenta la situación, se procedió a reunir la información de primera mano para conocer, entender y establecer la posible solución que permitiera mejorar drásticamente los procesos anteriormente descritos, llegando así a la conclusión de que una sistematización de los datos agilizaría el trabajo de los laboratoristas y permitiría contar con datos fiables y seguros en cualquier momento y lugar. Siendo así, se propuso una solución web, una plataforma accesible desde cualquier parte en la cual los funcionarios de los laboratorios puedan gestionar los inventarios, administrar el préstamo de las salas de informática, programar horarios y mantenimientos y generar todo tipo de reportes en tiempo real y con información veraz y organizada. Todo esto bajo una estructura segura, en lo posible robusta y escalable, ya que en un futuro puede que se necesite integrar más funcionalidades al aplicativo. Para abordar la temática, este trabajo se estructuro en tres partes, la primera está conformada por el marco introductorio, donde se introduce al tema analizando el problema hallado, definiendo para su solución un objetivo general, varios específicos, un marco teórico referencial donde se contemplan los antecedentes de aplicaciones o soluciones previas a este trabajo, un marco metodológico donde se hace mención a la metodología empleada para el desarrollo del aplicativo y un análisis de factibilidad. La segunda parte contempla todas las fases de desarrollo del portal web, las cuales se realizaron en base a la metodología de desarrollo SCRUM para alcanzar el objetivo general, y finalmente una tercera parte donde se culmina con las conclusiones y recomendaciones, donde se exponen las conclusiones obtenidas a lo largo del desarrollo de este proyecto y las recomendaciones que al parecer de los autores deberían tenerse en cuenta a futuro.. 1.

(13) 1. FASE DE DEFINICIÓN, PLANEACIÓN Y ORGANIZACIÓN 1.1. TITULO. SISTEMA DE INFORMACIÓN WEB PARA LA OPTIMIZACIÓN DEL PROCESO DE GESTIÓN Y ADMINISTRACIÓN DE LOS LABORATORIOS DE INFORMÁTICA DE LA UNIVERSIDAD FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA. 1.2. TEMÁTICA. Desarrollar un Sistema de información web para la optimización del proceso de gestión y administración de los laboratorios de informática de la Universidad Distrital Francisco José de Caldas - Facultad Tecnológica, teniendo en cuenta los lineamientos de desarrollo estipulados por la Red de Datos de la Universidad Distrital Francisco José de Caldas y los requerimientos específicos que se establezcan por parte de los laboratorios.. 1.3. PLANTEAMIENTO DEL PROBLEMA. 1.3.1 Descripción La Universidad Distrital Francisco José de Caldas, Facultad Tecnológica, cuenta con laboratorios de informática para los proyectos curriculares de Sistematización de datos por ciclos propedéuticos e Ingeniería en Telemática por ciclos propedéuticos, los cuales están organizados en siete ambientes de trabajo ubicados en el bloque 13 de la facultad y con un total de 94 equipos de cómputo disponibles para la comunidad académica. Estos laboratorios brindan a los usuarios los siguientes servicios:  Préstamo de laboratorios a docentes y administrativos: Los cuales se realizan previa solicitud por la página web de los laboratorios.  Préstamo de laboratorios para prácticas libres: Proceso que se realiza por medio de la retención del carnet refrendado del solicitante.  Préstamo de elementos especializados para prácticas en laboratorios: El cual es manejado por retención del carnet refrendado del solicitante o por solicitud de un docente. Actualmente la gestión y control de inventarios y la mayor parte de la administración de las salas de informática, son realizados de forma manual por los laboratoristas de las salas, entendiéndose por manual que por ejemplo el registro de los inventarios es realizado en plantillas impresas en papel y posteriormente digitadas en plantillas de Excel. El proceso de préstamo para práctica libre por parte de los estudiantes como se 2.

(14) ve anteriormente es manejado por el método de retención del carnet del solicitante, siempre y cuando dicho carnet este refrendado, pero no se llevan registros de estas prácticas, así como tampoco se cuenta con un sistema de información de los horarios disponibles para practica libre. Otros procesos como la generación de reportes trimestrales de inventarios o generación de paz y salvo son realizados también de manera manual, previa consulta de los registros que se posean en papel o en los archivos de Excel. Analizando la metodología para llevar a cabo los procesos anteriormente mencionados, se encuentran varios problemas, como lo son la perdida de datos, ya que los registros en papel se pueden dañar fácilmente; duplicidad de la información pertinente a inventarios, pues la tarea de comparar los registros en Excel es bastante tediosa; demoras en los procesos de generación de reportes ya sean de inventarios o de paz y salvos; no se cuenta con una base de datos para almacenar toda la información importante de los laboratorios (inventarios, mantenimientos, reportes, estadísticas, novedades) así como tampoco con un medio de comunicación por el cual los estudiantes puedan conocer la disponibilidad de los laboratorios para practicas libres.. 1.3.2 Formulación ¿Cómo diseñar y desarrollar un sistema de información web que contribuya a mejorar los procesos de gestión y administración del laboratorio de informática de la Universidad Distrital Francisco José de Caldas Facultad Tecnológica?. 1.4. ALCANCES – DELIMITACIONES. 1.4.1 Alcances  El aplicativo web estará conformado por módulos desarrollados para ser manejados de forma intuitiva y lo más simples posibles, ayudando así a mejorar el rendimiento.  Se contará con diferentes perfiles de usuario los cuales tendrán diferentes permisos para administrar la plataforma web.  El módulo de reportes generara estos en formato pdf y con la estructura brindada por los laboratoristas.  A nivel funcional, los diferentes módulos con los que contara el sistema de información serán:  Préstamo de laboratorios  Préstamo de equipos especializados 3.

(15)    . Inventarios Soporte Reportes Registro de Usuarios. 1.4.2 Delimitaciones 1.4.2.1 Geográfica. El área geográfica donde funcionara el sistema de información es en la Universidad Distrital Francisco José de Caldas Facultad Tecnológica, en el laboratorio de informática del proyecto curricular de Sistematización de Datos por ciclos propedéuticos e Ingeniera en Telemática, bloque 13 segundo piso.. 1.4.2.2 Temporal. El proyecto se realizó en un periodo de cuatro (4) meses, comprendidos desde el 1 de diciembre de 2016 al 31 de marzo de 2017.. 1.4.2.3 Técnica Tabla 1. Limitaciones técnicas.. Sistemas operativos. Operable en todos. Plataforma de desarrollo Lenguaje de Programación Motor base de datos. PHPSTORM PHP 5 MySQL 5.0.67. Fuente: Autores. 1.5. OBJETIVOS. 1.5.1 General Desarrollar un Sistema de información web para la optimización del proceso de gestión y administración de los laboratorios de informática de la Universidad Distrital Francisco José de Caldas - Facultad Tecnológica, teniendo en cuenta los lineamientos de desarrollo estipulados por la Red de Datos de la Universidad Distrital Francisco José de Caldas y los requerimientos específicos que se establezcan por parte de los laboratorios.. 4.

(16) 1.5.2 Específicos  Desarrollar un sistema de web desde el cual se pueda registrar, eliminar, modificar y consultar los datos relacionados con el préstamo de laboratorios y equipos especializados, permitiendo además llevar un buen control del inventario asignado a los laboratorios de informática.  Construir dentro de la solución la funcionalidad que permita la generación de reportes en formato PDF relevantes para el laboratorio de informática (inventarios, estadísticas de uso de salas, soportes técnicos realizados, incidencias, compras, cotizaciones, horarios, paz y salvos, entre otros).  Desarrollar una interfaz gráfica de usuario con buen diseño y que facilite el uso de las funcionalidades del software.. 1.6. JUSTIFICACIÓN. El proyecto surge a raíz de la necesidad de optimizar y brindar una mayor organización de los datos e información que se maneja en el laboratorio de informática de la Universidad Distrital FJDC Facultad tecnológica, el cual maneja actualmente sus registros de forma manual y en archivos digitales (Excel) que están expuestos a perdidas y daños y entorpecen el trabajo de los laboratoristas pues no ofrecen la agilidad y seguridad que se esperan. Por ello se propuso crear un sistema web dotado de su propia base de datos en el cual los laboratoristas puedan llevar el registro del inventario, administrar el uso de las salas de informática y poder generar reportes y certificaciones en tiempo real. A su vez, al ser un sistema web permitirá a los docentes y estudiantes ingresar a través de internet y realizar solicitudes de préstamo de salas y la consulta y generación de reportes como paz y salvos en el caso de los estudiantes. De igual forma, el sistema permitirá administrar los usuarios que manejaran el aplicativo web, por medio de un mecanismo de autenticación que permitirá saber cuándo y quien realizo cambios en el mismo. Todo esto con el fin de facilitar el trabajo de los laboratoristas y de generar un ambiente en el cual los datos estén seguros y sean confiables.. 5.

(17) 1.7. MARCO DE REFERENCIA. 1.7.1 Estado del arte 1.7.1.1 Proyectos relacionados 1.7.1.1.1. Gestión De Inventarios. Actualmente, en el mercado global se encuentran numerosas soluciones de software referentes al manejo y gestión de inventarios, todas ellas con diferentes plataformas de desarrollo y diferentes tecnologías. Sin embargo, todas estas soluciones tienen un antecedente muy relacionado con los conceptos de administración y organización. Cada una de estas herramientas ha sido diseñada con el fin de procurar una mejor organización y contabilización de los elementos físicos con los que cuenta una empresa, institución u organización. Por lo tanto, después de haber realizado una búsqueda de diferentes soluciones que cumplieran con las necesidades básicas y que nos sirvieran de guía para el proyecto se decidió exponer las siguientes:. a. KAUMER WMS1. Herramienta diseñada para registro de entradas y salidas de productos en tiempo real, con la capacidad para que los clientes consulten y soliciten inventarios desde cualquier parte del mundo. Características:     . 1. Entradas y salidas de inventario Traslados entre bodegas y ubicaciones Trabaja con Códigos de Barras Organiza por Categorías y Subcategorías Reportes. kaumerwms. (2017). www.kaumerwms.com. Recuperado el 19 de Febrero de 2017, de http://www.kaumerwms.com/. 6.

(18) b. INVENTORY CONTROL2 El Sistema de Inventario es una solución basada en la web, diseñado para pequeñas y medianas empresas que buscan un sistema completo de gestión de inventario sin reemplazar el software real para la contabilidad. El Sistema de Inventario es lo suficientemente flexible para satisfacer las necesidades de las empresas que requieren un control de inventario y facturación más ágil. El sistema también automatiza los procesos de compras y ventas, generando así un reporte con gráficos comparativos de cada mes. El Sistema de Inventario ofrece, además, un conjunto de características que lo hacen una de las mejores opciones para administrar de forma eficiente el inventario de su empresa o negocio. Características:         . Panel de control Administración de compras Administración de productos Administración de fabricantes Administración de contactos Módulo de facturación Módulo de reportes Módulo de Configuración Administración de acceso. c. INVGATE ASSETS3 Desarrollan productos de software, utilizando las últimas tecnologías disponibles que permiten gestionar la infraestructura tecnológica, monitorear servicios críticos y automatizar las necesidades de soporte y flujos de trabajo. “Software intuitivo para controlar, mantener, y administrar eficientemente su infraestructura de TI.” “Assets es un conjunto de soluciones inteligentes que le garantizarán control total sobre su infraestructura de TI.”. 2. Alvarado, O. (2015). http://obedalvarado.pw. Recuperado el 19 de Febrero de 2017, de http://obedalvarado.pw/sistema-de-control-de-inventario/. 3. invgate. (2017). http://www.invgate.com. Recuperado el 19 de Febrero de 2017, de http://www.invgate.com/es/assets/. 7.

(19) Características:      . Inventario Búsqueda de dispositivos Escritorio Remoto Distribución de Software Uso de Software: Reportes Avanzados. d. OCSINVENTORYNG (OPEN COMPUTERS AND SOFTWARE INVENTORY NEXT GENERATION)4 Es un software para la gestión de activos e implementación de soluciones. “OCS-NG recopila información sobre el hardware y software de equipos que hay en la red que ejecutan el programa de cliente OCS ("agente OCS de inventario")” Características:  Información de inventario actualizada.  Sistema de ejecución de comandos remotos.  Interfaz de administración web amigable con el usuario e. GLPI5 GLPI (Gestionnaire libre de parc informatique) es una herramienta web en software libre (licencia GPL) que ofrece una gestión integral del inventario informático de una empresa además de incluir un sistema de gestión de incidencias (ticketing / helpdesk). La herramienta está desarrollada para entornos Apache-PHP-MySQL, por lo que puede ser instalada tanto en servidores windows como linux y su fácil instalación y manejo permite gestionar todo el soporte y mantenimiento de una empresa de una manera rápida y sencilla, por lo que el despliegue y la puesta en marcha son bastante reducidos. Características:      . 4. Inventario de los recursos de la organización Gestión de tareas administrativas y financieras Gestión de incidencias Reportes Base de datos de conocimiento Reserva de equipos. ocsinventory-ng. (2010). www.ocsinventory-ng.org. Recuperado el 19 de Febrero de 2017, de http://www.ocsinventory-ng.org/en/. 5. glpi-project.org. (2014). http://glpi-project.org. Recuperado el 19 de Febrero de 2017, de http://glpiproject.org/spip.php?lang=en. 8.

(20) En cuanto a lo referente al préstamo de equipos y salas, existen pocas alternativas en el mercado actual que nos puedan ayudar a planificar los horarios de clase en las salas y el préstamo para práctica libre, entre ellas encontramos: f. BOOKED SCHEDULER6 Ayuda a las organizaciones y grupos de todos los tamaños a gestionar de forma eficaz el seguimiento de los recursos de cualquier tipo. Con múltiples vistas de planificación intuitivas y potentes herramientas de búsqueda, los usuarios pueden encontrar rápidamente las horas disponibles para los recursos que necesitan. Características:     . Reportes Recordatorios de reservas Grupos de usuarios Limita y controla el uso de recursos con cuotas de uso Opcionalmente se puede configurar para aprobar la solicitud de reservas. g. CLASSROOMBOOKINGS7 Plataforma que permite administrar de manera fácil los horarios y las reservas de los salones de clase de cualquier institución. Permite a los administradores tener la libertad de crear su propio horario semanal y reservas recurrentes, que se adapten a los horarios de la escuela. Características:    . Horario de clases personalizado Fácil de usar Elimina dobles reservas No hay límites en el número de salas, usuarios, semanas, horarios o reservas que se puedan tener.. 1.7.2 Marco Teórico. 6. bookedscheduler. (2017). http://www.bookedscheduler.com/. Recuperado el 19 de Febrero de 2017, de http://www.bookedscheduler.com/. 7. CLASSROOMBOOKINGS. (2014). http://classroombookings.com. Recuperado el 19 de Febrero de 2017, de http://classroombookings.com. 9.

(21) 1.7.2.1 Laboratorios de Informática Universidad Distrital Francisco José de Caldas – Facultad Tecnológica8 La Universidad Distrital Francisco José de Caldas, Facultad Tecnológica, cuenta con los Laboratorios de Informática, organizados en siete ambientes de trabajo con un total de 106 equipos de cómputo de última tecnología disponibles para la comunidad académica. 1.7.2.1.1. Misión. Brindar un servicio de calidad que contribuya al aprendizaje y desarrollo académico de toda la comunidad de la Universidad Distrital y de la población en general del Distrito Capital. 1.7.2.1.2. Visión. Obtener un reconocimiento local, regional y nacional sustentado en el apoyo permanente a la docencia, investigación y extensión, mediante una adecuada utilización de los recursos de software y hardware que cuenta los laboratorios de informática. 1.7.2.1.3. Grupo de trabajo. Actualmente el grupo de trabajo de los laboratorios de informática está conformado de la siguiente manera: Coordinador: Ing. MSc. José Vicente Reyes Mozo. Profesional administrativo: Juan Carlos Quitían Benavides. Técnico administrativo: Judy Marcela Moreno Ospina, Luis Guillermo Larrota Pulido. Asistente administrativo: Diana Paola Bohórquez Rodríguez, Edwin Alejandro Ávila Gómez, María Alejandra Bonilla Díaz y Jeshua Dannand Jared Larrota Alferez.. 1.7.2.1.4. 8. Tipos de servicios. Tecnológica, L. d. (20 de febrero de 2015). http://www.udistrital.edu.co:8080/web/laboratorios-desistematizacion-de-datos/inicio. Recuperado el 2017, de http://www.udistrital.edu.co:8080/web/laboratorios-de-sistematizacion-de-datos/inicio. 10.

(22) Los servicios que se brindan a los usuarios son los siguientes:  Préstamo de laboratorios a docentes y administrativos.  Préstamo de laboratorios para practicas libres.  Préstamo de elementos especializados para prácticas en laboratorio. Los horarios de servicio y disposición de los laboratorios se pueden consultar en el siguiente link: http://www.udistrital.edu.co:8080/web/laboratorios-de-sistematizacion-dedatos/laboratorios-de-informatica. La utilización de los recursos de los laboratorios de informática, pueden reservarse por el docente quedando siempre a la espera de confirmación vía e-mail, y para horario permanente diferente a los establecidos, debe presentarse la solicitud por escrito en los laboratorios de informática y estar debidamente autorizado por el coordinador de carrera. 1.7.2.1.5. Reglamentos y Normas. El reglamento y normas para acceder a los servicios ofrecidos por los laboratorios de informática, está clasificado para cada tipo de usuario y se pueden consultar en los siguientes enlaces:  Profesores:http://www.udistrital.edu.co:8080/web/laboratorios-desistematizacion-de-datos/profesores  Estudiantes:http://www.udistrital.edu.co:8080/web/laboratorios-desistematizacion-de-datos/estudiantes  Investigación:http://www.udistrital.edu.co:8080/web/laboratorios-desistematizacion-de-datos/investigacion  Extensión:http://www.udistrital.edu.co:8080/web/laboratorios-desistematizacion-de-datos/extension 1.7.2.1.6. Organización de los laboratorios:. Los laboratorios de informática se encuentran organizados como se muestra en la Tabla 2:. 11.

(23) Tabla 2. Organización de los Laboratorios. BLOQUE. PISO. LABORATORIO. 12. 2. SALA 1. 12. 2. SALA 2. 13. 2. SALA 3. 13. 2. SALA 4. 13. 2. SALA 5. 13. 2. SALA 6. 13. 2. SALA 7. ESPECIALIDAD Laboratorio aplicado de Telemática Laboratorio especializado de Sistemas Distribuidos Laboratorio especializado de Comunicaciones Inalámbricas Laboratorio de computación grafica Laboratorio de Bases de Datos Laboratorio de Ingenieria de Software Laboratorio de Simulación. Fuente: Laboratorios de Informática UDFJC – Facultad Tecnológica. 1.7.2.2. Aplicación web. En la Ingeniería de software se denomina aplicación web a aquellas aplicaciones 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 (Software) que se codifica en un lenguaje soportado por los navegadores web en la que se confía la ejecución al navegador. Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero, a la independencia del Sistema operativo, así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Es importante mencionar que una Página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la página responderá a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo9.. 9. Ecured. (2016). www.ecured.cu. Recuperado el 19 de Febrero de 2017, de https://www.ecured.cu/Aplicaci%C3%B3n_web. 12.

(24) 1.7.2.3 Servidor Web. Un servidor Web es un programa que utiliza el protocolo de transferencia de hiper texto, HTTP (Hypertext Transfer Protocol), para servir los archivos que forman páginas Web a los usuarios, en respuesta a sus solicitudes, que son reenviados por los clientes HTTP de sus computadoras. Las computadoras y los dispositivos dedicados también pueden denominarse servidores Web. El proceso es un ejemplo del modelo cliente/servidor. Todos los equipos que alojan sitios Web deben tener programas de servidor Web. Los principales servidores Web incluyen Apache (el servidor Web más ampliamente instalado), Internet Information Server (IIS) de Microsoft y nginx (que se pronuncia engine X) de NGNIX. Otros servidores Web incluyen el servidor NetWare de Novell, el servidor Web de Google (GWS) y la familia de servidores Domino de IBM. Los servidores Web a menudo forman parte de un paquete más amplio de programas relacionados con internet e intranet para servir correo electrónico, descargar solicitudes de archivos de protocolo de transferencia de archivos (FTP) y crear y publicar páginas Web. Las consideraciones al elegir un servidor Web incluyen cuán bien funciona con el sistema operativo y otros servidores, su capacidad para manejar la programación del servidor, las características de seguridad y las herramientas particulares de publicación, motor de búsqueda y creación de sitios que vienen con él10.. 1.7.2.4 PHP. PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores.. 10. Rouse, M. (Diciembre de 2016). http://searchdatacenter.techtarget.com. Recuperado el 19 de Febrero de 2017, de http://searchdatacenter.techtarget.com/es/definicion/Servidor-Web. 13.

(25) Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores11.. 1.7.2.5 HTML. HTML significa "Lenguaje de Marcado de Hypertexto" por sus siglas en inglés "HyperText Markup Language", es un lenguaje que pertenece a la familia de los "lenguajes de marcado" y es utilizado para la elaboración de páginas web. El estándar HTML lo define la W3C (World Wide Web Consortium) y actualmente HTML se encuentra en su versión HTML5. Cabe destacar que HTML no es un lenguaje de programación ya que no cuenta con funciones aritméticas, variables o estructuras de control propias de los lenguajes de programación, por lo que HTML genera únicamente páginas web estáticas, sin embargo, HTML se puede usar en conjunto con diversos lenguajes de programación para la creación de páginas web dinámicas. Básicamente el lenguaje HTML sirve para describir la estructura básica de una página y organizar la forma en que se mostrará su contenido, además de que HTML permite incluir enlaces (links) hacia otras páginas o documentos. HTML es un lenguaje de marcado descriptivo que se escribe en forma de etiquetas para definir la estructura de una página web y su contenido como texto, imágenes, entre otros, de modo que HTML es el encargado de describir (hasta cierto punto) la apariencia que tendrá la página web12.. 1.7.2.6 CSS. CSS es un lenguaje de hojas de estilos creado para controlar el aspecto o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de separar los contenidos y su presentación y es imprescindible para crear páginas web complejas. Separar la definición de los contenidos y la definición de su aspecto presenta numerosas ventajas, ya que obliga a crear documentos HTML/XHTML bien definidos y con significado completo (también llamados "documentos semánticos"). Además, mejora la 11. Alvares, M. A. (Mayo de 2014). www.desarrolloweb.com. Recuperado el 19 de Febrero de 2017, de https://www.desarrolloweb.com/articulos/392.php 12 www.acercadehtml.com. (2015). http://www.acercadehtml.com. Recuperado el 19 de Febrero de 2017, de http://www.acercadehtml.com/manual-html/que-es-html.html. 14.

(26) accesibilidad del documento, reduce la complejidad de su mantenimiento y permite visualizar el mismo documento en infinidad de dispositivos diferentes. Al crear una página web, se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los contenidos, es decir, para designar la función de cada elemento dentro de la página: párrafo, titular, texto destacado, tabla, lista de elementos, etc. Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento: color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada elemento dentro de la página, etc 13.. 1.7.2.7 JavaScript. JavaScript es un lenguaje de programación que se utiliza principalmente para crear páginas web dinámicas. Una página web dinámica es aquella que incorpora efectos como texto que aparece y desaparece, animaciones, acciones que se activan al pulsar botones y ventanas con mensajes de aviso al usuario. Técnicamente, JavaScript es un lenguaje de programación interpretado, por lo que no es necesario compilar los programas para ejecutarlos. En otras palabras, los programas escritos con JavaScript se pueden probar directamente en cualquier navegador sin necesidad de procesos intermedios. A pesar de su nombre, JavaScript no guarda ninguna relación directa con el lenguaje de programación Java. Legalmente, JavaScript es una marca registrada de la empresa Sun Microsystems, como se puede ver en http://www.sun.com/suntrademarks/14.. 1.7.2.8 Framework. El concepto framework se emplea en muchos ámbitos del desarrollo de sistemas software, no solo en el ámbito de aplicaciones Web. Podemos encontrar frameworks para el desarrollo de aplicaciones médicas, de visión por computador, para el desarrollo de juegos, y para cualquier ámbito que pueda ocurrírsenos.. 13. librosweb.es. (2015). http://librosweb.es. Recuperado el 19 de Febrero de 2017, de http://librosweb.es/libro/css/capitulo_1.html. 14. librosweb.es. (2013). http://librosweb.es. Recuperado el 19 de Febrero de 2017, de http://librosweb.es/libro/javascript/capitulo_1.html 15.

(27) En general, con el término framework, nos estamos refiriendo a una estructura software compuesta de componentes personalizables e intercambiables para el desarrollo de una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos añadirle las últimas piezas para construir una aplicación concreta. Los objetivos principales que persigue un framework son: acelerar el proceso de desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones. Un framework Web, por tanto, podemos definirlo como un conjunto de componentes (por ejemplo clases en java y descriptores y archivos de configuración en XML) que componen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web15. 1.7.2.9 Bootstrapt. Es un framework originalmente creado por Twitter, que permite crear interfaces web con CSS y JavaScript, cuya particularidad es la de adaptar la interfaz del sitio web al tamaño del dispositivo en que se visualice. Es decir, el sitio web se adapta automáticamente al tamaño de una PC, una Tablet u otro dispositivo. Esta técnica de diseño y desarrollo se conoce como Responsive Design o Diseño Adaptativo. Este Framework te abstrae de tener que preocuparte por las “media queries” y los porcentajes en los CSS para hacer una web Responsive, facilitando la programación del site. Además, se basa en la simplicidad de sus interfaces, lo cual es una tendencia del mercado, en las que tiende a diseño plano, botones grandes, etc… para facilitar la usabilidad en los dispositivos más pequeños, atendiendo a la “User Experience”16.. 1.7.2.10. Symfony2. Symfony es un framework PHP que permite muy fácilmente utilizar la arquitectura MVC (Model-View-Controller). Fue escrito desde un origen para ser utilizado sobre la versión 5 de PHP ya que hace ampliamente uso de la orientación a objetos que caracteriza a esta versión y desde la versión 2 de Symfony se necesita mínimamente PHP 5.3.3.. 15. Gutiérrez, J. J. (2014). http://www.lsi.us.es. Recuperado el 19 de Febrero de 2017, de http://www.lsi.us.es/~javierj/investigacion_ficheros/Framework.pdf. 16. Acedo, J. (04 de Mayo de 2015). http://programacion.jias.es. Recuperado el 19 de Febrero de 2017, de http://programacion.jias.es/2015/05/web-%C2%BFque-es-el-framework-bootstrap-ventajas-desventajas/. 16.

(28) Symfony Fue creado por una gran comunidad liderada por Fabien Potencier, quién a la fecha, sigue al frente de este proyecto con una visión muy fuertemente orientada hacia las mejores prácticas que hoy en día forman parte del estándar de desarrollo de software. Por más que Symfony puede ser utilizado para otros tipos de desarrollos no orientados a la Web, fue diseñado para optimizar el desarrollo de aplicaciones Web, proporcionando herramientas para agilizar aplicaciones complejas y guiando al desarrollador a acostumbrarse al orden y buenas prácticas dentro del proyecto. El concepto de Symfony es no reinventar la rueda, por lo que reutiliza conceptos y desarrollos exitosos de terceros y los integra como librerías para ser utilizados por nosotros. Entre ellos encontramos que integra plenamente uno de los frameworks ORM más importantes dentro de los existentes para PHP llamado Doctrine, el cual es el encargado de la comunicación con la base de datos, permitiendo un control casi total de los datos sin importar si estamos hablando de MySQL, PostgreSQL, SQL server, Oracle, entre otros motores ya que la mayoría de las sentencias SQL no son generadas por el programador sino por el mismo Doctrine17.. 1.7.2.11. Base de datos. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada o estructurada. Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro18. Características: Entre las principales características de los sistemas de base de datos podemos mencionar:  Independencia lógica y física de los datos.  Redundancia mínima. 17. Ardissone, J. (15 de Febrero de 2012). www.maestrosdelweb.com. Recuperado el 19 de Febrero de 2017, de http://www.maestrosdelweb.com/curso-symfony2-introduccion-instalacion/ 18 Valdés, D. P. (26 de Octubre de 2007). www.maestrosdelweb.com. Recuperado el 20 de Febrero de 2017, de http://www.maestrosdelweb.com/que-son-las-bases-de-datos/. 17.

(29)      . Acceso concurrente por parte de múltiples usuarios. Integridad de los datos. Consultas complejas optimizadas. Seguridad de acceso y auditoría. Respaldo y recuperación. Acceso a través de lenguajes de programación estándar.. 1.7.2.12. SGBD (Sistema Gestor de Bases de Datos). Un Sistema Gestor de Base de Datos (SGBD, en inglés DBMS: DataBase Management System) es un sistema de software que permite la definición de bases de datos; así como la elección de las estructuras de datos necesarios para el almacenamiento y búsqueda de los datos, ya sea de forma interactiva o a través de un lenguaje de programación. Un SGBD relacional es un modelo de datos que facilita a los usuarios describir los datos que serán almacenados en la base de datos junto con un grupo de operaciones para manejar los datos. Los SGBD relacionales son una herramienta efectiva que permite a varios usuarios acceder a los datos al mismo tiempo. Brindan facilidades eficientes y un grupo de funciones con el objetivo de garantizar la confidencialidad, la calidad, la seguridad y la integridad de los datos que contienen, así como un acceso fácil y eficiente a los mismos19.. 1.7.2.13. MySql. MySQL es un sistema de gestión de base de datos relacional (RDBMS) de código abierto, basado en lenguaje de consulta estructurado (SQL). MySQL se ejecuta en prácticamente todas las plataformas, incluyendo Linux, UNIX y Windows. A pesar de que se puede utilizar en una amplia gama de aplicaciones, MySQL se asocia más con las aplicaciones basadas en la web y la publicación en línea y es un componente importante de una pila empresarial de código abierto llamado LAMP. LAMP es una plataforma de desarrollo web que utiliza Linux como sistema operativo, Apache como servidor web, MySQL como sistema de gestión de base de datos relacional y PHP como lenguaje de programación orientado a objetos (a veces, Perl o Python se utiliza en lugar de PHP). MySQL, que fue concebido originalmente por la compañía sueca MySQL AB, fue adquirida por Oracle en 2008. Los desarrolladores todavía pueden usar MySQL bajo la 19. EcuRed. (2017). https://www.ecured.cu. Recuperado el 20 de Febrero de 2017, de https://www.ecured.cu/Sistema_Gestor_de_Base_de_Datos 18.

(30) Licencia Pública General de GNU (GPL), pero las empresas deben obtener una licencia comercial de Oracle20. Los vástagos de MySQL se llaman derivados (forks). Ellos incluyen: Drizzle - un sistema de gestión de base de datos ligero de código abierto en el desarrollo basado en MySQL 6.0. MariaDB - un reemplazo popular "drop-in" desarrollado en la comunidad para MySQL que utiliza las API y los comandos de MySQL. Percona Server con XtraDB - una versión mejorada de MySQL conocido por su escalabilidad horizontal.. 20. Rouse, M. (Enero de 2015). http://searchdatacenter.techtarget.com. Recuperado el 20 de Febrero de 2017, de http://searchdatacenter.techtarget.com/es/definicion/MySQL. 19.

(31) 1.8. MARCO METODOLÓGICO. 1.8.1 SCRUM21 Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos. En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales. Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto. 1.8.1.1 El proceso22. En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta 4 semanas, límite máximo de feedback y reflexión). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite. El proceso parte de la lista de objetivos/requisitos priorizada del producto, que actúa como plan del proyecto. En esta lista el cliente prioriza los objetivos balanceando el valor que le aportan respecto a su coste y quedan repartidos en iteraciones y entregas. Las actividades que se llevan a cabo en Scrum son las siguientes: 1.8.1.2 Planificación de la iteración. El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:. 21. proyectosagiles.org. (2015). https://proyectosagiles.org. Recuperado el 20 de Febrero de 2017, de https://proyectosagiles.org/que-es-scrum/ 22 Ibíd.. 20.

(32)  Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.  Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se auto asignan las tareas. 1.8.1.3 Ejecución de la iteración. Cada día el equipo realiza una reunión de sincronización (15 minutos máximos). Cada miembro del equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunión cada miembro del equipo responde a tres preguntas: ¿Qué he hecho desde la última reunión de sincronización? ¿Qué voy a hacer a partir de este momento? ¿Qué impedimentos tengo o voy a tener? Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo pueda cumplir con su compromiso y de que no se merme su productividad. Elimina los obstáculos que el equipo no puede resolver por sí mismo. Protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad. Durante la iteración, el cliente junto con el equipo refina la lista de requisitos (para prepararlos para las siguientes iteraciones) y, si es necesario, cambian o re planifican los objetivos del proyecto para maximizar la utilidad de lo que se desarrolla y el retorno de inversión. 1.8.1.4 Inspección y adaptación. El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene dos partes:  Demostración (4 horas máximo). El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las 21.

(33) adaptaciones necesarias de manera objetiva, ya desde la primera iteración, re planificando el proyecto.  Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El Facilitador se encargará de ir eliminando los obstáculos identificados23. En la figura 1 se puede observar el ciclo de vida de SCRUM:. Figura 1. Proceso SCRUM. Fuente: https://proyectosagiles.org/que-es-scrum/. 23. proyectosagiles.org. (2015). https://proyectosagiles.org. Recuperado el 20 de Febrero de 2017, de https://proyectosagiles.org/que-es-scrum/. 22.

(34) 1.9. FACTIBILIDAD. 1.9.1 Económica y Técnica La factibilidad económica del proyecto es la siguiente: en términos financieros se necesitarán mínimo dos equipos cómputo, asesorías del tutor del proyecto, acceso a Internet, paquete office y artículos de papelería para realizar el modelado del proyecto. En las tablas que se presentaran a continuación se describe la factibilidad económica, identificando los costos de papelería, hardware, software y recursos humanos necesarios para la realización del proyecto (Tabla 3). Se dividió en tres aspectos, recursos humanos, recursos técnicos y otros recursos, la distinción de los recursos humanos se presenta a continuación: Tabla 3. Factibilidad Económica - Recursos Humanos. Tipo. Descripción. ValorHora. Cantidad. Total. Asumido por. Tutor (1). Asesorías para la realización del proyecto, referente a la metodología.. $ 60.000. Aproximadamente 40 horas. $ 2.400.000. Universidad. Desarrolladores (2). Dos programadores que realicen el desarrollo de la solución.. $ 30.000. Aproximadamente 240 horas C/U. $ 14.400.000. Estudiantes desarrolladores del proyecto. Total Recursos Humanos. $ 16.800.000. Fuente: Autores. En la tabla 4, se presentan los gastos en recursos técnicos que se ostentaron durante el desarrollo del proyecto.. 23.

(35) Tabla 4. Factibilidad Económica - Recursos Técnicos. cantidad. 1. 1. 1. Recurso. Descripción. Valor Unitario. Total. Equipo de computo. Computador de mesa con procesador AMD doble núcleo, 8gb de memoria RAM, disco duro de 500gb, monitor red de 19" y periféricos básicos. Propiedad de uno de los programadores.. $800,000. $800,000. Equipo de computo. Computador de mesa con procesador AMD A6-3400M, 4gb de memoria RAM, disco duro de 500gb, monitor red de $1,000,000 $1,000,000 19" y periféricos básicos. Propiedad de uno de los programadores. Lector de código de barras. Lector de código de barras propiedad de los laboratorios de informática de la Universidad Distrital Francisco José de Caldas Facultad Tecnológica. $100,000. $100,000. Total Recursos Técnicos. $1,900,000. Total recursos Técnicos asumidos por los estudiantes. $1,800,000. Total recursos Técnicos asumidos por la Universidad. $100,000. Fuente: Autores. En la tabla 5 se muestran los gastos adicionales que serán solventados por los desarrolladores del proyecto. Tabla 5. Factibilidad Económica - Gastos Adicionales. Cantidad. Recurso. Descripción. Valor Total. 1. Internet. Internet banda ancha de 10 megas proveído en la casa de uno de los desarrolladores (4 meses). $480,000. 1. Internet. Internet banda ancha de 20 megas proveído en la casa de uno de los desarrolladores (4 meses). $520,000. 2. Papel. Resmas de papel tamaño carta. $18,000. 24.

(36) Servicio Energía Eléctrica. Servicio de energía eléctrica consumido en las viviendas de los dos desarrolladores. $240,000. Otros conceptos. Licencia Windows, Paquete Office, DVD, memorias USB, fotocopias, impresiones, muebles de oficina. $805,000. Costos Imprevistos. %10 del valor total de los gastos adicionales. $182,300. Total Gastos adicionales asumidos totalmente por los estudiantes desarrolladores del proyecto. $2,245,300. Fuente: Autores. Como se puede ver en la Tabla 6 el costo aproximado del proyecto es de $20.705.300 y es factible económicamente dado que se cuenta con todas las herramientas necesarias para el desarrollo total del proyecto. Tabla 6. Total Proyecto Recursos Humanos. $ 16.800.000. Recursos Técnicos. $1,900,000. Gastos adicionales. $2,245,300. Total. $20.945.300 Fuente: Autores. 1.9.2 Legal El proyecto es factible legalmente ya que el sistema de información que se desarrollo fue implementado con herramientas libres y los recursos para la construcción de la solución fueron personales. En la tabla 7 se resumen las licencias correspondientes a las herramientas de desarrollo que se utilizaron en el proyecto: Tabla 7. Licencias de las herramientas de desarrollo. Recurso. Licencia. Windows. EULA. PHP. Open Source License. MySql. GNU General Public License. Symfony. MIT. Bootstrap. Apache 2 License Fuente: Autores. 25.

(37) 2. FASE DE ANALISIS 2.1. Incertidumbre. En la primera reunión con el coordinador del laboratorio de sistematización de datos y su representante, se recogieron los requerimientos principales que debían conformar el sistema de información, para así tener una visión del producto final y darles prioridad a los aspectos más relevantes de este.. 2.1.1 Requerimientos informales Necesito un sistema de información web desde el cual pueda llevar un control del inventario del laboratorio de sistemas, administrar el préstamo de las salas y de equipos especializados y poder generar los reportes pertinentes a la administración del laboratorio:  Generar un calendario el cual pueda ser visto por los usuarios desde la página web para consultar horarios de clase y la disponibilidad de salas para práctica libre.  Permitir la consulta y generación de paz y salvos de los estudiantes desde la página web.  Consultar los elementos especializados disponibles para préstamo a los diferentes usuarios.  Ingresar en una base de datos todos los elementos que hacen parte del laboratorio para llevar un control de inventario (registrar, eliminar, modificar y consultar).  Poder generar reportes en PDF relevantes para el laboratorio de informática (inventarios, estadísticas de uso de salas, soportes técnicos realizados, incidencias, horarios, entre otros).  Registrar el traslado de equipos o elementos a otras ubicaciones.  Permitir la solicitud de préstamo de salas o equipos especializados desde la web por parte de los docentes.  Registrar los mantenimientos locativos o reparaciones a equipos.  Mostrar en la web un listado de elementos abandonados en las salas para su posterior recuperación por parte del dueño. 2.1.2 Tipos de Usuarios  Súper Usuario: Cuenta con acceso total al sistema y es el único que puede crear usuarios administradores.  Usuario Administrador: Con acceso restringido, no puede crear, modificar o eliminar usuarios administradores. 26.

(38)    . Usuario Docente: Con acceso solo a las funcionalidades de su rol. Usuario Funcionario: Con acceso solo a las funcionalidades de su rol. Usuario Estudiante: Con acceso solo a las funcionalidades de su rol. Usuario Egresado: Con acceso solo a las funcionalidades de su rol.. 2.2. Descripción de las funcionalidades. Con los requerimientos informales obtenidos y en conjunto del grupo de trabajo y el cliente, se entró a especificar mejor cada aspecto o funcionalidad del sistema, generando así un cuadro completo de Historias de Usuario.. 27.

(39) 3. HISTORIAS DE USUARIO “Una de las principales innovaciones que representa el desarrollo ágil frente a los enfoques tradicionales, es en la forma de levantar los requerimientos del usuario. A diferencia del enfoque tradicional, en el cual el “Diseño de Sistema” contiene documentación detallada del comportamiento y representa el final de las conversaciones, en las metodologías ágiles como SCRUM se hace uso de las “Historias de usuario”, las cuales se enfocan en definir lo que el usuario necesita hacer, sin describir el cómo, por lo que representa el inicio y no el final de las conversaciones” (pmoinformatica, 2012). Como lo indica la premisa anterior, en esta parte del proyecto se definieron por parte de la representante de laboratorios y los autores del presente documento, las características y funciones que se esperan cumpla el sistema web, plasmándolas en un formato como historias de usuario, dando prioridad a las funciones más relevantes y descartando aquellas que por sí solas no conformarían una historia de usuario (Ver tablas 8 a 20).. 28.

Figure

Figura 1. Proceso SCRUM.

Figura 1.

Proceso SCRUM. p.33
Tabla 4.  Factibilidad Económica - Recursos Técnicos

Tabla 4.

Factibilidad Económica - Recursos Técnicos p.35
Tabla 6. Total Proyecto

Tabla 6.

Total Proyecto p.36
Tabla 8. Historias de Usuario 1 y 2

Tabla 8.

Historias de Usuario 1 y 2 p.40
Tabla 10. Historias de Usuario 4 y 5

Tabla 10.

Historias de Usuario 4 y 5 p.42
Tabla 11. Historias de Usuario 6 y 7

Tabla 11.

Historias de Usuario 6 y 7 p.43
Tabla 14. Historias de Usuario 13, 14, 15 y 16

Tabla 14.

Historias de Usuario 13, 14, 15 y 16 p.46
Tabla 15. Historias de Usuario 17, 18 y 19

Tabla 15.

Historias de Usuario 17, 18 y 19 p.47
Tabla 17. Historias de Usuario 23, 24 y 25

Tabla 17.

Historias de Usuario 23, 24 y 25 p.49
Tabla 18. Historias de Usuario 26, 27, 28 y 29

Tabla 18.

Historias de Usuario 26, 27, 28 y 29 p.50
Tabla 19. Historias de Usuario 30, 31 y 32

Tabla 19.

Historias de Usuario 30, 31 y 32 p.51
Tabla 22. Priorización del Product Backlog

Tabla 22.

Priorización del Product Backlog p.54
Tabla 23. Priorización del Product Backlog

Tabla 23.

Priorización del Product Backlog p.55
Tabla 24. Priorización del Product Backlog

Tabla 24.

Priorización del Product Backlog p.56
Tabla 25. Backlog Sprint 1

Tabla 25.

Backlog Sprint 1 p.59
Tabla 28. Scrum Taskboard Terminado – Sprint1

Tabla 28.

Scrum Taskboard Terminado – Sprint1 p.60
Tabla 27. Scrum Taskboard en Progreso – Sprint1

Tabla 27.

Scrum Taskboard en Progreso – Sprint1 p.60
Tabla 26. Scrum Taskboard Inicial – Sprint1

Tabla 26.

Scrum Taskboard Inicial – Sprint1 p.60
Tabla 31. Scrum Taskboard en Progreso – Sprint2

Tabla 31.

Scrum Taskboard en Progreso – Sprint2 p.63
Tabla 30. Scrum Taskboard Inicial – Sprint2

Tabla 30.

Scrum Taskboard Inicial – Sprint2 p.63
Tabla 35. Scrum Taskboard en Progreso – Sprint3

Tabla 35.

Scrum Taskboard en Progreso – Sprint3 p.66
Tabla 34. Scrum Taskboard Inicial – Sprint3

Tabla 34.

Scrum Taskboard Inicial – Sprint3 p.66
Tabla 36. Scrum Taskboard Terminado – Sprint3

Tabla 36.

Scrum Taskboard Terminado – Sprint3 p.67
Tabla 37. Backlog Sprint 4

Tabla 37.

Backlog Sprint 4 p.68
Tabla 39. Scrum Taskboard en Progreso – Sprint4

Tabla 39.

Scrum Taskboard en Progreso – Sprint4 p.69
Tabla 42. Scrum Taskboard Inicial – Sprint5

Tabla 42.

Scrum Taskboard Inicial – Sprint5 p.72
Tabla 44. Scrum Taskboard Terminado – Sprint5

Tabla 44.

Scrum Taskboard Terminado – Sprint5 p.73
Figura 2. Resultados de análisis con SensioLabsWorld

Figura 2.

Resultados de análisis con SensioLabsWorld p.74
Figura 3. Ejemplo de error y solución generadas por SensioLabsInsight

Figura 3.

Ejemplo de error y solución generadas por SensioLabsInsight p.75
Figura 4. Ejemplo de uno de los resultados del análisis en StyleCI

Figura 4.

Ejemplo de uno de los resultados del análisis en StyleCI p.76

Referencias

Actualización...