• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 8
  • Tagged with
  • 8
  • 8
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Directorio de investigadores en Ciencias de la Computación

Rubilar Rojas, Felipe Ignacio January 2018 (has links)
Ingeniero Civil en Computación / En los últimos años, varias editoriales, empresas y algunas instituciones educativas se han dedicado a recopilar información sobre el estado de la comunidad de investigadores en Ciencias de la Computación, y mantener esa información en repositorios propios. Estas iniciativas están enfocadas principalmente en el procesamiento de los artículos científicos y en la generación de perfiles públicos de investigadores, más que en apoyar la generación de contactos o instancias de colaboración entre los miembros de la comunidad, o bien dar soporte a las necesidades habituales de los investigadores o de las instituciones a las que ellos pertenecen. Si uno desea acceder a uno de estos servicios, y está disponible, entonces debe pagar por ello. Hoy en día este tipo de iniciativas son manejadas como un negocio, más que como un servicio a la comunidad. Con el objetivo de subsanar esta situación, en este trabajo de memoria se desarrolló una prueba de concepto que permitió determinar la factibilidad técnica, operativa y económica de implementar una iniciativa de carácter gratuita, que brinde un servicio a la comunidad utilizando datos de diversas fuentes de información científica. Particularmente se diseñó e im- plementó un sistema de recopilación automática de información de investigadores en ciencias de la computación y de sus publicaciones. Este sistema recupera, valida e integra informa- ción de distintas fuentes, y la almacena en un repositorio que es consultable a través de una aplicación Web. Si bien los servicios provistos por la aplicación no son suficientes para lograr el objetivo final deseado y solucionar completamente el problema, éstos permitirán validar el sistema como una solución factible y de interés a los usuarios, con potencial de evolución para satisfacer una mayor variedad de tipos de consulta. Los resultados de las pruebas realizadas con algunos investigadores del área muestran que el sistema es de su interés, corroborando la usabilidad y utilidad de la aplicación de consulta de datos. Además, los evaluadores destacaron el potencial que la información recopilada tiene a la hora de resolver consultas que surgen durante el desarrollo de sus actividades. Si bien existen preocupaciones relacionadas a la escalabilidad del sistema, se proponen posibles soluciones a explorar en una próxima iteración, por lo que se espera que el sistema implementado sea un primer paso hacia la elaboración de una herramienta que pueda ser utilizada efectivamente por la comunidad, con el fin de disminuir el tiempo y el trabajo manual necesario en el desarrollo de las actividades que se busca apoyar.
2

Hunter: Una plataforma de reingeniería para JavaScript

Orellana Gutiérrez, Diego Ariel Andrés January 2019 (has links)
Memoria para optar al título de Ingeniero Civil en Computación / En la ingeniería de software resulta clave entender la estructura del código de un proyecto para poder implementar de forma efectiva las funcionalidades requeridas por el cliente. Sin embargo, es común en la industria que el desarrollador deba enfrentarse a bases de código que le son desconocidas y que no cuentan con una documentación adecuada; lo cual entorpece los ciclos de desarrollo y aumenta los costos. La situación en la cual se debe lidiar con código cuyos desarrolladores ya no se encuentran disponibles resulta especialmente crítica. En tal caso, el programador debe realizar un proceso de reingeniería que resulta complejo y demoroso para poder satisfacer las exigencias dadas por el negocio. Con el objetivo de abordar dicha problemática, en este trabajo de memoria se construye un primer prototipo de HUNTER, una plataforma de reingeniería para JavaScript que permite al desarrollador explorar bases de código de forma visual e interactiva. Durante la fase de implementación se resolvieron una serie de desafíos técnicos que permitieron aplicar varios conocimientos enseñados a lo largo de la carrera sobre distintos tópicos tales como lenguajes de programación, patrones de diseño y construcción de interfaces de usuario. Más allá de los retos técnicos enfrentados a lo largo de la confección de la herramienta, se espera que HUNTER pueda asistir al programador en la comprensión de proyectos de JavaScript con los cuales no está familiarizado. Para ello, durante la construcción de la plataforma, se llevaron a cabo pilotos con ingenieros en la industria con la finalidad de recabar feedback temprano y enfocar el desarrollo de HUNTER. Además, mediante experimentos realizados por otros investigadores, se han obtenido resultados que preliminarmente apuntarían a la utilidad de la herramienta para la exploración de proyectos de JavaScript desconocidos. De esta forma, como resultado del presente trabajo de memoria, se obtiene una primera versión de HUNTER que facilita la comprensión de programas de JavaScript. Asimismo, se proponen diversas mejoras para esta plataforma, tales como la presentación de visualizaciones para frameworks} específicos y su extensión a otros lenguajes. Por otro lado, se plantea la interrogante de si la plataforma pudiera no solamente ayudar a la comprensión de programas desconocidos, sino también a un mejor entendimiento de un sistema con el que el desarrollador ya estuviese familiarizado.
3

Reingeniería back-end SoyMomo

Ramírez Gutiérrez, Manuel Alejandro January 2019 (has links)
Memoria para optar al título de Ingeniero Civil en Computación / SoyMomo es un reloj-celular-GPS para niños que permite a los padres -entre otras funciones- saber dónde se encuentran y poder hacer llamadas desde y hacia el reloj, a través de aplicaciones móviles. Estos relojes tienen un módulo GSM (2G) y se comunican a un servidor a través de sockets TCP. El sistema se compone de un servidor desarrollado en Node.js y un sistema de Backend as a Service que almacena la base de datos. Debido al sostenido aumento de usuarios de éste, el servidor ha alcanzado el límite de capacidad, utilizando todos los recursos que estaba diseñado para usar. Este límite sin embargo, no es el límite del sistema, por lo tanto existían oportunidades de mejora. Además, también se alcanzaba el límite de consultas por segundo en la base de datos, lo que provocaba la pérdida de información debido a que el servidor rechazaba las consultas sobre ese límite. Se realizó una reingeniería del servidor, identificando los puntos más críticos de falla: diseño, rendimiento y optimización de consultas; y se reescribió el \textit{software} utilizando el lenguaje Go, aplicando conceptos de paralelismo y concurrencia, con el fin de mejorar el rendimiento y crear un sistema escalable. Para esto, se reestructuró el programa en secciones pequeñas de código capaces de ejecutarse de forma concurrente, con el fin de utilizar las bondades del \textit{scheduler} lenguaje, que es capaz de repartir el trabajo entre todos los \textit{cores} disponibles del procesador. Además, se creó una sección central que se encarga de agrupar consultas a la base de datos y enviarlas en lotes, permitiendo atender a la misma cantidad de clientes con menos recursos. Finalmente se pudo concluir que las mejoras planificadas cumplen con lo propuesto, realizando una utilización óptima de los recursos del sistema, al lograr atender un 19\% más de clientes con lel mismo número de consultas; eliminando la pérdida de información y rebajando el uso de CPU a menos del 20\%.
4

Implementación de un módulo de auto-servicio para la plataforma FARUS

Rojas Castillo, Daniel Alejandro January 2017 (has links)
Ingeniero Civil en Computación / Farus es una aplicación Web desarrollada por la empresa Neter para apoyar la administración de comisiones por ventas, que una empresa cliente tiene para con sus vendedores. Las comisiones consisten en un tipo de renta variable dependiente de las ventas mensuales de cada vendedor, y de distintas condiciones contractuales. A pesar de que Farus resuelve muchos de los problemas históricos asociados a este proceso, aún quedaban varios desafíos pendientes de solución. Particularmente, este trabajo de memoria aborda el desafío de gestionar de manera transparente, rápida y consistente los reclamos o descargos hechos por los vendedores, cada vez que ellos no están de acuerdo con las comisiones mensuales por ventas informadas por la empresa. En algunos casos, el reclamo se debe a la falta de información clara o a información no registrada en Farus, por ejemplo, comisiones extra por ciertas ventas. Este proceso se realizaba vía correo electrónico, buscando la información requerida manualmente en la base de datos y realizando cálculos manuales, lo que hacía a este proceso lento, engorroso y propenso a errores humanos. Por otro lado, debido a la falta de un sistema de registro y validación automática de estos descargos, el proceso se volvió muy propenso a abusos por parte de los vendedores, quienes solicitaban descargos una y otra vez, aunque no procedieran, con el fin de ganarle al operador por cansancio, puesto que este último tenía un cierto período de tiempo al mes para resolver todos los reclamos. Otro de los problemas era la falta de un acceso rápido y fácil, por parte de los comisionistas y los jefes, a la información sobre la estructura de comisiones, ventas asociadas a éstas, e información sobre documentos ingresados en el sistema (facturas y notas de crédito). Esto llevaba a que los procesos se realizaran más lentamente, y además con menos control. Como solución a estos problemas, en este trabajo de título se desarrolló una aplicación Web y móvil de auto-servicio para los comisionistas y jefes de la empresa cliente de Neter. La aplicación permite consultar distinta información, y administrar los reclamos de los vendedores más rápidamente y con menos incertidumbre y discrecionalidad. Adicionalmente, se desarrolló una extensión a Farus para que el operador del sistema pueda consultar y resolver los descargos realizados por los comisionistas. Como resultado de este trabajo se logró implementar todo lo comprometido, por lo que se cumplió el objetivo general. El resultado de la validación del software indicó que los usuarios quedaron satisfechos con la utilidad y usabilidad del software. Sin embargo, hace falta una evaluación más exhaustiva para tener resultados más concluyentes. Por otra parte, los usuarios sugirieron implementar algunas funcionalidades extras y realizar cambios pequeños en el sistema, principalmente a nivel de front-end, lo cual quedó como parte del trabajo a futuro.
5

Mejoras de un proceso de desarrollo usando prácticas ágiles

Espinoza Zúñiga, Germán Mario January 2017 (has links)
Magíster en Tecnologías de la información / El presente trabajo se trata de la incorporaron de prácticas ágiles en una compañía proveedora de soluciones de software. Esta compañía se llama Telefónica MAking Solutions (TMAS), la cual es encargada de ser un colaborador en los negocios de Telefónica en Latinoamérica. Hay requerimientos que llegan desde los clientes, de menor magnitud para la compañía que resultan ineficientes si se abordan por el actual proceso de desarrollo. El equipo de Soporte Mejoras, que es donde se desarrolla este trabajo, es un equipo del área de Soporte encargado de realizar Gestión de Problemas. Ha estado incorporando prácticas ágiles en su trabajo, lo que ha hecho que áreas encargadas de la Gestión de los Clientes, vean a este equipo como posible apoyo para implementar los requerimientos medianos y pequeños, ya que las estimaciones resultan más acordes al tamaño de la solicitud, y hace que los clientes acepten estas implementaciones. Por lo tanto, el objetivo de este trabajo es incorporar prácticas ágiles de las metodologías XP y Scrum al proceso de desarrollo de la compañía y evaluar si estas logran un efecto positivo o negativo. Por lo que el alcance del trabajo es establecer un proceso de desarrollo utilizando prácticas ágiles acorde a la realidad de la compañía, el cual sirva como soporte de las actividades del equipo. La principal medida del resultado del trabajo es la Tasa de Rechazo, que es el porcentaje de rechazo por errores de las entregas que se liberan al cliente, la medición se realizó semestral. La compañía definió que un porcentaje semestral mayor al 20% se considera que las soluciones entregadas al cliente son de mala calidad. El primer semestre donde se aplico el trabajo se tuvo un resultado de 26,2% de rechazo y el ultimo semestre en donde se aplico la medición para este trabajo fue de un 8,3 % lo cual mejoro la calidad de los entregables. Los primeros cálculos el resultado fue de mala calidad, según lo que definió la compañía que una Tasa de Rechazo mayor a 15% es considerado un servicio de mala calidad, lo cual fue mejorando con el tiempo.
6

Diseño e implementación de sistema distribuido y colaborativo de peticiones HTTP/S

Pulgar Romero, Francisco Leonardo January 2018 (has links)
Memoria para optar al título de Ingeniero Civil en Computación / En la actualidad existen muchos computadores y dispositivos tecnológicos con capacidad computacional ociosa, con el potencial de ser usados. Es así como existen una gran cantidad de proyectos donde personas donan voluntariamente su poder computacional para ayudar en problemas tales como: renderización de animaciones 3D, correr simulaciones de experimentos, estudiar conjeturas matemáticas, optimización de variables y parámetros en Machine Learning, estudiar estructuras de proteínas y moléculas, clasificación de galaxias, predicción del clima, entre un sinfín de aplicaciones posibles tanto en el área de investigación como en el área empresarial. Esa necesidad de poder de procesamiento y recursos computacionales ha llevado a crear tecnologías como la computación grid (o en malla), que consiste en un sistema de computación distribuido que permite coordinar computadoras de diferente hardware y software haciendo uso de estos para resolver en paralelo tareas en común. La presente memoria tiene como fin la creación de un sistema distribuido en malla donde dispositivos tecnológicos se comunican con un servidor central para recopilar datos de internet; usando así la capacidad ociosa de dispositivos tecnológicos y brindando ayuda voluntaria a aquel que necesite recopilar datos de internet. Durante el desarrollo de este trabajo se implementa un sistema de administración de usuarios y dispositivos tecnológicos realizado con Django, un sistema de distribución de consultas HTTP/S desarrollado con Tornado y un software que corre de lado de los dispositivos tecnológicos para resolver tareas y mandar resultados, hecho en Python. Estos tres sistemas se comunican entre ellos para lograr la distribución de las consultas HTTP/S, pero son independientes entre sí, ayudando a la escalabilidad y tolerancia a fallos del sistema general. Finalmente se realizan pruebas y experimentos de los diferentes componentes para obtener datos relevantes que nos permitan estudiar el comportamiento del sistema, identificando ventajas y desventajas del uso del mismo. Los resultados obtenidos muestran que a medida que aumenta la cantidad de dispositivos tecnológicos que colaboran en una tarea, disminuyen los tiempos de resolución de éstas; además se demuestra una correlación directa entre el tiempo de respuesta de una consulta HTTP/S y la distancia física que existe entre el dispositivo que hace la consulta y el servidor web.
7

Arquitectura de un Dashboard de monitoreo de Proyectos de Software en PYMES mediante la integración de herramientas de desarrollo

González Catalán, Christian Andrés January 2019 (has links)
Tesis para optar al grado de Magíster en Tecnologías de la Información / La construcción de software es una actividad compleja, realizada por equipos de personas y que involucra diversas actividades, como planificación, gestión de incidentes, control de versiones, pruebas y codificación, entre otras. Un proceso de desarrollo permite a las organizaciones ordenar la construcción de software definiendo los artefactos y asignando los roles que realizan estas actividades, de forma de mejorar la calidad y la productividad en los proyectos de software. Las actividades de desarrollo y de monitoreo realizadas durante la ejecución de un proyecto, generalmente son apoyadas por diversas herramientas. Este trabajo de tesis se enmarca en las PyMEs de software chilenas, las cuales tienen realidades muy diferentes, pero la gran mayoría de ellas tiene necesidades de monitoreo y control de sus proyectos. A pesar de que la mayoría de las PyMEs posee información de sus actividades de desarrollo en las herramientas que utiliza, la captura de las métricas de sus proyectos la realizan generalmente de forma manual, lo cual es costoso en términos de tiempo y dinero. Una posible solución para este problema es la construcción de un software que integre, recopile y consolide la información de diversas herramientas, permitiendo visualizar mediante un dashboard o panel de control información relevante para la toma de decisiones, apoyando las actividades de monitoreo y control de proyectos. Sin embargo, al aplicar la solución a múltiples PyMEs se observa que existe una complejidad técnica debido a la variabilidad de herramientas utilizadas por las PyMEs. Esta variabilidad se manifiesta tanto en las herramientas, sus tipos y los usos que se les da. Debido a estas complejidades relacionadas con la interoperabilidad, integración y variabilidad, en este trabajo de tesis se propone una arquitectura para un sistema de dashboard, el cual tiene como objetivo proveer de un mecanismo para aprovechar la información disponible en las herramientas de desarrollo de las PyMEs para monitorear, controlar y apoyar la toma de decisiones durante la gestión de los proyectos. Finalmente, con el objetivo de validar la arquitectura propuesta, demostrar la factibilidad de su implementación y encontrar oportunidades de mejora, se realiza la validación mediante dos técnicas: la implementación de un prototipo y la evaluación de la arquitectura por expertos.
8

Una plataforma Web para reducir la incertidumbre entre el desarrollador y el cliente

Aguilera Illanes, José Manuel January 2018 (has links)
Ingeniero Civil en Computación / Synaptic es una empresa de desarrollo de software que se caracteriza por ahondar en el negocio de sus clientes, con el fin de brindar soluciones que aporten valor en poco tiempo, utilizando metodologías ágiles. El mayor y principal cliente de Synaptic es el Coordinador Eléctrico Nacional (CEN), entidad encargada de la coordinación entre los proveedores de energía y el sistema interconectado eléctrico. Por muchos años Synaptic trabajó con su contraparte del CEN bajo un esquema personalizado y de confianza mutua entre las partes, donde Synaptic le vende horas de desarrollo al CEN. Los cambios recientes en el funcionamiento del CEN han llevado a dicho organismo a replantear la forma de llevar adelante los proyectos de desarrollo, y particularmente el control y monitoreo de hora asignadas por Synaptic a dicha labor. Los principales desafíos que se generaron a partir de este cambio en el escenario de trabajo fueron dos: (1) la transparencia del trabajo realizado, en términos de tareas realizadas en el desarrollo de proyectos, y (2) la justificación de horas de trabajo invertidas por la empresa en dichas tareas. Con el fin de mejorar la transparencia, el seguimiento de proyectos y la comunicación con la contraparte, Synaptic implementó una solución que toma la información de control de horas desde Trello, y se la pasa a un servicio pagado (Everhour) para que este último la disponibilice a través de una serie de reportes. Aunque esta solución ha servido temporalmente, su forma de funcionamiento impide que Synaptic maneje la información interna de sus proyectos de manera fácil y apropiadamente. Para dar solución a ese problema, este trabajo de memoria desarrolló una aplicación Web que se integra con Trello, y permite a Synaptic manejar la información de sus proyectos de manera apropiada, sin tener que dar a sus clientes más visibilidad de lo requerido respecto a los desarrollos que están llevando adelante. Esta aplicación brinda varias funcionalidades para potenciar la transparencia en el proceso de desarrollo, potenciando la visibilidad para el cliente, la visibilidad interna y disponibiliza información importante del ciclo de vida del software desarrollado por Synaptic, a ambas partes según corresponda. Esta iniciativa de Synaptic ha sido muy bien recibida por la contraparte del CEN, siendo reconocida su utilidad para permitir a ambas organizaciones tomar decisiones en conjunto con mayor velocidad. La solución se encuentra actualmente en producción y operativa, siendo utilizada ya por el equipo en reemplazo de Everhour. Se espera que la aplicación y la información que ésta maneja sean la base para seguir construyendo soluciones que potencien la dinámica de trabajo entre las partes, la confianza, y por lo tanto una mejora continua en el tiempo para el producto y la relación con el cliente.

Page generated in 0.0929 seconds