Spelling suggestions: "subject:"5oftware computacional"" "subject:"1software computacional""
41 |
Mejora del proceso de desarrollo de una empresa de servicios de información mediante la incorporación DevOpsDíaz Cortés, Eduardo Alberto January 2019 (has links)
Tesis para optar al grado de Magíster en Tecnologías de la Información / Previred S.A, empresa de servicios de información, cuenta con una división de negocios denominada Apoyo al Giro que presta servicios para la industria previsional y de seguridad social nacional. Esta división cuenta con un equipo de desarrollo de software dedicado que construye la mayor parte de los sistemas de información que apoyan las labores de apoyo al giro. El nivel de demanda y exigencia por estos servicios ha aumentado, al punto que gran parte de ellos son considerados críticos por los clientes de Previred. Esto compromete a la organización a cumplir altos niveles de servicios y a garantizar la continuidad operativa de los mismos.
Actualmente el proceso de implantación de nuevas versiones de los sistemas se realiza mediante procesos manuales, con una tasa de fallos considerada insatisfactoria por los clientes internos y externos. Por otro lado, se ha establecido una métrica sobre la tasa de fallos críticos, cuyo valor se espera disminuir. Un fallo crítico corresponde a una indisponibilidad del servicio productivo por varias horas o incluso días. Una parte de estos fallos se debe a errores en el proceso de implantación en producción, por mala ejecución de las instrucciones, falta de prolijidad en la instalación, o en la elaboración de los documentos que describen los pasos a producción.
El objetivo general de este trabajo de tesis es ajustar el proceso de desarrollo mediante la implantación de los procesos automatizados de integración y entrega continua, incorporando procesos y herramientas de DevOps dentro de la organización, con el fin de reducir la tasa de fallos críticos debidos al proceso actual. Esto es aplicado en un piloto de un nuevo servicio productivo de Previred.
Para alcanzar el objetivo planteado primero se revisa el actual proceso de desarrollo de Previred, y luego se determinan los principales problemas y dolores que experimenta la organización con este proceso, mediante entrevistas a personas claves de la organización. En base a los antecedentes recogidos se proponen modificaciones al proceso de desarrollo, junto con una plataforma tecnológica que apoya estos cambios. Para plasmar esta plataforma, se propone una arquitectura de referencia y para construirla se analizan las herramientas disponibles y se seleccionan las adecuadas para la cultura y realidad de Previred.
Para verificar la factibilidad de la arquitectura se realizó primero una prueba de concepto, y luego se validó la plataforma mediante un piloto aplicado a un proyecto de desarrollo de un nuevo servicio. Además, se realizó una evaluación cualitativa de la solución a través de una encuesta a un grupo de personas clave en la organización y a los participantes en el piloto. Por último, se relevaron las mejoras obtenidas en el proceso mediante la obtención de algunas métricas del proceso.
|
42 |
Reestructuración y refactorización de Unit tests con TestSurgeonEstefo Carrasco, Pablo Ignacio January 2013 (has links)
Ingeniero Civil en Computación / Actualmente la actividad de Testing es fundamental dentro del ciclo de desarrollo de cualquier proyecto de software serio. Es más, las metodologías ágiles elevan su relevancia dentro de la construcción del software a tal nivel que está prohibido añadir una nueva funcionalidad sin que se haya escrito previamente un test que la valide.
A medida que el software crece en funcionalidades y cambian los requerimientos se vuelve más complejo. Es por eso que existen varias técnicas para reestructurar el código haciéndolo más flexible a los cambios y permitiendo que crezca.
Sin embargo, los test también crecen en número y en complejidad. Por lo que no son raros los casos de test redundantes tanto desde el punto de vista de su código fuente (duplicación de test) como de su ejecución. Pero a diferencia con el código "funcional", poco esfuerzo se ha realizado por parte de la industria por promover técnicas y crear herramientas que faciliten la tarea de mantener su estructura y diseño limpio.
Una de las consecuencias importantes de este problema, es el gran tiempo que toma ejecutar todos los tests. Al haber redundancia, la ejecución tarda más tiempo del necesario lo hace que los desarrolladores los corran con menos frecuencia e inclusive invierten menos tiempo en escribir nuevos test lo cual minimiza la cobertura. Esto último atenta críticamente en la confiabilidad del código base y por ende de la aplicación.
En este trabajo se propone una herramienta para detectar problemas de diseño de los tests. TestSurgeon aborda este problema desde dos perspectivas de análisis principales: su código fuente y su ejecución. A través de una intuitiva interfaz, el desarrollador puede navegar sobre las pruebas unitarias y realizar comparaciones entre tests guiado por métricas dedicadas que facilitan la detección de casos interesantes. Además provee una completa visualización que condensa dos métricas que describen y diferencian la ejecución de los test en comparación, permitiendo realizar un análisis eficaz. Finalmente, TestSurgeon permite detectar diferencias semánticas entre tests y encontrar redundancias entre estos para una posible refactorización.
Se presentan distintos escenarios de refactorización y reestructuración que son detectados por TestSurgeon. Estos son descritos con ejemplos reales en base a una experiencia de aplicación de TestSurgeon sobre los tests de Roassal, un motor de visualización ágil.
TestSurgeon ganó el primer lugar en la competencia internacional ACM Student Research Competition (categoría pregrado) durante la conferencia ICSE (principal en Ingeniería de Software) el año 2012.
|
43 |
Un framework para aplicaciones web de mapasOlate Opazo, Cristián Mauricio January 2012 (has links)
Ingeniero Civil en Computación / Casi al final de la cadena de administración de la información geográfica en las organizaciones, se encuentra la tarea de la publicación. Para la automatización de dicha tarea, existe en el mercado una amplia variedad de software GIS, dentro de la cual destaca la oferta de ESRI. Sin embargo, los costos de implementar una solución como la ofrecida por ESRI no pueden ser asumidos por pequeñas y medianas organizaciones. De esta situación se hace cargo este trabajo.
Este trabajo consistió en la construcción de un marco de desarrollo base para publicar información geográfica, el cual consta de dos elementos principales:
* Un conjunto de librerías que extienden un framework de desarrollo web, para el trabajo con objetos geográficamente referenciados.
* Una aplicación web, construida sobre la base del framework extendido, para generar y administrar Aplicaciones Web de Mapas.
El resultado obtenido, basados en tecnologías gratuitas y de código abierto, fue validado a partir de la implementación de un caso de uso, consistente en la creación y extensión de una Aplicación Web de Mapas en un dominio específico.
Se concluye que el trabajo realizado permitirá a las organizaciones de menor tamaño publicar la información geográfica de la que disponen de manera controlada, y se plantean finalmente algunas recomendaciones sobre cómo seguir extendiendo las funcionalidades del marco de desarrollo base.
|
44 |
Sistema de alerta de indicadores medioambientales en una termoeléctricaFierro Silva, Hernán Alejandro January 2013 (has links)
Ingeniero Civil en Computación / La normativa ambiental vigente en Chile exige a las empresas que emiten contaminantes del aire (por ejemplo, SO2 o NOx), mantener sus emisiones bajo niveles definidos. Desde octubre de 2010 opera la SMA o Superintendencia del Medio Ambiente, encargada de velar por el cumplimiento de dicha normativa y aplicar las sanciones que correspondan de acuerdo a la legislación. Dentro de este contexto, la generadora termoeléctrica E-CL, ubicada en Tocopilla y Mejillones ha solicitado a ASYT, empresa consultora de medioambiente, el desarrollo del software EMIS (Environmental Management Information System), el cual tiene por objetivo ser un apoyo a la gestión del cumplimiento de las exigencias ambientales de E-CL.
El diseño de EMIS contempla la construcción de diversos módulos que permiten: consolidar los datos de emisiones de contaminantes de diversas fuentes, visualizar en tiempo real las emisiones, generar modelos de dispersión y planificar la realización de tareas asignadas por la autoridad, entre otros. El objetivo de este trabajo de título fue analizar, diseñar e implementar el Módulo de Alertas de EMIS, el cual permite a sus usuarios conocer en tiempo real el estado de cumplimiento de la normativa, definir eventos críticos y ser notificados en el caso de que ocurran. El trabajo trajo consigo diversos desafíos como: acoplarse al desarrollo existente de EMIS, definir un diseño software que otorgue un buen nivel de servicio, diseñar interfaces de usuario que logren aceptación por el usuario final y diseñar las alertas que sean útiles para la gestión ambiental de E-CL.
Como primera etapa, se analizó el problema haciendo un levantamiento de la situación actual respecto al estado de avance de EMIS y al alcance de la normativa ambiental vigente. Teniendo esta información se definieron requisitos de aspectos clave del sistema, por ejemplo: cómo se define el estado de cumplimiento, cómo se define la criticidad de eventos, con qué frecuencia se actualiza el estado de cumplimiento, cuándo y a qué usuarios se debe notificar, entre otros.
Luego, se definió una arquitectura de software, modelo de datos e interfaz de usuario que cumplan con los requisitos definidos y le permitan al sistema ser extensible y mantenible. Posteriormente, se implementó la solución teniendo como base Spring, Java EE y PostgreSQL, además de la utilización de bibliotecas externas, cuidadosamente seleccionadas para implementar funcionalidades gráficas y de programación de tareas. El sistema fue evaluado en el aspecto técnico realizando mediciones de performance y corroborando la validez de los cálculos realizados. También fue validado por usuarios finales mediante presentaciones y reuniones que fueron llevadas a cabo en las instalaciones de E-CL.
Finalmente, el sistema fue instalado en los servidores de E-CL como prototipo funcional, lográndose una solución que facilita el cumplimiento con la autoridad y permite enfocarse en los ámbitos importantes de la gestión ambiental y toma de decisiones. Es factible potenciar esta herramienta para ser utilizada en el contexto de otro tipo de normativas, como por ejemplo de aguas, ruido, suelos, flora y fauna, entre otros.
|
45 |
Implementación de una librería de control de un radar con interfaz a la plataforma RosPizarro Venegas, Cristóbal Gaspar Ignacio January 2014 (has links)
Ingeniero Civil Eléctrico / Ingeniero Civil en Computación / Este trabajo de título se enmarca en la investigación realizada en el Centro de Tecnología Minera Avanzada (Advanced Mining Technology Center, AMTC) con tecnologías de percepción. Los desarrollos hechos en robótica en este centro constan de desarrollos de hardware y de software, siendo el software para robots un problema en si mismo. Actualmente, en el campo de la robótica, existe una plataforma de desarrollo que está tomando fuerza como una solución al problema del desarrollo de software para robots, la plataforma Robot Operating System (ROS), la cual permite el desarrollo de módulos de control para un robot como un sistema distribuido.
El objetivo de este trabajo de título es la implementación de una librería de control para un radar de ondas milimétricas que se usa en el AMTC, que permita su uso con la plataforma ROS. De esta forma, el radar podrá ser usado como un sensor en conjunto con las otras piezas de hardware (sensores y actuadores) de que dispone el laboratorio.
Esta librería consiste en un conjunto de piezas de software ejecutables que permiten la comunicación con el radar, generando datos en el formato apropiado para la plataforma, una interfaz gráfica que facilita el control del sistema, un módulo que permite la visualización de datos y un módulo que implementa un algoritmo de detección de objetos basado en los datos generados por los otros módulos.
La librería implementada fue probada en el laboratorio, en un entorno controlado, para la validación directa de ésta contra el software oficial que se vende con el radar, y para analizar el uso de la red por parte de la librería. Además, se probó en la elipse del parque O'Higgins, para un caso de prueba en terreno, en la que se evaluó el desempeño de la integración del radar con ROS, usando sus funcionalidades de visualización de datos.
Con este trabajo se logró la utilización de todas las características del radar y su total integración con la plataforma ROS, lo que permitirá el uso del radar con los otros sensores del laboratorio y su uso para nuevos experimentos.
|
46 |
Reingeniería de una herramienta de administarción de requisitos: ReqAdminHafon Acuña, Francisco Yensung January 2014 (has links)
Ingeniero Civil en Computación / La administración de requisitos de un proyecto de software puede parecer un trabajo fácil, pero en realidad es una labor compleja, puesto que los requisitos están sujetos a cambios, ambigüedades, malas interpretaciones y pérdida de información. Además, la cantidad requisitos y las posibles relaciones entre ellos pueden obstaculizar su visibilidad, especialmente al momento de determinar el impacto de un cambio en las especificaciones de requisitos.
Los alumnos del curso CC5401: Ingeniería de Software II, deben aprender a resolver estos y otros problemas rápidamente, sobre proyectos reales. Afortunadamente cuentan con una herramienta de administración de requisitos, la cual fue desarrollada específicamente para dar visibilidad y mantener la trazabilidad de los requisitos involucrados en los proyectos manejados por los estudiantes. La herramienta también ofrece instrumentos automatizados que permiten detectar tempranamente riesgos e inconsistencias sobre las especificaciones de los requisitos. Sin embargo, la interfaz y otras características de esa herramienta presentan problemas de usabilidad. Esto hace que los usuarios pierdan tiempo valioso al utilizarla, teniendo además que contrarrestar errores presentes en la implementación actual. Para resolver dicho problema, este trabajo de memoria desarrolló una nueva versión de la herramienta.
Para la nueva versión de la herramienta se reutilizaron sólo los conceptos de la herramienta original. La nueva herramienta tiene una interfaz totalmente renovada y fue implementada usando un framework Web que permite una mayor extensibilidad y mantenibilidad del software. Además, incluye el feedback de los usuarios en el proceso de desarrollo, e incorpora nuevos servicios útiles para los usuarios.
Las principales ventajas que ofrece esta nueva solución son las siguientes: una navegación intuitiva, generación rápida de documentos, fácil reconocimiento de potenciales conflictos en la especificación de requisitos, evita la pérdida de datos y los usuarios requieren menos tiempo para usar la herramienta.
Pruebas de usuario basadas en metodologías de usabilidad han mostrado, luego de varias iteraciones, que el software es estable y que los requisitos planteados fueron alcanzados de manera satisfactoria. Además, las encuestas finales revelan un mejor nivel de aceptación y facilidad de uso para los alumnos.
|
47 |
Visualización de mallas de terreno e identificación de patrones de drenaje en cuencasPérez Pons, Pillippa Ignacia Iris January 2015 (has links)
Ingeniera Civil en Computación / El Departamento de Geología, continuamente está realizando investigaciones sobre los procesos de sedimentación y formación de los ríos. Con la información recolectada, la cual es extraída desde los ríos a lo largo de su recorrido, es posible tener una visión general de la evolución geomorfológica y de los procesos que han ocurrido anteriormente en aquellos lugares, y a su vez, es posible la detección de la presencia de volcanes, fracturas en las rocas, materiales presentes en la corteza del lugar, entre otros.
Por medio del estudio de las formas de los ríos, es posible clasificarlos según el tipo de red de drenaje, conjunto de ríos, vaguadas, barrancos y las huellas impresas en el terreno que deja la circulación constante e/o intermitente del flujo del agua. Con esta información, es posible la identificación de fallas en el terreno, estado de las rocas del subsuelo e identificación del tipo de sedimento que se produjo en los caudales y ahora es parte del terreno. Es por lo anterior, la necesidad de proveer a la comunidad un software gratuito que permita análisis, investigación e identificación de lugares que presenten patrones de gran interés
El objetivo de la presente memoria es desarrollar una herramienta que permita la visualización de terrenos y análisis científico por parte de los geólogos. En particular, la implementación de algoritmos para la detección de cauces e identificación de patrones de drenaje, y su posterior visualización.
Para la realización de la memoria, se procedió a la investigación e inspección en terreno de las necesidades que conlleva la investigación geomorfológica. Luego, se comenzó con la búsqueda de las tecnologías y artículos científicos relacionados al tema. Finalmente, la implementación de la solución a través de diferentes algoritmos para la detección de cauces e identificación de patrones, al mismo tiempo se enfocó en la arquitectura del software, privilegiando que fuera extensible en la extracción de datos de diferentes fuentes y algoritmos utilizados para la detección de cuencas.
Posteriormente, se procede a realizar la validación del software implementado con los resultados entregados por RiverTools y la comparación de los propios resultados entre los distintos algoritmos. Donde para este proceso de validación, se utilizan distintas imágenes satelitales, las cuales contienen datos de altura de diversos terrenos.
Como resultado de las validaciones realizadas, se obtiene de esta memoria el software Runnel, una herramienta Opensource y gratuita, que tiene como funcionalidad la visualización de cauces y detección de patrones de drenaje para la comunidad científica.
|
48 |
Opening up trace-based mechanisms -- application to context-aware SsstemsLeger Morales, Paul Saint January 2012 (has links)
Doctor en Ciencias, Mención Computación / In 1972, David Lorge Parnas argued that modular programming is extremely valuable for the development of large pieces of code. This is so because a module can be written with little knowledge of the code of other modules and replaced without the need to rewrite the remaining other modules. However, paradigms based on general procedures like object-oriented programming do not fully support modular programming due to crosscutting concerns of a system. Fortunately, the aspect-oriented paradigm provides a set of abstractions and mechanisms that allow developers to modularize these concerns; therefore, improving modular programming. Aspects are widely-known abstractions to modularize crosscutting concerns. An aspect intercepts a single execution point, named join point, to execute a piece of code, named advice, that implements a crosscutting concern. However, some crosscutting concerns cannot be modularized through the interception of a single join point, e.g. error detections. Trace-based mechanisms support the definitions of stateful aspects that intercept join point traces. A stateful aspect is defined by a join point trace pattern and an advice that is executed when this pattern is matched.
Various trace-based mechanisms have been proposed. These mechanisms do not share the exact semantics, which suggests there is no silver-bullet trace-based mechanism for all purposes. In addition, existing mechanisms do not allow developers to expressively define patterns and semantics of their stateful aspects. Therefore, developers end up "coding around" these mechanisms or creating specialized ones to modularize a particular crosscutting concern. In this thesis work, we propose a model of an expressive and open trace-based mechanism, named OTM. This model allows developers to flexibly define patterns and adapt them at runtime. In addition, as OTM follows the open implementation guidelines, this model allows developers to customize
the semantics of how stateful aspects match and advise join point traces. Finally, this dissertation presents a concrete and practical implementation of OTM for JavaScript and a typed functional description in Typed Racket.
We use the JavaScript implementation of our model to develop a number of systems that adapt their behavior when they detect certain contexts, know as context-aware systems. A context is detected by analyzing the history of events of a context-aware system. In this kind of systems, patterns represent the contexts that must be detected and advices represent the system adaptations. The development of these systems showed that our practical version improves modularity support to build (Web) applications, and that will eventually make it possible to empirically validate the benefits brought by an expressive and open trace-based mechanism.
|
49 |
Diseño de una estrategía de crecimiento para Compumat en la industria de software educativoCabrera Libuy, Catalina Sofia January 2013 (has links)
Magíster en Gestión y Dirección de Empresas / El presente estudio aborda el caso de Compumat S.A., una PYME chilena que, a pesar de contar con un producto innovador para el aprendizaje de matemática, no ha logrado tener buenos resultados financieros en sus seis años de operación.
El objetivo buscado en este trabajo es elaborar un plan estratégico que revierta sus resultados negativos y le permita crecer en la industria del software educacional.
La metodología empleada en el estudio de caso parte de un análisis del entorno externo e interno de la empresa, detectando oportunidades de crecimiento y mejora. Sobre esa base se realiza una revisión y replanteamiento de la estrategia de negocio de la compañía. Para el alineamiento de objetivos, metas e iniciativas se utiliza la metodología del Balanced Score Card, desde la dirección general hacia las distintas áreas, en un horizonte de planificación de siete años.
La estrategia propuesta tiene como objetivo alcanzar una posición competitiva de amplio alcance y diferenciación.
Para ello se trabajan tres líneas estratégicas: crecimiento, rentabilidad y eficiencia. La primera, buscando nuevos segmentos y canales de distribución. La segunda extiende el alcance de sus soluciones de aprendizaje a otras asignaturas, para rentabilizar su estructura de atención. La tercera se enfoca en mejorar la calidad y flujo de sus procesos.
Para lograrlo se fortalecen capacidades clave, como la investigación de mercado, desarrollo de productos, y la capacidad de negociar y establecer alianzas comerciales.
El plan permite alcanzar un crecimiento rentable, superando el punto de equilibrio a fines del segundo año y alcanzando un margen operacional en torno al 40% del valor sobre las ventas en los años siguientes.
Se concluye que la decisión de ampliar la cartera de productos buscando aumentar la rentabilidad por cliente es un factor clave en el éxito del resultado, desestimando el crecimiento en número de colegios. De las nuevas divisiones de negocio exploradas resultan exitosas en el segmento pre-escolar y las representaciones en el extranjero, descartándose el segmento hogares.
|
50 |
Diseño del proceso de negociación de acuerdos de nivel de servicio para un intermediario de servicios WebVillar Aguilar, Camilo Antonio January 2018 (has links)
Magíster en Ingeniería de Negocios con Tecnologías de Información.
Ingeniero Civil Industrial / Los servicios web están siendo cada vez más utilizados en el campo de la computación, lo que se refleja en el crecimiento del mercado de la computación en la nube. Además, las nuevas tecnologías son cada vez más utilizadas, una de las tecnologías son los dispositivos móviles, que alcanzan una penetración del 66% de la población mundial.
Hoy en día, existen diversos negocios que realizan tareas relacionadas a estas tendencias, un ejemplo es Amazon Web Services Marketplace, ellos ofrecen espacio en su portal para que desarrolladores puedan ofrecer servicios web a clientes. Sin embargo, en este proyecto se va más allá y se realiza un proceso de selección y negociación de servicios en el momento de correr una aplicación en el smartphone, evitando la intervención humana .
Para lo anterior se trabaja en una empresa que desarrolle este sistema, diseñando su estrategia y modelo de negocios, además de proponer los principales procesos. Luego se propone una arquitectura tecnológica y se desarrolla un prototipo del sistema que permite simular escenarios.
Para realizar esta tarea se desarrolla un sistema multiagente utilizando el lenguaje Java y la librería JADE, para representar de manera virtual a los actores involucrados en el negocio, permitiendo que, a través de agentes autónomos, se representen los intereses y se pueda lograr una negociación en tiempo real.
El principal problema a resolver corresponde a la determinación de las mejores ofertas en la subasta, ya que corresponde a un problema combinatorial, y está clasificado como un problema de optimización de la familia NP-completo.
Para la resolución del problema se implementaron dos algoritmos, la programación lineal y algoritmos genéticos. Entre ambos se concluyó que limitando la estructura de los procesos se obtiene una mayor tasa de éxito en el uso de programación lineal superando el 80% para más del 95% de los escenarios. Además, se obtuvo en un escenario simple de 10 actividades, 100 proveedores y 2.000 servicios disponibles entre ellos, un proceso de 1.480 milisegundos, lo que puede acercarse a un escenario real, con un muy buen tiempo de respuesta. / Este trabajo ha sido parcialmente financiado por Proyecto DONDECYT N° 11130252
|
Page generated in 0.1051 seconds