1000 resultados para PROYECTOS DE SOFTWARE
Resumo:
Apuntes pertenecientes al Programa de Postgrado en Sistemas y Redes de Comunicaciones impartidos en la E.T.S.I. de Telecomunicación. Realizan una introducción intuitiva de la importancia de las técnicas de gestión y de los factores humanos en la gestión de proyectos de software.
Resumo:
En todo proyecto de desarrollo de software están incluidos factores que afectan, de una u otra forma, el costo final del producto, así como también los requerimientos de personal. El factor tiempo también ha de tenerse en cuenta a la hora de evaluar las características finales del producto. Es necesario, por lo tanto, contar con herramientas y técnicas que permitan estimar el costo, el esfuerzo y el tiempo inherentes al desarrollo de un producto de software.
Resumo:
Independientemente de la metodología que se adopte en el desarrollo de software, se contemplan aquellas actividades gerenciales o de dirección del proyecto y las inherentes a las técnicas, propias del desarrollo del producto como tal, como los requerimientos demandados, análisis, diseño, implementación y pruebas o ensayos previos a su materialización -- El presente trabajo se deriva del interés por diseñar una metodología para la gestión de la fase de pruebas y ensayo, con base en el modelo de integración de las actividades contempladas en la guía del PMBOK, la cual es compatible con las funciones de dirección y actividades técnicas de otras metodologías, especialmente en su etapa de prueba; de allí la importancia que representa para los gerentes de proyectos obtener resultados satisfactorios en esta fase, por su impacto directo y significativo en el cumplimiento del tiempo y los costos estimados, lo que permite prevenir o mitigar, tiempos adicionales o sobrecostos por reproceso, evitando ser transferidos al cliente o asumidos por el fabricante de software -- Así mismo, asegurar una ejecución correcta de la fase de pruebas y ensayo, garantiza que el proyecto responda a los estándares de calidad, de acuerdo con sus indicadores de medición y la satisfacción del usuario
Resumo:
92 p.
Resumo:
51 p.
Resumo:
Hoy en día, existen numerosos sistemas (financieros, fabricación industrial, infraestructura de servicios básicos, etc.) que son dependientes del software. Según la definición de Ingeniería del Software realizada por I. Sommerville, “la Ingeniería del Software es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza.” “La ingeniería del software no sólo comprende los procesos técnicos del desarrollo de software, sino también actividades tales como la gestión de proyectos de software y el desarrollo de herramientas, métodos y teorías de apoyo a la producción de software.” Los modelos de proceso de desarrollo software determinan una serie de pautas para poder desarrollar con éxito un proyecto de desarrollo software. Desde que surgieran estos modelos de proceso, se investigado en nuevas maneras de poder gestionar un proyecto y producir software de calidad. En primer lugar surgieron las metodologías pesadas o tradicionales, pero con el avance del tiempo y la tecnología, surgieron unas nuevas llamadas metodologías ágiles. En el marco de las metodologías ágiles cabe destacar una determinada práctica, la integración continua. Esta práctica surgió de la mano de Martin Fowler, con el objetivo de facilitar el trabajo en grupo y automatizar las tareas de integración. La integración continua se basa en la construcción automática de proyectos con una frecuencia alta, promoviendo la detección de errores en un momento temprano para poder dar prioridad a corregir dichos errores. Sin embargo, una de las claves del éxito en el desarrollo de cualquier proyecto software consiste en utilizar un entorno de trabajo que facilite, sistematice y ayude a aplicar un proceso de desarrollo de una forma eficiente. Este Proyecto Fin de Grado (PFG) tiene por objetivo el análisis de distintas herramientas para configurar un entorno de trabajo que permita desarrollar proyectos aplicando metodologías ágiles e integración continua de una forma fácil y eficiente. Una vez analizadas dichas herramientas, se ha propuesto y configurado un entorno de trabajo para su puesta en marcha y uso. Una característica a destacar de este PFG es que las herramientas analizadas comparten una cualidad común y de alto valor, son herramientas open-source. El entorno de trabajo propuesto en este PFG presenta una arquitectura cliente-servidor, dado que la mayoría de proyectos software se desarrollan en equipo, de tal forma que el servidor proporciona a los distintos clientes/desarrolladores acceso al conjunto de herramientas que constituyen el entorno de trabajo. La parte servidora del entorno propuesto proporciona soporte a la integración continua mediante herramientas de control de versiones, de gestión de historias de usuario, de análisis de métricas de software, y de automatización de la construcción de software. La configuración del cliente únicamente requiere de un entorno de desarrollo integrado (IDE) que soporte el lenguaje de programación Java y conexión con el servidor. ABSTRACT Nowadays, numerous systems (financial, industrial production, basic services infrastructure, etc.) depend on software. According to the Software Engineering definition made by I.Sommerville, “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” “Software engineering is not just concerned with the technical processes of software development. It also includes activities such as software project management and the development of tools, methods, and theories to support software production.” Software development process models determine a set of guidelines to successfully develop a software development project. Since these process models emerged, new ways of managing a project and producing software with quality have been investigated. First, the so-called heavy or traditional methodologies appeared, but with the time and the technological improvements, new methodologies emerged: the so-called agile methodologies. Agile methodologies promote, among other practices, continuous integration. This practice was coined by Martin Fowler and aims to make teamwork easier as well as automate integration tasks. Nevertheless, one of the keys to success in software projects is to use a framework that facilitates, systematize, and help to deploy a development process in an efficient way. This Final Degree Project (FDP) aims to analyze different tools to configure a framework that enables to develop projects by applying agile methodologies and continuous integration in an easy and efficient way. Once tools are analyzed, a framework has been proposed and configured. One of the main features of this FDP is that the tools under analysis share a common and high-valued characteristic: they are open-source. The proposed framework presents a client-server architecture, as most of the projects are developed by a team. In this way, the server provides access the clients/developers to the tools that comprise the framework. The server provides continuous integration through a set of tools for control management, user stories management, software quality management, and software construction automatization. The client configuration only requires a Java integrated development environment and network connection to the server.
Resumo:
La programación concurrente es una tarea difícil aún para los más experimentados programadores. Las investigaciones en concurrencia han dado como resultado una gran cantidad de mecanismos y herramientas para resolver problemas de condiciones de carrera de datos y deadlocks, problemas que surgen por el mal uso de los mecanismos de sincronización. La verificación de propiedades interesantes de programas concurrentes presenta dificultades extras a los programas secuenciales debido al no-determinismo de su ejecución, lo cual resulta en una explosión en el número de posibles estados de programa, haciendo casi imposible un tratamiento manual o aún con la ayuda de computadoras. Algunos enfoques se basan en la creación de lenguajes de programación con construcciones con un alto nivel de abstración para expresar concurrencia y sincronización. Otros enfoques tratan de desarrollar técnicas y métodos de razonamiento para demostrar propiedades, algunos usan demostradores de teoremas generales, model-checking o algortimos específicos sobre un determinado sistema de tipos. Los enfoques basados en análisis estático liviano utilizan técnicas como interpretación abstracta para detectar ciertos tipos de errores, de una manera conservativa. Estas técnicas generalmente escalan lo suficiente para aplicarse en grandes proyectos de software pero los tipos de errores que pueden detectar es limitada. Algunas propiedades interesantes están relacionadas a condiciones de carrera y deadlocks, mientras que otros están interesados en problemas relacionados con la seguridad de los sistemas, como confidencialidad e integridad de datos. Los principales objetivos de esta propuesta es identificar algunas propiedades de interés a verificar en sistemas concurrentes y desarrollar técnicas y herramientas para realizar la verificación en forma automática. Para lograr estos objetivos, se pondrá énfasis en el estudio y desarrollo de sistemas de tipos como tipos dependientes, sistema de tipos y efectos, y tipos de efectos sensibles al flujo de datos y control. Estos sistemas de tipos se aplicarán a algunos modelos de programación concurrente como por ejemplo, en Simple Concurrent Object-Oriented Programming (SCOOP) y Java. Además se abordarán propiedades de seguridad usando sistemas de tipos específicos. Concurrent programming has remained a dificult task even for very experienced programmers. Concurrency research has provided a rich set of tools and mechanisms for dealing with data races and deadlocks that arise of incorrect use of synchronization. Verification of most interesting properties of concurrent programs is a very dificult task due to intrinsic non-deterministic nature of concurrency, resulting in a state explosion which make it almost imposible to be manually treat and it is a serious challenge to do that even with help of computers. Some approaches attempts create programming languages with higher levels of abstraction for expressing concurrency and synchronization. Other approaches try to develop reasoning methods to prove properties, either using general theorem provers, model-checking or specific algorithms on some type systems. The light-weight static analysis approach apply techniques like abstract interpretation to find certain kind of bugs in a conservative way. This techniques scale well to be applied in large software projects but the kind of bugs they may find are limited. Some interesting properties are related to data races and deadlocks, while others are interested in some security problems like confidentiality and integrity of data. The main goals of this proposal is to identify some interesting properties to verify in concurrent systems and develop techniques and tools to do full automatic verification. The main approach will be the application of type systems, as dependent types, type and effect systems, and flow-efect types. Those type systems will be applied to some models for concurrent programming as Simple Concurrent Object-Oriented Programming (SCOOP) and Java. Other goals include the analysis of security properties also using specific type systems.
Resumo:
Aquest TFC vol fer una presentació del model CMM, presentar un sistema de gestió que cobreixi els seus requeriments a nivell 3, fer una proposta de desplegament i avaluar els costos i els beneficis de l'adopció del nou sistema de gestió per a una empresa dedicada al desenvolupament i el manteniment de programari. El resultat del treball és la memòria en si i els seus annexos.
Resumo:
L'objectiu és triple: establir el cicle de vida d'un projecte i les seves diverses fases; proporcionar la metodologia, la documentació i les eines bàsiques per a gestionar el cicle de vida d'un projecte, i mirar d'extreure el màxim rendiment aprofitant la gestió d'un projecte actualment en execució.
Resumo:
El objetivo principal de este artículo es la selección y comparación de dos herramientas de análisis estático para java, esta tarea necesita de estudiar previamente el estado del arte de estos analizadores, ver qué características son deseables para este tipo de analizadores y finalmente compararlas en ejecución sobre los dos proyectos de software libre elegidos argoUML y openProj. Se compara FindBugs con PMD, dos analizadores que pueden utilizarse con la versión 1.6. de JDK. Los resultados de la comparación nos permiten deducir que los analizadores se complementan en cuanto a bugs detectados, hay pocos solapamientos. Como conclusiones podemos decir que la búsqueda de bugs necesita de más de una herramienta de análisis estático.
Resumo:
Construcció d'una aplicació per obtenir dades de la vitalitat de projectes de programari lliure.
Resumo:
A través del análisis de información pública del proyecto se han elaborado una serie de indicadores que permiten comparar el grado de adopción, actividad y participación en proyectos de software libre. Estos indicadores han sido desarrollados en base a información obtenida desde herramientas habituales en los proyectos (listas de correo, repositorios de código, etc) y que nos permiten reconstruir los patrones de comportamiento en los mismos
Resumo:
OpenStreetMap se inició en 2004 y ha crecido de forma paralela a los proyectos de software libre hasta convertirse en el ejemplo más veterano y de mayor envergadura dentro de lo que se conoce como información geográfica voluntaria (VGI en su acrónimo inglés). El auge del uso de este tipo de datos deja, sin embargo, ciertas preguntas abiertas como por ejemplo: ¿Hasta qué punto son fiables los datos así obtenidos? ¿Cuál es su calidad? En el presente trabajo se ha realizado una comparación de los datos geográficos producidos por voluntarios dentro del proyecto de colaboración OpenStreetMap, con los datos producidos por instituciones y armonizados dentro del proyecto Cartociudad. La intención de la comparación es evaluar la calidad de los primeros respecto de los segundos. Para ello se ha definido el término de calidad cartográfica y se han evaluado los diferentes elementos de calidad cartográfica de OpenStreetMap: precisión espacial y de atributos, compleción, calidad temporal y consistencia lógica. El trabajo se realiza con los datos a dos niveles: municipio y/o provincia de Valencia. Los resultados de este análisis muestran que OpenStreetMap tiene una precisión posicional y temporal más que adecuada para usos geocodificación y cálculo de rutas. Sin embargo la heterogeneidad de la cobertura de datos y ciertas inconsistencias internas pueden comprometer su uso. A pesar de ello, se destaca el potencial del proyecto y de una solución de cálculo de rutas óptimas (OpenRouteService) que utiliza con éxito los datos de OpenStreetMap
Resumo:
El presente trabajo de investigación consiste en la descripción y análisis de teorías de gestión de cambio organizacional sobre un caso de estudio en particular, como lo es el cambio en el proceso de solicitud y gestión de proyectos de Software en la compañía Inversiones Colombia tras su venta al Banco de Brasil. El problema de investigación trata la percepción de los empleados frente a la implementación del cambio anteriormente mencionado. Dicho análisis contribuye a identificar los aspectos positivos y negativos de dicha implementación a través del uso de un modelo logit, el cual es planteado a través del análisis de los modelos de Lippit’s citado por Mitchell (2013) y Lewin’s (1951). Los aspectos positivos y negativos permiten definir estrategias para la implementación de cambios que ayuden a la maximización de los aspectos positivos y la disminución o eliminación de los aspectos negativos. La investigación se realizó utilizando diferentes técnicas como: documentación de procesos internos de la compañía, encuestas y revisión de la literatura. Lo anterior favoreció para la formulación de conclusiones, donde resalta la importancia de utilizar una teoría de implementación de cambio organizacional que ayude a maximizar los aspectos positivos de una gestión del cambio y donde los hallazgos reflejan la poca comunicación y socialización que se hizo a los empleados sobre el cambio a implementar, además de que no se hizo una sensibilización sobre el nuevo proceso a implementar.
Resumo:
Con el objetivo de mejorar el rendimiento de los equipos de desarrollo de software se han definido muchas metodologías de desarrollo, entre las que se encuentran las prescriptivas y las ágiles. Pese a esto, los equipos no suelen emplear ninguna por no encontrarlas ajustadas a su contexto particular, y se van directamente a la tarea de programar. En este artículo se propone una metodología de desarrollo de software ligera y adaptada a un contexto preciso y bien definido, que alinea Microsoft Solutions Framework for Agile Software Development (MSF4ASD) con los lineamientos de gestión de proyectos presentados en la Guía del PMBOK. Además, se brindan elementos para la implementación de una plataforma Microsoft de desarrollo de software en equipo para soportarla.